diff options
author | Bob Moore <robert.moore@intel.com> | 2007-02-02 11:48:18 -0500 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2007-02-02 21:14:21 -0500 |
commit | f3d2e7865c816258c699ff965768e46b50d536d3 (patch) | |
tree | 83d21269e506109275b77d3ed161883bba8a39cf /include/acpi/acglobal.h | |
parent | 2e42005bcdb4f63bed1cea7f537a5534d4bd7a57 (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.h | 42 |
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 | */ |
150 | ACPI_EXTERN u32 acpi_gbl_table_flags; | 148 | ACPI_EXTERN struct acpi_internal_rsdt acpi_gbl_root_table_list; |
151 | ACPI_EXTERN u32 acpi_gbl_rsdt_table_count; | 149 | ACPI_EXTERN struct acpi_table_fadt acpi_gbl_FADT; |
152 | ACPI_EXTERN struct rsdp_descriptor *acpi_gbl_RSDP; | ||
153 | ACPI_EXTERN struct xsdt_descriptor *acpi_gbl_XSDT; | ||
154 | ACPI_EXTERN struct fadt_descriptor *acpi_gbl_FADT; | ||
155 | ACPI_EXTERN struct acpi_table_header *acpi_gbl_DSDT; | ||
156 | ACPI_EXTERN struct facs_descriptor *acpi_gbl_FACS; | ||
157 | ACPI_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 | |||
165 | ACPI_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 | */ |
174 | ACPI_EXTERN u8 acpi_gbl_integer_bit_width; | 156 | ACPI_EXTERN u8 acpi_gbl_integer_bit_width; |
175 | ACPI_EXTERN u8 acpi_gbl_integer_byte_width; | 157 | ACPI_EXTERN u8 acpi_gbl_integer_byte_width; |
176 | ACPI_EXTERN u8 acpi_gbl_integer_nybble_width; | 158 | ACPI_EXTERN u8 acpi_gbl_integer_nybble_width; |
177 | 159 | ||
178 | /* | ||
179 | * ACPI Table info arrays | ||
180 | */ | ||
181 | extern struct acpi_table_list acpi_gbl_table_lists[ACPI_TABLE_ID_MAX + 1]; | ||
182 | extern 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 | */ |