From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=217.140.101.70; helo=foss.arm.com; envelope-from=sakar.arora@arm.com; receiver=edk2-devel@lists.01.org Received: from foss.arm.com (foss.arm.com [217.140.101.70]) by ml01.01.org (Postfix) with ESMTP id C00DD21B02822 for ; Tue, 6 Nov 2018 00:48:27 -0800 (PST) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 5630F80D; Tue, 6 Nov 2018 00:48:27 -0800 (PST) Received: from u201365.usa.Arm.com (a75592.asiapac.arm.com [10.162.22.94]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 02DA73F5BD; Tue, 6 Nov 2018 00:48:25 -0800 (PST) From: Sakar Arora To: edk2-devel@lists.01.org Cc: Supreeth.Venkatesh@arm.com, prasanth.pulla@arm.com Date: Tue, 6 Nov 2018 14:17:41 +0530 Message-Id: <1541494066-16288-7-git-send-email-sakar.arora@arm.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1541494066-16288-1-git-send-email-sakar.arora@arm.com> References: <1541494066-16288-1-git-send-email-sakar.arora@arm.com> Subject: [edk2-test][RFC PATCH 07/12] uefi-sct/SctPkg: sbbr: Add test cases for SBBR v1.0 boot services X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Nov 2018 08:48:28 -0000 X-List-Received-Date: Tue, 06 Nov 2018 08:48:28 -0000 X-List-Received-Date: Tue, 06 Nov 2018 08:48:28 -0000 X-List-Received-Date: Tue, 06 Nov 2018 08:48:28 -0000 X-List-Received-Date: Tue, 06 Nov 2018 08:48:28 -0000 X-List-Received-Date: Tue, 06 Nov 2018 08:48:28 -0000 X-List-Received-Date: Tue, 06 Nov 2018 08:48:28 -0000 X-List-Received-Date: Tue, 06 Nov 2018 08:48:28 -0000 X-List-Received-Date: Tue, 06 Nov 2018 08:48:28 -0000 X-List-Received-Date: Tue, 06 Nov 2018 08:48:28 -0000 X-List-Received-Date: Tue, 06 Nov 2018 08:48:28 -0000 X-List-Received-Date: Tue, 06 Nov 2018 08:48:28 -0000 X-List-Received-Date: Tue, 06 Nov 2018 08:48:28 -0000 X-List-Received-Date: Tue, 06 Nov 2018 08:48:28 -0000 X-List-Received-Date: Tue, 06 Nov 2018 08:48:28 -0000 X-List-Received-Date: Tue, 06 Nov 2018 08:48:28 -0000 X-List-Received-Date: Tue, 06 Nov 2018 08:48:28 -0000 X-List-Received-Date: Tue, 06 Nov 2018 08:48:28 -0000 X-List-Received-Date: Tue, 06 Nov 2018 08:48:28 -0000 X-List-Received-Date: Tue, 06 Nov 2018 08:48:28 -0000 X-List-Received-Date: Tue, 06 Nov 2018 08:48:28 -0000 X-List-Received-Date: Tue, 06 Nov 2018 08:48:28 -0000 X-List-Received-Date: Tue, 06 Nov 2018 08:48:28 -0000 X-List-Received-Date: Tue, 06 Nov 2018 08:48:28 -0000 X-List-Received-Date: Tue, 06 Nov 2018 08:48:28 -0000 X-List-Received-Date: Tue, 06 Nov 2018 08:48:28 -0000 X-List-Received-Date: Tue, 06 Nov 2018 08:48:28 -0000 X-List-Received-Date: Tue, 06 Nov 2018 08:48:28 -0000 From: John Powell Tests SBBR requirements 3.4.1 and 3.4.4. Change-Id: I0dd625851db65d04d2a7572a2d6838951c8f7c67 Signed-off-by: John Powell --- uefi-sct/SctPkg/CommonGenFramework.sh | 3 + uefi-sct/SctPkg/Config/Data/Category.ini | 11 +- .../SbbrBootServices/BlackBoxTest/Guid.c | 65 +++ .../SbbrBootServices/BlackBoxTest/Guid.h | 76 +++ .../BlackBoxTest/SbbrBootServicesBBTest.inf | 85 ++++ .../BlackBoxTest/SbbrBootServicesBBTestFunction.c | 549 +++++++++++++++++++++ .../BlackBoxTest/SbbrBootServicesBBTestFunction.h | 85 ++++ .../BlackBoxTest/SbbrBootServicesBBTestMain.c | 149 ++++++ .../BlackBoxTest/SbbrBootServicesBBTestMain.h | 99 ++++ uefi-sct/SctPkg/UEFI/SBBR_SCT.dsc | 7 + 10 files changed, 1127 insertions(+), 2 deletions(-) create mode 100644 uefi-sct/SctPkg/TestCase/UEFI/EFI/BootServices/SbbrBootServices/BlackBoxTest/Guid.c create mode 100644 uefi-sct/SctPkg/TestCase/UEFI/EFI/BootServices/SbbrBootServices/BlackBoxTest/Guid.h create mode 100644 uefi-sct/SctPkg/TestCase/UEFI/EFI/BootServices/SbbrBootServices/BlackBoxTest/SbbrBootServicesBBTest.inf create mode 100644 uefi-sct/SctPkg/TestCase/UEFI/EFI/BootServices/SbbrBootServices/BlackBoxTest/SbbrBootServicesBBTestFunction.c create mode 100644 uefi-sct/SctPkg/TestCase/UEFI/EFI/BootServices/SbbrBootServices/BlackBoxTest/SbbrBootServicesBBTestFunction.h create mode 100644 uefi-sct/SctPkg/TestCase/UEFI/EFI/BootServices/SbbrBootServices/BlackBoxTest/SbbrBootServicesBBTestMain.c create mode 100644 uefi-sct/SctPkg/TestCase/UEFI/EFI/BootServices/SbbrBootServices/BlackBoxTest/SbbrBootServicesBBTestMain.h diff --git a/uefi-sct/SctPkg/CommonGenFramework.sh b/uefi-sct/SctPkg/CommonGenFramework.sh index aecd21b..ab35c5a 100755 --- a/uefi-sct/SctPkg/CommonGenFramework.sh +++ b/uefi-sct/SctPkg/CommonGenFramework.sh @@ -364,6 +364,9 @@ then # Tests SBBR sections 3.3.1, 3.3.2, 3.3.3, and 3.3.4 cp $ProcessorType/SysEnvConfigBBTest.efi $Framework/Test/ > NUL + # UEFI Boot Services - SBBR v1.0 3.4 + cp $ProcessorType/SbbrBootServicesBBTest.efi $Framework/Test/ > NUL + # Runtime Services Tests - SBBR v1.0 Appendix B cp $ProcessorType/VariableServicesBBTest.efi $Framework/Test/ > NUL cp $ProcessorType/TimeServicesBBTest.efi $Framework/Test/ > NUL diff --git a/uefi-sct/SctPkg/Config/Data/Category.ini b/uefi-sct/SctPkg/Config/Data/Category.ini index 9576971..17ca639 100644 --- a/uefi-sct/SctPkg/Config/Data/Category.ini +++ b/uefi-sct/SctPkg/Config/Data/Category.ini @@ -145,8 +145,15 @@ Description = [Category Data] Revision = 0x00010000 -CategoryGuid = AFF115FB-387B-4C18-8C41-6AFC7F03BB90 -InterfaceGuid = AFF115FB-387B-4C18-8C41-6AFC7F03BB90 +CategoryGuid = 8dafd7a7-44d0-4cf4-9d28-9f87080fc091 +InterfaceGuid = E9EF7553-F833-4E56-96E8-38AE679523CC +Name = BootServicesTest\SbbrBootServices +Description = Tests SBBR boot services requirements. + +[Category Data] +Revision = 0x00010000 +CategoryGuid = AFF115FB-387B-4c18-8C41-6AFC7F03BB90 +InterfaceGuid = AFF115FB-387B-4c18-8C41-6AFC7F03BB90 Name = RuntimeServicesTest Description = diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/BootServices/SbbrBootServices/BlackBoxTest/Guid.c b/uefi-sct/SctPkg/TestCase/UEFI/EFI/BootServices/SbbrBootServices/BlackBoxTest/Guid.c new file mode 100644 index 0000000..a0224a9 --- /dev/null +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/BootServices/SbbrBootServices/BlackBoxTest/Guid.c @@ -0,0 +1,65 @@ +/*++ + The material contained herein is not a license, either + expressly or impliedly, to any intellectual property owned + or controlled by any of the authors or developers of this + material or to any contribution thereto. The material + contained herein is provided on an "AS IS" basis and, to the + maximum extent permitted by applicable law, this information + is provided AS IS AND WITH ALL FAULTS, and the authors and + developers of this material hereby disclaim all other + warranties and conditions, either express, implied or + statutory, including, but not limited to, any (if any) + implied warranties, duties or conditions of merchantability, + of fitness for a particular purpose, of accuracy or + completeness of responses, of results, of workmanlike + effort, of lack of viruses and of lack of negligence, all + with regard to this material and any contribution thereto. + Designers must not rely on the absence or characteristics of + any features or instructions marked "reserved" or + "undefined." The Unified EFI Forum, Inc. reserves any + features or instructions so marked for future definition and + shall have no responsibility whatsoever for conflicts or + incompatibilities arising from future changes to them. ALSO, + THERE IS NO WARRANTY OR CONDITION OF TITLE, QUIET ENJOYMENT, + QUIET POSSESSION, CORRESPONDENCE TO DESCRIPTION OR + NON-INFRINGEMENT WITH REGARD TO THE TEST SUITE AND ANY + CONTRIBUTION THERETO. + + IN NO EVENT WILL ANY AUTHOR OR DEVELOPER OF THIS MATERIAL OR + ANY CONTRIBUTION THERETO BE LIABLE TO ANY OTHER PARTY FOR + THE COST OF PROCURING SUBSTITUTE GOODS OR SERVICES, LOST + PROFITS, LOSS OF USE, LOSS OF DATA, OR ANY INCIDENTAL, + CONSEQUENTIAL, DIRECT, INDIRECT, OR SPECIAL DAMAGES WHETHER + UNDER CONTRACT, TORT, WARRANTY, OR OTHERWISE, ARISING IN ANY + WAY OUT OF THIS OR ANY OTHER AGREEMENT RELATING TO THIS + DOCUMENT, WHETHER OR NOT SUCH PARTY HAD ADVANCE NOTICE OF + THE POSSIBILITY OF SUCH DAMAGES. + + Copyright 2006 - 2016 Unified EFI, Inc. All + Rights Reserved, subject to all existing rights in all + matters included within this Test Suite, to which United + EFI, Inc. makes no claim of right. + + Copyright (c) 2016, ARM Ltd. All rights reserved. + +--*/ +/*++ + +Module Name: + + Guid.c + +Abstract: + + Global variable assignments for GUIDs used in test assertions. + +--*/ + +#include "Efi.h" +#include "Guid.h" + +EFI_GUID gSbbrBootServicesAssertion001Guid = SBBRBOOTSERVICES_ASSERTION_001_GUID; + +EFI_GUID gSbbrBootServicesAssertion002Guid = SBBRBOOTSERVICES_ASSERTION_002_GUID; + +EFI_GUID gSbbrBootServicesAssertion003Guid = SBBRBOOTSERVICES_ASSERTION_003_GUID; diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/BootServices/SbbrBootServices/BlackBoxTest/Guid.h b/uefi-sct/SctPkg/TestCase/UEFI/EFI/BootServices/SbbrBootServices/BlackBoxTest/Guid.h new file mode 100644 index 0000000..9f7d5a9 --- /dev/null +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/BootServices/SbbrBootServices/BlackBoxTest/Guid.h @@ -0,0 +1,76 @@ +/*++ + The material contained herein is not a license, either + expressly or impliedly, to any intellectual property owned + or controlled by any of the authors or developers of this + material or to any contribution thereto. The material + contained herein is provided on an "AS IS" basis and, to the + maximum extent permitted by applicable law, this information + is provided AS IS AND WITH ALL FAULTS, and the authors and + developers of this material hereby disclaim all other + warranties and conditions, either express, implied or + statutory, including, but not limited to, any (if any) + implied warranties, duties or conditions of merchantability, + of fitness for a particular purpose, of accuracy or + completeness of responses, of results, of workmanlike + effort, of lack of viruses and of lack of negligence, all + with regard to this material and any contribution thereto. + Designers must not rely on the absence or characteristics of + any features or instructions marked "reserved" or + "undefined." The Unified EFI Forum, Inc. reserves any + features or instructions so marked for future definition and + shall have no responsibility whatsoever for conflicts or + incompatibilities arising from future changes to them. ALSO, + THERE IS NO WARRANTY OR CONDITION OF TITLE, QUIET ENJOYMENT, + QUIET POSSESSION, CORRESPONDENCE TO DESCRIPTION OR + NON-INFRINGEMENT WITH REGARD TO THE TEST SUITE AND ANY + CONTRIBUTION THERETO. + + IN NO EVENT WILL ANY AUTHOR OR DEVELOPER OF THIS MATERIAL OR + ANY CONTRIBUTION THERETO BE LIABLE TO ANY OTHER PARTY FOR + THE COST OF PROCURING SUBSTITUTE GOODS OR SERVICES, LOST + PROFITS, LOSS OF USE, LOSS OF DATA, OR ANY INCIDENTAL, + CONSEQUENTIAL, DIRECT, INDIRECT, OR SPECIAL DAMAGES WHETHER + UNDER CONTRACT, TORT, WARRANTY, OR OTHERWISE, ARISING IN ANY + WAY OUT OF THIS OR ANY OTHER AGREEMENT RELATING TO THIS + DOCUMENT, WHETHER OR NOT SUCH PARTY HAD ADVANCE NOTICE OF + THE POSSIBILITY OF SUCH DAMAGES. + + Copyright 2006 - 2016 Unified EFI, Inc. All + Rights Reserved, subject to all existing rights in all + matters included within this Test Suite, to which United + EFI, Inc. makes no claim of right. + + Copyright (c) 2016, ARM Ltd. All rights reserved. + +--*/ +/*++ + +Module Name: + + Guid.h + +Abstract: + + Definitions for GUIDs used in test assertions. + +--*/ + +#ifndef _SBBRBOOTSERVICES_GUID_H_ +#define _SBBRBOOTSERVICES_GUID_H_ + +#define SBBRBOOTSERVICES_ASSERTION_001_GUID \ +{ 0x58a44f17, 0x760e, 0x478b, {0xba, 0xef, 0xe2, 0x0b, 0xfb, 0xcd, 0x74, 0x57 }} + +extern EFI_GUID gSbbrBootServicesAssertion001Guid; + +#define SBBRBOOTSERVICES_ASSERTION_002_GUID \ +{ 0x1e4cdbab, 0x9727, 0x4f71, {0x88, 0x25, 0xb4, 0xb1, 0x6a, 0x58, 0xcf, 0x84 }} + +extern EFI_GUID gSbbrBootServicesAssertion002Guid; + +#define SBBRBOOTSERVICES_ASSERTION_003_GUID \ +{ 0x2a326d84, 0x5e23, 0x40e1, {0xb8, 0xae, 0xf7, 0xa9, 0xce, 0x18, 0xf9, 0xb5 }} + +extern EFI_GUID gSbbrBootServicesAssertion003Guid; + +#endif /* _SBBRBOOTSERVICES_GUID_H_ */ diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/BootServices/SbbrBootServices/BlackBoxTest/SbbrBootServicesBBTest.inf b/uefi-sct/SctPkg/TestCase/UEFI/EFI/BootServices/SbbrBootServices/BlackBoxTest/SbbrBootServicesBBTest.inf new file mode 100644 index 0000000..9abf4e2 --- /dev/null +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/BootServices/SbbrBootServices/BlackBoxTest/SbbrBootServicesBBTest.inf @@ -0,0 +1,85 @@ +# +# The material contained herein is not a license, either +# expressly or impliedly, to any intellectual property owned +# or controlled by any of the authors or developers of this +# material or to any contribution thereto. The material +# contained herein is provided on an "AS IS" basis and, to the +# maximum extent permitted by applicable law, this information +# is provided AS IS AND WITH ALL FAULTS, and the authors and +# developers of this material hereby disclaim all other +# warranties and conditions, either express, implied or +# statutory, including, but not limited to, any (if any) +# implied warranties, duties or conditions of merchantability, +# of fitness for a particular purpose, of accuracy or +# completeness of responses, of results, of workmanlike +# effort, of lack of viruses and of lack of negligence, all +# with regard to this material and any contribution thereto. +# Designers must not rely on the absence or characteristics of +# any features or instructions marked "reserved" or +# "undefined." The Unified EFI Forum, Inc. reserves any +# features or instructions so marked for future definition and +# shall have no responsibility whatsoever for conflicts or +# incompatibilities arising from future changes to them. ALSO, +# THERE IS NO WARRANTY OR CONDITION OF TITLE, QUIET ENJOYMENT, +# QUIET POSSESSION, CORRESPONDENCE TO DESCRIPTION OR +# NON-INFRINGEMENT WITH REGARD TO THE TEST SUITE AND ANY +# CONTRIBUTION THERETO. +# +# IN NO EVENT WILL ANY AUTHOR OR DEVELOPER OF THIS MATERIAL OR +# ANY CONTRIBUTION THERETO BE LIABLE TO ANY OTHER PARTY FOR +# THE COST OF PROCURING SUBSTITUTE GOODS OR SERVICES, LOST +# PROFITS, LOSS OF USE, LOSS OF DATA, OR ANY INCIDENTAL, +# CONSEQUENTIAL, DIRECT, INDIRECT, OR SPECIAL DAMAGES WHETHER +# UNDER CONTRACT, TORT, WARRANTY, OR OTHERWISE, ARISING IN ANY +# WAY OUT OF THIS OR ANY OTHER AGREEMENT RELATING TO THIS +# DOCUMENT, WHETHER OR NOT SUCH PARTY HAD ADVANCE NOTICE OF +# THE POSSIBILITY OF SUCH DAMAGES. +# +# Copyright 2006 - 2016 Unified EFI, Inc. All +# Rights Reserved, subject to all existing rights in all +# matters included within this Test Suite, to which United +# EFI, Inc. makes no claim of right. +# +# Copyright (c) 2016, ARM Ltd. All rights reserved. +# +# +#/*++ +# +# Module Name: +# +# SbbrBootServicesBBTest.inf +# +# Abstract: +# +# Component description file for SbbrBootServices tests. +# +#--*/ + +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME = SbbrBootServicesBBTest + FILE_GUID = 9fa74174-eacf-468a-adca-f23a6ee190d2 + MODULE_TYPE = UEFI_DRIVER + VERSION_STRING = 1.0 + ENTRY_POINT = InitializeBBTestSbbrBootServices + +[Sources.common] + SbbrBootServicesBBTestMain.c + SbbrBootServicesBBTestFunction.c + Guid.c + +[Packages] + MdePkg/MdePkg.dec + SctPkg/SctPkg.dec + SctPkg/UEFI/UEFI.dec + +[LibraryClasses] + UefiDriverEntryPoint + SctLib + EfiTestLib + +[Protocols] + +[Guids] + gEfiSmbios3TableGuid + gEfiAcpi20TableGuid \ No newline at end of file diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/BootServices/SbbrBootServices/BlackBoxTest/SbbrBootServicesBBTestFunction.c b/uefi-sct/SctPkg/TestCase/UEFI/EFI/BootServices/SbbrBootServices/BlackBoxTest/SbbrBootServicesBBTestFunction.c new file mode 100644 index 0000000..fb50702 --- /dev/null +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/BootServices/SbbrBootServices/BlackBoxTest/SbbrBootServicesBBTestFunction.c @@ -0,0 +1,549 @@ +/*++ + The material contained herein is not a license, either + expressly or impliedly, to any intellectual property owned + or controlled by any of the authors or developers of this + material or to any contribution thereto. The material + contained herein is provided on an "AS IS" basis and, to the + maximum extent permitted by applicable law, this information + is provided AS IS AND WITH ALL FAULTS, and the authors and + developers of this material hereby disclaim all other + warranties and conditions, either express, implied or + statutory, including, but not limited to, any (if any) + implied warranties, duties or conditions of merchantability, + of fitness for a particular purpose, of accuracy or + completeness of responses, of results, of workmanlike + effort, of lack of viruses and of lack of negligence, all + with regard to this material and any contribution thereto. + Designers must not rely on the absence or characteristics of + any features or instructions marked "reserved" or + "undefined." The Unified EFI Forum, Inc. reserves any + features or instructions so marked for future definition and + shall have no responsibility whatsoever for conflicts or + incompatibilities arising from future changes to them. ALSO, + THERE IS NO WARRANTY OR CONDITION OF TITLE, QUIET ENJOYMENT, + QUIET POSSESSION, CORRESPONDENCE TO DESCRIPTION OR + NON-INFRINGEMENT WITH REGARD TO THE TEST SUITE AND ANY + CONTRIBUTION THERETO. + + IN NO EVENT WILL ANY AUTHOR OR DEVELOPER OF THIS MATERIAL OR + ANY CONTRIBUTION THERETO BE LIABLE TO ANY OTHER PARTY FOR + THE COST OF PROCURING SUBSTITUTE GOODS OR SERVICES, LOST + PROFITS, LOSS OF USE, LOSS OF DATA, OR ANY INCIDENTAL, + CONSEQUENTIAL, DIRECT, INDIRECT, OR SPECIAL DAMAGES WHETHER + UNDER CONTRACT, TORT, WARRANTY, OR OTHERWISE, ARISING IN ANY + WAY OUT OF THIS OR ANY OTHER AGREEMENT RELATING TO THIS + DOCUMENT, WHETHER OR NOT SUCH PARTY HAD ADVANCE NOTICE OF + THE POSSIBILITY OF SUCH DAMAGES. + + Copyright 2006 - 2016 Unified EFI, Inc. All + Rights Reserved, subject to all existing rights in all + matters included within this Test Suite, to which United + EFI, Inc. makes no claim of right. + + Copyright (c) 2016, ARM Ltd. All rights reserved. + +--*/ +/*++ + +Module Name: + + SbbrBootServicesBBTestFunction.c + +Abstract: + + Test case function definitions for SbbrBootServices. + +--*/ + +#include "Guid.h" +#include +#include +#include "SbbrBootServicesBBTestMain.h" +#include "SbbrBootServicesBBTestFunction.h" +#include "SctLib.h" + +/* Helper Functions */ + +STATIC +UINT8 +SbbrBootServicesByteChecksum ( + IN VOID *Data, + IN UINT32 Length + ) +{ + UINT32 i; + UINT8 sum = 0; + UINT8 *Bytes = (UINT8 *)Data; + + for (i = 0; i < Length; i++){ + sum = sum + Bytes[i]; + } + + return sum; +} + +STATIC +UINT32 +SbbrBootServicesIsRam ( + EFI_MEMORY_DESCRIPTOR *MemoryMapEntry + ) +{ + switch (MemoryMapEntry->Type) + { + case EfiLoaderCode: + case EfiLoaderData: + case EfiBootServicesCode: + case EfiBootServicesData: + case EfiRuntimeServicesCode: + case EfiRuntimeServicesData: + case EfiConventionalMemory: + return TRUE; + default: + return FALSE; + } +} + +/** + * Entrypoint for MemoryMap 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. + */ + +EFI_STATUS +BBTestMemoryMapTest ( + 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_STATUS Status; + UINTN MemoryMapSize; + VOID *MemoryMap; + EFI_MEMORY_DESCRIPTOR *MemoryMapDescriptor; + UINTN MapKey; + UINTN DescriptorSize; + UINT32 DescriptorVersion; + UINT32 i; + UINT32 error; + + // + // Get the Standard Library Interface + // + Status = gtBS->HandleProtocol ( + SupportHandle, + &gEfiStandardTestLibraryGuid, + &StandardLib + ); + if (EFI_ERROR (Status)) { + return Status; + } + + // + // Getting memory map + // + MemoryMapSize = 0; + Status = gtBS->GetMemoryMap ( + &MemoryMapSize, + MemoryMap, + &MapKey, + &DescriptorSize, + &DescriptorVersion + ); + if (Status != EFI_BUFFER_TOO_SMALL){ + StandardLib->RecordAssertion ( + StandardLib, + EFI_TEST_ASSERTION_FAILED, + gSbbrBootServicesAssertion001Guid, + L"MemoryMap", + L"%a:%d - MemoryMap Not Found", + __FILE__, + __LINE__ + ); + return EFI_SUCCESS; + } + MemoryMap = SctAllocatePool(MemoryMapSize); + if (MemoryMap == 0) { + return EFI_OUT_OF_RESOURCES; + } + Status = gtBS->GetMemoryMap ( + &MemoryMapSize, + MemoryMap, + &MapKey, + &DescriptorSize, + &DescriptorVersion + ); + if (EFI_ERROR (Status)) { + StandardLib->RecordAssertion ( + StandardLib, + EFI_TEST_ASSERTION_FAILED, + gSbbrBootServicesAssertion001Guid, + L"MemoryMap", + L"%a:%d - MemoryMap Not Found", + __FILE__, + __LINE__ + ); + SctFreePool(MemoryMap); + return EFI_SUCCESS; + } + + // + // Looping through each descriptor + // + for (i = 0; i < MemoryMapSize / DescriptorSize; i++) { + MemoryMapDescriptor = (EFI_MEMORY_DESCRIPTOR *)(MemoryMap + (i * DescriptorSize)); + error = FALSE; + + // + // Checking for identity mapping + // + if (MemoryMapDescriptor->PhysicalStart != MemoryMapDescriptor->VirtualStart) { + StandardLib->RecordAssertion ( + StandardLib, + EFI_TEST_ASSERTION_FAILED, + gSbbrBootServicesAssertion001Guid, + L"MemoryMap", + L"%a:%d - MemoryMap 0x%X Not Identity Mapped", + __FILE__, + __LINE__, + MemoryMapDescriptor + ); + error = TRUE; + } + + // + // Checking attribute + // + if (SbbrBootServicesIsRam(MemoryMapDescriptor) == TRUE && !(MemoryMapDescriptor->Attribute & EFI_MEMORY_WB)) { + StandardLib->RecordAssertion ( + StandardLib, + EFI_TEST_ASSERTION_FAILED, + gSbbrBootServicesAssertion001Guid, + L"MemoryMap", + L"%a:%d - MemoryMap 0x%X Attribute Not Supported", + __FILE__, + __LINE__, + MemoryMapDescriptor + ); + error = TRUE; + } + + // + // Checking for 64KB alignment + // + if (MemoryMapDescriptor->PhysicalStart & (SIZE_64KB - 1)) { + StandardLib->RecordAssertion ( + StandardLib, + EFI_TEST_ASSERTION_FAILED, + gSbbrBootServicesAssertion001Guid, + L"MemoryMap", + L"%a:%d - MemoryMap 0x%X Not Aligned to 64KB", + __FILE__, + __LINE__, + MemoryMapDescriptor + ); + error = TRUE; + } + + // + // No issues found + // + if (error == FALSE) { + StandardLib->RecordAssertion ( + StandardLib, + EFI_TEST_ASSERTION_PASSED, + gSbbrBootServicesAssertion001Guid, + L"MemoryMap 0x%X", + L"%a:%d", + __FILE__, + __LINE__, + MemoryMapDescriptor + ); + } + } + + SctFreePool(MemoryMap); + return EFI_SUCCESS; +} + +/** + * Entrypoint for AcpiTable 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. + */ + +EFI_STATUS +BBTestAcpiTableTest ( + 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_STATUS Status; + UINTN IStatus; + EFI_ACPI_2_0_ROOT_SYSTEM_DESCRIPTION_POINTER *AcpiTable; + UINT8 Checksum; + UINT32 i; + + // + // Get the Standard Library Interface + // + Status = gtBS->HandleProtocol ( + SupportHandle, + &gEfiStandardTestLibraryGuid, + &StandardLib + ); + if (EFI_ERROR (Status)) { + return Status; + } + + // + // Looking for ACPI table + // + Status = SctGetSystemConfigurationTable ( + &gEfiAcpi20TableGuid, + &AcpiTable + ); + if (EFI_ERROR (Status)){ + StandardLib->RecordAssertion ( + StandardLib, + EFI_TEST_ASSERTION_FAILED, + gSbbrBootServicesAssertion002Guid, + L"AcpiTable", + L"%a:%d - ACPI Table Not Found", + __FILE__, + __LINE__ + ); + } + + // + // Checking ACPI table signature + // + IStatus = SctCompareMem ( + &AcpiTable->Signature, + RSDP_SIGNATURE_STRING, + sizeof(RSDP_SIGNATURE_STRING) - 1 + ); + if (IStatus != 0) { + StandardLib->RecordAssertion ( + StandardLib, + EFI_TEST_ASSERTION_FAILED, + gSbbrBootServicesAssertion002Guid, + L"AcpiTable", + L"%a:%d - ACPI Table Invalid Signature", + __FILE__, + __LINE__ + ); + } + + // + // Checking ACPI table checksum + // + Checksum = SbbrBootServicesByteChecksum (AcpiTable, ACPI_TABLE_CHECKSUM_LENGTH); + if (Checksum != 0) { + StandardLib->RecordAssertion ( + StandardLib, + EFI_TEST_ASSERTION_FAILED, + gSbbrBootServicesAssertion002Guid, + L"AcpiTable", + L"%a:%d - ACPI Table Invalid Checksum", + __FILE__, + __LINE__ + ); + return EFI_SUCCESS; + } + + // + // Checking ACPI table extended checksum + // + Checksum = SbbrBootServicesByteChecksum (AcpiTable, AcpiTable->Length); + if (Checksum != 0) { + StandardLib->RecordAssertion ( + StandardLib, + EFI_TEST_ASSERTION_FAILED, + gSbbrBootServicesAssertion002Guid, + L"AcpiTable", + L"%a:%d - ACPI Table Invalid Extended Checksum", + __FILE__, + __LINE__ + ); + return EFI_SUCCESS; + } + + // + // Checking ACPI table length + // + if (AcpiTable->Length != ACPI_TABLE_EXPECTED_LENGTH) { + StandardLib->RecordAssertion ( + StandardLib, + EFI_TEST_ASSERTION_FAILED, + gSbbrBootServicesAssertion002Guid, + L"AcpiTable", + L"%a:%d - ACPI Table Invalid Length", + __FILE__, + __LINE__ + ); + return EFI_SUCCESS; + } + + // + // Checking ACPI table XSDT address + // + if (AcpiTable->XsdtAddress == 0) { + StandardLib->RecordAssertion ( + StandardLib, + EFI_TEST_ASSERTION_FAILED, + gSbbrBootServicesAssertion002Guid, + L"AcpiTable", + L"%a:%d - ACPI Table Invalid XSDT Pointer", + __FILE__, + __LINE__ + ); + return EFI_SUCCESS; + } + + StandardLib->RecordAssertion ( + StandardLib, + EFI_TEST_ASSERTION_PASSED, + gSbbrBootServicesAssertion002Guid, + L"AcpiTable", + L"%a:%d", + __FILE__, + __LINE__ + ); + + return EFI_SUCCESS; +} + +/** + * Entrypoint for SmbiosTable 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. + */ + +EFI_STATUS +BBTestSmbiosTableTest ( + 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_STATUS Status; + INTN IStatus; + SMBIOS_TABLE_3_0_ENTRY_POINT *SmbiosTable; + UINT8 Checksum; + UINT32 i; + + // + // Get the Standard Library Interface + // + Status = gtBS->HandleProtocol ( + SupportHandle, + &gEfiStandardTestLibraryGuid, + &StandardLib + ); + if (EFI_ERROR (Status)) { + return Status; + } + + // + // Looking for SMBIOS table + // + Status = SctGetSystemConfigurationTable ( + &gEfiSmbios3TableGuid, + &SmbiosTable + ); + if (EFI_ERROR(Status)) { + StandardLib->RecordAssertion ( + StandardLib, + EFI_TEST_ASSERTION_FAILED, + gSbbrBootServicesAssertion003Guid, + L"SmbiosTable", + L"%a:%d - SMBIOS Table Not Found", + __FILE__, + __LINE__ + ); + return EFI_SUCCESS; + } + + // + // Checking SMBIOS Anchor String + // + IStatus = SctCompareMem ( + SmbiosTable->AnchorString, + SMBIOS30_ANCHOR_STRING, + sizeof(SMBIOS30_ANCHOR_STRING) - 1 + ); + if (IStatus != 0) { + StandardLib->RecordAssertion ( + StandardLib, + EFI_TEST_ASSERTION_FAILED, + gSbbrBootServicesAssertion003Guid, + L"SmbiosTable", + L"%a:%d - SMBIOS Table Anchor String Not Found", + __FILE__, + __LINE__ + ); + return EFI_SUCCESS; + } + + // + // Checking entry point revision + // + if (SmbiosTable->EntryPointRevision != 1) { + StandardLib->RecordAssertion ( + StandardLib, + EFI_TEST_ASSERTION_FAILED, + gSbbrBootServicesAssertion003Guid, + L"SmbiosTable", + L"%a:%d - SMBIOS Table Invalid Entry Point Revision", + __FILE__, + __LINE__ + ); + return EFI_SUCCESS; + } + + // + // Checking entry point checksum + // + Checksum = SbbrBootServicesByteChecksum (SmbiosTable, SmbiosTable->EntryPointLength); + if (Checksum != 0) { + StandardLib->RecordAssertion ( + StandardLib, + EFI_TEST_ASSERTION_FAILED, + gSbbrBootServicesAssertion003Guid, + L"SmbiosTable", + L"%a:%d - SMBIOS Table Invalid Checksum", + __FILE__, + __LINE__ + ); + return EFI_SUCCESS; + } + + StandardLib->RecordAssertion ( + StandardLib, + EFI_TEST_ASSERTION_PASSED, + gSbbrBootServicesAssertion003Guid, + L"SmbiosTable", + L"%a:%d", + __FILE__, + __LINE__ + ); + + return EFI_SUCCESS; +} diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/BootServices/SbbrBootServices/BlackBoxTest/SbbrBootServicesBBTestFunction.h b/uefi-sct/SctPkg/TestCase/UEFI/EFI/BootServices/SbbrBootServices/BlackBoxTest/SbbrBootServicesBBTestFunction.h new file mode 100644 index 0000000..841aed9 --- /dev/null +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/BootServices/SbbrBootServices/BlackBoxTest/SbbrBootServicesBBTestFunction.h @@ -0,0 +1,85 @@ +/*++ + The material contained herein is not a license, either + expressly or impliedly, to any intellectual property owned + or controlled by any of the authors or developers of this + material or to any contribution thereto. The material + contained herein is provided on an "AS IS" basis and, to the + maximum extent permitted by applicable law, this information + is provided AS IS AND WITH ALL FAULTS, and the authors and + developers of this material hereby disclaim all other + warranties and conditions, either express, implied or + statutory, including, but not limited to, any (if any) + implied warranties, duties or conditions of merchantability, + of fitness for a particular purpose, of accuracy or + completeness of responses, of results, of workmanlike + effort, of lack of viruses and of lack of negligence, all + with regard to this material and any contribution thereto. + Designers must not rely on the absence or characteristics of + any features or instructions marked "reserved" or + "undefined." The Unified EFI Forum, Inc. reserves any + features or instructions so marked for future definition and + shall have no responsibility whatsoever for conflicts or + incompatibilities arising from future changes to them. ALSO, + THERE IS NO WARRANTY OR CONDITION OF TITLE, QUIET ENJOYMENT, + QUIET POSSESSION, CORRESPONDENCE TO DESCRIPTION OR + NON-INFRINGEMENT WITH REGARD TO THE TEST SUITE AND ANY + CONTRIBUTION THERETO. + + IN NO EVENT WILL ANY AUTHOR OR DEVELOPER OF THIS MATERIAL OR + ANY CONTRIBUTION THERETO BE LIABLE TO ANY OTHER PARTY FOR + THE COST OF PROCURING SUBSTITUTE GOODS OR SERVICES, LOST + PROFITS, LOSS OF USE, LOSS OF DATA, OR ANY INCIDENTAL, + CONSEQUENTIAL, DIRECT, INDIRECT, OR SPECIAL DAMAGES WHETHER + UNDER CONTRACT, TORT, WARRANTY, OR OTHERWISE, ARISING IN ANY + WAY OUT OF THIS OR ANY OTHER AGREEMENT RELATING TO THIS + DOCUMENT, WHETHER OR NOT SUCH PARTY HAD ADVANCE NOTICE OF + THE POSSIBILITY OF SUCH DAMAGES. + + Copyright 2006 - 2016 Unified EFI, Inc. All + Rights Reserved, subject to all existing rights in all + matters included within this Test Suite, to which United + EFI, Inc. makes no claim of right. + + Copyright (c) 2016, ARM Ltd. All rights reserved. + +--*/ +/*++ + +Module Name: + + SbbrBootServicesBBTestFunction.h + +Abstract: + + Contains definitions and prototypes for test case functions. + +--*/ + +#ifndef _SBBRBOOTSERVICES_BB_TEST_FUNCTION_H_ +#define _SBBRBOOTSERVICES_BB_TEST_FUNCTION_H_ + +EFI_STATUS +BBTestMemoryMapTest ( + IN EFI_BB_TEST_PROTOCOL *This, + IN VOID *ClientInterface, + IN EFI_TEST_LEVEL TestLevel, + IN EFI_HANDLE SupportHandle + ); + +EFI_STATUS +BBTestAcpiTableTest ( + IN EFI_BB_TEST_PROTOCOL *This, + IN VOID *ClientInterface, + IN EFI_TEST_LEVEL TestLevel, + IN EFI_HANDLE SupportHandle + ); + +EFI_STATUS +BBTestSmbiosTableTest ( + IN EFI_BB_TEST_PROTOCOL *This, + IN VOID *ClientInterface, + IN EFI_TEST_LEVEL TestLevel, + IN EFI_HANDLE SupportHandle + ); + +#endif /* _SBBRBOOTSERVICES_BB_TEST_FUNCTION_H_ */ diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/BootServices/SbbrBootServices/BlackBoxTest/SbbrBootServicesBBTestMain.c b/uefi-sct/SctPkg/TestCase/UEFI/EFI/BootServices/SbbrBootServices/BlackBoxTest/SbbrBootServicesBBTestMain.c new file mode 100644 index 0000000..584b38c --- /dev/null +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/BootServices/SbbrBootServices/BlackBoxTest/SbbrBootServicesBBTestMain.c @@ -0,0 +1,149 @@ +/*++ + The material contained herein is not a license, either + expressly or impliedly, to any intellectual property owned + or controlled by any of the authors or developers of this + material or to any contribution thereto. The material + contained herein is provided on an "AS IS" basis and, to the + maximum extent permitted by applicable law, this information + is provided AS IS AND WITH ALL FAULTS, and the authors and + developers of this material hereby disclaim all other + warranties and conditions, either express, implied or + statutory, including, but not limited to, any (if any) + implied warranties, duties or conditions of merchantability, + of fitness for a particular purpose, of accuracy or + completeness of responses, of results, of workmanlike + effort, of lack of viruses and of lack of negligence, all + with regard to this material and any contribution thereto. + Designers must not rely on the absence or characteristics of + any features or instructions marked "reserved" or + "undefined." The Unified EFI Forum, Inc. reserves any + features or instructions so marked for future definition and + shall have no responsibility whatsoever for conflicts or + incompatibilities arising from future changes to them. ALSO, + THERE IS NO WARRANTY OR CONDITION OF TITLE, QUIET ENJOYMENT, + QUIET POSSESSION, CORRESPONDENCE TO DESCRIPTION OR + NON-INFRINGEMENT WITH REGARD TO THE TEST SUITE AND ANY + CONTRIBUTION THERETO. + + IN NO EVENT WILL ANY AUTHOR OR DEVELOPER OF THIS MATERIAL OR + ANY CONTRIBUTION THERETO BE LIABLE TO ANY OTHER PARTY FOR + THE COST OF PROCURING SUBSTITUTE GOODS OR SERVICES, LOST + PROFITS, LOSS OF USE, LOSS OF DATA, OR ANY INCIDENTAL, + CONSEQUENTIAL, DIRECT, INDIRECT, OR SPECIAL DAMAGES WHETHER + UNDER CONTRACT, TORT, WARRANTY, OR OTHERWISE, ARISING IN ANY + WAY OUT OF THIS OR ANY OTHER AGREEMENT RELATING TO THIS + DOCUMENT, WHETHER OR NOT SUCH PARTY HAD ADVANCE NOTICE OF + THE POSSIBILITY OF SUCH DAMAGES. + + Copyright 2006 - 2016 Unified EFI, Inc. All + Rights Reserved, subject to all existing rights in all + matters included within this Test Suite, to which United + EFI, Inc. makes no claim of right. + + Copyright (c) 2016, ARM Ltd. All rights reserved. + +--*/ +/*++ + +Module Name: + + SbbrBootServicesBBTestMain.c + +Abstract: + + Test driver for SbbrBootServices tests. + +--*/ + +#include "SctLib.h" +#include "SbbrBootServicesBBTestMain.h" +#include "SbbrBootServicesBBTestFunction.h" + +EFI_BB_TEST_PROTOCOL_FIELD gBBTestProtocolField = { + SBBRBOOTSERVICES_TEST_REVISION, + SBBRBOOTSERVICES_TEST_GUID, + L"SbbrBootServices Tests", + L"Tests SBBR boot services requirements." +}; + +EFI_GUID gSupportProtocolGuid[2] = { + EFI_STANDARD_TEST_LIBRARY_GUID, + EFI_NULL_GUID +}; + +EFI_BB_TEST_ENTRY_FIELD gBBTestEntryField[] = { + { + SBBRBOOTSERVICES_MEMORYMAP_GUID, + L"MemoryMap", + L"Checks memory map provided by UEFI.", + EFI_TEST_LEVEL_DEFAULT, + gSupportProtocolGuid, + EFI_TEST_CASE_AUTO, + BBTestMemoryMapTest + }, + { + SBBRBOOTSERVICES_SMBIOSTABLE_GUID, + L"SmbiosTable", + L"Checks that SMBIOS3 table is provided by UEFI.", + EFI_TEST_LEVEL_DEFAULT, + gSupportProtocolGuid, + EFI_TEST_CASE_AUTO, + BBTestSmbiosTableTest + }, + { + SBBRBOOTSERVICES_ACPITABLE_GUID, + L"AcpiTable", + L"Checks that ACPI table is provided by UEFI.", + EFI_TEST_LEVEL_DEFAULT, + gSupportProtocolGuid, + EFI_TEST_CASE_AUTO, + BBTestAcpiTableTest + }, + EFI_NULL_GUID +}; + +EFI_BB_TEST_PROTOCOL *gBBTestProtocolInterface; + +/** + * The driver's Unload function + * @param ImageHandle The test driver image handle + * @return EFI_SUCCESS Indicates the interface was Uninstalled +*/ +EFI_STATUS +BBTestSbbrBootServicesUnload ( + IN EFI_HANDLE ImageHandle + ) +{ + return EfiUninstallAndFreeBBTestInterface ( + ImageHandle, + gBBTestProtocolInterface + ); +} + +/** + * Creates/installs the BlackBox Interface and eminating Entry Point + * node list. + * @param ImageHandle The test driver image handle + * @param SystemTable Pointer to System Table + * @return EFI_SUCCESS Indicates the interface was installed + * @return EFI_OUT_OF_RESOURCES Indicates space for the new handle could not be allocated + * @return EFI_INVALID_PARAMETER: One of the parameters has an invalid value. + */ +EFI_STATUS +InitializeBBTestSbbrBootServices ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ) +{ + + EfiInitializeTestLib (ImageHandle, SystemTable); + SctInitializeLib (ImageHandle, SystemTable); + + return EfiInitAndInstallBBTestInterface ( + &ImageHandle, + &gBBTestProtocolField, + gBBTestEntryField, + BBTestSbbrBootServicesUnload, + &gBBTestProtocolInterface + ); +} diff --git a/uefi-sct/SctPkg/TestCase/UEFI/EFI/BootServices/SbbrBootServices/BlackBoxTest/SbbrBootServicesBBTestMain.h b/uefi-sct/SctPkg/TestCase/UEFI/EFI/BootServices/SbbrBootServices/BlackBoxTest/SbbrBootServicesBBTestMain.h new file mode 100644 index 0000000..e0a81ab --- /dev/null +++ b/uefi-sct/SctPkg/TestCase/UEFI/EFI/BootServices/SbbrBootServices/BlackBoxTest/SbbrBootServicesBBTestMain.h @@ -0,0 +1,99 @@ +/*++ + The material contained herein is not a license, either + expressly or impliedly, to any intellectual property owned + or controlled by any of the authors or developers of this + material or to any contribution thereto. The material + contained herein is provided on an "AS IS" basis and, to the + maximum extent permitted by applicable law, this information + is provided AS IS AND WITH ALL FAULTS, and the authors and + developers of this material hereby disclaim all other + warranties and conditions, either express, implied or + statutory, including, but not limited to, any (if any) + implied warranties, duties or conditions of merchantability, + of fitness for a particular purpose, of accuracy or + completeness of responses, of results, of workmanlike + effort, of lack of viruses and of lack of negligence, all + with regard to this material and any contribution thereto. + Designers must not rely on the absence or characteristics of + any features or instructions marked "reserved" or + "undefined." The Unified EFI Forum, Inc. reserves any + features or instructions so marked for future definition and + shall have no responsibility whatsoever for conflicts or + incompatibilities arising from future changes to them. ALSO, + THERE IS NO WARRANTY OR CONDITION OF TITLE, QUIET ENJOYMENT, + QUIET POSSESSION, CORRESPONDENCE TO DESCRIPTION OR + NON-INFRINGEMENT WITH REGARD TO THE TEST SUITE AND ANY + CONTRIBUTION THERETO. + + IN NO EVENT WILL ANY AUTHOR OR DEVELOPER OF THIS MATERIAL OR + ANY CONTRIBUTION THERETO BE LIABLE TO ANY OTHER PARTY FOR + THE COST OF PROCURING SUBSTITUTE GOODS OR SERVICES, LOST + PROFITS, LOSS OF USE, LOSS OF DATA, OR ANY INCIDENTAL, + CONSEQUENTIAL, DIRECT, INDIRECT, OR SPECIAL DAMAGES WHETHER + UNDER CONTRACT, TORT, WARRANTY, OR OTHERWISE, ARISING IN ANY + WAY OUT OF THIS OR ANY OTHER AGREEMENT RELATING TO THIS + DOCUMENT, WHETHER OR NOT SUCH PARTY HAD ADVANCE NOTICE OF + THE POSSIBILITY OF SUCH DAMAGES. + + Copyright 2006 - 2016 Unified EFI, Inc. All + Rights Reserved, subject to all existing rights in all + matters included within this Test Suite, to which United + EFI, Inc. makes no claim of right. + + Copyright (c) 2016, ARM Ltd. All rights reserved. + +--*/ +/*++ + +Module Name: + + SbbrBootServicesBBTestMain.h + +Abstract: + + Contains definitions for test information and test GUIDs. + +--*/ + +#ifndef _SBBRBOOTSERVICES_TEST_MAIN_H_ +#define _SBBRBOOTSERVICES_TEST_MAIN_H_ + +#include "Efi.h" +#include "Guid.h" +#include + +#define SBBRBOOTSERVICES_TEST_REVISION 0x00010000 + +#define SBBRBOOTSERVICES_TEST_GUID \ + { 0x8dafd7a7, 0x44d0, 0x4cf4, {0x9d, 0x28, 0x9f, 0x87, 0x08, 0x0f, 0xc0, 0x91 }} + +#define ACPI_TABLE_EXPECTED_LENGTH 36 +#define ACPI_TABLE_CHECKSUM_LENGTH 20 +#define SMBIOS30_ANCHOR_STRING "_SM3_" +#define RSDP_SIGNATURE_STRING "RSD PTR " + +EFI_STATUS +InitializeBBTestSbbrBootServices ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ); + +EFI_STATUS +BBTestSbbrBootServicesUnload ( + IN EFI_HANDLE ImageHandle + ); + +// +// Test Case GUIDs +// + +#define SBBRBOOTSERVICES_MEMORYMAP_GUID \ + { 0x8540c12d, 0x5413, 0x4a0b, {0xa5, 0x45, 0x89, 0xa8, 0xe3, 0xc7, 0xda, 0x4b }} + +#define SBBRBOOTSERVICES_ACPITABLE_GUID \ + { 0x40ff8495, 0x8ae9, 0x442e, {0x89, 0xf2, 0xf8, 0x97, 0xbb, 0x7c, 0x41, 0x75 }} + +#define SBBRBOOTSERVICES_SMBIOSTABLE_GUID \ + { 0xc44ca44c, 0x4f4e, 0x4760, {0x96, 0xc9, 0xb8, 0xcd, 0xe5, 0x31, 0xb4, 0xc4 }} + +#endif /* _SBBRBOOTSERVICES_TEST_MAIN_H_ */ diff --git a/uefi-sct/SctPkg/UEFI/SBBR_SCT.dsc b/uefi-sct/SctPkg/UEFI/SBBR_SCT.dsc index ae0a009..d3fafb6 100644 --- a/uefi-sct/SctPkg/UEFI/SBBR_SCT.dsc +++ b/uefi-sct/SctPkg/UEFI/SBBR_SCT.dsc @@ -247,6 +247,13 @@ SctPkg/TestCase/UEFI/EFI/Generic/SbbrSysEnvConfig/BlackBoxTest/SysEnvConfigBBTes #End of UEFI System Environment and Configuration Tests - SBBR v1.0 3.3 # +# UEFI Boot Services - SBBR v1.0 3.4 +# +## 3.4.4 Configuration Tables +SctPkg/TestCase/UEFI/EFI/BootServices/SbbrBootServices/BlackBoxTest/SbbrBootServicesBBTest.inf +# End of UEFI Boot Services - SBBR v1.0 3.4 + +# # Required UEFI Runtime Services Tests - SBBR v1.0 Appendix B # ## 1. EFI_GET_TIME -- 2.7.4