[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v2 00/25] xen: ARMv7 with virtualization extensions
Hello everyone, this is the second version of the patch series that introduces ARMv7 with virtualization extensions support in Xen. The series allows Xen and Dom0 to boot on a Cortex-A15 based Versatile Express simulator. See the following announce email for more informations about what we are trying to achieve, as well as the original git history: See http://marc.info/?l=xen-devel&m=132257857628098&w=2 The first 7 patches affect generic Xen code and are not ARM specific; often they fix real issues, hidden in the default X86 configuration. The following 18 patches introduce ARMv7 with virtualization extensions support: makefiles first, then the asm-arm header files and finally everything else, ordered in a way that should make the patches easier to read. Changes in v2: - introduce CONFIG_XENOPROF; - make _srodata and _erodata const char[]; - do not include p2m.h ifdef __ia64__; - remove wrong comment about pfn.h; - introduce HAS_KEXEC and CONFIG_KEXEC; - use long in __do_clear_user; - remove the div64 patch, implement __aeabi_ldivmod and __aeabi_uldivmod instead; - move "arm: makefiles" at the end of the series. Stefano Stabellini (25): Move cpufreq option parsing to cpufreq.c Include some header files that are not automatically included on all archs A collection of fixes to Xen common files xen: implement an signed 64 bit division helper function Introduce clear_user libelf-loader: introduce elf_load_image xen/common/Makefile: introduce HAS_CPUFREQ, HAS_PCI, HAS_PASSTHROUGH, HAS_NS16550, HAS_KEXEC arm: compile tmem arm: header files arm: bit manipulation, copy and division libraries arm: entry.S and head.S arm: domain arm: domain_build arm: driver for CoreLink GIC-400 Generic Interrupt Controller arm: mmio handlers arm: irq arm: mm and p2m arm: pl011 UART driver arm: early setup code arm: shutdown, smp and smpboot arm: driver for the generic timer for ARMv7 arm: trap handlers arm: vgic emulation arm: vtimer arm: makefiles config/arm.mk | 18 + xen/arch/arm/Makefile | 76 +++++ xen/arch/arm/Rules.mk | 29 ++ xen/arch/arm/asm-offsets.c | 76 +++++ xen/arch/arm/domain.c | 269 ++++++++++++++++ xen/arch/arm/domain_build.c | 212 +++++++++++++ xen/arch/arm/dummy.S | 72 +++++ xen/arch/arm/entry.S | 107 +++++++ xen/arch/arm/gic.c | 473 ++++++++++++++++++++++++++++ xen/arch/arm/gic.h | 154 +++++++++ xen/arch/arm/head.S | 298 ++++++++++++++++++ xen/arch/arm/io.c | 51 +++ xen/arch/arm/io.h | 55 ++++ xen/arch/arm/irq.c | 180 +++++++++++ xen/arch/arm/lib/Makefile | 5 + xen/arch/arm/lib/assembler.h | 49 +++ xen/arch/arm/lib/bitops.h | 36 +++ xen/arch/arm/lib/changebit.S | 18 + xen/arch/arm/lib/clearbit.S | 19 ++ xen/arch/arm/lib/copy_template.S | 266 ++++++++++++++++ xen/arch/arm/lib/div64.S | 149 +++++++++ xen/arch/arm/lib/findbit.S | 115 +++++++ xen/arch/arm/lib/lib1funcs.S | 302 ++++++++++++++++++ xen/arch/arm/lib/memcpy.S | 64 ++++ xen/arch/arm/lib/memmove.S | 200 ++++++++++++ xen/arch/arm/lib/memset.S | 129 ++++++++ xen/arch/arm/lib/memzero.S | 127 ++++++++ xen/arch/arm/lib/setbit.S | 18 + xen/arch/arm/lib/testchangebit.S | 18 + xen/arch/arm/lib/testclearbit.S | 18 + xen/arch/arm/lib/testsetbit.S | 18 + xen/arch/arm/mm.c | 321 +++++++++++++++++++ xen/arch/arm/p2m.c | 214 +++++++++++++ xen/arch/arm/setup.c | 206 ++++++++++++ xen/arch/arm/shutdown.c | 23 ++ xen/arch/arm/smp.c | 29 ++ xen/arch/arm/smpboot.c | 50 +++ xen/arch/arm/time.c | 181 +++++++++++ xen/arch/arm/traps.c | 609 ++++++++++++++++++++++++++++++++++++ xen/arch/arm/usercopy.c | 81 +++++ xen/arch/arm/vgic.c | 605 +++++++++++++++++++++++++++++++++++ xen/arch/arm/vtimer.c | 148 +++++++++ xen/arch/arm/vtimer.h | 35 ++ xen/arch/arm/xen.lds.S | 141 +++++++++ xen/arch/ia64/Rules.mk | 5 + xen/arch/ia64/linux/memcpy_mck.S | 177 +++++++++++ xen/arch/x86/Rules.mk | 5 + xen/arch/x86/usercopy.c | 36 +++ xen/common/Makefile | 2 +- xen/common/domain.c | 37 +-- xen/common/domctl.c | 1 + xen/common/grant_table.c | 1 + xen/common/irq.c | 1 + xen/common/kernel.c | 2 +- xen/common/keyhandler.c | 1 + xen/common/lib.c | 19 ++ xen/common/libelf/libelf-dominfo.c | 6 + xen/common/libelf/libelf-loader.c | 17 +- xen/common/memory.c | 4 +- xen/common/sched_credit2.c | 6 - xen/common/shutdown.c | 4 + xen/common/spinlock.c | 1 + xen/common/tmem.c | 3 +- xen/common/tmem_xen.c | 6 +- xen/common/wait.c | 1 + xen/drivers/Makefile | 6 +- xen/drivers/char/Makefile | 3 +- xen/drivers/char/console.c | 5 + xen/drivers/char/pl011.c | 266 ++++++++++++++++ xen/drivers/cpufreq/cpufreq.c | 31 ++ xen/include/asm-arm/asm_defns.h | 18 + xen/include/asm-arm/atomic.h | 212 +++++++++++++ xen/include/asm-arm/bitops.h | 195 ++++++++++++ xen/include/asm-arm/bug.h | 15 + xen/include/asm-arm/byteorder.h | 16 + xen/include/asm-arm/cache.h | 20 ++ xen/include/asm-arm/config.h | 122 +++++++ xen/include/asm-arm/cpregs.h | 207 ++++++++++++ xen/include/asm-arm/current.h | 60 ++++ xen/include/asm-arm/debugger.h | 15 + xen/include/asm-arm/delay.h | 15 + xen/include/asm-arm/desc.h | 12 + xen/include/asm-arm/div64.h | 235 ++++++++++++++ xen/include/asm-arm/domain.h | 82 +++++ xen/include/asm-arm/elf.h | 33 ++ xen/include/asm-arm/event.h | 41 +++ xen/include/asm-arm/flushtlb.h | 31 ++ xen/include/asm-arm/grant_table.h | 35 ++ xen/include/asm-arm/guest_access.h | 125 ++++++++ xen/include/asm-arm/hardirq.h | 28 ++ xen/include/asm-arm/hypercall.h | 24 ++ xen/include/asm-arm/init.h | 12 + xen/include/asm-arm/io.h | 12 + xen/include/asm-arm/iocap.h | 20 ++ xen/include/asm-arm/irq.h | 30 ++ xen/include/asm-arm/mm.h | 315 +++++++++++++++++++ xen/include/asm-arm/multicall.h | 23 ++ xen/include/asm-arm/nmi.h | 15 + xen/include/asm-arm/numa.h | 21 ++ xen/include/asm-arm/p2m.h | 88 ++++++ xen/include/asm-arm/page.h | 335 ++++++++++++++++++++ xen/include/asm-arm/paging.h | 13 + xen/include/asm-arm/percpu.h | 28 ++ xen/include/asm-arm/processor.h | 269 ++++++++++++++++ xen/include/asm-arm/regs.h | 43 +++ xen/include/asm-arm/setup.h | 20 ++ xen/include/asm-arm/smp.h | 25 ++ xen/include/asm-arm/softirq.h | 15 + xen/include/asm-arm/spinlock.h | 144 +++++++++ xen/include/asm-arm/string.h | 38 +++ xen/include/asm-arm/system.h | 202 ++++++++++++ xen/include/asm-arm/time.h | 26 ++ xen/include/asm-arm/trace.h | 12 + xen/include/asm-arm/types.h | 57 ++++ xen/include/asm-arm/xenoprof.h | 12 + xen/include/asm-ia64/config.h | 2 + xen/include/asm-ia64/uaccess.h | 12 + xen/include/asm-x86/config.h | 3 + xen/include/asm-x86/uaccess.h | 1 + xen/include/public/arch-arm.h | 125 ++++++++ xen/include/public/xen.h | 2 + xen/include/xen/domain.h | 2 + xen/include/xen/grant_table.h | 1 + xen/include/xen/irq.h | 13 + xen/include/xen/kernel.h | 12 +- xen/include/xen/libelf.h | 2 +- xen/include/xen/list.h | 1 + xen/include/xen/sched.h | 4 + xen/include/xen/serial.h | 2 + xen/include/xen/time.h | 1 + xen/include/xen/timer.h | 1 + xen/include/xen/tmem_xen.h | 1 + 132 files changed, 10355 insertions(+), 56 deletions(-) A git branch is available here, based on xen-unstable (git CS 367ababd691a023944d648a6d980ccf866b01169): git://xenbits.xen.org/people/sstabellini/xen-unstable.git arm-v2 Cheers, Stefano _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |