[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH for-5.0 v11 09/20] virtio-iommu: Implement fault reporting
From: |
Jean-Philippe Brucker |
Subject: |
Re: [PATCH for-5.0 v11 09/20] virtio-iommu: Implement fault reporting |
Date: |
Tue, 10 Dec 2019 17:44:28 +0100 |
On Fri, Nov 22, 2019 at 07:29:32PM +0100, Eric Auger wrote:
> @@ -443,6 +489,8 @@ static IOMMUTLBEntry
> virtio_iommu_translate(IOMMUMemoryRegion *mr, hwaddr addr,
> if (!ep) {
> if (!bypass_allowed) {
> error_report_once("%s sid=%d is not known!!", __func__, sid);
> + virtio_iommu_report_fault(s, VIRTIO_IOMMU_FAULT_R_UNKNOWN,
> + 0, sid, 0);
I guess we could report the faulting address as well, it can be useful for
diagnostics.
> } else {
> entry.perm = flag;
> }
> @@ -455,6 +503,8 @@ static IOMMUTLBEntry
> virtio_iommu_translate(IOMMUMemoryRegion *mr, hwaddr addr,
> "%s %02x:%02x.%01x not attached to any domain\n",
> __func__, PCI_BUS_NUM(sid),
> PCI_SLOT(sid), PCI_FUNC(sid));
> + virtio_iommu_report_fault(s, VIRTIO_IOMMU_FAULT_R_DOMAIN,
> + 0, sid, 0);
Here as well, especially since that error would get propagated by a linux
guest to the device driver
> } else {
> entry.perm = flag;
> }
> @@ -468,16 +518,25 @@ static IOMMUTLBEntry
> virtio_iommu_translate(IOMMUMemoryRegion *mr, hwaddr addr,
> qemu_log_mask(LOG_GUEST_ERROR,
> "%s no mapping for 0x%"PRIx64" for sid=%d\n",
> __func__, addr, sid);
> + virtio_iommu_report_fault(s, VIRTIO_IOMMU_FAULT_R_MAPPING,
> + 0, sid, addr);
Flag VIRTIO_IOMMU_FAULT_F_ADDRESS denotes a valid address field
Thanks,
Jean
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [PATCH for-5.0 v11 09/20] virtio-iommu: Implement fault reporting,
Jean-Philippe Brucker <=