[PATCH 1/2] ebbr: add EBBR option for ARM embedded systems

Colin Ian King colin.king at canonical.com
Wed Nov 6 10:41:50 UTC 2019


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 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
> 

Please can you send a follow-up patch to update the doc/fwts.1 manual
with this new --ebbr option.  Thank you.

Colin



More information about the fwts-devel mailing list