ReturnInfinity / BareMetal-OS-legacy

BareMetal is a 64-bit OS for x86-64 based computers. The OS is written entirely in Assembly while applications can be written in Assembly, C/C++, and Rust.
1.74k stars 301 forks source link

VMware HPET fix #21

Closed bendyer closed 12 years ago

bendyer commented 12 years ago

Set HPET Timer 0 Comparator Register to a high value, since setting it to 0 freezes VMware.

This appears to be because according to the General Behavioural Rules of Section 2.3.9.1 of the IA-PC HPET Specification, every time the main counter equals the value in the comparator register, an interrupt is triggered and the value in the comparator register is increased by the last value written to it. VMware's emulation does not appear to sanity-check the value, presumably putting it into an infinite loop.

IanSeyler commented 12 years ago

Thanks again!