diff mbox

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

Message ID 1487698620-33123-1-git-send-email-supreeth.venkatesh@arm.com
State Accepted
Headers show

Commit Message

Supreeth Venkatesh Feb. 21, 2017, 5:37 p.m. UTC
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(-)

Comments

Alex Hung Feb. 27, 2017, 3:26 a.m. UTC | #1
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>
Ivan Hu March 2, 2017, 6:14 a.m. UTC | #2
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 mbox

Patch

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