linux user group brescia

immagine del castello

Archivio della mailing list

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