Re: reboot problem

Neil Turton (neil@chiark.chu.cam.ac.uk)
20 Sep 1996 20:37:24 +0100 (BST)


In article <Pine.LNX.3.95.960917115231.4082A-100000@dwarf.polaris.net>,
Dale Scheetz <dwarf@polaris.net> wrote:
>My suspision, and it's nothing more than that, is that something in the
>kernel is inadvertantly clobbering the boot vector in memory (I
>forget...it's either at 0000 or FFFE?) so that reboot jumps into the swamp
>when it tries.

I think the boot vector is in ROM (000FFFF0), so there should be no
problem with the kernel clobbering it. Also, I have had this problem
and managed to make it go away by doing a cold software reset. The
BIOS must be getting control, since it must be checking the cold reset
'flag'. I guess something (sounds like the kernel) is hitting part of
the BIOS data area, and some types of BIOS don't cope. A patch along
these lines may help.

*** linux/arch/i386/kernel/process.c Fri Apr 19 16:35:15 1996
--- linux/arch/i386/kernel/process.c.cold Fri Sep 20 20:14:06 1996
***************
*** 199,205 ****
sti();
/* rebooting needs to touch the page at absolute addr 0 */
pg0[0] = 7;
! *((unsigned short *)0x472) = 0x1234;
for (;;) {
for (i=0; i<100; i++) {
kb_wait();
--- 199,205 ----
sti();
/* rebooting needs to touch the page at absolute addr 0 */
pg0[0] = 7;
! *((unsigned short *)0x472) = 0;
for (;;) {
for (i=0; i<100; i++) {
kb_wait();

Neil Turton.
Churchill College, Cambridge. CB3 0DS. England.