On Thu, Nov 10, 2016 at 09:50:24AM -0500, Boris Ostrovsky wrote:
> Currently hypervisor provides PV guest's CPUID(1).EBX[31:24] (initial
> APIC ID) with contents of that field on the processor that launched
> the guest. This results in the guest reporting different initial
> APIC IDs across runs.
> 
> We should be consistent in how this value is reported, let's set
> it to 0 (which is also what Linux guests expect).
> 
> Signed-off-by: Boris Ostrovsky <boris.ostrov...@oracle.com>

I will defer this to x86 maintainers.

> ---
> 
> I think this should go to stable branches as well. This has been causing
> problems lately in Linux with introduction of topology maps.
> 
> 
>  tools/libxc/xc_cpuid_x86.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/tools/libxc/xc_cpuid_x86.c b/tools/libxc/xc_cpuid_x86.c
> index d761805..1f26294 100644
> --- a/tools/libxc/xc_cpuid_x86.c
> +++ b/tools/libxc/xc_cpuid_x86.c
> @@ -618,6 +618,12 @@ static void xc_cpuid_pv_policy(xc_interface *xch,
>          /* Host topology exposed to PV guest.  Provide host value. */
>          bool host_htt = regs[3] & bitmaskof(X86_FEATURE_HTT);
>  
> +        /*
> +         * Don't pick host's Initial APIC ID which can change from run
> +         * to run. 
> +         */
> +        regs[1] &= 0x00ffffffu;
> +
>          regs[2] = info->featureset[featureword_of(X86_FEATURE_SSE3)];
>          regs[3] = (info->featureset[featureword_of(X86_FEATURE_FPU)] &
>                     ~bitmaskof(X86_FEATURE_HTT));
> -- 
> 2.7.4
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

Reply via email to