Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 08 Jan 2020 04:56:47 +0000
From:      bugzilla-noreply@freebsd.org
To:        virtualization@FreeBSD.org
Subject:   [Bug 241774] FreeBSD 11.3 & 12.0 has broken SCSI & Networking on KVM/QEMU Q35 with OVMF
Message-ID:  <bug-241774-27103-wINRh8WVxD@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-241774-27103@https.bugs.freebsd.org/bugzilla/>
References:  <bug-241774-27103@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D241774

--- Comment #13 from Tommy P <tommyhp2@gmail.com> ---
(In reply to John Hartley from comment #12)

Hi John,

If you look again at the pciconf output:

none1@pci0:1:0:0

Implies that no driver were loaded for that pci device at slot 0:1:0:0 since
FreeBSD's VirtIO drivers currently does not support PCI-E bus.  The rest of=
 the
pciconf are for debugging driver.  For the other output such as:

sym0@pci0:2:0:0

Implies that FreeBSD's LSI/Symbios SCSI (sym) were loaded successfully.  Th=
us,
any HDD attached to that controller would work.  Unfortunately, I don't thi=
nk
this SCSI controller supports UEFI boot.

Here are the details of pciconf, from my understanding, of how FreeBSD's Vi=
rtIO
drivers work:

none1@pci0:1:0:0:       class=3D0x020000 card=3D0x11001af4 chip=3D0x10411af=
4 rev=3D0x01
hdr=3D0x00

*) rev=3D0x01 implies PCI-E bus while rev=3D0x00 implies PCI bus
*) last 4 digits of card/chip implies the vendor ID: 0x1af4 (per
/usr/src/sys/dev/virtio/pci/virtio_pci.h)
*) if device is on PCI bus, the first 4 digits of 'card' imply device type =
(per
/usr/src/sys/dev/virtio/virtio_ids.h)
*) if device is on PCI-E bus, the first 4 digits of 'chip' - 0x1040 should
match device type from /usr/src/sys/dev/virtio/virtio_ids.h.

Thus, 0x1041 - 0x1040 =3D 0x1 which is VirtIO NIC per pciconf's verbose out=
put:
   #define VIRTIO_ID_NETWORK       1

And 0x1048 - 0x1040 =3D 0x8 which is VirtIO SCSI:
   #define VIRTIO_ID_SCSI          8

The current VirtIO drivers does not have the necessary codes to detect the
device ID connected to the PCI-E bus nor have the correct memory address to
attach the driver for that same bus.

As for non VirtIO not working, my fresh install of 12.0 using OVMF works OK=
 for
both sym SCSI and em NIC.  I don't have 11.2 OVMF to test upgrade.  But all=
 of
my non OVMF VMs work OK too except where Q35 + VirtIO are concerned as per =
my
bug report.

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-241774-27103-wINRh8WVxD>