Nx bit support + minor fixes #1484
Conversation
…ecific to nx test ones
I have no damn clue why original v86 works fine and enabling nx bit actually uncovers this issue 👀
|
Will windows 8 work? |
I'll check it out this weekend |
|
Wow, this is great! I think Windows 7+ bootloaders require something else besides the NX bit. I couldn't start Windows 8 and 10 😢... |
In particular, I get a #GP exception |
|
Alr, I'm halfway back from the dead, hope to look into it again soon 🕊️ |
|
An unrelated note, having this popping out from time to time: Maybe i'll look into it later |
|
Okay, 8.1 seems to boot fine. I'll check other OS later then :D |
|
Booting linux seems to show some signs of PAE being either broken in this exact pull request or generally ... |
- CR4 fix: covers enabling PAE on a system that already has paging active — load_pdpte fires only if CR0.PG=1 - CR3 fix: covers writing CR3 before paging is enabled — load_pdpte fires only if CR0.PG=1


That's like the second attempt at cracking this thing 🐈, and there's still some things to work on left.
The good part:
RSVDPage faults being unimplemented (which prevented the boot up of linux distributions and windows 7) - implemented though I did not test it though properly yet.The problems left (and noticed)
v86- I did notice that in release the system hangs seemingly randomly inside net2k implementation (might need a separate issue for that) - cannot reproduce rn, but I'll create a separate issue once I face it again.