[PATCH v2 07/13] acpi: fadt: add hw-reduced sleep register support

Gerd Hoffmann posted 13 patches 5 years, 7 months ago
Maintainers: Eduardo Habkost <ehabkost@redhat.com>, Igor Mammedov <imammedo@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, "Michael S. Tsirkin" <mst@redhat.com>, Richard Henderson <rth@twiddle.net>, Paolo Bonzini <pbonzini@redhat.com>, Sergio Lopez <slp@redhat.com>
There is a newer version of this series
[PATCH v2 07/13] acpi: fadt: add hw-reduced sleep register support
Posted by Gerd Hoffmann 5 years, 7 months ago
Add fields to struct AcpiFadtData and update build_fadt() to properly
generate sleep register entries.

Signed-off-by: Gerd Hoffmann <kraxel@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);
-- 
2.18.4


Re: [PATCH v2 07/13] acpi: fadt: add hw-reduced sleep register support
Posted by Igor Mammedov 5 years, 7 months ago
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);