From 804405e7d10525e41720216137b2551f62a0663f Mon Sep 17 00:00:00 2001 From: eric_tian Date: Mon, 30 Jun 2008 05:08:49 +0000 Subject: Port EdkUnixPkg to UnixPkg. The changes are listed as follows: 1. change *.msa to *.inf, and create platform configuration files .dec&.dsc&.fdf to comply with Edk2 build process 2. using PCD mechanism to replace macro. 3. change Sec code to cowork with PI1.0 Pei Core and produce temparory memory ppi. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5380 6f19259b-4bc3-4df7-8a09-765794883524 --- .../UnixThunkPpiToProtocol.c | 79 ++++++++++++++++++++++ .../UnixThunkPpiToProtocol.inf | 63 +++++++++++++++++ .../UnixThunkPpiToProtocol.msa | 69 +++++++++++++++++++ 3 files changed, 211 insertions(+) create mode 100644 UnixPkg/UnixThunkPpiToProtocolPei/UnixThunkPpiToProtocol.c create mode 100644 UnixPkg/UnixThunkPpiToProtocolPei/UnixThunkPpiToProtocol.inf create mode 100644 UnixPkg/UnixThunkPpiToProtocolPei/UnixThunkPpiToProtocol.msa (limited to 'UnixPkg/UnixThunkPpiToProtocolPei') diff --git a/UnixPkg/UnixThunkPpiToProtocolPei/UnixThunkPpiToProtocol.c b/UnixPkg/UnixThunkPpiToProtocolPei/UnixThunkPpiToProtocol.c new file mode 100644 index 0000000000..4cf6c0b042 --- /dev/null +++ b/UnixPkg/UnixThunkPpiToProtocolPei/UnixThunkPpiToProtocol.c @@ -0,0 +1,79 @@ +/*++ + +Copyright (c) 2006 - 2008, 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: + + UnixStuff.c + +Abstract: + + Tiano PEIM to abstract construction of firmware volume in a Unix environment. + +Revision History + +--*/ + +#include "PiPei.h" +#include +#include +#include +#include +#include +#include + +EFI_STATUS +EFIAPI +PeimInitializeUnixStuff ( + IN EFI_FFS_FILE_HEADER *FfsHeader, + IN EFI_PEI_SERVICES **PeiServices + ) +/*++ + +Routine Description: + + Perform a call-back into the SEC simulator to get Unix Stuff + +Arguments: + + PeiServices - General purpose services available to every PEIM. + +Returns: + + None + +--*/ +// TODO: FfsHeader - add argument and description to function comment +{ + EFI_STATUS Status; + EFI_PEI_PPI_DESCRIPTOR *PpiDescriptor; + PEI_UNIX_THUNK_PPI *PeiUnixService; + VOID *Ptr; + + DEBUG ((EFI_D_ERROR, "Unix Stuff PEIM Loaded\n")); + + Status = (**PeiServices).LocatePpi ( + PeiServices, + &gPeiUnixThunkPpiGuid, // GUID + 0, // INSTANCE + &PpiDescriptor, // EFI_PEI_PPI_DESCRIPTOR + (VOID **)&PeiUnixService // PPI + ); + ASSERT_EFI_ERROR (Status); + + Ptr = PeiUnixService->UnixThunk (); + + BuildGuidDataHob ( + &gEfiUnixThunkProtocolGuid, // Guid + &Ptr, // Buffer + sizeof (VOID *) // Sizeof Buffer + ); + return Status; +} diff --git a/UnixPkg/UnixThunkPpiToProtocolPei/UnixThunkPpiToProtocol.inf b/UnixPkg/UnixThunkPpiToProtocolPei/UnixThunkPpiToProtocol.inf new file mode 100644 index 0000000000..d19fa2a5a3 --- /dev/null +++ b/UnixPkg/UnixThunkPpiToProtocolPei/UnixThunkPpiToProtocol.inf @@ -0,0 +1,63 @@ +#/** @file +# Stuff driver +# +# Tiano PEIM to abstract construction of firmware volume in a Unix environment. +# 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. +# +# +#**/ + +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME = UnixThunkPpiToProtocol + FILE_GUID = f4239aa2-8985-11db-af82-0040d02b1835 + MODULE_TYPE = PEIM + VERSION_STRING = 1.0 + EDK_RELEASE_VERSION = 0x00020000 + EFI_SPECIFICATION_VERSION = 0x00020000 + + ENTRY_POINT = PeimInitializeUnixStuff + +# +# The following information is for reference only and not required by the build tools. +# +# VALID_ARCHITECTURES = IA32 X64 IPF EBC +# + +[Sources.common] + UnixThunkPpiToProtocol.c + + +[Packages] +# MdeModulePkg/MdeModulePkg.dec + MdePkg/MdePkg.dec +# IntelFrameworkPkg/IntelFrameworkPkg.dec + UnixPkg/UnixPkg.dec + + +[LibraryClasses] + PeiServicesTablePointerLib + PeiServicesLib + HobLib + PeimEntryPoint + DebugLib + + +[Protocols] + gEfiUnixThunkProtocolGuid # PROTOCOL ALWAYS_CONSUMED + + +[Ppis] + gPeiUnixThunkPpiGuid # PPI ALWAYS_CONSUMED + + +[Depex] + gPeiUnixThunkPpiGuid AND gEfiPeiMemoryDiscoveredPpiGuid + diff --git a/UnixPkg/UnixThunkPpiToProtocolPei/UnixThunkPpiToProtocol.msa b/UnixPkg/UnixThunkPpiToProtocolPei/UnixThunkPpiToProtocol.msa new file mode 100644 index 0000000000..889d98d8ec --- /dev/null +++ b/UnixPkg/UnixThunkPpiToProtocolPei/UnixThunkPpiToProtocol.msa @@ -0,0 +1,69 @@ + + + + UnixStuff + PEIM + f4239aa2-8985-11db-af82-0040d02b1835 + 1.0 + Stuff driver + + Tiano PEIM to abstract construction of firmware volume in a Unix environment. + + 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. + FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052 + + + IA32 X64 IPF EBC + false + UnixStuff + + + + DebugLib + + + PeimEntryPoint + + + HobLib + + + PeiServicesLib + + + PeiServicesTablePointerLib + + + + UnixStuff.c + UnixStuff.dxs + + + + + + + + + gEfiUnixThunkProtocolGuid + + + + + gPeiUnixThunkPpiGuid + + + + EFI_SPECIFICATION_VERSION 0x00020000 + EDK_RELEASE_VERSION 0x00020000 + + PeimInitializeUnixStuff + + + -- cgit v1.2.3