/* Reset and reboot the machine with the command 'bcommand'. */ void
prom_reboot(char *bcommand)
{ unsignedlong flags;
spin_lock_irqsave(&prom_lock, flags);
(*(romvec->pv_reboot))(bcommand); /* Never get here. */
restore_current();
spin_unlock_irqrestore(&prom_lock, flags);
}
/* Drop into the prom, but completely terminate the program. * No chance of continuing.
*/ void __noreturn
prom_halt(void)
{ unsignedlong flags;
again:
spin_lock_irqsave(&prom_lock, flags);
(*(romvec->pv_halt))(); /* Never get here. */
restore_current();
spin_unlock_irqrestore(&prom_lock, flags); goto again; /* PROM is out to get me -DaveM */
}
typedefvoid (*sfunc_t)(void);
/* Set prom sync handler to call function 'funcp'. */ void
prom_setsync(sfunc_t funcp)
{ if(!funcp) return;
*romvec->pv_synchook = funcp;
}
/* Get the idprom and stuff it into buffer 'idbuf'. Returns the * format type. 'num_bytes' is the number of bytes that your idbuf * has space for. Returns 0xff on error.
*/ unsignedchar
prom_get_idprom(char *idbuf, int num_bytes)
{ int len;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.