[Bug 236922] Virtio fails as QEMU-KVM guest with Q35 chipset on Ubuntu 18.04.2 LTS

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Thu Apr 4 03:03:10 UTC 2019


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=236922

--- Comment #9 from Tommy P <tommyhp2 at gmail.com> ---
(In reply to Bryan Venteicher from comment #8)

Hi Bryan,

Thank you for the feedback.  I've been digging further to learn more about the
FreeBSD's internal while improving my C/C++ skills.  I've found that there are
2 sets of device IDs:  PCI (which FreeBSD currently support) and the PCIe
(which I think your work would support).  I'll give them a try a report back if
I've found any issue.

While doing a lot of trial and error, I've found something puzzling.  If I
build my custom kernel w/o debug, traces, and netmap (in addition to
unnecessary drivers), pciconf shows correctly for the PCIe root:

pcib1 at pci0:0:2:0:       class=0x060400 card=0x00001b36 chip=0x000c1b36 rev=0x00
hdr=0x01
    vendor     = 'Red Hat, Inc.'
    device     = 'QEMU PCIe Root port'
    class      = bridge
    subclass   = PCI-PCI
    cap 10[54] = PCI-Express 2 root port max data 128(128) ARI disabled
                 link x1(x1) speed 2.5(2.5) ASPM disabled(L0s)
                 slot 0 power limit 0 mW HotPlug(present) surprise Attn Button
PC(on) EI(disengaged)
    cap 11[48] = MSI-X supports 1 message
                 Table in map 0x10[0x0], PBA in map 0x10[0x800]
    cap 0d[40] = PCI Bridge card=0x00001b36
    ecap 0001[100] = AER 2 0 fatal 0 non-fatal 0 corrected

However, when added back in the debug, traces, and netmap (still w/o the extra
drivers) similar to the GENERIC kernel, that same controller becomes:

none0 at pci0:0:2:0:       class=0x060400 card=0x00001b36 chip=0x000c1b36 rev=0x00
hdr=0x01
    vendor     = 'Red Hat, Inc.'
    device     = 'QEMU PCIe Root port'
    class      = bridge
    subclass   = PCI-PCI
    bar   [10] = type Memory, range 32, base 0xfd212000, size 4096, enabled
    bus range  = 1-1
    window[1c] = type I/O Port, range 16, addr 0xe000-0xdfff, disabled
    window[20] = type Memory, range 32, addr 0xfd000000-0xfd1fffff, enabled
    window[24] = type Prefetchable Memory, range 64, addr
0xfea00000-0xfebfffff, enabled
    cap 10[54] = PCI-Express 2 root port max data 128(128) ARI disabled
                 link x1(x1) speed 2.5(2.5) ASPM disabled(L0s)
                 slot 0 power limit 0 mW HotPlug(present) surprise Attn Button
PC(on) EI(disengaged)
    cap 11[48] = MSI-X supports 1 message
                 Table in map 0x10[0x0], PBA in map 0x10[0x800]
    cap 0d[40] = PCI Bridge card=0x00001b36
    ecap 0001[100] = AER 2 0 fatal 0 non-fatal 0 corrected

as seen from pciconf.  Note how it's 'pcib1' w/o debug+traces and 'none0' with
debug+traces.  I don't know if the bug is with the VirtIO driver or the
debug/trace.  Perhaps its by design?  This from src r345840.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list