diff options
Diffstat (limited to 'app-emulation/xen-tools/files/xen-tools-3.0.2-pushpop.patch')
-rw-r--r-- | app-emulation/xen-tools/files/xen-tools-3.0.2-pushpop.patch | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/app-emulation/xen-tools/files/xen-tools-3.0.2-pushpop.patch b/app-emulation/xen-tools/files/xen-tools-3.0.2-pushpop.patch new file mode 100644 index 0000000..807e007 --- /dev/null +++ b/app-emulation/xen-tools/files/xen-tools-3.0.2-pushpop.patch @@ -0,0 +1,32 @@ +# HG changeset patch +# User kaf24@firebug.cl.cam.ac.uk +# Date Mon Apr 10 17:25:42 2006 +0100 +# Node ID c89d62e7015a25a48225daa929616a5ed44205b4 +# parent: 4088dd0856a9cbc7ef050d7272e81666b7dfbcc7 +Fix push/pop usage in tools/ioemu for x86/64. + +Signed-off-by: Keir Fraser <keir@xensource.com> + + + +--- a/tools/ioemu/hw/vga.c Mon Apr 10 17:16:25 2006 +0100 ++++ b/tools/ioemu/hw/vga.c Mon Apr 10 17:25:42 2006 +0100 +@@ -1369,10 +1369,16 @@ static inline unsigned int cpuid_edx(uns + { + unsigned int eax, edx; + +- __asm__("pushl %%ebx; cpuid; popl %%ebx" ++#ifdef __x86_64__ ++#define __bx "rbx" ++#else ++#define __bx "ebx" ++#endif ++ __asm__("push %%"__bx"; cpuid; pop %%"__bx + : "=a" (eax), "=d" (edx) + : "0" (op) + : "cx"); ++#undef __ebx + + return edx; + } + |