]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Core/Dxe/Gcd/Gcd.h
a2005f88329c7d5904b4d4a7ccf8b9f2e72e3819
[mirror_edk2.git] / MdeModulePkg / Core / Dxe / Gcd / Gcd.h
1 /** @file
2 GCD Operations and data structure used to
3 convert from GCD attributes to EFI Memory Map attributes.
4
5 Copyright (c) 2006 - 2008, Intel Corporation. <BR>
6 All rights reserved. This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
10
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13
14 **/
15
16 #ifndef _GCD_H_
17 #define _GCD_H_
18
19 //
20 // GCD Operations
21 //
22 #define GCD_MEMORY_SPACE_OPERATION 0x20
23 #define GCD_IO_SPACE_OPERATION 0x40
24
25 #define GCD_ADD_MEMORY_OPERATION (GCD_MEMORY_SPACE_OPERATION | 0)
26 #define GCD_ALLOCATE_MEMORY_OPERATION (GCD_MEMORY_SPACE_OPERATION | 1)
27 #define GCD_FREE_MEMORY_OPERATION (GCD_MEMORY_SPACE_OPERATION | 2)
28 #define GCD_REMOVE_MEMORY_OPERATION (GCD_MEMORY_SPACE_OPERATION | 3)
29 #define GCD_SET_ATTRIBUTES_MEMORY_OPERATION (GCD_MEMORY_SPACE_OPERATION | 4)
30
31 #define GCD_ADD_IO_OPERATION (GCD_IO_SPACE_OPERATION | 0)
32 #define GCD_ALLOCATE_IO_OPERATION (GCD_IO_SPACE_OPERATION | 1)
33 #define GCD_FREE_IO_OPERATION (GCD_IO_SPACE_OPERATION | 2)
34 #define GCD_REMOVE_IO_OPERATION (GCD_IO_SPACE_OPERATION | 3)
35
36 //
37 // The data structure used to convert from GCD attributes to EFI Memory Map attributes
38 //
39 typedef struct {
40 UINT64 Attribute;
41 UINT64 Capability;
42 BOOLEAN Memory;
43 } GCD_ATTRIBUTE_CONVERSION_ENTRY;
44
45 #endif