Opened 13 years ago
Closed 12 years ago
#10164 closed defect (wontfix)
jumping to the BIOS power-on reset vector causes a CPU loop instead of a reboot
Reported by: | Greg A. Woods | Owned by: | |
---|---|---|---|
Component: | other | Version: | VirtualBox 4.1.8 |
Keywords: | bios, reboot, hang | Cc: | |
Guest type: | other | Host type: | Mac OS X |
Description (last modified by )
Apparently it should be possible to reboot a PC by jumping to the BIOS "power on restart" vector.
I.e. "ljmp $0xf000, $0xfff0", with the CPU in real mode, perhaps after clearing the warm-boot flag in 0040h:0072h.
This works fine on real PCs, including recent HP laptops, etc.
However with VirtualBox since at least 4.0.4, and up to and including 4.1.8, this just puts the VM into an endless loop chewing CPU cycles.
Attachments (1)
Change History (3)
by , 13 years ago
Attachment: | biosreboot.S added |
---|
comment:1 by , 13 years ago
Jumping to ffff:0 has not been a reliable method of rebooting a PC for the last 25 years or so because the BIOS does not and cannot fully reset the hardware state in all situations.
The comments in the attached biosreboot.S are what I can only call "folklore". Lots of half-truths and many misconceptions, very few actual facts.
For a test whether this kind of reboot works at all, I recommend the following:
- Boot MS-DOS 6.22 from a floppy
- Hit F5 to skip any automatic setup
- Run DEBUG
- Type the following: a <Enter> jmp ffff:0 <Enter> <Enter> g <Enter>
That successfully reboots a VM here.
comment:2 by , 12 years ago
Description: | modified (diff) |
---|---|
Resolution: | → wontfix |
Status: | new → closed |
example code (from NetBSD) with lots of new comments explaining what I've learned