[PATCH] sbbr: Add "--sbbr" flag to support running SBBR Tests.

Supreeth Venkatesh supreeth.venkatesh at arm.com
Tue Feb 21 17:41:00 UTC 2017


On Tue, 2017-02-21 at 17:46 +0800, Alex Hung wrote:
> On 2017-02-17 05:25 AM, Supreeth Venkatesh wrote:
> > 
> > Server Base Boot Requirements (SBBR) specification is intended for
> > SBSA-
> > compliant 64-bit ARMv8 servers.
> > It defines the base firmware requirements for out-of-box support of
> > any
> > ARM SBSA-compatible Operating System or hypervisor.
> > The requirements in this specification are expected to be minimal
> > yet
> > complete for booting a multi-core ARMv8 server platform, while
> > leaving
> > plenty of room for OEM or ODM innovations and design details.
> > For more information, download the SBBR specification here:
> > http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.den0044
> > b/index.html
> > 
> > This change introduces --sbbr flag to the framework to enable
> > running
> > sbbr tests. Sbbr Test Cases will follow in additional patches.
> > 
> > Signed-off-by: Supreeth Venkatesh <supreeth.venkatesh at arm.com>
> > ---
> >  README_SOURCE.txt                         | 1 +
> >  fwts-test/arg-help-0001/arg-help-0001.log | 2 ++
> >  fwts-test/arg-help-0001/arg-help-0002.log | 3 +++
> >  src/lib/include/fwts_framework.h          | 6 ++++--
> >  src/lib/src/fwts_framework.c              | 9 ++++++++-
> >  5 files changed, 18 insertions(+), 3 deletions(-)
> > 
> > diff --git a/README_SOURCE.txt b/README_SOURCE.txt
> > index 671dd89..899231e 100644
> > --- a/README_SOURCE.txt
> > +++ b/README_SOURCE.txt
> > @@ -96,6 +96,7 @@ src/hotkey	- HotKey tests
> >  src/hpet	- HPET
> >  src/kernel	- kernel specific
> >  src/pci		- PCI
> > +src/sbbr	- ARM SBBR Tests
> >  src/uefi	- UEFI
> > 
> >  When writing new tests use the blank sketch of a test in
> > diff --git a/fwts-test/arg-help-0001/arg-help-0001.log b/fwts-
> > test/arg-help-0001/arg-help-0001.log
> > index 15f8c24..a2fce9d 100644
> > --- a/fwts-test/arg-help-0001/arg-help-0001.log
> > +++ b/fwts-test/arg-help-0001/arg-help-0001.log
> > @@ -220,6 +220,7 @@
> >  --s4-sleep-delay             Sleep N seconds
> >                               between start of
> >                               hibernate and wakeup.
> > +--sbbr                       Run ARM SBBR Tests.
> >  -p, --show-progress          Output test progress
> >                               report to stderr.
> >  -D, --show-progress-dialog   Output test progress
> > @@ -262,3 +263,4 @@
> >  Some of this work - Copyright (c) 1999 - 2017, Intel Corp. All
> > rights reserved.
> >  Some of this work - Copyright (c) 2010 - 2017, Canonical.
> >  Some of this work - Copyright (c) 2016 - 2017, IBM.
> > +Some of this work - Copyright (c) 2016 - 2017, ARM.
> > diff --git a/fwts-test/arg-help-0001/arg-help-0002.log b/fwts-
> > test/arg-help-0001/arg-help-0002.log
> > index 15f8c24..853beaa 100644
> > --- a/fwts-test/arg-help-0001/arg-help-0002.log
> > +++ b/fwts-test/arg-help-0001/arg-help-0002.log
> > @@ -220,6 +220,7 @@
> >  --s4-sleep-delay             Sleep N seconds
> >                               between start of
> >                               hibernate and wakeup.
> > +--sbbr                       Run ARM SBBR Tests.
> >  -p, --show-progress          Output test progress
> >                               report to stderr.
> >  -D, --show-progress-dialog   Output test progress
> > @@ -262,3 +263,5 @@
> >  Some of this work - Copyright (c) 1999 - 2017, Intel Corp. All
> > rights reserved.
> >  Some of this work - Copyright (c) 2010 - 2017, Canonical.
> >  Some of this work - Copyright (c) 2016 - 2017, IBM.
> > +Some of this work - Copyright (c) 2016 - 2017, ARM.
> > +
> After applying the patch, "make check" still generates failures and
> it 
> needs the fix as http://paste.ubuntu.com/24039326/
> 
> I can help generate the updates for fwts-test. Please let me know
> and 
> re-submit the patch without changes to fwts-test/

Thanks for the help. I have submitted v2 without the changes to fwts-
test.
> 
> > 
> > diff --git a/src/lib/include/fwts_framework.h
> > b/src/lib/include/fwts_framework.h
> > index 6025ddd..bef903c 100644
> > --- a/src/lib/include/fwts_framework.h
> > +++ b/src/lib/include/fwts_framework.h
> > @@ -58,13 +58,15 @@ typedef enum {
> >  	FWTS_FLAG_QUIET				=
> > 0x00100000,
> >  	FWTS_FLAG_SHOW_TESTS_FULL		= 0x00200000,
> >  	FWTS_FLAG_SHOW_TESTS_CATEGORIES		=
> > 0x00400000,
> > -	FWTS_FLAG_TEST_COMPLIANCE_ACPI		= 0x00800000
> > +	FWTS_FLAG_TEST_COMPLIANCE_ACPI		=
> > 0x00800000,
> > +	FWTS_FLAG_TEST_SBBR			= 0x01000000
> >  } fwts_framework_flags;
> > 
> >  #define FWTS_FLAG_TEST_MASK		\
> >  	(FWTS_FLAG_TEST_BIOS |	\
> >  	 FWTS_FLAG_TEST_UEFI |	\
> > -	 FWTS_FLAG_TEST_ACPI)
> > +	 FWTS_FLAG_TEST_ACPI |  \
> > +	 FWTS_FLAG_TEST_SBBR)
> > 
> >  /*
> >   *  Test results
> > diff --git a/src/lib/src/fwts_framework.c
> > b/src/lib/src/fwts_framework.c
> > index f58db47..02e1cde 100644
> > --- a/src/lib/src/fwts_framework.c
> > +++ b/src/lib/src/fwts_framework.c
> > @@ -56,7 +56,8 @@ typedef struct {
> >  	 FWTS_FLAG_UNSAFE |			\
> >  	 FWTS_FLAG_TEST_UEFI |			\
> >  	 FWTS_FLAG_TEST_ACPI |			\
> > -	 FWTS_FLAG_TEST_COMPLIANCE_ACPI)
> > +	 FWTS_FLAG_TEST_COMPLIANCE_ACPI |	\
> > +	 FWTS_FLAG_TEST_SBBR)
> > 
> >  static const fwts_categories categories[] = {
> >  	{ "ACPI",			FWTS_FLAG_TEST_ACPI },
> > @@ -65,6 +66,7 @@ static const fwts_categories categories[] = {
> >  	{ "Batch Experimental",		FWTS_FLAG_BATCH_EXP
> > ERIMENTAL },
> >  	{ "Interactive Experimental",	FWTS_FLAG_INTERACTIVE
> > _EXPERIMENTAL },
> >  	{ "Power States",		FWTS_FLAG_POWER_STATES },
> > +	{ "SBBR",			FWTS_FLAG_TEST_SBBR },
> >  	{ "Utilities",			FWTS_FLAG_UTILS },
> >  	{ "Unsafe",			FWTS_FLAG_UNSAFE },
> >  	{ "UEFI",			FWTS_FLAG_TEST_UEFI },
> > @@ -131,6 +133,7 @@ static fwts_option fwts_framework_options[] = {
> >  	{ "acpicompliance",	"",   0, "Run ACPI tests for
> > spec compliance." },
> >  	{ "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." },
> >  	{ NULL, NULL, 0, NULL }
> >  };
> > 
> > @@ -140,6 +143,7 @@ static const char *fwts_copyright[] = {
> >  	"Some of this work - Copyright (c) 1999 - 2017, Intel
> > Corp. All rights reserved.",
> >  	"Some of this work - Copyright (c) 2010 - 2017,
> > Canonical.",
> >  	"Some of this work - Copyright (c) 2016 - 2017, IBM.",
> > +	"Some of this work - Copyright (c) 2017, ARM Ltd.",
> >  	NULL
> >  };
> > 
> > @@ -1323,6 +1327,9 @@ int
> > fwts_framework_options_handler(fwts_framework *fw, int argc, char *
> > const ar
> >  			if (fwts_framework_an_parse(fw, optarg) !=
> > FWTS_OK)
> >  				return FWTS_ERROR;
> >  			break;
> > +		case 46: /* --sbbr */
> > +			fw->flags |= FWTS_FLAG_TEST_SBBR;
> > +			break;
> >  		}
> >  		break;
> >  	case 'a': /* --all */
> > 
> The rests look good to me,and I assume more patches will be added to 
> sbbr tests.

Thanks.

> 
> -- 
> Cheers,
> Alex Hung
> 



More information about the fwts-devel mailing list