Here is the output of the unhandled data read: Unhandled data read at 0xfc100000(2)
FATAL: unhandled trap (exception class 0x24) Cell state before exception: pc: 0000000000001828 lr: 00000000000015f0 spsr: 60000005 EL1 sp: 0000000000003f30 esr: 24 1 1400006 x0: 00000000fc100000 x1: 0000000000000000 x2: 0000000000000002 x3: 00000000fc000000 x4: 0000000000000000 x5: 0000000000000000 x6: 0000000000001000 x7: 0000000000000000 x8: 0000000000000000 x9: 0000000000000000 x10: 0000000000000000 x11: 0000000000000000 x12: 0000000000000000 x13: 0000000000000000 x14: 0000000000000000 x15: 0000000000000000 x16: 0000000000000000 x17: 0000000000000000 x18: 0000000000000000 x19: 0000000000001000 x20: 000000000000ffff x21: 0000000000001af4 x22: 0000000000001110 x23: 0000000000001000 x24: 0000000000002660 x25: 0000000000000000 x26: 0000000000000000 x27: 0000000000000000 x28: 0000000000000000 x29: 0000000000000000 Parking CPU 3 (Cell: "gic-demo-ivshmem") Am I missing something in the configuration? > 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 [email protected]. For more options, visit https://groups.google.com/d/optout.
