From: Sakar Arora <sakar.arora@arm.com>
To: edk2-devel@lists.01.org
Cc: Supreeth.Venkatesh@arm.com, prasanth.pulla@arm.com
Subject: [edk2-test][RFC PATCH 06/12] uefi-sct/SctPkg: sbbr: Add test cases for SBBR v1.0 3.5.4 and 3.5.5
Date: Tue, 6 Nov 2018 14:17:40 +0530 [thread overview]
Message-ID: <1541494066-16288-6-git-send-email-sakar.arora@arm.com> (raw)
In-Reply-To: <1541494066-16288-1-git-send-email-sakar.arora@arm.com>
From: John Powell <john.powell@arm.com>
3.5.4 tests ResetSystem runtime service functions. The PSCI portion
of this requirement will be handled later or removed completely.
3.5.5 tests non-volatile variable persistence across resets.
Signed-off-by: John Powell <john.powell@arm.com>
---
.../SBBRRuntimeServices/BlackBoxTest/Guid.c | 6 +
.../SBBRRuntimeServices/BlackBoxTest/Guid.h | 16 +
.../BlackBoxTest/SBBRRuntimeServicesBBTest.inf | 1 +
.../SBBRRuntimeServicesBBTestFunction.c | 391 +++++++++++++++++++++
.../SBBRRuntimeServicesBBTestFunction.h | 19 +
.../BlackBoxTest/SBBRRuntimeServicesBBTestMain.c | 25 ++
.../BlackBoxTest/SBBRRuntimeServicesBBTestMain.h | 20 ++
7 files changed, 478 insertions(+)
diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/RuntimeServices/SBBRRuntimeServices/BlackBoxTest/Guid.c b/uefi-sct/SctPkg/TestCase/UEFI/EFI/RuntimeServices/SBBRRuntimeServices/BlackBoxTest/Guid.c
index 374b767..11dcfac 100644
--- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/RuntimeServices/SBBRRuntimeServices/BlackBoxTest/Guid.c
+++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/RuntimeServices/SBBRRuntimeServices/BlackBoxTest/Guid.c
@@ -59,3 +59,9 @@ Abstract:
#include "Guid.h"
EFI_GUID gSBBRRuntimeServicesAssertion001Guid = SBBRRUNTIMESERVICES_ASSERTION_001_GUID;
+
+EFI_GUID gSBBRRuntimeServicesAssertion002Guid = SBBRRUNTIMESERVICES_ASSERTION_002_GUID;
+
+EFI_GUID gSBBRRuntimeServicesAssertion003Guid = SBBRRUNTIMESERVICES_ASSERTION_003_GUID;
+
+EFI_GUID gSBBRRuntimeServicesAssertion004Guid = SBBRRUNTIMESERVICES_ASSERTION_004_GUID;
diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/RuntimeServices/SBBRRuntimeServices/BlackBoxTest/Guid.h b/uefi-sct/SctPkg/TestCase/UEFI/EFI/RuntimeServices/SBBRRuntimeServices/BlackBoxTest/Guid.h
index 86165b3..29fcc1f 100644
--- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/RuntimeServices/SBBRRuntimeServices/BlackBoxTest/Guid.h
+++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/RuntimeServices/SBBRRuntimeServices/BlackBoxTest/Guid.h
@@ -62,4 +62,20 @@ Abstract:
{ 0x787ad247, 0xc901, 0x49d8, {0x84, 0x82, 0x91, 0x5e, 0x09, 0x61, 0xcf, 0x34 }}
extern EFI_GUID gSBBRRuntimeServicesAssertion001Guid;
+
+#define SBBRRUNTIMESERVICES_ASSERTION_002_GUID \
+{ 0xcd4cedc0, 0xf8e3, 0x4f75, {0xbd, 0xec, 0x6d, 0xf2, 0xa6, 0x9f, 0xa4, 0x0f }}
+
+extern EFI_GUID gSBBRRuntimeServicesAssertion002Guid;
+
+#define SBBRRUNTIMESERVICES_ASSERTION_003_GUID \
+{ 0x5a353070, 0xc002, 0x48b7, {0xae, 0x15, 0x80, 0x77, 0xe2, 0x7a, 0x25, 0xaf }}
+
+extern EFI_GUID gSBBRRuntimeServicesAssertion003Guid;
+
+#define SBBRRUNTIMESERVICES_ASSERTION_004_GUID \
+{ 0xe8c528de, 0x4b69, 0x4c6b, {0xaa, 0xec, 0x69, 0x64, 0x59, 0x69, 0x26, 0x6f }}
+
+extern EFI_GUID gSBBRRuntimeServicesAssertion004Guid;
+
#endif /* _SBBRRUNTIMESERVICES_GUID_H_ */
diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/RuntimeServices/SBBRRuntimeServices/BlackBoxTest/SBBRRuntimeServicesBBTest.inf b/uefi-sct/SctPkg/TestCase/UEFI/EFI/RuntimeServices/SBBRRuntimeServices/BlackBoxTest/SBBRRuntimeServicesBBTest.inf
index f6c6856..fd4dae0 100644
--- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/RuntimeServices/SBBRRuntimeServices/BlackBoxTest/SBBRRuntimeServicesBBTest.inf
+++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/RuntimeServices/SBBRRuntimeServices/BlackBoxTest/SBBRRuntimeServicesBBTest.inf
@@ -79,3 +79,4 @@
UefiDriverEntryPoint
[Protocols]
+ gEfiTestRecoveryLibraryGuid
\ No newline at end of file
diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/RuntimeServices/SBBRRuntimeServices/BlackBoxTest/SBBRRuntimeServicesBBTestFunction.c b/uefi-sct/SctPkg/TestCase/UEFI/EFI/RuntimeServices/SBBRRuntimeServices/BlackBoxTest/SBBRRuntimeServicesBBTestFunction.c
index 1f19cef..3cee3ab 100644
--- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/RuntimeServices/SBBRRuntimeServices/BlackBoxTest/SBBRRuntimeServicesBBTestFunction.c
+++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/RuntimeServices/SBBRRuntimeServices/BlackBoxTest/SBBRRuntimeServicesBBTestFunction.c
@@ -56,8 +56,10 @@ Abstract:
--*/
#include "Guid.h"
#include "SctLib.h"
+#include <Library/EfiTestLib.h>
#include "SBBRRuntimeServicesBBTestMain.h"
#include "SBBRRuntimeServicesBBTestFunction.h"
+#include EFI_TEST_PROTOCOL_DEFINITION(TestRecoveryLibrary)
@@ -216,3 +218,392 @@ BBTestRuntimeServices (
return EFI_SUCCESS;
}
+
+
+extern EFI_TPL TplArray [];
+
+
+/**
+ * Entrypoint for gtRT->ResetSystem() Manual Test.
+ * @param This a pointer of EFI_BB_TEST_PROTOCOL.
+ * @param ClientInterface a pointer to the interface to be tested.
+ * @param TestLevel test "thoroughness" control.
+ * @param SupportHandle a handle containing protocols required.
+ * @return EFI_SUCCESS Finish the test successfully.
+ */
+//
+// SBBR 3.5.4
+//
+EFI_STATUS
+BBTestResetShutdown (
+ IN EFI_BB_TEST_PROTOCOL *This,
+ IN VOID *ClientInterface,
+ IN EFI_TEST_LEVEL TestLevel,
+ IN EFI_HANDLE SupportHandle
+ )
+{
+ EFI_STANDARD_TEST_LIBRARY_PROTOCOL *StandardLib;
+ EFI_TEST_RECOVERY_LIBRARY_PROTOCOL *RecoveryLib;
+ EFI_STATUS Status;
+ EFI_TEST_ASSERTION AssertionType;
+ UINTN Index;
+ EFI_TPL OldTpl;
+ UINT8 Buffer[1024];
+ RESET_DATA *ResetData;
+ UINTN Size;
+
+ //
+ // Get the Standard Library Interface
+ //
+ Status = gtBS->HandleProtocol (
+ SupportHandle,
+ &gEfiStandardTestLibraryGuid,
+ (VOID **) &StandardLib
+ );
+
+ if (EFI_ERROR (Status)) {
+ return Status;
+ }
+
+ //
+ // Get the Recovery Library Interface
+ //
+ Status = gtBS->HandleProtocol (
+ SupportHandle,
+ &gEfiTestRecoveryLibraryGuid,
+ (VOID **) &RecoveryLib
+ );
+
+ if (EFI_ERROR (Status)) {
+ StandardLib->RecordAssertion (
+ StandardLib,
+ EFI_TEST_ASSERTION_FAILED,
+ gTestGenericFailureGuid,
+ L"BS.HandleProtocol - Handle recovery library",
+ L"%a:%d:Status - %r",
+ __FILE__,
+ (UINTN)__LINE__,
+ Status
+ );
+ return Status;
+ }
+
+ //
+ // Read reset record
+ //
+ Status = RecoveryLib->ReadResetRecord (
+ RecoveryLib,
+ &Size,
+ Buffer
+ );
+ ResetData = (RESET_DATA *)Buffer;
+ if (EFI_ERROR (Status) || (Size < sizeof (RESET_DATA))) {
+ //
+ // Step 1
+ //
+ } else if (ResetData->Step == 1) {
+ //
+ // Step 2
+ //
+ if (ResetData->TplIndex < TPL_ARRAY_SIZE) {
+ Index = ResetData->TplIndex;
+ AssertionType = EFI_TEST_ASSERTION_PASSED;
+ goto ManualTestStep2;
+ }
+ } else {
+ return EFI_LOAD_ERROR;
+ }
+
+ for (Index = 0; Index < TPL_ARRAY_SIZE; Index++) {
+ //
+ // 4.2.2.1 ResetSystem must succeed when ResetType is EfiResetShutdown
+ //
+ ResetData->Step = 1;
+ ResetData->TplIndex = Index;
+ Status = RecoveryLib->WriteResetRecord (
+ RecoveryLib,
+ sizeof (RESET_DATA),
+ Buffer
+ );
+ if (EFI_ERROR (Status)) {
+ StandardLib->RecordAssertion (
+ StandardLib,
+ EFI_TEST_ASSERTION_FAILED,
+ gTestGenericFailureGuid,
+ L"TestRecoveryLib - WriteResetRecord",
+ L"%a:%d:Status - %r, TPL - %d",
+ __FILE__,
+ (UINTN)__LINE__,
+ Status,
+ TplArray[Index]
+ );
+ return Status;
+ }
+
+ //
+ // Print out some information to avoid the user thought it is an error.
+ //
+ // And the stall a second is required to make sure the recovery data has
+ // been written into the storage device.
+ //
+ SctPrint (L"System will shut down (or cold reset) after 1 second...");
+ gtBS->Stall (1000000);
+
+ OldTpl = gtBS->RaiseTPL (TplArray[Index]);
+ gtRT->ResetSystem (
+ EfiResetShutdown,
+ EFI_SUCCESS,
+ 0,
+ NULL
+ );
+ gtBS->RestoreTPL (OldTpl);
+ AssertionType = EFI_TEST_ASSERTION_FAILED;
+
+ManualTestStep2:
+ StandardLib->RecordAssertion (
+ StandardLib,
+ AssertionType,
+ Index==0? \
+ gSBBRRuntimeServicesAssertion003Guid: \
+ (Index == 1? \
+ gSBBRRuntimeServicesAssertion002Guid: \
+ gSBBRRuntimeServicesAssertion003Guid),
+ L"RT.ResetSystem - EfiResetShutdown",
+ L"%a:%d:Status - %r, TPL - %d",
+ __FILE__,
+ (UINTN)__LINE__,
+ Status,
+ TplArray[Index]
+ );
+ }
+
+ return EFI_SUCCESS;
+}
+
+/**
+ * Entrypoint for NonVolatileVariable test.
+ * @param This a pointer of EFI_BB_TEST_PROTOCOL.
+ * @param ClientInterface a pointer to the interface to be tested.
+ * @param TestLevel test "thoroughness" control.
+ * @param SupportHandle a handle containing protocols required.
+ * @return EFI_SUCCESS Finish the test successfully.
+ */
+//
+// SBBR 3.5.5
+//
+EFI_STATUS
+BBTestNonVolatileVariable (
+ IN EFI_BB_TEST_PROTOCOL *This,
+ IN VOID *ClientInterface,
+ IN EFI_TEST_LEVEL TestLevel,
+ IN EFI_HANDLE SupportHandle
+ )
+{
+ EFI_STANDARD_TEST_LIBRARY_PROTOCOL *StandardLib;
+ EFI_TEST_RECOVERY_LIBRARY_PROTOCOL *RecoveryLib;
+ EFI_STATUS Status;
+ EFI_TEST_ASSERTION AssertionType;
+ UINT8 Buffer[20];
+ EFI_GUID ResetGuid = SBBRRUNTIMESERVICES_NONVOLATILEVARIABLE_RESET_GUID;
+ EFI_GUID *TestResetGuid;
+ EFI_GUID VarVendorGuid = VENDOR_GUID;
+ UINTN Size;
+ UINT32 Attributes;
+ UINT32 VariableValue = UEFI_VARIABLE_TEST_VALUE;
+ UINT32 *TestVariableValue;
+
+ //
+ // Get the Standard Library Interface
+ //
+ Status = gtBS->HandleProtocol (
+ SupportHandle,
+ &gEfiStandardTestLibraryGuid,
+ (VOID **) &StandardLib
+ );
+
+ if (EFI_ERROR(Status)) {
+ return Status;
+ }
+
+ //
+ // Get the Recovery Library Interface
+ //
+ Status = gtBS->HandleProtocol (
+ SupportHandle,
+ &gEfiTestRecoveryLibraryGuid,
+ (VOID **) &RecoveryLib
+ );
+ if (EFI_ERROR(Status)) {
+ StandardLib->RecordAssertion (
+ StandardLib,
+ EFI_TEST_ASSERTION_FAILED,
+ gTestGenericFailureGuid,
+ L"BS.HandleProtocol - Handle recovery library",
+ L"%a:%d:Status - %r",
+ __FILE__,
+ (UINTN)__LINE__,
+ Status
+ );
+ return Status;
+ }
+
+ //
+ // Read reset record
+ //
+ Status = RecoveryLib->ReadResetRecord (
+ RecoveryLib,
+ &Size,
+ Buffer
+ );
+ TestResetGuid = (EFI_GUID *)Buffer;
+ if (EFI_ERROR(Status) || SctCompareGuid((void *)TestResetGuid, (void *)&ResetGuid) != 0) {
+ //
+ // Writing a new non-volatile variable for testing after making sure it doesn't already exist.
+ //
+
+ // Making a variable of the same name and vendor GUID with a size of zero to delete anything that might be left over
+ Size = 0;
+ Status = gtRT->SetVariable (
+ TEST_VAR_NAME,
+ &VarVendorGuid,
+ NULL,
+ Size,
+ NULL
+ );
+ if (EFI_ERROR(Status) && Status != EFI_NOT_FOUND) {
+ StandardLib->RecordAssertion (
+ StandardLib,
+ EFI_TEST_ASSERTION_FAILED,
+ gTestGenericFailureGuid,
+ L"RS.SetVariable",
+ L"%a:%d:Status - %r",
+ __FILE__,
+ (UINTN)__LINE__,
+ Status
+ );
+ return Status;
+ }
+
+ // Writing a known value into the UEFI variable with nonvolatile flag
+ Size = sizeof (UINT32);
+ Attributes = EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS;
+ Status = gtRT->SetVariable (
+ TEST_VAR_NAME,
+ &VarVendorGuid,
+ Attributes,
+ Size,
+ (VOID *)&VariableValue
+ );
+ if (EFI_ERROR(Status)) {
+ StandardLib->RecordAssertion (
+ StandardLib,
+ EFI_TEST_ASSERTION_FAILED,
+ gTestGenericFailureGuid,
+ L"RS.SetVariable",
+ L"%a:%d:Status - %r",
+ __FILE__,
+ (UINTN)__LINE__,
+ Status
+ );
+ return Status;
+ }
+
+ // Writing reset record and doing a cold reset
+ SctPrint (L"System will cold reboot...");
+ Status = RecoveryLib->WriteResetRecord (
+ RecoveryLib,
+ sizeof (EFI_GUID),
+ &ResetGuid
+ );
+ gtBS->Stall (1000000);
+ gtRT->ResetSystem (
+ EfiResetCold,
+ EFI_SUCCESS,
+ 0,
+ NULL
+ );
+
+ // Execution should never get here
+ StandardLib->RecordAssertion (
+ StandardLib,
+ EFI_TEST_ASSERTION_FAILED,
+ gTestGenericFailureGuid,
+ L"RT.ResetSystem",
+ L"%a:%d - System failed to reboot.",
+ __FILE__,
+ (UINTN)__LINE__
+ );
+ return EFI_ABORTED;
+
+ } else if (SctCompareGuid((void *)TestResetGuid, (void *)&ResetGuid) == 0) {
+ //
+ // Reading non-volatile variable to see if it's value was retained.
+ //
+
+ // Calling GetVariable to see if our new variable is still there.
+ Status = gtRT->GetVariable (
+ TEST_VAR_NAME,
+ &VarVendorGuid,
+ &Attributes,
+ &Size,
+ Buffer
+ );
+ if (EFI_ERROR(Status)) {
+ StandardLib->RecordAssertion (
+ StandardLib,
+ EFI_TEST_ASSERTION_FAILED,
+ gTestGenericFailureGuid,
+ L"RS.GetVariable",
+ L"%a:%d:Status - %r",
+ __FILE__,
+ (UINTN)__LINE__,
+ Status
+ );
+ return Status;
+ }
+
+ // Erasing the variable we created from the system
+ Size = 0;
+ Status = gtRT->SetVariable (
+ TEST_VAR_NAME,
+ &VarVendorGuid,
+ NULL,
+ Size,
+ NULL
+ );
+ if (EFI_ERROR(Status)) {
+ StandardLib->RecordAssertion (
+ StandardLib,
+ EFI_TEST_ASSERTION_FAILED,
+ gTestGenericFailureGuid,
+ L"RS.SetVariable",
+ L"%a:%d:Status - %r",
+ __FILE__,
+ (UINTN)__LINE__,
+ Status
+ );
+ return Status;
+ }
+
+ // Checking value received against value written.
+ TestVariableValue = (UINT32 *)Buffer;
+ if (*TestVariableValue == VariableValue) {
+ AssertionType = EFI_TEST_ASSERTION_PASSED;
+ } else {
+ AssertionType = EFI_TEST_ASSERTION_FAILED;
+ }
+ StandardLib->RecordAssertion (
+ StandardLib,
+ AssertionType,
+ gSBBRRuntimeServicesAssertion004Guid,
+ L"NonVolatileVariable",
+ L"%a:%d",
+ __FILE__,
+ (UINTN)__LINE__
+ );
+
+ return EFI_SUCCESS;
+ } else {
+ return EFI_LOAD_ERROR;
+ }
+}
\ No newline at end of file
diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/RuntimeServices/SBBRRuntimeServices/BlackBoxTest/SBBRRuntimeServicesBBTestFunction.h b/uefi-sct/SctPkg/TestCase/UEFI/EFI/RuntimeServices/SBBRRuntimeServices/BlackBoxTest/SBBRRuntimeServicesBBTestFunction.h
index 25dd209..f8ae376 100644
--- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/RuntimeServices/SBBRRuntimeServices/BlackBoxTest/SBBRRuntimeServicesBBTestFunction.h
+++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/RuntimeServices/SBBRRuntimeServices/BlackBoxTest/SBBRRuntimeServicesBBTestFunction.h
@@ -60,6 +60,9 @@ Abstract:
#include <Library/EfiTestLib.h>
+#define TEST_VAR_NAME (L"SCT_NON_VOLATILE_TEST")
+#define UEFI_VARIABLE_TEST_VALUE 0xDEADBEEF
+
EFI_STATUS
BBTestRuntimeServices (
IN EFI_BB_TEST_PROTOCOL *This,
@@ -68,4 +71,20 @@ BBTestRuntimeServices (
IN EFI_HANDLE SupportHandle
);
+EFI_STATUS
+BBTestResetShutdown (
+ IN EFI_BB_TEST_PROTOCOL *This,
+ IN VOID *ClientInterface,
+ IN EFI_TEST_LEVEL TestLevel,
+ IN EFI_HANDLE SupportHandle
+ );
+
+EFI_STATUS
+BBTestNonVolatileVariable (
+ IN EFI_BB_TEST_PROTOCOL *This,
+ IN VOID *ClientInterface,
+ IN EFI_TEST_LEVEL TestLevel,
+ IN EFI_HANDLE SupportHandle
+ );
+
#endif /* _SBBRRUNTIMESERVICES_BB_TEST_FUNCTION_H_ */
diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/RuntimeServices/SBBRRuntimeServices/BlackBoxTest/SBBRRuntimeServicesBBTestMain.c b/uefi-sct/SctPkg/TestCase/UEFI/EFI/RuntimeServices/SBBRRuntimeServices/BlackBoxTest/SBBRRuntimeServicesBBTestMain.c
index 4af06cc..8ce604d 100644
--- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/RuntimeServices/SBBRRuntimeServices/BlackBoxTest/SBBRRuntimeServicesBBTestMain.c
+++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/RuntimeServices/SBBRRuntimeServices/BlackBoxTest/SBBRRuntimeServicesBBTestMain.c
@@ -60,6 +60,12 @@ Abstract:
#include "SBBRRuntimeServicesBBTestMain.h"
+EFI_TPL TplArray [TPL_ARRAY_SIZE] = {
+ TPL_APPLICATION,
+ TPL_CALLBACK,
+ TPL_NOTIFY
+};
+
EFI_BB_TEST_PROTOCOL_FIELD gBBTestProtocolField = {
SBBRRUNTIMESERVICES_TEST_REVISION,
SBBRRUNTIMESERVICES_TEST_GUID,
@@ -82,6 +88,24 @@ EFI_BB_TEST_ENTRY_FIELD gBBTestEntryField[] = {
EFI_TEST_CASE_AUTO,
BBTestRuntimeServices
},
+ {
+ SBBRRUNTIMESERVICES_TEST_CASE_RESETSHUTDOWN_GUID,
+ L"ResetSystem Shutdown Test",
+ L"Manual Test for ResetSystem Shutdown.",
+ EFI_TEST_LEVEL_DEFAULT,
+ gSupportProtocolGuid,
+ EFI_TEST_CASE_MANUAL,
+ BBTestResetShutdown
+ },
+ {
+ SBBRRUNTIMESERVICES_TEST_CASE_NONVOLATILEVARIABLE_GUID,
+ L"Non-volatile Variable Reset Test",
+ L"Ensures that non-volatile UEFI variables can survive cold resets.",
+ EFI_TEST_LEVEL_DEFAULT,
+ gSupportProtocolGuid,
+ EFI_TEST_CASE_AUTO,
+ BBTestNonVolatileVariable
+ },
EFI_NULL_GUID
};
@@ -120,6 +144,7 @@ InitializeBBTestSBBRRuntimeServices (
{
EfiInitializeTestLib (ImageHandle, SystemTable);
+ SctInitializeLib (ImageHandle, SystemTable);
return EfiInitAndInstallBBTestInterface (
&ImageHandle,
diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/RuntimeServices/SBBRRuntimeServices/BlackBoxTest/SBBRRuntimeServicesBBTestMain.h b/uefi-sct/SctPkg/TestCase/UEFI/EFI/RuntimeServices/SBBRRuntimeServices/BlackBoxTest/SBBRRuntimeServicesBBTestMain.h
index e14b9bb..5b46068 100644
--- a/uefi-sct/SctPkg/TestCase/UEFI/EFI/RuntimeServices/SBBRRuntimeServices/BlackBoxTest/SBBRRuntimeServicesBBTestMain.h
+++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/RuntimeServices/SBBRRuntimeServices/BlackBoxTest/SBBRRuntimeServicesBBTestMain.h
@@ -65,6 +65,20 @@ Abstract:
#define SBBRRUNTIMESERVICES_TEST_GUID \
{ 0x52A69BBF, 0xE19F, 0x4e82, {0x93, 0xD6, 0xAA, 0xC4, 0x6E, 0x2E, 0x1E, 0x06 }}
+#define SBBRRUNTIMESERVICES_NONVOLATILEVARIABLE_RESET_GUID \
+{ 0xf3a95660, 0xce09, 0x418b, {0x93, 0xfe, 0xd3, 0xfa, 0x9d, 0xe3, 0x9b, 0x45 }}
+
+#define VENDOR_GUID \
+{ 0xb110c08e, 0x9756, 0x4d88, {0xb5, 0x5a, 0x4a, 0x4f, 0x60, 0x3e, 0x71, 0x70 }}
+
+#define TPL_ARRAY_SIZE 3
+
+typedef struct _RESET_DATA {
+ UINTN Step;
+ UINTN TplIndex;
+ UINT32 RepeatTimes;
+} RESET_DATA;
+
EFI_STATUS
InitializeBBTestSBBRRuntimeServices (
IN EFI_HANDLE ImageHandle,
@@ -83,4 +97,10 @@ BBTestSBBRRuntimeServices (
#define SBBRRUNTIMESERVICES_TEST_CASE_GUID \
{ 0xe867fa15, 0x942b, 0x4c69, {0xad, 0xee, 0xf9, 0x3b, 0x11, 0x71, 0xd0, 0x8c }}
+#define SBBRRUNTIMESERVICES_TEST_CASE_RESETSHUTDOWN_GUID \
+ { 0x877143a4, 0xad97, 0x4213, {0x8f, 0x7f, 0x7d, 0xd3, 0x7e, 0xa4, 0x63, 0xd5 }}
+
+#define SBBRRUNTIMESERVICES_TEST_CASE_NONVOLATILEVARIABLE_GUID \
+ { 0xa5936aeb, 0x3642, 0x4d1d, {0xb2, 0x26, 0x09, 0xe0, 0xe0, 0xa5, 0x2b, 0xaf }}
+
#endif /* _SBBRRUNTIMESERVICES_TEST_MAIN_H_ */
--
2.7.4
next prev parent reply other threads:[~2018-11-06 8:48 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-06 8:47 [edk2-test][RFC PATCH 01/12] uefi-sct/SctPkg: sbbr: Add support to build SBBR v1.0 test cases Sakar Arora
2018-11-06 8:47 ` [edk2-test][RFC PATCH 02/12] uefi-sct/SctPkg: sbbr: Add boot services test cases for SBBR v1.0 Sakar Arora
2018-11-06 17:30 ` Leif Lindholm
2018-11-06 8:47 ` [edk2-test][RFC PATCH 03/12] uefi-sct/SctPkg: sbbr: Add System Environment Configuration Test Cases Sakar Arora
2018-11-06 17:38 ` Leif Lindholm
2018-11-06 8:47 ` [edk2-test][RFC PATCH 04/12] uefi-sct/SctPkg: sbbr: Add Required UEFI Runtime Services tests Sakar Arora
2018-11-06 17:40 ` Leif Lindholm
2018-11-06 8:47 ` [edk2-test][RFC PATCH 05/12] uefi-sct/SctPkg: sbbr: Add test cases for SBBR v1.0 Appendix C Sakar Arora
2018-11-06 8:47 ` Sakar Arora [this message]
2018-11-06 8:47 ` [edk2-test][RFC PATCH 07/12] uefi-sct/SctPkg: sbbr: Add test cases for SBBR v1.0 boot services Sakar Arora
2018-11-06 17:46 ` Leif Lindholm
2018-11-07 20:55 ` Supreeth Venkatesh
2018-11-06 8:47 ` [edk2-test][RFC PATCH 08/12] uefi-sct/SctPkg: sbbr: UEFI Version Verification Test Sakar Arora
2018-11-06 17:48 ` Leif Lindholm
2018-11-06 8:47 ` [edk2-test][RFC PATCH 09/12] uefi-sct/SctPkg: sbbr: UEFI SMBIOS Base Requirements Sakar Arora
2018-11-06 8:47 ` [edk2-test][RFC PATCH 10/12] uefi-sct/SctPkg: sbbr: Corrected path to ArmBaseLib.inf in SBBR_SCT.dsc Sakar Arora
2018-11-06 17:51 ` Leif Lindholm
2018-11-06 8:47 ` [edk2-test][RFC PATCH 11/12] uefi-sct/SctPkg: sbbr: Bugfix for MemoryMap Check Test Sakar Arora
2018-11-06 17:53 ` Leif Lindholm
2018-11-20 7:55 ` Jin, Eric
2018-11-06 8:47 ` [edk2-test][RFC PATCH 12/12] uefi-sct/SctPkg: sbbr: Modify SBBR description file to add missing dependencies Sakar Arora
2018-11-06 17:56 ` Leif Lindholm
2018-11-06 12:45 ` [edk2-test][RFC PATCH 01/12] uefi-sct/SctPkg: sbbr: Add support to build SBBR v1.0 test cases Leif Lindholm
2018-11-06 17:39 ` Supreeth Venkatesh
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1541494066-16288-6-git-send-email-sakar.arora@arm.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox