4 ms·
The "why it doesn't work on Win7" thing is that they started to emulate VGABIOS - probably to still support the VGA init on 64bit windows without needing the 16
by pgeorgi 15y ago
The "why it doesn't work on Win7" thing is that they started to emulate VGABIOS - probably to still support the VGA init on 64bit windows without needing the 16bit realmode stuff around.
They probably found it a good idea to just reuse the code on Win7/32bit as well, so there goes the hole (a really good idea, I might add).
As for "writable ROM", some VGABIOSes map MMIO registers into the ROM area, as this is the only place safe for them to repurpose like this (16bit code, no real API for MMIO setup).
I had coreboot's BIOS/x86 emulator (also used to run VGABIOS) break badly when I disabled those, and Microsoft has a much better test suite for issues like these.
- yuhong 15y agoYea, Virtual 8086 mode is not supported in long mode.