I added .vpci_irq_base = 136-32 to the bare-metal cell config (.cell) and now I 
can see the interrupts generated by uio_send through the output of cat 
/proc/interrupts:

           CPU0       CPU1       CPU2
 38:         38          0          0     GICv2 136 Edge      uio_ivshmem, 
uio_ivshmem

When uio_send writes, the interrupt handler of the uio driver is called twice 
per write (why??).

.vpci_irq_base = 136-32 has the same value as defined in the root-cell. 

I added some prints to the 
hypervisor/arch/arm-common/ivshmem.c:arch_ivshmem_trigger_interrupt and 
hypervisor/arch/arm-common/irqchip.c as described in another thread 
(https://www.mail-archive.com/[email protected]/msg02605.html), 
but I can't see any output.

So, something is still not well configured.

The bare-metal inmate outputs the following when it starts:

IVSHMEM: Found 1af4:1110 at 00:00.0
IVSHMEM ERROR: device is not MSI-X capable
IVSHMEM: shmem is at 0x0000000800400000, shmemsz is 0x0000000000100000
IVSHMEM: bar0 is at 0x00000000fc100000
IVSHMEM: mapped shmem and bars, got position 0x0000000000000001 - bdf = 0
IVSHMEM: memcpy(0x0000000800400000, Hello from bare-metal ivshmem-demo 
inmate!!!  , 64)
IVSHMEM: 0x0000000800400000:Hello from bare-metal ivshmem-demo inmate!!!  
IVSHMEM: Enabled IRQ:0x88
IVSHMEM: Enabling IVSHMEM_IRQs registers = 0x00000000fc100000
IVSHMEM: Done setting up...
IVSHMEM: Hello from bare-metal ivshmem-demo inmate!!!  
IVSHMEM: sending interrupt.
IVSHMEM: sending IRQ - addr = 0x00000000fc10000c
IVSHMEM: waiting for interrupt.

I'm not sure about the IVSHMEM_IRQ number, that's why I inserted the prints.

Is there any other parameter that must be add to the bare-metal cell to allow 
it to handle ivshmem interrupts?

Giovani

> 
> Both values aren't evaluated by the current Jailhouse implementation
> (see hypervisor/ivshmem.c, ivshmem_register_mmio, IVSHMEM_REG_DBELL
> handling). There is only one vector per device (currently), and that is
> send to the SPI configured in the peer cell's config.
> 
> Maybe there is a mismatch in what is configured and what the device tree
> of that cell tells the Linux guest.
> 
> Jan

-- 
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