On Fri, Jul 22, 2016 at 01:14:01PM -0400, Boris Ostrovsky wrote: > Current code incorrectly adds 1 to full register instead of > incrementing the field in bits 15:12. > > Signed-off-by: Boris Ostrovsky <boris.ostrov...@oracle.com>
Acked-by: Wei Liu <wei.l...@citrix.com> I trust your expertise in this field. :-) > --- > tools/libxc/xc_cpuid_x86.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/tools/libxc/xc_cpuid_x86.c b/tools/libxc/xc_cpuid_x86.c > index 84f4e08..fbbac9e 100644 > --- a/tools/libxc/xc_cpuid_x86.c > +++ b/tools/libxc/xc_cpuid_x86.c > @@ -331,7 +331,8 @@ static void amd_xc_cpuid_policy(xc_interface *xch, > * ECX[15:12] is ApicIdCoreSize: ECX[7:0] is NumberOfCores (minus > one). > * Update to reflect vLAPIC_ID = vCPU_ID * 2. > */ > - regs[2] = ((regs[2] & 0xf000u) + 1) | ((regs[2] & 0xffu) << 1) | 1u; > + regs[2] = ((regs[2] + (1u << 12)) & 0xf000u) | > + ((regs[2] & 0xffu) << 1) | 1u; > break; > > case 0x8000000a: { > -- > 1.8.3.1 > _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel