|
[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 |