From 45a20a7fd8b12de926a87f6d7b121287354d63af Mon Sep 17 00:00:00 2001 From: klu2 Date: Tue, 26 Jun 2007 08:25:56 +0000 Subject: Initialize the include folder for NT32Pkg git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2749 6f19259b-4bc3-4df7-8a09-765794883524 --- Nt32Pkg/Include/Ppi/NtAutoscan.h | 66 +++++++++++++++++++++++++++++++++++++ Nt32Pkg/Include/Ppi/NtFwh.h | 62 ++++++++++++++++++++++++++++++++++ Nt32Pkg/Include/Ppi/NtPeiLoadFile.h | 65 ++++++++++++++++++++++++++++++++++++ Nt32Pkg/Include/Ppi/NtThunk.h | 56 +++++++++++++++++++++++++++++++ 4 files changed, 249 insertions(+) create mode 100644 Nt32Pkg/Include/Ppi/NtAutoscan.h create mode 100644 Nt32Pkg/Include/Ppi/NtFwh.h create mode 100644 Nt32Pkg/Include/Ppi/NtPeiLoadFile.h create mode 100644 Nt32Pkg/Include/Ppi/NtThunk.h (limited to 'Nt32Pkg/Include/Ppi') diff --git a/Nt32Pkg/Include/Ppi/NtAutoscan.h b/Nt32Pkg/Include/Ppi/NtAutoscan.h new file mode 100644 index 0000000000..6098819f3f --- /dev/null +++ b/Nt32Pkg/Include/Ppi/NtAutoscan.h @@ -0,0 +1,66 @@ +/*++ + +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: + + NtAutoscan.h + +Abstract: + +Nt Autoscan PPI + +--*/ + +#ifndef __NT_PEI_AUTOSCAN_H__ +#define __NT_PEI_AUTOSCAN_H__ + +#include + +#define PEI_NT_AUTOSCAN_PPI_GUID \ + { \ + 0xdce384d, 0x7c, 0x4ba5, {0x94, 0xbd, 0xf, 0x6e, 0xb6, 0x4d, 0x2a, 0xa9 } \ + } + +typedef +EFI_STATUS +(EFIAPI *PEI_NT_AUTOSCAN) ( + IN UINTN Index, + OUT EFI_PHYSICAL_ADDRESS * MemoryBase, + OUT UINT64 *MemorySize + ); + +/*++ + +Routine Description: + This service is called from Index == 0 until it returns EFI_UNSUPPORTED. + It allows discontiguous memory regions to be supported by the emulator. + It uses gSystemMemory[] and gSystemMemoryCount that were created by + parsing the Windows environment variable EFI_MEMORY_SIZE. + The size comes from the varaible and the address comes from the call to + WinNtOpenFile. + +Arguments: + Index - Which memory region to use + MemoryBase - Return Base address of memory region + MemorySize - Return size in bytes of the memory region + +Returns: + EFI_SUCCESS - If memory region was mapped + EFI_UNSUPPORTED - If Index is not supported + +--*/ +typedef struct { + PEI_NT_AUTOSCAN NtAutoScan; +} PEI_NT_AUTOSCAN_PPI; + +extern EFI_GUID gPeiNtAutoScanPpiGuid; + +#endif diff --git a/Nt32Pkg/Include/Ppi/NtFwh.h b/Nt32Pkg/Include/Ppi/NtFwh.h new file mode 100644 index 0000000000..90b41094cf --- /dev/null +++ b/Nt32Pkg/Include/Ppi/NtFwh.h @@ -0,0 +1,62 @@ +/*++ + +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: + + NtFwh.h + +Abstract: + + WinNt FWH PPI as defined in Tiano + +--*/ + +#ifndef __NT_PEI_FWH_H__ +#define __NT_PEI_FWH_H__ + +#include + +#define NT_FWH_PPI_GUID \ + { \ + 0x4e76928f, 0x50ad, 0x4334, {0xb0, 0x6b, 0xa8, 0x42, 0x13, 0x10, 0x8a, 0x57 } \ + } + +typedef +EFI_STATUS +(EFIAPI *NT_FWH_INFORMATION) ( + IN UINTN Index, + IN OUT EFI_PHYSICAL_ADDRESS * FdBase, + IN OUT UINT64 *FdSize + ); + +/*++ + +Routine Description: + Return the FD Size and base address. Since the FD is loaded from a + file into Windows memory only the SEC will know it's address. + +Arguments: + Index - Which FD, starts at zero. + FdSize - Size of the FD in bytes + FdBase - Start address of the FD. Assume it points to an FV Header + +Returns: + EFI_SUCCESS - Return the Base address and size of the FV + EFI_UNSUPPORTED - Index does nto map to an FD in the system + +--*/ +typedef struct { + NT_FWH_INFORMATION NtFwh; +} NT_FWH_PPI; + +extern EFI_GUID gNtFwhPpiGuid; + +#endif diff --git a/Nt32Pkg/Include/Ppi/NtPeiLoadFile.h b/Nt32Pkg/Include/Ppi/NtPeiLoadFile.h new file mode 100644 index 0000000000..622e01a145 --- /dev/null +++ b/Nt32Pkg/Include/Ppi/NtPeiLoadFile.h @@ -0,0 +1,65 @@ +/*++ + +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: + + NtPeiLoadFile.h + +Abstract: + + WinNt Load File PPI. + + When the PEI core is done it calls the DXE IPL via PPI + +--*/ + +#ifndef __NT_PEI_LOAD_FILE_H__ +#define __NT_PEI_LOAD_FILE_H__ + +#include + +#define NT_PEI_LOAD_FILE_GUID \ + { \ + 0xfd0c65eb, 0x405, 0x4cd2, {0x8a, 0xee, 0xf4, 0x0, 0xef, 0x13, 0xba, 0xc2 } \ + } + +typedef +EFI_STATUS +(EFIAPI *NT_PEI_LOAD_FILE) ( + VOID *Pe32Data, + EFI_PHYSICAL_ADDRESS *ImageAddress, + UINT64 *ImageSize, + EFI_PHYSICAL_ADDRESS *EntryPoint + ); + +/*++ + +Routine Description: + Loads and relocates a PE/COFF image into memory. + +Arguments: + Pe32Data - The base address of the PE/COFF file that is to be loaded and relocated + ImageAddress - The base address of the relocated PE/COFF image + ImageSize - The size of the relocated PE/COFF image + EntryPoint - The entry point of the relocated PE/COFF image + +Returns: + EFI_SUCCESS - The file was loaded and relocated + EFI_OUT_OF_RESOURCES - There was not enough memory to load and relocate the PE/COFF file + +--*/ +typedef struct { + NT_PEI_LOAD_FILE PeiLoadFileService; +} NT_PEI_LOAD_FILE_PPI; + +extern EFI_GUID gNtPeiLoadFilePpiGuid; + +#endif diff --git a/Nt32Pkg/Include/Ppi/NtThunk.h b/Nt32Pkg/Include/Ppi/NtThunk.h new file mode 100644 index 0000000000..782c510a30 --- /dev/null +++ b/Nt32Pkg/Include/Ppi/NtThunk.h @@ -0,0 +1,56 @@ +/*++ + +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: + + NtThunk.h + +Abstract: + + WinNt Thunk interface PPI + +--*/ + +#ifndef __NT_PEI_WIN_NT_THUNK_H__ +#define __NT_PEI_WIN_NT_THUNK_H__ + +#include + +#define PEI_NT_THUNK_PPI_GUID \ + { \ + 0x98c281e5, 0xf906, 0x43dd, {0xa9, 0x2b, 0xb0, 0x3, 0xbf, 0x27, 0x65, 0xda } \ + } + +typedef +VOID * +(EFIAPI *PEI_NT_THUNK_INTERFACE) ( + VOID + ); + +/*++ + +Routine Description: + Export of EFI_WIN_NT_THUNK_PROTOCOL from the Windows SEC. + +Arguments: + InterfaceBase - Address of the EFI_WIN_NT_THUNK_PROTOCOL + +Returns: + EFI_SUCCESS - Data returned + +--*/ +typedef struct { + PEI_NT_THUNK_INTERFACE NtThunk; +} PEI_NT_THUNK_PPI; + +extern EFI_GUID gPeiNtThunkPpiGuid; + +#endif -- cgit v1.2.3