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 jailhouse-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to