On Sun, Jul 19, 2020 at 05:54:28PM +0200, Jaromír Doleček wrote:
> Hello,
> 
> I've implemented support for using MSI under NetBSD Dom0 with 4.11.
> This works well.
> 
> I have some trouble now with getting MSI-X work under Xen.
> PHYSDEVOP_map_pirq hypercall succeeds just as well as for MSI, but
> interrupts don't seem to get delivered.

How are you filling physdev_map_pirq for MSI-X?

You need to set entry_nr and table_base.

> MSI-X interrupts work with NetBSD for the same devices when booted
> natively, without Xen.
> 
> Can you give me some advice on where to start looking to get this
> working? Is there perhaps something special to be done within the PCI
> subsystem to allow Xen to take over?

Are you enabling the capability and unmasking the interrupt in the
MSI-X table?

IIRC the OS also needs to unmask the entry in the MSI-X table in MMIO
space, as done natively.

There are also the Xen debug keys which can be helpful, take a look at
'i' and 'M'.

Roger.

Reply via email to