xen/arm: Add support for the Odroid-XU board

Enterprise / Virtualization / Xen - Suriyan Ramasami [gmail.com] - 10 September 2014 08:38 UTC

The Odroid-XU from hardkernel is an Exynos 5410 based board.

This patch introduces a generic PLATFORM exynos5 which hopefully is applicable to the majority of exynos5 based SoCs. It currently has only been tested on an exynos5410 based (OdroidXU) board and hence that is the only board listed.

Previously only the Arndale board, based on an exynos5250 was supported. It was the only exynos based platform that was supported and it was called exynos5. It has now been renamed to exynos5250. The Arndale currently is a separate platform mostly cause I do not have one to test and for the most part the code path for that board is preserved. To be specific it varies from the generic implementation as follows:

1. exynos5250 based specific DT mapping for CHIPID and PWM region. I believe mainline kernel's DTS for the arndale has those mappings already in place. 2. exynos5250 based cpu up code. It appears that exynos5250 already has the secondary core powered up and in wfe and hence a cpu_up_send_sgi suffices. Here too, I believe that the generic code path might be acceptable.

Most of the code for the cpu bring up has been ported over from mainline linux, and hence should be generic enough for future exynos based SoCs. All reference to hardcoded memory locations have been avoided. They are now gleaned from the device tree.

The existing SMP bringup code has been broken since 4557c2292854 "xen: arm: rewrite start of day page table and cpu bring up" which moved the arndale CPU kick from secure world to non-secure world without updating it to match the new environment. Specifically the sysram address remained hardcoded to the S sysram address and not the NS sysram address, this is now correctly taken from DT. Secondly the offset within the sysram where the start address is written is 0x1c for NS bringup, rather than 0x0 as it is in S bringup.

0bf8dde xen/arm: Add support for the Odroid-XU board.
xen/arch/arm/platforms/exynos5.c | 197 +++++++++++++++++++++++++++++--
xen/include/asm-arm/platforms/exynos5.h | 3 -
2 files changed, 184 insertions(+), 16 deletions(-)

Upstream: xenbits.xen.org

  • Share