xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Wei Liu <wei.liu2@citrix.com>
To: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: ian.jackson@eu.citrix.com, Wei Liu <wei.liu2@citrix.com>,
	xen-devel@lists.xen.org
Subject: Re: [PATCH] tools/libxc: Properly increment ApicIdCoreSize field on AMD
Date: Fri, 22 Jul 2016 18:50:42 +0100	[thread overview]
Message-ID: <20160722175042.GO927@citrix.com> (raw)
In-Reply-To: <b48f2c7f-2048-3393-ae2a-eadf186b9fbc@oracle.com>

On Fri, Jul 22, 2016 at 01:45:05PM -0400, Boris Ostrovsky wrote:
> On 07/22/2016 01:38 PM, Wei Liu wrote:
> > 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.ostrovsky@oracle.com>
> > Acked-by: Wei Liu <wei.liu2@citrix.com>
> >
> > I trust your expertise in this field. :-)
> 
> 
> Just in this field? The field is only 4 bits! ;-)
> 

No, it's only one bit! :-P

> But this actually fixes a regression that was triggered by recent
> hvmloader change on one particular processor that we have in the test farm.

Ian, this is a backport candidate and needs to go back as far as
possible. The bogus calculation was introduced in 2008 (!). 

Wei.

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

  reply	other threads:[~2016-07-22 17:50 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-22 17:14 [PATCH] tools/libxc: Properly increment ApicIdCoreSize field on AMD Boris Ostrovsky
2016-07-22 17:38 ` Wei Liu
2016-07-22 17:45   ` Boris Ostrovsky
2016-07-22 17:50     ` Wei Liu [this message]
2016-07-25 11:33       ` Ian Jackson
2016-07-25 13:22         ` Wei Liu
2016-07-26 10:00           ` Ian Jackson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160722175042.GO927@citrix.com \
    --to=wei.liu2@citrix.com \
    --cc=boris.ostrovsky@oracle.com \
    --cc=ian.jackson@eu.citrix.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).