reboot
Carlo
magnifex a infinito.it
Mer 8 Gen 2003 20:22:53 UTC
> > Mi sono sempre chiesto perche' se faccio un reboot da windows non
> > viene effettuato il test della ram da parte del bios, mentre se lo
> > faccio da linux, o premendo il tasto reset, questo viene eseguito. E
> > io che pensavo che il reboot fosse il reboot. Mi sapreste svelare il
> > mistero?
Nei sorgenti del kernel:
/usr/src/linux/arch/i386/kernel/process.c
così riassunto:
case 'w': /* "warm" reboot (no memory testing etc) */
reboot_mode = 0x1234;
break
case 'c': /* "cold" reboot (with memory testing etc) */
reboot_mode = 0x0;
break;
/* Write 0x1234 to absolute memory location 0x472. The BIOS reads
this on booting to tell it to "Bypass memory test (also warm
boot)". This seems like a fairly standard thing that gets set by
REBOOT.COM programs, and the previous reset routine did this
too. */
*((unsigned short *)0x472) = reboot_mode;
JMP FFFF:0000
Correggetemi se sbaglio
Ci sarebbero anche questi due case (oltre anche all'SMP case)
case 'b': /* "bios" reboot by jumping through the BIOS */
reboot_thru_bios = 1;
break;
case 'h': /* "hard" reboot by toggling RESET and/or crashing the CPU */
reboot_thru_bios = 0;
break;
ma non so che siano.
Carlo
Maggiori informazioni sulla lista
Lug
|