aboutsummaryrefslogtreecommitdiffstats
path: root/include/acpi/aclocal.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/aclocal.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/aclocal.h')
-rw-r--r--include/acpi/aclocal.h39
1 files changed, 25 insertions, 14 deletions
diff --git a/include/acpi/aclocal.h b/include/acpi/aclocal.h
index d5421403089..0f12fecba63 100644
--- a/include/acpi/aclocal.h
+++ b/include/acpi/aclocal.h
@@ -51,6 +51,7 @@
51#define ACPI_SERIALIZED 0xFF 51#define ACPI_SERIALIZED 0xFF
52 52
53typedef u32 acpi_mutex_handle; 53typedef u32 acpi_mutex_handle;
54#define ACPI_GLOBAL_LOCK (acpi_semaphore) (-1)
54 55
55/* Total number of aml opcodes defined */ 56/* Total number of aml opcodes defined */
56 57
@@ -79,8 +80,8 @@ union acpi_parse_object;
79 * table below also! 80 * table below also!
80 */ 81 */
81#define ACPI_MTX_INTERPRETER 0 /* AML Interpreter, main lock */ 82#define ACPI_MTX_INTERPRETER 0 /* AML Interpreter, main lock */
82#define ACPI_MTX_TABLES 1 /* Data for ACPI tables */ 83#define ACPI_MTX_NAMESPACE 1 /* ACPI Namespace */
83#define ACPI_MTX_NAMESPACE 2 /* ACPI Namespace */ 84#define ACPI_MTX_TABLES 2 /* Data for ACPI tables */
84#define ACPI_MTX_EVENTS 3 /* Data for ACPI events */ 85#define ACPI_MTX_EVENTS 3 /* Data for ACPI events */
85#define ACPI_MTX_CACHES 4 /* Internal caches, general purposes */ 86#define ACPI_MTX_CACHES 4 /* Internal caches, general purposes */
86#define ACPI_MTX_MEMORY 5 /* Debug memory tracking lists */ 87#define ACPI_MTX_MEMORY 5 /* Debug memory tracking lists */
@@ -218,25 +219,35 @@ struct acpi_namespace_node {
218 * ACPI Table Descriptor. One per ACPI table 219 * ACPI Table Descriptor. One per ACPI table
219 */ 220 */
220struct acpi_table_desc { 221struct acpi_table_desc {
221 struct acpi_table_desc *prev; 222 acpi_physical_address address;
222 struct acpi_table_desc *next;
223 struct acpi_table_desc *installed_desc;
224 struct acpi_table_header *pointer; 223 struct acpi_table_header *pointer;
225 u8 *aml_start; 224 u32 length; /* Length fixed at 32 bits */
226 u64 physical_address; 225 union acpi_name_union signature;
227 acpi_size length;
228 u32 aml_length;
229 acpi_owner_id owner_id; 226 acpi_owner_id owner_id;
230 u8 type; 227 u8 flags;
231 u8 allocation;
232 u8 loaded_into_namespace;
233}; 228};
234 229
235struct acpi_table_list { 230struct acpi_internal_rsdt {
236 struct acpi_table_desc *next; 231 struct acpi_table_desc *tables;
237 u32 count; 232 u32 count;
233 u32 size;
234 u8 flags;
238}; 235};
239 236
237/* Flags for both structs above */
238
239#define ACPI_TABLE_ORIGIN_UNKNOWN (0)
240#define ACPI_TABLE_ORIGIN_MAPPED (1)
241#define ACPI_TABLE_ORIGIN_ALLOCATED (2)
242#define ACPI_TABLE_ORIGIN_MASK (3)
243#define ACPI_TABLE_FLAGS_LOADED (4)
244#define ACPI_TABLE_FLAGS_ALLOW_RESIZE (8)
245
246/* Predefined (fixed) table indexes */
247
248#define ACPI_TABLE_INDEX_DSDT (0)
249#define ACPI_TABLE_INDEX_FACS (1)
250
240struct acpi_find_context { 251struct acpi_find_context {
241 char *search_for; 252 char *search_for;
242 acpi_handle *list; 253 acpi_handle *list;