summaryrefslogtreecommitdiffstats
path: root/ArmRealViewEbPkg/Bds/FirmwareVolume.c
diff options
context:
space:
mode:
Diffstat (limited to 'ArmRealViewEbPkg/Bds/FirmwareVolume.c')
-rwxr-xr-xArmRealViewEbPkg/Bds/FirmwareVolume.c150
1 files changed, 0 insertions, 150 deletions
diff --git a/ArmRealViewEbPkg/Bds/FirmwareVolume.c b/ArmRealViewEbPkg/Bds/FirmwareVolume.c
deleted file mode 100755
index 142095fa66..0000000000
--- a/ArmRealViewEbPkg/Bds/FirmwareVolume.c
+++ /dev/null
@@ -1,150 +0,0 @@
-/** @file
- The entry of the embedded BDS. This BDS does not follow the Boot Manager requirements
- of the UEFI specification as it is designed to implement an embedded systmes
- propriatary boot scheme.
-
- This template assume a DXE driver produces a SerialIo protocol not using the EFI
- driver module and it will attempt to connect a console on top of this.
-
-
- Copyright (c) 2009, Apple Inc. All rights reserved.<BR>
-
- 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.
-
-**/
-
-#include "BdsEntry.h"
-
-
-EFI_STATUS
-FindApplicationMatchingUiSection (
- IN CHAR16 *UiString,
- OUT EFI_HANDLE *FvHandle,
- OUT EFI_GUID *NameGuid
- )
-{
- EFI_STATUS Status;
- EFI_STATUS NextStatus;
- UINTN NoHandles;
- EFI_HANDLE *Buffer;
- UINTN Index;
- EFI_FV_FILETYPE FileType;
- EFI_FIRMWARE_VOLUME2_PROTOCOL *Fv;
- VOID *Key;
- EFI_FV_FILE_ATTRIBUTES Attributes;
- UINTN Size;
- UINTN UiStringLen;
- CHAR16 *UiSection;
- UINT32 Authentication;
-
-
- UiStringLen = 0;
- if (UiString != NULL) {
- DEBUG ((DEBUG_ERROR, "UiString %s\n", UiString));
- UiStringLen = StrLen (UiString);
- }
-
- Status = gBS->LocateHandleBuffer (ByProtocol, &gEfiFirmwareVolume2ProtocolGuid, NULL, &NoHandles, &Buffer);
- if (!EFI_ERROR (Status)) {
- for (Index = 0; Index < NoHandles; Index++) {
- Status = gBS->HandleProtocol (Buffer[Index], &gEfiFirmwareVolume2ProtocolGuid, (VOID **)&Fv);
- if (!EFI_ERROR (Status)) {
- Key = AllocatePool (Fv->KeySize);
- ASSERT (Key != NULL);
- ZeroMem (Key, Fv->KeySize);
-
- FileType = EFI_FV_FILETYPE_APPLICATION;
-
- do {
- NextStatus = Fv->GetNextFile (Fv, Key, &FileType, NameGuid, &Attributes, &Size);
- if (!EFI_ERROR (NextStatus)) {
- if (UiString == NULL) {
- //
- // If UiString is NULL match first application we find.
- //
- *FvHandle = Buffer[Index];
- FreePool (Key);
- return Status;
- }
-
- UiSection = NULL;
- Status = Fv->ReadSection (
- Fv,
- NameGuid,
- EFI_SECTION_USER_INTERFACE,
- 0,
- (VOID **)&UiSection,
- &Size,
- &Authentication
- );
- if (!EFI_ERROR (Status)) {
- if (StrnCmp (UiString, UiSection, UiStringLen) == 0) {
- //
- // We found a UiString match.
- //
- *FvHandle = Buffer[Index];
- FreePool (Key);
- FreePool (UiSection);
- return Status;
- }
- FreePool (UiSection);
- }
- }
- } while (!EFI_ERROR (NextStatus));
-
- FreePool (Key);
- }
- }
-
- FreePool (Buffer);
- }
-
- return EFI_NOT_FOUND;
-}
-
-
-EFI_DEVICE_PATH *
-FvFileDevicePath (
- IN EFI_HANDLE FvHandle,
- IN EFI_GUID *NameGuid
- )
-{
- EFI_DEVICE_PATH_PROTOCOL *DevicePath;
- MEDIA_FW_VOL_FILEPATH_DEVICE_PATH NewNode;
-
- DevicePath = DevicePathFromHandle (FvHandle);
-
- EfiInitializeFwVolDevicepathNode (&NewNode, NameGuid);
-
- return AppendDevicePathNode (DevicePath, (EFI_DEVICE_PATH_PROTOCOL *)&NewNode);
-}
-
-
-
-EFI_STATUS
-LoadPeCoffSectionFromFv (
- IN EFI_HANDLE FvHandle,
- IN EFI_GUID *NameGuid
- )
-{
- EFI_STATUS Status;
- EFI_DEVICE_PATH_PROTOCOL *DevicePath;
- EFI_HANDLE ImageHandle;
-
- DevicePath = FvFileDevicePath (FvHandle, NameGuid);
-
- Status = gBS->LoadImage (TRUE, gImageHandle, DevicePath, NULL, 0, &ImageHandle);
- if (!EFI_ERROR (Status)) {
- PERF_END (NULL, "BDS", NULL, 0);
- Status = gBS->StartImage (ImageHandle, NULL, NULL);
- }
-
- return Status;
-}
-