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. Something is still wrong: The l2 guest kernel crashes with an unexpected null pointer derefencing but it boots w/o this patch. Is it a problem when l1 guest uses 1gb pages where the host uses 4k or 2m pages? Christoph -- ---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