On 14.07.2025 11:00, David Woodhouse wrote:
From: David Woodhouse <d...@amazon.co.uk>

FreeBSD does both, and this appears to be perfectly valid. The VT-d
spec even talks about the ordering (the status write should be done
first, unsurprisingly).

We certainly shouldn't assert() and abort QEMU if the guest asks for
both.

Fixes: ed7b8fbcfb88 ("intel-iommu: add supports for queued invalidation 
interface")
Closes: https://gitlab.com/qemu-project/qemu/-/issues/3028
Signed-off-by: David Woodhouse <d...@amazon.co.uk>
---
v2:
  • Only generate the interrupt once.
  • Spaces around bitwise OR.

This stops QEMU crashing, but I still can't get FreeBSD to boot and use
CPUs with APIC ID > 255 using *either* Intel or AMD IOMMU with
interrupt remapping, or the native 15-bit APIC ID enlightenment.
cf. https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=288122


  hw/i386/intel_iommu.c | 15 +++++++++------
  1 file changed, 9 insertions(+), 6 deletions(-)

This looks like a qemu-stable material (for 10.0).
Please let me know if it is not.

Thanks,

/mjt

Reply via email to