diff options
author | Michael S. Tsirkin <mst@redhat.com> | 2013-09-02 12:57:36 +0300 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2013-09-15 11:49:50 +0300 |
commit | 8b42d730e3401084720f4ba59d1e18a0d6c67dc6 (patch) | |
tree | bd117fa695a764d6a30164c769d0680fb3ca5696 /hw | |
parent | 438640695723f33be6d0081ac1e690aa40975c39 (diff) | |
download | hqemu-8b42d730e3401084720f4ba59d1e18a0d6c67dc6.zip hqemu-8b42d730e3401084720f4ba59d1e18a0d6c67dc6.tar.gz |
q35: use 64 bit window programmed by guest
Detect the 64 bit window programmed by firmware
and configure properties accordingly.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'hw')
-rw-r--r-- | hw/pci-host/q35.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/hw/pci-host/q35.c b/hw/pci-host/q35.c index 72f6b72..23dbeea 100644 --- a/hw/pci-host/q35.c +++ b/hw/pci-host/q35.c @@ -89,18 +89,24 @@ static void q35_host_get_pci_hole64_start(Object *obj, Visitor *v, void *opaque, const char *name, Error **errp) { - Q35PCIHost *s = Q35_HOST_DEVICE(obj); + PCIHostState *h = PCI_HOST_BRIDGE(obj); + Range w64; + + pci_bus_get_w64_range(h->bus, &w64); - visit_type_uint64(v, &s->mch.pci_info.w64.begin, name, errp); + visit_type_uint64(v, &w64.begin, name, errp); } static void q35_host_get_pci_hole64_end(Object *obj, Visitor *v, void *opaque, const char *name, Error **errp) { - Q35PCIHost *s = Q35_HOST_DEVICE(obj); + PCIHostState *h = PCI_HOST_BRIDGE(obj); + Range w64; + + pci_bus_get_w64_range(h->bus, &w64); - visit_type_uint64(v, &s->mch.pci_info.w64.end, name, errp); + visit_type_uint64(v, &w64.end, name, errp); } static Property mch_props[] = { |