1/*++
2
3Copyright (c) 2004 - 2006, Intel Corporation. All rights reserved.<BR>
4This program and the accompanying materials
5are licensed and made available under the terms and conditions of the BSD License
6which accompanies this distribution.  The full text of the license may be found at
7http://opensource.org/licenses/bsd-license.php
8
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11
12Module Name:
13
14  TianoSpecTypes.h
15
16Abstract:
17
18  Tiano types defined in Tiano spec.
19
20--*/
21
22#ifndef _TIANO_SPEC_TYPES_H_
23#define _TIANO_SPEC_TYPES_H_
24
25//
26// Modifier for EFI DXE Services
27//
28#define EFI_DXESERVICE
29
30//
31// Global Coherencey Domain types
32//
33typedef enum {
34  EfiGcdMemoryTypeNonExistent,
35  EfiGcdMemoryTypeReserved,
36  EfiGcdMemoryTypeSystemMemory,
37  EfiGcdMemoryTypeMemoryMappedIo,
38  EfiGcdMemoryTypeMaximum
39} EFI_GCD_MEMORY_TYPE;
40
41typedef enum {
42  EfiGcdIoTypeNonExistent,
43  EfiGcdIoTypeReserved,
44  EfiGcdIoTypeIo,
45  EfiGcdIoTypeMaximum
46} EFI_GCD_IO_TYPE;
47
48typedef enum {
49  EfiGcdAllocateAnySearchBottomUp,
50  EfiGcdAllocateMaxAddressSearchBottomUp,
51  EfiGcdAllocateAddress,
52  EfiGcdAllocateAnySearchTopDown,
53  EfiGcdAllocateMaxAddressSearchTopDown,
54  EfiGcdMaxAllocateType
55} EFI_GCD_ALLOCATE_TYPE;
56
57typedef struct {
58  EFI_PHYSICAL_ADDRESS  BaseAddress;
59  UINT64                Length;
60  UINT64                Capabilities;
61  UINT64                Attributes;
62  EFI_GCD_MEMORY_TYPE   GcdMemoryType;
63  EFI_HANDLE            ImageHandle;
64  EFI_HANDLE            DeviceHandle;
65} EFI_GCD_MEMORY_SPACE_DESCRIPTOR;
66
67typedef struct {
68  EFI_PHYSICAL_ADDRESS  BaseAddress;
69  UINT64                Length;
70  EFI_GCD_IO_TYPE       GcdIoType;
71  EFI_HANDLE            ImageHandle;
72  EFI_HANDLE            DeviceHandle;
73} EFI_GCD_IO_SPACE_DESCRIPTOR;
74
75#endif
76