summaryrefslogtreecommitdiff
path: root/EdkModulePkg/Universal/FirmwareVolume/GuidedSectionExtraction
diff options
context:
space:
mode:
Diffstat (limited to 'EdkModulePkg/Universal/FirmwareVolume/GuidedSectionExtraction')
-rw-r--r--EdkModulePkg/Universal/FirmwareVolume/GuidedSectionExtraction/Crc32SectionExtract/Dxe/Crc32SectionExtract.c230
-rw-r--r--EdkModulePkg/Universal/FirmwareVolume/GuidedSectionExtraction/Crc32SectionExtract/Dxe/Crc32SectionExtract.dxs26
-rw-r--r--EdkModulePkg/Universal/FirmwareVolume/GuidedSectionExtraction/Crc32SectionExtract/Dxe/Crc32SectionExtract.h94
-rw-r--r--EdkModulePkg/Universal/FirmwareVolume/GuidedSectionExtraction/Crc32SectionExtract/Dxe/Crc32SectionExtract.msa67
-rw-r--r--EdkModulePkg/Universal/FirmwareVolume/GuidedSectionExtraction/Crc32SectionExtract/Dxe/GuidedSection.c61
-rw-r--r--EdkModulePkg/Universal/FirmwareVolume/GuidedSectionExtraction/Crc32SectionExtract/Dxe/GuidedSection.h52
6 files changed, 0 insertions, 530 deletions
diff --git a/EdkModulePkg/Universal/FirmwareVolume/GuidedSectionExtraction/Crc32SectionExtract/Dxe/Crc32SectionExtract.c b/EdkModulePkg/Universal/FirmwareVolume/GuidedSectionExtraction/Crc32SectionExtract/Dxe/Crc32SectionExtract.c
deleted file mode 100644
index de9ba8372f..0000000000
--- a/EdkModulePkg/Universal/FirmwareVolume/GuidedSectionExtraction/Crc32SectionExtract/Dxe/Crc32SectionExtract.c
+++ /dev/null
@@ -1,230 +0,0 @@
-/*++
-
-Copyright (c) 2006 - 2007, Intel Corporation
-All rights reserved. This program and the accompanying materials
-are licensed and made available under the terms and conditions of the BSD License
-which accompanies this distribution. The full text of the license may be found at
-http://opensource.org/licenses/bsd-license.php
-
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-Module Name:
-
- Crc32SectionExtract.c
-
-Abstract:
-
- Implements GUIDed section extraction protocol interface with
- a specific GUID: CRC32.
-
- Please refer to the Framewokr Firmware Volume Specification 0.9.
-
---*/
-
-
-#include <GuidedSection.h>
-#include <Crc32SectionExtract.h>
-
-EFI_STATUS
-EFIAPI
-InitializeCrc32GuidedSectionExtractionProtocol (
- IN EFI_HANDLE ImageHandle,
- IN EFI_SYSTEM_TABLE *SystemTable
- )
-/*++
-
-Routine Description:
-
- Entry point of the CRC32 GUIDed section extraction protocol.
- Creates and initializes an instance of the GUIDed section
- extraction protocol with CRC32 GUID.
-
-Arguments:
-
- ImageHandle EFI_HANDLE: A handle for the image that is initializing
- this driver
- SystemTable EFI_SYSTEM_TABLE: A pointer to the EFI system table
-
-Returns:
-
- EFI_SUCCESS: Driver initialized successfully
- EFI_LOAD_ERROR: Failed to Initialize or has been loaded
- EFI_OUT_OF_RESOURCES: Could not allocate needed resources
-
---*/
-{
- EFI_STATUS Status;
- EFI_GUIDED_SECTION_EXTRACTION_PROTOCOL *Crc32GuidedSep;
- EFI_HANDLE Handle;
-
- //
- // Call all constructors per produced protocols
- //
- Status = GuidedSectionExtractionProtocolConstructor (
- &Crc32GuidedSep,
- (EFI_EXTRACT_GUIDED_SECTION) Crc32ExtractSection
- );
- if (EFI_ERROR (Status)) {
- if (Crc32GuidedSep != NULL) {
- FreePool (Crc32GuidedSep);
- }
-
- return Status;
- }
- //
- // Pass in a NULL to install to a new handle
- //
- Handle = NULL;
- Status = gBS->InstallProtocolInterface (
- &Handle,
- &gEfiCrc32GuidedSectionExtractionProtocolGuid,
- EFI_NATIVE_INTERFACE,
- Crc32GuidedSep
- );
- if (EFI_ERROR (Status)) {
- FreePool (Crc32GuidedSep);
- return EFI_LOAD_ERROR;
- }
-
- return EFI_SUCCESS;
-}
-
-STATIC
-UINT32
-EFIAPI
-GetSectionLength (
- IN EFI_COMMON_SECTION_HEADER *CommonHeader
- )
-/*++
-
- Routine Description:
- Get a length of section.
-
- Parameters:
- CommonHeader - Pointer to the common section header.
-
- Return Value:
- The length of the section, including the section header.
-
---*/
-// TODO: function comment is missing 'Arguments:'
-// TODO: function comment is missing 'Returns:'
-// TODO: CommonHeader - add argument and description to function comment
-{
- UINT32 Size;
-
- Size = *(UINT32 *) CommonHeader->Size & 0x00FFFFFF;
-
- return Size;
-}
-
-STATIC
-EFI_STATUS
-EFIAPI
-Crc32ExtractSection (
- IN EFI_GUIDED_SECTION_EXTRACTION_PROTOCOL *This,
- IN VOID *InputSection,
- OUT VOID **OutputBuffer,
- OUT UINTN *OutputSize,
- OUT UINT32 *AuthenticationStatus
- )
-/*++
-
- Routine Description:
- This function reads and extracts contents of a section from an
- encapsulating section.
-
- Parameters:
- This - Indicates the calling context.
- InputSection - Buffer containing the input GUIDed section
- to be processed.
- OutputBuffer - *OutputBuffer is allocated from boot services
- pool memory and containing the new section
- stream. The caller is responsible for freeing
- this buffer.
- AuthenticationStatus - Pointer to a caller allocated UINT32 that
- indicates the authentication status of the
- output buffer
-
- Return Value:
- EFI_SUCCESS
- EFI_OUT_OF_RESOURCES
- EFI_INVALID_PARAMETER
- EFI_NOT_AVAILABLE_YET
-
---*/
-// TODO: function comment is missing 'Arguments:'
-// TODO: function comment is missing 'Returns:'
-// TODO: This - add argument and description to function comment
-// TODO: InputSection - add argument and description to function comment
-// TODO: OutputBuffer - add argument and description to function comment
-// TODO: OutputSize - add argument and description to function comment
-// TODO: AuthenticationStatus - add argument and description to function comment
-// TODO: EFI_INVALID_PARAMETER - add return value to function comment
-// TODO: EFI_INVALID_PARAMETER - add return value to function comment
-// TODO: EFI_OUT_OF_RESOURCES - add return value to function comment
-// TODO: EFI_SUCCESS - add return value to function comment
-{
- EFI_STATUS Status;
- CRC32_SECTION_HEADER *Crc32SectionHeader;
- EFI_GUID_DEFINED_SECTION *GuidedSectionHeader;
- UINT8 *Image;
- UINT32 Crc32Checksum;
- VOID *DummyInterface;
-
- if (OutputBuffer == NULL) {
- return EFI_INVALID_PARAMETER;
- }
-
- *OutputBuffer = NULL;
-
- //
- // Points to the section header
- //
- Crc32SectionHeader = (CRC32_SECTION_HEADER *) InputSection;
- GuidedSectionHeader = (EFI_GUID_DEFINED_SECTION *) InputSection;
-
- //
- // Check if the GUID is a CRC32 section GUID
- //
- if (!CompareGuid (
- &(GuidedSectionHeader->SectionDefinitionGuid),
- &gEfiCrc32GuidedSectionExtractionProtocolGuid
- )) {
- return EFI_INVALID_PARAMETER;
- }
-
- Image = (UINT8 *) InputSection + (UINT32) (GuidedSectionHeader->DataOffset);
- *OutputSize = GetSectionLength ((EFI_COMMON_SECTION_HEADER *) InputSection) - (UINT32) GuidedSectionHeader->DataOffset;
-
- *OutputBuffer = AllocatePool (*OutputSize);
- if (*OutputBuffer == NULL) {
- return EFI_OUT_OF_RESOURCES;
- }
- //
- // Implictly CRC32 GUIDed section should have STATUS_VALID bit set
- //
- ASSERT (GuidedSectionHeader->Attributes & EFI_GUIDED_SECTION_AUTH_STATUS_VALID);
- *AuthenticationStatus = EFI_LOCAL_AUTH_STATUS_IMAGE_SIGNED | EFI_AGGREGATE_AUTH_STATUS_IMAGE_SIGNED;
-
- //
- // Check whether there exists EFI_SECURITY_POLICY_PROTOCOL_GUID.
- //
- Status = gBS->LocateProtocol (&gEfiSecurityPolicyProtocolGuid, NULL, &DummyInterface);
- if (!EFI_ERROR (Status)) {
- *AuthenticationStatus |= EFI_LOCAL_AUTH_STATUS_PLATFORM_OVERRIDE | EFI_AGGREGATE_AUTH_STATUS_PLATFORM_OVERRIDE;
- } else {
- //
- // Calculate CRC32 Checksum of Image
- //
- gBS->CalculateCrc32 (Image, *OutputSize, &Crc32Checksum);
- if (Crc32Checksum != Crc32SectionHeader->CRC32Checksum) {
- *AuthenticationStatus |= EFI_LOCAL_AUTH_STATUS_TEST_FAILED | EFI_AGGREGATE_AUTH_STATUS_TEST_FAILED;
- }
- }
-
- CopyMem (*OutputBuffer, Image, *OutputSize);
-
- return EFI_SUCCESS;
-}
diff --git a/EdkModulePkg/Universal/FirmwareVolume/GuidedSectionExtraction/Crc32SectionExtract/Dxe/Crc32SectionExtract.dxs b/EdkModulePkg/Universal/FirmwareVolume/GuidedSectionExtraction/Crc32SectionExtract/Dxe/Crc32SectionExtract.dxs
deleted file mode 100644
index d42975a2a9..0000000000
--- a/EdkModulePkg/Universal/FirmwareVolume/GuidedSectionExtraction/Crc32SectionExtract/Dxe/Crc32SectionExtract.dxs
+++ /dev/null
@@ -1,26 +0,0 @@
-/*++
-
-Copyright (c) 2006, Intel Corporation
-All rights reserved. This program and the accompanying materials
-are licensed and made available under the terms and conditions of the BSD License
-which accompanies this distribution. The full text of the license may be found at
-http://opensource.org/licenses/bsd-license.php
-
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-Module Name:
-
- Crc32SectionExtraction.dxs
-
-Abstract:
-
- Dependency expression file.
-
---*/
-#include "DxeDepex.h"
-
-DEPENDENCY_START
- EFI_RUNTIME_ARCH_PROTOCOL_GUID
-DEPENDENCY_END
-
diff --git a/EdkModulePkg/Universal/FirmwareVolume/GuidedSectionExtraction/Crc32SectionExtract/Dxe/Crc32SectionExtract.h b/EdkModulePkg/Universal/FirmwareVolume/GuidedSectionExtraction/Crc32SectionExtract/Dxe/Crc32SectionExtract.h
deleted file mode 100644
index 979c41de94..0000000000
--- a/EdkModulePkg/Universal/FirmwareVolume/GuidedSectionExtraction/Crc32SectionExtract/Dxe/Crc32SectionExtract.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/*++
-
-Copyright (c) 2006 - 2007, Intel Corporation
-All rights reserved. This program and the accompanying materials
-are licensed and made available under the terms and conditions of the BSD License
-which accompanies this distribution. The full text of the license may be found at
-http://opensource.org/licenses/bsd-license.php
-
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-Module Name:
-
- Crc32SectionExtract.h
-
-Abstract:
-
- Header file for Crc32SectionExtract.c
- Please refer to the Framewokr Firmware Volume Specification 0.9.
-
---*/
-
-#ifndef _CRC32_GUIDED_SECTION_EXTRACTION_H
-#define _CRC32_GUIDED_SECTION_EXTRACTION_H
-
-typedef struct {
- EFI_GUID_DEFINED_SECTION GuidedSectionHeader;
- UINT32 CRC32Checksum;
-} CRC32_SECTION_HEADER;
-
-//
-// Function prototype declarations
-//
-STATIC
-EFI_STATUS
-EFIAPI
-Crc32ExtractSection (
- IN EFI_GUIDED_SECTION_EXTRACTION_PROTOCOL *This,
- IN VOID *InputSection,
- OUT VOID **OutputBuffer,
- OUT UINTN *OutputSize,
- OUT UINT32 *AuthenticationStatus
- )
-/*++
-
-Routine Description:
-
- TODO: Add function description
-
-Arguments:
-
- This - TODO: add argument description
- InputSection - TODO: add argument description
- OutputBuffer - TODO: add argument description
- OutputSize - TODO: add argument description
- AuthenticationStatus - TODO: add argument description
-
-Returns:
-
- TODO: add return values
-
---*/
-;
-
-EFI_STATUS
-EFIAPI
-InitializeCrc32GuidedSectionExtractionProtocol (
- IN EFI_HANDLE ImageHandle,
- IN EFI_SYSTEM_TABLE *SystemTable
- )
-/*++
-
-Routine Description:
-
- Entry point of the CRC32 GUIDed section extraction protocol.
- Creates and initializes an instance of the GUIDed section
- extraction protocol with CRC32 GUID.
-
-Arguments:
-
- ImageHandle EFI_HANDLE: A handle for the image that is initializing
- this driver
- SystemTable EFI_SYSTEM_TABLE: A pointer to the EFI system table
-
-Returns:
-
- EFI_SUCCESS: Driver initialized successfully
- EFI_LOAD_ERROR: Failed to Initialize or has been loaded
- EFI_OUT_OF_RESOURCES: Could not allocate needed resources
-
---*/
-;
-
-#endif
diff --git a/EdkModulePkg/Universal/FirmwareVolume/GuidedSectionExtraction/Crc32SectionExtract/Dxe/Crc32SectionExtract.msa b/EdkModulePkg/Universal/FirmwareVolume/GuidedSectionExtraction/Crc32SectionExtract/Dxe/Crc32SectionExtract.msa
deleted file mode 100644
index c12474f58b..0000000000
--- a/EdkModulePkg/Universal/FirmwareVolume/GuidedSectionExtraction/Crc32SectionExtract/Dxe/Crc32SectionExtract.msa
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0">
- <MsaHeader>
- <ModuleName>Crc32SectionExtract</ModuleName>
- <ModuleType>DXE_DRIVER</ModuleType>
- <GuidValue>51C9F40C-5243-4473-B265-B3C8FFAFF9FA</GuidValue>
- <Version>1.0</Version>
- <Abstract>Component description file for Crc32SectionExtract module.</Abstract>
- <Description>This driver implements CRC32 GUIDed section extraction protocol interface.</Description>
- <Copyright>Copyright (c) 2006 - 2007, Intel Corporation</Copyright>
- <License>All rights reserved. This program and the accompanying materials
- are licensed and made available under the terms and conditions of the BSD License
- which accompanies this distribution. The full text of the license may be found at
- http://opensource.org/licenses/bsd-license.php
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.</License>
- <Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052</Specification>
- </MsaHeader>
- <ModuleDefinitions>
- <SupportedArchitectures>IA32 X64 IPF EBC</SupportedArchitectures>
- <BinaryModule>false</BinaryModule>
- <OutputFileBasename>Crc32SectionExtract</OutputFileBasename>
- </ModuleDefinitions>
- <LibraryClassDefinitions>
- <LibraryClass Usage="ALWAYS_CONSUMED" RecommendedInstanceGuid="bda39d3a-451b-4350-8266-81ab10fa0523">
- <Keyword>DebugLib</Keyword>
- <HelpText>Recommended libary Instance is PeiDxeDebugLibReportStatusCode instance in MdePkg.</HelpText>
- </LibraryClass>
- <LibraryClass Usage="ALWAYS_CONSUMED">
- <Keyword>UefiDriverEntryPoint</Keyword>
- </LibraryClass>
- <LibraryClass Usage="ALWAYS_CONSUMED">
- <Keyword>BaseMemoryLib</Keyword>
- </LibraryClass>
- <LibraryClass Usage="ALWAYS_CONSUMED">
- <Keyword>UefiBootServicesTableLib</Keyword>
- </LibraryClass>
- <LibraryClass Usage="ALWAYS_CONSUMED">
- <Keyword>MemoryAllocationLib</Keyword>
- </LibraryClass>
- </LibraryClassDefinitions>
- <SourceFiles>
- <Filename>Crc32SectionExtract.c</Filename>
- <Filename>Crc32SectionExtract.h</Filename>
- <Filename>GuidedSection.c</Filename>
- <Filename>GuidedSection.h</Filename>
- <Filename>Crc32SectionExtract.dxs</Filename>
- </SourceFiles>
- <PackageDependencies>
- <Package PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>
- </PackageDependencies>
- <Protocols>
- <Protocol Usage="SOMETIMES_CONSUMED">
- <ProtocolCName>gEfiSecurityPolicyProtocolGuid</ProtocolCName>
- </Protocol>
- <Protocol Usage="ALWAYS_PRODUCED">
- <ProtocolCName>gEfiCrc32GuidedSectionExtractionProtocolGuid</ProtocolCName>
- </Protocol>
- </Protocols>
- <Externs>
- <Specification>EFI_SPECIFICATION_VERSION 0x00020000</Specification>
- <Specification>EDK_RELEASE_VERSION 0x00020000</Specification>
- <Extern>
- <ModuleEntryPoint>InitializeCrc32GuidedSectionExtractionProtocol</ModuleEntryPoint>
- </Extern>
- </Externs>
-</ModuleSurfaceArea> \ No newline at end of file
diff --git a/EdkModulePkg/Universal/FirmwareVolume/GuidedSectionExtraction/Crc32SectionExtract/Dxe/GuidedSection.c b/EdkModulePkg/Universal/FirmwareVolume/GuidedSectionExtraction/Crc32SectionExtract/Dxe/GuidedSection.c
deleted file mode 100644
index 87605cc055..0000000000
--- a/EdkModulePkg/Universal/FirmwareVolume/GuidedSectionExtraction/Crc32SectionExtract/Dxe/GuidedSection.c
+++ /dev/null
@@ -1,61 +0,0 @@
-/*++
-
-Copyright (c) 2006 - 2007, Intel Corporation
-All rights reserved. This program and the accompanying materials
-are licensed and made available under the terms and conditions of the BSD License
-which accompanies this distribution. The full text of the license may be found at
-http://opensource.org/licenses/bsd-license.php
-
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-Module Name:
-
- GuidedSection.c
-
-Abstract:
-
- GUIDed section extraction protocol implementation.
- This contains the common constructor of GUIDed section
- extraction protocol. GUID specific implementation of each
- GUIDed section extraction protocol can be found in other
- files under the same directory.
-
---*/
-
-#include "GuidedSection.h"
-
-EFI_STATUS
-GuidedSectionExtractionProtocolConstructor (
- OUT EFI_GUIDED_SECTION_EXTRACTION_PROTOCOL **GuidedSep,
- IN EFI_EXTRACT_GUIDED_SECTION ExtractSection
- )
-/*++
-
-Routine Description:
-
- Constructor for the GUIDed section extraction protocol. Initializes
- instance data.
-
-Arguments:
-
- This Instance to construct
-
-Returns:
-
- EFI_SUCCESS: Instance initialized.
-
---*/
-// TODO: GuidedSep - add argument and description to function comment
-// TODO: ExtractSection - add argument and description to function comment
-// TODO: EFI_OUT_OF_RESOURCES - add return value to function comment
-{
- *GuidedSep = AllocatePool (sizeof (EFI_GUIDED_SECTION_EXTRACTION_PROTOCOL));
- if (*GuidedSep == NULL) {
- return EFI_OUT_OF_RESOURCES;
- }
-
- (*GuidedSep)->ExtractSection = ExtractSection;
-
- return EFI_SUCCESS;
-}
diff --git a/EdkModulePkg/Universal/FirmwareVolume/GuidedSectionExtraction/Crc32SectionExtract/Dxe/GuidedSection.h b/EdkModulePkg/Universal/FirmwareVolume/GuidedSectionExtraction/Crc32SectionExtract/Dxe/GuidedSection.h
deleted file mode 100644
index 885b05a013..0000000000
--- a/EdkModulePkg/Universal/FirmwareVolume/GuidedSectionExtraction/Crc32SectionExtract/Dxe/GuidedSection.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*++
-
-Copyright (c) 2006 - 2007, Intel Corporation
-All rights reserved. This program and the accompanying materials
-are licensed and made available under the terms and conditions of the BSD License
-which accompanies this distribution. The full text of the license may be found at
-http://opensource.org/licenses/bsd-license.php
-
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-Module Name:
-
- GuidedSection.h
-
-Abstract:
-
- Header file for GuidedSection.c
- Please refer to the Framewokr Firmware Volume Specification 0.9.
-
---*/
-
-#ifndef _GUIDED_SECTION_EXTRACTION_H
-#define _GUIDED_SECTION_EXTRACTION_H
-
-//
-// Function prototype declarations
-//
-EFI_STATUS
-GuidedSectionExtractionProtocolConstructor (
- OUT EFI_GUIDED_SECTION_EXTRACTION_PROTOCOL **GuidedSep,
- IN EFI_EXTRACT_GUIDED_SECTION ExtractSection
- )
-/*++
-
-Routine Description:
-
- TODO: Add function description
-
-Arguments:
-
- GuidedSep - TODO: add argument description
- ExtractSection - TODO: add argument description
-
-Returns:
-
- TODO: add return values
-
---*/
-;
-
-#endif