aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>2006-07-14 10:37:12 +0100
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>2006-07-14 10:37:12 +0100
commit7eb542e4624994551f8f02a903ab39939b7db5d4 (patch)
tree27fb4aad18163ff52829daccdf37370af7f103a3
parent3e8ad22aa8b2496b4a0d20382590c9bac89844b4 (diff)
downloadxen-7eb542e4624994551f8f02a903ab39939b7db5d4.tar.gz
xen-7eb542e4624994551f8f02a903ab39939b7db5d4.tar.bz2
xen-7eb542e4624994551f8f02a903ab39939b7db5d4.zip
[powerpc] add PowerPC support to libxc
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
-rw-r--r--tools/libxc/Makefile5
-rw-r--r--tools/libxc/xc_load_elf.c4
-rw-r--r--tools/libxc/xenctrl.h5
3 files changed, 12 insertions, 2 deletions
diff --git a/tools/libxc/Makefile b/tools/libxc/Makefile
index 0ee949a3e1..64ec867a1e 100644
--- a/tools/libxc/Makefile
+++ b/tools/libxc/Makefile
@@ -26,11 +26,12 @@ CTRL_SRCS-$(CONFIG_X86) += xc_ptrace.c xc_ptrace_core.c xc_pagetab.c
CTRL_SRCS-$(CONFIG_Linux) += xc_linux.c
GUEST_SRCS-y :=
-GUEST_SRCS-y += xc_linux_build.c
GUEST_SRCS-y += xc_load_bin.c
GUEST_SRCS-y += xc_load_elf.c
GUEST_SRCS-y += xg_private.c
-GUEST_SRCS-$(CONFIG_IA64) += xc_ia64_stubs.c
+GUEST_SRCS-$(CONFIG_POWERPC) += xc_ppc_linux_build.c
+GUEST_SRCS-$(CONFIG_X86) += xc_linux_build.c
+GUEST_SRCS-$(CONFIG_IA64) += xc_ia64_stubs.c xc_linux_build.c
GUEST_SRCS-$(CONFIG_MIGRATE) += xc_linux_restore.c xc_linux_save.c
GUEST_SRCS-$(CONFIG_HVM) += xc_hvm_build.c
diff --git a/tools/libxc/xc_load_elf.c b/tools/libxc/xc_load_elf.c
index c005409924..5fc1757601 100644
--- a/tools/libxc/xc_load_elf.c
+++ b/tools/libxc/xc_load_elf.c
@@ -38,6 +38,10 @@ loadelfsymtab(
#define ELFCLASS ELFCLASS64
#define ELFDATA ELFDATA2LSB
#define ELFMACHINE EM_X86_64
+#elif defined(__powerpc__)
+#define ELFCLASS ELFCLASS64
+#define ELFDATA ELFDATA2MSB
+#define ELFMACHINE EM_PPC64
#endif
int probe_elf(const char *image,
diff --git a/tools/libxc/xenctrl.h b/tools/libxc/xenctrl.h
index c18f1807ab..55fda21223 100644
--- a/tools/libxc/xenctrl.h
+++ b/tools/libxc/xenctrl.h
@@ -47,6 +47,11 @@
#define mb()
#define rmb()
#define wmb()
+#elif defined(__powerpc__)
+/* XXX loosen these up later */
+#define mb() __asm__ __volatile__ ("sync" : : : "memory")
+#define rmb() __asm__ __volatile__ ("sync" : : : "memory") /* lwsync? */
+#define wmb() __asm__ __volatile__ ("sync" : : : "memory") /* eieio? */
#else
#error "Define barriers"
#endif