Messages in this thread | | | Date | Mon, 09 Apr 2012 13:26:40 -0400 | From | Miles Fidelman <> | Subject | Re: reboot via bios on X86_64? |
| |
Thanks for the quick response.
Matthew Garrett wrote: > On Mon, Apr 09, 2012 at 11:39:32AM -0400, Miles Fidelman wrote: > >> 1. What's the logic behind this? Why not enable a bios reboot for 64bit >> kernels? Is there any reason why the machine_real_restart code wouldn't >> work just as well in 64bit mode? Anybody know the history? > The bios reboot code requires you to reprogram the CPU to real mode. I > don't think there's any fundamental reason you can't do that from 64-bit > mode, but nobody's ever written that code.
That would explain it. I guess there's a little bit of trickiness involved in setting things up before switching to real mode.
>> 2. Anybody know a workaround, short of patching and compiling a custom >> kernel? Are there other paths through the reboot code that can >> invoke a bios >> reboot? [Note: someone suggested trying a kexec-reboot, but that's also >> not supported on my configuration (running over a Xen hypervisor).] > Windows never uses the equivalent of the BIOS reboot method, so the > assumption is that if you ever need on Linux to it's because there's a > bug somewhere else. Does the platform reboot if you run the kernel on > bare metal rather than under Xen?
No. Tried all the combinations - w/ and w/o hypervisor, all the available kernel options. Seems like the only thing that will reboot this particular hardware/bios combo is via the bios.
Miles
-- In theory, there is no difference between theory and practice. In practice, there is. .... Yogi Berra
| |