-
Notifications
You must be signed in to change notification settings - Fork 882
PAT is disabled #59
Comments
I checked all the PAT-related code snippets in [2]. It seems to me the only meaningful one is this: Line 564 in a405d8c
This hardcoded value will be returned when the guest reads So I wouldn't worry about the existing code at all. If you could rewrite it, that would be great! I'm not familiar with PAT yet, but I'll read the relevant sections in Intel SDM when I review your pull request :-) |
A few findings after I read Intel SDM:
|
It turns out that simply adding advertising the PAT feature flag isn't enough to convince Linux guests that PAT is supported. Recent Linux kernels won't try to use PAT when MTRR support is broken:
Probably we have to address the following TODOs in the existing code and implement MTRR virtualization properly: Line 563 in 557d5f5
Line 3085 in 557d5f5
|
Thank you so much for your analysis, and sorry for the late reply: couldn't login to GitHub while travelling. After enabling Depending on how my guest deals PAT/MTRR later on, I might submit a PR to address this issue. |
Sounds good, thanks! |
When enabling PAT, we should also clearly separate the guest and host copies of the
|
My guest kernel requires PAT to be enabled, otherwise it will panic. The function
handle_cpuid_virtual
explicitly says that PAT is disabled [1], but I've seen PAT-related code in haxlib [2].My question is: What's the current progress regarding PAT support? What needs to be done? I'd gladly work on it myself if necessary.
The text was updated successfully, but these errors were encountered: