qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Efimov Vasily <real@ispras.ru>
To: qemu-devel@nongnu.org
Cc: "Efimov Vasily" <real@ispras.ru>, "John Snow" <jsnow@redhat.com>,
	qemu-block@nongnu.org, "Gerd Hoffmann" <kraxel@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	"Kevin Wolf" <kwolf@redhat.com>, "Max Reitz" <mreitz@redhat.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Richard Henderson" <rth@twiddle.net>,
	"Eduardo Habkost" <ehabkost@redhat.com>,
	"Hervé Poussineau" <hpoussin@reactos.org>,
	"Markus Armbruster" <armbru@redhat.com>,
	"Marcel Apfelbaum" <marcel@redhat.com>,
	"Peter Maydell" <peter.maydell@linaro.org>,
	"Kirill Batuzov" <batuzovk@ispras.ru>
Subject: [Qemu-devel] [PATCH v2 06/14] pc_q35: configure Q35 instance using properties
Date: Wed, 22 Jun 2016 15:24:50 +0300	[thread overview]
Message-ID: <1466598298-21214-7-git-send-email-real@ispras.ru> (raw)
In-Reply-To: <1466598298-21214-1-git-send-email-real@ispras.ru>

Currently, Q35 instance is configured using direct access to structure fields.
The patch uses property interface to set the fields.

Signed-off-by: Efimov Vasily <real@ispras.ru>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
---
 hw/i386/pc_q35.c | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index 78afd4f..67bcede 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -159,12 +159,18 @@ static void pc_q35_init(MachineState *machine)
     q35_host = Q35_HOST_DEVICE(qdev_create(NULL, TYPE_Q35_HOST_DEVICE));
 
     object_property_add_child(qdev_get_machine(), "q35", OBJECT(q35_host), NULL);
-    q35_host->mch.ram_memory = ram_memory;
-    q35_host->mch.pci_address_space = pci_memory;
-    q35_host->mch.system_memory = get_system_memory();
-    q35_host->mch.address_space_io = system_io;
-    q35_host->mch.below_4g_mem_size = pcms->below_4g_mem_size;
-    q35_host->mch.above_4g_mem_size = pcms->above_4g_mem_size;
+    object_property_set_link(OBJECT(q35_host), OBJECT(ram_memory),
+                             MCH_HOST_PROP_RAM_MEM, NULL);
+    object_property_set_link(OBJECT(q35_host), OBJECT(pci_memory),
+                             MCH_HOST_PROP_PCI_MEM, NULL);
+    object_property_set_link(OBJECT(q35_host), OBJECT(get_system_memory()),
+                             MCH_HOST_PROP_SYSTEM_MEM, NULL);
+    object_property_set_link(OBJECT(q35_host), OBJECT(system_io),
+                             MCH_HOST_PROP_IO_MEM, NULL);
+    object_property_set_int(OBJECT(q35_host), pcms->below_4g_mem_size,
+                            PCI_HOST_BELOW_4G_MEM_SIZE, NULL);
+    object_property_set_int(OBJECT(q35_host), pcms->above_4g_mem_size,
+                            PCI_HOST_ABOVE_4G_MEM_SIZE, NULL);
     /* pci */
     qdev_init_nofail(DEVICE(q35_host));
     phb = PCI_HOST_BRIDGE(q35_host);
-- 
2.7.4

  parent reply	other threads:[~2016-06-22 12:25 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-22 12:24 [Qemu-devel] [PATCH v2 00/14] Make Q35 devices closer to Qemu object model Efimov Vasily
2016-06-22 12:24 ` [Qemu-devel] [PATCH v2 01/14] ide: move headers to include folder Efimov Vasily
2016-06-22 12:24 ` [Qemu-devel] [PATCH v2 02/14] pcspk: convert "pit" property type from ptr to link Efimov Vasily
2016-06-22 12:24 ` [Qemu-devel] [PATCH v2 03/14] vmport: identify vmport type by macro TYPE_VMPORT Efimov Vasily
2016-06-22 12:24 ` [Qemu-devel] [PATCH v2 04/14] pflash: make TYPE_CFI_PFLASH0{1, 2} macros public Efimov Vasily
2016-06-22 12:24 ` [Qemu-devel] [PATCH v2 05/14] Q35: implement property interfece to several parameters Efimov Vasily
2016-06-22 12:24 ` Efimov Vasily [this message]
2016-06-22 12:24 ` [Qemu-devel] [PATCH v2 07/14] pckbd: handle A20 IRQ as GPIO Efimov Vasily
2016-06-22 12:24 ` [Qemu-devel] [PATCH v2 08/14] port92: " Efimov Vasily
2016-06-22 12:24 ` [Qemu-devel] [PATCH v2 09/14] ICH9 SMB: make TYPE_ICH9_SMB_DEVICE macro public Efimov Vasily
2016-06-22 12:24 ` [Qemu-devel] [PATCH v2 10/14] ICH9 LPC: handle GSI as qdev GPIO Efimov Vasily
2016-06-22 12:24 ` [Qemu-devel] [PATCH v2 11/14] ICH9 LPC: move call of isa_bus_irqs to 'realize' method Efimov Vasily
2016-06-22 12:24 ` [Qemu-devel] [PATCH v2 12/14] isa: introduce wrapper isa_connect_gpio_out Efimov Vasily
2016-06-22 12:24 ` [Qemu-devel] [PATCH v2 13/14] MC146818 RTC: add GPIO access to output IRQ Efimov Vasily
2016-06-22 12:24 ` [Qemu-devel] [PATCH v2 14/14] ICH9 LPC: configure PCI IRQs routing internally Efimov Vasily
2016-06-22 13:24 ` [Qemu-devel] [PATCH v2 00/14] Make Q35 devices closer to Qemu object model Paolo Bonzini
2016-06-22 18:27   ` Michael S. Tsirkin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1466598298-21214-7-git-send-email-real@ispras.ru \
    --to=real@ispras.ru \
    --cc=armbru@redhat.com \
    --cc=batuzovk@ispras.ru \
    --cc=ehabkost@redhat.com \
    --cc=hpoussin@reactos.org \
    --cc=jsnow@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=marcel@redhat.com \
    --cc=mreitz@redhat.com \
    --cc=mst@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=rth@twiddle.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).