[Qemu-devel] [PATCH 09/11] hw/arm/virt-acpi-build: don't save VirtGuestInfo on AcpiBuildState
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(&tables); -virt_acpi_build(container_of(build_state->guest_info, - VirtMachineState, acpi_guest_info), &tables); +virt_acpi_build(vms, &tables); 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(&tables); virt_acpi_build(vms, &tables); -- 2.9.3
Re: [Qemu-devel] [PATCH 09/11] hw/arm/virt-acpi-build: don't save VirtGuestInfo on AcpiBuildState
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(&tables); > > -virt_acpi_build(container_of(build_state->guest_info, > - VirtMachineState, acpi_guest_info), > &tables); > +virt_acpi_build(vms, &tables); virt_acpi_build(VIRT_MACHINE(qdev_get_machine()), &tables); or even better do it inside of virt_acpi_build(&tables); > > 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(&tables); > virt_acpi_build(vms, &tables);
Re: [Qemu-devel] [PATCH 09/11] hw/arm/virt-acpi-build: don't save VirtGuestInfo on AcpiBuildState
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(&tables); > > > > -virt_acpi_build(container_of(build_state->guest_info, > > - VirtMachineState, acpi_guest_info), > > &tables); > > +virt_acpi_build(vms, &tables); > > virt_acpi_build(VIRT_MACHINE(qdev_get_machine()), &tables); > > or even better do it inside of virt_acpi_build(&tables); 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(&tables); > > virt_acpi_build(vms, &tables); >