blob: 0822184b89312c697ffb5ebba7cbf9d44ec147c1 [file] [log] [blame]
Vishal Bhoj82c80712015-12-15 21:13:33 +05301/** @file
2
3 Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.<BR>
4
5 This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13**/
14
15#ifndef __VIRTUAL_UNCACHED_PAGES_ROTOCOL_H__
16#define __VIRTUAL_UNCACHED_PAGES_ROTOCOL_H__
17
18//
19// Protocol GUID
20//
21#define VIRTUAL_UNCACHED_PAGES_PROTOCOL_GUID { 0xAD651C7D, 0x3C22, 0x4DBF, { 0x92, 0xe8, 0x38, 0xa7, 0xcd, 0xae, 0x87, 0xb2 } }
22
23
24
25//
26// Protocol interface structure
27//
28typedef struct _VIRTUAL_UNCACHED_PAGES_PROTOCOL VIRTUAL_UNCACHED_PAGES_PROTOCOL;
29
30
31typedef
32EFI_STATUS
33(EFIAPI *CONVERT_PAGES_TO_UNCACHED_VIRTUAL_ADDRESS) (
34 IN VIRTUAL_UNCACHED_PAGES_PROTOCOL *This,
35 IN EFI_PHYSICAL_ADDRESS Address,
36 IN UINTN Length,
37 IN EFI_PHYSICAL_ADDRESS VirtualMask,
38 OUT UINT64 *Attributes OPTIONAL
39 );
40
41typedef
42EFI_STATUS
43(EFIAPI *FREE_CONVERTED_PAGES) (
44 IN VIRTUAL_UNCACHED_PAGES_PROTOCOL *This,
45 IN EFI_PHYSICAL_ADDRESS Address,
46 IN UINTN Length,
47 IN EFI_PHYSICAL_ADDRESS VirtualMask,
48 IN UINT64 Attributes
49 );
50
51
52
53struct _VIRTUAL_UNCACHED_PAGES_PROTOCOL {
54 CONVERT_PAGES_TO_UNCACHED_VIRTUAL_ADDRESS ConvertPages;
55 FREE_CONVERTED_PAGES RevertPages;
56};
57
58extern EFI_GUID gVirtualUncachedPagesProtocolGuid;
59
60#endif