[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |