On Sun, 15 Sep 2013 11:46:36 +0300 "Michael S. Tsirkin" <m...@redhat.com> wrote:
> w32/w64 properties that we report in QOM are > currently static, but this is wrong: > guest firmware can select its own windows: > optimal placement for w64 is guest-dependent, further, > for Q35, w32 is affected by the MCFG base and size. > > This detects the actual window configuration used by guest > and reports it in QOM. > > Changes from v1: > Fix up issues noted by Igor: > - ignore addresses below 1<<32 when getting W64 > - don't change W64 - instead calculate it in > a local variable. This way users are forced > to use the property API so they won't get > an out of date range by accessing w64 directly. > > Note: maybe we should get rid of the pci_info struct completely, it doesn't > seem to be all that useful anymore. > > However, this is better addressed by a separate patch. Provided cleanup will be in ACPI tables series, then from memory hotplug pov, Acked-By: Igor Mammedov <imamm...@redhat.com> > Michael S. Tsirkin (6): > q35: make pci window address/size match guest cfg > range: add Range to typedefs > range: add min/max operations on ranges > pci: add helper to retrieve the 64-bit range > q35: use 64 bit window programmed by guest > piix: use 64 bit window programmed by guest > > include/hw/pci/pci.h | 1 + > include/qemu/range.h | 19 ++++++++++++++++++- > include/qemu/typedefs.h | 1 + > hw/pci-host/piix.c | 14 ++++++++++---- > hw/pci-host/q35.c | 24 ++++++++++++++++++++---- > hw/pci/pci.c | 50 > +++++++++++++++++++++++++++++++++++++++++++++++++ > 6 files changed, 100 insertions(+), 9 deletions(-) >