qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Debugging PCI Enhanced Allocation - IOMMU of a bridge?


From: Michael S. Tsirkin
Subject: Re: [Qemu-devel] Debugging PCI Enhanced Allocation - IOMMU of a bridge?
Date: Wed, 12 Sep 2018 13:38:59 -0400

On Wed, Sep 12, 2018 at 05:30:29PM +0000, Alexander von Gluck IV wrote:
> Good morning!
> 
> I'm working through adding support (or at least ignoring) PCI Enhance
> Allocation devices under Haiku.
> We run into one of these devices, and crash at boot due to attempting to read
> an invalid address.
> 
> Our testing showed that with a USB C dongle plugged in, we don't crash. 
> Without
> it plugged in we get
> invalid addresses from PCI
> 
> (for a long-drawn out debug ticket, see https://dev.haiku-os.org/ticket/12885 
> )
> 
> 
> So, i'm trying to see if I can emulate a PCI bridge with EA under QEMU, I 
> found
> this patch, but it seems
> it wasn't accepted:
> https://lists.gnu.org/archive/html/qemu-devel/2015-05/msg02073.html

v2 never surfaced I think.

> My other thought is since I have access to two laptops implementing this, I
> could attach the bridge to
> qemu via iommu, but the new vfio stuff doesn't seem to work with bridges. :-|

It's fixable, AFAIK no one bothered though. BTW old style kvm dev
assignment is still around but probably doesn't work with bridges
either.


> Anyone know of a way to:
> * emulate a PCI EA in qemu.

Start with above patch, add bios support?

> * attach the local PCI EA bridge to qemu to troubleshoot using real hardware.
> For context, here is the suspect EA device:
> 
> 
> (no USB C dongle)
> $ lspci -tvnn
> -[0000:00]-+-00.0 Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core
> Processor Host Bridge/DRAM Registers [8086:1910]
> +-1d.6-[06-3e]--
> 
> vs
> 
> (USB C dongle)
> $ lspci -tvnn
> -[0000:00]-+-00.0 Intel Corporation Skylake Host Bridge/DRAM Registers
> [8086:1904]
> +-1d.6-[06-3e]----00.0-[07-3e]--+-00.0-[08]--
> | +-01.0-[09-3d]--
> | \-02.0-[3e]----00.0 Intel Corporation DSL6340 USB 3.1 Controller [Alpine
> Ridge] [8086:15b5]
> 
> 
> The bride is at 1d.6 in it's own IOMMU group:
> 
> IOMMU group 12
> 00:1d.6 PCI bridge [0604]: Intel Corporation 100 Series/C230 Series Chipset
> Family PCI Express Root Port #15 [8086:a11e] (rev f1)
> 
> -- Alex



reply via email to

[Prev in Thread] Current Thread [Next in Thread]