[PATCH] acpi: acpidump + acpi headers: Add basic dump of RASF
Colin King
colin.king at canonical.com
Fri Jul 20 18:09:18 UTC 2012
From: Colin Ian King <colin.king at canonical.com>
ACPI 5.0 has introduced the RASF, so add some simple acpidump
support for the RASF. This will be expanded once we're sure
of the RASF PCC sub channel identifier records (and we have
some real world examples to check this works).
Signed-off-by: Colin Ian King <colin.king at canonical.com>
---
src/acpi/acpidump/acpidump.c | 23 +++++++++++++++++++++++
src/lib/include/fwts_acpi.h | 5 +++++
2 files changed, 28 insertions(+)
diff --git a/src/acpi/acpidump/acpidump.c b/src/acpi/acpidump/acpidump.c
index ef7c79d..9b65703 100644
--- a/src/acpi/acpidump/acpidump.c
+++ b/src/acpi/acpidump/acpidump.c
@@ -1571,6 +1571,28 @@ static void acpidump_fpdt(fwts_framework *fw, fwts_acpi_table_info *table)
}
}
+/*
+ * acpidump_rasf()
+ * 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)
+{
+ uint8_t *data = (uint8_t *)table->data;
+ size_t length = table->length;
+
+ static 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);
+
+ /* No idea how to dump rest of table, spec is a rather poor */
+ acpi_dump_raw_table(fw, table);
+}
+
+
typedef struct {
char *name;
void (*func)(fwts_framework *fw, fwts_acpi_table_info *table);
@@ -1603,6 +1625,7 @@ static acpidump_table_vec table_vec[] = {
{ "MCFG", acpidump_mcfg, 1 },
{ "MSCT", acpidump_msct, 1 },
{ "PSDT", acpidump_amlcode, 1 },
+ { "RASF", acpidump_rasf, 1 },
{ "RSDT", acpidump_rsdt, 1 },
{ "RSD PTR ", acpidump_rsdp, 0 },
{ "SBST", acpidump_sbst, 1 },
diff --git a/src/lib/include/fwts_acpi.h b/src/lib/include/fwts_acpi.h
index 5e9a24a..ec085aa 100644
--- a/src/lib/include/fwts_acpi.h
+++ b/src/lib/include/fwts_acpi.h
@@ -638,6 +638,11 @@ typedef struct {
uint32_t non_secure_PL2_timer_flags;
} __attribute__ ((packed)) fwts_acpi_table_gtdt;
+/* 5.2.20 ACPI RAS FeatureTable (RASF) */
+typedef struct {
+ uint8_t platform_cc_id[12];
+} __attribute__ ((packed)) fwts_acpi_table_rasf;
+
void fwts_acpi_table_get_header(fwts_acpi_table_header *hdr, uint8_t *data);
#endif
--
1.7.10.4
More information about the fwts-devel
mailing list