This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] [PATCH] microcode update support for AMD CPUs

To: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH] microcode update support for AMD CPUs
From: Christoph Egger <Christoph.Egger@xxxxxxx>
Date: Mon, 15 Sep 2008 17:26:08 +0200
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx, Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
Delivery-date: Mon, 15 Sep 2008 08:26:45 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <C4F432D9.1D2EC%keir.fraser@xxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <C4F432D9.1D2EC%keir.fraser@xxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: KMail/1.9.7
On Monday 15 September 2008 16:42:17 Keir Fraser wrote:
> On 15/9/08 15:10, "Ian Jackson" <Ian.Jackson@xxxxxxxxxxxxx> wrote:
> > Christoph Egger writes ("[Xen-devel] [PATCH] microcode update support for
> > AMD
> >
> > CPUs"):
> >> + edx = (unsigned int)((unsigned long)(addr >> 32));
> >
> > This is wrong.  addr is an unsigned long, ie 32 bits so you are
> > shifting by >= the word size, which is not permitted.  Helpfully, many
> > compilers warn about it.
> >
> > But addr came from this:
> > addr = (unsigned long)&uci->mc.mc_amd->hdr.data_code;
> > surely this cannot be right if you're expecting the address to be
> > longer than 32 bits in some cases ?
> The code's correct when targeting x86_64. It just isn't careful enough for
> the i386 target. I'll check in a fix, since it's pretty trivial.

Thanks for fixing this. I should have compile-tested for 32bit at least.
gcc actually warns with shifting >= count .


AMD Saxony, Dresden, Germany
Operating System Research Center

Legal Information:
AMD Saxony Limited Liability Company & Co. KG
Sitz (Geschäftsanschrift):
   Wilschdorfer Landstr. 101, 01109 Dresden, Deutschland
Registergericht Dresden: HRA 4896
vertretungsberechtigter Komplementär:
   AMD Saxony LLC (Sitz Wilmington, Delaware, USA)
Geschäftsführer der AMD Saxony LLC:
   Dr. Hans-R. Deppe, Thomas McCoy

Xen-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>