Message ID | 1487698620-33123-1-git-send-email-supreeth.venkatesh@arm.com |
---|---|
State | Accepted |
Headers | show |
On 2017-02-22 01:37 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.den0044b/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@arm.com> > --- > > Changes since v1: > * Remove Changes to fwts-test. > * Update based on review comments from Alex. > --- > README_SOURCE.txt | 1 + > src/lib/include/fwts_framework.h | 6 ++++-- > src/lib/src/fwts_framework.c | 9 ++++++++- > 3 files changed, 13 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/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_EXPERIMENTAL }, > { "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 */ > Acked-by: Alex Hung <alex.hung@canonical.com>
On 02/22/2017 01:37 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.den0044b/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@arm.com> > --- > > Changes since v1: > * Remove Changes to fwts-test. > * Update based on review comments from Alex. > --- > README_SOURCE.txt | 1 + > src/lib/include/fwts_framework.h | 6 ++++-- > src/lib/src/fwts_framework.c | 9 ++++++++- > 3 files changed, 13 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/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_EXPERIMENTAL }, > { "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 */ > > Acked-by: Ivan Hu <ivan.hu@canonical.com>
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/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_EXPERIMENTAL }, { "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 */
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.den0044b/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@arm.com> --- Changes since v1: * Remove Changes to fwts-test. * Update based on review comments from Alex. --- README_SOURCE.txt | 1 + src/lib/include/fwts_framework.h | 6 ++++-- src/lib/src/fwts_framework.c | 9 ++++++++- 3 files changed, 13 insertions(+), 3 deletions(-)