aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHollis Blanchard <hollisb@us.ibm.com>2007-02-09 14:43:21 -0600
committerHollis Blanchard <hollisb@us.ibm.com>2007-02-09 14:43:21 -0600
commit9fb65916be7ce1542a3b4c60286525a3cf66b38c (patch)
tree50d5c7c885f7647bba73464c38eaca7f889cd513
parentba6d0740944a8c2c6fcd88d3bf9ed9de2f52a756 (diff)
downloadxen-9fb65916be7ce1542a3b4c60286525a3cf66b38c.tar.gz
xen-9fb65916be7ce1542a3b4c60286525a3cf66b38c.tar.bz2
xen-9fb65916be7ce1542a3b4c60286525a3cf66b38c.zip
[POWERPC][XEN] Opt out of new libxc domain builder.
PowerPC needs more flexibility than the new framework allows. Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
-rw-r--r--tools/libxc/Makefile7
-rw-r--r--tools/libxc/xc_dom_powerpc64.c100
2 files changed, 0 insertions, 107 deletions
diff --git a/tools/libxc/Makefile b/tools/libxc/Makefile
index 12807a03db..bcdbbccf90 100644
--- a/tools/libxc/Makefile
+++ b/tools/libxc/Makefile
@@ -49,15 +49,8 @@ GUEST_SRCS-y += $(LIBELF_SRCS)
GUEST_SRCS-y += xc_dom_core.c xc_dom_boot.c
GUEST_SRCS-y += xc_dom_elfloader.c
GUEST_SRCS-y += xc_dom_binloader.c
-
-ifeq ($(CONFIG_POWERPC),y)
-# big endian boxes
-GUEST_SRCS-y += xc_dom_powerpc64.c
-else
-# little endian boxes
GUEST_SRCS-y += xc_dom_x86.c
GUEST_SRCS-y += xc_dom_ia64.c
-endif
GUEST_SRCS-$(CONFIG_X86) += xc_dom_compat_linux.c
GUEST_SRCS-$(CONFIG_IA64) += xc_dom_compat_linux.c
diff --git a/tools/libxc/xc_dom_powerpc64.c b/tools/libxc/xc_dom_powerpc64.c
deleted file mode 100644
index 605c3a5d3c..0000000000
--- a/tools/libxc/xc_dom_powerpc64.c
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Xen domain builder -- ia64 bits.
- *
- * Most architecture-specific code for ia64 goes here.
- * - fill architecture-specific structs.
- *
- * This code is licenced under the GPL.
- * written 2006 by Gerd Hoffmann <kraxel@suse.de>.
- *
- */
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <inttypes.h>
-
-#include <xen/xen.h>
-
-#include "xg_private.h"
-#include "xc_dom.h"
-
-/* ------------------------------------------------------------------------ */
-
-static int alloc_magic_pages(struct xc_dom_image *dom)
-{
- /* allocate special pages */
- dom->low_top--; /* shared_info */
- dom->xenstore_pfn = --dom->low_top;
- dom->console_pfn = --dom->low_top;
- dom->start_info_pfn = --dom->low_top;
- return 0;
-}
-
-static int start_info(struct xc_dom_image *dom)
-{
- start_info_t *si =
- xc_dom_pfn_to_ptr(dom, dom->start_info_pfn, 1);
-
- xc_dom_printf("%s\n", __FUNCTION__);
-
- snprintf(si->magic, sizeof(si->magic), "xen-%d.%d-powerpc64HV", 3, 0);
-
- si->nr_pages = dom->total_pages;
- si->shared_info = (dom->total_pages - 1) << PAGE_SHIFT;
- si->store_mfn = dom->xenstore_pfn;
- si->store_evtchn = dom->store_evtchn;
- si->console.domU.mfn = dom->console_pfn;
- si->console.domU.evtchn = dom->console_evtchn;
- return 0;
-}
-
-static int shared_info(struct xc_dom_image *dom, void *ptr)
-{
- shared_info_t *shared_info = ptr;
- int i;
-
- xc_dom_printf("%s: called\n", __FUNCTION__);
-
- memset(shared_info, 0, sizeof(*shared_info));
- return 0;
-}
-
-static int vcpu(struct xc_dom_image *dom, void *ptr)
-{
- vcpu_guest_context_t *ctxt = ptr;
-
- xc_dom_printf("%s: called\n", __FUNCTION__);
-
- /* clear everything */
- memset(ctxt, 0, sizeof(*ctxt));
-
- memset(&ctxt->user_regs, 0x55, sizeof(ctxt.user_regs));
- ctxt->user_regs.pc = dsi->v_kernentry;
- ctxt->user_regs.msr = 0;
- ctxt->user_regs.gprs[1] = 0; /* Linux uses its own stack */
- ctxt->user_regs.gprs[3] = devtree_addr;
- ctxt->user_regs.gprs[4] = kern_addr;
- ctxt->user_regs.gprs[5] = 0;
-
- /* There is a buggy kernel that does not zero the "local_paca", so
- * we must make sure this register is 0 */
- ctxt->user_regs.gprs[13] = 0;
-
- return 0;
-}
-
-/* ------------------------------------------------------------------------ */
-
-static struct xc_dom_arch xc_dom_arch = {
- .guest_type = "xen-3.0-powerpc64",
- .page_shift = FIXME,
- .alloc_magic_pages = alloc_magic_pages,
- .start_info = start_info,
- .shared_info = shared_info,
- .vcpu = vcpu,
-};
-
-static void __init register_arch_hooks(void)
-{
- xc_dom_register_arch_hooks(&xc_dom_arch);
-}