summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--user/bsps/arm/xen.rst79
-rw-r--r--user/bsps/bsps-arm.rst1
2 files changed, 80 insertions, 0 deletions
diff --git a/user/bsps/arm/xen.rst b/user/bsps/arm/xen.rst
new file mode 100644
index 0000000..c7085ce
--- /dev/null
+++ b/user/bsps/arm/xen.rst
@@ -0,0 +1,79 @@
+.. SPDX-License-Identifier: CC-BY-SA-4.0
+
+.. Copyright (C) 2019 DornerWorks
+.. Copyright (C) 2019 Jeff Kubascik <jeff.kubascik@dornerworks.com>
+
+xen (Xen on ARM)
+================
+
+This BSP enables RTEMS to run as a guest virtual machine in AArch32 mode on the
+Xen hypervisor for ARMv8 platforms.
+
+Drivers:
+
+* Clock: ARMv7-AR Generic Timer
+
+* Console: Virtual PL011 device
+
+* Interrupt: GICv2
+
+BSP variants:
+
+* xen_virtual: completely virtualized guest with no dependence on underlying
+ hardware
+
+The xen_virtual BSP variant relies on standard Xen features, so it should be
+able to run on any ARMv8 platform.
+
+Xen allows for the passthrough of hardware peripherals to guest virtual
+machines. BSPs could be added in the future targeting specific hardware
+platforms and include the appropriate drivers.
+
+This BSP was tested with Xen running on the Xilinx Zynq UltraScale+ MPSoC using
+the Virtuosity distribution maintained by DornerWorks.
+
+Execution
+---------
+
+This procedure describes how to run the ticker sample application that should
+already be built with the BSP.
+
+The ``ticker.exe`` file can be found in the BSP build tree at:
+
+.. code-block:: none
+
+ arm-rtems5/c/xen_virtual/testsuites/samples/ticker.exe
+
+The ``ticker.exe`` elf file must be translated to a binary format.
+
+.. code-block:: none
+
+ arm-rtems5-objcopy -O binary ticker.exe ticker.bin
+
+Then place the ``ticker.bin`` file on the dom0 filesystem.
+
+From the dom0 console, create a configuration file ``ticker.cfg`` with the
+following contents.
+
+.. code-block:: none
+
+ name = "ticker"1G
+ kernel = "ticker.bin"
+ memory = 8
+ vcpus = 1
+ gic_version = "v2"
+ vuart = "sbsa_uart"
+
+Create the virtual machine and attach to the virtual vpl011 console.
+
+.. code-block:: none
+
+ xl create ticker.cfg && xl console -t vuart ticker
+
+To return back to the dom0 console, press both ``Ctrl`` and ``]`` on your
+keyboard.
+
+Additional Information
+----------------------
+
+* `Virtuosity distribution <https://dornerworks.com/xen/virtuosity>`_
diff --git a/user/bsps/bsps-arm.rst b/user/bsps/bsps-arm.rst
index 04f9e86..5401f67 100644
--- a/user/bsps/bsps-arm.rst
+++ b/user/bsps/bsps-arm.rst
@@ -25,5 +25,6 @@ arm (ARM)
.. include:: arm/smdk2410.rst
.. include:: arm/stm32f4.rst
.. include:: arm/tms570.rst
+.. include:: arm/xen.rst
.. include:: arm/xilinx-zynq.rst
.. include:: arm/xilinx-zynqmp.rst