[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH V2 00/33] Support multiple ARM platforms in Xen
Hi, This is the second version of the patch series. It's rebased on Xen 4.3 rc-1 with Stefano's SMP patch series. The majors changes: - Add platform_poweroff and platform_quirks - Rework early assembly printk to use macro instead of function - Use defines where it's possible in exynos UART code - Missing Signed-off-by from Anthony exynos UART code - Introduce request_dt_irq and setup_dt_irq. request_irq and setup_irq are deprecated for ARM. This part is divided in small patches (one to introduce new function and one to remove the old function) to avoid compilation breakage. For all changes see in each patch. Xen can boot on both Arndale Board and the Versatile Express without recompilation. But there is still some hardcoded part, mainly in assembly. Things to do: - Move secondary CPUs bring up code in platform specific - Move out of Xen the switch between secure mode and hypervisor mode - Rework dom0 device tree creation - Use everywhere the new device tree API - Add a support for SYS MMU - Convert vtimer to use non-hardcoded IRQ For the moment the known bugs are: - Bash can sometimes crash with: segfault, memory corruption. It's seems it's due to a lack of VPF save/restore in Xen. If you want to try this patch series you can clone: git clone -b arm-v2 git://xenbits.xen.org/people/julieng/xen-unstable.git The command line to compile Xen is the same as before. You just need to specify on Xen command line, via the device tree, which UART will be used for the console. Feel free to test this branch during Xen test day. The wiki has been updated for the arndale board: http://wiki.xen.org/wiki/Xen_ARM_with_Virtualization_Extensions/Arndale It's now based on: - this patch series for Xen - linux 3.9 Feel free to test this branch during the Xen test day on both the versatile express and the arndale board. Cheers, Anthony PERARD (2): xen/arm: Add exynos 4210 UART support xen/arm: Add Exynos 4210 UART support for early printk Julien Grall (31): xen/arm: lr must be included in range [0-nr_lr( xen/arm: don't allow dom0 to access to vpl011 UART0 memory range xen/arm: Remove duplicated GICD_ICPIDR2 definition xen/arm: Bump early printk internal buffer to 512 xen/arm: Fix early_panic when EARLY_PRINTK is disabled xen/arm: Load dtb after dom0 kernel xen/arm: Create a hierarchical device tree xen/arm: Add helpers to use the device tree xen/arm: Add helpers to retrieve an address from the device tree xen/arm: Add helpers to retrieve an interrupt description from the device tree xen/arm: Introduce gic_route_dt_irq xen/arm: Introduce gic_irq_xlate xen/arm: Introduce setup_dt_irq xen/arm: Introduce request_dt_irq xen/arm: Use hierarchical device tree to retrieve GIC information xen/arm: Retrieve timer interrupts from the device tree xen/arm: Don't hardcode VGIC informations xen/arm: Introduce a generic way to use a device from the device tree xen/arm: New callback in uart_driver to get device tree interrupt structure xen/arm: Add generic UART to get the device in the device tree xen/arm: Use device tree API in pl011 UART driver xen/arm: Use the device tree to map the address range and IRQ to dom0 xen/arm: Allow Xen to run on multiple platform without recompilation xen/arm: WORKAROUND 1:1 memory mapping for dom0 xen/arm: Add versatile express platform xen/arm: remove request_irq xen/arm: remove setup_irq xen/arm: Don't use pl011 UART by default for early printk xen/arm: Add platform specific code for the exynos5 xen/arm: WORKAROUND Support kick cpus and switch to hypervisor for the exynos5 xen/arm64: Remove hardcoded value for gic in assembly code config/arm32.mk | 1 + docs/misc/arm/early-printk.txt | 15 + xen/arch/arm/Makefile | 4 +- xen/arch/arm/Rules.mk | 19 + xen/arch/arm/arm32/Makefile | 4 +- xen/arch/arm/arm32/debug-exynos4210.inc | 77 ++ xen/arch/arm/arm32/debug-pl011.inc | 58 ++ xen/arch/arm/arm32/debug.S | 33 + xen/arch/arm/arm32/head.S | 84 +- xen/arch/arm/arm32/mode_switch.S | 75 +- xen/arch/arm/arm64/Makefile | 2 + xen/arch/arm/arm64/debug-pl011.inc | 59 ++ xen/arch/arm/arm64/debug.S | 33 + xen/arch/arm/arm64/head.S | 71 +- xen/arch/arm/arm64/mode_switch.S | 7 +- xen/arch/arm/device.c | 74 ++ xen/arch/arm/domain_build.c | 192 ++++- xen/arch/arm/early_printk.c | 19 +- xen/arch/arm/gic.c | 160 +++- xen/arch/arm/irq.c | 8 +- xen/arch/arm/platform.c | 137 +++ xen/arch/arm/platforms/Makefile | 1 + xen/arch/arm/platforms/exynos5.c | 86 ++ xen/arch/arm/platforms/vexpress.c | 30 + xen/arch/arm/setup.c | 14 +- xen/arch/arm/shutdown.c | 16 +- xen/arch/arm/time.c | 65 +- xen/arch/arm/vgic.c | 20 +- xen/arch/arm/vpl011.c | 4 +- xen/arch/arm/xen.lds.S | 14 + xen/common/device_tree.c | 1326 ++++++++++++++++++++++++++++-- xen/drivers/char/Makefile | 2 + xen/drivers/char/arm-uart.c | 81 ++ xen/drivers/char/exynos4210-uart.c | 357 ++++++++ xen/drivers/char/pl011.c | 64 +- xen/drivers/char/serial.c | 16 + xen/include/asm-arm/config.h | 15 +- xen/include/asm-arm/device.h | 52 ++ xen/include/asm-arm/domain.h | 5 +- xen/include/asm-arm/early_printk.h | 4 +- xen/include/asm-arm/exynos4210-uart.h | 111 +++ xen/include/asm-arm/gic.h | 16 +- xen/include/asm-arm/irq.h | 8 + xen/include/asm-arm/platform.h | 87 ++ xen/include/asm-arm/platforms/exynos5.h | 40 + xen/include/asm-arm/platforms/vexpress.h | 14 + xen/include/asm-arm/time.h | 3 + xen/include/xen/device_tree.h | 378 ++++++++- xen/include/xen/serial.h | 13 +- 49 files changed, 3682 insertions(+), 292 deletions(-) create mode 100644 docs/misc/arm/early-printk.txt create mode 100644 xen/arch/arm/arm32/debug-exynos4210.inc create mode 100644 xen/arch/arm/arm32/debug-pl011.inc create mode 100644 xen/arch/arm/arm32/debug.S create mode 100644 xen/arch/arm/arm64/debug-pl011.inc create mode 100644 xen/arch/arm/arm64/debug.S create mode 100644 xen/arch/arm/device.c create mode 100644 xen/arch/arm/platform.c create mode 100644 xen/arch/arm/platforms/exynos5.c create mode 100644 xen/drivers/char/arm-uart.c create mode 100644 xen/drivers/char/exynos4210-uart.c create mode 100644 xen/include/asm-arm/device.h create mode 100644 xen/include/asm-arm/exynos4210-uart.h create mode 100644 xen/include/asm-arm/platform.h create mode 100644 xen/include/asm-arm/platforms/exynos5.h -- Julien Grall _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |