Message ID | 20191106094720.15923-1-ivan.hu@canonical.com |
---|---|
State | Accepted |
Headers | show |
Series | [1/2] ebbr: add EBBR option for ARM embedded systems | expand |
On 06/11/2019 09:47, Ivan Hu wrote: > 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@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 > Acked-by: Colin Ian King <colin.king@canonical.com>
On 06/11/2019 09:47, Ivan Hu wrote: > 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@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 > Please can you send a follow-up patch to update the doc/fwts.1 manual with this new --ebbr option. Thank you. Colin
On 2019-11-06 2:47 a.m., Ivan Hu wrote: > 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@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 > Acked-by: Alex Hung <alex.hung@canonical.com>
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
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@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(-)