Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 Jun 1995 06:33:46 +1000
From:      Bruce Evans <bde@zeta.org.au>
To:        bde@zeta.org.au, rgrimes@gndrsh.aac.dev.com
Cc:        hackers@freebsd.org, wpaul@skynet.ctr.columbia.edu
Subject:   Re: 2.05R reboot hangs
Message-ID:  <199506272033.GAA22671@godzilla.zeta.org.au>

next in thread | raw e-mail | index | archive | help
>> You initialize it before jumping to the reset vector.

>One that is very very hard to get right for most [3-4]86's is the
>CPUID that is stored id DX:AX on power up reset since that is the
>only way to get this value.

"Genuine Intel NOT!" :-).

>I don't want to call cold boot, I guess that was not clear from
>above.  Also jumping to 0xFFFF:0000 (note your address above is
>not the reset vector the value here is) is not a documented interface

There is no value there, only code that normally has a value embedded
in it.

>to the BIOS.  Calling cold boot is about as reliable as triple faulting
>or hitting the keyboard reset.  The one and only proper way to
>make this work reliable on all machines as far as I can tell would
>be a good old int 0x19, and that means I had better leave the BDA's
>intact.

As I explained about 10 messages ago, int 0x19 isn't even useful for
rebooting from DOS because it doesn't reinitialize hooked vectors.

I now think the keyboard reset is best.  It apparently requires disabling
gateA20.  The code that disables it needs to run from an address < 1MB.
Page 0 is a good place.

Bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199506272033.GAA22671>