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, );
>