aboutsummaryrefslogtreecommitdiffstats
path: root/include/acpi
diff options
context:
space:
mode:
authorBob Moore <robert.moore@intel.com>2005-12-02 18:27:00 -0500
committerLen Brown <len.brown@intel.com>2005-12-10 00:29:11 -0500
commit28f55ebce5bd2fceec8adc7c8860953d3e4532a8 (patch)
tree2c5c10c18e51f9a717514dfccdc287fc517730c6 /include/acpi
parentc51a4de85de720670f2fbc592a6f8040af72ad87 (diff)
[ACPI] ACPICA 20051202
Modified the parsing of control methods to no longer create namespace objects during the first pass of the parse. Objects are now created only during the execute phase, at the moment the namespace creation operator is encountered in the AML (Name, OperationRegion, CreateByteField, etc.) This should eliminate ALREADY_EXISTS exceptions seen on some machines where reentrant control methods are protected by an AML mutex. The mutex will now correctly block multiple threads from attempting to create the same object more than once. Increased the number of available Owner Ids for namespace object tracking from 32 to 255. This should eliminate the OWNER_ID_LIMIT exceptions seen on some machines with a large number of ACPI tables (either static or dynamic). Enhanced the namespace dump routine to output the owner ID for each namespace object. Signed-off-by: Bob Moore <robert.moore@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'include/acpi')
-rw-r--r--include/acpi/acconfig.h6
-rw-r--r--include/acpi/acglobal.h5
-rw-r--r--include/acpi/acmacros.h4
3 files changed, 12 insertions, 3 deletions
diff --git a/include/acpi/acconfig.h b/include/acpi/acconfig.h
index 08eafece3eed..f48b9ee9a876 100644
--- a/include/acpi/acconfig.h
+++ b/include/acpi/acconfig.h
@@ -63,7 +63,7 @@
63 63
64/* Current ACPICA subsystem version in YYYYMMDD format */ 64/* Current ACPICA subsystem version in YYYYMMDD format */
65 65
66#define ACPI_CA_VERSION 0x20051117 66#define ACPI_CA_VERSION 0x20051202
67 67
68/* 68/*
69 * OS name, used for the _OS object. The _OS object is essentially obsolete, 69 * OS name, used for the _OS object. The _OS object is essentially obsolete,
@@ -110,6 +110,10 @@
110 110
111#define ACPI_SYSMEM_REGION_WINDOW_SIZE 4096 111#define ACPI_SYSMEM_REGION_WINDOW_SIZE 4096
112 112
113/* owner_id tracking. 8 entries allows for 255 owner_ids */
114
115#define ACPI_NUM_OWNERID_MASKS 8
116
113/****************************************************************************** 117/******************************************************************************
114 * 118 *
115 * ACPI Specification constants (Do not change unless the specification changes) 119 * ACPI Specification constants (Do not change unless the specification changes)
diff --git a/include/acpi/acglobal.h b/include/acpi/acglobal.h
index bd344e51313b..3f37560c26ab 100644
--- a/include/acpi/acglobal.h
+++ b/include/acpi/acglobal.h
@@ -220,10 +220,11 @@ ACPI_EXTERN u32 acpi_gbl_original_mode;
220ACPI_EXTERN u32 acpi_gbl_rsdp_original_location; 220ACPI_EXTERN u32 acpi_gbl_rsdp_original_location;
221ACPI_EXTERN u32 acpi_gbl_ns_lookup_count; 221ACPI_EXTERN u32 acpi_gbl_ns_lookup_count;
222ACPI_EXTERN u32 acpi_gbl_ps_find_count; 222ACPI_EXTERN u32 acpi_gbl_ps_find_count;
223ACPI_EXTERN u32 acpi_gbl_owner_id_mask; 223ACPI_EXTERN u32 acpi_gbl_owner_id_mask[ACPI_NUM_OWNERID_MASKS];
224ACPI_EXTERN u16 acpi_gbl_pm1_enable_register_save; 224ACPI_EXTERN u16 acpi_gbl_pm1_enable_register_save;
225ACPI_EXTERN u16 acpi_gbl_global_lock_handle; 225ACPI_EXTERN u16 acpi_gbl_global_lock_handle;
226ACPI_EXTERN u8 acpi_gbl_last_owner_id; 226ACPI_EXTERN u8 acpi_gbl_last_owner_id_index;
227ACPI_EXTERN u8 acpi_gbl_next_owner_id_offset;
227ACPI_EXTERN u8 acpi_gbl_debugger_configuration; 228ACPI_EXTERN u8 acpi_gbl_debugger_configuration;
228ACPI_EXTERN u8 acpi_gbl_global_lock_acquired; 229ACPI_EXTERN u8 acpi_gbl_global_lock_acquired;
229ACPI_EXTERN u8 acpi_gbl_step_to_next_call; 230ACPI_EXTERN u8 acpi_gbl_step_to_next_call;
diff --git a/include/acpi/acmacros.h b/include/acpi/acmacros.h
index 5b78ff4091b9..65a1a5c1a689 100644
--- a/include/acpi/acmacros.h
+++ b/include/acpi/acmacros.h
@@ -332,6 +332,10 @@
332#define ACPI_MUL_16(a) _ACPI_MUL(a,4) 332#define ACPI_MUL_16(a) _ACPI_MUL(a,4)
333#define ACPI_MOD_16(a) _ACPI_MOD(a,16) 333#define ACPI_MOD_16(a) _ACPI_MOD(a,16)
334 334
335#define ACPI_DIV_32(a) _ACPI_DIV(a,5)
336#define ACPI_MUL_32(a) _ACPI_MUL(a,5)
337#define ACPI_MOD_32(a) _ACPI_MOD(a,32)
338
335/* 339/*
336 * Rounding macros (Power of two boundaries only) 340 * Rounding macros (Power of two boundaries only)
337 */ 341 */