ACK: [PATCH 1/3] sbbr: add checks for mandatory tables

Colin Ian King colin.king at canonical.com
Mon Jun 14 17:31:36 UTC 2021


On 04/06/2021 06:11, Alex Hung wrote:
> This is based on Arm Server Base Boot Requirements (SBBR) 1.2
> 
> Signed-off-by: Alex Hung <alex.hung at canonical.com>
> ---
>  src/sbbr/acpitables/acpitables.c | 31 ++++++++++++++++++++++++++++++-
>  1 file changed, 30 insertions(+), 1 deletion(-)
> 
> diff --git a/src/sbbr/acpitables/acpitables.c b/src/sbbr/acpitables/acpitables.c
> index fa63be64..0919250b 100644
> --- a/src/sbbr/acpitables/acpitables.c
> +++ b/src/sbbr/acpitables/acpitables.c
> @@ -195,6 +195,22 @@ static int acpi_table_sbbr_check_test2(fwts_framework *fw)
>  	return FWTS_OK;
>  }
>  
> +/* List of mandatory ACPI tables (SBBR 4.2.1) */
> +static const char *mandatory_acpi_tables[] = {
> +	"RSDP",
> +	"XSDT",
> +	"FACP",
> +	"DSDT",
> +	"SSDT",
> +	"MADT",
> +	"GTDT",
> +	"DBG2",
> +	"SPCR",
> +	"MCFG",
> +	"PPTT",
> +	NULL
> +};
> +
>  /* List of ACPI tables recommended by SBBR 4.2.2 */
>  static const char *recommended_acpi_tables[] = {
>  	"MCFG",
> @@ -235,6 +251,19 @@ static int acpi_table_sbbr_check_test3(fwts_framework *fw)
>  {
>  	uint32_t i;
>  
> +	for (i = 0; mandatory_acpi_tables[i] != NULL; i++) {
> +		fwts_acpi_table_info *info;

FYI, we could use:

	size_t i;

	for (i = 0; i < FWTS_ARRAY_SIZE(mandatory_acpi_tables); i++) {

..and remove the NULL from the mandatory_acpi_tables array to save a few
bytes.

I think this could be addressed with a subsequent patch rather than
nack'ing it here.

> +
> +		info = sbbr_search_acpi_tables(fw, mandatory_acpi_tables[i]);
> +		if (info == NULL) {
> +			fwts_failed(fw, LOG_LEVEL_CRITICAL, "SBBRTableNotFound",
> +				    "SBBR mandatory ACPI table \"%s\" not found.", mandatory_acpi_tables[i]);
> +		} else {
> +			fwts_passed(fw, "SBBR mandatory ACPI table \"%s\" found.",
> +			            mandatory_acpi_tables[i]);
> +		}
> +	}
> +
>  	for (i = 0; recommended_acpi_tables[i] != NULL; i++) {
>  		fwts_acpi_table_info *info;
>  
> @@ -253,7 +282,7 @@ static int acpi_table_sbbr_check_test3(fwts_framework *fw)
>  static fwts_framework_minor_test acpi_table_sbbr_check_tests[] = {
>  	{ acpi_table_sbbr_namespace_check_test1, "Test that processors only exist in the _SB namespace." },
>  	{ acpi_table_sbbr_check_test2, "Test DSDT and SSDT tables are implemented." },
> -	{ acpi_table_sbbr_check_test3, "Check for recommended ACPI tables." },
> +	{ acpi_table_sbbr_check_test3, "Check for mandatory and recommended ACPI tables." },
>  	{ NULL, NULL }
>  };
>  
> 


Acked-by: Colin Ian King <colin.king at canonical.com>



More information about the fwts-devel mailing list