Module Name: src Committed By: uwe Date: Thu Feb 15 19:05:10 UTC 2018
Modified Files: src/sys/dev/pci: virtio_pci.c Log Message: Explicitly enable PCI_COMMAND_MASTER_ENABLE and PCI_COMMAND_IO_ENABLE. Recent versions of VirtualBox do not enable bus-mastering by default - this will be fixed, but it doesn't hurt to do it ourselves too. To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/sys/dev/pci/virtio_pci.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/pci/virtio_pci.c diff -u src/sys/dev/pci/virtio_pci.c:1.1 src/sys/dev/pci/virtio_pci.c:1.2 --- src/sys/dev/pci/virtio_pci.c:1.1 Wed Aug 2 08:39:14 2017 +++ src/sys/dev/pci/virtio_pci.c Thu Feb 15 19:05:10 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: virtio_pci.c,v 1.1 2017/08/02 08:39:14 cherry Exp $ */ +/* $NetBSD: virtio_pci.c,v 1.2 2018/02/15 19:05:10 uwe Exp $ */ /* * Copyright (c) 2010 Minoura Makoto. @@ -94,6 +94,7 @@ virtio_attach(device_t parent, device_t pcitag_t tag = pa->pa_tag; int revision; pcireg_t id; + pcireg_t csr; revision = PCI_REVISION(pa->pa_class); if (revision != 0) { @@ -111,6 +112,10 @@ virtio_attach(device_t parent, device_t virtio_device_name[PCI_SUBSYS_ID(id)] : "Unknown"), revision); + csr = pci_conf_read(pc, tag, PCI_COMMAND_STATUS_REG); + csr |= PCI_COMMAND_MASTER_ENABLE | PCI_COMMAND_IO_ENABLE; + pci_conf_write(pc, tag, PCI_COMMAND_STATUS_REG, csr); + sc->sc_dev = self; sc->sc_pc = pc; sc->sc_tag = tag;