1 /** @file
2 
3 Copyright (c) 2006 - 2010, 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     AcpiDescription.h
15 
16 Abstract:
17 
18 
19    GUIDs used for ACPI Description
20 
21 **/
22 
23 #ifndef _EFI_ACPI_DESCRIPTION_H_
24 #define _EFI_ACPI_DESCRIPTION_H_
25 
26 #include <IndustryStandard/Acpi.h>
27 
28 #define EFI_ACPI_DESCRIPTION_GUID \
29   { \
30   0x3c699197, 0x93c, 0x4c69, {0xb0, 0x6b, 0x12, 0x8a, 0xe3, 0x48, 0x1d, 0xc9} \
31   }
32 
33 //
34 // Following structure defines ACPI Description information.
35 // This information is platform specific, may be consumed by DXE generic driver.
36 //
37 #pragma pack(1)
38 typedef struct _EFI_ACPI_DESCRIPTION {
39   //
40   // For Timer
41   //
42   EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE   PM_TMR_BLK;
43   UINT8                                    PM_TMR_LEN;
44   UINT8                                    TMR_VAL_EXT;
45 
46   //
47   // For RTC
48   //
49   UINT8                                    DAY_ALRM;
50   UINT8                                    MON_ALRM;
51   UINT8                                    CENTURY;
52 
53   //
54   // For Reset
55   //
56   EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE   RESET_REG;
57   UINT8                                    RESET_VALUE;
58 
59   //
60   // For Shutdown
61   //
62   EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE   PM1a_EVT_BLK;
63   EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE   PM1b_EVT_BLK;
64   EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE   PM1a_CNT_BLK;
65   EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE   PM1b_CNT_BLK;
66   EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE   PM2_CNT_BLK;
67   UINT8                                    PM1_EVT_LEN;
68   UINT8                                    PM1_CNT_LEN;
69   UINT8                                    PM2_CNT_LEN;
70   UINT8                                    SLP_TYPa;
71   UINT8                                    SLP_TYPb;
72 
73   //
74   // For sleep
75   //
76   UINT8                                    SLP1_TYPa;
77   UINT8                                    SLP1_TYPb;
78   UINT8                                    SLP2_TYPa;
79   UINT8                                    SLP2_TYPb;
80   UINT8                                    SLP3_TYPa;
81   UINT8                                    SLP3_TYPb;
82   UINT8                                    SLP4_TYPa;
83   UINT8                                    SLP4_TYPb;
84 
85   //
86   // GPE
87   //
88   EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE   GPE0_BLK;
89   EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE   GPE1_BLK;
90   UINT8                                    GPE0_BLK_LEN;
91   UINT8                                    GPE1_BLK_LEN;
92   UINT8                                    GPE1_BASE;
93 
94   //
95   // IAPC Boot Arch
96   //
97   UINT16                                   IAPC_BOOT_ARCH;
98 
99   //
100   // Flags
101   //
102   UINT32                                   Flags;
103 
104 } EFI_ACPI_DESCRIPTION;
105 #pragma pack()
106 
107 extern EFI_GUID gEfiAcpiDescriptionGuid;
108 
109 #endif
110