[PATCH 2/4] fwts_framework: add an "ifv" option for Independent Firmware Vendor

Alex Hung alex.hung at canonical.com
Mon Apr 16 05:06:28 UTC 2018


The ifv option is to be used for firmware vendors (used to be called
"IBV"). Firmware vendors provides source code to OEMs and ODMs and some
hooks and default data. The ifv is able to provide different behaviours
from OEMs and ODMs who ship products to end users.

Signed-off-by: Alex Hung <alex.hung at canonical.com>
---
 doc/fwts.1                       | 3 +++
 src/lib/include/fwts_framework.h | 1 +
 src/lib/src/fwts_framework.c     | 4 ++++
 3 files changed, 8 insertions(+)

diff --git a/doc/fwts.1 b/doc/fwts.1
index 001849d..e172483 100644
--- a/doc/fwts.1
+++ b/doc/fwts.1
@@ -146,6 +146,9 @@ outputs the internal help page.
 .B \-i, \-\-interactive
 run the interactive tests. These tests require user interaction.
 .TP
+.B \-\-ifv
+run tests in firmware-vendor modes.
+.TP
 .B \-\-interactive\-experimental
 run only interactive experimental tests.
 .TP
diff --git a/src/lib/include/fwts_framework.h b/src/lib/include/fwts_framework.h
index ec1d27b..6c457be 100644
--- a/src/lib/include/fwts_framework.h
+++ b/src/lib/include/fwts_framework.h
@@ -52,6 +52,7 @@ typedef enum {
 	FWTS_FLAG_POWER_STATES			= 0x00001000,
 	FWTS_FLAG_ROOT_PRIV			= 0x00002000,
 	FWTS_FLAG_UNSAFE			= 0x00004000,
+	FWTS_FLAG_FIRMWARE_VENDOR		= 0x00008000,
 	FWTS_FLAG_TEST_BIOS			= 0x00010000,
 	FWTS_FLAG_TEST_UEFI			= 0x00020000,
 	FWTS_FLAG_TEST_ACPI			= 0x00040000,
diff --git a/src/lib/src/fwts_framework.c b/src/lib/src/fwts_framework.c
index 73bc5d6..0aa0c04 100644
--- a/src/lib/src/fwts_framework.c
+++ b/src/lib/src/fwts_framework.c
@@ -134,6 +134,7 @@ static fwts_option fwts_framework_options[] = {
 	{ "log-level",		"",   1, "Specify error level to report failed test messages," },
 	{ "arch",		"",   1, "Specify arch of the tables being tested (defaults to current host)." },
 	{ "sbbr",		"",   0, "Run ARM SBBR tests." },
+	{ "ifv",		"",   0, "Run tests in firmware-vendor modes." },
 	{ NULL, NULL, 0, NULL }
 };
 
@@ -1330,6 +1331,9 @@ int fwts_framework_options_handler(fwts_framework *fw, int argc, char * const ar
 		case 46: /* --sbbr */
 			fw->flags |= FWTS_FLAG_TEST_SBBR;
 			break;
+		case 47: /* --ifv */
+			fw->flags |= FWTS_FLAG_FIRMWARE_VENDOR;
+			break;
 		}
 		break;
 	case 'a': /* --all */
-- 
2.7.4




More information about the fwts-devel mailing list