[PATCH] acpi: acpidump: constify tables and func args, tidy up source
Colin King
colin.king at canonical.com
Wed Dec 4 13:58:43 UTC 2013
From: Colin Ian King <colin.king at canonical.com>
The acpidump tables and functions could do with some constification.
Also tidy up the source a little.
Signed-off-by: Colin Ian King <colin.king at canonical.com>
---
src/acpi/acpidump/acpidump.c | 614 +++++++++++++++++++++----------------------
1 file changed, 299 insertions(+), 315 deletions(-)
diff --git a/src/acpi/acpidump/acpidump.c b/src/acpi/acpidump/acpidump.c
index c592926..240f6a9 100644
--- a/src/acpi/acpidump/acpidump.c
+++ b/src/acpi/acpidump/acpidump.c
@@ -27,25 +27,27 @@
struct fwts_acpidump_field;
-typedef void (*fwts_acpidump_field_func)(fwts_framework *fw, struct fwts_acpidump_field *info, void *data, int offset);
-typedef char *(*fwts_acpidump_str_func)(uint64_t val);
+typedef void (*fwts_acpidump_field_func)(fwts_framework *fw,
+ const struct fwts_acpidump_field *info, const void *data, const int offset);
+typedef char *(*fwts_acpidump_str_func)(const uint64_t val);
typedef struct fwts_acpidump_field {
- char *label;
- int size;
- size_t offset;
- fwts_acpidump_field_func func;
- uint8_t bit_field_nbits;
- uint8_t bit_field_shift;
- char **strings;
- size_t strings_len;
- fwts_acpidump_str_func str_func;
+ const char *label; /* Name of field */
+ const int size; /* Size of field in struct in bytes */
+ const size_t offset; /* Offset of field from start of struct */
+ const fwts_acpidump_field_func func; /* Field dumping function */
+ const uint8_t bit_field_nbits; /* Number of bits in field to dump */
+ const uint8_t bit_field_shift; /* Shift offset in field */
+ const char **strings; /* field lookup string table */
+ const size_t strings_len; /* length of strings table (number of entries) */
+ const fwts_acpidump_str_func str_func; /* string dumping function */
} fwts_acpidump_field;
-#define FIELD(text, type, field, func, bit_field_nbits, bit_field_shift, strings, strings_len, str_func) \
- { \
- text, \
- sizeof(((type*)0)->field), \
+/* FIELD maps onto the fields in fwts_acpidump_field */
+#define FIELD(label, type, field, func, bit_field_nbits, bit_field_shift, strings, strings_len, str_func) \
+{ \
+ label, \
+ sizeof(((type *)0)->field), \
offsetof(type, field), \
func, \
bit_field_nbits, \
@@ -53,7 +55,7 @@ typedef struct fwts_acpidump_field {
strings, \
strings_len, \
str_func \
- }
+}
#define FIELD_UINT(text, type, field) \
FIELD(text, type, field, acpi_dump_uint, 0, 0, NULL, 0, NULL)
@@ -81,7 +83,10 @@ typedef struct fwts_acpidump_field {
#define FIELD_END { NULL, 0, 0, NULL, 0, 0, NULL, 0, NULL}
-static char *acpi_dump_field_info(char *label, int size, int offset)
+static char *acpi_dump_field_info(
+ const char *label,
+ const int size,
+ const int offset)
{
static char buffer[1024];
@@ -91,36 +96,42 @@ static char *acpi_dump_field_info(char *label, int size, int offset)
return buffer;
}
-static void acpi_dump_str(fwts_framework *fw, fwts_acpidump_field *info, void *data, int offset)
+static void acpi_dump_str(
+ fwts_framework *fw,
+ const fwts_acpidump_field *info,
+ const void *data,
+ const int offset)
{
fwts_log_info_verbatum(fw, "%s %*.*s",
acpi_dump_field_info(info->label, info->size, info->offset + offset),
- info->size, info->size,(char*)data);
+ info->size, info->size, (char *)data);
}
-static uint64_t apci_dump_get_uint64_t(fwts_acpidump_field *info, void *data)
+static uint64_t apci_dump_get_uint64_t(
+ const fwts_acpidump_field *info,
+ const void *data)
{
- uint64_t ret;
- uint64_t mask = (1ULL<<(uint64_t)info->bit_field_nbits) - 1;
+ uint64_t ret;
+ uint64_t mask = (1ULL << (uint64_t)info->bit_field_nbits) - 1;
int i;
switch (info->size) {
case 1:
- ret = (uint64_t)*(uint8_t*)data;
+ ret = (uint64_t)*(uint8_t *)data;
break;
case 2:
- ret = (uint64_t)*(uint16_t*)data;
+ ret = (uint64_t)*(uint16_t *)data;
break;
case 4:
- ret = (uint64_t)*(uint32_t*)data;
+ ret = (uint64_t)*(uint32_t *)data;
break;
case 8:
- ret = (uint64_t)*(uint64_t*)data;
+ ret = (uint64_t)*(uint64_t *)data;
break;
default:
ret = 0;
- for (i=0;(i<info->size) && (i<8); i++) {
- uint8_t val8 = *(uint8_t*)data++;
+ for (i = 0; (i < info->size) && (i < 8); i++) {
+ uint8_t val8 = *(uint8_t *)data++;
ret = (ret << 8) | val8;
}
break;
@@ -129,10 +140,13 @@ static uint64_t apci_dump_get_uint64_t(fwts_acpidump_field *info, void *data)
}
-static void acpi_dump_uint(fwts_framework *fw, fwts_acpidump_field *info, void *data, int offset)
+static void acpi_dump_uint(
+ fwts_framework *fw,
+ const fwts_acpidump_field *info,
+ const void *data,
+ const int offset)
{
- int i;
- int hexdigits = info->size << 1;
+ int i, hexdigits = info->size << 1;
uint64_t val = apci_dump_get_uint64_t(info, data);
switch (info->size) {
@@ -141,7 +155,7 @@ static void acpi_dump_uint(fwts_framework *fw, fwts_acpidump_field *info, void *
case 4:
case 8:
if (info->bit_field_nbits) {
- hexdigits = (3+info->bit_field_nbits) / 4;
+ hexdigits = (3 + info->bit_field_nbits) / 4;
fwts_log_info_verbatum(fw, "%57.57s: 0x%*.*" PRIx64, info->label,
hexdigits, hexdigits, val);
} else
@@ -150,18 +164,22 @@ static void acpi_dump_uint(fwts_framework *fw, fwts_acpidump_field *info, void *
hexdigits, hexdigits, val);
break;
default:
- for (i=0; i<info->size; i++) {
- uint8_t val8 = *(uint8_t*)data++;
- fwts_log_info_verbatum(fw, "%s 0x%2.2x [%d]", acpi_dump_field_info(info->label, info->size, info->offset + offset), val8, i);
+ for (i = 0; i < info->size; i++) {
+ uint8_t val8 = *(uint8_t *)data++;
+ fwts_log_info_verbatum(fw, "%s 0x%2.2x [%d]",
+ acpi_dump_field_info(info->label, info->size, info->offset + offset), val8, i);
}
break;
}
}
-static void acpi_dump_uints(fwts_framework *fw, fwts_acpidump_field *info, void *data, int offset)
+static void acpi_dump_uints(
+ fwts_framework *fw,
+ const fwts_acpidump_field *info,
+ const void *data,
+ const int offset)
{
- int n;
- int length = info->size;
+ size_t n, length = info->size;
uint8_t *ptr = (uint8_t *)data;
for (n = 0; n < length; n += 8) {
@@ -179,7 +197,11 @@ static void acpi_dump_uints(fwts_framework *fw, fwts_acpidump_field *info, void
}
}
-static void acpi_dump_guid(fwts_framework *fw, fwts_acpidump_field *info, void *data, int offset)
+static void acpi_dump_guid(
+ fwts_framework *fw,
+ const fwts_acpidump_field *info,
+ const void *data,
+ const int offset)
{
char guid[37];
@@ -188,44 +210,67 @@ static void acpi_dump_guid(fwts_framework *fw, fwts_acpidump_field *info, void *
acpi_dump_field_info(info->label, info->size, info->offset + offset), guid);
}
-static void acpi_dump_strings(fwts_framework *fw, fwts_acpidump_field *info, void *data, int offset)
+static void acpi_dump_strings(
+ fwts_framework *fw,
+ const fwts_acpidump_field *info,
+ const void *data,
+ const int offset)
{
int hexdigits = info->size << 1;
uint64_t val = apci_dump_get_uint64_t(info, data);
- fwts_log_info_verbatum(fw, "%s 0x%*.*llx (%s)", acpi_dump_field_info(info->label, info->size, info->offset + offset),
+ fwts_log_info_verbatum(fw, "%s 0x%*.*" PRIx64 " (%s)",
+ acpi_dump_field_info(info->label, info->size, info->offset + offset),
hexdigits, hexdigits,
- (unsigned long long)val, val > info->strings_len ? "Unknown" : info->strings[val]);
+ val, val > info->strings_len ? "Unknown" : info->strings[val]);
}
-static void acpi_dump_string_func(fwts_framework *fw, fwts_acpidump_field *info, void *data, int offset)
+static void acpi_dump_string_func(
+ fwts_framework *fw,
+ const fwts_acpidump_field *info,
+ const void *data,
+ const int offset)
{
int hexdigits = info->size << 1;
uint64_t val = apci_dump_get_uint64_t(info, data);
- fwts_log_info_verbatum(fw, "%s 0x%*.*llx (%s)", acpi_dump_field_info(info->label, info->size, info->offset + offset),
+ fwts_log_info_verbatum(fw, "%s 0x%*.*" PRIx64 " (%s)",
+ acpi_dump_field_info(info->label, info->size, info->offset + offset),
hexdigits, hexdigits,
- (unsigned long long)val, info->str_func(val));
+ val, info->str_func(val));
}
-static void acpi_dump_table_fields(fwts_framework *fw, uint8_t *data, fwts_acpidump_field *fields, int offset, size_t table_len)
+static void acpi_dump_table_fields(
+ fwts_framework *fw,
+ const uint8_t *data,
+ const fwts_acpidump_field *fields,
+ const int offset,
+ const size_t table_len)
{
- fwts_acpidump_field *field = fields;
+ const fwts_acpidump_field *field;
for (field = fields; field->label != NULL; field++)
if ((field->offset + field->size) <= table_len)
field->func(fw, field, data + field->offset, offset);
}
-static void __acpi_dump_table_fields(fwts_framework *fw, uint8_t *data, fwts_acpidump_field *fields, size_t offset)
+static void __acpi_dump_table_fields(
+ fwts_framework *fw,
+ const uint8_t *data,
+ const fwts_acpidump_field *fields,
+ const size_t offset)
{
- fwts_acpidump_field *field = fields;
+ const fwts_acpidump_field *field;
for (field = fields; field->label != NULL; field++)
field->func(fw, field, data + field->offset, offset);
}
-static void acpi_dump_raw_data(fwts_framework *fw, uint8_t *data, size_t length, size_t offset)
+static void acpi_dump_raw_data(
+ fwts_framework *fw,
+ const uint8_t *data,
+ const size_t length,
+ const size_t offset)
{
size_t n;
@@ -237,13 +282,13 @@ static void acpi_dump_raw_data(fwts_framework *fw, uint8_t *data, size_t length,
}
}
-static void acpi_dump_raw_table(fwts_framework *fw, fwts_acpi_table_info *table)
+static void acpi_dump_raw_table(fwts_framework *fw, const fwts_acpi_table_info *table)
{
fwts_log_nl(fw);
acpi_dump_raw_data(fw, (uint8_t *)table->data, table->length, 0);
}
-static char *acpi_dump_gas_address_space_id(uint64_t index)
+static char *acpi_dump_gas_address_space_id(const uint64_t index)
{
char *txt;
@@ -281,9 +326,13 @@ static char *acpi_dump_gas_address_space_id(uint64_t index)
return txt;
}
-static void acpi_dump_gas(fwts_framework *fw, fwts_acpidump_field *info, void *data, int offset)
+static void acpi_dump_gas(
+ fwts_framework *fw,
+ const fwts_acpidump_field *info,
+ const void *data,
+ const int offset)
{
- static char *access_width[] = {
+ static const char const *access_width[] = {
"Undefined (legacy reasons)",
"Byte Access",
"Word Access",
@@ -292,7 +341,7 @@ static void acpi_dump_gas(fwts_framework *fw, fwts_acpidump_field *info, void *d
"Unknown",
};
- static fwts_acpidump_field fields[] = {
+ static const fwts_acpidump_field fields[] = {
FIELD_STRF(" addr_space_id", fwts_acpi_gas, address_space_id, acpi_dump_gas_address_space_id),
FIELD_UINT(" reg_bit_width", fwts_acpi_gas, register_bit_width),
FIELD_UINT(" reg_bit_offset", fwts_acpi_gas, register_bit_offset),
@@ -310,10 +359,12 @@ static void acpi_dump_gas(fwts_framework *fw, fwts_acpidump_field *info, void *d
__acpi_dump_table_fields(fw, data, fields, info->offset);
}
-
-static void acpidump_hdr(fwts_framework *fw, fwts_acpi_table_header *hdr, int length)
+static void acpidump_hdr(
+ fwts_framework *fw,
+ const fwts_acpi_table_header *hdr,
+ const int length)
{
- static fwts_acpidump_field fields[] = {
+ static const fwts_acpidump_field fields[] = {
FIELD_STR ("Signature", fwts_acpi_table_header, signature),
FIELD_UINT("Length", fwts_acpi_table_header, length),
FIELD_UINT("Revision", fwts_acpi_table_header, revision),
@@ -326,17 +377,16 @@ static void acpidump_hdr(fwts_framework *fw, fwts_acpi_table_header *hdr, int le
FIELD_END
};
- acpi_dump_table_fields(fw, (uint8_t*)hdr, fields, 0, length);
+ acpi_dump_table_fields(fw, (uint8_t *)hdr, fields, 0, length);
}
-static void acpidump_boot(fwts_framework *fw, fwts_acpi_table_info *table)
+static void acpidump_boot(fwts_framework *fw, const fwts_acpi_table_info *table)
{
- uint8_t *data = (uint8_t *)table->data;
size_t length = table->length;
uint8_t cmos_data;
- fwts_acpi_table_boot *boot = (fwts_acpi_table_boot*)data;
+ fwts_acpi_table_boot *boot = (fwts_acpi_table_boot *)table->data;
- fwts_acpidump_field fields[] = {
+ static const fwts_acpidump_field fields[] = {
FIELD_UINT("CMOS offset", fwts_acpi_table_boot, cmos_index),
FIELD_END
};
@@ -346,7 +396,7 @@ static void acpidump_boot(fwts_framework *fw, fwts_acpi_table_info *table)
return;
}
- acpi_dump_table_fields(fw, data, fields, 0, length);
+ acpi_dump_table_fields(fw, table->data, fields, 0, length);
/*
* We can only run the CMOS validation if we are sure the
@@ -371,28 +421,22 @@ static void acpidump_boot(fwts_framework *fw, fwts_acpi_table_info *table)
}
-static void acpidump_bert(fwts_framework *fw, fwts_acpi_table_info *table)
+static void acpidump_bert(fwts_framework *fw, const fwts_acpi_table_info *table)
{
- uint8_t *data = (uint8_t *)table->data;
- size_t length = table->length;
-
- static fwts_acpidump_field fields[] = {
+ static const fwts_acpidump_field fields[] = {
FIELD_UINT("Region Length", fwts_acpi_table_bert, boot_error_region_length),
FIELD_UINT("Region Addr", fwts_acpi_table_bert, boot_error_region),
FIELD_END
};
- acpi_dump_table_fields(fw, data, fields, length, length);
+ acpi_dump_table_fields(fw, table->data, fields, table->length, table->length);
}
-static void acpidump_cpep(fwts_framework *fw, fwts_acpi_table_info *table)
+static void acpidump_cpep(fwts_framework *fw, const fwts_acpi_table_info *table)
{
- uint8_t *data = (uint8_t *)table->data;
- size_t length = table->length;
- int i;
- int n = (length - sizeof(fwts_acpi_table_bert)) / sizeof(fwts_acpi_cpep_processor_info);
+ size_t i, n = (table->length - sizeof(fwts_acpi_table_bert)) / sizeof(fwts_acpi_cpep_processor_info);
- for (i=0; i<n; i++) {
+ for (i = 0; i < n; i++) {
fwts_acpidump_field fields[] = {
FIELD_UINT(" Type", fwts_acpi_table_cpep, cpep_info[i].type),
FIELD_UINT(" Length", fwts_acpi_table_cpep, cpep_info[i].length),
@@ -401,19 +445,17 @@ static void acpidump_cpep(fwts_framework *fw, fwts_acpi_table_info *table)
FIELD_UINT(" Poll Interval (ms)",fwts_acpi_table_cpep, cpep_info[i].polling_interval),
FIELD_END
};
- fwts_log_info_verbatum(fw, "CPEP #%d\n", i);
- __acpi_dump_table_fields(fw, data, fields, 0);
+ fwts_log_info_verbatum(fw, "CPEP #%zu\n", i);
+ __acpi_dump_table_fields(fw, table->data, fields, 0);
};
}
-static void acpidump_ecdt(fwts_framework *fw, fwts_acpi_table_info *table)
+static void acpidump_ecdt(fwts_framework *fw, const fwts_acpi_table_info *table)
{
- uint8_t *data = (uint8_t *)table->data;
- size_t length = table->length;
- fwts_acpi_table_ecdt *ecdt = (fwts_acpi_table_ecdt*)data;
- int n = length - sizeof(fwts_acpi_table_ecdt);
+ size_t n = table->length - sizeof(fwts_acpi_table_ecdt);
+ fwts_acpi_table_ecdt *ecdt = (fwts_acpi_table_ecdt *)table->data;
- static fwts_acpidump_field fields[] = {
+ static const fwts_acpidump_field fields[] = {
FIELD_GAS ("EC_CONTROL",fwts_acpi_table_ecdt, ec_control),
FIELD_GAS ("EC_DATA", fwts_acpi_table_ecdt, ec_data),
FIELD_UINT("UID", fwts_acpi_table_ecdt, uid),
@@ -421,20 +463,18 @@ static void acpidump_ecdt(fwts_framework *fw, fwts_acpi_table_info *table)
FIELD_END
};
- acpi_dump_table_fields(fw, data, fields, 0, length);
+ acpi_dump_table_fields(fw, table->data, fields, 0, table->length);
fwts_log_info_verbatum(fw, "EC_ID:");
fwts_log_nl(fw);
acpi_dump_raw_data(fw, ecdt->ec_id, n, sizeof(fwts_acpi_table_ecdt));
}
-static void acpidump_erst(fwts_framework *fw, fwts_acpi_table_info *table)
+static void acpidump_erst(fwts_framework *fw, const fwts_acpi_table_info *table)
{
- uint8_t *data = (uint8_t *)table->data;
- size_t length = table->length;
uint32_t i;
- static char *serialization_actions[] = {
+ static const char *serialization_actions[] = {
"BEGIN_WRITE_OPERATION",
"BEGIN_READ_OPERATION",
"BEGIN_CLEAR_OPERATION",
@@ -456,7 +496,7 @@ static void acpidump_erst(fwts_framework *fw, fwts_acpi_table_info *table)
"GET_ERROR_LOG_ADDRESS_RANGE_ATTRIBUTES"
};
- static char *instructions[] = {
+ static const char *instructions[] = {
"READ_REGISTER",
"READ_REGISTER_VALUE",
"WRITE_REGISTER",
@@ -482,17 +522,17 @@ static void acpidump_erst(fwts_framework *fw, fwts_acpi_table_info *table)
"MOVE_DATA"
};
- fwts_acpi_table_erst *erst = (fwts_acpi_table_erst*)data;
+ fwts_acpi_table_erst *erst = (fwts_acpi_table_erst *)table->data;
- static fwts_acpidump_field fields[] = {
+ static const fwts_acpidump_field fields[] = {
FIELD_UINT("Serialization Hdr. Size", fwts_acpi_table_erst, serialization_header_size),
FIELD_UINT("Insrtuction Entry Count", fwts_acpi_table_erst, instruction_entry_count),
FIELD_END
};
- acpi_dump_table_fields(fw, data, fields, 0, length);
+ acpi_dump_table_fields(fw, table->data, fields, 0, table->length);
- for (i=0; i<erst->instruction_entry_count; i++) {
+ for (i = 0; i < erst->instruction_entry_count; i++) {
fwts_acpidump_field entry_fields[] = {
FIELD_STRS(" Action", fwts_acpi_table_erst, entries[i].serialization_action, serialization_actions, 16),
FIELD_STRS(" Instruction", fwts_acpi_table_erst, entries[i].instruction, instructions, 19),
@@ -503,22 +543,19 @@ static void acpidump_erst(fwts_framework *fw, fwts_acpi_table_info *table)
FIELD_END
};
fwts_log_info_verbatum(fw, "Entry #%" PRIu32, i+1);
- __acpi_dump_table_fields(fw, data, entry_fields, 0);
+ __acpi_dump_table_fields(fw, table->data, entry_fields, 0);
}
}
-static void acpidump_amlcode(fwts_framework *fw, fwts_acpi_table_info *table)
+static void acpidump_amlcode(fwts_framework *fw, const fwts_acpi_table_info *table)
{
fwts_log_info_verbatum(fw, "Contains 0x%zx bytes of AML byte code",
table->length-sizeof(fwts_acpi_table_header));
}
-static void acpidump_facs(fwts_framework *fw, fwts_acpi_table_info *table)
+static void acpidump_facs(fwts_framework *fw, const fwts_acpi_table_info *table)
{
- uint8_t *data = (uint8_t *)table->data;
- size_t length = table->length;
-
- static fwts_acpidump_field fields[] = {
+ static const fwts_acpidump_field fields[] = {
FIELD_STR ("Signature", fwts_acpi_table_facs, signature),
FIELD_UINT("Length", fwts_acpi_table_facs, length),
FIELD_UINT("H/W Signature", fwts_acpi_table_facs, hardware_signature),
@@ -531,15 +568,12 @@ static void acpidump_facs(fwts_framework *fw, fwts_acpi_table_info *table)
FIELD_END
};
- acpi_dump_table_fields(fw, data, fields, 0, length);
+ acpi_dump_table_fields(fw, table->data, fields, 0, table->length);
}
-static void acpidump_hpet(fwts_framework *fw, fwts_acpi_table_info *table)
+static void acpidump_hpet(fwts_framework *fw, const fwts_acpi_table_info *table)
{
- uint8_t *data = (uint8_t *)table->data;
- size_t length = table->length;
-
- static fwts_acpidump_field fields[] = {
+ static const fwts_acpidump_field fields[] = {
FIELD_UINT("Event Timer ID", fwts_acpi_table_hpet, event_timer_block_id),
FIELD_BITF(" Hardware Rev", fwts_acpi_table_hpet, event_timer_block_id, 8, 0),
FIELD_BITF(" Num Comparitors", fwts_acpi_table_hpet, event_timer_block_id, 5, 8),
@@ -556,33 +590,30 @@ static void acpidump_hpet(fwts_framework *fw, fwts_acpi_table_info *table)
FIELD_END
};
- acpi_dump_table_fields(fw, data, fields, 0, length);
+ acpi_dump_table_fields(fw, table->data, fields, 0, table->length);
}
-static void acpidump_fadt(fwts_framework *fw, fwts_acpi_table_info *table)
+static void acpidump_fadt(fwts_framework *fw, const fwts_acpi_table_info *table)
{
- uint8_t *data = (uint8_t *)table->data;
- size_t length = table->length;
-
- static fwts_acpidump_field fields[] = {
- FIELD_UINT("FACS Address", fwts_acpi_table_fadt, firmware_control),
- FIELD_UINT("DSDT Address", fwts_acpi_table_fadt, dsdt),
- FIELD_UINT("Model", fwts_acpi_table_fadt, reserved),
- FIELD_STRS("PM Profile", fwts_acpi_table_fadt, preferred_pm_profile, fwts_acpi_fadt_preferred_pm_profile, 8),
- FIELD_UINT("SCI Interrupt", fwts_acpi_table_fadt, sci_int),
- FIELD_UINT("SMI Command Port", fwts_acpi_table_fadt, smi_cmd),
- FIELD_UINT("ACPI Enable Value", fwts_acpi_table_fadt, acpi_enable),
- FIELD_UINT("ACPI Disable Value",fwts_acpi_table_fadt, acpi_disable),
- FIELD_UINT("S4BIOS Command", fwts_acpi_table_fadt, s4bios_req),
- FIELD_UINT("P-State Control", fwts_acpi_table_fadt, pstate_cnt),
- FIELD_UINT("PM1A Event Block", fwts_acpi_table_fadt, pm1a_evt_blk),
- FIELD_UINT("PM1B Event Block", fwts_acpi_table_fadt, pm1b_evt_blk),
- FIELD_UINT("PM1A Control Block",fwts_acpi_table_fadt, pm1a_cnt_blk),
- FIELD_UINT("PM1B Control Block",fwts_acpi_table_fadt, pm1b_cnt_blk),
- FIELD_UINT("PM2 Control Block", fwts_acpi_table_fadt, pm2_cnt_blk),
- FIELD_UINT("PM Timer Block", fwts_acpi_table_fadt, pm_tmr_blk),
- FIELD_UINT("GPE0 Block", fwts_acpi_table_fadt, gpe0_blk),
- FIELD_UINT("GPE1 Block", fwts_acpi_table_fadt, gpe1_blk),
+ static const fwts_acpidump_field fields[] = {
+ FIELD_UINT("FACS Address", fwts_acpi_table_fadt, firmware_control),
+ FIELD_UINT("DSDT Address", fwts_acpi_table_fadt, dsdt),
+ FIELD_UINT("Model", fwts_acpi_table_fadt, reserved),
+ FIELD_STRS("PM Profile", fwts_acpi_table_fadt, preferred_pm_profile, fwts_acpi_fadt_preferred_pm_profile, 8),
+ FIELD_UINT("SCI Interrupt", fwts_acpi_table_fadt, sci_int),
+ FIELD_UINT("SMI Command Port", fwts_acpi_table_fadt, smi_cmd),
+ FIELD_UINT("ACPI Enable Value", fwts_acpi_table_fadt, acpi_enable),
+ FIELD_UINT("ACPI Disable Value", fwts_acpi_table_fadt, acpi_disable),
+ FIELD_UINT("S4BIOS Command", fwts_acpi_table_fadt, s4bios_req),
+ FIELD_UINT("P-State Control", fwts_acpi_table_fadt, pstate_cnt),
+ FIELD_UINT("PM1A Event Block", fwts_acpi_table_fadt, pm1a_evt_blk),
+ FIELD_UINT("PM1B Event Block", fwts_acpi_table_fadt, pm1b_evt_blk),
+ FIELD_UINT("PM1A Control Block", fwts_acpi_table_fadt, pm1a_cnt_blk),
+ FIELD_UINT("PM1B Control Block", fwts_acpi_table_fadt, pm1b_cnt_blk),
+ FIELD_UINT("PM2 Control Block", fwts_acpi_table_fadt, pm2_cnt_blk),
+ FIELD_UINT("PM Timer Block", fwts_acpi_table_fadt, pm_tmr_blk),
+ FIELD_UINT("GPE0 Block", fwts_acpi_table_fadt, gpe0_blk),
+ FIELD_UINT("GPE1 Block", fwts_acpi_table_fadt, gpe1_blk),
FIELD_UINT("PM1 Event Block Length", fwts_acpi_table_fadt, pm1_evt_len),
FIELD_UINT("PM1 Control Block Length", fwts_acpi_table_fadt, pm1_cnt_len),
FIELD_UINT("PM2 Control Block Length", fwts_acpi_table_fadt, pm2_cnt_len),
@@ -629,34 +660,30 @@ static void acpidump_fadt(fwts_framework *fw, fwts_acpi_table_info *table)
FIELD_BITF(" Use APIC Physical Dest. Mode (V4)", fwts_acpi_table_fadt, flags, 1, 19),
FIELD_BITF(" ACPI hardware is not implemented (V5)", fwts_acpi_table_fadt, flags, 1, 20),
FIELD_BITF(" S0 power savings are equal or better than S3 (V5)", fwts_acpi_table_fadt, flags, 1, 21),
- FIELD_BITF(" RESERVED", fwts_acpi_table_fadt, flags, 10, 22),
- FIELD_GAS ("RESET_REG", fwts_acpi_table_fadt, reset_reg),
- FIELD_UINT("RESET_VALUE", fwts_acpi_table_fadt, reset_value),
- FIELD_UINT("X_FIRMWARE_CTRL", fwts_acpi_table_fadt, x_firmware_ctrl),
- FIELD_UINT("X_DSDT", fwts_acpi_table_fadt, x_dsdt),
- FIELD_GAS ("X_PM1a_EVT_BLK", fwts_acpi_table_fadt, x_pm1a_evt_blk),
- FIELD_GAS ("X_PM1b_EVT_BLK", fwts_acpi_table_fadt, x_pm1b_evt_blk),
- FIELD_GAS ("X_PM1a_CNT_BLK", fwts_acpi_table_fadt, x_pm1a_cnt_blk),
- FIELD_GAS ("X_PM1b_CNT_BLK", fwts_acpi_table_fadt, x_pm1b_cnt_blk),
- FIELD_GAS ("X_PM2_CNT_BLK", fwts_acpi_table_fadt, x_pm2_cnt_blk),
- FIELD_GAS ("X_PM_TMR_BLK", fwts_acpi_table_fadt, x_pm_tmr_blk),
- FIELD_GAS ("X_GPE0_BLK", fwts_acpi_table_fadt, x_gpe0_blk),
- FIELD_GAS ("X_GPE1_BLK", fwts_acpi_table_fadt, x_gpe1_blk),
- FIELD_GAS ("SLEEP_CONTROL_REG", fwts_acpi_table_fadt, sleep_control_reg),
- FIELD_GAS ("SLEEP_STATUS_REG", fwts_acpi_table_fadt, sleep_status_reg),
+ FIELD_BITF(" RESERVED", fwts_acpi_table_fadt, flags, 10, 22),
+ FIELD_GAS ("RESET_REG", fwts_acpi_table_fadt, reset_reg),
+ FIELD_UINT("RESET_VALUE", fwts_acpi_table_fadt, reset_value),
+ FIELD_UINT("X_FIRMWARE_CTRL", fwts_acpi_table_fadt, x_firmware_ctrl),
+ FIELD_UINT("X_DSDT", fwts_acpi_table_fadt, x_dsdt),
+ FIELD_GAS ("X_PM1a_EVT_BLK", fwts_acpi_table_fadt, x_pm1a_evt_blk),
+ FIELD_GAS ("X_PM1b_EVT_BLK", fwts_acpi_table_fadt, x_pm1b_evt_blk),
+ FIELD_GAS ("X_PM1a_CNT_BLK", fwts_acpi_table_fadt, x_pm1a_cnt_blk),
+ FIELD_GAS ("X_PM1b_CNT_BLK", fwts_acpi_table_fadt, x_pm1b_cnt_blk),
+ FIELD_GAS ("X_PM2_CNT_BLK", fwts_acpi_table_fadt, x_pm2_cnt_blk),
+ FIELD_GAS ("X_PM_TMR_BLK", fwts_acpi_table_fadt, x_pm_tmr_blk),
+ FIELD_GAS ("X_GPE0_BLK", fwts_acpi_table_fadt, x_gpe0_blk),
+ FIELD_GAS ("X_GPE1_BLK", fwts_acpi_table_fadt, x_gpe1_blk),
+ FIELD_GAS ("SLEEP_CONTROL_REG", fwts_acpi_table_fadt, sleep_control_reg),
+ FIELD_GAS ("SLEEP_STATUS_REG", fwts_acpi_table_fadt, sleep_status_reg),
FIELD_END
};
- acpi_dump_table_fields(fw, data, fields, 0, length);
-
+ acpi_dump_table_fields(fw, table->data, fields, 0, table->length);
}
-static void acpidump_rsdp(fwts_framework *fw, fwts_acpi_table_info *table)
+static void acpidump_rsdp(fwts_framework *fw, const fwts_acpi_table_info *table)
{
- uint8_t *data = (uint8_t *)table->data;
- size_t length = table->length;
-
- static fwts_acpidump_field fields[] = {
+ static const fwts_acpidump_field fields[] = {
FIELD_STR ("Signature", fwts_acpi_table_rsdp, signature),
FIELD_UINT("Checksum", fwts_acpi_table_rsdp, checksum),
FIELD_STR ("OEM ID", fwts_acpi_table_rsdp, oem_id),
@@ -669,25 +696,21 @@ static void acpidump_rsdp(fwts_framework *fw, fwts_acpi_table_info *table)
FIELD_END
};
- acpi_dump_table_fields(fw, data, fields, 0, length);
+ acpi_dump_table_fields(fw, table->data, fields, 0, table->length);
}
-static void acpidump_rsdt(fwts_framework *fw, fwts_acpi_table_info *table)
+static void acpidump_rsdt(fwts_framework *fw, const fwts_acpi_table_info *table)
{
- uint8_t *data = (uint8_t *)table->data;
- size_t length = table->length;
- int i;
- int n;
- fwts_acpi_table_rsdt *rsdt = (fwts_acpi_table_rsdt*)data;
+ size_t i, n = (table->length - sizeof(fwts_acpi_table_header)) / sizeof(uint32_t);
+ fwts_acpi_table_rsdt *rsdt = (fwts_acpi_table_rsdt *)table->data;
- n = (length - sizeof(fwts_acpi_table_header)) / sizeof(uint32_t);
- for (i=0; i<n; i++) {
+ for (i = 0; i < n; i++) {
char label[80];
fwts_acpi_table_info *table;
if (fwts_acpi_find_table_by_addr(fw, (uint64_t)rsdt->entries[i], &table) == FWTS_OK) {
char *name = table == NULL ? "unknown" : table->name;
- snprintf(label, sizeof(label), "Entry %2.2d %s", i, name);
+ snprintf(label, sizeof(label), "Entry %2.2zu %s", i, name);
fwts_log_info_verbatum(fw, "%s 0x%8.8x",
acpi_dump_field_info(label, sizeof(rsdt->entries[i]), offsetof(fwts_acpi_table_rsdt, entries[i])),
rsdt->entries[i]);
@@ -695,37 +718,30 @@ static void acpidump_rsdt(fwts_framework *fw, fwts_acpi_table_info *table)
}
}
-static void acpidump_sbst(fwts_framework *fw, fwts_acpi_table_info *table)
+static void acpidump_sbst(fwts_framework *fw, const fwts_acpi_table_info *table)
{
- uint8_t *data = (uint8_t *)table->data;
- size_t length = table->length;
-
- static fwts_acpidump_field fields[] = {
+ static const fwts_acpidump_field fields[] = {
FIELD_UINT("Warn. Energy Level", fwts_acpi_table_sbst, warning_energy_level),
FIELD_UINT("Low Energy Level", fwts_acpi_table_sbst, low_energy_level),
FIELD_UINT("Crit. Energy Level", fwts_acpi_table_sbst, critical_energy_level),
FIELD_END
};
- acpi_dump_table_fields(fw, data, fields, 0, length);
+ acpi_dump_table_fields(fw, table->data, fields, 0, table->length);
}
-static void acpidump_xsdt(fwts_framework *fw, fwts_acpi_table_info *table)
+static void acpidump_xsdt(fwts_framework *fw, const fwts_acpi_table_info *table)
{
- uint8_t *data = (uint8_t *)table->data;
- size_t length = table->length;
- int i;
- int n;
- fwts_acpi_table_xsdt *xsdt = (fwts_acpi_table_xsdt*)data;
+ size_t i, n = (table->length - sizeof(fwts_acpi_table_header)) / sizeof(uint64_t);
+ fwts_acpi_table_xsdt *xsdt = (fwts_acpi_table_xsdt *)table->data;
- n = (length - sizeof(fwts_acpi_table_header)) / sizeof(uint64_t);
- for (i=0; i<n; i++) {
+ for (i = 0; i < n; i++) {
char label[80];
fwts_acpi_table_info *table;
if (fwts_acpi_find_table_by_addr(fw, xsdt->entries[i], &table) == FWTS_OK) {
char *name = table == NULL ? "unknown" : table->name;
- snprintf(label, sizeof(label), "Entry %2.2d %s", i, name);
+ snprintf(label, sizeof(label), "Entry %2.2zu %s", i, name);
fwts_log_info_verbatum(fw, "%s 0x%16.16" PRIx64,
acpi_dump_field_info(label, sizeof(xsdt->entries[i]), offsetof(fwts_acpi_table_xsdt, entries[i])),
xsdt->entries[i]);
@@ -733,14 +749,13 @@ static void acpidump_xsdt(fwts_framework *fw, fwts_acpi_table_info *table)
}
}
-static void acpidump_madt(fwts_framework *fw, fwts_acpi_table_info *table)
+static void acpidump_madt(fwts_framework *fw, const fwts_acpi_table_info *table)
{
uint8_t *data = (uint8_t *)table->data;
- size_t length = table->length;
+ size_t offset = 0, length = table->length;
int i = 0;
- size_t offset = 0;
- static fwts_acpidump_field fields[] = {
+ static const fwts_acpidump_field fields[] = {
FIELD_UINT("Local APIC Address", fwts_acpi_table_madt, lapic_address),
FIELD_UINT("Flags", fwts_acpi_table_madt, flags),
FIELD_BITF(" PCAT_COMPAT", fwts_acpi_table_madt, flags, 1, 0),
@@ -754,7 +769,7 @@ static void acpidump_madt(fwts_framework *fw, fwts_acpi_table_info *table)
while (length > (int)sizeof(fwts_acpi_madt_sub_table_header)) {
int skip = 0;
- fwts_acpi_madt_sub_table_header *hdr = (fwts_acpi_madt_sub_table_header*)data;
+ fwts_acpi_madt_sub_table_header *hdr = (fwts_acpi_madt_sub_table_header *)data;
data += sizeof(fwts_acpi_madt_sub_table_header);
length -= sizeof(fwts_acpi_madt_sub_table_header);
@@ -765,7 +780,7 @@ static void acpidump_madt(fwts_framework *fw, fwts_acpi_table_info *table)
switch (hdr->type) {
case 0: {
- static fwts_acpidump_field fields_processor_local_apic[] = {
+ static const fwts_acpidump_field fields_processor_local_apic[] = {
FIELD_UINT(" ACPI CPU ID", fwts_acpi_madt_processor_local_apic, acpi_processor_id),
FIELD_UINT(" APIC ID", fwts_acpi_madt_processor_local_apic, apic_id),
FIELD_UINT(" Flags", fwts_acpi_madt_processor_local_apic, flags),
@@ -778,7 +793,7 @@ static void acpidump_madt(fwts_framework *fw, fwts_acpi_table_info *table)
}
break;
case 1: {
- static fwts_acpidump_field fields_io_apic[] = {
+ static const fwts_acpidump_field fields_io_apic[] = {
FIELD_UINT(" I/O APIC ID", fwts_acpi_madt_io_apic, io_apic_id),
FIELD_UINT(" I/O APIC Addr", fwts_acpi_madt_io_apic, io_apic_phys_address),
FIELD_UINT(" Global IRQ Base", fwts_acpi_madt_io_apic, global_irq_base),
@@ -790,7 +805,7 @@ static void acpidump_madt(fwts_framework *fw, fwts_acpi_table_info *table)
}
break;
case 2: {
- static fwts_acpidump_field fields_madt_interrupt_override[] = {
+ static const fwts_acpidump_field fields_madt_interrupt_override[] = {
FIELD_UINT(" Bus", fwts_acpi_madt_interrupt_override, bus),
FIELD_UINT(" Source", fwts_acpi_madt_interrupt_override, source),
FIELD_UINT(" Gbl Sys Int", fwts_acpi_madt_interrupt_override, gsi),
@@ -803,7 +818,7 @@ static void acpidump_madt(fwts_framework *fw, fwts_acpi_table_info *table)
}
break;
case 3: {
- static fwts_acpidump_field fields_madt_nmi[] = {
+ static const fwts_acpidump_field fields_madt_nmi[] = {
FIELD_UINT(" Flags", fwts_acpi_madt_nmi, flags),
FIELD_UINT(" Gbl Sys Int", fwts_acpi_madt_nmi, gsi),
FIELD_END
@@ -814,7 +829,7 @@ static void acpidump_madt(fwts_framework *fw, fwts_acpi_table_info *table)
}
break;
case 4: {
- static fwts_acpidump_field fields_madt_local_apic_nmi[] = {
+ static const fwts_acpidump_field fields_madt_local_apic_nmi[] = {
FIELD_UINT(" ACPI CPU ID", fwts_acpi_madt_local_apic_nmi, acpi_processor_id),
FIELD_UINT(" Flags", fwts_acpi_madt_local_apic_nmi, flags),
FIELD_UINT(" Local APIC LINT", fwts_acpi_madt_local_apic_nmi, local_apic_lint),
@@ -826,7 +841,7 @@ static void acpidump_madt(fwts_framework *fw, fwts_acpi_table_info *table)
}
break;
case 5: {
- static fwts_acpidump_field fields_madt_local_apic_addr_override[] = {
+ static const fwts_acpidump_field fields_madt_local_apic_addr_override[] = {
FIELD_UINT(" Local APIC Addr", fwts_acpi_madt_local_apic_addr_override, address),
FIELD_END
};
@@ -836,7 +851,7 @@ static void acpidump_madt(fwts_framework *fw, fwts_acpi_table_info *table)
}
break;
case 6: {
- static fwts_acpidump_field fields_madt_io_sapic[] = {
+ static const fwts_acpidump_field fields_madt_io_sapic[] = {
FIELD_UINT(" I/O SAPIC ID", fwts_acpi_madt_io_sapic, io_sapic_id),
FIELD_UINT(" Gbl Sys Int", fwts_acpi_madt_io_sapic, gsi),
FIELD_UINT(" I/O SAPIC Addr", fwts_acpi_madt_io_sapic, address),
@@ -848,8 +863,8 @@ static void acpidump_madt(fwts_framework *fw, fwts_acpi_table_info *table)
}
break;
case 7: {
- fwts_acpi_madt_local_sapic *local_sapic = (fwts_acpi_madt_local_sapic*)data;
- static fwts_acpidump_field fields_madt_local_sapic[] = {
+ fwts_acpi_madt_local_sapic *local_sapic = (fwts_acpi_madt_local_sapic *)data;
+ static const fwts_acpidump_field fields_madt_local_sapic[] = {
FIELD_UINT(" ACPI CPU ID", fwts_acpi_madt_local_sapic, acpi_processor_id),
FIELD_UINT(" Local SAPIC ID", fwts_acpi_madt_local_sapic, local_sapic_id),
FIELD_UINT(" Local SAPIC EID", fwts_acpi_madt_local_sapic, local_sapic_eid),
@@ -865,7 +880,7 @@ static void acpidump_madt(fwts_framework *fw, fwts_acpi_table_info *table)
}
break;
case 8: {
- static fwts_acpidump_field fields_madt_local_sapic[] = {
+ static const fwts_acpidump_field fields_madt_local_sapic[] = {
FIELD_UINT(" Flags", fwts_acpi_madt_platform_int_source, flags),
FIELD_UINT(" Type", fwts_acpi_madt_platform_int_source, type),
FIELD_UINT(" Processor ID", fwts_acpi_madt_platform_int_source, processor_id),
@@ -881,7 +896,7 @@ static void acpidump_madt(fwts_framework *fw, fwts_acpi_table_info *table)
}
break;
case 9: {
- static fwts_acpidump_field fields_madt_local_x2apic[] = {
+ static const fwts_acpidump_field fields_madt_local_x2apic[] = {
FIELD_UINT(" x2APIC ID", fwts_acpi_madt_local_x2apic, x2apic_id),
FIELD_UINT(" Flags", fwts_acpi_madt_local_x2apic, flags),
FIELD_UINT(" Processor UID", fwts_acpi_madt_local_x2apic, processor_uid),
@@ -893,7 +908,7 @@ static void acpidump_madt(fwts_framework *fw, fwts_acpi_table_info *table)
}
break;
case 10: {
- static fwts_acpidump_field fields_madt_local_x2apic_nmi[] = {
+ static const fwts_acpidump_field fields_madt_local_x2apic_nmi[] = {
FIELD_UINT(" Flags", fwts_acpi_madt_local_x2apic_nmi, flags),
FIELD_UINT(" Processor UID", fwts_acpi_madt_local_x2apic_nmi, processor_uid),
FIELD_UINT(" LINT#", fwts_acpi_madt_local_x2apic_nmi, local_x2apic_lint),
@@ -905,7 +920,7 @@ static void acpidump_madt(fwts_framework *fw, fwts_acpi_table_info *table)
}
break;
case 11: {
- static fwts_acpidump_field fields_madt_gic[] = {
+ static const fwts_acpidump_field fields_madt_gic[] = {
FIELD_UINT(" Reserved", fwts_acpi_madt_gic, reserved),
FIELD_UINT(" GIC ID", fwts_acpi_madt_gic, gic_id),
FIELD_UINT(" Processor UID", fwts_acpi_madt_gic, processor_uid),
@@ -921,7 +936,7 @@ static void acpidump_madt(fwts_framework *fw, fwts_acpi_table_info *table)
}
break;
case 12: {
- static fwts_acpidump_field fields_madt_gicd[] = {
+ static const fwts_acpidump_field fields_madt_gicd[] = {
FIELD_UINT(" Reserved", fwts_acpi_madt_gicd, reserved),
FIELD_UINT(" GIC ID", fwts_acpi_madt_gicd, gic_id),
FIELD_UINT(" Phys. Base. Addr",fwts_acpi_madt_gicd, physical_base_address),
@@ -944,26 +959,22 @@ static void acpidump_madt(fwts_framework *fw, fwts_acpi_table_info *table)
}
}
-static void acpidump_mcfg(fwts_framework *fw, fwts_acpi_table_info *table)
+static void acpidump_mcfg(fwts_framework *fw, const fwts_acpi_table_info *table)
{
- uint8_t *data = (uint8_t *)table->data;
- size_t length = table->length;
- fwts_acpi_table_mcfg *mcfg = (fwts_acpi_table_mcfg*)data;
- size_t n;
- size_t i;
+ fwts_acpi_table_mcfg *mcfg = (fwts_acpi_table_mcfg *)table->data;
+ size_t i, n = table->length - sizeof(fwts_acpi_table_mcfg);
- static fwts_acpidump_field fields[] = {
+ static const fwts_acpidump_field fields[] = {
FIELD_UINT("Reserved", fwts_acpi_table_mcfg, reserved),
FIELD_END
};
- acpi_dump_table_fields(fw, data, fields, 0, length);
+ acpi_dump_table_fields(fw, table->data, fields, 0, table->length);
- n = length - sizeof(fwts_acpi_table_mcfg);
fwts_acpi_mcfg_configuration *config = mcfg->configuration;
for (i = 0; i < n / sizeof(fwts_acpi_mcfg_configuration); i++) {
- static fwts_acpidump_field fields_config[] = {
+ static const fwts_acpidump_field fields_config[] = {
FIELD_UINT(" Base Address", fwts_acpi_mcfg_configuration, base_address),
FIELD_UINT(" PCI Seg Grp Num", fwts_acpi_mcfg_configuration, pci_segment_group_number),
FIELD_UINT(" Start Bus Num", fwts_acpi_mcfg_configuration, start_bus_number),
@@ -974,20 +985,18 @@ static void acpidump_mcfg(fwts_framework *fw, fwts_acpi_table_info *table)
fwts_log_nl(fw);
fwts_log_info_verbatum(fw, "Configuration #%zd:", i+1);
- acpi_dump_table_fields(fw, (uint8_t*)config, fields_config, 0, length);
+ acpi_dump_table_fields(fw, (uint8_t *)config, fields_config, 0, table->length);
config++;
}
}
-static void acpidump_slit(fwts_framework *fw, fwts_acpi_table_info *table)
+static void acpidump_slit(fwts_framework *fw, const fwts_acpi_table_info *table)
{
- uint8_t *data = (uint8_t *)table->data;
- size_t length = table->length;
- fwts_acpi_table_slit *slit = (fwts_acpi_table_slit*)data;
+ fwts_acpi_table_slit *slit = (fwts_acpi_table_slit *)table->data;
uint64_t j = 0;
uint64_t k = 0;
- uint64_t n = length - sizeof(fwts_acpi_table_slit);
- uint8_t *entry;
+ uint64_t n = table->length - sizeof(fwts_acpi_table_slit);
+ const uint8_t *entry;
fwts_log_info_verbatum(fw, "# Sys Localities: 0x%" PRIx64 "(%" PRIu64 ")",
slit->num_of_system_localities, slit->num_of_system_localities);
@@ -997,7 +1006,7 @@ static void acpidump_slit(fwts_framework *fw, fwts_acpi_table_info *table)
}
else {
uint64_t i;
- entry = data + sizeof(fwts_acpi_table_slit);
+ entry = table->data + sizeof(fwts_acpi_table_slit);
for (i = 0; i < n; i++) {
fwts_log_info_verbatum(fw, "Entry[%2.2" PRIu64 "][%2.2" PRIu64 "]: %2.2x", j, k, *entry++);
@@ -1010,21 +1019,15 @@ static void acpidump_slit(fwts_framework *fw, fwts_acpi_table_info *table)
}
};
-
-static void acpidump_srat(fwts_framework *fw, fwts_acpi_table_info *table)
+static void acpidump_srat(fwts_framework *fw, const fwts_acpi_table_info *table)
{
- uint8_t *data = (uint8_t *)table->data;
- size_t length = table->length;
- uint8_t *ptr;
- int offset;
-
- ptr = data + sizeof(fwts_acpi_table_srat);
- offset = sizeof(fwts_acpi_table_srat);
+ uint8_t *ptr = (uint8_t *)table->data + sizeof(fwts_acpi_table_srat);
+ int offset = sizeof(fwts_acpi_table_srat);
- while (ptr < data + length) {
+ while (ptr < (uint8_t *)table->data + table->length) {
switch (*ptr) {
case 0: {
- static fwts_acpidump_field fields_lasa[] = {
+ static const fwts_acpidump_field fields_lasa[] = {
FIELD_UINT(" Proximity [7:0]", fwts_acpi_table_slit_local_apic_sapic_affinity, proximity_domain_0),
FIELD_UINT(" APIC ID", fwts_acpi_table_slit_local_apic_sapic_affinity, apic_id),
FIELD_UINT(" Flags", fwts_acpi_table_slit_local_apic_sapic_affinity, flags),
@@ -1042,7 +1045,7 @@ static void acpidump_srat(fwts_framework *fw, fwts_acpi_table_info *table)
}
break;
case 1: {
- static fwts_acpidump_field fields_ma[] = {
+ static const fwts_acpidump_field fields_ma[] = {
FIELD_UINT(" Prox. Domain", fwts_acpi_table_slit_memory_affinity, proximity_domain),
FIELD_UINT(" Base Addr Lo", fwts_acpi_table_slit_memory_affinity, base_addr_lo),
FIELD_UINT(" Base Addr Hi", fwts_acpi_table_slit_memory_affinity, base_addr_hi),
@@ -1058,7 +1061,7 @@ static void acpidump_srat(fwts_framework *fw, fwts_acpi_table_info *table)
}
break;
case 2: {
- static fwts_acpidump_field fields_xa[] = {
+ static const fwts_acpidump_field fields_xa[] = {
FIELD_UINT(" Prox. Domain", fwts_acpi_table_slit_local_x2apic_affinity, proximity_domain),
FIELD_UINT(" X2APIC ID", fwts_acpi_table_slit_local_x2apic_affinity, x2apic_id),
FIELD_UINT(" Flags", fwts_acpi_table_slit_local_x2apic_affinity, flags),
@@ -1072,25 +1075,22 @@ static void acpidump_srat(fwts_framework *fw, fwts_acpi_table_info *table)
}
break;
default:
- ptr = data + length; /* force abort */
+ ptr = (uint8_t *)table->data + table->length; /* force abort */
break;
}
}
}
-static void acpidump_tcpa(fwts_framework *fw, fwts_acpi_table_info *table)
+static void acpidump_tcpa(fwts_framework *fw, const fwts_acpi_table_info *table)
{
- uint8_t *data = (uint8_t *)table->data;
- size_t length = table->length;
-
- static fwts_acpidump_field fields[] = {
+ static const fwts_acpidump_field fields[] = {
FIELD_UINT("Reserved", fwts_acpi_table_tcpa, reserved),
FIELD_UINT("Log Zone Length", fwts_acpi_table_tcpa, log_zone_length),
FIELD_UINT("Log Zone Address", fwts_acpi_table_tcpa, log_zone_addr),
FIELD_END
};
- acpi_dump_table_fields(fw, data, fields, length, length);
+ acpi_dump_table_fields(fw, table->data, fields, table->length, table->length);
}
/*
@@ -1098,7 +1098,7 @@ static void acpidump_tcpa(fwts_framework *fw, fwts_acpi_table_info *table)
* dump out ASF! descruption table
* see: http://dmtf.org/documents/asf/alert-standard-format-asf-specification-200
*/
-static void acpidump_asf(fwts_framework *fw, fwts_acpi_table_info *table)
+static void acpidump_asf(fwts_framework *fw, const fwts_acpi_table_info *table)
{
uint8_t *data = (uint8_t *)table->data;
size_t length = table->length;
@@ -1106,7 +1106,7 @@ static void acpidump_asf(fwts_framework *fw, fwts_acpi_table_info *table)
ptr = data + sizeof(fwts_acpi_table_header);
- static fwts_acpidump_field asf_info_fields[] = {
+ static const fwts_acpidump_field asf_info_fields[] = {
FIELD_UINT("Watchdog Reset Value", fwts_acpi_table_asf_info, watchdog_reset_value),
FIELD_UINT("Min Sensor Poll Wait Time", fwts_acpi_table_asf_info, min_sensor_poll_wait_time),
FIELD_UINT("System ID", fwts_acpi_table_asf_info, id),
@@ -1118,7 +1118,7 @@ static void acpidump_asf(fwts_framework *fw, fwts_acpi_table_info *table)
FIELD_END
};
- static fwts_acpidump_field asf_alrt_fields[] = {
+ static const fwts_acpidump_field asf_alrt_fields[] = {
FIELD_UINT("Assertion Event Bit Mask", fwts_acpi_table_asf_alrt, assertion_mask),
FIELD_UINT("De-assertion Event Bit Mask", fwts_acpi_table_asf_alrt, deassertion_mask),
FIELD_UINT("Number of Alerts", fwts_acpi_table_asf_alrt, number_of_alerts),
@@ -1126,7 +1126,7 @@ static void acpidump_asf(fwts_framework *fw, fwts_acpi_table_info *table)
FIELD_END
};
- static fwts_acpidump_field asf_alrt_element_fields[] = {
+ static const fwts_acpidump_field asf_alrt_element_fields[] = {
FIELD_UINT("Alert Device Address", fwts_acpi_table_asf_alrt_element, device_addr),
FIELD_UINT("Alert Command", fwts_acpi_table_asf_alrt_element, command),
FIELD_UINT("Alert Data Mask", fwts_acpi_table_asf_alrt_element, data_mask),
@@ -1142,14 +1142,14 @@ static void acpidump_asf(fwts_framework *fw, fwts_acpi_table_info *table)
FIELD_END
};
- static fwts_acpidump_field asf_rctl_fields[] = {
+ static const fwts_acpidump_field asf_rctl_fields[] = {
FIELD_UINT("Number of Controls", fwts_acpi_table_asf_rctl, number_of_controls),
FIELD_UINT("Array Element Length", fwts_acpi_table_asf_rctl, array_element_length),
FIELD_UINT("Reserved", fwts_acpi_table_asf_rctl, reserved),
FIELD_END
};
- static fwts_acpidump_field asf_rctl_element_fields[] = {
+ static const fwts_acpidump_field asf_rctl_element_fields[] = {
FIELD_UINT("Control Function", fwts_acpi_table_asf_rctl_element, control_function),
FIELD_UINT("Control Device Address", fwts_acpi_table_asf_rctl_element, control_device_addr),
FIELD_UINT("Control Command", fwts_acpi_table_asf_rctl_element, control_command),
@@ -1157,7 +1157,7 @@ static void acpidump_asf(fwts_framework *fw, fwts_acpi_table_info *table)
FIELD_END
};
- static fwts_acpidump_field asf_rcmp_fields[] = {
+ static const fwts_acpidump_field asf_rcmp_fields[] = {
FIELD_UINT("Remote Control Capabilities", fwts_acpi_table_asf_rcmp, remote_control_capabilities),
FIELD_UINT("RMCP Boot Options Completion Code", fwts_acpi_table_asf_rcmp, rcmp_completion_code),
FIELD_UINT("RMCP IANA Enterprise ID", fwts_acpi_table_asf_rcmp, rcmp_iana),
@@ -1168,26 +1168,26 @@ static void acpidump_asf(fwts_framework *fw, fwts_acpi_table_info *table)
FIELD_END
};
- static fwts_acpidump_field asf_header_fields[] = {
+ static const fwts_acpidump_field asf_header_fields[] = {
FIELD_UINT("Type", fwts_acpi_table_asf_header, type),
FIELD_UINT("Reserved", fwts_acpi_table_asf_header, reserved),
FIELD_UINT("Length", fwts_acpi_table_asf_header, length),
FIELD_END
};
- static fwts_acpidump_field asf_addr_fields[] = {
+ static const fwts_acpidump_field asf_addr_fields[] = {
FIELD_UINT("SEEPROM Address", fwts_acpi_table_asf_addr, seeprom_addr),
FIELD_UINT("Number of Devices", fwts_acpi_table_asf_addr, number_of_devices),
FIELD_END
};
- static fwts_acpidump_field asf_addr_element_fields[] = {
+ static const fwts_acpidump_field asf_addr_element_fields[] = {
FIELD_UINT("Fixed SMBus Address", fwts_acpi_table_asf_addr_element, fixed_smbus_addr),
FIELD_END
};
while (ptr < data + length) {
- fwts_acpi_table_asf_header *hdr = (fwts_acpi_table_asf_header*)ptr;
+ fwts_acpi_table_asf_header *hdr = (fwts_acpi_table_asf_header *)ptr;
fwts_acpi_table_asf_alrt *alrt;
fwts_acpi_table_asf_rctl *rctl;
fwts_acpi_table_asf_addr *addr;
@@ -1261,11 +1261,13 @@ static void acpidump_asf(fwts_framework *fw, fwts_acpi_table_info *table)
*/
static void acpidump_dmar_device_scope(
fwts_framework *fw,
- uint8_t *data,
- uint8_t *device_scope,
- size_t device_scope_length)
+ const uint8_t *data,
+ const uint8_t *device_scope,
+ const size_t device_scope_length)
{
- static fwts_acpidump_field dmar_device_scope_fields[] = {
+ size_t length = device_scope_length;
+
+ static const fwts_acpidump_field dmar_device_scope_fields[] = {
FIELD_UINT("Type", fwts_acpi_table_dmar_device_scope, type),
FIELD_UINT("Length", fwts_acpi_table_dmar_device_scope, length),
FIELD_UINT("Reserved", fwts_acpi_table_dmar_device_scope, reserved),
@@ -1275,7 +1277,7 @@ static void acpidump_dmar_device_scope(
};
/* Parse through multiple device scope entries */
- while (device_scope_length > 0) {
+ while (length > 0) {
unsigned int i;
fwts_acpi_table_dmar_device_scope *device_scope_entry =
@@ -1285,14 +1287,14 @@ static void acpidump_dmar_device_scope(
* The device scope has a variable length path,
* so just dump this raw data out for now.
*/
- for (i=0; i < device_scope_entry->length - sizeof(fwts_acpi_table_dmar_device_scope); i++) {
+ for (i = 0; i < device_scope_entry->length - sizeof(fwts_acpi_table_dmar_device_scope); i++) {
uint8_t val8 = device_scope_entry->path[i];
fwts_log_info_verbatum(fw, "%s 0x%2.2x [%d]", acpi_dump_field_info("Path", 1,
(device_scope - data) + sizeof(fwts_acpi_table_dmar_device_scope) + i),
val8, i);
}
device_scope += device_scope_entry->length;
- device_scope_length -= device_scope_entry->length;
+ length -= device_scope_entry->length;
}
}
@@ -1301,26 +1303,24 @@ static void acpidump_dmar_device_scope(
* dump out DMAR
* http://download.intel.com/technology/computing/vptech/Intel(r)_VT_for_Direct_IO.pdf
*/
-static void acpidump_dmar(fwts_framework *fw, fwts_acpi_table_info *table)
+static void acpidump_dmar(fwts_framework *fw, const fwts_acpi_table_info *table)
{
- uint8_t *data = (uint8_t *)table->data;
- size_t length = table->length;
- uint8_t *ptr = data;
+ const uint8_t *data = table->data, *ptr = table->data;
- static fwts_acpidump_field dmar_fields[] = {
+ static const fwts_acpidump_field dmar_fields[] = {
FIELD_UINT("Host Address Width", fwts_acpi_table_dmar, host_addr_width),
FIELD_UINT("Flags", fwts_acpi_table_dmar, flags),
FIELD_UINT("Reserved", fwts_acpi_table_dmar, reserved),
FIELD_END
};
- static fwts_acpidump_field dmar_header_fields[] = {
+ static const fwts_acpidump_field dmar_header_fields[] = {
FIELD_UINT("Type", fwts_acpi_table_dmar_header, type),
FIELD_UINT("Length", fwts_acpi_table_dmar_header, length),
FIELD_END
};
- static fwts_acpidump_field dmar_hardware_unit_fields[] = {
+ static const fwts_acpidump_field dmar_hardware_unit_fields[] = {
FIELD_UINT("Flags", fwts_acpi_table_dmar_hardware_unit, flags),
FIELD_UINT("Reserved", fwts_acpi_table_dmar_hardware_unit, reserved),
FIELD_UINT("Segment Number", fwts_acpi_table_dmar_hardware_unit, segment_number),
@@ -1329,16 +1329,15 @@ static void acpidump_dmar(fwts_framework *fw, fwts_acpi_table_info *table)
FIELD_END
};
- static fwts_acpidump_field dmar_reserved_memory_fields[] = {
+ static const fwts_acpidump_field dmar_reserved_memory_fields[] = {
FIELD_UINT("Reserved", fwts_acpi_table_dmar_reserved_memory, reserved),
FIELD_UINT("Segment", fwts_acpi_table_dmar_reserved_memory, segment),
FIELD_UINT("Base Address", fwts_acpi_table_dmar_reserved_memory, base_address),
FIELD_UINT("End Address", fwts_acpi_table_dmar_reserved_memory, end_address),
-
FIELD_END
};
- static fwts_acpidump_field dmar_atsr_fields[] = {
+ static const fwts_acpidump_field dmar_atsr_fields[] = {
FIELD_UINT("Flags", fwts_acpi_table_dmar_atsr, flags),
FIELD_UINT("Reserved", fwts_acpi_table_dmar_atsr, reserved),
FIELD_UINT("Segment", fwts_acpi_table_dmar_atsr, segment),
@@ -1348,7 +1347,7 @@ static void acpidump_dmar(fwts_framework *fw, fwts_acpi_table_info *table)
__acpi_dump_table_fields(fw, ptr, dmar_fields, ptr - data);
ptr += sizeof(fwts_acpi_table_dmar);
- while (ptr < data + length) {
+ while (ptr < data + table->length) {
fwts_acpi_table_dmar_header *header =
(fwts_acpi_table_dmar_header *)ptr;
@@ -1395,19 +1394,19 @@ static void acpidump_dmar(fwts_framework *fw, fwts_acpi_table_info *table)
* acpidump_slic()
* dump out SLIC
*/
-static void acpidump_slic(fwts_framework *fw, fwts_acpi_table_info *table)
+static void acpidump_slic(fwts_framework *fw, const fwts_acpi_table_info *table)
{
uint8_t *data = (uint8_t *)table->data;
size_t length = table->length;
uint8_t *ptr = data;
- static fwts_acpidump_field slic_header_fields[] = {
+ static const fwts_acpidump_field slic_header_fields[] = {
FIELD_UINT("Type", fwts_acpi_table_slic_header, type),
FIELD_UINT("Length", fwts_acpi_table_slic_header, length),
FIELD_END
};
- static fwts_acpidump_field slic_key_fields[] = {
+ static const fwts_acpidump_field slic_key_fields[] = {
FIELD_UINT("Key Type", fwts_acpi_table_slic_key, key_type),
FIELD_UINT("Version", fwts_acpi_table_slic_key, version),
FIELD_UINT("Reserved", fwts_acpi_table_slic_key, reserved),
@@ -1418,7 +1417,7 @@ static void acpidump_slic(fwts_framework *fw, fwts_acpi_table_info *table)
FIELD_END
};
- static fwts_acpidump_field slic_marker_fields[] = {
+ static const fwts_acpidump_field slic_marker_fields[] = {
FIELD_UINT("Version", fwts_acpi_table_slic_marker, version),
FIELD_STR("OEM ID", fwts_acpi_table_slic_marker, oem_id),
FIELD_STR("OEM TABLE ID", fwts_acpi_table_slic_marker, oem_table_id),
@@ -1469,17 +1468,16 @@ static void acpidump_slic(fwts_framework *fw, fwts_acpi_table_info *table)
* acpidump_uefi()
* dump out UEFI tables
*/
-static void acpidump_uefi(fwts_framework *fw, fwts_acpi_table_info *table)
+static void acpidump_uefi(fwts_framework *fw, const const fwts_acpi_table_info *table)
{
- uint8_t *data = (uint8_t *)table->data;
fwts_acpi_table_uefi *uefi = (fwts_acpi_table_uefi *)table->data;
- static fwts_acpidump_field uefi_fields[] = {
+ static const fwts_acpidump_field uefi_fields[] = {
FIELD_GUID("UUID", fwts_acpi_table_uefi, uuid),
FIELD_END
};
- __acpi_dump_table_fields(fw, data, uefi_fields, 0);
+ __acpi_dump_table_fields(fw, table->data, uefi_fields, 0);
fwts_log_nl(fw);
acpi_dump_raw_data(fw, uefi->data, table->length - sizeof(fwts_acpi_table_uefi),
sizeof(fwts_acpi_table_uefi));
@@ -1490,12 +1488,9 @@ static void acpidump_uefi(fwts_framework *fw, fwts_acpi_table_info *table)
* dump BGRT, see 5.2.22 Boot Graphics Resource Table (BGRT)
* of version 5.0 ACPI spec.
*/
-static void acpidump_bgrt(fwts_framework *fw, fwts_acpi_table_info *table)
+static void acpidump_bgrt(fwts_framework *fw, const fwts_acpi_table_info *table)
{
- uint8_t *data = (uint8_t *)table->data;
- size_t length = table->length;
-
- static fwts_acpidump_field bgrt_fields[] = {
+ static const fwts_acpidump_field bgrt_fields[] = {
FIELD_UINT("Version", fwts_acpi_table_bgrt, version),
FIELD_UINT("Status", fwts_acpi_table_bgrt, status),
FIELD_UINT("Image Type", fwts_acpi_table_bgrt, image_type),
@@ -1505,7 +1500,7 @@ static void acpidump_bgrt(fwts_framework *fw, fwts_acpi_table_info *table)
FIELD_END
};
- acpi_dump_table_fields(fw, data, bgrt_fields, length, length);
+ acpi_dump_table_fields(fw, table->data, bgrt_fields, table->length, table->length);
}
/*
@@ -1513,12 +1508,9 @@ static void acpidump_bgrt(fwts_framework *fw, fwts_acpi_table_info *table)
* dump GTDT, see 5.2.24 Generic Timer Description Table (GTDT)
* of version 5.0 ACPI spec.
*/
-static void acpidump_gtdt(fwts_framework *fw, fwts_acpi_table_info *table)
+static void acpidump_gtdt(fwts_framework *fw, const fwts_acpi_table_info *table)
{
- uint8_t *data = (uint8_t *)table->data;
- size_t length = table->length;
-
- static fwts_acpidump_field gtdt_fields[] = {
+ static const fwts_acpidump_field gtdt_fields[] = {
FIELD_UINT("Physical Address", fwts_acpi_table_gtdt, phys_addr),
FIELD_UINT("Global Flags", fwts_acpi_table_gtdt, global_flags),
FIELD_UINT("Secure PL1 Timer GSIV", fwts_acpi_table_gtdt, secure_PL1_timer_GSIV),
@@ -1532,7 +1524,7 @@ static void acpidump_gtdt(fwts_framework *fw, fwts_acpi_table_info *table)
FIELD_END
};
- acpi_dump_table_fields(fw, data, gtdt_fields, length, length);
+ acpi_dump_table_fields(fw, table->data, gtdt_fields, table->length, table->length);
}
/*
@@ -1540,27 +1532,25 @@ static void acpidump_gtdt(fwts_framework *fw, fwts_acpi_table_info *table)
* dump FPDT, see 5.2.23 Firmware Performance Data Table (FPDT)
* of version 5.0 ACPI spec.
*/
-static void acpidump_fpdt(fwts_framework *fw, fwts_acpi_table_info *table)
+static void acpidump_fpdt(fwts_framework *fw, const fwts_acpi_table_info *table)
{
- uint8_t *data = (uint8_t *)table->data;
- uint8_t *ptr = data;
- size_t length = table->length;
+ uint8_t *data = (uint8_t *)table->data, *ptr = data;
const size_t fpdt_hdr_len = sizeof(fwts_acpi_table_fpdt_header);
- static fwts_acpidump_field fpdt_header_fields[] = {
+ static const fwts_acpidump_field fpdt_header_fields[] = {
FIELD_UINT("Type", fwts_acpi_table_fpdt_header, type),
FIELD_UINT("Length", fwts_acpi_table_fpdt_header, length),
FIELD_UINT("Revision", fwts_acpi_table_fpdt_header, revision),
FIELD_END
};
- static fwts_acpidump_field fpdt_basic_boot_perf_ptr_fields[] = {
+ static const fwts_acpidump_field fpdt_basic_boot_perf_ptr_fields[] = {
FIELD_UINT("Reserved", fwts_acpi_table_fpdt_basic_boot_perf_ptr, reserved),
FIELD_UINT("FBPT Pointer", fwts_acpi_table_fpdt_basic_boot_perf_ptr, fbpt_addr),
FIELD_END
};
- static fwts_acpidump_field fpdt_s3_perf_ptr_fields[] = {
+ static const fwts_acpidump_field fpdt_s3_perf_ptr_fields[] = {
FIELD_UINT("Reserved", fwts_acpi_table_fpdt_s3_perf_ptr, reserved),
FIELD_UINT("S3PT Pointer", fwts_acpi_table_fpdt_s3_perf_ptr, s3pt_addr),
FIELD_END
@@ -1573,8 +1563,8 @@ static void acpidump_fpdt(fwts_framework *fw, fwts_acpi_table_info *table)
* implementation should mmap the memory that the records point to and also
* dump these out. That's an implementation issue for later.
*/
- while (ptr < data + length) {
- fwts_acpi_table_fpdt_header *fpdt = (fwts_acpi_table_fpdt_header*)ptr;
+ while (ptr < data + table->length) {
+ fwts_acpi_table_fpdt_header *fpdt = (fwts_acpi_table_fpdt_header *)ptr;
fwts_log_nl(fw);
@@ -1624,17 +1614,14 @@ static void acpidump_fpdt(fwts_framework *fw, fwts_acpi_table_info *table)
* dump RASF, see 5.2.20 ACPI RAS FeatureTable (RASF)
* of version 5.0 ACPI spec.
*/
-static void acpidump_rasf(fwts_framework *fw, fwts_acpi_table_info *table)
+static void acpidump_rasf(fwts_framework *fw, const fwts_acpi_table_info *table)
{
- uint8_t *data = (uint8_t *)table->data;
- size_t length = table->length;
-
- static fwts_acpidump_field rasf_fields[] = {
+ static const fwts_acpidump_field rasf_fields[] = {
FIELD_UINTS("Comm. Channel ID", fwts_acpi_table_rasf, platform_cc_id),
FIELD_END
};
- acpi_dump_table_fields(fw, data, rasf_fields, length, length);
+ acpi_dump_table_fields(fw, table->data, rasf_fields, table->length, table->length);
/* No idea how to dump rest of table, spec is a rather poor */
acpi_dump_raw_table(fw, table);
@@ -1645,19 +1632,17 @@ static void acpidump_rasf(fwts_framework *fw, fwts_acpi_table_info *table)
* dump RASF, see 14 ACPI PCCT (Platform Communications Channel)
* of version 5.0 ACPI spec.
*/
-static void acpidump_pcct(fwts_framework *fw, fwts_acpi_table_info *table)
+static void acpidump_pcct(fwts_framework *fw, const fwts_acpi_table_info *table)
{
- uint8_t *data = (uint8_t *)table->data;
- size_t length = table->length;
- uint8_t *ptr = data;
+ uint8_t *data = (uint8_t *)table->data, *ptr = data;
- static fwts_acpidump_field pcct_fields[] = {
+ static const fwts_acpidump_field pcct_fields[] = {
FIELD_UINT ("Flags", fwts_acpi_table_pcct, flags),
FIELD_UINTS("Reserved", fwts_acpi_table_pcct, reserved),
FIELD_END
};
- static fwts_acpidump_field type0_fields[] = {
+ static const fwts_acpidump_field type0_fields[] = {
FIELD_UINTS("Reserved", fwts_acpi_table_pcct_subspace_type_0, reserved),
FIELD_UINT ("Base Address", fwts_acpi_table_pcct_subspace_type_0, base_address),
FIELD_UINT ("Length", fwts_acpi_table_pcct_subspace_type_0, length),
@@ -1670,12 +1655,12 @@ static void acpidump_pcct(fwts_framework *fw, fwts_acpi_table_info *table)
FIELD_END
};
- acpi_dump_table_fields(fw, data, pcct_fields, length, length);
+ acpi_dump_table_fields(fw, data, pcct_fields, table->length, table->length);
ptr += sizeof(fwts_acpi_table_pcct);
/* Now scan through the array of subspace structures */
- while (ptr < data + length) {
+ while (ptr < data + table->length) {
fwts_acpi_table_pcct_subspace_header *header =
(fwts_acpi_table_pcct_subspace_header *)ptr;
@@ -1695,9 +1680,9 @@ static void acpidump_pcct(fwts_framework *fw, fwts_acpi_table_info *table)
}
typedef struct {
- char *name;
- void (*func)(fwts_framework *fw, fwts_acpi_table_info *table);
- int standard_header;
+ const char *name;
+ void (*func)(fwts_framework *fw, const fwts_acpi_table_info *table);
+ const int standard_header;
} acpidump_table_vec;
/* To be implemented */
@@ -1706,7 +1691,7 @@ typedef struct {
#define acpidump_msct acpi_dump_raw_table
#define acpidump_mpst acpi_dump_raw_table
-static acpidump_table_vec table_vec[] = {
+static const acpidump_table_vec table_vec[] = {
{ "APIC", acpidump_madt, 1 },
{ "ASF!", acpidump_asf, 1 },
{ "BERT", acpidump_bert, 1 },
@@ -1750,8 +1735,8 @@ static int acpidump_table(fwts_framework *fw, fwts_acpi_table_info *table)
size_t length = table->length;
int i;
- for (i=0; table_vec[i].name != NULL; i++) {
- if (strncmp(table_vec[i].name, (char*)data, strlen(table_vec[i].name)) == 0) {
+ for (i = 0; table_vec[i].name != NULL; i++) {
+ if (strncmp(table_vec[i].name, (char *)data, strlen(table_vec[i].name)) == 0) {
if (table_vec[i].standard_header) {
fwts_acpi_table_get_header(&hdr, data);
acpidump_hdr(fw, &hdr, length);
@@ -1772,12 +1757,11 @@ static int acpidump_table(fwts_framework *fw, fwts_acpi_table_info *table)
static int acpidump_test1(fwts_framework *fw)
{
int i;
-
fwts_acpi_table_info *table;
fwts_infoonly(fw);
- for (i=0; (fwts_acpi_get_table(fw, i, &table) == FWTS_OK) && (table !=NULL); i++) {
+ for (i = 0; (fwts_acpi_get_table(fw, i, &table) == FWTS_OK) && (table !=NULL); i++) {
fwts_log_info_verbatum(fw, "%s @ %4.4" PRIx32 " (%zd bytes)", table->name, (uint32_t)table->addr, table->length);
fwts_log_info_verbatum(fw, "---------------");
acpidump_table(fw, table);
--
1.8.3.2
More information about the fwts-devel
mailing list