Skip to content
  • Yanqin Wei's avatar
    components/primary_compute: Virtual networking over RPMsg in the DomU · ceaa218b
    Yanqin Wei authored
    
    
    This patch enables the virtual networking over RPMsg communication
    between Safety Island and the DomU guest of Primary Compute.
    
    The remoteproc driver is changed to use the device memory region
    because Xen does not support reserved memory passthrough. But
    unaligned access to the device memory causes exception in the EL2. A
    Xen patch is added to introduce 'xen,reg-normal-memory' tag. This
    tag indicates that Xen needs to configure the device regions to
    normal memory.
    
    In the Linux kernel, virtio vring is forced to enable DMA operations
    in the Xen domains. It causes incorrect DMA page mapping because DMA
    is not used for armv8r64_remoteproc-based virtio RPMsg. Add a Linux
    kernel patch to fix it by checking the device type before forcing
    virtio device to enable DMA operations.
    
    In the Xen device tree, two tags are added to remoteproc node. One
    for device passthrough, another for indicating that the device region
    is normal memory. In the Xen tool configuration, the I/O memory pages
    are configured for the remoteproc device passthrough. The remoteproc
    driver parses the 'reg' and 'reg-name' parameters to map the shared
    memory regions in the guest.
    
    The virtual networking in the DomU follows the configuration in the
    baremetal linux case, which is defined in init-ifupdown-extras.inc.
    
    As a testing application in the intermedium stage, the ipm_mhuv2
    application is removed from Safety Island component.
    
    Issue-Id: SCM-5480
    Signed-off-by: default avatarYanqin Wei <Yanqin.Wei@arm.com>
    Change-Id: Ife07a16c2aa42671fb291189c66e4173c0e6ec39
    ceaa218b