[PATCH 05/16] acpi: nfit: add Spa Location Cookie as in ACPI 6.4 (mantis 1988)

Alex Hung alex.hung at canonical.com
Tue Jan 26 20:30:29 UTC 2021


Signed-off-by: Alex Hung <alex.hung at canonical.com>
---
 src/acpi/nfit/nfit.c        | 5 ++++-
 src/lib/include/fwts_acpi.h | 1 +
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/acpi/nfit/nfit.c b/src/acpi/nfit/nfit.c
index a167bf96..fbebf39f 100644
--- a/src/acpi/nfit/nfit.c
+++ b/src/acpi/nfit/nfit.c
@@ -171,6 +171,9 @@ static int nfit_test1(fwts_framework *fw)
 			fwts_log_info_simp_int(fw, "    System Physical Address Range Length:   ", nfit_struct->length);
 			fwts_log_info_simp_int(fw, "    Address Range Memory Mapping Attribute: ", nfit_struct->memory_mapping);
 
+			if (fwts_get_acpi_version(fw) >= FWTS_ACPI_VERSION_64)
+				fwts_log_info_simp_int(fw, "    SpaLocationCookie:                      ", nfit_struct->spa_location_cookie);
+
 			/* SPA Range Structure Index can be 0 for Virtual CD Region and
 			   Virtual Disk Region (both volatile and persistent) */
 			for (i = 0; i < 4; i++) {
@@ -229,7 +232,7 @@ static int nfit_test1(fwts_framework *fw)
 				}
 			}
 
-			fwts_acpi_reserved_bits_check(fw, "NFIT", "Flags", nfit_struct->flags, sizeof(nfit_struct->flags), 2, 15, &passed);
+			fwts_acpi_reserved_bits_check(fw, "NFIT", "Flags", nfit_struct->flags, sizeof(nfit_struct->flags), 3, 15, &passed);
 
 			if (nfit_struct->reserved != 0)
 				reserved_passed = nfit_struct->reserved;
diff --git a/src/lib/include/fwts_acpi.h b/src/lib/include/fwts_acpi.h
index 25b2d23e..6c759a2a 100644
--- a/src/lib/include/fwts_acpi.h
+++ b/src/lib/include/fwts_acpi.h
@@ -1225,6 +1225,7 @@ typedef struct {
 	uint64_t	address;
 	uint64_t	length;
 	uint64_t	memory_mapping;
+	uint64_t        spa_location_cookie;
 } __attribute__ ((packed)) fwts_acpi_table_nfit_system_memory;
 
 typedef struct {
-- 
2.25.1




More information about the fwts-devel mailing list