[PATCH v2 0/3] bsp/xen: support for Xen hypervisor

Jeff Kubascik jeff.kubascik at dornerworks.com
Wed Dec 4 14:29:30 UTC 2019


This patch set adds a new board support package to enable RTEMS to run as a
guest virtual machine in AArch32 mode on the Xen hypervisor for ARMv8 platforms.
This required two changes to the shared arm code: add a zImage boot header to
start.S and umasking of the generic timer in the ISR.

This BSP was tested using the Virtuosity distro (maintained by Dornerworks)
running on a Xilinx ZCU102 development board.

I would like to implement a simulator for this platform to enable automated
testing with mainline Xen, but it is currently a work-in-progress.

Changes in v2:
- Squashed "bsp/xen: Create empty template BSP for Xen" commit
- Removed xen.inc and instead placed contents into xen_virtual.cfg
- Added "#ifdef ARM_GENERIC_TIMER_UNMASK_AT_TICK" to the workaround in
  clock-generic-timer.c
- Removed bsp README, will submit as a separate patch for the rtems-docs repo
- Changed local label to ".Lafter_header" in start.S

Jeff Kubascik (3):
  bsps/arm: Add zImage boot header
  bsps/arm: Unmask generic timer in interrupt handler
  bsp/xen: Create BSP

 bsps/arm/shared/clock/clock-generic-timer.c |  3 +
 bsps/arm/shared/start/start.S               | 11 +++
 bsps/arm/xen/config/xen_virtual.cfg         | 14 ++++
 bsps/arm/xen/console/console.c              | 63 +++++++++++++++
 bsps/arm/xen/headers.am                     | 10 +++
 bsps/arm/xen/include/bsp.h                  | 86 +++++++++++++++++++++
 bsps/arm/xen/include/bsp/irq.h              | 62 +++++++++++++++
 bsps/arm/xen/include/tm27.h                 | 38 +++++++++
 bsps/arm/xen/start/bsp_specs                |  9 +++
 bsps/arm/xen/start/bspstart.c               | 60 ++++++++++++++
 bsps/arm/xen/start/bspstarthooks.c          | 44 +++++++++++
 bsps/arm/xen/start/bspstartmmu.c            | 73 +++++++++++++++++
 bsps/arm/xen/start/linkcmds.in              | 62 +++++++++++++++
 c/src/lib/libbsp/arm/acinclude.m4           |  2 +
 c/src/lib/libbsp/arm/xen/Makefile.am        | 48 ++++++++++++
 c/src/lib/libbsp/arm/xen/configure.ac       | 59 ++++++++++++++
 16 files changed, 644 insertions(+)
 create mode 100644 bsps/arm/xen/config/xen_virtual.cfg
 create mode 100644 bsps/arm/xen/console/console.c
 create mode 100644 bsps/arm/xen/headers.am
 create mode 100644 bsps/arm/xen/include/bsp.h
 create mode 100644 bsps/arm/xen/include/bsp/irq.h
 create mode 100644 bsps/arm/xen/include/tm27.h
 create mode 100644 bsps/arm/xen/start/bsp_specs
 create mode 100644 bsps/arm/xen/start/bspstart.c
 create mode 100644 bsps/arm/xen/start/bspstarthooks.c
 create mode 100644 bsps/arm/xen/start/bspstartmmu.c
 create mode 100644 bsps/arm/xen/start/linkcmds.in
 create mode 100644 c/src/lib/libbsp/arm/xen/Makefile.am
 create mode 100644 c/src/lib/libbsp/arm/xen/configure.ac

-- 
2.17.1



More information about the devel mailing list