git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10437 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			67 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*++
 | |
| 
 | |
| Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
 | |
| 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:
 | |
| 
 | |
|   UnixAutoscan.h
 | |
| 
 | |
| Abstract:
 | |
| 
 | |
| Unix Autoscan PPI
 | |
| 
 | |
| --*/
 | |
| 
 | |
| #ifndef __UNIX_PEI_AUTOSCAN_H__
 | |
| #define __UNIX_PEI_AUTOSCAN_H__
 | |
| 
 | |
| #include <UnixDxe.h>
 | |
| 
 | |
| #define PEI_UNIX_AUTOSCAN_PPI_GUID \
 | |
|   { \
 | |
|     0xf2ed3d14, 0x8985, 0x11db, {0xb0, 0x57, 0x00, 0x40, 0xd0, 0x2b, 0x18, 0x35 } \
 | |
|   }
 | |
| 
 | |
| typedef
 | |
| EFI_STATUS
 | |
| (EFIAPI *PEI_UNIX_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 host 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_UNIX_AUTOSCAN UnixAutoScan;
 | |
| } PEI_UNIX_AUTOSCAN_PPI;
 | |
| 
 | |
| extern EFI_GUID gPeiUnixAutoScanPpiGuid;
 | |
| 
 | |
| #endif
 |