From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41638) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZAJCT-0007Tv-RL for qemu-devel@nongnu.org; Wed, 01 Jul 2015 10:41:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZAJCQ-0003eq-8Z for qemu-devel@nongnu.org; Wed, 01 Jul 2015 10:41:21 -0400 Received: from mx1.redhat.com ([209.132.183.28]:50589) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZAJCQ-0003eI-3I for qemu-devel@nongnu.org; Wed, 01 Jul 2015 10:41:18 -0400 From: Gerd Hoffmann Date: Wed, 1 Jul 2015 16:40:53 +0200 Message-Id: <1435761670-19520-9-git-send-email-kraxel@redhat.com> In-Reply-To: <1435761670-19520-1-git-send-email-kraxel@redhat.com> References: <1435761670-19520-1-git-send-email-kraxel@redhat.com> Subject: [Qemu-devel] [PATCH v3 08/25] virtio: create vp_cap struct for legacy bar List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: seabios@seabios.org Cc: Gerd Hoffmann , qemu-devel@nongnu.org, "Michael S. Tsirkin" Signed-off-by: Gerd Hoffmann --- src/hw/virtio-pci.c | 5 ++++- src/hw/virtio-pci.h | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/hw/virtio-pci.c b/src/hw/virtio-pci.c index 58f3d39..3c8fb7b 100644 --- a/src/hw/virtio-pci.c +++ b/src/hw/virtio-pci.c @@ -143,8 +143,11 @@ void vp_init_simple(struct vp_device *vp, struct pci_device *pci) pci_bdf_to_bus(pci->bdf), pci_bdf_to_dev(pci->bdf)); } - vp->ioaddr = pci_config_readl(pci->bdf, PCI_BASE_ADDRESS_0) & + vp->legacy.bar = 0; + vp->legacy.addr = pci_config_readl(pci->bdf, PCI_BASE_ADDRESS_0) & PCI_BASE_ADDRESS_IO_MASK; + vp->legacy.is_io = 1; + vp->ioaddr = vp->legacy.addr; /* temporary */ vp_reset(vp); pci_config_maskw(pci->bdf, PCI_COMMAND, 0, PCI_COMMAND_MASTER); diff --git a/src/hw/virtio-pci.h b/src/hw/virtio-pci.h index 467c02f..147e529 100644 --- a/src/hw/virtio-pci.h +++ b/src/hw/virtio-pci.h @@ -124,7 +124,7 @@ struct vp_cap { struct vp_device { unsigned int ioaddr; - struct vp_cap common, notify, isr, device; + struct vp_cap common, notify, isr, device, legacy; }; static inline u32 vp_get_features(struct vp_device *vp) -- 1.8.3.1