git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2749 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. 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 <WinNtDxe.h>
 | |
| 
 | |
| #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
 |