aboutsummaryrefslogtreecommitdiffstats
path: root/include/acpi/acglobal.h
diff options
context:
space:
mode:
authorBob Moore <robert.moore@intel.com>2007-02-02 11:48:18 -0500
committerLen Brown <len.brown@intel.com>2007-02-02 21:14:21 -0500
commitf3d2e7865c816258c699ff965768e46b50d536d3 (patch)
tree83d21269e506109275b77d3ed161883bba8a39cf /include/acpi/acglobal.h
parent2e42005bcdb4f63bed1cea7f537a5534d4bd7a57 (diff)
ACPICA: Implement simplified Table Manager
The Table Manager component has been completely redesigned and reimplemented. The new design is much simpler, and reduces the overall code and data size of the kernel-resident ACPICA by approximately 5%. Also, it is now possible to obtain the ACPI tables very early during kernel initialization, even before dynamic memory management is initialized. Signed-off-by: Alexey Starikovskiy <alexey.y.starikovskiy@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'include/acpi/acglobal.h')
-rw-r--r--include/acpi/acglobal.h42
1 files changed, 9 insertions, 33 deletions
diff --git a/include/acpi/acglobal.h b/include/acpi/acglobal.h
index bf4318447f1a..82d42b82594a 100644
--- a/include/acpi/acglobal.h
+++ b/include/acpi/acglobal.h
@@ -140,47 +140,23 @@ ACPI_EXTERN u8 ACPI_INIT_GLOBAL(acpi_gbl_leave_wake_gpes_disabled, TRUE);
140 ****************************************************************************/ 140 ****************************************************************************/
141 141
142/* 142/*
143 * Table pointers. 143 * acpi_gbl_root_table_list is the master list of ACPI tables found in the
144 * Although these pointers are somewhat redundant with the global acpi_table, 144 * RSDT/XSDT.
145 * they are convenient because they are typed pointers.
146 * 145 *
147 * These tables are single-table only; meaning that there can be at most one 146 * acpi_gbl_FADT is a local copy of the FADT, converted to a common format.
148 * of each in the system. Each global points to the actual table.
149 */ 147 */
150ACPI_EXTERN u32 acpi_gbl_table_flags; 148ACPI_EXTERN struct acpi_internal_rsdt acpi_gbl_root_table_list;
151ACPI_EXTERN u32 acpi_gbl_rsdt_table_count; 149ACPI_EXTERN struct acpi_table_fadt acpi_gbl_FADT;
152ACPI_EXTERN struct rsdp_descriptor *acpi_gbl_RSDP;
153ACPI_EXTERN struct xsdt_descriptor *acpi_gbl_XSDT;
154ACPI_EXTERN struct fadt_descriptor *acpi_gbl_FADT;
155ACPI_EXTERN struct acpi_table_header *acpi_gbl_DSDT;
156ACPI_EXTERN struct facs_descriptor *acpi_gbl_FACS;
157ACPI_EXTERN struct acpi_common_facs acpi_gbl_common_fACS;
158/*
159 * Since there may be multiple SSDTs and PSDTs, a single pointer is not
160 * sufficient; Therefore, there isn't one!
161 */
162
163/* The root table can be either an RSDT or an XSDT */
164
165ACPI_EXTERN u8 acpi_gbl_root_table_type;
166#define ACPI_TABLE_TYPE_RSDT 'R'
167#define ACPI_TABLE_TYPE_XSDT 'X'
168 150
169/* 151/*
170 * Handle both ACPI 1.0 and ACPI 2.0 Integer widths: 152 * Handle both ACPI 1.0 and ACPI 2.0 Integer widths. The integer width is
171 * If we are executing a method that exists in a 32-bit ACPI table, 153 * determined by the revision of the DSDT: If the DSDT revision is less than
172 * use only the lower 32 bits of the (internal) 64-bit Integer. 154 * 2, use only the lower 32 bits of the internal 64-bit Integer.
173 */ 155 */
174ACPI_EXTERN u8 acpi_gbl_integer_bit_width; 156ACPI_EXTERN u8 acpi_gbl_integer_bit_width;
175ACPI_EXTERN u8 acpi_gbl_integer_byte_width; 157ACPI_EXTERN u8 acpi_gbl_integer_byte_width;
176ACPI_EXTERN u8 acpi_gbl_integer_nybble_width; 158ACPI_EXTERN u8 acpi_gbl_integer_nybble_width;
177 159
178/*
179 * ACPI Table info arrays
180 */
181extern struct acpi_table_list acpi_gbl_table_lists[ACPI_TABLE_ID_MAX + 1];
182extern struct acpi_table_support acpi_gbl_table_data[ACPI_TABLE_ID_MAX + 1];
183
184/***************************************************************************** 160/*****************************************************************************
185 * 161 *
186 * Mutual exlusion within ACPICA subsystem 162 * Mutual exlusion within ACPICA subsystem
@@ -188,7 +164,7 @@ extern struct acpi_table_support acpi_gbl_table_data[ACPI_TABLE_ID_MAX + 1];
188 ****************************************************************************/ 164 ****************************************************************************/
189 165
190/* 166/*
191 * Predefined mutex objects. This array contains the 167 * Predefined mutex objects. This array contains the
192 * actual OS mutex handles, indexed by the local ACPI_MUTEX_HANDLEs. 168 * actual OS mutex handles, indexed by the local ACPI_MUTEX_HANDLEs.
193 * (The table maps local handles to the real OS handles) 169 * (The table maps local handles to the real OS handles)
194 */ 170 */