ACK: [PATCH] acpi/fadt: checks X_GPE0/1 have byte access width
ivanhu
ivan.hu at canonical.com
Mon Aug 10 08:04:52 UTC 2020
On 8/5/20 9:48 AM, Alex Hung wrote:
> According to ACPI spec 4.8.4.1 General-Purpose Event Register Blocks:
> "Each register in the block is accessed as a byte"
>
> Reported-by: Paul Menzel <pmenzel at molgen.mpg.de>
> Signed-off-by: Alex Hung <alex.hung at canonical.com>
> ---
> src/acpi/fadt/fadt.c | 27 +++++++++++++++++++++++++++
> 1 file changed, 27 insertions(+)
>
> diff --git a/src/acpi/fadt/fadt.c b/src/acpi/fadt/fadt.c
> index af93a156..9d35db03 100644
> --- a/src/acpi/fadt/fadt.c
> +++ b/src/acpi/fadt/fadt.c
> @@ -1519,6 +1519,32 @@ static void acpi_table_check_fadt_p_lvl3_lat(fwts_framework *fw, uint64_t pblk)
> return;
> }
>
> +static void acpi_table_check_fadt_x_gpex_blk(fwts_framework *fw) {
> +
> + if (fwts_acpi_is_reduced_hardware(fadt))
> + return;
> +
> + if (fadt->x_gpe0_blk.access_width == 1)
> + fwts_passed(fw, "FADT X_GPE0_BLK has correct byte access width.");
> + else {
> + fwts_failed(fw, LOG_LEVEL_HIGH,
> + "X_GPE0_BLKBadAccessWidth",
> + "FADT X_GPE0_BLK Access width 0x%2.2" PRIx8
> + " but it should be 1 (byte access).",
> + fadt->x_gpe0_blk.access_width);
> + }
> +
> + if (fadt->x_gpe1_blk.access_width == 1)
> + fwts_passed(fw, "FADT X_GPE1_BLK has correct byte access width.");
> + else {
> + fwts_failed(fw, LOG_LEVEL_HIGH,
> + "X_GPE1_BLKBadAccessWidth",
> + "FADT X_GPE1_BLK Access width 0x%2.2" PRIx8
> + " but it should be 1 (byte access).",
> + fadt->x_gpe1_blk.access_width);
> + }
> +}
> +
> static void acpi_table_check_fadt_sleep_control_reg(fwts_framework *fw)
> {
> if (fwts_acpi_is_reduced_hardware(fadt)) {
> @@ -1643,6 +1669,7 @@ static int fadt_test1(fwts_framework *fw)
> fwts_log_info(fw, "FADT CENTURY is %" PRIu8, fadt->century);
> }
>
> + acpi_table_check_fadt_x_gpex_blk(fw);
> acpi_table_check_fadt_sleep_control_reg(fw);
> acpi_table_check_fadt_sleep_status_reg(fw);
>
>
Acked-by: Ivan Hu <ivan.hu at canonical.com>
More information about the fwts-devel
mailing list