[xpost,repost] VGA false positive in dmesg?

Eugene Grosbein eugen at grosbein.net
Tue Aug 4 10:21:24 UTC 2020


04.08.2020 15:08, Ottavio Caruso via freebsd-hackers wrote:
> Hi,
> 
> [originally mailed to freebsd-questions, but I didn't get any feedback over there]
> 
> I've launched a FreeBSD 12.1 instance in qemu (pay attention to "-vga
> none"). Host is Linux:
> 
> qemu-system-x86_64 \
> -drive if=virtio,file=/home/oc/VM/img/freebsd.image,index=0,media=disk \
> -M q35,accel=kvm -m 250M -cpu host -smp $(nproc) \
> -nic user,hostfwd=tcp:127.0.0.1:5554-:22,model=virtio-net-pci \
> -daemonize -display none -vga none \
> -serial mon:telnet:127.0.0.1:6664,server,nowait \
> 
> In the guest:
> 
> oc at FreeBSD:~ % pciconf -vl
> hostb0 at pci0:0:0:0:      class=0x060000 card=0x11001af4 chip=0x29c08086
> rev=0x00 hdr=0x00
>     vendor     = 'Intel Corporation'
>     device     = '82G33/G31/P35/P31 Express DRAM Controller'
>     class      = bridge
>     subclass   = HOST-PCI
> virtio_pci0 at pci0:0:1:0: class=0x020000 card=0x00011af4 chip=0x10001af4
> rev=0x00 hdr=0x00
>     vendor     = 'Red Hat, Inc.'
>     device     = 'Virtio network device'
>     class      = network
>     subclass   = ethernet
> virtio_pci1 at pci0:0:2:0: class=0x010000 card=0x00021af4 chip=0x10011af4
> rev=0x00 hdr=0x00
>     vendor     = 'Red Hat, Inc.'
>     device     = 'Virtio block device'
>     class      = mass storage
>     subclass   = SCSI
> virtio_pci2 at pci0:0:3:0: class=0x010000 card=0x00021af4 chip=0x10011af4
> rev=0x00 hdr=0x00
>     vendor     = 'Red Hat, Inc.'
>     device     = 'Virtio block device'
>     class      = mass storage
>     subclass   = SCSI
> isab0 at pci0:0:31:0:      class=0x060100 card=0x11001af4 chip=0x29188086
> rev=0x02 hdr=0x00
>     vendor     = 'Intel Corporation'
>     device     = '82801IB (ICH9) LPC Interface Controller'
>     class      = bridge
>     subclass   = PCI-ISA
> ahci0 at pci0:0:31:2:      class=0x010601 card=0x11001af4 chip=0x29228086
> rev=0x02 hdr=0x00
>     vendor     = 'Intel Corporation'
>     device     = '82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller
> [AHCI mode]'
>     class      = mass storage
>     subclass   = SATA
> none0 at pci0:0:31:3:      class=0x0c0500 card=0x11001af4 chip=0x29308086
> rev=0x02 hdr=0x00
>     vendor     = 'Intel Corporation'
>     device     = '82801I (ICH9 Family) SMBus Controller'
>     class      = serial bus
>     subclass   = SMBus
> 
> However, in dmesg:
> 
> oc at FreeBSD:~ % dmesg | grep -i vga
> VT(vga): text 80x25
> vtvga0: <VT VGA driver> on motherboard
> vga0: <Generic ISA VGA> at port 0x3b0-0x3bb iomem 0xb0000-0xb7fff
> pnpid PNP0900 on isa0
> 
> I don't know how to interpret this output.

pciconf deals with PCI/PCI-E only but your guest detects ISA VGA device.
Compare with real VGA hardware:

VT(vga): resolution 640x480
vtvga0: <VT VGA driver> on motherboard
vgapci0: <VGA-compatible display> port 0xb000-0xb0ff mem 0xd0000000-0xdfffffff,0xfc3f0000-0xfc3fffff,0xfc200000-0xfc2fffff irq 18 at device 5.0 on pci1
vgapci0: Boot video device


> I don't think it's a qemu issue, because I've done the same with NetBSD and OpenBSD guests and
> there's no trace of vga in their dmesg.

Maybe your guest has hw.vga.acpi_ignore_no_vga=1 in the kernel environment
or some other non-default "hw.vga" knobs, check it out with kenv(1).

You can also try adding to /boot/loader.conf:

hint.vtvga.0.disabled=1

As for NetBSD/OpenBSD, they could drop ISA PNP VGA support or qemu settings differ for them.



More information about the freebsd-hackers mailing list