|
From: | Mark Cave-Ayland |
Subject: | Re: [PATCH 5/6] hw/pci-host/sabre: Report IOMMU address range as unimplemented |
Date: | Mon, 19 Oct 2020 22:57:09 +0100 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.3.1 |
On 12/10/2020 18:09, Philippe Mathieu-Daudé wrote:
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> --- hw/pci-host/sabre.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hw/pci-host/sabre.c b/hw/pci-host/sabre.c index 4412e23131c..67699ac9058 100644 --- a/hw/pci-host/sabre.c +++ b/hw/pci-host/sabre.c @@ -122,6 +122,7 @@ static void sabre_config_write(void *opaque, hwaddr addr,switch (addr) {case 0x30 ... 0x4f: /* DMA error registers */ + case 0x200 ... 0x21f: /* IOMMU registers */ qemu_log_mask(LOG_UNIMP, "%s: Register 0x%02" HWADDR_PRIX " not implemented\n", __func__, addr); @@ -201,6 +202,7 @@ static uint64_t sabre_config_read(void *opaque,switch (addr) {case 0x30 ... 0x4f: /* DMA error registers */ + case 0x200 ... 0x21f: /* IOMMU registers */ qemu_log_mask(LOG_UNIMP, "%s: Register 0x%02" HWADDR_PRIX " not implemented\n", __func__, addr);
In theory this should never happen since a reference to the IOMMU should always be set using an object property link (i.e. it is a developer error rather than an unimplemented error) and its memory region overlaps this space within the PCI host bridge.
Rather than add these logging statemants and/or failing if the property is not set, I think now it may be possible to simply embed the IOMMU device within sabre itself using the updated QOM APIs. I can take a look to see if this approach will work later in the week.
ATB, Mark.
[Prev in Thread] | Current Thread | [Next in Thread] |