On 07/26/11 15:19, Tim Deegan wrote:
At 14:11 +0200 on 26 Jul (1311689501), Christoph Egger wrote:
On 07/25/11 12:30, Tim Deegan wrote:
At 11:25 +0100 on 25 Jul (1311593146), Tim Deegan wrote:
Also this function should be called from the CPUID trap handler to make
sure we never advertise PSE1GB when we're not going to support it.
Er, not this function exactly, since CPUID should report the feature
even when the guest's not in long_mode. I think it needs a
hvm_pse1G_supported that can be called from CPUID, and then
guest_supports_1G_superpages() boils down to
"(GUEST_PAGING_LEVEL>= 4)&& hvm_pse1G_supported(v)"
New version attached. I removed the fake l1e calculation.
If you just remove it, you need to update hap_p2m_ga_to_gfn to figure
out the GFN some other way! I expect that's what's causing your
problem. You should either provide the fake l1e, and say why in the
comment, or audit all callers of the function to make sure they don't
need it.
Ah, I see now. I misunderstood you.
I forgot to increase the pfn by the right number of 2m pages for
the l1e calculation.
Now it works for me: The l2 guest boots and passes my tests.
--
---to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Einsteinring 24, 85689 Dornach b. Muenchen
Geschaeftsfuehrer: Alberto Bozzo, Andrew Bowd
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632
xen_pagewalk.diff
Description: xen_pagewalk.diff
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|