| From 5c582371601d239c3e8692fa51549ae915a48f41 Mon Sep 17 00:00:00 2001 |
| Message-Id: <5c582371601d239c3e8692fa51549ae915a48f41.1387298827.git.minovotn@redhat.com> |
| In-Reply-To: <3ed0fb61a3dc912ef036d7ef450bed192090709e.1387298827.git.minovotn@redhat.com> |
| References: <3ed0fb61a3dc912ef036d7ef450bed192090709e.1387298827.git.minovotn@redhat.com> |
| From: "Michael S. Tsirkin" <mst@redhat.com> |
| Date: Tue, 17 Dec 2013 15:17:42 +0100 |
| Subject: [PATCH 21/56] piix: use 64 bit window programmed by guest |
| |
| RH-Author: Michael S. Tsirkin <mst@redhat.com> |
| Message-id: <1387293161-4085-22-git-send-email-mst@redhat.com> |
| Patchwork-id: 56327 |
| O-Subject: [PATCH qemu-kvm RHEL7.0 v2 21/57] piix: use 64 bit window programmed by guest |
| Bugzilla: 1034876 |
| RH-Acked-by: Igor Mammedov <imammedo@redhat.com> |
| RH-Acked-by: Marcel Apfelbaum <marcel.a@redhat.com> |
| RH-Acked-by: Laszlo Ersek <lersek@redhat.com> |
| |
| Detect the 64 bit window programmed by firmware |
| and configure properties accordingly. |
| |
| Signed-off-by: Michael S. Tsirkin <mst@redhat.com> |
| (cherry picked from commit 2028fdf3791e14c5ad156252afa0e792192a3e92) |
| |
| hw/pci-host/piix.c | 14 ++++++++++---- |
| 1 file changed, 10 insertions(+), 4 deletions(-) |
| |
| Signed-off-by: Michal Novotny <minovotn@redhat.com> |
| |
| hw/pci-host/piix.c | 14 ++++++++++---- |
| 1 file changed, 10 insertions(+), 4 deletions(-) |
| |
| diff --git a/hw/pci-host/piix.c b/hw/pci-host/piix.c |
| index 167d1fd..0c26835 100644 |
| |
| |
| @@ -229,18 +229,24 @@ static void i440fx_pcihost_get_pci_hole64_start(Object *obj, Visitor *v, |
| void *opaque, const char *name, |
| Error **errp) |
| { |
| - I440FXState *s = I440FX_PCI_HOST_BRIDGE(obj); |
| + PCIHostState *h = PCI_HOST_BRIDGE(obj); |
| + Range w64; |
| + |
| + pci_bus_get_w64_range(h->bus, &w64); |
| |
| - visit_type_uint64(v, &s->pci_info.w64.begin, name, errp); |
| + visit_type_uint64(v, &w64.begin, name, errp); |
| } |
| |
| static void i440fx_pcihost_get_pci_hole64_end(Object *obj, Visitor *v, |
| void *opaque, const char *name, |
| Error **errp) |
| { |
| - I440FXState *s = I440FX_PCI_HOST_BRIDGE(obj); |
| + PCIHostState *h = PCI_HOST_BRIDGE(obj); |
| + Range w64; |
| + |
| + pci_bus_get_w64_range(h->bus, &w64); |
| |
| - visit_type_uint64(v, &s->pci_info.w64.end, name, errp); |
| + visit_type_uint64(v, &w64.end, name, errp); |
| } |
| |
| static int i440fx_pcihost_initfn(SysBusDevice *dev) |
| -- |
| 1.7.11.7 |
| |