On 20.03.19 23:24, João Reis wrote:
Hello everyone,

Lately i've been trying to share memory between two cells using uio_ivshmem 
driver (https://github.com/henning-schild-work/ivshmem-guest-code), as it has 
been recommended here in multiple threads, in Ultrascale+ (arm64).

So firstly, i am using ivshmem-demo.bin to run on non-root cell and test 
uio_ivshmem driver. I am using a customized ivshmem-demo.c from another user 
that tweaked ivshmem-demo to work in arm64. When debugging this source file 
(using printks), i've noticed that the code stops running when mmio_read16() is 
called (the printks stop there).

mmio_read16 for accessing the MMCFG space? At least this is how your code looks like.

Note that upstream inmate/lib for ARM does not support PCI yet, thus does not map that region. So you may simply trigger a guest-side page fault. Or are you using a different code base which does that?

Jan


Any ideas of what might be the problem??

I attach the log file of the session where i issue the commands to enable 
ivshmem and the cells to share memory.

(NOTE: Some additional information: PCI_CFG_BASE=0xfc000000

lspci -v
00:00.0 Unassigned class [ff80]: Red Hat, Inc Inter-VM shared memory
        Subsystem: Red Hat, Inc Inter-VM shared memory
        Flags: bus master, fast devsel, latency 0, IRQ 55
        Memory at fc100000 (64-bit, non-prefetchable) [size=256]
        Kernel driver in use: uio_ivshmem

cat /proc/interrupts
55:          0          0     GICv2 136 Edge      uio_ivshmem

cat /proc/iomem
fc000000-fc0fffff : PCI ECAM
fc100000-fc101fff : //pci@0
   fc100000-fc1000ff : 0000:00:00.0
     fc100000-fc1000ff : ivshmem

)


--
Siemens AG, Corporate Technology, CT RDA IOT SES-DE
Corporate Competence Center Embedded Linux

--
You received this message because you are subscribed to the Google Groups 
"Jailhouse" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to