Re: [PATCH 7/8] KVM: assigned dev: Introduce io_device for MSI-X MMIO accessing

Avi Kivity
2010-10-21T09:47:23Z

On 10/21/2010 11:24 AM, Michael S. Tsirkin wrote:
> On Thu, Oct 21, 2010 at 11:27:30AM +0200, Avi Kivity wrote:
> > On 10/21/2010 08:46 AM, Sheng Yang wrote:
> > >> > + r = -EOPNOTSUPP;
> > >>
> > >> If the guest assigned the device to another guest, it allows the nested
> > >> guest to kill the non-nested guest. Need to exit in a graceful fashion.
> > >
> > >Don't understand... It wouldn't result in kill but return to QEmu/userspace.
> >
> > What would qemu do on EOPNOTSUPP? It has no way of knowing that
> > this was triggered by an unsupported msix access. What can it do?
> >
> > Best to just ignore the write.
> >
> > If you're worried about debugging, we can have a trace_kvm_discard()
> > tracepoint that logs the address and a type enum field that explains
> > why an access was discarded.
>
> The issue is that the same page is used for mask and entry programming.

Yeah. For that use the normal mmio exit_reason. I was referring to
misaligned writes.

I'm not happy with partial emulation, but I'm not happy either with yet
another interface to communicate the decoded MSI BAR writes to
userspace. Shall we just reprogram the irq routing table?

--
error compiling committee.c: too many arguments to function