From 66f0059f35715d29fc43ca42f2e7ed1d11709ce2 Mon Sep 17 00:00:00 2001 From: klu2 Date: Wed, 27 Jun 2007 03:41:18 +0000 Subject: 1) Porting the original WinNtStuff Peim to new Nt32Pkg 2) Adding PeiHobLib to MdePkg git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2765 6f19259b-4bc3-4df7-8a09-765794883524 --- .../WinNtThunkPPIToProtocolPeim.c | 88 ++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 Nt32Pkg/WinNtThunkPPIToProtocolPeim/WinNtThunkPPIToProtocolPeim.c (limited to 'Nt32Pkg/WinNtThunkPPIToProtocolPeim/WinNtThunkPPIToProtocolPeim.c') diff --git a/Nt32Pkg/WinNtThunkPPIToProtocolPeim/WinNtThunkPPIToProtocolPeim.c b/Nt32Pkg/WinNtThunkPPIToProtocolPeim/WinNtThunkPPIToProtocolPeim.c new file mode 100644 index 0000000000..40b145069a --- /dev/null +++ b/Nt32Pkg/WinNtThunkPPIToProtocolPeim/WinNtThunkPPIToProtocolPeim.c @@ -0,0 +1,88 @@ +/*++ + +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: + + WinNtStuff.c + +Abstract: + + Tiano PEIM to abstract construction of firmware volume in a Windows NT environment. + +Revision History + +--*/ + +// +// The package level header files this module uses +// +#include +#include +// +// The protocols, PPI and GUID defintions for this module +// +#include +#include +// +// The Library classes this module consumes +// +#include +#include +#include + +EFI_STATUS +EFIAPI +PeimInitializeWinNtThunkPPIToProtocolPeim ( + IN EFI_FFS_FILE_HEADER *FfsHeader, + IN EFI_PEI_SERVICES **PeiServices + ) +/*++ + +Routine Description: + + Perform a call-back into the SEC simulator to get NT 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_NT_THUNK_PPI *PeiNtService; + VOID *Ptr; + + DEBUG ((EFI_D_ERROR, "NT 32 WinNT Stuff PEIM Loaded\n")); + + Status = (**PeiServices).LocatePpi ( + PeiServices, + &gPeiNtThunkPpiGuid, // GUID + 0, // INSTANCE + &PpiDescriptor, // EFI_PEI_PPI_DESCRIPTOR + &PeiNtService // PPI + ); + ASSERT_EFI_ERROR (Status); + + Ptr = PeiNtService->NtThunk (); + + BuildGuidDataHob ( + &gEfiWinNtThunkProtocolGuid, // Guid + &Ptr, // Buffer + sizeof (VOID *) // Sizeof Buffer + ); + return Status; +} -- cgit v1.2.3