[PATCH] acpi: nfit: check fields equals 0 for Virtual CD and Disk
Alex Hung
alex.hung at canonical.com
Mon Sep 5 09:35:40 UTC 2016
According to ACPI spec, the following fields shall be set to 0
if GUID is for Virtual CD and Disk: Proximity Domain, SPA Range
Structure Index, Flags, and Address Range Memory Mapping Attribute
Signed-off-by: Alex Hung <alex.hung at canonical.com>
---
src/acpi/nfit/nfit.c | 42 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
diff --git a/src/acpi/nfit/nfit.c b/src/acpi/nfit/nfit.c
index b9b5d86..6043114 100644
--- a/src/acpi/nfit/nfit.c
+++ b/src/acpi/nfit/nfit.c
@@ -126,6 +126,48 @@ static int nfit_test1(fwts_framework *fw)
"NFIT SPA Range Structure Index must not be zero");
}
+ if (guid_skip) {
+ if (nfit_struct->range_index != 0) {
+ passed = false;
+ fwts_failed(fw, LOG_LEVEL_HIGH,
+ "NFITBadRangeIndexNonZero",
+ "NFIT SPA Range Structure Index must "
+ "be zero when region is Virtual CD or "
+ "Virtual Disk, got 0x%4.4" PRIx32 " instead",
+ nfit_struct->range_index);
+ }
+
+ if (nfit_struct->flags != 0) {
+ passed = false;
+ fwts_failed(fw, LOG_LEVEL_HIGH,
+ "NFITBadFlagsNonZero",
+ "NFIT Flags must be zero when "
+ "region is Virtual CD or Virtual Disk, got "
+ "0x%4.4" PRIx32 " instead",
+ nfit_struct->flags);
+ }
+
+ if (nfit_struct->proximity_domain != 0) {
+ passed = false;
+ fwts_failed(fw, LOG_LEVEL_HIGH,
+ "NFITBadProximityDomainNonZero",
+ "NFIT Proximity Domain must be zero when "
+ "region is Virtual CD or Virtual Disk, got "
+ "0x%8.8" PRIx32 " instead",
+ nfit_struct->proximity_domain);
+ }
+
+ if (nfit_struct->memory_mapping != 0) {
+ passed = false;
+ fwts_failed(fw, LOG_LEVEL_HIGH,
+ "NFITBadMemoryAttributeNonZero",
+ "NFIT Address Range Memory Mapping Attribute "
+ "must be zero when region is Virtual CD or "
+ "Virtual Disk, got 0x%16.16" PRIx64 " instead",
+ nfit_struct->memory_mapping);
+ }
+ }
+
if (nfit_struct->flags & ~0x03) {
passed = false;
fwts_failed(fw, LOG_LEVEL_HIGH,
--
2.7.4
More information about the fwts-devel
mailing list