[PATCH] bsp/xen: Create README

Jeff Kubascik jeff.kubascik at dornerworks.com
Fri Dec 20 13:35:39 UTC 2019


Hello,

On 12/4/2019 10:43 AM, Hesham Almatary wrote:
> Thanks Jeff!
> 
> 
> On Wed, 4 Dec 2019 at 14:53, Jeff Kubascik
> <jeff.kubascik at dornerworks.com> wrote:
>>
>> Add a README for the new xen bsp.
>> ---
>>  user/bsps/arm/xen.rst | 79 +++++++++++++++++++++++++++++++++++++++++++
>>  1 file changed, 79 insertions(+)
>>  create mode 100644 user/bsps/arm/xen.rst
>>
>> diff --git a/user/bsps/arm/xen.rst b/user/bsps/arm/xen.rst
>> new file mode 100644
>> index 0000000..e499f5d
>> --- /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 at 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.
>> +
> Does RTEMS itself get rescheduled by Xen/Dom0? If yes, how might that
> affect the realtime requirements?

Apologies, I missed this comment when I originally read your response.

The answer is it depends on how you configure Xen. For anything with hard
realtime requirements, you would either (a) use the null scheduler, so that Xen
will never switch the guest out of context or (b) use the ARINC653 scheduler to
set up deterministic time-slice scheduling of the guests.

>> +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"
>> +    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>`_
>> --
>> 2.17.1
>>
>> _______________________________________________
>> devel mailing list
>> devel at rtems.org
>> http://lists.rtems.org/mailman/listinfo/devel

I took a look at the rtems-docs repository today and didn't see this patch.
Other than the missed response above, is there anything else that needs to be
done here?

Sincerely,
Jeff Kubascik


More information about the devel mailing list