From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33827) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bDthz-0006XV-9Q for qemu-devel@nongnu.org; Fri, 17 Jun 2016 09:21:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bDthx-00047Q-3z for qemu-devel@nongnu.org; Fri, 17 Jun 2016 09:21:14 -0400 References: <1466169069-29375-1-git-send-email-real@ispras.ru> <1466169069-29375-7-git-send-email-real@ispras.ru> From: Paolo Bonzini Message-ID: <1aae057c-b323-2b92-86ca-84f0ade286e1@redhat.com> Date: Fri, 17 Jun 2016 15:20:58 +0200 MIME-Version: 1.0 In-Reply-To: <1466169069-29375-7-git-send-email-real@ispras.ru> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 06/13] pc_q35: configure Q35 instance using properties List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Efimov Vasily , qemu-devel@nongnu.org Cc: John Snow , qemu-block@nongnu.org, Gerd Hoffmann , "Michael S. Tsirkin" , Kevin Wolf , Max Reitz , Richard Henderson , Eduardo Habkost , Peter Maydell , Kirill Batuzov On 17/06/2016 15:11, Efimov Vasily wrote: > 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 > --- > 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 04aae89..d7dc23a 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); > Reviewed-by: Paolo Bonzini