# HG changeset patch
# User Alex Williamson <alex.williamson@xxxxxx>
# Date 1202139336 25200
# Node ID 3588f645c7546e50009a979b567b05e1fe018742
# Parent 369b676a32439c947a604323b5b3db6007ffedd2
[IA64] Split xencomm_arch_hypercall_suspend to its own file
This allows us to use it from the unmodified driver, eliminating the following
error:
Loading xen-platform-pci.ko module
xen_platform_pci: Unknown symbol xencomm_hypercall_suspend
insmod: error inserting '/lib/xen-platform-pci.ko':
-1 Unknown symbol in module
ERROR: /bin/insmod exited abnormally! (pid 210)
Signed-off-by: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
---
arch/ia64/xen/Makefile | 2 +-
arch/ia64/xen/xcom_asm.S | 27 +++++++++++++++++++++++++++
arch/ia64/xen/xcom_hcall.c | 2 --
arch/ia64/xen/xensetup.S | 19 -------------------
4 files changed, 28 insertions(+), 22 deletions(-)
diff -r 369b676a3243 -r 3588f645c754 arch/ia64/xen/Makefile
--- a/arch/ia64/xen/Makefile Mon Feb 04 14:29:03 2008 +0000
+++ b/arch/ia64/xen/Makefile Mon Feb 04 08:35:36 2008 -0700
@@ -4,6 +4,6 @@
obj-y := hypercall.o xenivt.o xenentry.o xensetup.o xenpal.o xenhpski.o \
hypervisor.o util.o xencomm.o xcom_hcall.o \
- xcom_privcmd.o xen_dma.o
+ xcom_privcmd.o xcom_asm.o xen_dma.o
obj-$(CONFIG_IA64_GENERIC) += machvec.o
diff -r 369b676a3243 -r 3588f645c754 arch/ia64/xen/xcom_asm.S
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/arch/ia64/xen/xcom_asm.S Mon Feb 04 08:35:36 2008 -0700
@@ -0,0 +1,27 @@
+/*
+ * xencomm suspend support
+ * Support routines for Xen
+ *
+ * Copyright (C) 2005 Dan Magenheimer <dan.magenheimer@xxxxxx>
+ */
+#include <asm/asmmacro.h>
+#include <xen/interface/xen.h>
+
+/*
+ * Stub for suspend.
+ * Just force the stacked registers to be written in memory.
+ */
+GLOBAL_ENTRY(xencomm_arch_hypercall_suspend)
+ ;;
+ alloc r20=ar.pfs,0,0,6,0
+ mov r2=__HYPERVISOR_sched_op
+ ;;
+ /* We don't want to deal with RSE. */
+ flushrs
+ mov r33=r32
+ mov r32=2 // SCHEDOP_shutdown
+ ;;
+ break 0x1000
+ ;;
+ br.ret.sptk.many b0
+END(xencomm_arch_hypercall_suspend)
diff -r 369b676a3243 -r 3588f645c754 arch/ia64/xen/xcom_hcall.c
--- a/arch/ia64/xen/xcom_hcall.c Mon Feb 04 14:29:03 2008 +0000
+++ b/arch/ia64/xen/xcom_hcall.c Mon Feb 04 08:35:36 2008 -0700
@@ -484,7 +484,6 @@ xencomm_hypercall_hvm_op(int cmd, void *
}
EXPORT_SYMBOL_GPL(xencomm_hypercall_hvm_op);
-#ifndef CONFIG_VMX_GUEST
int
xencomm_hypercall_suspend(unsigned long srec)
{
@@ -495,7 +494,6 @@ xencomm_hypercall_suspend(unsigned long
return xencomm_arch_hypercall_suspend(
xencomm_map_no_alloc(&arg, sizeof(arg)));
}
-#endif
int
xencomm_hypercall_xenoprof_op(int op, void *arg)
diff -r 369b676a3243 -r 3588f645c754 arch/ia64/xen/xensetup.S
--- a/arch/ia64/xen/xensetup.S Mon Feb 04 14:29:03 2008 +0000
+++ b/arch/ia64/xen/xensetup.S Mon Feb 04 08:35:36 2008 -0700
@@ -38,22 +38,3 @@ GLOBAL_ENTRY(early_xen_setup)
br.ret.sptk.many rp
;;
END(early_xen_setup)
-
-#include <xen/interface/xen.h>
-
-/* Stub for suspend.
- Just force the stacked registers to be written in memory. */
-GLOBAL_ENTRY(xencomm_arch_hypercall_suspend)
- ;;
- alloc r20=ar.pfs,0,0,6,0
- mov r2=__HYPERVISOR_sched_op
- ;;
- /* We don't want to deal with RSE. */
- flushrs
- mov r33=r32
- mov r32=2 // SCHEDOP_shutdown
- ;;
- break 0x1000
- ;;
- br.ret.sptk.many b0
-END(xencomm_arch_hypercall_suspend)
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|