preserving memory while rebooting

David Winchell (winchell@missioncriticallinux.com)
Mon, 01 Nov 1999 16:40:25 -0600


Hello,

I am trying to reboot a machine thru the BIOS and have memory above 16M preserved.
When I set BIOS data location 0x472 to 0x1234, the bypass memory test option,
the BIOS does appear to bypass the test. However, the memory in question contains
zero when checked early in the boot process. When I set 0x472 to 0x4321,
the preserve memory test option, the BIOS appears to test the memory but the contents
of memory above 16M is zero.

This testing was done with reboot_thru_bios flag in machine_restart set to zero, which the
code says pulses the reset lead. Setting the flag to 1, where the real_mode_switch code
is executed, has no effect in terms of preserving memory. (It does appear that the memory
test is not skipped in this case with the value 0x1234.)

The test machine is a Dell Precision WorkStation 410 with 2 Pentium III 450 MHZ
processors. The BIOS is Phoenix version A09.

I have also tried this on a NEC machine with the same results, at least for
reboot_thru_bios = 0. I did not try reboot_thru_bios = 1 on the NEC.

I have introduced debug code in lilo, and early in the boot process.
This code seems to indicate that the BIOS has zeroed the memory.

Is there a way I can have the BIOS preserve high memory on reboot?

thanks for any help,
Dave Winchell

I have the following response from support2@firmware.com (Roy Scucimarri),
but I'd like other opinions too.

> Dave,
> So far as I know, there is no way to force the BIOS not to clear all
> RAM to zero. Too many programs and ROM BIOS extensions depend on it.

> Thank You
> Roy Scuccimarri
> Micro Firmware,Inc.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/