]> git.proxmox.com Git - mirror_edk2.git/blob - UnixPkg/Include/Ppi/UnixAutoScan.h
Integrate patch from Andrew Fish to make it run on OS X.
[mirror_edk2.git] / UnixPkg / Include / Ppi / UnixAutoScan.h
1 /*++
2
3 Copyright (c) 2006, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
8
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11
12 Module Name:
13
14 UnixAutoscan.h
15
16 Abstract:
17
18 Unix Autoscan PPI
19
20 --*/
21
22 #ifndef __UNIX_PEI_AUTOSCAN_H__
23 #define __UNIX_PEI_AUTOSCAN_H__
24
25 #include <UnixDxe.h>
26
27 #define PEI_UNIX_AUTOSCAN_PPI_GUID \
28 { \
29 0xf2ed3d14, 0x8985, 0x11db, {0xb0, 0x57, 0x00, 0x40, 0xd0, 0x2b, 0x18, 0x35 } \
30 }
31
32 typedef
33 EFI_STATUS
34 (EFIAPI *PEI_UNIX_AUTOSCAN) (
35 IN UINTN Index,
36 OUT EFI_PHYSICAL_ADDRESS *MemoryBase,
37 OUT UINT64 *MemorySize
38 );
39
40 /*++
41
42 Routine Description:
43 This service is called from Index == 0 until it returns EFI_UNSUPPORTED.
44 It allows discontiguous memory regions to be supported by the emulator.
45 It uses gSystemMemory[] and gSystemMemoryCount that were created by
46 parsing the host environment variable EFI_MEMORY_SIZE.
47 The size comes from the varaible and the address comes from the call to
48 WinNtOpenFile.
49
50 Arguments:
51 Index - Which memory region to use
52 MemoryBase - Return Base address of memory region
53 MemorySize - Return size in bytes of the memory region
54
55 Returns:
56 EFI_SUCCESS - If memory region was mapped
57 EFI_UNSUPPORTED - If Index is not supported
58
59 --*/
60 typedef struct {
61 PEI_UNIX_AUTOSCAN UnixAutoScan;
62 } PEI_UNIX_AUTOSCAN_PPI;
63
64 extern EFI_GUID gPeiUnixAutoScanPpiGuid;
65
66 #endif