mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 00:03:54 -06:00
hw/pci/msix: Warn on PBA writes
Of the MSI-X PBA pending bits, the PCI Local Bus Specification says: Software should never write, and should only read Pending Bits. If software writes to Pending Bits, the result is undefined. Log a GUEST_ERROR message if the PBA is written to by software. Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com> Cc: Dmitry Fleytman <dmitry.fleytman@gmail.com> Cc: Sriram Yagnaraman <sriram.yagnaraman@ericsson.com> Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Message-Id: <20250117172842.406338-2-npiggin@gmail.com> Reviewed-by: Phil Dennis-Jordan <phil@philjordan.eu> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
9e837c961a
commit
44ed44aefe
1 changed files with 9 additions and 0 deletions
|
@ -15,6 +15,7 @@
|
|||
*/
|
||||
|
||||
#include "qemu/osdep.h"
|
||||
#include "qemu/log.h"
|
||||
#include "hw/pci/msi.h"
|
||||
#include "hw/pci/msix.h"
|
||||
#include "hw/pci/pci.h"
|
||||
|
@ -260,6 +261,14 @@ static uint64_t msix_pba_mmio_read(void *opaque, hwaddr addr,
|
|||
static void msix_pba_mmio_write(void *opaque, hwaddr addr,
|
||||
uint64_t val, unsigned size)
|
||||
{
|
||||
PCIDevice *dev = opaque;
|
||||
|
||||
qemu_log_mask(LOG_GUEST_ERROR,
|
||||
"PCI [%s:%02x:%02x.%x] attempt to write to MSI-X "
|
||||
"PBA at 0x%" FMT_PCIBUS ", ignoring.\n",
|
||||
pci_root_bus_path(dev), pci_dev_bus_num(dev),
|
||||
PCI_SLOT(dev->devfn), PCI_FUNC(dev->devfn),
|
||||
addr);
|
||||
}
|
||||
|
||||
static const MemoryRegionOps msix_pba_mmio_ops = {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue