]> git.proxmox.com Git - mirror_edk2.git/blob - EdkCompatibilityPkg/Foundation/Include/IndustryStandard/AcpiCommon.h
Add in the 1st version of ECP.
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Include / IndustryStandard / AcpiCommon.h
1 /*++
2
3 Copyright (c) 2007, Intel Corporation
4 All rights reserved. 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 AcpiCommon.h
15
16 Abstract:
17
18 This file contains some basic ACPI definitions that are consumed by drivers
19 that do not care about ACPI versions.
20
21 --*/
22
23 #ifndef _ACPI_COMMON_H_
24 #define _ACPI_COMMON_H_
25
26 #include "Tiano.h"
27
28 //
29 // Common table header, this prefaces all ACPI tables, including FACS, but
30 // excluding the RSD PTR structure
31 //
32 typedef struct {
33 UINT32 Signature;
34 UINT32 Length;
35 } EFI_ACPI_COMMON_HEADER;
36
37 //
38 // Common ACPI description table header. This structure prefaces most ACPI tables.
39 //
40 #pragma pack(1)
41
42 typedef struct {
43 UINT32 Signature;
44 UINT32 Length;
45 UINT8 Revision;
46 UINT8 Checksum;
47 UINT8 OemId[6];
48 UINT64 OemTableId;
49 UINT32 OemRevision;
50 UINT32 CreatorId;
51 UINT32 CreatorRevision;
52 } EFI_ACPI_DESCRIPTION_HEADER;
53
54 #pragma pack()
55 //
56 // Define for Pci Host Bridge Resource Allocation
57 //
58 #define ACPI_ADDRESS_SPACE_DESCRIPTOR 0x8A
59 #define ACPI_END_TAG_DESCRIPTOR 0x79
60
61 #define ACPI_ADDRESS_SPACE_TYPE_MEM 0x00
62 #define ACPI_ADDRESS_SPACE_TYPE_IO 0x01
63 #define ACPI_ADDRESS_SPACE_TYPE_BUS 0x02
64
65 //
66 // Make sure structures match spec
67 //
68 #pragma pack(1)
69
70 typedef struct {
71 UINT8 Desc;
72 UINT16 Len;
73 UINT8 ResType;
74 UINT8 GenFlag;
75 UINT8 SpecificFlag;
76 UINT64 AddrSpaceGranularity;
77 UINT64 AddrRangeMin;
78 UINT64 AddrRangeMax;
79 UINT64 AddrTranslationOffset;
80 UINT64 AddrLen;
81 } EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR;
82
83 typedef struct {
84 UINT8 Desc;
85 UINT8 Checksum;
86 } EFI_ACPI_END_TAG_DESCRIPTOR;
87
88 //
89 // General use definitions
90 //
91 #define EFI_ACPI_RESERVED_BYTE 0x00
92 #define EFI_ACPI_RESERVED_WORD 0x0000
93 #define EFI_ACPI_RESERVED_DWORD 0x00000000
94 #define EFI_ACPI_RESERVED_QWORD 0x0000000000000000
95
96 #pragma pack()
97
98 #endif