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 <[EMAIL PROTECTED]>.
        Signed-off-by: Hollis Blanchard <[EMAIL PROTECTED]>

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@lists.xensource.com
http://lists.xensource.com/xen-ppc-devel

Reply via email to