[PATCH 1/2] ebbr: add EBBR option for ARM embedded systems
Ivan Hu
ivan.hu at canonical.com
Wed Nov 6 09:47:19 UTC 2019
The Embedded Base Boot Requirements specification defines requirements for
embedded systems to enable inter-operability between SoCs, hardware platforms,
firmware implementations, and operating system distributions.
https://github.com/ARM-software/ebbr
Signed-off-by: Ivan Hu <ivan.hu at canonical.com>
---
src/lib/include/fwts_framework.h | 3 ++-
src/lib/src/fwts_framework.c | 9 +++++++--
src/uefi/uefirtmisc/uefirtmisc.c | 2 +-
src/uefi/uefirttime/uefirttime.c | 2 +-
src/uefi/uefirtvariable/uefirtvariable.c | 2 +-
5 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/src/lib/include/fwts_framework.h b/src/lib/include/fwts_framework.h
index 47eba368..74e12657 100644
--- a/src/lib/include/fwts_framework.h
+++ b/src/lib/include/fwts_framework.h
@@ -61,7 +61,8 @@ typedef enum {
FWTS_FLAG_SHOW_TESTS_FULL = 0x00200000,
FWTS_FLAG_SHOW_TESTS_CATEGORIES = 0x00400000,
FWTS_FLAG_TEST_COMPLIANCE_ACPI = 0x00800000,
- FWTS_FLAG_TEST_SBBR = 0x01000000
+ FWTS_FLAG_TEST_SBBR = 0x01000000,
+ FWTS_FLAG_TEST_EBBR = 0x02000000
} fwts_framework_flags;
#define FWTS_FLAG_TEST_MASK \
diff --git a/src/lib/src/fwts_framework.c b/src/lib/src/fwts_framework.c
index 698fa49a..f9e76b96 100644
--- a/src/lib/src/fwts_framework.c
+++ b/src/lib/src/fwts_framework.c
@@ -57,7 +57,8 @@ typedef struct {
FWTS_FLAG_TEST_UEFI | \
FWTS_FLAG_TEST_ACPI | \
FWTS_FLAG_TEST_COMPLIANCE_ACPI | \
- FWTS_FLAG_TEST_SBBR)
+ FWTS_FLAG_TEST_SBBR | \
+ FWTS_FLAG_TEST_EBBR)
static const fwts_categories categories[] = {
{ "ACPI", FWTS_FLAG_TEST_ACPI },
@@ -136,6 +137,7 @@ static fwts_option fwts_framework_options[] = {
{ "sbbr", "", 0, "Run ARM SBBR tests." },
{ "ifv", "", 0, "Run tests in firmware-vendor modes." },
{ "clog", "", 1, "Specify a coreboot logfile dump" },
+ { "ebbr", "", 0, "Run ARM EBBR tests." },
{ NULL, NULL, 0, NULL }
};
@@ -1338,7 +1340,10 @@ int fwts_framework_options_handler(fwts_framework *fw, int argc, char * const ar
break;
case 48: /* --coreboot-log */
fwts_framework_strdup(&fw->clog, optarg);
-
+ break;
+ case 49: /* --ebbr */
+ fw->flags |= FWTS_FLAG_TEST_EBBR;
+ break;
}
break;
case 'a': /* --all */
diff --git a/src/uefi/uefirtmisc/uefirtmisc.c b/src/uefi/uefirtmisc/uefirtmisc.c
index 4cda7783..cbe4a4a1 100644
--- a/src/uefi/uefirtmisc/uefirtmisc.c
+++ b/src/uefi/uefirtmisc/uefirtmisc.c
@@ -324,6 +324,6 @@ static fwts_framework_ops uefirtmisc_ops = {
.minor_tests = uefirtmisc_tests
};
-FWTS_REGISTER("uefirtmisc", &uefirtmisc_ops, FWTS_TEST_ANYTIME, FWTS_FLAG_TEST_UEFI | FWTS_FLAG_UNSAFE | FWTS_FLAG_ROOT_PRIV)
+FWTS_REGISTER("uefirtmisc", &uefirtmisc_ops, FWTS_TEST_ANYTIME, FWTS_FLAG_TEST_UEFI | FWTS_FLAG_UNSAFE | FWTS_FLAG_ROOT_PRIV | FWTS_FLAG_TEST_EBBR)
#endif
diff --git a/src/uefi/uefirttime/uefirttime.c b/src/uefi/uefirttime/uefirttime.c
index c6ffb644..08a5507d 100644
--- a/src/uefi/uefirttime/uefirttime.c
+++ b/src/uefi/uefirttime/uefirttime.c
@@ -1355,6 +1355,6 @@ static fwts_framework_ops uefirttime_ops = {
.minor_tests = uefirttime_tests
};
-FWTS_REGISTER("uefirttime", &uefirttime_ops, FWTS_TEST_ANYTIME, FWTS_FLAG_TEST_UEFI | FWTS_FLAG_UNSAFE | FWTS_FLAG_ROOT_PRIV)
+FWTS_REGISTER("uefirttime", &uefirttime_ops, FWTS_TEST_ANYTIME, FWTS_FLAG_TEST_UEFI | FWTS_FLAG_UNSAFE | FWTS_FLAG_ROOT_PRIV | FWTS_FLAG_TEST_EBBR)
#endif
diff --git a/src/uefi/uefirtvariable/uefirtvariable.c b/src/uefi/uefirtvariable/uefirtvariable.c
index 55a9b1d9..db72abe1 100644
--- a/src/uefi/uefirtvariable/uefirtvariable.c
+++ b/src/uefi/uefirtvariable/uefirtvariable.c
@@ -2294,6 +2294,6 @@ static fwts_framework_ops uefirtvariable_ops = {
.options_check = options_check,
};
-FWTS_REGISTER("uefirtvariable", &uefirtvariable_ops, FWTS_TEST_ANYTIME, FWTS_FLAG_TEST_UEFI | FWTS_FLAG_UNSAFE | FWTS_FLAG_ROOT_PRIV)
+FWTS_REGISTER("uefirtvariable", &uefirtvariable_ops, FWTS_TEST_ANYTIME, FWTS_FLAG_TEST_UEFI | FWTS_FLAG_UNSAFE | FWTS_FLAG_ROOT_PRIV | FWTS_FLAG_TEST_EBBR)
#endif
--
2.17.1
More information about the fwts-devel
mailing list