On Tue, 5 May 2020 15:42:59 +0200
Gerd Hoffmann <kraxel@redhat.com> wrote:
> Add fields to struct AcpiFadtData and update build_fadt() to properly
> generate sleep register entries.
>
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
> ---
> include/hw/acpi/acpi-defs.h | 2 ++
> hw/acpi/aml-build.c | 4 ++--
> 2 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/include/hw/acpi/acpi-defs.h b/include/hw/acpi/acpi-defs.h
> index c13327fa7867..3be9ab504968 100644
> --- a/include/hw/acpi/acpi-defs.h
> +++ b/include/hw/acpi/acpi-defs.h
> @@ -88,6 +88,8 @@ typedef struct AcpiFadtData {
> struct AcpiGenericAddress pm_tmr; /* PM_TMR_BLK */
> struct AcpiGenericAddress gpe0_blk; /* GPE0_BLK */
> struct AcpiGenericAddress reset_reg; /* RESET_REG */
> + struct AcpiGenericAddress sleep_ctl; /* SLEEP_CONTROL_REG */
> + struct AcpiGenericAddress sleep_sts; /* SLEEP_STATUS_REG */
> uint8_t reset_val; /* RESET_VALUE */
> uint8_t rev; /* Revision */
> uint32_t flags; /* Flags */
> diff --git a/hw/acpi/aml-build.c b/hw/acpi/aml-build.c
> index 2c3702b8825b..c159b0d30022 100644
> --- a/hw/acpi/aml-build.c
> +++ b/hw/acpi/aml-build.c
> @@ -1863,9 +1863,9 @@ void build_fadt(GArray *tbl, BIOSLinker *linker, const AcpiFadtData *f,
> }
>
> /* SLEEP_CONTROL_REG */
> - build_append_gas(tbl, AML_AS_SYSTEM_MEMORY, 0 , 0, 0, 0);
> + build_append_gas_from_struct(tbl, &f->sleep_ctl);
> /* SLEEP_STATUS_REG */
> - build_append_gas(tbl, AML_AS_SYSTEM_MEMORY, 0 , 0, 0, 0);
> + build_append_gas_from_struct(tbl, &f->sleep_sts);
>
> /* TODO: extra fields need to be added to support revisions above rev5 */
> assert(f->rev == 5);