diff options
author | Bob Moore <robert.moore@intel.com> | 2006-03-17 16:44:00 -0500 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2006-06-14 01:22:20 -0400 |
commit | 61686124f47d7c4b78610346c5f8f9d8a6d46bb5 (patch) | |
tree | 6fd91b2c1749907e58ef136107e53d634d7978c4 /include/acpi/amlresrc.h | |
parent | 144c87b4e03759214c362d267e01c2905f1ab095 (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.h | 31 |
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 | ||
114 | struct aml_resource_small_header { | 123 | struct aml_resource_small_header { |
115 | AML_RESOURCE_SMALL_HEADER_COMMON}; | 124 | AML_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 | ||
168 | struct aml_resource_large_header { | 177 | struct aml_resource_large_header { |
169 | AML_RESOURCE_LARGE_HEADER_COMMON}; | 178 | AML_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 | ||
201 | struct aml_resource_address { | 210 | struct aml_resource_address { |
202 | AML_RESOURCE_LARGE_HEADER_COMMON AML_RESOURCE_ADDRESS_COMMON}; | 211 | AML_RESOURCE_LARGE_HEADER_COMMON AML_RESOURCE_ADDRESS_COMMON}; |