]> xenbits.xensource.com Git - people/vhanquez/xen.git/commitdiff
x86, hvm: gcc44 build fix.
authorKeir Fraser <keir.fraser@citrix.com>
Mon, 2 Mar 2009 14:17:50 +0000 (14:17 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Mon, 2 Mar 2009 14:17:50 +0000 (14:17 +0000)
Broken constrain in inline asm.  Bytewise access works with a, b, c, d
registers only, thus "r" is wrong, it must be "q".  gcc 4.4 tries to
use the si register, which doesn't work and thus fails the build.

From: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
xen-unstable changeset:   19243:e5c696aaf2a6e8805231c0c0f1414560262e7005
xen-unstable date:        Sun Mar 01 14:58:07 2009 +0000

xen/arch/x86/hvm/vpic.c

index 30486ce93595543570aaf5ef8dd299270114da1c..cf43f1e5448f11c8b6281b7ef820d3762694c4e7 100644 (file)
@@ -56,7 +56,7 @@ static int vpic_get_priority(struct hvm_hw_vpic *vpic, uint8_t mask)
 
     /* prio = ffs(mask ROR vpic->priority_add); */
     asm ( "ror %%cl,%b1 ; bsf %1,%0"
-          : "=r" (prio) : "r" ((uint32_t)mask), "c" (vpic->priority_add) );
+          : "=r" (prio) : "q" ((uint32_t)mask), "c" (vpic->priority_add) );
     return prio;
 }