]> git.proxmox.com Git - mirror_edk2.git/blob - Nt32Pkg/Include/Ppi/NtAutoscan.h
130112ad13e782d2b4dc0b7119f32ba74a05c356
[mirror_edk2.git] / Nt32Pkg / Include / Ppi / NtAutoscan.h
1 /**@file
2
3 Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
4 SPDX-License-Identifier: BSD-2-Clause-Patent
5
6 Module Name:
7
8 NtAutoscan.h
9
10 Abstract:
11
12 Nt Autoscan PPI
13
14 **/
15
16 #ifndef __NT_PEI_AUTOSCAN_H__
17 #define __NT_PEI_AUTOSCAN_H__
18
19 #include <WinNtDxe.h>
20
21 #define PEI_NT_AUTOSCAN_PPI_GUID \
22 { \
23 0xdce384d, 0x7c, 0x4ba5, {0x94, 0xbd, 0xf, 0x6e, 0xb6, 0x4d, 0x2a, 0xa9 } \
24 }
25
26 typedef
27 EFI_STATUS
28 (EFIAPI *PEI_NT_AUTOSCAN) (
29 IN UINTN Index,
30 OUT EFI_PHYSICAL_ADDRESS * MemoryBase,
31 OUT UINT64 *MemorySize
32 );
33
34 /*++
35
36 Routine Description:
37 This service is called from Index == 0 until it returns EFI_UNSUPPORTED.
38 It allows discontinuous memory regions to be supported by the emulator.
39 It uses gSystemMemory[] and gSystemMemoryCount that were created by
40 parsing the Windows environment variable EFI_MEMORY_SIZE.
41 The size comes from the varaible and the address comes from the call to
42 WinNtOpenFile.
43
44 Arguments:
45 Index - Which memory region to use
46 MemoryBase - Return Base address of memory region
47 MemorySize - Return size in bytes of the memory region
48
49 Returns:
50 EFI_SUCCESS - If memory region was mapped
51 EFI_UNSUPPORTED - If Index is not supported
52
53 --*/
54 typedef struct {
55 PEI_NT_AUTOSCAN NtAutoScan;
56 } PEI_NT_AUTOSCAN_PPI;
57
58 extern EFI_GUID gPeiNtAutoScanPpiGuid;
59
60 #endif