WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-ppc-devel

[XenPPC] [ppc/linux-2.6.18-xen.hg] [XEN][LINUX][POWERPC] Add PowerPC Xen

Changeset a2acc03e8a4d : 
http://xenbits.xensource.com/ext/ppc/linux-2.6.18-xen.hg?cmd=changeset;node=a2acc03e8a4d

        [XEN][LINUX][POWERPC] Add PowerPC Xen architecture support.
        Most of this code was written by Jimi Xenidis <jimix@xxxxxxxxxxxxxx>.
        Signed-off-by: Hollis Blanchard <hollisb@xxxxxxxxxx>

diffstat:

43 files changed, 4621 insertions(+), 9 deletions(-)
arch/powerpc/Kconfig                       |   13 
arch/powerpc/Kconfig.debug                 |   14 
arch/powerpc/Makefile                      |    1 
arch/powerpc/boot/Makefile                 |    3 
arch/powerpc/boot/xen_guest.S              |    7 
arch/powerpc/configs/xen_maple_defconfig   | 1342 ++++++++++++++++++++++++++++
arch/powerpc/kernel/cpu_setup_power4.S     |    7 
arch/powerpc/kernel/prom_init.c            |   34 
arch/powerpc/kernel/setup-common.c         |    6 
arch/powerpc/kernel/udbg.c                 |    3 
arch/powerpc/mm/slb_low.S                  |   17 
arch/powerpc/platforms/Makefile            |    2 
arch/powerpc/platforms/pseries/iommu.c     |   11 
arch/powerpc/platforms/xen/Makefile        |   20 
arch/powerpc/platforms/xen/balloon.c       |   82 +
arch/powerpc/platforms/xen/gnttab.c        |  468 +++++++++
arch/powerpc/platforms/xen/hcall.c         |  749 +++++++++++++++
arch/powerpc/platforms/xen/reboot.c        |   53 +
arch/powerpc/platforms/xen/setup.c         |  324 ++++++
arch/powerpc/platforms/xen/setup.h         |   49 +
arch/powerpc/platforms/xen/smp.c           |  444 +++++++++
arch/powerpc/platforms/xen/time.c          |  114 ++
arch/powerpc/platforms/xen/udbg_xen.c      |  164 +++
arch/powerpc/platforms/xen/util.c          |   70 +
arch/powerpc/platforms/xen/xen_guest.S     |   27 
arch/powerpc/platforms/xen/xencomm.c       |   54 +
arch/powerpc/sysdev/mpic.c                 |    7 
arch/powerpc/xmon/xmon.c                   |    3 
drivers/xen/Kconfig                        |    3 
drivers/xen/core/Makefile                  |    2 
drivers/xen/core/evtchn.c                  |    3 
drivers/xen/core/hypervisor_sysfs.c        |    1 
drivers/xen/netfront/netfront.c            |    1 
drivers/xen/privcmd/privcmd.c              |   15 
include/asm-powerpc/io.h                   |    3 
include/asm-powerpc/mpic.h                 |    2 
include/asm-powerpc/page.h                 |    9 
include/asm-powerpc/udbg.h                 |    1 
include/asm-powerpc/xen/asm/gnttab_dma.h   |   29 
include/asm-powerpc/xen/asm/hypercall.h    |   90 +
include/asm-powerpc/xen/asm/hypervisor.h   |  276 +++++
include/asm-powerpc/xen/asm/maddr.h        |    7 
include/asm-powerpc/xen/asm/synch_bitops.h |  100 ++

diffs (truncated from 5026 to 300 lines):

diff -r e5f633c33025 -r a2acc03e8a4d arch/powerpc/Kconfig
--- a/arch/powerpc/Kconfig      Fri Jul 06 17:35:53 2007 +0100
+++ b/arch/powerpc/Kconfig      Fri Jul 06 15:52:42 2007 -0500
@@ -438,6 +438,17 @@ config UDBG_RTAS_CONSOLE
 config UDBG_RTAS_CONSOLE
        bool
        default n
+
+config PPC_XEN
+       bool "Enable Xen compatible kernel"
+       depends on PPC_MULTIPLATFORM && PPC64 && PPC_MAPLE && PPC_PSERIES && SMP
+       select XEN
+       select XEN_PRIVILEGED_GUEST
+       select XEN_UNPRIVILEGED_GUEST
+       select XEN_XENCOMM
+       
+       help
+         This option will compile a kernel compatible with Xen hypervisor
 
 config XICS
        depends on PPC_PSERIES
@@ -1071,6 +1082,8 @@ source "arch/powerpc/Kconfig.debug"
 
 source "security/Kconfig"
 
+source "drivers/xen/Kconfig"
+
 config KEYS_COMPAT
        bool
        depends on COMPAT && KEYS
diff -r e5f633c33025 -r a2acc03e8a4d arch/powerpc/Kconfig.debug
--- a/arch/powerpc/Kconfig.debug        Fri Jul 06 17:35:53 2007 +0100
+++ b/arch/powerpc/Kconfig.debug        Fri Jul 06 15:52:42 2007 -0500
@@ -160,6 +160,20 @@ config PPC_EARLY_DEBUG_ISERIES
          Select this to enable early debugging for legacy iSeries. You need
          to hit "Ctrl-x Ctrl-x" to see the messages on the console.
 
+config PPC_EARLY_DEBUG_XEN_DOM0
+       bool "Xen Dom0 Console"
+       depends on PPC_XEN
+       help
+         Select this to enable early debugging for Xen Dom0. Setting
+         this will result in a kernel that may not work as a DomU.
+
+config PPC_EARLY_DEBUG_XEN_DOMU
+       bool "Xen DomU Console"
+       depends on PPC_XEN && XEN_UNPRIVILEGED_GUEST
+       help
+         Select this to enable early debugging for Xen DomU. Setting
+         this will result in a kernel that may not work as a Dom0.
+
 endchoice
 
 endmenu
diff -r e5f633c33025 -r a2acc03e8a4d arch/powerpc/Makefile
--- a/arch/powerpc/Makefile     Fri Jul 06 17:35:53 2007 +0100
+++ b/arch/powerpc/Makefile     Fri Jul 06 15:52:42 2007 -0500
@@ -65,6 +65,7 @@ AFLAGS-$(CONFIG_PPC32)        := -Iarch/$(ARCH)
 AFLAGS-$(CONFIG_PPC32) := -Iarch/$(ARCH)
 CFLAGS-$(CONFIG_PPC64) := -mminimal-toc -mtraceback=none  -mcall-aixdesc
 CFLAGS-$(CONFIG_PPC32) := -Iarch/$(ARCH) -ffixed-r2 -mmultiple
+CFLAGS-$(CONFIG_PPC_XEN) += -Iinclude/asm-$(ARCH)/xen
 CPPFLAGS       += $(CPPFLAGS-y)
 AFLAGS         += $(AFLAGS-y)
 CFLAGS         += -msoft-float -pipe $(CFLAGS-y)
diff -r e5f633c33025 -r a2acc03e8a4d arch/powerpc/boot/Makefile
--- a/arch/powerpc/boot/Makefile        Fri Jul 06 17:35:53 2007 +0100
+++ b/arch/powerpc/boot/Makefile        Fri Jul 06 15:52:42 2007 -0500
@@ -36,8 +36,11 @@ zliblinuxheader := zlib.h zconf.h zutil.
 $(addprefix $(obj)/,$(zlib) main.o): $(addprefix $(obj)/,$(zliblinuxheader)) 
$(addprefix $(obj)/,$(zlibheader))
 #$(addprefix $(obj)/,main.o): $(addprefix $(obj)/,zlib.h)
 
+xen_guest-y = xen_guest.S
+
 src-boot := crt0.S string.S prom.c stdio.c main.c div64.S
 src-boot += $(zlib)
+src-boot += $(xen_guest-$(CONFIG_XEN))
 src-boot := $(addprefix $(obj)/, $(src-boot))
 obj-boot := $(addsuffix .o, $(basename $(src-boot)))
 
diff -r e5f633c33025 -r a2acc03e8a4d arch/powerpc/boot/xen_guest.S
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/arch/powerpc/boot/xen_guest.S     Fri Jul 06 15:52:42 2007 -0500
@@ -0,0 +1,7 @@
+       .section __xen_guest
+       .ascii  "GUEST_OS=linux"
+       .ascii  ",GUEST_VER=xen-3.0"
+       .ascii  ",XEN_VER=xen-3.0"
+       .ascii  ",VIRT_BASE=0x0"
+       .ascii  ",LOADER=generic"
+       .byte   0
diff -r e5f633c33025 -r a2acc03e8a4d arch/powerpc/configs/xen_maple_defconfig
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/arch/powerpc/configs/xen_maple_defconfig  Fri Jul 06 15:52:42 2007 -0500
@@ -0,0 +1,1342 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.17
+# Mon Jan 15 23:48:47 2007
+#
+CONFIG_PPC64=y
+CONFIG_64BIT=y
+CONFIG_PPC_MERGE=y
+CONFIG_MMU=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_IRQ_PER_CPU=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_GENERIC_FIND_NEXT_BIT=y
+CONFIG_PPC=y
+CONFIG_EARLY_PRINTK=y
+CONFIG_COMPAT=y
+CONFIG_SYSVIPC_COMPAT=y
+CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+CONFIG_PPC_OF=y
+CONFIG_PPC_UDBG_16550=y
+CONFIG_GENERIC_TBSYNC=y
+# CONFIG_DEFAULT_UIMAGE is not set
+
+#
+# Processor support
+#
+CONFIG_POWER4_ONLY=y
+CONFIG_POWER4=y
+CONFIG_PPC_FPU=y
+CONFIG_ALTIVEC=y
+CONFIG_PPC_STD_MMU=y
+CONFIG_VIRT_CPU_ACCOUNTING=y
+CONFIG_SMP=y
+CONFIG_NR_CPUS=32
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_LOCK_KERNEL=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION="-Xen"
+CONFIG_LOCALVERSION_AUTO=y
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_POSIX_MQUEUE is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+# CONFIG_CPUSETS is not set
+# CONFIG_RELAY is not set
+CONFIG_INITRAMFS_SOURCE=""
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+# CONFIG_EMBEDDED is not set
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_ALL is not set
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_RT_MUTEXES=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SHMEM=y
+CONFIG_SLAB=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+# CONFIG_SLOB is not set
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+CONFIG_MODVERSIONS=y
+CONFIG_MODULE_SRCVERSION_ALL=y
+CONFIG_KMOD=y
+CONFIG_STOP_MACHINE=y
+
+#
+# Block layer
+#
+# CONFIG_BLK_DEV_IO_TRACE is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+# CONFIG_IOSCHED_AS is not set
+CONFIG_IOSCHED_DEADLINE=y
+# CONFIG_IOSCHED_CFQ is not set
+# CONFIG_DEFAULT_AS is not set
+CONFIG_DEFAULT_DEADLINE=y
+# CONFIG_DEFAULT_CFQ is not set
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="deadline"
+
+#
+# Platform support
+#
+CONFIG_PPC_MULTIPLATFORM=y
+# CONFIG_PPC_ISERIES is not set
+# CONFIG_EMBEDDED6xx is not set
+# CONFIG_APUS is not set
+CONFIG_PPC_PSERIES=y
+# CONFIG_PPC_PMAC is not set
+CONFIG_PPC_MAPLE=y
+# CONFIG_PPC_CELL is not set
+# CONFIG_PPC_CELL_NATIVE is not set
+# CONFIG_PPC_IBM_CELL_BLADE is not set
+# CONFIG_UDBG_RTAS_CONSOLE is not set
+CONFIG_PPC_XEN=y
+CONFIG_XICS=y
+CONFIG_U3_DART=y
+CONFIG_MPIC=y
+CONFIG_PPC_RTAS=y
+CONFIG_RTAS_ERROR_LOGGING=y
+CONFIG_RTAS_PROC=y
+CONFIG_RTAS_FLASH=y
+# CONFIG_MMIO_NVRAM is not set
+CONFIG_MPIC_BROKEN_U3=y
+CONFIG_IBMVIO=y
+# CONFIG_IBMEBUS is not set
+# CONFIG_PPC_MPC106 is not set
+CONFIG_PPC_970_NAP=y
+# CONFIG_CPU_FREQ is not set
+# CONFIG_WANT_EARLY_SERIAL is not set
+
+#
+# Kernel options
+#
+CONFIG_HZ_100=y
+# CONFIG_HZ_250 is not set
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=100
+CONFIG_PREEMPT_NONE=y
+# CONFIG_PREEMPT_VOLUNTARY is not set
+# CONFIG_PREEMPT is not set
+# CONFIG_PREEMPT_BKL is not set
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_MISC is not set
+CONFIG_FORCE_MAX_ZONEORDER=13
+CONFIG_IOMMU_VMERGE=y
+# CONFIG_HOTPLUG_CPU is not set
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+# CONFIG_KEXEC is not set
+# CONFIG_CRASH_DUMP is not set
+CONFIG_IRQ_ALL_CPUS=y
+# CONFIG_PPC_SPLPAR is not set
+CONFIG_EEH=y
+CONFIG_SCANLOG=y
+CONFIG_LPARCFG=y
+CONFIG_NUMA=y
+CONFIG_NODES_SHIFT=4
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SPARSEMEM_DEFAULT=y
+CONFIG_SELECT_MEMORY_MODEL=y
+# CONFIG_FLATMEM_MANUAL is not set
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+CONFIG_SPARSEMEM_MANUAL=y
+CONFIG_SPARSEMEM=y
+CONFIG_NEED_MULTIPLE_NODES=y
+CONFIG_HAVE_MEMORY_PRESENT=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPARSEMEM_EXTREME=y
+CONFIG_MEMORY_HOTPLUG=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_MIGRATION=y
+CONFIG_RESOURCES_64BIT=y
+CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y
+CONFIG_ARCH_MEMORY_PROBE=y
+# CONFIG_PPC_64K_PAGES is not set
+# CONFIG_SCHED_SMT is not set
+CONFIG_PROC_DEVICETREE=y
+# CONFIG_CMDLINE_BOOL is not set
+# CONFIG_PM is not set
+CONFIG_SECCOMP=y
+CONFIG_ISA_DMA_API=y
+
+#
+# Bus options
+#
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_PPC_I8259=y
+# CONFIG_PPC_INDIRECT_PCI is not set
+CONFIG_PCI=y
+CONFIG_PCI_DOMAINS=y
+# CONFIG_PCIEPORTBUS is not set
+# CONFIG_PCI_DEBUG is not set
+
+#

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

<Prev in Thread] Current Thread [Next in Thread>
  • [XenPPC] [ppc/linux-2.6.18-xen.hg] [XEN][LINUX][POWERPC] Add PowerPC Xen ..., patchbot <=