[PATCH] fwts_acpu_tables: move array gas_space_id_names into get_space_id_name

ivanhu ivan.hu at canonical.com
Mon Apr 12 07:29:56 UTC 2021



On 4/12/21 4:45 AM, Alex Hung wrote:
> There is a typo in subject - it should be "fwts_acpi_tables" instead of
> "fwts_acpu_tables"


Maybe I can modify it when I apply the patch.
Acked-by: Ivan Hu <ivan.hu at canonical.com>

> 
> On 2021-04-11 7:09 a.m., Colin King wrote:
>> From: Colin Ian King <colin.king at canonical.com>
>>
>> The scope of gas_space_id_names is limited to function get_space_id_name
>> so move it into the function. Also add array bounds checking based
>> on the array size and don't rely on index position 0x0b to cater for
>> id 0x7f as we may add more GAS types in the future and this last index
>> position will change, just use a literal string instead.
>>
>> Signed-off-by: Colin Ian King <colin.king at canonical.com>
>> ---
>>  src/lib/src/fwts_acpi_tables.c | 46 ++++++++++++++++++----------------
>>  1 file changed, 25 insertions(+), 21 deletions(-)
>>
>> diff --git a/src/lib/src/fwts_acpi_tables.c b/src/lib/src/fwts_acpi_tables.c
>> index ac3b9890..b870bffd 100644
>> --- a/src/lib/src/fwts_acpi_tables.c
>> +++ b/src/lib/src/fwts_acpi_tables.c
>> @@ -1604,30 +1604,34 @@ void fwts_acpi_reserved_type_check(
>>  }
>>  
>>  /*
>> - *  Space Id defined for Generic Address Structure (GAS)
>> - *  See Table 5.1: Generic Address Structure (GAS) in ACPI spec
>> - *  Also see fwts_acpi.h
>> + *  get_space_id_name()
>> + *  convert Generic Address Structure to a string, NULL if undefined
>>   */
>> -static const char *gas_space_id_names[] = {
>> -	"System Memory (0x0)",
>> -	"System I/O (0x1)",
>> -	"PCI Configuration (0x2)",
>> -	"Embedded Controller (0x3)",
>> -	"SMBus (0x4)",
>> -	"SystemCMOS (0x5)",
>> -	"PciBarTarget (0x6)",
>> -	"IPMI (0x7)",
>> -	"General PurposeIO (0x8)",
>> -	"GenericSerialBus (0x9)",
>> -	"Platform Communications Channel (0xa)",
>> -	"Functional Fixed Hardware (0x7f)",
>> -};
>> -
>> -static const char *get_space_id_name(uint8_t id) {
>> -	if (id <= 0x0a)
>> +static const char *get_space_id_name(const uint8_t id)
>> +{
>> +	/*
>> +	 *  Space Id defined for Generic Address Structure (GAS)
>> +	 *  See Table 5.1: Generic Address Structure (GAS) in ACPI spec
>> +	 *  Also see fwts_acpi.h
>> +	 */
>> +	static const char *gas_space_id_names[] = {
>> +		"System Memory (0x0)",
>> +		"System I/O (0x1)",
>> +		"PCI Configuration (0x2)",
>> +		"Embedded Controller (0x3)",
>> +		"SMBus (0x4)",
>> +		"SystemCMOS (0x5)",
>> +		"PciBarTarget (0x6)",
>> +		"IPMI (0x7)",
>> +		"General PurposeIO (0x8)",
>> +		"GenericSerialBus (0x9)",
>> +		"Platform Communications Channel (0xa)"
>> +	};
>> +
>> +	if (id < FWTS_ARRAY_SIZE(gas_space_id_names))
>>  		return gas_space_id_names[id];
>>  	else if (id == 0x7f)
>> -		return gas_space_id_names[0x0b];
>> +		return "Functional Fixed Hardware (0x7f)";
>>  	else
>>  		return NULL;
>>  }
>>
> 
> 



More information about the fwts-devel mailing list