aboutsummaryrefslogtreecommitdiffstats
path: root/include/acpi/amlresrc.h
diff options
context:
space:
mode:
authorBob Moore <robert.moore@intel.com>2006-03-17 16:44:00 -0500
committerLen Brown <len.brown@intel.com>2006-06-14 01:22:20 -0400
commit61686124f47d7c4b78610346c5f8f9d8a6d46bb5 (patch)
tree6fd91b2c1749907e58ef136107e53d634d7978c4 /include/acpi/amlresrc.h
parent144c87b4e03759214c362d267e01c2905f1ab095 (diff)
[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>
Diffstat (limited to 'include/acpi/amlresrc.h')
-rw-r--r--include/acpi/amlresrc.h31
1 files changed, 20 insertions, 11 deletions
diff --git a/include/acpi/amlresrc.h b/include/acpi/amlresrc.h
index e5b42eb38190..64736860bdd5 100644
--- a/include/acpi/amlresrc.h
+++ b/include/acpi/amlresrc.h
@@ -42,9 +42,17 @@
42 * POSSIBILITY OF SUCH DAMAGES. 42 * POSSIBILITY OF SUCH DAMAGES.
43 */ 43 */
44 44
45/* acpisrc:struct_defs -- for acpisrc conversion */
46
45#ifndef __AMLRESRC_H 47#ifndef __AMLRESRC_H
46#define __AMLRESRC_H 48#define __AMLRESRC_H
47 49
50/*! [Begin] no source code translation */
51
52/*
53 * Resource descriptor tags, as defined in the ACPI specification.
54 * Used to symbolically reference fields within a descriptor.
55 */
48#define ACPI_RESTAG_ADDRESS "_ADR" 56#define ACPI_RESTAG_ADDRESS "_ADR"
49#define ACPI_RESTAG_ALIGNMENT "_ALN" 57#define ACPI_RESTAG_ALIGNMENT "_ALN"
50#define ACPI_RESTAG_ADDRESSSPACE "_ASI" 58#define ACPI_RESTAG_ADDRESSSPACE "_ASI"
@@ -57,12 +65,12 @@
57#define ACPI_RESTAG_DMATYPE "_TYP" /* Compatible(0), A(1), B(2), F(3) */ 65#define ACPI_RESTAG_DMATYPE "_TYP" /* Compatible(0), A(1), B(2), F(3) */
58#define ACPI_RESTAG_GRANULARITY "_GRA" 66#define ACPI_RESTAG_GRANULARITY "_GRA"
59#define ACPI_RESTAG_INTERRUPT "_INT" 67#define ACPI_RESTAG_INTERRUPT "_INT"
60#define ACPI_RESTAG_INTERRUPTLEVEL "_LL_" /* active_lo(1), active_hi(0) */ 68#define ACPI_RESTAG_INTERRUPTLEVEL "_LL_" /* ActiveLo(1), ActiveHi(0) */
61#define ACPI_RESTAG_INTERRUPTSHARE "_SHR" /* Shareable(1), no_share(0) */ 69#define ACPI_RESTAG_INTERRUPTSHARE "_SHR" /* Shareable(1), NoShare(0) */
62#define ACPI_RESTAG_INTERRUPTTYPE "_HE_" /* Edge(1), Level(0) */ 70#define ACPI_RESTAG_INTERRUPTTYPE "_HE_" /* Edge(1), Level(0) */
63#define ACPI_RESTAG_LENGTH "_LEN" 71#define ACPI_RESTAG_LENGTH "_LEN"
64#define ACPI_RESTAG_MEMATTRIBUTES "_MTP" /* Memory(0), Reserved(1), ACPI(2), NVS(3) */ 72#define ACPI_RESTAG_MEMATTRIBUTES "_MTP" /* Memory(0), Reserved(1), ACPI(2), NVS(3) */
65#define ACPI_RESTAG_MEMTYPE "_MEM" /* non_cache(0), Cacheable(1) Cache+combine(2), Cache+prefetch(3) */ 73#define ACPI_RESTAG_MEMTYPE "_MEM" /* NonCache(0), Cacheable(1) Cache+combine(2), Cache+prefetch(3) */
66#define ACPI_RESTAG_MAXADDR "_MAX" 74#define ACPI_RESTAG_MAXADDR "_MAX"
67#define ACPI_RESTAG_MINADDR "_MIN" 75#define ACPI_RESTAG_MINADDR "_MIN"
68#define ACPI_RESTAG_MAXTYPE "_MAF" 76#define ACPI_RESTAG_MAXTYPE "_MAF"
@@ -70,11 +78,12 @@
70#define ACPI_RESTAG_REGISTERBITOFFSET "_RBO" 78#define ACPI_RESTAG_REGISTERBITOFFSET "_RBO"
71#define ACPI_RESTAG_REGISTERBITWIDTH "_RBW" 79#define ACPI_RESTAG_REGISTERBITWIDTH "_RBW"
72#define ACPI_RESTAG_RANGETYPE "_RNG" 80#define ACPI_RESTAG_RANGETYPE "_RNG"
73#define ACPI_RESTAG_READWRITETYPE "_RW_" /* read_only(0), Writeable (1) */ 81#define ACPI_RESTAG_READWRITETYPE "_RW_" /* ReadOnly(0), Writeable (1) */
74#define ACPI_RESTAG_TRANSLATION "_TRA" 82#define ACPI_RESTAG_TRANSLATION "_TRA"
75#define ACPI_RESTAG_TRANSTYPE "_TRS" /* Sparse(1), Dense(0) */ 83#define ACPI_RESTAG_TRANSTYPE "_TRS" /* Sparse(1), Dense(0) */
76#define ACPI_RESTAG_TYPE "_TTP" /* Translation(1), Static (0) */ 84#define ACPI_RESTAG_TYPE "_TTP" /* Translation(1), Static (0) */
77#define ACPI_RESTAG_XFERTYPE "_SIz" /* 8(0), 8_and16(1), 16(2) */ 85#define ACPI_RESTAG_XFERTYPE "_SIZ" /* 8(0), 8And16(1), 16(2) */
86/*! [End] no source code translation !*/
78 87
79/* Default sizes for "small" resource descriptors */ 88/* Default sizes for "small" resource descriptors */
80 89
@@ -109,7 +118,7 @@ struct asl_resource_node {
109 * SMALL descriptors 118 * SMALL descriptors
110 */ 119 */
111#define AML_RESOURCE_SMALL_HEADER_COMMON \ 120#define AML_RESOURCE_SMALL_HEADER_COMMON \
112 u8 descriptor_type; 121 u8 descriptor_type;
113 122
114struct aml_resource_small_header { 123struct aml_resource_small_header {
115AML_RESOURCE_SMALL_HEADER_COMMON}; 124AML_RESOURCE_SMALL_HEADER_COMMON};
@@ -162,8 +171,8 @@ struct aml_resource_end_tag {
162 * LARGE descriptors 171 * LARGE descriptors
163 */ 172 */
164#define AML_RESOURCE_LARGE_HEADER_COMMON \ 173#define AML_RESOURCE_LARGE_HEADER_COMMON \
165 u8 descriptor_type;\ 174 u8 descriptor_type;\
166 u16 resource_length; 175 u16 resource_length;
167 176
168struct aml_resource_large_header { 177struct aml_resource_large_header {
169AML_RESOURCE_LARGE_HEADER_COMMON}; 178AML_RESOURCE_LARGE_HEADER_COMMON};
@@ -194,9 +203,9 @@ struct aml_resource_fixed_memory32 {
194}; 203};
195 204
196#define AML_RESOURCE_ADDRESS_COMMON \ 205#define AML_RESOURCE_ADDRESS_COMMON \
197 u8 resource_type; \ 206 u8 resource_type; \
198 u8 flags; \ 207 u8 flags; \
199 u8 specific_flags; 208 u8 specific_flags;
200 209
201struct aml_resource_address { 210struct aml_resource_address {
202AML_RESOURCE_LARGE_HEADER_COMMON AML_RESOURCE_ADDRESS_COMMON}; 211AML_RESOURCE_LARGE_HEADER_COMMON AML_RESOURCE_ADDRESS_COMMON};