1 /*++ 2 3 Copyright (c) 2004, Intel Corporation. All rights reserved.<BR> 4 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 VirtualmemoryAccess.h 15 16 Abstract: 17 18 19 --*/ 20 21 #ifndef _VIRTUAL_MEMORY_ACCESS_H_ 22 #define _VIRTUAL_MEMORY_ACCESS_H_ 23 24 #define EFI_VIRTUAL_MEMORY_ACCESS_PROTOCOL_GUID \ 25 {0x745d377a, 0xb988, 0x47b2, {0xb1, 0x8f, 0xbb, 0xc8, 0xd, 0xc5, 0x66, 0x98}} 26 27 28 EFI_FORWARD_DECLARATION (EFI_VIRTUAL_MEMORY_ACCESS_PROTOCOL); 29 30 typedef 31 EFI_STATUS 32 (EFIAPI *EFI_VIRTUAL_MEMORY_ACCESS_MAP) ( 33 IN EFI_VIRTUAL_MEMORY_ACCESS_PROTOCOL *This, 34 IN EFI_PHYSICAL_ADDRESS MappingAddress, 35 IN UINTN NumberOfBytes, 36 IN EFI_PHYSICAL_ADDRESS MappedAddress 37 ); 38 39 typedef 40 EFI_STATUS 41 (EFIAPI *EFI_VIRTUAL_MEMORY_ACCESS_UNMAP) ( 42 IN EFI_VIRTUAL_MEMORY_ACCESS_PROTOCOL *This, 43 IN EFI_PHYSICAL_ADDRESS MappedAddress, 44 IN UINTN PageSizeInByte 45 ); 46 47 typedef 48 EFI_STATUS 49 (EFIAPI *EFI_VIRTUAL_MEMORY_ACCESS_GET_PAGE_SIZE) ( 50 IN EFI_VIRTUAL_MEMORY_ACCESS_PROTOCOL *This, 51 IN UINTN *PageSizeInByte 52 ); 53 54 55 struct _EFI_VIRTUAL_MEMORY_ACCESS_PROTOCOL { 56 EFI_VIRTUAL_MEMORY_ACCESS_GET_PAGE_SIZE GetPageSize; 57 EFI_VIRTUAL_MEMORY_ACCESS_MAP Map; 58 EFI_VIRTUAL_MEMORY_ACCESS_UNMAP UnMap; 59 }; 60 61 extern EFI_GUID gEfiVirtualMemoryAccessProtocolGuid; 62 63 #endif 64 65