xen/MSI-X: latch MSI-X table writes
commitf0ada3608ac13cf13f4e2955ed348dc93a38ac45
authorJan Beulich <JBeulich@suse.com>
Wed, 9 Dec 2015 15:45:29 +0000 (9 15:45 +0000)
committerStefano Stabellini <stefano.stabellini@eu.citrix.com>
Wed, 9 Dec 2015 15:45:29 +0000 (9 15:45 +0000)
treed1db90ac2ee96fbd728837e2eab97f7fd9885524
parentc3626ca7df027dabf0568284360a23faf18f0884
xen/MSI-X: latch MSI-X table writes

The remaining log message in pci_msix_write() is wrong, as there guest
behavior may only appear to be wrong: For one, the old logic didn't
take the mask-all bit into account. And then this shouldn't depend on
host device state (i.e. the host may have masked the entry without the
guest having done so). Plus these writes shouldn't be dropped even when
an entry gets unmasked. Instead, if they can't be made take effect
right away, they should take effect on the next unmasking or enabling
operation - the specification explicitly describes such caching
behavior.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Reviewed-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
hw/xen/xen_pt.h
hw/xen/xen_pt_config_init.c
hw/xen/xen_pt_msi.c