[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v5 06/21] xen/x86: Improvements to in-hypervisor cpuid sanity checks
>>> On 07.04.16 at 13:57, <andrew.cooper3@xxxxxxxxxx> wrote: > Currently, {pv,hvm}_cpuid() has a large quantity of essentially-static logic > for modifying the features visible to a guest. A lot of this can be > subsumed > by {pv,hvm}_featuremask, which identify the features available on this > hardware which could be given to a PV or HVM guest. > > This is a step in the direction of full per-domain cpuid policies, but lots > more development is needed for that. As a result, the static checks are > simplified, but the dynamic checks need to remain for now. > > As a side effect, some of the logic for special features can be improved. > OSXSAVE and OSPKE will be automatically cleared because of being absent in > the > featuremask. This allows the fast-forward logic to be more simple. > > In addition, there are some corrections to the existing logic: > > * Hiding PSE36 out of PAE mode is architecturally wrong. It turns out that > it was a bugfix for running HyperV under Xen, which wanted to see PSE36 > even after choosing to use PAE paging. PSE36 is not supported by shadow > paging, so is hidden from non-HAP guests, but is still visible for HAP > guests. It is also leaked into non-HAP guests when the guest is already > running in PAE mode. > * Changing the visibility of RDTSCP based on host TSC stability or virtual > TSC mode is bogus, so dropped. > * When emulating Intel to a guest, the common features in e1d should be > cleared. > * The APIC bit in e1d (on non-Intel) is also a fast-forward from the > APIC_BASE MSR. > > As a small improvement, use compiler-visible &'s and |'s, rather than > {clear,set}_bit(). > > Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |