[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Dom0less + Argo enablement
Hi all, This email is for anybody interested in using Argo with Dom0less setups for domain-to-domain communications. Argo is a secure VM-to-VM communication mechanism based on hypercalls [1]. It is a good fit for Dom0less setups because Argo is lightweight and doesn't make use of PV frontends, backends, and xenstore. Thus, it is easier to enable in simple Dom0less setups where VMs are booting in parallel, backends cannot be assumed to be already up and running, and the goal is just to get two VMs to talk to each others. Argo makes use of event channels for notifications. Dom0less VMs don't have event channels support yet, although it is work-in-progress. The attached patch for Linux (not ready for upstreaming) enables the necessary event channels initialization. In addition, you also need to add the following to the DomU device tree (see xen/arch/arm/domain_build.c:prepare_dtb_domU): event-channel { compatible = "xen,xen-4.15", "xen,xen"; interrupts = <0x01 0x0f 0xf08>; interrupt-parent = <0xfde8>; }; The final pieces to enable Argo are: - CONFIG_ARGO in the Xen build - the Argo Linux kernel module https://github.com/OpenXT/linux-xen-argo - the Yocto recipe was based on https://github.com/dozylynx/meta-argo-linux - pass dom0less_domU to the domU kernel command line Then you are good to go for using Argo in your Dom0less VMs, e.g.: >From receiver domain: streamTest -domid 5 -port 8022 -file test.txt -receive >From sender domain: streamTest -domid 4 -port 8022 -file test.txt -send >-connect Many thanks to Alec Kwapis from DornerWorks for all the information and the patch! Cheers, Stefano [1] https://wiki.xenproject.org/wiki/Argo:_Hypervisor-Mediated_Exchange_(HMX)_for_Xen Attachment:
0001-Perform-Xen-Initialization-in-Dom0less.patch
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |