From: Julien Grall <julien.grall@linaro.org>
To: xen-devel@lists.xen.org
Cc: patches@linaro.org, ian.campbell@citrix.com,
Julien Grall <julien.grall@linaro.org>,
Stefano.Stabellini@eu.citrix.com
Subject: [PATCH V2 00/33] Support multiple ARM platforms in Xen
Date: Wed, 8 May 2013 03:33:20 +0100 [thread overview]
Message-ID: <cover.1367979526.git.julien.grall@linaro.org> (raw)
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
next reply other threads:[~2013-05-08 2:33 UTC|newest]
Thread overview: 88+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-08 2:33 Julien Grall [this message]
2013-05-08 2:33 ` [PATCH V2 01/33] xen/arm: lr must be included in range [0-nr_lr( Julien Grall
2013-05-08 2:33 ` [PATCH V2 02/33] xen/arm: don't allow dom0 to access to vpl011 UART0 memory range Julien Grall
2013-05-08 2:33 ` [PATCH V2 03/33] xen/arm: Remove duplicated GICD_ICPIDR2 definition Julien Grall
2013-05-08 2:33 ` [PATCH V2 04/33] xen/arm: Bump early printk internal buffer to 512 Julien Grall
2013-05-08 13:00 ` Ian Campbell
2013-05-09 14:32 ` Julien Grall
2013-05-09 14:46 ` Ian Campbell
2013-05-08 2:33 ` [PATCH V2 05/33] xen/arm: Fix early_panic when EARLY_PRINTK is disabled Julien Grall
2013-05-08 2:33 ` [PATCH V2 06/33] xen/arm: Load dtb after dom0 kernel Julien Grall
2013-05-08 2:33 ` [PATCH V2 07/33] xen/arm: Create a hierarchical device tree Julien Grall
2013-05-08 13:11 ` Ian Campbell
2013-05-08 13:34 ` Julien Grall
2013-05-08 13:41 ` Ian Campbell
2013-05-08 15:15 ` Julien Grall
2013-05-08 15:34 ` Ian Campbell
2013-05-09 14:38 ` Julien Grall
2013-05-09 14:43 ` Ian Campbell
2013-05-09 14:55 ` Julien Grall
2013-05-08 13:52 ` Ian Campbell
2013-05-08 15:22 ` Julien Grall
2013-05-08 2:33 ` [PATCH V2 08/33] xen/arm: Add helpers to use the " Julien Grall
2013-05-08 13:18 ` Ian Campbell
2013-05-08 15:31 ` Julien Grall
2013-05-08 2:33 ` [PATCH V2 09/33] xen/arm: Add helpers to retrieve an address from " Julien Grall
2013-05-08 13:23 ` Ian Campbell
2013-05-08 15:32 ` Julien Grall
2013-05-08 2:33 ` [PATCH V2 10/33] xen/arm: Add helpers to retrieve an interrupt description " Julien Grall
2013-05-08 13:30 ` Ian Campbell
2013-05-08 2:33 ` [PATCH V2 11/33] xen/arm: Introduce gic_route_dt_irq Julien Grall
2013-05-08 13:31 ` Ian Campbell
2013-05-08 2:33 ` [PATCH V2 12/33] xen/arm: Introduce gic_irq_xlate Julien Grall
2013-05-08 13:32 ` Ian Campbell
2013-05-08 2:33 ` [PATCH V2 13/33] xen/arm: Introduce setup_dt_irq Julien Grall
2013-05-08 13:35 ` Ian Campbell
2013-05-08 2:33 ` [PATCH V2 14/33] xen/arm: Introduce request_dt_irq Julien Grall
2013-05-08 13:41 ` Ian Campbell
2013-05-08 2:33 ` [PATCH V2 15/33] xen/arm: Use hierarchical device tree to retrieve GIC information Julien Grall
2013-05-08 13:46 ` Ian Campbell
2013-05-08 15:49 ` Julien Grall
2013-05-08 15:56 ` Ian Campbell
2013-05-08 2:33 ` [PATCH V2 16/33] xen/arm: Retrieve timer interrupts from the device tree Julien Grall
2013-05-08 13:50 ` Ian Campbell
2013-05-08 15:53 ` Julien Grall
2013-05-08 2:33 ` [PATCH V2 17/33] xen/arm: Don't hardcode VGIC informations Julien Grall
2013-05-08 2:33 ` [PATCH V2 18/33] xen/arm: Introduce a generic way to use a device from the device tree Julien Grall
2013-05-08 13:52 ` Ian Campbell
2013-05-08 2:33 ` [PATCH V2 19/33] xen/arm: New callback in uart_driver to get device tree interrupt structure Julien Grall
2013-05-08 2:33 ` [PATCH V2 20/33] xen/arm: Add generic UART to get the device in the device tree Julien Grall
2013-05-08 14:01 ` Ian Campbell
2013-05-08 15:58 ` Julien Grall
2013-05-08 16:41 ` Ian Campbell
2013-05-08 2:33 ` [PATCH V2 21/33] xen/arm: Use device tree API in pl011 UART driver Julien Grall
2013-05-08 15:17 ` Ian Campbell
2013-05-08 16:23 ` Julien Grall
2013-05-08 16:43 ` Ian Campbell
2013-05-08 16:55 ` Julien Grall
2013-05-08 2:33 ` [PATCH V2 22/33] xen/arm: Use the device tree to map the address range and IRQ to dom0 Julien Grall
2013-05-08 15:28 ` Ian Campbell
2013-05-08 16:59 ` Julien Grall
2013-05-08 2:33 ` [PATCH V2 23/33] xen/arm: Allow Xen to run on multiple platform without recompilation Julien Grall
2013-05-08 15:32 ` Ian Campbell
2013-05-08 15:35 ` Ian Campbell
2013-05-08 16:32 ` Julien Grall
2013-05-08 16:38 ` Julien Grall
2013-05-08 2:33 ` [PATCH V2 24/33] xen/arm: WORKAROUND 1:1 memory mapping for dom0 Julien Grall
2013-05-08 15:54 ` Ian Campbell
2013-05-08 2:33 ` [PATCH V2 25/33] xen/arm: Add versatile express platform Julien Grall
2013-05-08 2:33 ` [PATCH V2 26/33] xen/arm: remove request_irq Julien Grall
2013-05-09 9:59 ` Ian Campbell
2013-05-08 2:33 ` [PATCH V2 27/33] xen/arm: remove setup_irq Julien Grall
2013-05-09 10:00 ` Ian Campbell
2013-05-08 2:33 ` [PATCH V2 28/33] xen/arm: Don't use pl011 UART by default for early printk Julien Grall
2013-05-09 10:10 ` Ian Campbell
2013-05-09 13:14 ` Julien Grall
2013-05-08 2:33 ` [PATCH V2 29/33] xen/arm: Add exynos 4210 UART support Julien Grall
2013-05-09 10:13 ` Ian Campbell
2013-05-09 18:33 ` Julien Grall
2013-05-08 2:33 ` [PATCH V2 30/33] xen/arm: Add Exynos 4210 UART support for early printk Julien Grall
2013-05-09 10:16 ` Ian Campbell
2013-05-08 2:33 ` [PATCH V2 31/33] xen/arm: Add platform specific code for the exynos5 Julien Grall
2013-05-09 10:19 ` Ian Campbell
2013-05-09 13:03 ` Julien Grall
2013-05-08 2:33 ` [PATCH V2 32/33] xen/arm: WORKAROUND Support kick cpus and switch to hypervisor " Julien Grall
2013-05-09 10:24 ` Ian Campbell
2013-05-08 2:33 ` [PATCH V2 33/33] xen/arm64: Remove hardcoded value for gic in assembly code Julien Grall
2013-05-08 7:03 ` [PATCH V2 00/33] Support multiple ARM platforms in Xen Gihun Jung
2013-05-08 11:01 ` Julien Grall
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1367979526.git.julien.grall@linaro.org \
--to=julien.grall@linaro.org \
--cc=Stefano.Stabellini@eu.citrix.com \
--cc=ian.campbell@citrix.com \
--cc=patches@linaro.org \
--cc=xen-devel@lists.xen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.