[RFC,PATCH 7/7 v2] fwts: Add OPAL firmware type
Jeremy Kerr
jk at ozlabs.org
Mon Apr 28 01:35:14 UTC 2014
Signed-off-by: Jeremy Kerr <jk at ozlabs.org>
---
src/lib/include/fwts_firmware.h | 1 +
src/lib/src/fwts_firmware.c | 14 ++++++++++----
2 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/src/lib/include/fwts_firmware.h b/src/lib/include/fwts_firmware.h
index 83a0ba4..fae859f 100644
--- a/src/lib/include/fwts_firmware.h
+++ b/src/lib/include/fwts_firmware.h
@@ -25,6 +25,7 @@ enum firmware_type {
FWTS_FIRMWARE_UNKNOWN = 0,
FWTS_FIRMWARE_BIOS = 1,
FWTS_FIRMWARE_UEFI = 2,
+ FWTS_FIRMWARE_OPAL = 3,
FWTS_FIRMWARE_OTHER = 100,
};
diff --git a/src/lib/src/fwts_firmware.c b/src/lib/src/fwts_firmware.c
index c67e7b2..2cfcb3b 100644
--- a/src/lib/src/fwts_firmware.c
+++ b/src/lib/src/fwts_firmware.c
@@ -45,11 +45,14 @@ int fwts_firmware_detect(void)
if (firmware_type_valid)
return firmware_type;
- if (stat("/sys/firmware/efi", &statbuf)) {
- /* No UEFI, Assume BIOS */
- firmware_type = FWTS_FIRMWARE_BIOS;
- } else {
+ if (!stat("/sys/firmware/efi", &statbuf)) {
firmware_type = FWTS_FIRMWARE_UEFI;
+
+ } else if (!stat("/sys/firmware/opal", &statbuf)) {
+ firmware_type = FWTS_FIRMWARE_OPAL;
+
+ } else {
+ firmware_type = FWTS_FIRMWARE_BIOS;
}
firmware_type_valid = true;
@@ -66,6 +69,9 @@ int fwts_firmware_features(void)
case FWTS_FIRMWARE_UEFI:
features = FWTS_FW_FEATURE_ACPI;
break;
+ case FWTS_FIRMWARE_OPAL:
+ features = FWTS_FW_FEATURE_DEVICETREE;
+ break;
default:
break;
}
More information about the fwts-devel
mailing list