On 2018-04-11 19:40, Giovani Gracioli wrote: > 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?
Possibly. As this is code of Claudio and his colleagues, he may answer this better. Jan > >> 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 > -- 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.
