[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] Fix x86/64 build.



# HG changeset patch
# User kfraser@xxxxxxxxxxxxxxxxxxxxx
# Date 1170970229 0
# Node ID 9e27245a692e9baa2266415eb2c66d0f0510ea30
# Parent  3050c8339da62896a7d3af07e6095a07545e486b
Fix x86/64 build.
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>
---
 xen/arch/x86/x86_64/Makefile       |    3 ++-
 xen/arch/x86/x86_64/compat/entry.S |   27 ++++++++++++++++++++++-----
 xen/arch/x86/x86_64/entry.S        |    8 ++------
 3 files changed, 26 insertions(+), 12 deletions(-)

diff -r 3050c8339da6 -r 9e27245a692e xen/arch/x86/x86_64/Makefile
--- a/xen/arch/x86/x86_64/Makefile      Thu Feb 08 18:18:56 2007 +0000
+++ b/xen/arch/x86/x86_64/Makefile      Thu Feb 08 21:30:29 2007 +0000
@@ -1,3 +1,5 @@ obj-y += entry.o
+subdir-y += compat
+
 obj-y += entry.o
 obj-y += compat_kexec.o
 obj-y += gpr_switch.o
@@ -13,7 +15,6 @@ ifeq ($(CONFIG_COMPAT),y)
 # extra dependencies
 compat.o:      ../compat.c
 domctl.o:      ../domctl.c
-entry.o:       compat/entry.S
 mm.o:          compat/mm.c
 physdev.o:     ../physdev.c
 platform_hypercall.o: ../platform_hypercall.c
diff -r 3050c8339da6 -r 9e27245a692e xen/arch/x86/x86_64/compat/entry.S
--- a/xen/arch/x86/x86_64/compat/entry.S        Thu Feb 08 18:18:56 2007 +0000
+++ b/xen/arch/x86/x86_64/compat/entry.S        Thu Feb 08 21:30:29 2007 +0000
@@ -2,10 +2,27 @@
  * Compatibility hypercall routines.
  */
 
+#include <xen/config.h>
+#include <xen/errno.h>
+#include <xen/softirq.h>
+#include <asm/asm_defns.h>
+#include <asm/apicdef.h>
+#include <asm/page.h>
 #include <asm/desc.h>
-
-.text
-
+#include <public/xen.h>
+
+#define GET_GUEST_REGS(reg)                     \
+        movq $~(STACK_SIZE-1),reg;              \
+        andq %rsp,reg;                          \
+        orq  $(STACK_SIZE-CPUINFO_sizeof),reg;
+
+#define GET_CURRENT(reg)         \
+        movq $STACK_SIZE-8, reg; \
+        orq  %rsp, reg;          \
+        andq $~7,reg;            \
+        movq (reg),reg;
+
+        ALIGN
 ENTRY(compat_hypercall)
         pushq $0
         movl  $TRAP_syscall,4(%rsp)
@@ -62,7 +79,7 @@ compat_skip_clobber:
         movl  %eax,UREGS_rax(%rsp)       # save the return value
 
 /* %rbx: struct vcpu */
-compat_test_all_events:
+ENTRY(compat_test_all_events)
         cli                             # tests must not race interrupts
 /*compat_test_softirqs:*/
         movl  VCPU_processor(%rbx),%eax
@@ -164,7 +181,7 @@ 1:
 .previous
 
 /* %rdx: trap_bounce, %rbx: struct vcpu */
-compat_post_handle_exception:
+ENTRY(compat_post_handle_exception)
         testb $TBF_EXCEPTION,TRAPBOUNCE_flags(%rdx)
         jz    compat_test_all_events
         call  compat_create_bounce_frame
diff -r 3050c8339da6 -r 9e27245a692e xen/arch/x86/x86_64/entry.S
--- a/xen/arch/x86/x86_64/entry.S       Thu Feb 08 18:18:56 2007 +0000
+++ b/xen/arch/x86/x86_64/entry.S       Thu Feb 08 21:30:29 2007 +0000
@@ -319,7 +319,7 @@ domain_crash_synchronous_string:
 domain_crash_synchronous_string:
         .asciz "domain_crash_sync called from entry.S\n"
 
-domain_crash_synchronous:
+ENTRY(domain_crash_synchronous)
         # Get out of the guest-save area of the stack.
         GET_GUEST_REGS(%rax)
         movq  %rax,%rsp
@@ -357,7 +357,7 @@ ENTRY(ret_from_intr)
 
         ALIGN
 /* No special register assumptions. */
-handle_exception:
+ENTRY(handle_exception)
         SAVE_ALL
         testb $X86_EFLAGS_IF>>8,UREGS_eflags+1(%rsp)
         jz    exception_with_ints_disabled
@@ -633,7 +633,3 @@ ENTRY(hypercall_args_table)
         .rept NR_hypercalls-(.-hypercall_args_table)
         .byte 0 /* do_ni_hypercall      */
         .endr
-
-#ifdef CONFIG_COMPAT
-#include "compat/entry.S"
-#endif

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.