VirtualBox

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 Frank Mehnert)

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)

biosreboot.S (6.2 KB ) - added by Greg A. Woods 13 years ago.
example code (from NetBSD) with lots of new comments explaining what I've learned

Download all attachments as: .zip

Change History (3)

by Greg A. Woods, 13 years ago

Attachment: biosreboot.S added

example code (from NetBSD) with lots of new comments explaining what I've learned

comment:1 by michaln, 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 Frank Mehnert, 12 years ago

Description: modified (diff)
Resolution: wontfix
Status: newclosed
Note: See TracTickets for help on using tickets.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette