[ACPI] ACPICA 20060317
Implemented the use of a cache object for all internal namespace nodes. Since there are about 1000 static nodes in a typical system, this will decrease memory use for cache implementations that minimize per-allocation overhead (such as a slab allocator.) Removed the reference count mechanism for internal namespace nodes, since it was deemed unnecessary. This reduces the size of each namespace node by about 5%-10% on all platforms. Nodes are now 20 bytes for the 32-bit case, and 32 bytes for the 64-bit case. Optimized several internal data structures to reduce object size on 64-bit platforms by packing data within the 64-bit alignment. This includes the frequently used ACPI_OPERAND_OBJECT, of which there can be ~1000 static instances corresponding to the namespace objects. Added two new strings for the predefined _OSI method: "Windows 2001.1 SP1" and "Windows 2006". Split the allocation tracking mechanism out to a separate file, from utalloc.c to uttrack.c. This mechanism appears to be only useful for application-level code. Kernels may wish to not include uttrack.c in distributions. Removed all remnants of the obsolete ACPI_REPORT_* macros and the associated code. (These macros have been replaced by the ACPI_ERROR and ACPI_WARNING macros.) Signed-off-by: Bob Moore <robert.moore@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
@@ -191,12 +191,14 @@ const char *acpi_gbl_valid_osi_strings[ACPI_NUM_OSI_STRINGS] = {
|
||||
"Linux",
|
||||
"Windows 2000",
|
||||
"Windows 2001",
|
||||
"Windows 2001.1",
|
||||
"Windows 2001 SP0",
|
||||
"Windows 2001 SP1",
|
||||
"Windows 2001 SP2",
|
||||
"Windows 2001 SP3",
|
||||
"Windows 2001 SP4",
|
||||
"Windows 2001.1",
|
||||
"Windows 2001.1 SP1", /* Added 03/2006 */
|
||||
"Windows 2006", /* Added 03/2006 */
|
||||
|
||||
/* Feature Group Strings */
|
||||
|
||||
@@ -633,7 +635,7 @@ char *acpi_ut_get_node_name(void *object)
|
||||
|
||||
/* Descriptor must be a namespace node */
|
||||
|
||||
if (node->descriptor != ACPI_DESC_TYPE_NAMED) {
|
||||
if (ACPI_GET_DESCRIPTOR_TYPE(node) != ACPI_DESC_TYPE_NAMED) {
|
||||
return ("####");
|
||||
}
|
||||
|
||||
@@ -855,7 +857,7 @@ void acpi_ut_init_globals(void)
|
||||
|
||||
acpi_gbl_root_node = NULL;
|
||||
acpi_gbl_root_node_struct.name.integer = ACPI_ROOT_NAME;
|
||||
acpi_gbl_root_node_struct.descriptor = ACPI_DESC_TYPE_NAMED;
|
||||
acpi_gbl_root_node_struct.descriptor_type = ACPI_DESC_TYPE_NAMED;
|
||||
acpi_gbl_root_node_struct.type = ACPI_TYPE_DEVICE;
|
||||
acpi_gbl_root_node_struct.child = NULL;
|
||||
acpi_gbl_root_node_struct.peer = NULL;
|
||||
|
Reference in New Issue
Block a user