Hi Jan,

Thanks for the reply. I am using the uio driver and when I load it, the pci 
devices become enabled. I suppose this part is ok:

lspci -v after the driver is loaded:

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

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

I got the code available here (https://github.com/evidence/linux-jailhouse-tx1) 
that has an ivshmem demo on arm. I basically copied and pasted the 
pci_read_config and pci_write_config functions in the 
inmates/lib/arm-common/pci.c (had to change some makefiles to compile the code 
because of the pci.c file).

However, I am getting an Unhandled data read at 0xfc100000, which is the 
address of the 00:00.0 device, during the execution of the function 
pci_find_device().

If a decrease the while value test in the pci_find_device() function (bdf < 
0x10000), it does not find any PCI device (obviously) and there is no error.

start_bdf is initially defined as 0xfc000000, as configured in the root cell 
(.pci_mmconfig_base = 0xfc000000).

Any suggestion?

Giovani

> On 2018-04-10 16:39, Giovani Gracioli wrote:
> > Updating:
> > 
> > I added 
> > 
> > .num_msix_vectors = 1,
> > .iommu = 1, 
> > 
> > to the root cell .pci_devices config, wrote a simple linux program to write 
> > to the shared memory (0x800500000) and a simple inmate cell code to read 
> > from the shared memory. It was able to read the values that were written.
> > 
> > The next step is how to generate interrupts among the cells. I tried to use 
> > the pci functions (the same used in the ivshmem-demo) on the arm64 but got 
> > an error. The lib/pci.c is not compiled by arm64.
> > 
> > How should I discover the pci device and send/receive interrupts on arm64?
> > 
> 
> ivshmem demo inmate for ARM/ARM64 is still work in progress. Henning, is
> there any intermediate step we can point to?
> 
> You could start your tests between two Linux cells, meanwhile, using the
> uio driver.
> 
> Jan
> 
> -- 
> 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 jailhouse-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to