]> git.proxmox.com Git - mirror_edk2.git/blame - Nt32Pkg/WinNtThunkPPIToProtocolPei/WinNtThunkPPIToProtocol.c
Nt32Pkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / Nt32Pkg / WinNtThunkPPIToProtocolPei / WinNtThunkPPIToProtocol.c
CommitLineData
6ae81428 1/**@file\r
66f0059f 2\r
8f2a5f80 3Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>\r
9d2eedba 4SPDX-License-Identifier: BSD-2-Clause-Patent\r
66f0059f 5\r
6Module Name:\r
7\r
8 WinNtStuff.c\r
9 \r
10Abstract:\r
11\r
12 Tiano PEIM to abstract construction of firmware volume in a Windows NT environment.\r
13\r
14Revision History\r
15\r
6ae81428 16**/\r
66f0059f 17\r
18//\r
19// The package level header files this module uses\r
20//\r
21#include <PiPei.h>\r
22#include <WinNtPeim.h>\r
23//\r
24// The protocols, PPI and GUID defintions for this module\r
25//\r
26#include <Protocol/WinNtThunk.h>\r
27#include <Ppi/NtThunk.h>\r
28//\r
29// The Library classes this module consumes\r
30//\r
31#include <Library/DebugLib.h>\r
32#include <Library/PeimEntryPoint.h>\r
33#include <Library/HobLib.h>\r
34\r
35EFI_STATUS\r
36EFIAPI\r
37PeimInitializeWinNtThunkPPIToProtocolPeim (\r
38 IN EFI_FFS_FILE_HEADER *FfsHeader,\r
39 IN EFI_PEI_SERVICES **PeiServices\r
40 )\r
41/*++\r
42\r
43Routine Description:\r
44\r
45 Perform a call-back into the SEC simulator to get NT Stuff\r
46\r
47Arguments:\r
48\r
49 PeiServices - General purpose services available to every PEIM.\r
50 \r
51Returns:\r
52\r
53 None\r
54\r
55--*/\r
56// TODO: FfsHeader - add argument and description to function comment\r
57{\r
58 EFI_STATUS Status;\r
59 EFI_PEI_PPI_DESCRIPTOR *PpiDescriptor;\r
60 PEI_NT_THUNK_PPI *PeiNtService;\r
61 VOID *Ptr;\r
62\r
63 DEBUG ((EFI_D_ERROR, "NT 32 WinNT Stuff PEIM Loaded\n"));\r
64\r
65 Status = (**PeiServices).LocatePpi (\r
0b94e319 66 (const EFI_PEI_SERVICES **)PeiServices,\r
66f0059f 67 &gPeiNtThunkPpiGuid, // GUID\r
68 0, // INSTANCE\r
69 &PpiDescriptor, // EFI_PEI_PPI_DESCRIPTOR\r
0b94e319 70 (VOID**)&PeiNtService // PPI\r
66f0059f 71 );\r
72 ASSERT_EFI_ERROR (Status);\r
73\r
74 Ptr = PeiNtService->NtThunk ();\r
75\r
76 BuildGuidDataHob (\r
77 &gEfiWinNtThunkProtocolGuid, // Guid\r
78 &Ptr, // Buffer\r
79 sizeof (VOID *) // Sizeof Buffer\r
80 );\r
81 return Status;\r
82}\r