Xen ARM with Virtualization Extensions/Salvator-XS: Difference between revisions
Otyshchenko (talk | contribs) |
Otyshchenko (talk | contribs) No edit summary |
||
Line 1: | Line 1: | ||
== (NOT COMPLETE! in the process of creating) == |
== (NOT COMPLETE! in the process of creating) == |
||
= General information = |
|||
This Wiki describes how to run Xen on Renesas Salvator-XS board with R-Car H3 ES3.0 SoC. |
This Wiki describes how to run Xen on Renesas Salvator-XS board with R-Car H3 ES3.0 SoC. |
||
Line 12: | Line 12: | ||
Due to the fact that Renesas provides their reference software in form of Yocto build instruction, it is provided additional steps in order to build and run system with Xen and Dom0. This Wiki relies on Renesas Yocto BSP [https://elinux.org/R-Car/Boards/Yocto-Gen3/v5.1.0 v5.1.0] |
Due to the fact that Renesas provides their reference software in form of Yocto build instruction, it is provided additional steps in order to build and run system with Xen and Dom0. This Wiki relies on Renesas Yocto BSP [https://elinux.org/R-Car/Boards/Yocto-Gen3/v5.1.0 v5.1.0] |
||
= BSP build = |
|||
* Follow the build [https://elinux.org/R-Car/Boards/Yocto-Gen3/v5.1.0 instruction] in '''Manual steps''' mode up to the build step #4, including it. |
* Follow the build [https://elinux.org/R-Car/Boards/Yocto-Gen3/v5.1.0 instruction] in '''Manual steps''' mode up to the build step #4, including it. |
||
* Clone [https://github.com/xen-troops/meta-renesas meta-renesas] layer from xen-troops and cherry-pick last 4 patches from branch [https://github.com/xen-troops/meta-renesas/commits/v5.1.0_xen v5.1.0_xen], this is the minimum set of patches needed to run system with Xen and Dom0: |
* Clone [https://github.com/xen-troops/meta-renesas meta-renesas] layer from xen-troops and cherry-pick last 4 patches from branch [https://github.com/xen-troops/meta-renesas/commits/v5.1.0_xen v5.1.0_xen], this is the minimum set of patches needed to run system with Xen and Dom0: |
Revision as of 12:49, 31 July 2021
(NOT COMPLETE! in the process of creating)
General information
This Wiki describes how to run Xen on Renesas Salvator-XS board with R-Car H3 ES3.0 SoC.
Main information how to deal with Salvator-XS board located at:
https://elinux.org/R-Car/Boards/Salvator-XS
Please note, although Wiki only covers Salvator-XS + H3 ES3.0 configuration, the R-Car M3 ES3.0 (M3-W+) SoC is also supported. It is possible run Xen on other "board & SoC" configurations with updating platform specific parts (device-tree, etc), the hypervisor part will remain the same. For example, the following configurations will work as well:
https://elinux.org/R-Car/Boards/M3SK https://elinux.org/R-Car/Boards/H3SK
Due to the fact that Renesas provides their reference software in form of Yocto build instruction, it is provided additional steps in order to build and run system with Xen and Dom0. This Wiki relies on Renesas Yocto BSP v5.1.0
BSP build
- Follow the build instruction in Manual steps mode up to the build step #4, including it.
- Clone meta-renesas layer from xen-troops and cherry-pick last 4 patches from branch v5.1.0_xen, this is the minimum set of patches needed to run system with Xen and Dom0:
cd ${WORK}/meta-renesas git remote add troops git@github.com:xen-troops/meta-renesas.git git fetch troops git cherry-pick f806ddaf40c465378c483004359404a9f141dc98^..405b9b98e5831c16e6b968a2cddce0a5fdac1856
- Consider changes to r8a77951-salvator-xs-xen.dts added by one of the previous patches in case you want system configuration changes (i.e. NFS server ip, Dom0 root option, IPMMU settings, Xen command line, etc)
- Skip build steps #5, #6 and continue from build step #7 till the end
- In build step #8 change the path to local.conf file:
cp $WORK/meta-renesas/meta-rcar-gen3/docs/sample/conf/salvator-x/poky-gcc/bsp/*.conf ./conf/ cd $WORK/build cp conf/local-wayland.conf conf/local.conf
Xen build
Get Xen sources
There is no need in extra patches here to bring up system with Xen and Dom0, the mainline Xen works out of the box. Clone sources from the upstream and checkout on commit 73c932d0ea43ddf904db9429811788480c4cb816 “tools/libxc: use uint32_t for pirq in xc_domain_irq_permission”, likely the more recent version will work as well, but the proposed commit is known to work:
git clone git://xenbits.xenproject.org/xen.git cd xen git checkout 73c932d0ea43ddf904db9429811788480c4cb816 -b v4.16_xen