Re: [Qemu-devel] [PATCH 09/11] hw/arm/virt-acpi-build: don't save VirtGuestInfo on AcpiBuildState

2016-12-15 Thread Andrew Jones
On Thu, Dec 15, 2016 at 04:08:22PM +0100, Igor Mammedov wrote:
> On Tue, 13 Dec 2016 22:45:20 +0100
> Andrew Jones  wrote:
> 
> > We can get to VirtMachineState without the need for saving a pointer
> > on AcpiBuildState. This is the mach-virt equivalent to "acpi: Don't save
> > PcGuestInfo on AcpiBuildState"
> > 
> > Signed-off-by: Andrew Jones 
> > ---
> >  hw/arm/virt-acpi-build.c | 7 +++
> >  1 file changed, 3 insertions(+), 4 deletions(-)
> > 
> > diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
> > index 7a1efd0dc538..137781646bec 100644
> > --- a/hw/arm/virt-acpi-build.c
> > +++ b/hw/arm/virt-acpi-build.c
> > @@ -706,7 +706,6 @@ struct AcpiBuildState {
> >  MemoryRegion *linker_mr;
> >  /* Is table patched? */
> >  bool patched;
> > -VirtGuestInfo *guest_info;
> >  } AcpiBuildState;
> >  
> >  static
> > @@ -779,6 +778,8 @@ static void acpi_ram_update(MemoryRegion *mr, GArray 
> > *data)
> >  
> >  static void virt_acpi_build_update(void *build_opaque)
> >  {
> > +MachineState *machine = MACHINE(qdev_get_machine());
> > +VirtMachineState *vms = VIRT_MACHINE(machine);
> >  AcpiBuildState *build_state = build_opaque;
> >  AcpiBuildTables tables;
> >  
> > @@ -790,8 +791,7 @@ static void virt_acpi_build_update(void *build_opaque)
> >  
> >  acpi_build_tables_init();
> >  
> > -virt_acpi_build(container_of(build_state->guest_info,
> > - VirtMachineState, acpi_guest_info), 
> > );
> > +virt_acpi_build(vms, );
> 
> virt_acpi_build(VIRT_MACHINE(qdev_get_machine()), );
> 
> or even better do it inside of virt_acpi_build();

Sounds good.

Thanks,
drew

> 
> 
> >  
> >  acpi_ram_update(build_state->table_mr, tables.table_data);
> >  acpi_ram_update(build_state->rsdp_mr, tables.rsdp);
> > @@ -841,7 +841,6 @@ void virt_acpi_setup(VirtMachineState *vms)
> >  }
> >  
> >  build_state = g_malloc0(sizeof *build_state);
> > -build_state->guest_info = guest_info;
> >  
> >  acpi_build_tables_init();
> >  virt_acpi_build(vms, );
> 



Re: [Qemu-devel] [PATCH 09/11] hw/arm/virt-acpi-build: don't save VirtGuestInfo on AcpiBuildState

2016-12-15 Thread Igor Mammedov
On Tue, 13 Dec 2016 22:45:20 +0100
Andrew Jones  wrote:

> We can get to VirtMachineState without the need for saving a pointer
> on AcpiBuildState. This is the mach-virt equivalent to "acpi: Don't save
> PcGuestInfo on AcpiBuildState"
> 
> Signed-off-by: Andrew Jones 
> ---
>  hw/arm/virt-acpi-build.c | 7 +++
>  1 file changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
> index 7a1efd0dc538..137781646bec 100644
> --- a/hw/arm/virt-acpi-build.c
> +++ b/hw/arm/virt-acpi-build.c
> @@ -706,7 +706,6 @@ struct AcpiBuildState {
>  MemoryRegion *linker_mr;
>  /* Is table patched? */
>  bool patched;
> -VirtGuestInfo *guest_info;
>  } AcpiBuildState;
>  
>  static
> @@ -779,6 +778,8 @@ static void acpi_ram_update(MemoryRegion *mr, GArray 
> *data)
>  
>  static void virt_acpi_build_update(void *build_opaque)
>  {
> +MachineState *machine = MACHINE(qdev_get_machine());
> +VirtMachineState *vms = VIRT_MACHINE(machine);
>  AcpiBuildState *build_state = build_opaque;
>  AcpiBuildTables tables;
>  
> @@ -790,8 +791,7 @@ static void virt_acpi_build_update(void *build_opaque)
>  
>  acpi_build_tables_init();
>  
> -virt_acpi_build(container_of(build_state->guest_info,
> - VirtMachineState, acpi_guest_info), 
> );
> +virt_acpi_build(vms, );

virt_acpi_build(VIRT_MACHINE(qdev_get_machine()), );

or even better do it inside of virt_acpi_build();


>  
>  acpi_ram_update(build_state->table_mr, tables.table_data);
>  acpi_ram_update(build_state->rsdp_mr, tables.rsdp);
> @@ -841,7 +841,6 @@ void virt_acpi_setup(VirtMachineState *vms)
>  }
>  
>  build_state = g_malloc0(sizeof *build_state);
> -build_state->guest_info = guest_info;
>  
>  acpi_build_tables_init();
>  virt_acpi_build(vms, );