ACK: [PATCH] acpi: fadt: merge tests for reset register

ivanhu ivan.hu at canonical.com
Mon Aug 24 01:51:06 UTC 2015



On 2015年08月19日 15:49, Alex Hung wrote:
> Signed-off-by: Alex Hung <alex.hung at canonical.com>
> ---
>   src/acpi/fadt/fadt.c | 57 +++++++++++++++++++++-------------------------------
>   1 file changed, 23 insertions(+), 34 deletions(-)
>
> diff --git a/src/acpi/fadt/fadt.c b/src/acpi/fadt/fadt.c
> index 8d06d97..4778984 100644
> --- a/src/acpi/fadt/fadt.c
> +++ b/src/acpi/fadt/fadt.c
> @@ -300,39 +300,6 @@ static void acpi_table_check_fadt_gpe(
>   	}
>   }
>   
> -static void acpi_table_check_fadt_reset(
> -	fwts_framework *fw,
> -	const fwts_acpi_table_fadt *fadt,
> -	bool *passed)
> -{
> -	if (!(fadt->flags & FADT_RESET_SUPPORTED))
> -		return;
> -
> -	if (fadt->header.length>=129) {
> -		if ((fadt->reset_reg.address_space_id != 0) &&
> -		    (fadt->reset_reg.address_space_id != 1) &&
> -		    (fadt->reset_reg.address_space_id != 2)) {
> -			*passed = false;
> -			fwts_failed(fw, LOG_LEVEL_MEDIUM,
> -				"FADTBadRESETREG",
> -				"FADT RESET_REG address space ID was %"
> -				PRIu8 ", must be System Memory space (0), "
> -				"System I/O space (1), or PCI configuration "
> -				"space (2).",
> -				fadt->reset_reg.address_space_id);
> -			fwts_advice(fw,
> -				"If the FADT RESET_REG address space ID is "
> -				"not set correctly then ACPI writes "
> -				"to this register *may* nor work correctly, "
> -				"meaning a reboot via this mechanism may not work.");
> -		}
> -		if ((fadt->reset_value == 0) &&
> -		    (fadt->reset_reg.address != 0))
> -			fwts_warning(fw, "FADT RESET_VALUE is zero, which "
> -				"may be incorrect, it is usually non-zero.");
> -	}
> -}
> -
>   static int fadt_test1(fwts_framework *fw)
>   {
>   	bool passed = true;
> @@ -367,7 +334,6 @@ static int fadt_test1(fwts_framework *fw)
>   				"ACPI processor idle routine will not use C3 power states.");
>   	}
>   	*/
> -	acpi_table_check_fadt_reset(fw, fadt, &passed);
>   
>   	if (passed)
>   		fwts_passed(fw, "No issues found in FADT table.");
> @@ -490,6 +456,29 @@ static int fadt_test3(fwts_framework *fw)
>   				"specification states that the FADT register bit offset should be 0.");
>   		} else
>   			fwts_passed(fw, "FADT register bit offset is 0 as expected.");
> +
> +		if (fadt->header.length >= 129) {
> +			if ((fadt->reset_reg.address_space_id != 0) &&
> +					(fadt->reset_reg.address_space_id != 1) &&
> +					(fadt->reset_reg.address_space_id != 2)) {
> +				fwts_failed(fw, LOG_LEVEL_MEDIUM,
> +					"FADTBadRESETREG",
> +					"FADT RESET_REG address space ID was %"
> +					PRIu8 ", must be System Memory space (0), "
> +					"System I/O space (1), or PCI configuration "
> +					"space (2).",
> +					fadt->reset_reg.address_space_id);
> +				fwts_advice(fw,
> +					"If the FADT RESET_REG address space ID is "
> +					"not set correctly then ACPI writes "
> +					"to this register *may* nor work correctly, "
> +					"meaning a reboot via this mechanism may not work.");
> +			}
> +			if ((fadt->reset_value == 0) &&
> +					(fadt->reset_reg.address != 0))
> +				fwts_warning(fw, "FADT RESET_VALUE is zero, which "
> +					"may be incorrect, it is usually non-zero.");
> +		}
>   	} else {
>   		fwts_skipped(fw, "FADT flags indicates reset register not supported, skipping test.");
>   		return FWTS_SKIP;

Acked-by: Ivan Hu <ivan.hu at canonical.com>



More information about the fwts-devel mailing list