<div dir="ltr"><div>I fixed a few things with this and pushed it. </div><div><br></div><div>+ Needed to be included in bsps-arm.rst to show up in the doc<br></div><div>+ Had some incorrect markup. <br></div><div><br></div><div>Thanks. If it needs more, just send another patch.</div><div><br></div><div>Happy holidays!</div><div><br></div><div>--joel</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Dec 20, 2019 at 7:34 AM Jeff Kubascik <<a href="mailto:jeff.kubascik@dornerworks.com">jeff.kubascik@dornerworks.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello,<br>
<br>
On 12/4/2019 10:43 AM, Hesham Almatary wrote:<br>
> Thanks Jeff!<br>
> <br>
> <br>
> On Wed, 4 Dec 2019 at 14:53, Jeff Kubascik<br>
> <<a href="mailto:jeff.kubascik@dornerworks.com" target="_blank">jeff.kubascik@dornerworks.com</a>> wrote:<br>
>><br>
>> Add a README for the new xen bsp.<br>
>> ---<br>
>> user/bsps/arm/xen.rst | 79 +++++++++++++++++++++++++++++++++++++++++++<br>
>> 1 file changed, 79 insertions(+)<br>
>> create mode 100644 user/bsps/arm/xen.rst<br>
>><br>
>> diff --git a/user/bsps/arm/xen.rst b/user/bsps/arm/xen.rst<br>
>> new file mode 100644<br>
>> index 0000000..e499f5d<br>
>> --- /dev/null<br>
>> +++ b/user/bsps/arm/xen.rst<br>
>> @@ -0,0 +1,79 @@<br>
>> +.. SPDX-License-Identifier: CC-BY-SA-4.0<br>
>> +<br>
>> +.. Copyright (C) 2019 DornerWorks<br>
>> +.. Copyright (C) 2019 Jeff Kubascik <<a href="mailto:jeff.kubascik@dornerworks.com" target="_blank">jeff.kubascik@dornerworks.com</a>><br>
>> +<br>
>> +xen (Xen on ARM)<br>
>> +================<br>
>> +<br>
>> +This BSP enables RTEMS to run as a guest virtual machine in AArch32 mode on the<br>
>> +Xen hypervisor for ARMv8 platforms.<br>
>> +<br>
>> +Drivers:<br>
>> +<br>
>> +* Clock: ARMv7-AR Generic Timer<br>
>> +<br>
>> +* Console: Virtual PL011 device<br>
>> +<br>
>> +* Interrupt: GICv2<br>
>> +<br>
>> +BSP variants:<br>
>> +<br>
>> +* xen_virtual: completely virtualized guest with no dependence on underlying<br>
>> + hardware<br>
>> +<br>
>> +The xen_virtual BSP variant relies on standard Xen features, so it should be<br>
>> +able to run on any ARMv8 platform.<br>
>> +<br>
>> +Xen allows for the passthrough of hardware peripherals to guest virtual<br>
>> +machines. BSPs could be added in the future targeting specific hardware<br>
>> +platforms and include the appropriate drivers.<br>
>> +<br>
> Does RTEMS itself get rescheduled by Xen/Dom0? If yes, how might that<br>
> affect the realtime requirements?<br>
<br>
Apologies, I missed this comment when I originally read your response.<br>
<br>
The answer is it depends on how you configure Xen. For anything with hard<br>
realtime requirements, you would either (a) use the null scheduler, so that Xen<br>
will never switch the guest out of context or (b) use the ARINC653 scheduler to<br>
set up deterministic time-slice scheduling of the guests.<br>
<br>
>> +This BSP was tested with Xen running on the Xilinx Zynq UltraScale+ MPSoC using<br>
>> +the Virtuosity distribution maintained by DornerWorks.<br>
>> +<br>
>> +Execution<br>
>> +---------<br>
>> +<br>
>> +This procedure describes how to run the ticker sample application that should<br>
>> +already be built with the BSP.<br>
>> +<br>
>> +The ``ticker.exe`` file can be found in the BSP build tree at:<br>
>> +<br>
>> +.. code-block:: none<br>
>> +<br>
>> + arm-rtems5/c/xen_virtual/testsuites/samples/ticker.exe<br>
>> +<br>
>> +The ``ticker.exe`` elf file must be translated to a binary format.<br>
>> +<br>
>> +.. code-block:: none<br>
>> +<br>
>> + arm-rtems5-objcopy -O binary ticker.exe ticker.bin<br>
>> +<br>
>> +Then place the ``ticker.bin`` file on the dom0 filesystem.<br>
>> +<br>
>> +From the dom0 console, create a configuration file ``ticker.cfg`` with the<br>
>> +following contents.<br>
>> +<br>
>> +..code-block:: none<br>
>> +<br>
>> + name = "ticker"<br>
>> + kernel = "ticker.bin"<br>
>> + memory = 8<br>
>> + vcpus = 1<br>
>> + gic_version = "v2"<br>
>> + vuart = "sbsa_uart"<br>
>> +<br>
>> +Create the virtual machine and attach to the virtual vpl011 console.<br>
>> +<br>
>> +..code-block:: none<br>
>> +<br>
>> + xl create ticker.cfg && xl console -t vuart ticker<br>
>> +<br>
>> +To return back to the dom0 console, press both ``Ctrl`` and ``]`` on your<br>
>> +keyboard.<br>
>> +<br>
>> +Additional Information<br>
>> +----------------------<br>
>> +<br>
>> +* `Virtuosity distribution <<a href="https://dornerworks.com/xen/virtuosity" rel="noreferrer" target="_blank">https://dornerworks.com/xen/virtuosity</a>>`_<br>
>> --<br>
>> 2.17.1<br>
>><br>
>> _______________________________________________<br>
>> devel mailing list<br>
>> <a href="mailto:devel@rtems.org" target="_blank">devel@rtems.org</a><br>
>> <a href="http://lists.rtems.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/devel</a><br>
<br>
I took a look at the rtems-docs repository today and didn't see this patch.<br>
Other than the missed response above, is there anything else that needs to be<br>
done here?<br>
<br>
Sincerely,<br>
Jeff Kubascik<br>
_______________________________________________<br>
devel mailing list<br>
<a href="mailto:devel@rtems.org" target="_blank">devel@rtems.org</a><br>
<a href="http://lists.rtems.org/mailman/listinfo/devel" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/devel</a><br>
</blockquote></div></div>