On 9/25/18 1:13 AM, Laszlo Ersek wrote:
Expose the calculated "hole64 start" GPAs as plain uint64_t values,
extracting the internals of the current property getters.

This patch doesn't change behavior.

Cc: "Michael S. Tsirkin" <m...@redhat.com>
Cc: Alex Williamson <alex.william...@redhat.com>
Cc: Marcel Apfelbaum <marcel.apfelb...@gmail.com>
Signed-off-by: Laszlo Ersek <ler...@redhat.com>
---
  hw/pci-host/piix.c | 15 +++++++++++----
  hw/pci-host/q35.c  | 15 +++++++++++----
  2 files changed, 22 insertions(+), 8 deletions(-)

diff --git a/hw/pci-host/piix.c b/hw/pci-host/piix.c
index 0e608347c1f0..0df91e002076 100644
--- a/hw/pci-host/piix.c
+++ b/hw/pci-host/piix.c
@@ -249,9 +249,7 @@ static void i440fx_pcihost_get_pci_hole_end(Object *obj, 
Visitor *v,
   * the 64bit PCI hole will start after "over 4G RAM" and the
   * reserved space for memory hotplug if any.
   */
-static void i440fx_pcihost_get_pci_hole64_start(Object *obj, Visitor *v,
-                                                const char *name,
-                                                void *opaque, Error **errp)
+static uint64_t i440fx_pcihost_get_pci_hole64_start_value(Object *obj)
  {
      PCIHostState *h = PCI_HOST_BRIDGE(obj);
      I440FXState *s = I440FX_PCI_HOST_BRIDGE(obj);
@@ -263,7 +261,16 @@ static void i440fx_pcihost_get_pci_hole64_start(Object 
*obj, Visitor *v,
      if (!value && s->pci_hole64_fix) {
          value = pc_pci_hole64_start();
      }
-    visit_type_uint64(v, name, &value, errp);
+    return value;
+}
+
+static void i440fx_pcihost_get_pci_hole64_start(Object *obj, Visitor *v,
+                                                const char *name,
+                                                void *opaque, Error **errp)
+{
+    uint64_t hole64_start = i440fx_pcihost_get_pci_hole64_start_value(obj);
+
+    visit_type_uint64(v, name, &hole64_start, errp);
  }
/*
diff --git a/hw/pci-host/q35.c b/hw/pci-host/q35.c
index 02f95765880a..8acf942b5e65 100644
--- a/hw/pci-host/q35.c
+++ b/hw/pci-host/q35.c
@@ -109,9 +109,7 @@ static void q35_host_get_pci_hole_end(Object *obj, Visitor 
*v,
   * the 64bit PCI hole will start after "over 4G RAM" and the
   * reserved space for memory hotplug if any.
   */
-static void q35_host_get_pci_hole64_start(Object *obj, Visitor *v,
-                                          const char *name, void *opaque,
-                                          Error **errp)
+static uint64_t q35_host_get_pci_hole64_start_value(Object *obj)
  {
      PCIHostState *h = PCI_HOST_BRIDGE(obj);
      Q35PCIHost *s = Q35_HOST_DEVICE(obj);
@@ -123,7 +121,16 @@ static void q35_host_get_pci_hole64_start(Object *obj, 
Visitor *v,
      if (!value && s->pci_hole64_fix) {
          value = pc_pci_hole64_start();
      }
-    visit_type_uint64(v, name, &value, errp);
+    return value;
+}
+
+static void q35_host_get_pci_hole64_start(Object *obj, Visitor *v,
+                                          const char *name, void *opaque,
+                                          Error **errp)
+{
+    uint64_t hole64_start = q35_host_get_pci_hole64_start_value(obj);
+
+    visit_type_uint64(v, name, &hole64_start, errp);
  }
/*


Reviewed-by: Marcel Apfelbaum<marcel.apfelb...@gmail.com>


Thanks,
Marcel


Reply via email to