From bb89ec1a7ec2f8d35033df9e47b3604925da3bd3 Mon Sep 17 00:00:00 2001 From: jljusten Date: Tue, 28 Jun 2011 16:47:23 +0000 Subject: InOsEmuPkg: Rename package to EmulatorPkg & Sec to Host * Rename InOsEmuPkg to EmulatorPkg * Rename Unix/Sec to Unix/Host Signed-off-by: jljusten Reviewed-by: andrewfish Reviewed-by: geekboy15a git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11918 6f19259b-4bc3-4df7-8a09-765794883524 --- EmulatorPkg/Library/ThunkPpiList/ThunkPpiList.c | 76 +++++++++++++++++++++++ EmulatorPkg/Library/ThunkPpiList/ThunkPpiList.inf | 38 ++++++++++++ 2 files changed, 114 insertions(+) create mode 100644 EmulatorPkg/Library/ThunkPpiList/ThunkPpiList.c create mode 100644 EmulatorPkg/Library/ThunkPpiList/ThunkPpiList.inf (limited to 'EmulatorPkg/Library/ThunkPpiList') diff --git a/EmulatorPkg/Library/ThunkPpiList/ThunkPpiList.c b/EmulatorPkg/Library/ThunkPpiList/ThunkPpiList.c new file mode 100644 index 0000000000..3c2fd93e7f --- /dev/null +++ b/EmulatorPkg/Library/ThunkPpiList/ThunkPpiList.c @@ -0,0 +1,76 @@ +/** @file + Emulator Thunk to abstract OS services from pure EFI code + + Copyright (c) 2008 - 2011, Apple Inc. All rights reserved.
+ Copyright (c) 2011, 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. + +**/ + +#include +#include +#include + + +UINTN gThunkPpiListSize = 0; +EFI_PEI_PPI_DESCRIPTOR *gThunkPpiList = NULL; + + + +EFI_PEI_PPI_DESCRIPTOR * +GetThunkPpiList ( + VOID + ) +{ + UINTN Index; + + if (gThunkPpiList == NULL) { + return NULL; + } + + Index = (gThunkPpiListSize/sizeof (EFI_PEI_PPI_DESCRIPTOR)) - 1; + gThunkPpiList[Index].Flags |= EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST; + + return gThunkPpiList; +} + + +EFI_STATUS +EFIAPI +AddThunkPpi ( + IN UINTN Flags, + IN EFI_GUID *Guid, + IN VOID *Ppi + ) +{ + UINTN Index; + + gThunkPpiList = ReallocatePool ( + gThunkPpiListSize, + gThunkPpiListSize + sizeof (EFI_PEI_PPI_DESCRIPTOR), + gThunkPpiList + ); + if (gThunkPpiList == NULL) { + return EFI_OUT_OF_RESOURCES; + } + + Index = (gThunkPpiListSize/sizeof (EFI_PEI_PPI_DESCRIPTOR)); + gThunkPpiList[Index].Flags = Flags; + gThunkPpiList[Index].Guid = Guid; + gThunkPpiList[Index].Ppi = Ppi; + gThunkPpiListSize += sizeof (EFI_PEI_PPI_DESCRIPTOR); + + return EFI_SUCCESS; +} + + + + + diff --git a/EmulatorPkg/Library/ThunkPpiList/ThunkPpiList.inf b/EmulatorPkg/Library/ThunkPpiList/ThunkPpiList.inf new file mode 100644 index 0000000000..54f53ab313 --- /dev/null +++ b/EmulatorPkg/Library/ThunkPpiList/ThunkPpiList.inf @@ -0,0 +1,38 @@ +## @file +# Place thunk PPI in HOB. +# +# Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.
+# Portions copyright (c) 2011, Apple Inc. 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. +# +# +## + +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME = ThunkPpiList + FILE_GUID = 465FDE84-E8B0-B04B-A843-A03F68F617A9 + MODULE_TYPE = BASE + VERSION_STRING = 1.0 + LIBRARY_CLASS = MemoryAllocationLib|SEC BASE USER_DEFINED + +[Sources] + ThunkPpiList.c + +[Packages] + MdePkg/MdePkg.dec + EmulatorPkg/EmulatorPkg.dec + +[LibraryClasses] + BaseLib + BaseMemoryLib + +[BuildOptions] + XCODE:*_*_*_DLINK_PATH == gcc + -- cgit v1.2.3