changes.txt revision 1.1.1.3 1 1.1 jruoho ----------------------------------------
2 1.1.1.3 jruoho 23 June 2011. Summary of changes for version 20110623:
3 1.1.1.3 jruoho
4 1.1.1.3 jruoho 1) ACPI CA Core Subsystem:
5 1.1.1.3 jruoho
6 1.1.1.3 jruoho Updated the predefined name repair mechanism to not attempt repair of a _TSS
7 1.1.1.3 jruoho return object if a _PSS object is present. We can only sort the _TSS return
8 1.1.1.3 jruoho package if there is no _PSS within the same scope. This is because if _PSS is
9 1.1.1.3 jruoho present, the ACPI specification dictates that the _TSS Power Dissipation field
10 1.1.1.3 jruoho is to be ignored, and therefore some BIOSs leave garbage values in the _TSS
11 1.1.1.3 jruoho Power field(s). In this case, it is best to just return the _TSS package as-
12 1.1.1.3 jruoho is. Reported by, and fixed with assistance from Fenghua Yu.
13 1.1.1.3 jruoho
14 1.1.1.3 jruoho Added an option to globally disable the control method return value validation
15 1.1.1.3 jruoho and repair. This runtime option can be used to disable return value repair if
16 1.1.1.3 jruoho this is causing a problem on a particular machine. Also added an option to
17 1.1.1.3 jruoho AcpiExec (-dr) to set this disable flag.
18 1.1.1.3 jruoho
19 1.1.1.3 jruoho All makefiles and project files: Major changes to improve generation of ACPICA
20 1.1.1.3 jruoho tools. ACPICA BZ 912:
21 1.1.1.3 jruoho Reduce default optimization levels to improve compatibility
22 1.1.1.3 jruoho For Linux, add strict-aliasing=0 for gcc 4
23 1.1.1.3 jruoho Cleanup and simplify use of command line defines
24 1.1.1.3 jruoho Cleanup multithread library support
25 1.1.1.3 jruoho Improve usage messages
26 1.1.1.3 jruoho
27 1.1.1.3 jruoho Linux-specific header: update handling of THREAD_ID and pthread. For the 32-
28 1.1.1.3 jruoho bit case, improve casting to eliminate possible warnings, especially with the
29 1.1.1.3 jruoho acpica tools.
30 1.1.1.3 jruoho
31 1.1.1.3 jruoho Example Code and Data Size: These are the sizes for the OS-independent
32 1.1.1.3 jruoho acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The debug
33 1.1.1.3 jruoho version of the code includes the debug output trace mechanism and has a much
34 1.1.1.3 jruoho larger code and data size.
35 1.1 jruoho
36 1.1.1.3 jruoho Previous Release (VC 9.0):
37 1.1.1.3 jruoho Non-Debug Version: 90.1K Code, 23.9K Data, 114.0K Total
38 1.1.1.3 jruoho Debug Version: 165.6K Code, 68.4K Data, 234.0K Total
39 1.1.1.3 jruoho Current Release (VC 9.0):
40 1.1.1.3 jruoho Non-Debug Version: 90.2K Code, 23.9K Data, 114.1K Total
41 1.1.1.3 jruoho Debug Version: 165.6K Code, 68.4K Data, 234.0K Total
42 1.1.1.3 jruoho
43 1.1.1.3 jruoho 2) iASL Compiler/Disassembler and Tools:
44 1.1.1.3 jruoho
45 1.1.1.3 jruoho With this release, a new utility named "acpihelp" has been added to the ACPICA
46 1.1.1.3 jruoho package. This utility summarizes the ACPI specification chapters for the ASL
47 1.1.1.3 jruoho and AML languages. It generates under Linux/Unix as well as Windows, and
48 1.1.1.3 jruoho provides the following functionality:
49 1.1.1.3 jruoho Find/display ASL operator(s) -- with description and syntax.
50 1.1.1.3 jruoho Find/display ASL keyword(s) -- with exact spelling and descriptions.
51 1.1.1.3 jruoho Find/display ACPI predefined name(s) -- with description, number
52 1.1.1.3 jruoho of arguments, and the return value data type.
53 1.1.1.3 jruoho Find/display AML opcode name(s) -- with opcode, arguments, and grammar.
54 1.1.1.3 jruoho Decode/display AML opcode -- with opcode name, arguments, and grammar.
55 1.1.1.3 jruoho
56 1.1.1.3 jruoho Service Layers: Make multi-thread support configurable. Conditionally compile
57 1.1.1.3 jruoho the multi-thread support so that threading libraries will not be linked if not
58 1.1.1.3 jruoho necessary. The only tool that requires multi-thread support is AcpiExec.
59 1.1.1.3 jruoho
60 1.1.1.3 jruoho iASL: Update yyerrror/AslCompilerError for "const" errors. Newer versions of
61 1.1.1.3 jruoho Bison appear to want the interface to yyerror to be a const char * (or at
62 1.1.1.3 jruoho least this is a problem when generating iASL on some systems.) ACPICA BZ 923
63 1.1.1.3 jruoho Pierre Lejeune.
64 1.1.1.3 jruoho
65 1.1.1.3 jruoho Tools: Fix for systems where O_BINARY is not defined. Only used for Windows
66 1.1.1.3 jruoho versions of the tools.
67 1.1.1.3 jruoho
68 1.1.1.3 jruoho ----------------------------------------
69 1.1.1.3 jruoho 27 May 2011. Summary of changes for version 20110527:
70 1.1.1.3 jruoho
71 1.1.1.3 jruoho 1) ACPI CA Core Subsystem:
72 1.1.1.3 jruoho
73 1.1.1.3 jruoho ASL Load() operator: Reinstate most restrictions on the incoming ACPI table
74 1.1.1.3 jruoho signature. Now, only allow SSDT, OEMx, and a null signature. History:
75 1.1.1.3 jruoho 1) Originally, we checked the table signature for "SSDT" or "PSDT".
76 1.1.1.3 jruoho (PSDT is now obsolete.)
77 1.1.1.3 jruoho 2) We added support for OEMx tables, signature "OEM" plus a fourth
78 1.1.1.3 jruoho "don't care" character.
79 1.1.1.3 jruoho 3) Valid tables were encountered with a null signature, so we just
80 1.1.1.3 jruoho gave up on validating the signature, (05/2008).
81 1.1.1.3 jruoho 4) We encountered non-AML tables such as the MADT, which caused
82 1.1.1.3 jruoho interpreter errors and kernel faults. So now, we once again allow
83 1.1.1.3 jruoho only SSDT, OEMx, and now, also a null signature. (05/2011).
84 1.1.1.3 jruoho
85 1.1.1.3 jruoho Added the missing _TDL predefined name to the global name list in order to
86 1.1.1.3 jruoho enable validation. Affects both the core ACPICA code and the iASL compiler.
87 1.1.1.3 jruoho
88 1.1.1.3 jruoho Example Code and Data Size: These are the sizes for the OS-independent
89 1.1.1.3 jruoho acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The debug
90 1.1.1.3 jruoho version of the code includes the debug output trace mechanism and has a much
91 1.1.1.3 jruoho larger code and data size.
92 1.1.1.3 jruoho
93 1.1.1.3 jruoho Previous Release (VC 9.0):
94 1.1.1.3 jruoho Non-Debug Version: 90.0K Code, 23.8K Data, 113.8K Total
95 1.1.1.3 jruoho Debug Version: 164.5K Code, 68.0K Data, 232.5K Total
96 1.1.1.3 jruoho Current Release (VC 9.0):
97 1.1.1.3 jruoho Non-Debug Version: 90.1K Code, 23.9K Data, 114.0K Total
98 1.1.1.3 jruoho Debug Version: 165.6K Code, 68.4K Data, 234.0K Total
99 1.1.1.3 jruoho
100 1.1.1.3 jruoho 2) iASL Compiler/Disassembler and Tools:
101 1.1.1.3 jruoho
102 1.1.1.3 jruoho Debugger/AcpiExec: Implemented support for "complex" method arguments on the
103 1.1.1.3 jruoho debugger command line. This adds support beyond simple integers -- including
104 1.1.1.3 jruoho Strings, Buffers, and Packages. Includes support for nested packages.
105 1.1.1.3 jruoho Increased the default command line buffer size to accommodate these arguments.
106 1.1.1.3 jruoho See the ACPICA reference for details and syntax. ACPICA BZ 917.
107 1.1.1.3 jruoho
108 1.1.1.3 jruoho Debugger/AcpiExec: Implemented support for "default" method arguments for the
109 1.1.1.3 jruoho Execute/Debug command. Now, the debugger will always invoke a control method
110 1.1.1.3 jruoho with the required number of arguments -- even if the command line specifies
111 1.1.1.3 jruoho none or insufficient arguments. It uses default integer values for any missing
112 1.1.1.3 jruoho arguments. Also fixes a bug where only six method arguments maximum were
113 1.1.1.3 jruoho supported instead of the required seven.
114 1.1.1.3 jruoho
115 1.1.1.3 jruoho Debugger/AcpiExec: Add a maximum buffer length parameter to AcpiOsGetLine and
116 1.1.1.3 jruoho also return status in order to prevent buffer overruns. See the ACPICA
117 1.1.1.3 jruoho reference for details and syntax. ACPICA BZ 921
118 1.1.1.3 jruoho
119 1.1.1.3 jruoho iASL: Cleaned up support for Berkeley yacc. A general cleanup of code and
120 1.1.1.3 jruoho makefiles to simplify support for the two different but similar parser
121 1.1.1.3 jruoho generators, bison and yacc.
122 1.1.1.3 jruoho
123 1.1.1.3 jruoho Updated the generic unix makefile for gcc 4. The default gcc version is now
124 1.1.1.3 jruoho expected to be 4 or greater, since options specific to gcc 4 are used.
125 1.1.1.3 jruoho
126 1.1.1.3 jruoho ----------------------------------------
127 1.1.1.3 jruoho 13 April 2011. Summary of changes for version 20110413:
128 1.1.1.3 jruoho
129 1.1.1.3 jruoho 1) ACPI CA Core Subsystem:
130 1.1.1.3 jruoho
131 1.1.1.3 jruoho Implemented support to execute a so-called "orphan" _REG method under the EC
132 1.1.1.3 jruoho device. This change will force the execution of a _REG method underneath the
133 1.1.1.3 jruoho EC
134 1.1.1.3 jruoho device even if there is no corresponding operation region of type
135 1.1.1.3 jruoho EmbeddedControl. Fixes a problem seen on some machines and apparently is
136 1.1.1.3 jruoho compatible with Windows behavior. ACPICA BZ 875.
137 1.1.1.3 jruoho
138 1.1.1.3 jruoho Added more predefined methods that are eligible for automatic NULL package
139 1.1.1.3 jruoho element removal. This change adds another group of predefined names to the
140 1.1.1.3 jruoho list
141 1.1.1.3 jruoho of names that can be repaired by having NULL package elements dynamically
142 1.1.1.3 jruoho removed. This group are those methods that return a single variable-length
143 1.1.1.3 jruoho package containing simple data types such as integers, buffers, strings. This
144 1.1.1.3 jruoho includes: _ALx, _BCL, _CID,_ DOD, _EDL, _FIX, _PCL, _PLD, _PMD, _PRx, _PSL,
145 1.1.1.3 jruoho _Sx,
146 1.1.1.3 jruoho and _TZD. ACPICA BZ 914.
147 1.1.1.3 jruoho
148 1.1.1.3 jruoho Split and segregated all internal global lock functions to a new file,
149 1.1.1.3 jruoho evglock.c.
150 1.1.1.3 jruoho
151 1.1.1.3 jruoho Updated internal address SpaceID for DataTable regions. Moved this internal
152 1.1.1.3 jruoho space
153 1.1.1.3 jruoho id in preparation for ACPI 5.0 changes that will include some new space IDs.
154 1.1.1.3 jruoho This
155 1.1.1.3 jruoho change should not affect user/host code.
156 1.1.1.3 jruoho
157 1.1.1.3 jruoho Example Code and Data Size: These are the sizes for the OS-independent
158 1.1.1.3 jruoho acpica.lib
159 1.1.1.3 jruoho produced by the Microsoft Visual C++ 9.0 32-bit compiler. The debug version of
160 1.1.1.3 jruoho the code includes the debug output trace mechanism and has a much larger code
161 1.1.1.3 jruoho and
162 1.1.1.3 jruoho data size.
163 1.1.1.3 jruoho
164 1.1.1.3 jruoho Previous Release (VC 9.0):
165 1.1.1.3 jruoho Non-Debug Version: 89.8K Code, 23.8K Data, 113.6K Total
166 1.1.1.3 jruoho Debug Version: 164.2K Code, 67.9K Data, 232.1K Total
167 1.1.1.3 jruoho Current Release (VC 9.0):
168 1.1.1.3 jruoho Non-Debug Version: 90.0K Code, 23.8K Data, 113.8K Total
169 1.1.1.3 jruoho Debug Version: 164.5K Code, 68.0K Data, 232.5K Total
170 1.1.1.3 jruoho
171 1.1.1.3 jruoho 2) iASL Compiler/Disassembler and Tools:
172 1.1.1.3 jruoho
173 1.1.1.3 jruoho iASL/DTC: Major update for new grammar features. Allow generic data types in
174 1.1.1.3 jruoho custom ACPI tables. Field names are now optional. Any line can be split to
175 1.1.1.3 jruoho multiple lines using the continuation char (\). Large buffers now use line-
176 1.1.1.3 jruoho continuation character(s) and no colon on the continuation lines. See the
177 1.1.1.3 jruoho grammar
178 1.1.1.3 jruoho update in the iASL compiler reference. ACPI BZ 910,911. Lin Ming, Bob Moore.
179 1.1.1.3 jruoho
180 1.1.1.3 jruoho iASL: Mark ASL "Return()" and the simple "Return" as "Null" return statements.
181 1.1.1.3 jruoho Since the parser stuffs a "zero" as the return value for these statements (due
182 1.1.1.3 jruoho to
183 1.1.1.3 jruoho the underlying AML grammar), they were seen as "return with value" by the iASL
184 1.1.1.3 jruoho semantic checking. They are now seen correctly as "null" return statements.
185 1.1.1.3 jruoho
186 1.1.1.3 jruoho iASL: Check if a_REG declaration has a corresponding Operation Region. Adds a
187 1.1.1.3 jruoho check for each _REG to ensure that there is in fact a corresponding operation
188 1.1.1.3 jruoho region declaration in the same scope. If not, the _REG method is not very
189 1.1.1.3 jruoho useful
190 1.1.1.3 jruoho since it probably won't be executed. ACPICA BZ 915.
191 1.1.1.3 jruoho
192 1.1.1.3 jruoho iASL/DTC: Finish support for expression evaluation. Added a new expression
193 1.1.1.3 jruoho parser
194 1.1.1.3 jruoho that implements c-style operator precedence and parenthesization. ACPICA
195 1.1.1.3 jruoho bugzilla
196 1.1.1.3 jruoho 908.
197 1.1.1.3 jruoho
198 1.1.1.3 jruoho Disassembler/DTC: Remove support for () and <> style comments in data tables.
199 1.1.1.3 jruoho Now
200 1.1.1.3 jruoho that DTC has full expression support, we don't want to have comment strings
201 1.1.1.3 jruoho that
202 1.1.1.3 jruoho start with a parentheses or a less-than symbol. Now, only the standard /* and
203 1.1.1.3 jruoho //
204 1.1.1.3 jruoho comments are supported, as well as the bracket [] comments.
205 1.1.1.3 jruoho
206 1.1.1.3 jruoho AcpiXtract: Fix for RSDP and dynamic SSDT extraction. These tables have
207 1.1.1.3 jruoho "unusual"
208 1.1.1.3 jruoho headers in the acpidump file. Update the header validation to support these
209 1.1.1.3 jruoho tables. Problem introduced in previous AcpiXtract version in the change to
210 1.1.1.3 jruoho support "wrong checksum" error messages emitted by acpidump utility.
211 1.1.1.3 jruoho
212 1.1.1.3 jruoho iASL: Add a * option to generate all template files (as a synonym for ALL) as
213 1.1.1.3 jruoho in
214 1.1.1.3 jruoho "iasl -T *" or "iasl -T ALL".
215 1.1.1.3 jruoho
216 1.1.1.3 jruoho iASL/DTC: Do not abort compiler on fatal errors. We do not want to completely
217 1.1.1.3 jruoho abort the compiler on "fatal" errors, simply should abort the current compile.
218 1.1.1.3 jruoho This allows multiple compiles with a single (possibly wildcard) compiler
219 1.1.1.3 jruoho invocation.
220 1.1.1.3 jruoho
221 1.1.1.3 jruoho ----------------------------------------
222 1.1.1.3 jruoho 16 March 2011. Summary of changes for version 20110316:
223 1.1.1.3 jruoho
224 1.1.1.3 jruoho 1) ACPI CA Core Subsystem:
225 1.1.1.3 jruoho
226 1.1.1.3 jruoho Fixed a problem caused by a _PRW method appearing at the namespace root scope
227 1.1.1.3 jruoho during the setup of wake GPEs. A fault could occur if a _PRW directly under
228 1.1.1.3 jruoho the
229 1.1.1.3 jruoho root object was passed to the AcpiSetupGpeForWake interface. Lin Ming.
230 1.1.1.3 jruoho
231 1.1.1.3 jruoho Implemented support for "spurious" Global Lock interrupts. On some systems, a
232 1.1.1.3 jruoho global lock interrupt can occur without the pending flag being set. Upon a GL
233 1.1.1.3 jruoho interrupt, we now ensure that a thread is actually waiting for the lock before
234 1.1.1.3 jruoho signaling GL availability. Rafael Wysocki, Bob Moore.
235 1.1.1.3 jruoho
236 1.1.1.3 jruoho Example Code and Data Size: These are the sizes for the OS-independent
237 1.1.1.3 jruoho acpica.lib
238 1.1.1.3 jruoho produced by the Microsoft Visual C++ 9.0 32-bit compiler. The debug version of
239 1.1.1.3 jruoho the code includes the debug output trace mechanism and has a much larger code
240 1.1.1.3 jruoho and
241 1.1.1.3 jruoho data size.
242 1.1.1.3 jruoho
243 1.1.1.3 jruoho Previous Release (VC 9.0):
244 1.1.1.3 jruoho Non-Debug Version: 89.7K Code, 23.7K Data, 113.4K Total
245 1.1.1.3 jruoho Debug Version: 163.9K Code, 67.5K Data, 231.4K Total
246 1.1.1.3 jruoho Current Release (VC 9.0):
247 1.1.1.3 jruoho Non-Debug Version: 89.8K Code, 23.8K Data, 113.6K Total
248 1.1.1.3 jruoho Debug Version: 164.2K Code, 67.9K Data, 232.1K Total
249 1.1.1.3 jruoho
250 1.1.1.3 jruoho 2) iASL Compiler/Disassembler and Tools:
251 1.1.1.3 jruoho
252 1.1.1.3 jruoho Implemented full support for the "SLIC" ACPI table. Includes support in the
253 1.1.1.3 jruoho header files, disassembler, table compiler, and template generator. Bob Moore,
254 1.1.1.3 jruoho Lin Ming.
255 1.1.1.3 jruoho
256 1.1.1.3 jruoho AcpiXtract: Correctly handle embedded comments and messages from AcpiDump.
257 1.1.1.3 jruoho Apparently some or all versions of acpidump will occasionally emit a comment
258 1.1.1.3 jruoho like
259 1.1.1.3 jruoho "Wrong checksum", etc., into the dump file. This was causing problems for
260 1.1.1.3 jruoho AcpiXtract. ACPICA BZ 905.
261 1.1.1.3 jruoho
262 1.1.1.3 jruoho iASL: Fix the Linux makefile by removing an inadvertent double file inclusion.
263 1.1.1.3 jruoho ACPICA BZ 913.
264 1.1.1.3 jruoho
265 1.1.1.3 jruoho AcpiExec: Update installation of operation region handlers. Install one
266 1.1.1.3 jruoho handler
267 1.1.1.3 jruoho for a user-defined address space. This is used by the ASL test suite (ASLTS).
268 1.1.1.3 jruoho
269 1.1.1.3 jruoho ----------------------------------------
270 1.1.1.3 jruoho 11 February 2011. Summary of changes for version 20110211:
271 1.1 jruoho
272 1.1.1.2 jruoho 1) ACPI CA Core Subsystem:
273 1.1.1.2 jruoho
274 1.1.1.2 jruoho Added a mechanism to defer _REG methods for some early-installed handlers.
275 1.1.1.2 jruoho Most user handlers should be installed before call to AcpiEnableSubsystem.
276 1.1.1.2 jruoho However, Event handlers and region handlers should be installed after
277 1.1.1.2 jruoho AcpiInitializeObjects. Override handlers for the "default" regions should be
278 1.1.1.2 jruoho installed early, however. This change executes all _REG methods for the
279 1.1.1.2 jruoho default regions (Memory/IO/PCI/DataTable) simultaneously to prevent any
280 1.1.1.2 jruoho chicken/egg issues between them. ACPICA BZ 848.
281 1.1.1.2 jruoho
282 1.1.1.2 jruoho Implemented an optimization for GPE detection. This optimization will simply
283 1.1.1.2 jruoho ignore GPE registers that contain no enabled GPEs -- there is no need to
284 1.1.1.2 jruoho read the register since this information is available internally. This
285 1.1.1.2 jruoho becomes more important on machines with a large GPE space. ACPICA bugzilla
286 1.1.1.2 jruoho 884. Lin Ming. Suggestion from Joe Liu.
287 1.1.1.2 jruoho
288 1.1.1.2 jruoho Removed all use of the highly unreliable FADT revision field. The revision
289 1.1.1.2 jruoho number in the FADT has been found to be completely unreliable and cannot be
290 1.1.1.2 jruoho trusted. Only the actual table length can be used to infer the version. This
291 1.1.1.2 jruoho change updates the ACPICA core and the disassembler so that both no longer
292 1.1.1.2 jruoho even look at the FADT version and instead depend solely upon the FADT
293 1.1.1.2 jruoho length.
294 1.1.1.2 jruoho
295 1.1.1.2 jruoho Fix an unresolved name issue for the no-debug and no-error-message source
296 1.1.1.2 jruoho generation cases. The _AcpiModuleName was left undefined in these cases, but
297 1.1.1.2 jruoho it is actually needed as a parameter to some interfaces. Define
298 1.1.1.2 jruoho _AcpiModuleName as a null string in these cases. ACPICA Bugzilla 888.
299 1.1.1.2 jruoho
300 1.1.1.2 jruoho Split several large files (makefiles and project files updated)
301 1.1.1.2 jruoho utglobal.c -> utdecode.c
302 1.1.1.2 jruoho dbcomds.c -> dbmethod.c dbnames.c
303 1.1.1.2 jruoho dsopcode.c -> dsargs.c dscontrol.c
304 1.1.1.2 jruoho dsload.c -> dsload2.c
305 1.1.1.2 jruoho aslanalyze.c -> aslbtypes.c aslwalks.c
306 1.1.1.2 jruoho
307 1.1.1.2 jruoho Example Code and Data Size: These are the sizes for the OS-independent
308 1.1.1.2 jruoho acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
309 1.1.1.2 jruoho debug version of the code includes the debug output trace mechanism and has
310 1.1.1.2 jruoho a much larger code and data size.
311 1.1.1.2 jruoho
312 1.1.1.2 jruoho Previous Release (VC 9.0):
313 1.1.1.2 jruoho Non-Debug Version: 89.7K Code, 23.7K Data, 113.4K Total
314 1.1.1.2 jruoho Debug Version: 163.9K Code, 67.5K Data, 231.4K Total
315 1.1.1.2 jruoho Current Release (VC 9.0):
316 1.1.1.2 jruoho Non-Debug Version: 89.7K Code, 23.7K Data, 113.4K Total
317 1.1.1.2 jruoho Debug Version: 163.9K Code, 67.5K Data, 231.4K Total
318 1.1.1.2 jruoho
319 1.1.1.2 jruoho 2) iASL Compiler/Disassembler and Tools:
320 1.1.1.2 jruoho
321 1.1.1.2 jruoho iASL: Implemented the predefined macros __LINE__, __FILE__, and __DATE__.
322 1.1.1.2 jruoho These are useful C-style macros with the standard definitions. ACPICA
323 1.1.1.2 jruoho bugzilla 898.
324 1.1.1.2 jruoho
325 1.1.1.2 jruoho iASL/DTC: Added support for integer expressions and labels. Support for full
326 1.1.1.2 jruoho expressions for all integer fields in all ACPI tables. Support for labels in
327 1.1.1.2 jruoho "generic" portions of tables such as UEFI. See the iASL reference manual.
328 1.1.1.2 jruoho
329 1.1.1.2 jruoho Debugger: Added a command to display the status of global handlers. The
330 1.1.1.2 jruoho "handlers" command will display op region, fixed event, and miscellaneous
331 1.1.1.2 jruoho global handlers. installation status -- and for op regions, whether default
332 1.1.1.2 jruoho or user-installed handler will be used.
333 1.1.1.2 jruoho
334 1.1.1.2 jruoho iASL: Warn if reserved method incorrectly returns a value. Many predefined
335 1.1.1.2 jruoho names are defined such that they do not return a value. If implemented as a
336 1.1.1.2 jruoho method, issue a warning if such a name explicitly returns a value. ACPICA
337 1.1.1.2 jruoho Bugzilla 855.
338 1.1.1.2 jruoho
339 1.1.1.2 jruoho iASL: Added detection of GPE method name conflicts. Detects a conflict where
340 1.1.1.2 jruoho there are two GPE methods of the form _Lxy and _Exy in the same scope. (For
341 1.1.1.2 jruoho example, _L1D and _E1D in the same scope.) ACPICA bugzilla 848.
342 1.1.1.2 jruoho
343 1.1.1.2 jruoho iASL/DTC: Fixed a couple input scanner issues with comments and line
344 1.1.1.2 jruoho numbers. Comment remover could get confused and miss a comment ending. Fixed
345 1.1.1.2 jruoho a problem with line counter maintenance.
346 1.1.1.2 jruoho
347 1.1.1.2 jruoho iASL/DTC: Reduced the severity of some errors from fatal to error. There is
348 1.1.1.2 jruoho no need to abort on simple errors within a field definition.
349 1.1.1.2 jruoho
350 1.1.1.2 jruoho Debugger: Simplified the output of the help command. All help output now in
351 1.1.1.2 jruoho a single screen, instead of help subcommands. ACPICA Bugzilla 897.
352 1.1.1.2 jruoho
353 1.1.1.2 jruoho ----------------------------------------
354 1.1.1.2 jruoho 12 January 2011. Summary of changes for version 20110112:
355 1.1.1.2 jruoho
356 1.1.1.2 jruoho 1) ACPI CA Core Subsystem:
357 1.1.1.2 jruoho
358 1.1.1.2 jruoho Fixed a race condition between method execution and namespace walks that can
359 1.1.1.2 jruoho possibly cause a fault. The problem was apparently introduced in version
360 1.1.1.3 jruoho 20100528 as a result of a performance optimization that reduces the number of
361 1.1.1.2 jruoho namespace walks upon method exit by using the delete_namespace_subtree
362 1.1.1.2 jruoho function instead of the delete_namespace_by_owner function used previously.
363 1.1.1.2 jruoho Bug is a missing namespace lock in the delete_namespace_subtree function.
364 1.1.1.2 jruoho dana.myers (a] oracle.com
365 1.1.1.2 jruoho
366 1.1.1.2 jruoho Fixed several issues and a possible fault with the automatic "serialized"
367 1.1.1.3 jruoho method support. History: This support changes a method to "serialized" on the
368 1.1.1.2 jruoho fly if the method generates an AE_ALREADY_EXISTS error, indicating the
369 1.1.1.2 jruoho possibility that it cannot handle reentrancy. This fix repairs a couple of
370 1.1.1.2 jruoho issues seen in the field, especially on machines with many cores:
371 1.1.1.2 jruoho
372 1.1.1.2 jruoho 1) Delete method children only upon the exit of the last thread,
373 1.1.1.2 jruoho so as to not delete objects out from under other running threads
374 1.1.1.2 jruoho (and possibly causing a fault.)
375 1.1.1.2 jruoho 2) Set the "serialized" bit for the method only upon the exit of the
376 1.1.1.2 jruoho Last thread, so as to not cause deadlock when running threads
377 1.1.1.2 jruoho attempt to exit.
378 1.1.1.2 jruoho 3) Cleanup the use of the AML "MethodFlags" and internal method flags
379 1.1.1.2 jruoho so that there is no longer any confusion between the two.
380 1.1.1.2 jruoho
381 1.1.1.2 jruoho Lin Ming, Bob Moore. Reported by dana.myers (a] oracle.com.
382 1.1.1.2 jruoho
383 1.1.1.2 jruoho Debugger: Now lock the namespace for duration of a namespace dump. Prevents
384 1.1.1.2 jruoho issues if the namespace is changing dynamically underneath the debugger.
385 1.1.1.2 jruoho Especially affects temporary namespace nodes, since the debugger displays
386 1.1.1.2 jruoho these also.
387 1.1.1.2 jruoho
388 1.1.1.2 jruoho Updated the ordering of include files. The ACPICA headers should appear
389 1.1.1.2 jruoho before any compiler-specific headers (stdio.h, etc.) so that acenv.h can set
390 1.1.1.2 jruoho any necessary compiler-specific defines, etc. Affects the ACPI-related tools
391 1.1.1.2 jruoho and utilities.
392 1.1.1.2 jruoho
393 1.1.1.2 jruoho Updated all ACPICA copyrights and signons to 2011. Added the 2011 copyright
394 1.1.1.2 jruoho to all module headers and signons, including the Linux header. This affects
395 1.1.1.2 jruoho virtually every file in the ACPICA core subsystem, iASL compiler, and all
396 1.1.1.2 jruoho utilities.
397 1.1.1.2 jruoho
398 1.1.1.2 jruoho Added project files for MS Visual Studio 2008 (VC++ 9.0). The original
399 1.1.1.2 jruoho project files for VC++ 6.0 are now obsolete. New project files can be found
400 1.1.1.2 jruoho under acpica/generate/msvc9. See acpica/generate/msvc9/readme.txt for
401 1.1.1.2 jruoho details.
402 1.1.1.2 jruoho
403 1.1.1.2 jruoho Example Code and Data Size: These are the sizes for the OS-independent
404 1.1.1.2 jruoho acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
405 1.1.1.3 jruoho debug version of the code includes the debug output trace mechanism and has a
406 1.1.1.2 jruoho much larger code and data size.
407 1.1.1.2 jruoho
408 1.1.1.2 jruoho Previous Release (VC 6.0):
409 1.1.1.2 jruoho Non-Debug Version: 89.8K Code, 18.9K Data, 108.7K Total
410 1.1.1.2 jruoho Debug Version: 166.6K Code, 52.1K Data, 218.7K Total
411 1.1.1.2 jruoho Current Release (VC 9.0):
412 1.1.1.2 jruoho Non-Debug Version: 89.7K Code, 23.7K Data, 113.4K Total
413 1.1.1.2 jruoho Debug Version: 163.9K Code, 67.5K Data, 231.4K Total
414 1.1.1.2 jruoho
415 1.1.1.2 jruoho 2) iASL Compiler/Disassembler and Tools:
416 1.1.1.2 jruoho
417 1.1.1.3 jruoho iASL: Added generic data types to the Data Table compiler. Add "generic" data
418 1.1.1.2 jruoho types such as UINT32, String, Unicode, etc., to simplify the generation of
419 1.1.1.2 jruoho platform-defined tables such as UEFI. Lin Ming.
420 1.1.1.2 jruoho
421 1.1.1.3 jruoho iASL: Added listing support for the Data Table Compiler. Adds listing support
422 1.1.1.2 jruoho (-l) to display actual binary output for each line of input code.
423 1.1.1.2 jruoho
424 1.1.1.2 jruoho ----------------------------------------
425 1.1.1.2 jruoho 09 December 2010. Summary of changes for version 20101209:
426 1.1.1.2 jruoho
427 1.1.1.2 jruoho 1) ACPI CA Core Subsystem:
428 1.1.1.2 jruoho
429 1.1.1.2 jruoho Completed the major overhaul of the GPE support code that was begun in July
430 1.1.1.2 jruoho 2010. Major features include: removal of _PRW execution in ACPICA (host
431 1.1.1.2 jruoho executes _PRWs anyway), cleanup of "wake" GPE interfaces and processing,
432 1.1.1.2 jruoho changes to existing interfaces, simplification of GPE handler operation, and
433 1.1.1.2 jruoho a handful of new interfaces:
434 1.1.1.2 jruoho
435 1.1.1.2 jruoho AcpiUpdateAllGpes
436 1.1.1.2 jruoho AcpiFinishGpe
437 1.1.1.2 jruoho AcpiSetupGpeForWake
438 1.1.1.2 jruoho AcpiSetGpeWakeMask
439 1.1.1.2 jruoho One new file, evxfgpe.c to consolidate all external GPE interfaces.
440 1.1.1.2 jruoho
441 1.1.1.2 jruoho See the ACPICA Programmer Reference for full details and programming
442 1.1.1.2 jruoho information. See the new section 4.4 "General Purpose Event (GPE) Support"
443 1.1.1.2 jruoho for a full overview, and section 8.7 "ACPI General Purpose Event Management"
444 1.1.1.2 jruoho for programming details. ACPICA BZ 858,870,877. Matthew Garrett, Lin Ming,
445 1.1.1.2 jruoho Bob Moore, Rafael Wysocki.
446 1.1.1.2 jruoho
447 1.1.1.2 jruoho Implemented a new GPE feature for Windows compatibility, the "Implicit Wake
448 1.1.1.2 jruoho GPE Notify". This feature will automatically issue a Notify(2) on a device
449 1.1.1.2 jruoho when a Wake GPE is received if there is no corresponding GPE method or
450 1.1.1.2 jruoho handler. ACPICA BZ 870.
451 1.1.1.2 jruoho
452 1.1.1.2 jruoho Fixed a problem with the Scope() operator during table parse and load phase.
453 1.1.1.3 jruoho During load phase (table load or method execution), the scope operator should
454 1.1.1.2 jruoho not enter the target into the namespace. Instead, it should open a new scope
455 1.1.1.2 jruoho at the target location. Linux BZ 19462, ACPICA BZ 882.
456 1.1.1.2 jruoho
457 1.1.1.2 jruoho Example Code and Data Size: These are the sizes for the OS-independent
458 1.1.1.2 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
459 1.1.1.3 jruoho debug version of the code includes the debug output trace mechanism and has a
460 1.1.1.2 jruoho much larger code and data size.
461 1.1.1.2 jruoho
462 1.1.1.2 jruoho Previous Release:
463 1.1.1.2 jruoho Non-Debug Version: 89.8K Code, 18.9K Data, 108.7K Total
464 1.1.1.2 jruoho Debug Version: 166.6K Code, 52.1K Data, 218.7K Total
465 1.1.1.2 jruoho Current Release:
466 1.1.1.2 jruoho Non-Debug Version: 89.9K Code, 19.0K Data, 108.9K Total
467 1.1.1.2 jruoho Debug Version: 166.3K Code, 52.1K Data, 218.4K Total
468 1.1.1.2 jruoho
469 1.1.1.2 jruoho 2) iASL Compiler/Disassembler and Tools:
470 1.1.1.2 jruoho
471 1.1.1.2 jruoho iASL: Relax the alphanumeric restriction on _CID strings. These strings are
472 1.1.1.2 jruoho "bus-specific" per the ACPI specification, and therefore any characters are
473 1.1.1.2 jruoho acceptable. The only checks that can be performed are for a null string and
474 1.1.1.2 jruoho perhaps for a leading asterisk. ACPICA BZ 886.
475 1.1.1.2 jruoho
476 1.1.1.2 jruoho iASL: Fixed a problem where a syntax error that caused a premature EOF
477 1.1.1.2 jruoho condition on the source file emitted a very confusing error message. The
478 1.1.1.2 jruoho premature EOF is now detected correctly. ACPICA BZ 891.
479 1.1.1.2 jruoho
480 1.1.1.2 jruoho Disassembler: Decode the AccessSize within a Generic Address Structure (byte
481 1.1.1.2 jruoho access, word access, etc.) Note, this field does not allow arbitrary bit
482 1.1.1.2 jruoho access, the size is encoded as 1=byte, 2=word, 3=dword, and 4=qword.
483 1.1.1.2 jruoho
484 1.1.1.2 jruoho New: AcpiNames utility - Example namespace dump utility. Shows an example of
485 1.1.1.2 jruoho ACPICA configuration for a minimal namespace dump utility. Uses table and
486 1.1.1.2 jruoho namespace managers, but no AML interpreter. Does not add any functionality
487 1.1.1.2 jruoho over AcpiExec, it is a subset of AcpiExec. The purpose is to show how to
488 1.1.1.2 jruoho partition and configure ACPICA. ACPICA BZ 883.
489 1.1.1.2 jruoho
490 1.1.1.2 jruoho AML Debugger: Increased the debugger buffer size for method return objects.
491 1.1.1.2 jruoho Was 4K, increased to 16K. Also enhanced error messages for debugger method
492 1.1.1.2 jruoho execution, including the buffer overflow case.
493 1.1.1.2 jruoho
494 1.1.1.2 jruoho ----------------------------------------
495 1.1.1.2 jruoho 13 October 2010. Summary of changes for version 20101013:
496 1.1.1.2 jruoho
497 1.1.1.2 jruoho 1) ACPI CA Core Subsystem:
498 1.1.1.2 jruoho
499 1.1.1.2 jruoho Added support to clear the PCIEXP_WAKE event. When clearing ACPI events, now
500 1.1.1.2 jruoho clear the PCIEXP_WAKE_STS bit in the ACPI PM1 Status Register, via
501 1.1.1.2 jruoho HwClearAcpiStatus. Original change from Colin King. ACPICA BZ 880.
502 1.1.1.2 jruoho
503 1.1.1.2 jruoho Changed the type of the predefined namespace object _TZ from ThermalZone to
504 1.1.1.2 jruoho Device. This was found to be confusing to the host software that processes
505 1.1.1.2 jruoho the various thermal zones, since _TZ is not really a ThermalZone. However, a
506 1.1.1.2 jruoho Notify() can still be performed on it. ACPICA BZ 876. Suggestion from Rui
507 1.1.1.2 jruoho Zhang.
508 1.1.1.2 jruoho
509 1.1.1.2 jruoho Added Windows Vista SP2 to the list of supported _OSI strings. The actual
510 1.1.1.2 jruoho string is "Windows 2006 SP2".
511 1.1.1.2 jruoho
512 1.1.1.2 jruoho Eliminated duplicate code in AcpiUtExecute* functions. Now that the nsrepair
513 1.1.1.2 jruoho code automatically repairs _HID-related strings, this type of code is no
514 1.1.1.2 jruoho longer needed in Execute_HID, Execute_CID, and Execute_UID. ACPICA BZ 878.
515 1.1.1.2 jruoho
516 1.1.1.2 jruoho Example Code and Data Size: These are the sizes for the OS-independent
517 1.1.1.2 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
518 1.1.1.3 jruoho debug version of the code includes the debug output trace mechanism and has a
519 1.1.1.2 jruoho much larger code and data size.
520 1.1.1.2 jruoho
521 1.1.1.2 jruoho Previous Release:
522 1.1.1.2 jruoho Non-Debug Version: 89.9K Code, 19.0K Data, 108.9K Total
523 1.1.1.2 jruoho Debug Version: 166.3K Code, 52.1K Data, 218.4K Total
524 1.1.1.2 jruoho Current Release:
525 1.1.1.2 jruoho Non-Debug Version: 89.9K Code, 19.0K Data, 108.9K Total
526 1.1.1.2 jruoho Debug Version: 166.3K Code, 52.1K Data, 218.4K Total
527 1.1.1.2 jruoho
528 1.1.1.2 jruoho 2) iASL Compiler/Disassembler and Tools:
529 1.1.1.2 jruoho
530 1.1.1.2 jruoho iASL: Implemented additional compile-time validation for _HID strings. The
531 1.1.1.3 jruoho non-hex prefix (such as "PNP" or "ACPI") must be uppercase, and the length of
532 1.1.1.2 jruoho the string must be exactly seven or eight characters. For both _HID and _CID
533 1.1.1.2 jruoho strings, all characters must be alphanumeric. ACPICA BZ 874.
534 1.1.1.2 jruoho
535 1.1.1.2 jruoho iASL: Allow certain "null" resource descriptors. Some BIOS code creates
536 1.1.1.3 jruoho descriptors that are mostly or all zeros, with the expectation that they will
537 1.1.1.3 jruoho be filled in at runtime. iASL now allows this as long as there is a "resource
538 1.1.1.2 jruoho tag" (name) associated with the descriptor, which gives the ASL a handle
539 1.1.1.2 jruoho needed to modify the descriptor. ACPICA BZ 873.
540 1.1.1.2 jruoho
541 1.1.1.2 jruoho Added single-thread support to the generic Unix application OSL. Primarily
542 1.1.1.2 jruoho for iASL support, this change removes the use of semaphores in the single-
543 1.1.1.2 jruoho threaded ACPICA tools/applications - increasing performance. The
544 1.1.1.2 jruoho _MULTI_THREADED option was replaced by the (reverse) ACPI_SINGLE_THREADED
545 1.1.1.2 jruoho option. ACPICA BZ 879.
546 1.1.1.2 jruoho
547 1.1.1.3 jruoho AcpiExec: several fixes for the 64-bit version. Adds XSDT support and support
548 1.1.1.2 jruoho for 64-bit DSDT/FACS addresses in the FADT. Lin Ming.
549 1.1.1.2 jruoho
550 1.1.1.2 jruoho iASL: Moved all compiler messages to a new file, aslmessages.h.
551 1.1.1.2 jruoho
552 1.1.1.2 jruoho ----------------------------------------
553 1.1.1.2 jruoho 15 September 2010. Summary of changes for version 20100915:
554 1.1.1.2 jruoho
555 1.1.1.2 jruoho 1) ACPI CA Core Subsystem:
556 1.1.1.2 jruoho
557 1.1.1.3 jruoho Removed the AcpiOsDerivePciId OSL interface. The various host implementations
558 1.1.1.2 jruoho of this function were not OS-dependent and are now obsolete and can be
559 1.1.1.2 jruoho removed from all host OSLs. This function has been replaced by
560 1.1.1.2 jruoho AcpiHwDerivePciId, which is now part of the ACPICA core code.
561 1.1.1.2 jruoho AcpiHwDerivePciId has been implemented without recursion. Adds one new
562 1.1.1.2 jruoho module, hwpci.c. ACPICA BZ 857.
563 1.1.1.2 jruoho
564 1.1.1.2 jruoho Implemented a dynamic repair for _HID and _CID strings. The following
565 1.1.1.2 jruoho problems are now repaired at runtime: 1) Remove a leading asterisk in the
566 1.1.1.2 jruoho string, and 2) the entire string is uppercased. Both repairs are in
567 1.1.1.2 jruoho accordance with the ACPI specification and will simplify host driver code.
568 1.1.1.2 jruoho ACPICA BZ 871.
569 1.1.1.2 jruoho
570 1.1.1.2 jruoho The ACPI_THREAD_ID type is no longer configurable, internally it is now
571 1.1.1.3 jruoho always UINT64. This simplifies the ACPICA code, especially any printf output.
572 1.1.1.2 jruoho UINT64 is the only common data type for all thread_id types across all
573 1.1.1.2 jruoho operating systems. It is now up to the host OSL to cast the native thread_id
574 1.1.1.2 jruoho type to UINT64 before returning the value to ACPICA (via AcpiOsGetThreadId).
575 1.1.1.2 jruoho Lin Ming, Bob Moore.
576 1.1.1.2 jruoho
577 1.1.1.2 jruoho Added the ACPI_INLINE type to enhance the ACPICA configuration. The "inline"
578 1.1.1.2 jruoho keyword is not standard across compilers, and this type allows inline to be
579 1.1.1.2 jruoho configured on a per-compiler basis. Lin Ming.
580 1.1.1.2 jruoho
581 1.1.1.2 jruoho Made the system global AcpiGbl_SystemAwakeAndRunning publically available.
582 1.1.1.2 jruoho Added an extern for this boolean in acpixf.h. Some hosts utilize this value
583 1.1.1.2 jruoho during suspend/restore operations. ACPICA BZ 869.
584 1.1.1.2 jruoho
585 1.1.1.2 jruoho All code that implements error/warning messages with the "ACPI:" prefix has
586 1.1.1.2 jruoho been moved to a new module, utxferror.c.
587 1.1.1.2 jruoho
588 1.1.1.2 jruoho The UINT64_OVERLAY was moved to utmath.c, which is the only module where it
589 1.1.1.2 jruoho is used. ACPICA BZ 829. Lin Ming, Bob Moore.
590 1.1.1.2 jruoho
591 1.1.1.2 jruoho Example Code and Data Size: These are the sizes for the OS-independent
592 1.1.1.2 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
593 1.1.1.3 jruoho debug version of the code includes the debug output trace mechanism and has a
594 1.1.1.2 jruoho much larger code and data size.
595 1.1.1.2 jruoho
596 1.1.1.2 jruoho Previous Release:
597 1.1.1.2 jruoho Non-Debug Version: 89.1K Code, 19.0K Data, 108.1K Total
598 1.1.1.2 jruoho Debug Version: 165.1K Code, 51.9K Data, 217.0K Total
599 1.1.1.2 jruoho Current Release:
600 1.1.1.2 jruoho Non-Debug Version: 89.9K Code, 19.0K Data, 108.9K Total
601 1.1.1.2 jruoho Debug Version: 166.3K Code, 52.1K Data, 218.4K Total
602 1.1.1.2 jruoho
603 1.1.1.2 jruoho 2) iASL Compiler/Disassembler and Tools:
604 1.1.1.2 jruoho
605 1.1.1.2 jruoho iASL/Disassembler: Write ACPI errors to stderr instead of the output file.
606 1.1.1.2 jruoho This keeps the output files free of random error messages that may originate
607 1.1.1.2 jruoho from within the namespace/interpreter code. Used this opportunity to merge
608 1.1.1.2 jruoho all ACPI:-style messages into a single new module, utxferror.c. ACPICA BZ
609 1.1.1.2 jruoho 866. Lin Ming, Bob Moore.
610 1.1.1.2 jruoho
611 1.1.1.2 jruoho Tools: update some printfs for ansi warnings on size_t. Handle width change
612 1.1.1.2 jruoho of size_t on 32-bit versus 64-bit generations. Lin Ming.
613 1.1.1.2 jruoho
614 1.1.1.2 jruoho ----------------------------------------
615 1.1.1.2 jruoho 06 August 2010. Summary of changes for version 20100806:
616 1.1.1.2 jruoho
617 1.1.1.2 jruoho 1) ACPI CA Core Subsystem:
618 1.1.1.2 jruoho
619 1.1.1.2 jruoho Designed and implemented a new host interface to the _OSI support code. This
620 1.1.1.2 jruoho will allow the host to dynamically add or remove multiple _OSI strings, as
621 1.1.1.2 jruoho well as install an optional handler that is called for each _OSI invocation.
622 1.1.1.3 jruoho Also added a new AML debugger command, 'osi' to display and modify the global
623 1.1.1.2 jruoho _OSI string table, and test support in the AcpiExec utility. See the ACPICA
624 1.1.1.2 jruoho reference manual for full details. Lin Ming, Bob Moore. ACPICA BZ 836.
625 1.1.1.2 jruoho New Functions:
626 1.1.1.2 jruoho AcpiInstallInterface - Add an _OSI string.
627 1.1.1.2 jruoho AcpiRemoveInterface - Delete an _OSI string.
628 1.1.1.2 jruoho AcpiInstallInterfaceHandler - Install optional _OSI handler.
629 1.1.1.2 jruoho Obsolete Functions:
630 1.1.1.2 jruoho AcpiOsValidateInterface - no longer used.
631 1.1.1.2 jruoho New Files:
632 1.1.1.2 jruoho source/components/utilities/utosi.c
633 1.1.1.2 jruoho
634 1.1.1.2 jruoho Re-introduced the support to enable multi-byte transfers for Embedded
635 1.1.1.2 jruoho Controller (EC) operation regions. A reported problem was found to be a bug
636 1.1.1.2 jruoho in the host OS, not in the multi-byte support. Previously, the maximum data
637 1.1.1.2 jruoho size passed to the EC operation region handler was a single byte. There are
638 1.1.1.2 jruoho often EC Fields larger than one byte that need to be transferred, and it is
639 1.1.1.2 jruoho useful for the EC driver to lock these as a single transaction. This change
640 1.1.1.2 jruoho enables single transfers larger than 8 bits. This effectively changes the
641 1.1.1.2 jruoho access to the EC space from ByteAcc to AnyAcc, and will probably require
642 1.1.1.2 jruoho changes to the host OS Embedded Controller driver to enable 16/32/64/256-bit
643 1.1.1.2 jruoho transfers in addition to 8-bit transfers. Alexey Starikovskiy, Lin Ming.
644 1.1.1.2 jruoho
645 1.1.1.2 jruoho Fixed a problem with the prototype for AcpiOsReadPciConfiguration. The
646 1.1.1.2 jruoho prototype in acpiosxf.h had the output value pointer as a (void *).
647 1.1.1.2 jruoho It should be a (UINT64 *). This may affect some host OSL code.
648 1.1.1.2 jruoho
649 1.1.1.2 jruoho Fixed a couple problems with the recently modified Linux makefiles for iASL
650 1.1.1.2 jruoho and AcpiExec. These new makefiles place the generated object files in the
651 1.1.1.3 jruoho local directory so that there can be no collisions between the files that are
652 1.1.1.2 jruoho shared between them that are compiled with different options.
653 1.1.1.2 jruoho
654 1.1.1.2 jruoho Example Code and Data Size: These are the sizes for the OS-independent
655 1.1.1.2 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
656 1.1.1.3 jruoho debug version of the code includes the debug output trace mechanism and has a
657 1.1.1.2 jruoho much larger code and data size.
658 1.1.1.2 jruoho
659 1.1.1.2 jruoho Previous Release:
660 1.1.1.2 jruoho Non-Debug Version: 88.3K Code, 18.8K Data, 107.1K Total
661 1.1.1.2 jruoho Debug Version: 164.0K Code, 51.5K Data, 215.5K Total
662 1.1.1.2 jruoho Current Release:
663 1.1.1.2 jruoho Non-Debug Version: 89.1K Code, 19.0K Data, 108.1K Total
664 1.1.1.2 jruoho Debug Version: 165.1K Code, 51.9K Data, 217.0K Total
665 1.1.1.2 jruoho
666 1.1.1.2 jruoho 2) iASL Compiler/Disassembler and Tools:
667 1.1.1.2 jruoho
668 1.1.1.2 jruoho iASL/Disassembler: Added a new option (-da, "disassemble all") to load the
669 1.1.1.2 jruoho namespace from and disassemble an entire group of AML files. Useful for
670 1.1.1.2 jruoho loading all of the AML tables for a given machine (DSDT, SSDT1...SSDTn) and
671 1.1.1.2 jruoho disassembling with one simple command. ACPICA BZ 865. Lin Ming.
672 1.1.1.2 jruoho
673 1.1.1.2 jruoho iASL: Allow multiple invocations of -e option. This change allows multiple
674 1.1.1.2 jruoho uses of -e on the command line: "-e ssdt1.dat -e ssdt2.dat". ACPICA BZ 834.
675 1.1.1.2 jruoho Lin Ming.
676 1.1.1.2 jruoho
677 1.1.1.2 jruoho ----------------------------------------
678 1.1.1.2 jruoho 02 July 2010. Summary of changes for version 20100702:
679 1.1.1.2 jruoho
680 1.1.1.2 jruoho 1) ACPI CA Core Subsystem:
681 1.1.1.2 jruoho
682 1.1.1.2 jruoho Implemented several updates to the recently added GPE reference count
683 1.1.1.2 jruoho support. The model for "wake" GPEs is changing to give the host OS complete
684 1.1.1.2 jruoho control of these GPEs. Eventually, the ACPICA core will not execute any _PRW
685 1.1.1.2 jruoho methods, since the host already must execute them. Also, additional changes
686 1.1.1.2 jruoho were made to help ensure that the reference counts are kept in proper
687 1.1.1.2 jruoho synchronization with reality. Rafael J. Wysocki.
688 1.1.1.2 jruoho
689 1.1.1.2 jruoho 1) Ensure that GPEs are not enabled twice during initialization.
690 1.1.1.2 jruoho 2) Ensure that GPE enable masks stay in sync with the reference count.
691 1.1.1.2 jruoho 3) Do not inadvertently enable GPEs when writing GPE registers.
692 1.1.1.2 jruoho 4) Remove the internal wake reference counter and add new AcpiGpeWakeup
693 1.1.1.2 jruoho interface. This interface will set or clear individual GPEs for wakeup.
694 1.1.1.2 jruoho 5) Remove GpeType argument from AcpiEnable and AcpiDisable. These interfaces
695 1.1.1.2 jruoho are now used for "runtime" GPEs only.
696 1.1.1.2 jruoho
697 1.1.1.3 jruoho Changed the behavior of the GPE install/remove handler interfaces. The GPE is
698 1.1.1.2 jruoho no longer disabled during this process, as it was found to cause problems on
699 1.1.1.2 jruoho some machines. Rafael J. Wysocki.
700 1.1.1.2 jruoho
701 1.1.1.2 jruoho Reverted a change introduced in version 20100528 to enable Embedded
702 1.1.1.3 jruoho Controller multi-byte transfers. This change was found to cause problems with
703 1.1.1.2 jruoho Index Fields and possibly Bank Fields. It will be reintroduced when these
704 1.1.1.2 jruoho problems have been resolved.
705 1.1.1.2 jruoho
706 1.1.1.2 jruoho Fixed a problem with references to Alias objects within Package Objects. A
707 1.1.1.2 jruoho reference to an Alias within the definition of a Package was not always
708 1.1.1.2 jruoho resolved properly. Aliases to objects like Processors, Thermal zones, etc.
709 1.1.1.3 jruoho were resolved to the actual object instead of a reference to the object as it
710 1.1.1.2 jruoho should be. Package objects are only allowed to contain integer, string,
711 1.1.1.2 jruoho buffer, package, and reference objects. Redhat bugzilla 608648.
712 1.1.1.2 jruoho
713 1.1.1.2 jruoho Example Code and Data Size: These are the sizes for the OS-independent
714 1.1.1.2 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
715 1.1.1.3 jruoho debug version of the code includes the debug output trace mechanism and has a
716 1.1.1.2 jruoho much larger code and data size.
717 1.1.1.2 jruoho
718 1.1.1.2 jruoho Previous Release:
719 1.1.1.2 jruoho Non-Debug Version: 88.3K Code, 18.8K Data, 107.1K Total
720 1.1.1.2 jruoho Debug Version: 164.1K Code, 51.5K Data, 215.6K Total
721 1.1.1.2 jruoho Current Release:
722 1.1.1.2 jruoho Non-Debug Version: 88.3K Code, 18.8K Data, 107.1K Total
723 1.1.1.2 jruoho Debug Version: 164.0K Code, 51.5K Data, 215.5K Total
724 1.1.1.2 jruoho
725 1.1.1.2 jruoho 2) iASL Compiler/Disassembler and Tools:
726 1.1.1.2 jruoho
727 1.1.1.2 jruoho iASL: Implemented a new compiler subsystem to allow definition and
728 1.1.1.2 jruoho compilation of the non-AML ACPI tables such as FADT, MADT, SRAT, etc. These
729 1.1.1.2 jruoho are called "ACPI Data Tables", and the new compiler is the "Data Table
730 1.1.1.2 jruoho Compiler". This compiler is intended to simplify the existing error-prone
731 1.1.1.2 jruoho process of creating these tables for the BIOS, as well as allowing the
732 1.1.1.2 jruoho disassembly, modification, recompilation, and override of existing ACPI data
733 1.1.1.2 jruoho tables. See the iASL User Guide for detailed information.
734 1.1.1.2 jruoho
735 1.1.1.2 jruoho iASL: Implemented a new Template Generator option in support of the new Data
736 1.1.1.2 jruoho Table Compiler. This option will create examples of all known ACPI tables
737 1.1.1.2 jruoho that can be used as the basis for table development. See the iASL
738 1.1.1.2 jruoho documentation and the -T option.
739 1.1.1.2 jruoho
740 1.1.1.2 jruoho Disassembler and headers: Added support for the WDDT ACPI table (Watchdog
741 1.1.1.2 jruoho Descriptor Table).
742 1.1.1.2 jruoho
743 1.1.1.2 jruoho Updated the Linux makefiles for iASL and AcpiExec to place the generated
744 1.1.1.2 jruoho object files in the local directory so that there can be no collisions
745 1.1.1.2 jruoho between the shared files between them that are generated with different
746 1.1.1.2 jruoho options.
747 1.1.1.2 jruoho
748 1.1.1.2 jruoho Added support for Mac OS X in the Unix OSL used for iASL and AcpiExec. Use
749 1.1.1.2 jruoho the #define __APPLE__ to enable this support.
750 1.1.1.2 jruoho
751 1.1.1.2 jruoho ----------------------------------------
752 1.1.1.2 jruoho 28 May 2010. Summary of changes for version 20100528:
753 1.1.1.2 jruoho
754 1.1 jruoho Note: The ACPI 4.0a specification was released on April 5, 2010 and is
755 1.1 jruoho available at www.acpi.info. This is primarily an errata release.
756 1.1 jruoho
757 1.1 jruoho 1) ACPI CA Core Subsystem:
758 1.1 jruoho
759 1.1 jruoho Undefined ACPI tables: We are looking for the definitions for the following
760 1.1 jruoho ACPI tables that have been seen in the field: ATKG, IEIT, GSCI.
761 1.1 jruoho
762 1.1 jruoho Implemented support to enable multi-byte transfers for Embedded Controller
763 1.1 jruoho (EC) operation regions. Previously, the maximum data size passed to the EC
764 1.1 jruoho operation region handler was a single byte. There are often EC Fields larger
765 1.1.1.3 jruoho than one byte that need to be transferred, and it is useful for the EC driver
766 1.1 jruoho to lock these as a single transaction. This change enables single transfers
767 1.1 jruoho larger than 8 bits. This effectively changes the access to the EC space from
768 1.1 jruoho ByteAcc to AnyAcc, and will probably require changes to the host OS Embedded
769 1.1 jruoho Controller driver to enable 16/32/64/256-bit transfers in addition to 8-bit
770 1.1 jruoho transfers. Alexey Starikovskiy, Lin Ming
771 1.1 jruoho
772 1.1 jruoho Implemented a performance enhancement for namespace search and access. This
773 1.1 jruoho change enhances the performance of namespace searches and walks by adding a
774 1.1 jruoho backpointer to the parent in each namespace node. On large namespaces, this
775 1.1 jruoho change can improve overall ACPI performance by up to 9X. Adding a pointer to
776 1.1 jruoho each namespace node increases the overall size of the internal namespace by
777 1.1 jruoho about 5%, since each namespace entry usually consists of both a namespace
778 1.1 jruoho node and an ACPI operand object. However, this is the first growth of the
779 1.1 jruoho namespace in ten years. ACPICA bugzilla 817. Alexey Starikovskiy.
780 1.1 jruoho
781 1.1 jruoho Implemented a performance optimization that reduces the number of namespace
782 1.1.1.3 jruoho walks. On control method exit, only walk the namespace if the method is known
783 1.1.1.3 jruoho to have created namespace objects outside of its local scope. Previously, the
784 1.1 jruoho entire namespace was traversed on each control method exit. This change can
785 1.1.1.3 jruoho improve overall ACPI performance by up to 3X. Alexey Starikovskiy, Bob Moore.
786 1.1 jruoho
787 1.1.1.3 jruoho Added support to truncate I/O addresses to 16 bits for Windows compatibility.
788 1.1 jruoho Some ASL code has been seen in the field that inadvertently has bits set
789 1.1 jruoho above bit 15. This feature is optional and is enabled if the BIOS requests
790 1.1 jruoho any Windows OSI strings. It can also be enabled by the host OS. Matthew
791 1.1 jruoho Garrett, Bob Moore.
792 1.1 jruoho
793 1.1 jruoho Added support to limit the maximum time for the ASL Sleep() operator. To
794 1.1 jruoho prevent accidental deep sleeps, limit the maximum time that Sleep() will
795 1.1 jruoho actually sleep. Configurable, the default maximum is two seconds. ACPICA
796 1.1 jruoho bugzilla 854.
797 1.1 jruoho
798 1.1 jruoho Added run-time validation support for the _WDG and_WED Microsoft predefined
799 1.1 jruoho methods. These objects are defined by "Windows Instrumentation", and are not
800 1.1 jruoho part of the ACPI spec. ACPICA BZ 860.
801 1.1 jruoho
802 1.1 jruoho Expanded all statistic counters used during namespace and device
803 1.1 jruoho initialization from 16 to 32 bits in order to support very large namespaces.
804 1.1 jruoho
805 1.1.1.3 jruoho Replaced all instances of %d in printf format specifiers with %u since nearly
806 1.1 jruoho all integers in ACPICA are unsigned.
807 1.1 jruoho
808 1.1.1.3 jruoho Fixed the exception namestring for AE_WAKE_ONLY_GPE. Was incorrectly returned
809 1.1 jruoho as AE_NO_HANDLER.
810 1.1 jruoho
811 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
812 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
813 1.1.1.3 jruoho debug version of the code includes the debug output trace mechanism and has a
814 1.1 jruoho much larger code and data size.
815 1.1 jruoho
816 1.1 jruoho Previous Release:
817 1.1 jruoho Non-Debug Version: 88.4K Code, 18.8K Data, 107.2K Total
818 1.1 jruoho Debug Version: 164.2K Code, 51.5K Data, 215.7K Total
819 1.1 jruoho Current Release:
820 1.1 jruoho Non-Debug Version: 88.3K Code, 18.8K Data, 107.1K Total
821 1.1 jruoho Debug Version: 164.1K Code, 51.5K Data, 215.6K Total
822 1.1 jruoho
823 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
824 1.1 jruoho
825 1.1 jruoho iASL: Added compiler support for the _WDG and_WED Microsoft predefined
826 1.1 jruoho methods. These objects are defined by "Windows Instrumentation", and are not
827 1.1 jruoho part of the ACPI spec. ACPICA BZ 860.
828 1.1 jruoho
829 1.1 jruoho AcpiExec: added option to disable the memory tracking mechanism. The -dt
830 1.1 jruoho option will disable the tracking mechanism, which improves performance
831 1.1 jruoho considerably.
832 1.1 jruoho
833 1.1 jruoho AcpiExec: Restructured the command line options into -d (disable) and -e
834 1.1 jruoho (enable) options.
835 1.1 jruoho
836 1.1 jruoho ----------------------------------------
837 1.1 jruoho 28 April 2010. Summary of changes for version 20100428:
838 1.1 jruoho
839 1.1 jruoho 1) ACPI CA Core Subsystem:
840 1.1 jruoho
841 1.1 jruoho Implemented GPE support for dynamically loaded ACPI tables. For all GPEs,
842 1.1 jruoho including FADT-based and GPE Block Devices, execute any _PRW methods in the
843 1.1 jruoho new table, and process any _Lxx/_Exx GPE methods in the new table. Any
844 1.1 jruoho runtime GPE that is referenced by an _Lxx/_Exx method in the new table is
845 1.1 jruoho immediately enabled. Handles the FADT-defined GPEs as well as GPE Block
846 1.1 jruoho Devices. Provides compatibility with other ACPI implementations. Two new
847 1.1.1.3 jruoho files added, evgpeinit.c and evgpeutil.c. ACPICA BZ 833. Lin Ming, Bob Moore.
848 1.1 jruoho
849 1.1 jruoho Fixed a regression introduced in version 20100331 within the table manager
850 1.1 jruoho where initial table loading could fail. This was introduced in the fix for
851 1.1 jruoho AcpiReallocateRootTable. Also, renamed some of fields in the table manager
852 1.1 jruoho data structures to clarify their meaning and use.
853 1.1 jruoho
854 1.1 jruoho Fixed a possible allocation overrun during internal object copy in
855 1.1 jruoho AcpiUtCopySimpleObject. The original code did not correctly handle the case
856 1.1 jruoho where the object to be copied was a namespace node. Lin Ming. ACPICA BZ 847.
857 1.1 jruoho
858 1.1 jruoho Updated the allocation dump routine, AcpiUtDumpAllocation and fixed a
859 1.1.1.3 jruoho possible access beyond end-of-allocation. Also, now fully validate descriptor
860 1.1 jruoho (size and type) before output. Lin Ming, Bob Moore. ACPICA BZ 847
861 1.1 jruoho
862 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
863 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
864 1.1.1.3 jruoho debug version of the code includes the debug output trace mechanism and has a
865 1.1 jruoho much larger code and data size.
866 1.1 jruoho
867 1.1 jruoho Previous Release:
868 1.1 jruoho Non-Debug Version: 87.9K Code, 18.6K Data, 106.5K Total
869 1.1 jruoho Debug Version: 163.5K Code, 51.3K Data, 214.8K Total
870 1.1 jruoho Current Release:
871 1.1 jruoho Non-Debug Version: 88.4K Code, 18.8K Data, 107.2K Total
872 1.1 jruoho Debug Version: 164.2K Code, 51.5K Data, 215.7K Total
873 1.1 jruoho
874 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
875 1.1 jruoho
876 1.1 jruoho iASL: Implemented Min/Max/Len/Gran validation for address resource
877 1.1 jruoho descriptors. This change implements validation for the address fields that
878 1.1 jruoho are common to all address-type resource descriptors. These checks are
879 1.1 jruoho implemented: Checks for valid Min/Max, length within the Min/Max window,
880 1.1 jruoho valid granularity, Min/Max a multiple of granularity, and _MIF/_MAF as per
881 1.1.1.3 jruoho table 6-40 in the ACPI 4.0a specification. Also split the large aslrestype1.c
882 1.1 jruoho and aslrestype2.c files into five new files. ACPICA BZ 840.
883 1.1 jruoho
884 1.1 jruoho iASL: Added support for the _Wxx predefined names. This support was missing
885 1.1 jruoho and these names were not recognized by the compiler as valid predefined
886 1.1 jruoho names. ACPICA BZ 851.
887 1.1 jruoho
888 1.1 jruoho iASL: Added an error for all predefined names that are defined to return no
889 1.1 jruoho value and thus must be implemented as Control Methods. These include all of
890 1.1 jruoho the _Lxx, _Exx, _Wxx, and _Qxx names, as well as some other miscellaneous
891 1.1 jruoho names such as _DIS, _INI, _IRC, _OFF, _ON, and _PSx. ACPICA BZ 850, 856.
892 1.1 jruoho
893 1.1 jruoho iASL: Implemented the -ts option to emit hex AML data in ASL format, as an
894 1.1 jruoho ASL Buffer. Allows ACPI tables to be easily included within ASL files, to be
895 1.1 jruoho dynamically loaded via the Load() operator. Also cleaned up output for the -
896 1.1 jruoho ta and -tc options. ACPICA BZ 853.
897 1.1 jruoho
898 1.1 jruoho Tests: Added a new file with examples of extended iASL error checking.
899 1.1 jruoho Demonstrates the advanced error checking ability of the iASL compiler.
900 1.1 jruoho Available at tests/misc/badcode.asl.
901 1.1 jruoho
902 1.1 jruoho ----------------------------------------
903 1.1 jruoho 31 March 2010. Summary of changes for version 20100331:
904 1.1 jruoho
905 1.1 jruoho 1) ACPI CA Core Subsystem:
906 1.1 jruoho
907 1.1 jruoho Completed a major update for the GPE support in order to improve support for
908 1.1 jruoho shared GPEs and to simplify both host OS and ACPICA code. Added a reference
909 1.1 jruoho count mechanism to support shared GPEs that require multiple device drivers.
910 1.1 jruoho Several external interfaces have changed. One external interface has been
911 1.1 jruoho removed. One new external interface was added. Most of the GPE external
912 1.1 jruoho interfaces now use the GPE spinlock instead of the events mutex (and the
913 1.1 jruoho Flags parameter for many GPE interfaces has been removed.) See the updated
914 1.1 jruoho ACPICA Programmer Reference for details. Matthew Garrett, Bob Moore, Rafael
915 1.1 jruoho Wysocki. ACPICA BZ 831.
916 1.1 jruoho
917 1.1 jruoho Changed:
918 1.1 jruoho AcpiEnableGpe, AcpiDisableGpe, AcpiClearGpe, AcpiGetGpeStatus
919 1.1 jruoho Removed:
920 1.1 jruoho AcpiSetGpeType
921 1.1 jruoho New:
922 1.1 jruoho AcpiSetGpe
923 1.1 jruoho
924 1.1 jruoho Implemented write support for DataTable operation regions. These regions are
925 1.1.1.3 jruoho defined via the DataTableRegion() operator. Previously, only read support was
926 1.1.1.3 jruoho implemented. The ACPI specification allows DataTableRegions to be read/write,
927 1.1 jruoho however.
928 1.1 jruoho
929 1.1 jruoho Implemented a new subsystem option to force a copy of the DSDT to local
930 1.1 jruoho memory. Optionally copy the entire DSDT to local memory (instead of simply
931 1.1 jruoho mapping it.) There are some (albeit very rare) BIOSs that corrupt or replace
932 1.1 jruoho the original DSDT, creating the need for this option. Default is FALSE, do
933 1.1 jruoho not copy the DSDT.
934 1.1 jruoho
935 1.1 jruoho Implemented detection of a corrupted or replaced DSDT. This change adds
936 1.1.1.3 jruoho support to detect a DSDT that has been corrupted and/or replaced from outside
937 1.1 jruoho the OS (by firmware). This is typically catastrophic for the system, but has
938 1.1 jruoho been seen on some machines. Once this problem has been detected, the DSDT
939 1.1 jruoho copy option can be enabled via system configuration. Lin Ming, Bob Moore.
940 1.1 jruoho
941 1.1 jruoho Fixed two problems with AcpiReallocateRootTable during the root table copy.
942 1.1 jruoho When copying the root table to the new allocation, the length used was
943 1.1 jruoho incorrect. The new size was used instead of the current table size, meaning
944 1.1 jruoho too much data was copied. Also, the count of available slots for ACPI tables
945 1.1 jruoho was not set correctly. Alexey Starikovskiy, Bob Moore.
946 1.1 jruoho
947 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
948 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
949 1.1.1.3 jruoho debug version of the code includes the debug output trace mechanism and has a
950 1.1 jruoho much larger code and data size.
951 1.1 jruoho
952 1.1 jruoho Previous Release:
953 1.1 jruoho Non-Debug Version: 87.5K Code, 18.4K Data, 105.9K Total
954 1.1 jruoho Debug Version: 163.4K Code, 51.1K Data, 214.5K Total
955 1.1 jruoho Current Release:
956 1.1 jruoho Non-Debug Version: 87.9K Code, 18.6K Data, 106.5K Total
957 1.1 jruoho Debug Version: 163.5K Code, 51.3K Data, 214.8K Total
958 1.1 jruoho
959 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
960 1.1 jruoho
961 1.1 jruoho iASL: Implement limited typechecking for values returned from predefined
962 1.1 jruoho control methods. The type of any returned static (unnamed) object is now
963 1.1 jruoho validated. For example, Return(1). ACPICA BZ 786.
964 1.1 jruoho
965 1.1.1.3 jruoho iASL: Fixed a predefined name object verification regression. Fixes a problem
966 1.1 jruoho introduced in version 20100304. An error is incorrectly generated if a
967 1.1 jruoho predefined name is declared as a static named object with a value defined
968 1.1 jruoho using the keywords "Zero", "One", or "Ones". Lin Ming.
969 1.1 jruoho
970 1.1 jruoho iASL: Added Windows 7 support for the -g option (get local ACPI tables) by
971 1.1 jruoho reducing the requested registry access rights. ACPICA BZ 842.
972 1.1 jruoho
973 1.1 jruoho Disassembler: fixed a possible fault when generating External() statements.
974 1.1 jruoho Introduced in commit ae7d6fd: Properly handle externals with parent-prefix
975 1.1 jruoho (carat). Fixes a string length allocation calculation. Lin Ming.
976 1.1 jruoho
977 1.1 jruoho ----------------------------------------
978 1.1 jruoho 04 March 2010. Summary of changes for version 20100304:
979 1.1 jruoho
980 1.1 jruoho 1) ACPI CA Core Subsystem:
981 1.1 jruoho
982 1.1 jruoho Fixed a possible problem with the AML Mutex handling function
983 1.1 jruoho AcpiExReleaseMutex where the function could fault under the very rare
984 1.1.1.3 jruoho condition when the interpreter has blocked, the interpreter lock is released,
985 1.1 jruoho the interpreter is then reentered via the same thread, and attempts to
986 1.1.1.3 jruoho acquire an AML mutex that was previously acquired. FreeBSD report 140979. Lin
987 1.1 jruoho Ming.
988 1.1 jruoho
989 1.1 jruoho Implemented additional configuration support for the AML "Debug Object".
990 1.1 jruoho Output from the debug object can now be enabled via a global variable,
991 1.1.1.3 jruoho AcpiGbl_EnableAmlDebugObject. This will assist with remote machine debugging.
992 1.1 jruoho This debug output is now available in the release version of ACPICA instead
993 1.1 jruoho of just the debug version. Also, the entire debug output module can now be
994 1.1 jruoho configured out of the ACPICA build if desired. One new file added,
995 1.1 jruoho executer/exdebug.c. Lin Ming, Bob Moore.
996 1.1 jruoho
997 1.1 jruoho Added header support for the ACPI MCHI table (Management Controller Host
998 1.1.1.3 jruoho Interface Table). This table was added in ACPI 4.0, but the defining document
999 1.1 jruoho has only recently become available.
1000 1.1 jruoho
1001 1.1 jruoho Standardized output of integer values for ACPICA warnings/errors. Always use
1002 1.1 jruoho 0x prefix for hex output, always use %u for unsigned integer decimal output.
1003 1.1 jruoho Affects ACPI_INFO, ACPI_ERROR, ACPI_EXCEPTION, and ACPI_WARNING (about 400
1004 1.1 jruoho invocations.) These invocations were converted from the original
1005 1.1 jruoho ACPI_DEBUG_PRINT invocations and were not consistent. ACPICA BZ 835.
1006 1.1 jruoho
1007 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
1008 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
1009 1.1.1.3 jruoho debug version of the code includes the debug output trace mechanism and has a
1010 1.1 jruoho much larger code and data size.
1011 1.1 jruoho
1012 1.1 jruoho Previous Release:
1013 1.1 jruoho Non-Debug Version: 87.1K Code, 18.0K Data, 105.1K Total
1014 1.1 jruoho Debug Version: 163.5K Code, 50.9K Data, 214.4K Total
1015 1.1 jruoho Current Release:
1016 1.1 jruoho Non-Debug Version: 87.5K Code, 18.4K Data, 105.9K Total
1017 1.1 jruoho Debug Version: 163.4K Code, 51.1K Data, 214.5K Total
1018 1.1 jruoho
1019 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
1020 1.1 jruoho
1021 1.1 jruoho iASL: Implemented typechecking support for static (non-control method)
1022 1.1 jruoho predefined named objects that are declared with the Name() operator. For
1023 1.1 jruoho example, the type of this object is now validated to be of type Integer:
1024 1.1.1.3 jruoho Name(_BBN, 1). This change migrates the compiler to using the core predefined
1025 1.1 jruoho name table instead of maintaining a local version. Added a new file,
1026 1.1 jruoho aslpredef.c. ACPICA BZ 832.
1027 1.1 jruoho
1028 1.1 jruoho Disassembler: Added support for the ACPI 4.0 MCHI table.
1029 1.1 jruoho
1030 1.1 jruoho ----------------------------------------
1031 1.1 jruoho 21 January 2010. Summary of changes for version 20100121:
1032 1.1 jruoho
1033 1.1 jruoho 1) ACPI CA Core Subsystem:
1034 1.1 jruoho
1035 1.1 jruoho Added the 2010 copyright to all module headers and signons. This affects
1036 1.1 jruoho virtually every file in the ACPICA core subsystem, the iASL compiler, the
1037 1.1 jruoho tools/utilities, and the test suites.
1038 1.1 jruoho
1039 1.1.1.3 jruoho Implemented a change to the AcpiGetDevices interface to eliminate unnecessary
1040 1.1 jruoho invocations of the _STA method. In the case where a specific _HID is
1041 1.1 jruoho requested, do not run _STA until a _HID match is found. This eliminates
1042 1.1.1.3 jruoho potentially dozens of _STA calls during a search for a particular device/HID,
1043 1.1 jruoho which in turn can improve boot times. ACPICA BZ 828. Lin Ming.
1044 1.1 jruoho
1045 1.1.1.3 jruoho Implemented an additional repair for predefined method return values. Attempt
1046 1.1.1.3 jruoho to repair unexpected NULL elements within returned Package objects. Create an
1047 1.1.1.3 jruoho Integer of value zero, a NULL String, or a zero-length Buffer as appropriate.
1048 1.1 jruoho ACPICA BZ 818. Lin Ming, Bob Moore.
1049 1.1 jruoho
1050 1.1 jruoho Removed the obsolete ACPI_INTEGER data type. This type was introduced as the
1051 1.1 jruoho code was migrated from ACPI 1.0 (with 32-bit AML integers) to ACPI 2.0 (with
1052 1.1 jruoho 64-bit AML integers). It is now obsolete and this change removes it from the
1053 1.1 jruoho ACPICA code base, replaced by UINT64. The original typedef has been retained
1054 1.1 jruoho for now for compatibility with existing device driver code. ACPICA BZ 824.
1055 1.1 jruoho
1056 1.1 jruoho Removed the unused UINT32_STRUCT type, and the obsolete Integer64 field in
1057 1.1 jruoho the parse tree object.
1058 1.1 jruoho
1059 1.1.1.3 jruoho Added additional warning options for the gcc-4 generation. Updated the source
1060 1.1 jruoho accordingly. This includes some code restructuring to eliminate unreachable
1061 1.1 jruoho code, elimination of some gotos, elimination of unused return values, some
1062 1.1 jruoho additional casting, and removal of redundant declarations.
1063 1.1 jruoho
1064 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
1065 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
1066 1.1.1.3 jruoho debug version of the code includes the debug output trace mechanism and has a
1067 1.1 jruoho much larger code and data size.
1068 1.1 jruoho
1069 1.1 jruoho Previous Release:
1070 1.1 jruoho Non-Debug Version: 87.0K Code, 18.0K Data, 105.0K Total
1071 1.1 jruoho Debug Version: 163.4K Code, 50.8K Data, 214.2K Total
1072 1.1 jruoho Current Release:
1073 1.1 jruoho Non-Debug Version: 87.1K Code, 18.0K Data, 105.1K Total
1074 1.1 jruoho Debug Version: 163.5K Code, 50.9K Data, 214.4K Total
1075 1.1 jruoho
1076 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
1077 1.1 jruoho
1078 1.1 jruoho No functional changes for this release.
1079 1.1 jruoho
1080 1.1 jruoho ----------------------------------------
1081 1.1 jruoho 14 December 2009. Summary of changes for version 20091214:
1082 1.1 jruoho
1083 1.1 jruoho 1) ACPI CA Core Subsystem:
1084 1.1 jruoho
1085 1.1 jruoho Enhanced automatic data type conversions for predefined name repairs. This
1086 1.1 jruoho change expands the automatic repairs/conversions for predefined name return
1087 1.1 jruoho values to make Integers, Strings, and Buffers fully interchangeable. Also, a
1088 1.1.1.3 jruoho Buffer can be converted to a Package of Integers if necessary. The nsrepair.c
1089 1.1 jruoho module was completely restructured. Lin Ming, Bob Moore.
1090 1.1 jruoho
1091 1.1.1.3 jruoho Implemented automatic removal of null package elements during predefined name
1092 1.1 jruoho repairs. This change will automatically remove embedded and trailing NULL
1093 1.1 jruoho package elements from returned package objects that are defined to contain a
1094 1.1 jruoho variable number of sub-packages. The driver is then presented with a package
1095 1.1 jruoho with no null elements to deal with. ACPICA BZ 819.
1096 1.1 jruoho
1097 1.1 jruoho Implemented a repair for the predefined _FDE and _GTM names. The expected
1098 1.1 jruoho return value for both names is a Buffer of 5 DWORDs. This repair fixes two
1099 1.1 jruoho possible problems (both seen in the field), where a package of integers is
1100 1.1.1.3 jruoho returned, or a buffer of BYTEs is returned. With assistance from Jung-uk Kim.
1101 1.1 jruoho
1102 1.1 jruoho Implemented additional module-level code support. This change will properly
1103 1.1 jruoho execute module-level code that is not at the root of the namespace (under a
1104 1.1 jruoho Device object, etc.). Now executes the code within the current scope instead
1105 1.1 jruoho of the root. ACPICA BZ 762. Lin Ming.
1106 1.1 jruoho
1107 1.1 jruoho Fixed possible mutex acquisition errors when running _REG methods. Fixes a
1108 1.1 jruoho problem where mutex errors can occur when running a _REG method that is in
1109 1.1 jruoho the same scope as a method-defined operation region or an operation region
1110 1.1 jruoho under a module-level IF block. This type of code is rare, so the problem has
1111 1.1 jruoho not been seen before. ACPICA BZ 826. Lin Ming, Bob Moore.
1112 1.1 jruoho
1113 1.1 jruoho Fixed a possible memory leak during module-level code execution. An object
1114 1.1 jruoho could be leaked for each block of executed module-level code if the
1115 1.1.1.3 jruoho interpreter slack mode is enabled This change deletes any implicitly returned
1116 1.1 jruoho object from the module-level code block. Lin Ming.
1117 1.1 jruoho
1118 1.1 jruoho Removed messages for successful predefined repair(s). The repair mechanism
1119 1.1 jruoho was considered too wordy. Now, messages are only unconditionally emitted if
1120 1.1 jruoho the return object cannot be repaired. Existing messages for successful
1121 1.1 jruoho repairs were converted to ACPI_DEBUG_PRINT messages for now. ACPICA BZ 827.
1122 1.1 jruoho
1123 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
1124 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
1125 1.1.1.3 jruoho debug version of the code includes the debug output trace mechanism and has a
1126 1.1 jruoho much larger code and data size.
1127 1.1 jruoho
1128 1.1 jruoho Previous Release:
1129 1.1 jruoho Non-Debug Version: 86.6K Code, 18.2K Data, 104.8K Total
1130 1.1 jruoho Debug Version: 162.7K Code, 50.8K Data, 213.5K Total
1131 1.1 jruoho Current Release:
1132 1.1 jruoho Non-Debug Version: 87.0K Code, 18.0K Data, 105.0K Total
1133 1.1 jruoho Debug Version: 163.4K Code, 50.8K Data, 214.2K Total
1134 1.1 jruoho
1135 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
1136 1.1 jruoho
1137 1.1.1.3 jruoho iASL: Fixed a regression introduced in 20091112 where intermediate .SRC files
1138 1.1 jruoho were no longer automatically removed at the termination of the compile.
1139 1.1 jruoho
1140 1.1 jruoho acpiexec: Implemented the -f option to specify default region fill value.
1141 1.1 jruoho This option specifies the value used to initialize buffers that simulate
1142 1.1 jruoho operation regions. Default value is zero. Useful for debugging problems that
1143 1.1 jruoho depend on a specific initial value for a region or field.
1144 1.1 jruoho
1145 1.1 jruoho ----------------------------------------
1146 1.1 jruoho 12 November 2009. Summary of changes for version 20091112:
1147 1.1 jruoho
1148 1.1 jruoho 1) ACPI CA Core Subsystem:
1149 1.1 jruoho
1150 1.1 jruoho Implemented a post-order callback to AcpiWalkNamespace. The existing
1151 1.1 jruoho interface only has a pre-order callback. This change adds an additional
1152 1.1 jruoho parameter for a post-order callback which will be more useful for bus scans.
1153 1.1 jruoho ACPICA BZ 779. Lin Ming. Updated the ACPICA Programmer Reference.
1154 1.1 jruoho
1155 1.1 jruoho Modified the behavior of the operation region memory mapping cache for
1156 1.1 jruoho SystemMemory. Ensure that the memory mappings created for operation regions
1157 1.1 jruoho do not cross 4K page boundaries. Crossing a page boundary while mapping
1158 1.1 jruoho regions can cause kernel warnings on some hosts if the pages have different
1159 1.1 jruoho attributes. Such regions are probably BIOS bugs, and this is the workaround.
1160 1.1 jruoho Linux BZ 14445. Lin Ming.
1161 1.1 jruoho
1162 1.1 jruoho Implemented an automatic repair for predefined methods that must return
1163 1.1.1.3 jruoho sorted lists. This change will repair (by sorting) packages returned by _ALR,
1164 1.1.1.3 jruoho _PSS, and _TSS. Drivers can now assume that the packages are correctly sorted
1165 1.1 jruoho and do not contain NULL package elements. Adds one new file,
1166 1.1 jruoho namespace/nsrepair2.c. ACPICA BZ 784. Lin Ming, Bob Moore.
1167 1.1 jruoho
1168 1.1 jruoho Fixed a possible fault during predefined name validation if a return Package
1169 1.1 jruoho object contains NULL elements. Also adds a warning if a NULL element is
1170 1.1.1.3 jruoho followed by any non-null elements. ACPICA BZ 813, 814. Future enhancement may
1171 1.1 jruoho include repair or removal of all such NULL elements where possible.
1172 1.1 jruoho
1173 1.1 jruoho Implemented additional module-level executable AML code support. This change
1174 1.1 jruoho will execute module-level code that is not at the root of the namespace
1175 1.1.1.3 jruoho (under a Device object, etc.) at table load time. Module-level executable AML
1176 1.1 jruoho code has been illegal since ACPI 2.0. ACPICA BZ 762. Lin Ming.
1177 1.1 jruoho
1178 1.1 jruoho Implemented a new internal function to create Integer objects. This function
1179 1.1 jruoho simplifies miscellaneous object creation code. ACPICA BZ 823.
1180 1.1 jruoho
1181 1.1 jruoho Reduced the severity of predefined repair messages, Warning to Info. Since
1182 1.1 jruoho the object was successfully repaired, a warning is too severe. Reduced to an
1183 1.1.1.3 jruoho info message for now. These messages may eventually be changed to debug-only.
1184 1.1 jruoho ACPICA BZ 812.
1185 1.1 jruoho
1186 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
1187 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
1188 1.1.1.3 jruoho debug version of the code includes the debug output trace mechanism and has a
1189 1.1 jruoho much larger code and data size.
1190 1.1 jruoho
1191 1.1 jruoho Previous Release:
1192 1.1 jruoho Non-Debug Version: 85.8K Code, 18.0K Data, 103.8K Total
1193 1.1 jruoho Debug Version: 161.8K Code, 50.6K Data, 212.4K Total
1194 1.1 jruoho Current Release:
1195 1.1 jruoho Non-Debug Version: 86.6K Code, 18.2K Data, 104.8K Total
1196 1.1 jruoho Debug Version: 162.7K Code, 50.8K Data, 213.5K Total
1197 1.1 jruoho
1198 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
1199 1.1 jruoho
1200 1.1 jruoho iASL: Implemented Switch() with While(1) so that Break works correctly. This
1201 1.1 jruoho change correctly implements the Switch operator with a surrounding While(1)
1202 1.1 jruoho so that the Break operator works as expected. ACPICA BZ 461. Lin Ming.
1203 1.1 jruoho
1204 1.1 jruoho iASL: Added a message if a package initializer list is shorter than package
1205 1.1 jruoho length. Adds a new remark for a Package() declaration if an initializer list
1206 1.1 jruoho exists, but is shorter than the declared length of the package. Although
1207 1.1 jruoho technically legal, this is probably a coding error and it is seen in the
1208 1.1 jruoho field. ACPICA BZ 815. Lin Ming, Bob Moore.
1209 1.1 jruoho
1210 1.1.1.3 jruoho iASL: Fixed a problem where the compiler could fault after the maximum number
1211 1.1 jruoho of errors was reached (200).
1212 1.1 jruoho
1213 1.1.1.3 jruoho acpixtract: Fixed a possible warning for pointer cast if the compiler warning
1214 1.1 jruoho level set very high.
1215 1.1 jruoho
1216 1.1 jruoho ----------------------------------------
1217 1.1 jruoho 13 October 2009. Summary of changes for version 20091013:
1218 1.1 jruoho
1219 1.1 jruoho 1) ACPI CA Core Subsystem:
1220 1.1 jruoho
1221 1.1 jruoho Fixed a problem where an Operation Region _REG method could be executed more
1222 1.1 jruoho than once. If a custom address space handler is installed by the host before
1223 1.1 jruoho the "initialize operation regions" phase of the ACPICA initialization, any
1224 1.1 jruoho _REG methods for that address space could be executed twice. This change
1225 1.1 jruoho fixes the problem. ACPICA BZ 427. Lin Ming.
1226 1.1 jruoho
1227 1.1 jruoho Fixed a possible memory leak for the Scope() ASL operator. When the exact
1228 1.1 jruoho invocation of "Scope(\)" is executed (change scope to root), one internal
1229 1.1 jruoho operand object was leaked. Lin Ming.
1230 1.1 jruoho
1231 1.1 jruoho Implemented a run-time repair for the _MAT predefined method. If the _MAT
1232 1.1 jruoho return value is defined as a Field object in the AML, and the field
1233 1.1.1.3 jruoho size is less than or equal to the default width of an integer (32 or 64),_MAT
1234 1.1 jruoho can incorrectly return an Integer instead of a Buffer. ACPICA now
1235 1.1 jruoho automatically repairs this problem. ACPICA BZ 810.
1236 1.1 jruoho
1237 1.1 jruoho Implemented a run-time repair for the _BIF and _BIX predefined methods. The
1238 1.1 jruoho "OEM Information" field is often incorrectly returned as an Integer with
1239 1.1 jruoho value zero if the field is not supported by the platform. This is due to an
1240 1.1 jruoho ambiguity in the ACPI specification. The field should always be a string.
1241 1.1 jruoho ACPICA now automatically repairs this problem by returning a NULL string
1242 1.1 jruoho within the returned Package. ACPICA BZ 807.
1243 1.1 jruoho
1244 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
1245 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
1246 1.1.1.3 jruoho debug version of the code includes the debug output trace mechanism and has a
1247 1.1 jruoho much larger code and data size.
1248 1.1 jruoho
1249 1.1 jruoho Previous Release:
1250 1.1 jruoho Non-Debug Version: 85.6K Code, 18.0K Data, 103.6K Total
1251 1.1 jruoho Debug Version: 161.7K Code, 50.9K Data, 212.6K Total
1252 1.1 jruoho Current Release:
1253 1.1 jruoho Non-Debug Version: 85.8K Code, 18.0K Data, 103.8K Total
1254 1.1 jruoho Debug Version: 161.8K Code, 50.6K Data, 212.4K Total
1255 1.1 jruoho
1256 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
1257 1.1 jruoho
1258 1.1 jruoho Disassembler: Fixed a problem where references to external symbols that
1259 1.1 jruoho contained one or more parent-prefixes (carats) were not handled correctly,
1260 1.1 jruoho possibly causing a fault. ACPICA BZ 806. Lin Ming.
1261 1.1 jruoho
1262 1.1 jruoho Disassembler: Restructured the code so that all functions that handle
1263 1.1 jruoho external symbols are in a single module. One new file is added,
1264 1.1 jruoho common/dmextern.c.
1265 1.1 jruoho
1266 1.1 jruoho AML Debugger: Added a max count argument for the Batch command (which
1267 1.1 jruoho executes multiple predefined methods within the namespace.)
1268 1.1 jruoho
1269 1.1 jruoho iASL: Updated the compiler documentation (User Reference.) Available at
1270 1.1 jruoho http://www.acpica.org/documentation/. ACPICA BZ 750.
1271 1.1 jruoho
1272 1.1 jruoho AcpiXtract: Updated for Lint and other formatting changes. Close all open
1273 1.1 jruoho files.
1274 1.1 jruoho
1275 1.1 jruoho ----------------------------------------
1276 1.1 jruoho 03 September 2009. Summary of changes for version 20090903:
1277 1.1 jruoho
1278 1.1 jruoho 1) ACPI CA Core Subsystem:
1279 1.1 jruoho
1280 1.1 jruoho For Windows Vista compatibility, added the automatic execution of an _INI
1281 1.1 jruoho method located at the namespace root (\_INI). This method is executed at
1282 1.1 jruoho table load time. This support is in addition to the automatic execution of
1283 1.1 jruoho \_SB._INI. Lin Ming.
1284 1.1 jruoho
1285 1.1 jruoho Fixed a possible memory leak in the interpreter for AML package objects if
1286 1.1 jruoho the package initializer list is longer than the defined size of the package.
1287 1.1 jruoho This apparently can only happen if the BIOS changes the package size on the
1288 1.1 jruoho fly (seen in a _PSS object), as ASL compilers do not allow this. The
1289 1.1.1.3 jruoho interpreter will truncate the package to the defined size (and issue an error
1290 1.1.1.3 jruoho message), but previously could leave the extra objects undeleted if they were
1291 1.1 jruoho pre-created during the argument processing (such is the case if the package
1292 1.1 jruoho consists of a number of sub-packages as in the _PSS.) ACPICA BZ 805.
1293 1.1 jruoho
1294 1.1 jruoho Fixed a problem seen when a Buffer or String is stored to itself via ASL.
1295 1.1 jruoho This has been reported in the field. Previously, ACPICA would zero out the
1296 1.1 jruoho buffer/string. Now, the operation is treated as a noop. Provides Windows
1297 1.1 jruoho compatibility. ACPICA BZ 803. Lin Ming.
1298 1.1 jruoho
1299 1.1 jruoho Removed an extraneous error message for ASL constructs of the form
1300 1.1 jruoho Store(LocalX,LocalX) when LocalX is uninitialized. These curious statements
1301 1.1 jruoho are seen in many BIOSs and are once again treated as NOOPs and no error is
1302 1.1 jruoho emitted when they are encountered. ACPICA BZ 785.
1303 1.1 jruoho
1304 1.1 jruoho Fixed an extraneous warning message if a _DSM reserved method returns a
1305 1.1 jruoho Package object. _DSM can return any type of object, so validation on the
1306 1.1 jruoho return type cannot be performed. ACPICA BZ 802.
1307 1.1 jruoho
1308 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
1309 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
1310 1.1.1.3 jruoho debug version of the code includes the debug output trace mechanism and has a
1311 1.1 jruoho much larger code and data size.
1312 1.1 jruoho
1313 1.1 jruoho Previous Release:
1314 1.1 jruoho Non-Debug Version: 85.5K Code, 18.0K Data, 103.5K Total
1315 1.1 jruoho Debug Version: 161.6K Code, 50.9K Data, 212.5K Total
1316 1.1 jruoho Current Release:
1317 1.1 jruoho Non-Debug Version: 85.6K Code, 18.0K Data, 103.6K Total
1318 1.1 jruoho Debug Version: 161.7K Code, 50.9K Data, 212.6K Total
1319 1.1 jruoho
1320 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
1321 1.1 jruoho
1322 1.1 jruoho iASL: Fixed a problem with the use of the Alias operator and Resource
1323 1.1 jruoho Templates. The correct alias is now constructed and no error is emitted.
1324 1.1 jruoho ACPICA BZ 738.
1325 1.1 jruoho
1326 1.1 jruoho iASL: Implemented the -I option to specify additional search directories for
1327 1.1 jruoho include files. Allows multiple additional search paths for include files.
1328 1.1 jruoho Directories are searched in the order specified on the command line (after
1329 1.1 jruoho the local directory is searched.) ACPICA BZ 800.
1330 1.1 jruoho
1331 1.1 jruoho iASL: Fixed a problem where the full pathname for include files was not
1332 1.1 jruoho emitted for warnings/errors. This caused the IDE support to not work
1333 1.1 jruoho properly. ACPICA BZ 765.
1334 1.1 jruoho
1335 1.1 jruoho iASL: Implemented the -@ option to specify a Windows-style response file
1336 1.1 jruoho containing additional command line options. ACPICA BZ 801.
1337 1.1 jruoho
1338 1.1 jruoho AcpiExec: Added support to load multiple AML files simultaneously (such as a
1339 1.1 jruoho DSDT and multiple SSDTs). Also added support for wildcards within the AML
1340 1.1 jruoho pathname. These features allow all machine tables to be easily loaded and
1341 1.1 jruoho debugged together. ACPICA BZ 804.
1342 1.1 jruoho
1343 1.1 jruoho Disassembler: Added missing support for disassembly of HEST table Error Bank
1344 1.1 jruoho subtables.
1345 1.1 jruoho
1346 1.1 jruoho ----------------------------------------
1347 1.1 jruoho 30 July 2009. Summary of changes for version 20090730:
1348 1.1 jruoho
1349 1.1 jruoho The ACPI 4.0 implementation for ACPICA is complete with this release.
1350 1.1 jruoho
1351 1.1 jruoho 1) ACPI CA Core Subsystem:
1352 1.1 jruoho
1353 1.1 jruoho ACPI 4.0: Added header file support for all new and changed ACPI tables.
1354 1.1 jruoho Completely new tables are: IBFT, IVRS, MSCT, and WAET. Tables that are new
1355 1.1 jruoho for ACPI 4.0, but have previously been supported in ACPICA are: CPEP, BERT,
1356 1.1 jruoho EINJ, ERST, and HEST. Other newly supported tables are: UEFI and WDAT. There
1357 1.1 jruoho have been some ACPI 4.0 changes to other existing tables. Split the large
1358 1.1 jruoho actbl1.h header into the existing actbl2.h header. ACPICA BZ 774.
1359 1.1 jruoho
1360 1.1.1.3 jruoho ACPI 4.0: Implemented predefined name validation for all new names. There are
1361 1.1.1.3 jruoho 31 new names in ACPI 4.0. The predefined validation module was split into two
1362 1.1 jruoho files. The new file is namespace/nsrepair.c. ACPICA BZ 770.
1363 1.1 jruoho
1364 1.1 jruoho Implemented support for so-called "module-level executable code". This is
1365 1.1.1.3 jruoho executable AML code that exists outside of any control method and is intended
1366 1.1.1.3 jruoho to be executed at table load time. Although illegal since ACPI 2.0, this type
1367 1.1 jruoho of code still exists and is apparently still being created. Blocks of this
1368 1.1 jruoho code are now detected and executed as intended. Currently, the code blocks
1369 1.1 jruoho must exist under either an If, Else, or While construct; these are the
1370 1.1 jruoho typical cases seen in the field. ACPICA BZ 762. Lin Ming.
1371 1.1 jruoho
1372 1.1 jruoho Implemented an automatic dynamic repair for predefined names that return
1373 1.1 jruoho nested Package objects. This applies to predefined names that are defined to
1374 1.1 jruoho return a variable-length Package of sub-packages. If the number of sub-
1375 1.1 jruoho packages is one, BIOS code is occasionally seen that creates a simple single
1376 1.1 jruoho package with no sub-packages. This code attempts to fix the problem by
1377 1.1 jruoho wrapping a new package object around the existing package. These methods can
1378 1.1 jruoho be repaired: _ALR, _CSD, _HPX, _MLS, _PRT, _PSS, _TRT, and _TSS. ACPICA BZ
1379 1.1 jruoho 790.
1380 1.1 jruoho
1381 1.1 jruoho Fixed a regression introduced in 20090625 for the AcpiGetDevices interface.
1382 1.1.1.3 jruoho The _HID/_CID matching was broken and no longer matched IDs correctly. ACPICA
1383 1.1 jruoho BZ 793.
1384 1.1 jruoho
1385 1.1 jruoho Fixed a problem with AcpiReset where the reset would silently fail if the
1386 1.1 jruoho register was one of the protected I/O ports. AcpiReset now bypasses the port
1387 1.1 jruoho validation mechanism. This may eventually be driven into the AcpiRead/Write
1388 1.1 jruoho interfaces.
1389 1.1 jruoho
1390 1.1 jruoho Fixed a regression related to the recent update of the AcpiRead/Write
1391 1.1 jruoho interfaces. A sleep/suspend could fail if the optional PM2 Control register
1392 1.1 jruoho does not exist during an attempt to write the Bus Master Arbitration bit.
1393 1.1 jruoho (However, some hosts already delete the code that writes this bit, and the
1394 1.1 jruoho code may in fact be obsolete at this date.) ACPICA BZ 799.
1395 1.1 jruoho
1396 1.1.1.3 jruoho Fixed a problem where AcpiTerminate could fault if inadvertently called twice
1397 1.1 jruoho in succession. ACPICA BZ 795.
1398 1.1 jruoho
1399 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
1400 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
1401 1.1.1.3 jruoho debug version of the code includes the debug output trace mechanism and has a
1402 1.1 jruoho much larger code and data size.
1403 1.1 jruoho
1404 1.1 jruoho Previous Release:
1405 1.1 jruoho Non-Debug Version: 84.7K Code, 17.8K Data, 102.5K Total
1406 1.1 jruoho Debug Version: 160.5K Code, 50.6K Data, 211.1K Total
1407 1.1 jruoho Current Release:
1408 1.1 jruoho Non-Debug Version: 85.5K Code, 18.0K Data, 103.5K Total
1409 1.1 jruoho Debug Version: 161.6K Code, 50.9K Data, 212.5K Total
1410 1.1 jruoho
1411 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
1412 1.1 jruoho
1413 1.1 jruoho ACPI 4.0: Implemented disassembler support for all new ACPI tables and
1414 1.1 jruoho changes to existing tables. ACPICA BZ 775.
1415 1.1 jruoho
1416 1.1 jruoho ----------------------------------------
1417 1.1 jruoho 25 June 2009. Summary of changes for version 20090625:
1418 1.1 jruoho
1419 1.1 jruoho The ACPI 4.0 Specification was released on June 16 and is available at
1420 1.1 jruoho www.acpi.info. ACPICA implementation of ACPI 4.0 is underway and will
1421 1.1 jruoho continue for the next few releases.
1422 1.1 jruoho
1423 1.1 jruoho 1) ACPI CA Core Subsystem:
1424 1.1 jruoho
1425 1.1 jruoho ACPI 4.0: Implemented interpreter support for the IPMI operation region
1426 1.1 jruoho address space. Includes support for bi-directional data buffers and an IPMI
1427 1.1 jruoho address space handler (to be installed by an IPMI device driver.) ACPICA BZ
1428 1.1 jruoho 773. Lin Ming.
1429 1.1 jruoho
1430 1.1 jruoho ACPI 4.0: Added changes for existing ACPI tables - FACS and SRAT. Includes
1431 1.1 jruoho support in both the header files and the disassembler.
1432 1.1 jruoho
1433 1.1 jruoho Completed a major update for the AcpiGetObjectInfo external interface.
1434 1.1 jruoho Changes include:
1435 1.1 jruoho - Support for variable, unlimited length HID, UID, and CID strings.
1436 1.1 jruoho - Support Processor objects the same as Devices (HID,UID,CID,ADR,STA, etc.)
1437 1.1 jruoho - Call the _SxW power methods on behalf of a device object.
1438 1.1 jruoho - Determine if a device is a PCI root bridge.
1439 1.1 jruoho - Change the ACPI_BUFFER parameter to ACPI_DEVICE_INFO.
1440 1.1 jruoho These changes will require an update to all callers of this interface. See
1441 1.1 jruoho the updated ACPICA Programmer Reference for details. One new source file has
1442 1.1 jruoho been added - utilities/utids.c. ACPICA BZ 368, 780.
1443 1.1 jruoho
1444 1.1 jruoho Updated the AcpiRead and AcpiWrite external interfaces to support 64-bit
1445 1.1 jruoho transfers. The Value parameter has been extended from 32 bits to 64 bits in
1446 1.1.1.3 jruoho order to support new ACPI 4.0 tables. These changes will require an update to
1447 1.1 jruoho all callers of these interfaces. See the ACPICA Programmer Reference for
1448 1.1 jruoho details. ACPICA BZ 768.
1449 1.1 jruoho
1450 1.1 jruoho Fixed several problems with AcpiAttachData. The handler was not invoked when
1451 1.1 jruoho the host node was deleted. The data sub-object was not automatically deleted
1452 1.1 jruoho when the host node was deleted. The interface to the handler had an unused
1453 1.1 jruoho parameter, this was removed. ACPICA BZ 778.
1454 1.1 jruoho
1455 1.1 jruoho Enhanced the function that dumps ACPI table headers. All non-printable
1456 1.1 jruoho characters in the string fields are now replaced with '?' (Signature, OemId,
1457 1.1 jruoho OemTableId, and CompilerId.) ACPI tables with non-printable characters in
1458 1.1 jruoho these fields are occasionally seen in the field. ACPICA BZ 788.
1459 1.1 jruoho
1460 1.1 jruoho Fixed a problem with predefined method repair code where the code that
1461 1.1 jruoho attempts to repair/convert an object of incorrect type is only executed on
1462 1.1 jruoho the first time the predefined method is called. The mechanism that disables
1463 1.1 jruoho warnings on subsequent calls was interfering with the repair mechanism.
1464 1.1 jruoho ACPICA BZ 781.
1465 1.1 jruoho
1466 1.1 jruoho Fixed a possible memory leak in the predefined validation/repair code when a
1467 1.1 jruoho buffer is automatically converted to an expected string object.
1468 1.1 jruoho
1469 1.1 jruoho Removed obsolete 16-bit files from the distribution and from the current git
1470 1.1 jruoho tree head. ACPICA BZ 776.
1471 1.1 jruoho
1472 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
1473 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
1474 1.1.1.3 jruoho debug version of the code includes the debug output trace mechanism and has a
1475 1.1 jruoho much larger code and data size.
1476 1.1 jruoho
1477 1.1 jruoho Previous Release:
1478 1.1 jruoho Non-Debug Version: 83.4K Code, 17.5K Data, 100.9K Total
1479 1.1 jruoho Debug Version: 158.9K Code, 50.0K Data, 208.9K Total
1480 1.1 jruoho Current Release:
1481 1.1 jruoho Non-Debug Version: 84.7K Code, 17.8K Data, 102.5K Total
1482 1.1 jruoho Debug Version: 160.5K Code, 50.6K Data, 211.1K Total
1483 1.1 jruoho
1484 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
1485 1.1 jruoho
1486 1.1 jruoho ACPI 4.0: iASL and Disassembler - implemented support for the new IPMI
1487 1.1 jruoho operation region keyword. ACPICA BZ 771, 772. Lin Ming.
1488 1.1 jruoho
1489 1.1 jruoho ACPI 4.0: iASL - implemented compile-time validation support for all new
1490 1.1 jruoho predefined names and control methods (31 total). ACPICA BZ 769.
1491 1.1 jruoho
1492 1.1 jruoho ----------------------------------------
1493 1.1 jruoho 21 May 2009. Summary of changes for version 20090521:
1494 1.1 jruoho
1495 1.1 jruoho 1) ACPI CA Core Subsystem:
1496 1.1 jruoho
1497 1.1 jruoho Disabled the preservation of the SCI enable bit in the PM1 control register.
1498 1.1.1.3 jruoho The SCI enable bit (bit 0, SCI_EN) is defined by the ACPI specification to be
1499 1.1 jruoho a "preserved" bit - "OSPM always preserves this bit position", section
1500 1.1 jruoho 4.7.3.2.1. However, some machines fail if this bit is in fact preserved
1501 1.1 jruoho because the bit needs to be explicitly set by the OS as a workaround. No
1502 1.1 jruoho machines fail if the bit is not preserved. Therefore, ACPICA no longer
1503 1.1 jruoho attempts to preserve this bit.
1504 1.1 jruoho
1505 1.1 jruoho Fixed a problem in AcpiRsGetPciRoutingTableLength where an invalid or
1506 1.1 jruoho incorrectly formed _PRT package could cause a fault. Added validation to
1507 1.1 jruoho ensure that each package element is actually a sub-package.
1508 1.1 jruoho
1509 1.1 jruoho Implemented a new interface to install or override a single control method,
1510 1.1.1.3 jruoho AcpiInstallMethod. This interface is useful when debugging in order to repair
1511 1.1 jruoho an existing method or to install a missing method without having to override
1512 1.1 jruoho the entire ACPI table. See the ACPICA Programmer Reference for use and
1513 1.1 jruoho examples. Lin Ming, Bob Moore.
1514 1.1 jruoho
1515 1.1 jruoho Fixed several reference count issues with the DdbHandle object that is
1516 1.1 jruoho created from a Load or LoadTable operator. Prevent premature deletion of the
1517 1.1 jruoho object. Also, mark the object as invalid once the table has been unloaded.
1518 1.1 jruoho This is needed because the handle itself may not be deleted after the table
1519 1.1 jruoho unload, depending on whether it has been stored in a named object by the
1520 1.1 jruoho caller. Lin Ming.
1521 1.1 jruoho
1522 1.1 jruoho Fixed a problem with Mutex Sync Levels. Fixed a problem where if multiple
1523 1.1 jruoho mutexes of the same sync level are acquired but then not released in strict
1524 1.1.1.3 jruoho opposite order, the internally maintained Current Sync Level becomes confused
1525 1.1 jruoho and can cause subsequent execution errors. ACPICA BZ 471.
1526 1.1 jruoho
1527 1.1 jruoho Changed the allowable release order for ASL mutex objects. The ACPI 4.0
1528 1.1 jruoho specification has been changed to make the SyncLevel for mutex objects more
1529 1.1 jruoho useful. When releasing a mutex, the SyncLevel of the mutex must now be the
1530 1.1 jruoho same as the current sync level. This makes more sense than the previous rule
1531 1.1 jruoho (SyncLevel less than or equal). This change updates the code to match the
1532 1.1 jruoho specification.
1533 1.1 jruoho
1534 1.1 jruoho Fixed a problem with the local version of the AcpiOsPurgeCache function. The
1535 1.1 jruoho (local) cache must be locked during all cache object deletions. Andrew
1536 1.1 jruoho Baumann.
1537 1.1 jruoho
1538 1.1 jruoho Updated the Load operator to use operation region interfaces. This replaces
1539 1.1 jruoho direct memory mapping with region access calls. Now, all region accesses go
1540 1.1 jruoho through the installed region handler as they should.
1541 1.1 jruoho
1542 1.1 jruoho Simplified and optimized the NsGetNextNode function. Reduced parameter count
1543 1.1 jruoho and reduced code for this frequently used function.
1544 1.1 jruoho
1545 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
1546 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
1547 1.1.1.3 jruoho debug version of the code includes the debug output trace mechanism and has a
1548 1.1 jruoho much larger code and data size.
1549 1.1 jruoho
1550 1.1 jruoho Previous Release:
1551 1.1 jruoho Non-Debug Version: 82.8K Code, 17.5K Data, 100.3K Total
1552 1.1 jruoho Debug Version: 158.0K Code, 49.9K Data, 207.9K Total
1553 1.1 jruoho Current Release:
1554 1.1 jruoho Non-Debug Version: 83.4K Code, 17.5K Data, 100.9K Total
1555 1.1 jruoho Debug Version: 158.9K Code, 50.0K Data, 208.9K Total
1556 1.1 jruoho
1557 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
1558 1.1 jruoho
1559 1.1 jruoho Disassembler: Fixed some issues with DMAR, HEST, MADT tables. Some problems
1560 1.1 jruoho with sub-table disassembly and handling invalid sub-tables. Attempt recovery
1561 1.1 jruoho after an invalid sub-table ID.
1562 1.1 jruoho
1563 1.1 jruoho ----------------------------------------
1564 1.1 jruoho 22 April 2009. Summary of changes for version 20090422:
1565 1.1 jruoho
1566 1.1 jruoho 1) ACPI CA Core Subsystem:
1567 1.1 jruoho
1568 1.1 jruoho Fixed a compatibility issue with the recently released I/O port protection
1569 1.1 jruoho mechanism. For windows compatibility, 1) On a port protection violation,
1570 1.1 jruoho simply ignore the request and do not return an exception (allow the control
1571 1.1 jruoho method to continue execution.) 2) If only part of the request overlaps a
1572 1.1.1.3 jruoho protected port, read/write the individual ports that are not protected. Linux
1573 1.1 jruoho BZ 13036. Lin Ming
1574 1.1 jruoho
1575 1.1.1.3 jruoho Enhanced the execution of the ASL/AML BreakPoint operator so that it actually
1576 1.1 jruoho breaks into the AML debugger if the debugger is present. This matches the
1577 1.1 jruoho ACPI-defined behavior.
1578 1.1 jruoho
1579 1.1 jruoho Fixed several possible warnings related to the use of the configurable
1580 1.1 jruoho ACPI_THREAD_ID. This type can now be configured as either an integer or a
1581 1.1 jruoho pointer with no warnings. Also fixes several warnings in printf-like
1582 1.1 jruoho statements for the 64-bit build when the type is configured as a pointer.
1583 1.1 jruoho ACPICA BZ 766, 767.
1584 1.1 jruoho
1585 1.1 jruoho Fixed a number of possible warnings when compiling with gcc 4+ (depending on
1586 1.1 jruoho warning options.) Examples include printf formats, aliasing, unused globals,
1587 1.1 jruoho missing prototypes, missing switch default statements, use of non-ANSI
1588 1.1.1.3 jruoho library functions, use of non-ANSI constructs. See generate/unix/Makefile for
1589 1.1 jruoho a list of warning options used with gcc 3 and 4. ACPICA BZ 735.
1590 1.1 jruoho
1591 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
1592 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
1593 1.1.1.3 jruoho debug version of the code includes the debug output trace mechanism and has a
1594 1.1 jruoho much larger code and data size.
1595 1.1 jruoho
1596 1.1 jruoho Previous Release:
1597 1.1 jruoho Non-Debug Version: 82.6K Code, 17.6K Data, 100.2K Total
1598 1.1 jruoho Debug Version: 157.7K Code, 49.9K Data, 207.6K Total
1599 1.1 jruoho Current Release:
1600 1.1 jruoho Non-Debug Version: 82.8K Code, 17.5K Data, 100.3K Total
1601 1.1 jruoho Debug Version: 158.0K Code, 49.9K Data, 207.9K Total
1602 1.1 jruoho
1603 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
1604 1.1 jruoho
1605 1.1.1.3 jruoho iASL: Fixed a generation warning from Bison 2.3 and fixed several warnings on
1606 1.1 jruoho the 64-bit build.
1607 1.1 jruoho
1608 1.1.1.3 jruoho iASL: Fixed a problem where the Unix/Linux versions of the compiler could not
1609 1.1 jruoho correctly digest Windows/DOS formatted files (with CR/LF).
1610 1.1 jruoho
1611 1.1 jruoho iASL: Added a new option for "quiet mode" (-va) that produces only the
1612 1.1 jruoho compilation summary, not individual errors and warnings. Useful for large
1613 1.1 jruoho batch compilations.
1614 1.1 jruoho
1615 1.1 jruoho AcpiExec: Implemented a new option (-z) to enable a forced semaphore/mutex
1616 1.1 jruoho timeout that can be used to detect hang conditions during execution of AML
1617 1.1 jruoho code (includes both internal semaphores and AML-defined mutexes and events.)
1618 1.1 jruoho
1619 1.1 jruoho Added new makefiles for the generation of acpica in a generic unix-like
1620 1.1 jruoho environment. These makefiles are intended to generate the acpica tools and
1621 1.1 jruoho utilities from the original acpica git source tree structure.
1622 1.1 jruoho
1623 1.1 jruoho Test Suites: Updated and cleaned up the documentation files. Updated the
1624 1.1 jruoho copyrights to 2009, affecting all source files. Use the new version of iASL
1625 1.1 jruoho with quiet mode. Increased the number of available semaphores in the Windows
1626 1.1 jruoho OSL, allowing the aslts to execute fully on Windows. For the Unix OSL, added
1627 1.1 jruoho an alternate implementation of the semaphore timeout to allow aslts to
1628 1.1 jruoho execute fully on Cygwin.
1629 1.1 jruoho
1630 1.1 jruoho ----------------------------------------
1631 1.1 jruoho 20 March 2009. Summary of changes for version 20090320:
1632 1.1 jruoho
1633 1.1 jruoho 1) ACPI CA Core Subsystem:
1634 1.1 jruoho
1635 1.1 jruoho Fixed a possible race condition between AcpiWalkNamespace and dynamic table
1636 1.1.1.3 jruoho unloads. Added a reader/writer locking mechanism to allow multiple concurrent
1637 1.1.1.3 jruoho namespace walks (readers), but block a dynamic table unload until it can gain
1638 1.1 jruoho exclusive write access to the namespace. This fixes a problem where a table
1639 1.1 jruoho unload could (possibly catastrophically) delete the portion of the namespace
1640 1.1 jruoho that is currently being examined by a walk. Adds a new file, utlock.c, that
1641 1.1 jruoho implements the reader/writer lock mechanism. ACPICA BZ 749.
1642 1.1 jruoho
1643 1.1 jruoho Fixed a regression introduced in version 20090220 where a change to the FADT
1644 1.1 jruoho handling could cause the ACPICA subsystem to access non-existent I/O ports.
1645 1.1 jruoho
1646 1.1 jruoho Modified the handling of FADT register and table (FACS/DSDT) addresses. The
1647 1.1 jruoho FADT can contain both 32-bit and 64-bit versions of these addresses.
1648 1.1 jruoho Previously, the 64-bit versions were favored, meaning that if both 32 and 64
1649 1.1 jruoho versions were valid, but not equal, the 64-bit version was used. This was
1650 1.1 jruoho found to cause some machines to fail. Now, in this case, the 32-bit version
1651 1.1 jruoho is used instead. This now matches the Windows behavior.
1652 1.1 jruoho
1653 1.1 jruoho Implemented a new mechanism to protect certain I/O ports. Provides Microsoft
1654 1.1 jruoho compatibility and protects the standard PC I/O ports from access via AML
1655 1.1 jruoho code. Adds a new file, hwvalid.c
1656 1.1 jruoho
1657 1.1 jruoho Fixed a possible extraneous warning message from the FADT support. The
1658 1.1 jruoho message warns of a 32/64 length mismatch between the legacy and GAS
1659 1.1 jruoho definitions for a register.
1660 1.1 jruoho
1661 1.1 jruoho Removed the obsolete AcpiOsValidateAddress OSL interface. This interface is
1662 1.1 jruoho made obsolete by the port protection mechanism above. It was previously used
1663 1.1 jruoho to validate the entire address range of an operation region, which could be
1664 1.1 jruoho incorrect if the range included illegal ports, but fields within the
1665 1.1 jruoho operation region did not actually access those ports. Validation is now
1666 1.1 jruoho performed on a per-field basis instead of the entire region.
1667 1.1 jruoho
1668 1.1 jruoho Modified the handling of the PM1 Status Register ignored bit (bit 11.)
1669 1.1 jruoho Ignored bits must be "preserved" according to the ACPI spec. Usually, this
1670 1.1 jruoho means a read/modify/write when writing to the register. However, for status
1671 1.1.1.3 jruoho registers, writing a one means clear the event. Writing a zero means preserve
1672 1.1 jruoho the event (do not clear.) This behavior is clarified in the ACPI 4.0 spec,
1673 1.1 jruoho and the ACPICA code now simply always writes a zero to the ignored bit.
1674 1.1 jruoho
1675 1.1 jruoho Modified the handling of ignored bits for the PM1 A/B Control Registers. As
1676 1.1 jruoho per the ACPI specification, for the control registers, preserve
1677 1.1 jruoho (read/modify/write) all bits that are defined as either reserved or ignored.
1678 1.1 jruoho
1679 1.1 jruoho Updated the handling of write-only bits in the PM1 A/B Control Registers.
1680 1.1 jruoho When reading the register, zero the write-only bits as per the ACPI spec.
1681 1.1 jruoho ACPICA BZ 443. Lin Ming.
1682 1.1 jruoho
1683 1.1 jruoho Removed "Linux" from the list of supported _OSI strings. Linux no longer
1684 1.1 jruoho wants to reply true to this request. The Windows strings are the only paths
1685 1.1 jruoho through the AML that are tested and known to work properly.
1686 1.1 jruoho
1687 1.1 jruoho Previous Release:
1688 1.1 jruoho Non-Debug Version: 82.0K Code, 17.5K Data, 99.5K Total
1689 1.1 jruoho Debug Version: 156.9K Code, 49.8K Data, 206.7K Total
1690 1.1 jruoho Current Release:
1691 1.1 jruoho Non-Debug Version: 82.6K Code, 17.6K Data, 100.2K Total
1692 1.1 jruoho Debug Version: 157.7K Code, 49.9K Data, 207.6K Total
1693 1.1 jruoho
1694 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
1695 1.1 jruoho
1696 1.1 jruoho Acpiexec: Split the large aeexec.c file into two new files, aehandlers.c and
1697 1.1 jruoho aetables.c
1698 1.1 jruoho
1699 1.1 jruoho ----------------------------------------
1700 1.1 jruoho 20 February 2009. Summary of changes for version 20090220:
1701 1.1 jruoho
1702 1.1 jruoho 1) ACPI CA Core Subsystem:
1703 1.1 jruoho
1704 1.1 jruoho Optimized the ACPI register locking. Removed locking for reads from the ACPI
1705 1.1 jruoho bit registers in PM1 Status, Enable, Control, and PM2 Control. The lock is
1706 1.1 jruoho not required when reading the single-bit registers. The
1707 1.1 jruoho AcpiGetRegisterUnlocked function is no longer needed and has been removed.
1708 1.1 jruoho This will improve performance for reads on these registers. ACPICA BZ 760.
1709 1.1 jruoho
1710 1.1 jruoho Fixed the parameter validation for AcpiRead/Write. Now return
1711 1.1.1.3 jruoho AE_BAD_PARAMETER if the input register pointer is null, and AE_BAD_ADDRESS if
1712 1.1 jruoho the register has an address of zero. Previously, these cases simply returned
1713 1.1 jruoho AE_OK. For optional registers such as PM1B status/enable/control, the caller
1714 1.1 jruoho should check for a valid register address before calling. ACPICA BZ 748.
1715 1.1 jruoho
1716 1.1 jruoho Renamed the external ACPI bit register access functions. Renamed
1717 1.1 jruoho AcpiGetRegister and AcpiSetRegister to clarify the purpose of these
1718 1.1 jruoho functions. The new names are AcpiReadBitRegister and AcpiWriteBitRegister.
1719 1.1 jruoho Also, restructured the code for these functions by simplifying the code path
1720 1.1 jruoho and condensing duplicate code to reduce code size.
1721 1.1 jruoho
1722 1.1 jruoho Added new functions to transparently handle the possibly split PM1 A/B
1723 1.1 jruoho registers. AcpiHwReadMultiple and AcpiHwWriteMultiple. These two functions
1724 1.1.1.3 jruoho now handle the split registers for PM1 Status, Enable, and Control. ACPICA BZ
1725 1.1 jruoho 746.
1726 1.1 jruoho
1727 1.1 jruoho Added a function to handle the PM1 control registers, AcpiHwWritePm1Control.
1728 1.1.1.3 jruoho This function writes both of the PM1 control registers (A/B). These registers
1729 1.1 jruoho are different than the PM1 A/B status and enable registers in that different
1730 1.1 jruoho values can be written to the A/B registers. Most notably, the SLP_TYP bits
1731 1.1.1.3 jruoho can be different, as per the values returned from the _Sx predefined methods.
1732 1.1 jruoho
1733 1.1 jruoho Removed an extra register write within AcpiHwClearAcpiStatus. This function
1734 1.1 jruoho was writing an optional PM1B status register twice. The existing call to the
1735 1.1 jruoho low-level AcpiHwRegisterWrite automatically handles a possibly split PM1 A/B
1736 1.1 jruoho register. ACPICA BZ 751.
1737 1.1 jruoho
1738 1.1.1.3 jruoho Split out the PM1 Status registers from the FADT. Added new globals for these
1739 1.1 jruoho registers (A/B), similar to the way the PM1 Enable registers are handled.
1740 1.1 jruoho Instead of overloading the FADT Event Register blocks. This makes the code
1741 1.1 jruoho clearer and less prone to error.
1742 1.1 jruoho
1743 1.1.1.3 jruoho Fixed the warning message for when the platform contains too many ACPI tables
1744 1.1.1.3 jruoho for the default size of the global root table data structure. The calculation
1745 1.1 jruoho for the truncation value was incorrect.
1746 1.1 jruoho
1747 1.1 jruoho Removed the ACPI_GET_OBJECT_TYPE macro. Removed all instances of this
1748 1.1 jruoho obsolete macro, since it is now a simple reference to ->common.type. There
1749 1.1 jruoho were about 150 invocations of the macro across 41 files. ACPICA BZ 755.
1750 1.1 jruoho
1751 1.1 jruoho Removed the redundant ACPI_BITREG_SLEEP_TYPE_B. This type is the same as
1752 1.1 jruoho TYPE_A. Removed this and all related instances. Renamed SLEEP_TYPE_A to
1753 1.1 jruoho simply SLEEP_TYPE. ACPICA BZ 754.
1754 1.1 jruoho
1755 1.1 jruoho Conditionally compile the AcpiSetFirmwareWakingVector64 function. This
1756 1.1 jruoho function is only needed on 64-bit host operating systems and is thus not
1757 1.1 jruoho included for 32-bit hosts.
1758 1.1 jruoho
1759 1.1.1.3 jruoho Debug output: print the input and result for invocations of the _OSI reserved
1760 1.1 jruoho control method via the ACPI_LV_INFO debug level. Also, reduced some of the
1761 1.1 jruoho verbosity of this debug level. Len Brown.
1762 1.1 jruoho
1763 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
1764 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
1765 1.1.1.3 jruoho debug version of the code includes the debug output trace mechanism and has a
1766 1.1 jruoho much larger code and data size.
1767 1.1 jruoho
1768 1.1 jruoho Previous Release:
1769 1.1 jruoho Non-Debug Version: 82.3K Code, 17.5K Data, 99.8K Total
1770 1.1 jruoho Debug Version: 157.3K Code, 49.8K Data, 207.1K Total
1771 1.1 jruoho Current Release:
1772 1.1 jruoho Non-Debug Version: 82.0K Code, 17.5K Data, 99.5K Total
1773 1.1 jruoho Debug Version: 156.9K Code, 49.8K Data, 206.7K Total
1774 1.1 jruoho
1775 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
1776 1.1 jruoho
1777 1.1 jruoho Disassembler: Decode the FADT PM_Profile field. Emit ascii names for the
1778 1.1 jruoho various legal performance profiles.
1779 1.1 jruoho
1780 1.1 jruoho ----------------------------------------
1781 1.1 jruoho 23 January 2009. Summary of changes for version 20090123:
1782 1.1 jruoho
1783 1.1 jruoho 1) ACPI CA Core Subsystem:
1784 1.1 jruoho
1785 1.1 jruoho Added the 2009 copyright to all module headers and signons. This affects
1786 1.1 jruoho virtually every file in the ACPICA core subsystem, the iASL compiler, and
1787 1.1 jruoho the tools/utilities.
1788 1.1 jruoho
1789 1.1 jruoho Implemented a change to allow the host to override any ACPI table, including
1790 1.1.1.3 jruoho dynamically loaded tables. Previously, only the DSDT could be replaced by the
1791 1.1 jruoho host. With this change, the AcpiOsTableOverride interface is called for each
1792 1.1 jruoho table found in the RSDT/XSDT during ACPICA initialization, and also whenever
1793 1.1 jruoho a table is dynamically loaded via the AML Load operator.
1794 1.1 jruoho
1795 1.1 jruoho Updated FADT flag definitions, especially the Boot Architecture flags.
1796 1.1 jruoho
1797 1.1 jruoho Debugger: For the Find command, automatically pad the input ACPI name with
1798 1.1 jruoho underscores if the name is shorter than 4 characters. This enables a match
1799 1.1 jruoho with the actual namespace entry which is itself padded with underscores.
1800 1.1 jruoho
1801 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
1802 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
1803 1.1.1.3 jruoho debug version of the code includes the debug output trace mechanism and has a
1804 1.1 jruoho much larger code and data size.
1805 1.1 jruoho
1806 1.1 jruoho Previous Release:
1807 1.1 jruoho Non-Debug Version: 82.3K Code, 17.4K Data, 99.7K Total
1808 1.1 jruoho Debug Version: 157.1K Code, 49.7K Data, 206.8K Total
1809 1.1 jruoho Current Release:
1810 1.1 jruoho Non-Debug Version: 82.3K Code, 17.5K Data, 99.8K Total
1811 1.1 jruoho Debug Version: 157.3K Code, 49.8K Data, 207.1K Total
1812 1.1 jruoho
1813 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
1814 1.1 jruoho
1815 1.1 jruoho Fix build error under Bison-2.4.
1816 1.1 jruoho
1817 1.1 jruoho Dissasembler: Enhanced FADT support. Added decoding of the Boot Architecture
1818 1.1 jruoho flags. Now decode all flags, regardless of the FADT version. Flag output
1819 1.1 jruoho includes the FADT version which first defined each flag.
1820 1.1 jruoho
1821 1.1 jruoho The iASL -g option now dumps the RSDT to a file (in addition to the FADT and
1822 1.1 jruoho DSDT). Windows only.
1823 1.1 jruoho
1824 1.1 jruoho ----------------------------------------
1825 1.1 jruoho 04 December 2008. Summary of changes for version 20081204:
1826 1.1 jruoho
1827 1.1 jruoho 1) ACPI CA Core Subsystem:
1828 1.1 jruoho
1829 1.1 jruoho The ACPICA Programmer Reference has been completely updated and revamped for
1830 1.1 jruoho this release. This includes updates to the external interfaces, OSL
1831 1.1 jruoho interfaces, the overview sections, and the debugger reference.
1832 1.1 jruoho
1833 1.1 jruoho Several new ACPICA interfaces have been implemented and documented in the
1834 1.1 jruoho programmer reference:
1835 1.1 jruoho AcpiReset - Writes the reset value to the FADT-defined reset register.
1836 1.1 jruoho AcpiDisableAllGpes - Disable all available GPEs.
1837 1.1 jruoho AcpiEnableAllRuntimeGpes - Enable all available runtime GPEs.
1838 1.1 jruoho AcpiGetGpeDevice - Get the GPE block device associated with a GPE.
1839 1.1 jruoho AcpiGbl_CurrentGpeCount - Tracks the current number of available GPEs.
1840 1.1 jruoho AcpiRead - Low-level read ACPI register (was HwLowLevelRead.)
1841 1.1 jruoho AcpiWrite - Low-level write ACPI register (was HwLowLevelWrite.)
1842 1.1 jruoho
1843 1.1 jruoho Most of the public ACPI hardware-related interfaces have been moved to a new
1844 1.1 jruoho file, components/hardware/hwxface.c
1845 1.1 jruoho
1846 1.1 jruoho Enhanced the FADT parsing and low-level ACPI register access: The ACPI
1847 1.1 jruoho register lengths within the FADT are now used, and the low level ACPI
1848 1.1 jruoho register access no longer hardcodes the ACPI register lengths. Given that
1849 1.1.1.3 jruoho there may be some risk in actually trusting the FADT register lengths, a run-
1850 1.1 jruoho time option was added to fall back to the default hardcoded lengths if the
1851 1.1 jruoho FADT proves to contain incorrect values - UseDefaultRegisterWidths. This
1852 1.1 jruoho option is set to true for now, and a warning is issued if a suspicious FADT
1853 1.1 jruoho register length is overridden with the default value.
1854 1.1 jruoho
1855 1.1 jruoho Fixed a reference count issue in NsRepairObject. This problem was introduced
1856 1.1 jruoho in version 20081031 as part of a fix to repair Buffer objects within
1857 1.1 jruoho Packages. Lin Ming.
1858 1.1 jruoho
1859 1.1 jruoho Added semaphore support to the Linux/Unix application OS-services layer
1860 1.1 jruoho (OSL). ACPICA BZ 448. Lin Ming.
1861 1.1 jruoho
1862 1.1.1.3 jruoho Added the ACPI_MUTEX_TYPE configuration option to select whether mutexes will
1863 1.1 jruoho be implemented in the OSL, or will binary semaphores be used instead.
1864 1.1 jruoho
1865 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
1866 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
1867 1.1.1.3 jruoho debug version of the code includes the debug output trace mechanism and has a
1868 1.1 jruoho much larger code and data size.
1869 1.1 jruoho
1870 1.1 jruoho Previous Release:
1871 1.1 jruoho Non-Debug Version: 81.7K Code, 17.3K Data, 99.0K Total
1872 1.1 jruoho Debug Version: 156.4K Code, 49.4K Data, 205.8K Total
1873 1.1 jruoho Current Release:
1874 1.1 jruoho Non-Debug Version: 82.3K Code, 17.4K Data, 99.7K Total
1875 1.1 jruoho Debug Version: 157.1K Code, 49.7K Data, 206.8K Total
1876 1.1 jruoho
1877 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
1878 1.1 jruoho
1879 1.1.1.3 jruoho iASL: Completed the '-e' option to include additional ACPI tables in order to
1880 1.1 jruoho aid with disassembly and External statement generation. ACPICA BZ 742. Lin
1881 1.1 jruoho Ming.
1882 1.1 jruoho
1883 1.1 jruoho iASL: Removed the "named object in while loop" error. The compiler cannot
1884 1.1 jruoho determine how many times a loop will execute. ACPICA BZ 730.
1885 1.1 jruoho
1886 1.1 jruoho Disassembler: Implemented support for FADT revision 2 (MS extension). ACPICA
1887 1.1 jruoho BZ 743.
1888 1.1 jruoho
1889 1.1 jruoho Disassembler: Updates for several ACPI data tables (HEST, EINJ, and MCFG).
1890 1.1 jruoho
1891 1.1 jruoho ----------------------------------------
1892 1.1 jruoho 31 October 2008. Summary of changes for version 20081031:
1893 1.1 jruoho
1894 1.1 jruoho 1) ACPI CA Core Subsystem:
1895 1.1 jruoho
1896 1.1.1.3 jruoho Restructured the ACPICA header files into public/private. acpi.h now includes
1897 1.1 jruoho only the "public" acpica headers. All other acpica headers are "private" and
1898 1.1 jruoho should not be included by acpica users. One new file, accommon.h is used to
1899 1.1 jruoho include the commonly used private headers for acpica code generation. Future
1900 1.1 jruoho plans include moving all private headers to a new subdirectory.
1901 1.1 jruoho
1902 1.1 jruoho Implemented an automatic Buffer->String return value conversion for
1903 1.1 jruoho predefined ACPI methods. For these methods (such as _BIF), added automatic
1904 1.1 jruoho conversion for return objects that are required to be a String, but a Buffer
1905 1.1 jruoho was found instead. This can happen when reading string battery data from an
1906 1.1 jruoho operation region, because it used to be difficult to convert the data from
1907 1.1 jruoho buffer to string from within the ASL. Ensures that the host OS is provided
1908 1.1 jruoho with a valid null-terminated string. Linux BZ 11822.
1909 1.1 jruoho
1910 1.1 jruoho Updated the FACS waking vector interfaces. Split AcpiSetFirmwareWakingVector
1911 1.1 jruoho into two: one for the 32-bit vector, another for the 64-bit vector. This is
1912 1.1 jruoho required because the host OS must setup the wake much differently for each
1913 1.1.1.3 jruoho vector (real vs. protected mode, etc.) and the interface itself should not be
1914 1.1 jruoho deciding which vector to use. Also, eliminated the GetFirmwareWakingVector
1915 1.1 jruoho interface, as it served no purpose (only the firmware reads the vector, OS
1916 1.1 jruoho only writes the vector.) ACPICA BZ 731.
1917 1.1 jruoho
1918 1.1 jruoho Implemented a mechanism to escape infinite AML While() loops. Added a loop
1919 1.1 jruoho counter to force exit from AML While loops if the count becomes too large.
1920 1.1 jruoho This can occur in poorly written AML when the hardware does not respond
1921 1.1 jruoho within a while loop and the loop does not implement a timeout. The maximum
1922 1.1 jruoho loop count is configurable. A new exception code is returned when a loop is
1923 1.1 jruoho broken, AE_AML_INFINITE_LOOP. Alexey Starikovskiy, Bob Moore.
1924 1.1 jruoho
1925 1.1 jruoho Optimized the execution of AML While loops. Previously, a control state
1926 1.1 jruoho object was allocated and freed for each execution of the loop. The
1927 1.1 jruoho optimization is to simply reuse the control state for each iteration. This
1928 1.1 jruoho speeds up the raw loop execution time by about 5%.
1929 1.1 jruoho
1930 1.1 jruoho Enhanced the implicit return mechanism. For Windows compatibility, return an
1931 1.1 jruoho implicit integer of value zero for methods that contain no executable code.
1932 1.1 jruoho Such methods are seen in the field as stubs (presumably), and can cause
1933 1.1 jruoho drivers to fail if they expect a return value. Lin Ming.
1934 1.1 jruoho
1935 1.1 jruoho Allow multiple backslashes as root prefixes in namepaths. In a fully
1936 1.1 jruoho qualified namepath, allow multiple backslash prefixes. This can happen (and
1937 1.1 jruoho is seen in the field) because of the use of a double-backslash in strings
1938 1.1 jruoho (since backslash is the escape character) causing confusion. ACPICA BZ 739
1939 1.1 jruoho Lin Ming.
1940 1.1 jruoho
1941 1.1 jruoho Emit a warning if two different FACS or DSDT tables are discovered in the
1942 1.1 jruoho FADT. Checks if there are two valid but different addresses for the FACS and
1943 1.1 jruoho DSDT within the FADT (mismatch between the 32-bit and 64-bit fields.)
1944 1.1 jruoho
1945 1.1 jruoho Consolidated the method argument count validation code. Merged the code that
1946 1.1 jruoho validates control method argument counts into the predefined validation
1947 1.1 jruoho module. Eliminates possible multiple warnings for incorrect argument counts.
1948 1.1 jruoho
1949 1.1 jruoho Implemented ACPICA example code. Includes code for ACPICA initialization,
1950 1.1 jruoho handler installation, and calling a control method. Available at
1951 1.1 jruoho source/tools/examples.
1952 1.1 jruoho
1953 1.1 jruoho Added a global pointer for FACS table to simplify internal FACS access. Use
1954 1.1.1.3 jruoho the global pointer instead of using AcpiGetTableByIndex for each FACS access.
1955 1.1 jruoho This simplifies the code for the Global Lock and the Firmware Waking
1956 1.1 jruoho Vector(s).
1957 1.1 jruoho
1958 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
1959 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
1960 1.1.1.3 jruoho debug version of the code includes the debug output trace mechanism and has a
1961 1.1 jruoho much larger code and data size.
1962 1.1 jruoho
1963 1.1 jruoho Previous Release:
1964 1.1 jruoho Non-Debug Version: 81.2K Code, 17.0K Data, 98.2K Total
1965 1.1 jruoho Debug Version: 155.8K Code, 49.1K Data, 204.9K Total
1966 1.1 jruoho Current Release:
1967 1.1 jruoho Non-Debug Version: 81.7K Code, 17.3K Data, 99.0K Total
1968 1.1 jruoho Debug Version: 156.4K Code, 49.4K Data, 205.8K Total
1969 1.1 jruoho
1970 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
1971 1.1 jruoho
1972 1.1 jruoho iASL: Improved disassembly of external method calls. Added the -e option to
1973 1.1.1.3 jruoho allow the inclusion of additional ACPI tables to help with the disassembly of
1974 1.1 jruoho method invocations and the generation of external declarations during the
1975 1.1 jruoho disassembly. Certain external method invocations cannot be disassembled
1976 1.1 jruoho properly without the actual declaration of the method. Use the -e option to
1977 1.1 jruoho include the table where the external method(s) are actually declared. Most
1978 1.1 jruoho useful for disassembling SSDTs that make method calls back to the master
1979 1.1 jruoho DSDT. Lin Ming. Example: To disassemble an SSDT with calls to DSDT: iasl -d
1980 1.1 jruoho -e dsdt.aml ssdt1.aml
1981 1.1 jruoho
1982 1.1 jruoho iASL: Fix to allow references to aliases within ASL namepaths. Fixes a
1983 1.1 jruoho problem where the use of an alias within a namepath would result in a not
1984 1.1 jruoho found error or cause the compiler to fault. Also now allows forward
1985 1.1 jruoho references from the Alias operator itself. ACPICA BZ 738.
1986 1.1 jruoho
1987 1.1 jruoho ----------------------------------------
1988 1.1 jruoho 26 September 2008. Summary of changes for version 20080926:
1989 1.1 jruoho
1990 1.1 jruoho 1) ACPI CA Core Subsystem:
1991 1.1 jruoho
1992 1.1 jruoho Designed and implemented a mechanism to validate predefined ACPI methods and
1993 1.1.1.3 jruoho objects. This code validates the predefined ACPI objects (objects whose names
1994 1.1 jruoho start with underscore) that appear in the namespace, at the time they are
1995 1.1 jruoho evaluated. The argument count and the type of the returned object are
1996 1.1 jruoho validated against the ACPI specification. The purpose of this validation is
1997 1.1 jruoho to detect problems with the BIOS-implemented predefined ACPI objects before
1998 1.1.1.3 jruoho the results are returned to the ACPI-related drivers. Future enhancements may
1999 1.1 jruoho include actual repair of incorrect return objects where possible. Two new
2000 1.1 jruoho files are nspredef.c and acpredef.h.
2001 1.1 jruoho
2002 1.1 jruoho Fixed a fault in the AML parser if a memory allocation fails during the Op
2003 1.1 jruoho completion routine AcpiPsCompleteThisOp. Lin Ming. ACPICA BZ 492.
2004 1.1 jruoho
2005 1.1 jruoho Fixed an issue with implicit return compatibility. This change improves the
2006 1.1 jruoho implicit return mechanism to be more compatible with the MS interpreter. Lin
2007 1.1 jruoho Ming, ACPICA BZ 349.
2008 1.1 jruoho
2009 1.1 jruoho Implemented support for zero-length buffer-to-string conversions. Allow zero
2010 1.1 jruoho length strings during interpreter buffer-to-string conversions. For example,
2011 1.1 jruoho during the ToDecimalString and ToHexString operators, as well as implicit
2012 1.1 jruoho conversions. Fiodor Suietov, ACPICA BZ 585.
2013 1.1 jruoho
2014 1.1 jruoho Fixed two possible memory leaks in the error exit paths of
2015 1.1 jruoho AcpiUtUpdateObjectReference and AcpiUtWalkPackageTree. These functions are
2016 1.1 jruoho similar in that they use a stack of state objects in order to eliminate
2017 1.1 jruoho recursion. The stack must be fully unwound and deallocated if an error
2018 1.1 jruoho occurs. Lin Ming. ACPICA BZ 383.
2019 1.1 jruoho
2020 1.1.1.3 jruoho Removed the unused ACPI_BITREG_WAKE_ENABLE definition and entry in the global
2021 1.1 jruoho ACPI register table. This bit does not exist and is unused. Lin Ming, Bob
2022 1.1 jruoho Moore ACPICA BZ 442.
2023 1.1 jruoho
2024 1.1 jruoho Removed the obsolete version number in module headers. Removed the
2025 1.1 jruoho "$Revision" number that appeared in each module header. This version number
2026 1.1 jruoho was useful under SourceSafe and CVS, but has no meaning under git. It is not
2027 1.1 jruoho only incorrect, it could also be misleading.
2028 1.1 jruoho
2029 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
2030 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
2031 1.1.1.3 jruoho debug version of the code includes the debug output trace mechanism and has a
2032 1.1 jruoho much larger code and data size.
2033 1.1 jruoho
2034 1.1 jruoho Previous Release:
2035 1.1 jruoho Non-Debug Version: 79.7K Code, 16.4K Data, 96.1K Total
2036 1.1 jruoho Debug Version: 153.7K Code, 48.2K Data, 201.9K Total
2037 1.1 jruoho Current Release:
2038 1.1 jruoho Non-Debug Version: 81.2K Code, 17.0K Data, 98.2K Total
2039 1.1 jruoho Debug Version: 155.8K Code, 49.1K Data, 204.9K Total
2040 1.1 jruoho
2041 1.1 jruoho ----------------------------------------
2042 1.1 jruoho 29 August 2008. Summary of changes for version 20080829:
2043 1.1 jruoho
2044 1.1 jruoho 1) ACPI CA Core Subsystem:
2045 1.1 jruoho
2046 1.1 jruoho Completed a major cleanup of the internal ACPI_OPERAND_OBJECT of type
2047 1.1 jruoho Reference. Changes include the elimination of cheating on the Object field
2048 1.1 jruoho for the DdbHandle subtype, addition of a reference class field to
2049 1.1.1.3 jruoho differentiate the various reference types (instead of an AML opcode), and the
2050 1.1 jruoho cleanup of debug output for this object. Lin Ming, Bob Moore. BZ 723
2051 1.1 jruoho
2052 1.1 jruoho Reduce an error to a warning for an incorrect method argument count.
2053 1.1 jruoho Previously aborted with an error if too few arguments were passed to a
2054 1.1.1.3 jruoho control method via the external ACPICA interface. Now issue a warning instead
2055 1.1 jruoho and continue. Handles the case where the method inadvertently declares too
2056 1.1 jruoho many arguments, but does not actually use the extra ones. Applies mainly to
2057 1.1 jruoho the predefined methods. Lin Ming. Linux BZ 11032.
2058 1.1 jruoho
2059 1.1.1.3 jruoho Disallow the evaluation of named object types with no intrinsic value. Return
2060 1.1.1.3 jruoho AE_TYPE for objects that have no value and therefore evaluation is undefined:
2061 1.1 jruoho Device, Event, Mutex, Region, Thermal, and Scope. Previously, evaluation of
2062 1.1 jruoho these types were allowed, but an exception would be generated at some point
2063 1.1 jruoho during the evaluation. Now, the error is generated up front.
2064 1.1 jruoho
2065 1.1 jruoho Fixed a possible memory leak in the AcpiNsGetExternalPathname function
2066 1.1 jruoho (nsnames.c). Fixes a leak in the error exit path.
2067 1.1 jruoho
2068 1.1.1.3 jruoho Removed the obsolete debug levels ACPI_DB_WARN and ACPI_DB_ERROR. These debug
2069 1.1.1.3 jruoho levels were made obsolete by the ACPI_WARNING, ACPI_ERROR, and ACPI_EXCEPTION
2070 1.1 jruoho interfaces. Also added ACPI_DB_EVENTS to correspond with the existing
2071 1.1 jruoho ACPI_LV_EVENTS.
2072 1.1 jruoho
2073 1.1 jruoho Removed obsolete and/or unused exception codes from the acexcep.h header.
2074 1.1 jruoho There is the possibility that certain device drivers may be affected if they
2075 1.1 jruoho use any of these exceptions.
2076 1.1 jruoho
2077 1.1 jruoho The ACPICA documentation has been added to the public git source tree, under
2078 1.1 jruoho acpica/documents. Included are the ACPICA programmer reference, the iASL
2079 1.1 jruoho compiler reference, and the changes.txt release logfile.
2080 1.1 jruoho
2081 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
2082 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
2083 1.1.1.3 jruoho debug version of the code includes the debug output trace mechanism and has a
2084 1.1 jruoho much larger code and data size.
2085 1.1 jruoho
2086 1.1 jruoho Previous Release:
2087 1.1 jruoho Non-Debug Version: 79.7K Code, 16.4K Data, 96.1K Total
2088 1.1 jruoho Debug Version: 153.9K Code, 48.4K Data, 202.3K Total
2089 1.1 jruoho Current Release:
2090 1.1 jruoho Non-Debug Version: 79.7K Code, 16.4K Data, 96.1K Total
2091 1.1 jruoho Debug Version: 153.7K Code, 48.2K Data, 201.9K Total
2092 1.1 jruoho
2093 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
2094 1.1 jruoho
2095 1.1 jruoho Allow multiple argument counts for the predefined _SCP method. ACPI 3.0
2096 1.1 jruoho defines _SCP with 3 arguments. Previous versions defined it with only 1
2097 1.1 jruoho argument. iASL now allows both definitions.
2098 1.1 jruoho
2099 1.1 jruoho iASL/disassembler: avoid infinite loop on bad ACPI tables. Check for zero-
2100 1.1 jruoho length subtables when disassembling ACPI tables. Also fixed a couple of
2101 1.1 jruoho errors where a full 16-bit table type field was not extracted from the input
2102 1.1 jruoho properly.
2103 1.1 jruoho
2104 1.1 jruoho acpisrc: Improve comment counting mechanism for generating source code
2105 1.1 jruoho statistics. Count first and last lines of multi-line comments as whitespace,
2106 1.1 jruoho not comment lines. Handle Linux legal header in addition to standard acpica
2107 1.1 jruoho header.
2108 1.1 jruoho
2109 1.1 jruoho ----------------------------------------
2110 1.1 jruoho
2111 1.1 jruoho 29 July 2008. Summary of changes for version 20080729:
2112 1.1 jruoho
2113 1.1 jruoho 1) ACPI CA Core Subsystem:
2114 1.1 jruoho
2115 1.1 jruoho Fix a possible deadlock in the GPE dispatch. Remove call to
2116 1.1.1.3 jruoho AcpiHwDisableAllGpes during wake in AcpiEvGpeDispatch. This call will attempt
2117 1.1 jruoho to acquire the GPE lock but can deadlock since the GPE lock is already held
2118 1.1 jruoho at dispatch time. This code was introduced in version 20060831 as a response
2119 1.1 jruoho to Linux BZ 6881 and has since been removed from Linux.
2120 1.1 jruoho
2121 1.1.1.3 jruoho Add a function to dereference returned reference objects. Examines the return
2122 1.1 jruoho object from a call to AcpiEvaluateObject. Any Index or RefOf references are
2123 1.1 jruoho automatically dereferenced in an attempt to return something useful (these
2124 1.1 jruoho reference types cannot be converted into an external ACPI_OBJECT.) Provides
2125 1.1 jruoho MS compatibility. Lin Ming, Bob Moore. Linux BZ 11105
2126 1.1 jruoho
2127 1.1 jruoho x2APIC support: changes for MADT and SRAT ACPI tables. There are 2 new
2128 1.1 jruoho subtables for the MADT and one new subtable for the SRAT. Includes
2129 1.1 jruoho disassembler and AcpiSrc support. Data from the Intel 64 Architecture x2APIC
2130 1.1 jruoho Specification, June 2008.
2131 1.1 jruoho
2132 1.1 jruoho Additional error checking for pathname utilities. Add error check after all
2133 1.1 jruoho calls to AcpiNsGetPathnameLength. Add status return from
2134 1.1 jruoho AcpiNsBuildExternalPath and check after all calls. Add parameter validation
2135 1.1 jruoho to AcpiUtInitializeBuffer. Reported by and initial patch by Ingo Molnar.
2136 1.1 jruoho
2137 1.1 jruoho Return status from the global init function AcpiUtGlobalInitialize. This is
2138 1.1 jruoho used by both the kernel subsystem and the utilities such as iASL compiler.
2139 1.1 jruoho The function could possibly fail when the caches are initialized. Yang Yi.
2140 1.1 jruoho
2141 1.1 jruoho Add a function to decode reference object types to strings. Created for
2142 1.1 jruoho improved error messages.
2143 1.1 jruoho
2144 1.1.1.3 jruoho Improve object conversion error messages. Better error messages during object
2145 1.1.1.3 jruoho conversion from internal to the external ACPI_OBJECT. Used for external calls
2146 1.1 jruoho to AcpiEvaluateObject.
2147 1.1 jruoho
2148 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
2149 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
2150 1.1.1.3 jruoho debug version of the code includes the debug output trace mechanism and has a
2151 1.1 jruoho much larger code and data size.
2152 1.1 jruoho
2153 1.1 jruoho Previous Release:
2154 1.1 jruoho Non-Debug Version: 79.6K Code, 16.2K Data, 95.8K Total
2155 1.1 jruoho Debug Version: 153.5K Code, 48.2K Data, 201.7K Total
2156 1.1 jruoho Current Release:
2157 1.1 jruoho Non-Debug Version: 79.7K Code, 16.4K Data, 96.1K Total
2158 1.1 jruoho Debug Version: 153.9K Code, 48.4K Data, 202.3K Total
2159 1.1 jruoho
2160 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
2161 1.1 jruoho
2162 1.1 jruoho Debugger: fix a possible hang when evaluating non-methods. Fixes a problem
2163 1.1 jruoho introduced in version 20080701. If the object being evaluated (via execute
2164 1.1 jruoho command) is not a method, the debugger can hang while trying to obtain non-
2165 1.1 jruoho existent parameters.
2166 1.1 jruoho
2167 1.1 jruoho iASL: relax error for using reserved "_T_x" identifiers. These names can
2168 1.1 jruoho appear in a disassembled ASL file if they were emitted by the original
2169 1.1 jruoho compiler. Instead of issuing an error or warning and forcing the user to
2170 1.1 jruoho manually change these names, issue a remark instead.
2171 1.1 jruoho
2172 1.1.1.3 jruoho iASL: error if named object created in while loop. Emit an error if any named
2173 1.1 jruoho object is created within a While loop. If allowed, this code will generate a
2174 1.1.1.3 jruoho run-time error on the second iteration of the loop when an attempt is made to
2175 1.1 jruoho create the same named object twice. ACPICA bugzilla 730.
2176 1.1 jruoho
2177 1.1 jruoho iASL: Support absolute pathnames for include files. Add support for absolute
2178 1.1 jruoho pathnames within the Include operator. previously, only relative pathnames
2179 1.1 jruoho were supported.
2180 1.1 jruoho
2181 1.1.1.3 jruoho iASL: Enforce minimum 1 interrupt in interrupt macro and Resource Descriptor.
2182 1.1 jruoho The ACPI spec requires one interrupt minimum. BZ 423
2183 1.1 jruoho
2184 1.1 jruoho iASL: Handle a missing ResourceSource arg, with a present SourceIndex.
2185 1.1 jruoho Handles the case for the Interrupt Resource Descriptor where
2186 1.1 jruoho the ResourceSource argument is omitted but ResourceSourceIndex
2187 1.1 jruoho is present. Now leave room for the Index. BZ 426
2188 1.1 jruoho
2189 1.1 jruoho iASL: Prevent error message if CondRefOf target does not exist. Fixes cases
2190 1.1 jruoho where an error message is emitted if the target does not exist. BZ 516
2191 1.1 jruoho
2192 1.1 jruoho iASL: Fix broken -g option (get Windows ACPI tables). Fixes the -g option
2193 1.1.1.3 jruoho (get ACPI tables on Windows). This was apparently broken in version 20070919.
2194 1.1 jruoho
2195 1.1.1.3 jruoho AcpiXtract: Handle EOF while extracting data. Correctly handle the case where
2196 1.1 jruoho the EOF happens immediately after the last table in the input file. Print
2197 1.1 jruoho completion message. Previously, no message was displayed in this case.
2198 1.1 jruoho
2199 1.1 jruoho ----------------------------------------
2200 1.1 jruoho 01 July 2008. Summary of changes for version 20080701:
2201 1.1 jruoho
2202 1.1 jruoho 0) Git source tree / acpica.org
2203 1.1 jruoho
2204 1.1 jruoho Fixed a problem where a git-clone from http would not transfer the entire
2205 1.1 jruoho source tree.
2206 1.1 jruoho
2207 1.1 jruoho 1) ACPI CA Core Subsystem:
2208 1.1 jruoho
2209 1.1 jruoho Implemented a "careful" GPE disable in AcpiEvDisableGpe, only modify one
2210 1.1 jruoho enable bit. Now performs a read-change-write of the enable register instead
2211 1.1 jruoho of simply writing out the cached enable mask. This will prevent inadvertent
2212 1.1.1.3 jruoho enabling of GPEs if a rogue GPE is received during initialization (before GPE
2213 1.1 jruoho handlers are installed.)
2214 1.1 jruoho
2215 1.1 jruoho Implemented a copy for dynamically loaded tables. Previously, dynamically
2216 1.1 jruoho loaded tables were simply mapped - but on some machines this memory is
2217 1.1 jruoho corrupted after suspend. Now copy the table to a local buffer. For the
2218 1.1 jruoho OpRegion case, added checksum verify. Use the table length from the table
2219 1.1 jruoho header, not the region length. For the Buffer case, use the table length
2220 1.1 jruoho also. Dennis Noordsij, Bob Moore. BZ 10734
2221 1.1 jruoho
2222 1.1.1.3 jruoho Fixed a problem where the same ACPI table could not be dynamically loaded and
2223 1.1 jruoho unloaded more than once. Without this change, a table cannot be loaded again
2224 1.1 jruoho once it has been loaded/unloaded one time. The current mechanism does not
2225 1.1.1.3 jruoho unregister a table upon an unload. During a load, if the same table is found,
2226 1.1 jruoho this no longer returns an exception. BZ 722
2227 1.1 jruoho
2228 1.1 jruoho Fixed a problem where the wrong descriptor length was calculated for the
2229 1.1 jruoho EndTag descriptor in 64-bit mode. The "minimal" descriptors such as EndTag
2230 1.1 jruoho are calculated as 12 bytes long, but the actual length in the internal
2231 1.1 jruoho descriptor is 16 because of the round-up to 8 on the 64-bit build. Reported
2232 1.1 jruoho by Linn Crosetto. BZ 728
2233 1.1 jruoho
2234 1.1 jruoho Fixed a possible memory leak in the Unload operator. The DdbHandle returned
2235 1.1.1.3 jruoho by Load() did not have its reference count decremented during unload, leading
2236 1.1 jruoho to a memory leak. Lin Ming. BZ 727
2237 1.1 jruoho
2238 1.1 jruoho Fixed a possible memory leak when deleting thermal/processor objects. Any
2239 1.1 jruoho associated notify handlers (and objects) were not being deleted. Fiodor
2240 1.1 jruoho Suietov. BZ 506
2241 1.1 jruoho
2242 1.1 jruoho Fixed the ordering of the ASCII names in the global mutex table to match the
2243 1.1.1.3 jruoho actual mutex IDs. Used by AcpiUtGetMutexName, a function used for debug only.
2244 1.1 jruoho Vegard Nossum. BZ 726
2245 1.1 jruoho
2246 1.1 jruoho Enhanced the AcpiGetObjectInfo interface to return the number of required
2247 1.1 jruoho arguments if the object is a control method. Added this call to the debugger
2248 1.1 jruoho so the proper number of default arguments are passed to a method. This
2249 1.1 jruoho prevents a warning when executing methods from AcpiExec.
2250 1.1 jruoho
2251 1.1 jruoho Added a check for an invalid handle in AcpiGetObjectInfo. Return
2252 1.1 jruoho AE_BAD_PARAMETER if input handle is invalid. BZ 474
2253 1.1 jruoho
2254 1.1 jruoho Fixed an extraneous warning from exconfig.c on the 64-bit build.
2255 1.1 jruoho
2256 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
2257 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
2258 1.1.1.3 jruoho debug version of the code includes the debug output trace mechanism and has a
2259 1.1 jruoho much larger code and data size.
2260 1.1 jruoho
2261 1.1 jruoho Previous Release:
2262 1.1 jruoho Non-Debug Version: 79.3K Code, 16.2K Data, 95.5K Total
2263 1.1 jruoho Debug Version: 153.0K Code, 48.2K Data, 201.2K Total
2264 1.1 jruoho Current Release:
2265 1.1 jruoho Non-Debug Version: 79.6K Code, 16.2K Data, 95.8K Total
2266 1.1 jruoho Debug Version: 153.5K Code, 48.2K Data, 201.7K Total
2267 1.1 jruoho
2268 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
2269 1.1 jruoho
2270 1.1 jruoho iASL: Added two missing ACPI reserved names. Added _MTP and _ASZ, both
2271 1.1 jruoho resource descriptor names.
2272 1.1 jruoho
2273 1.1.1.3 jruoho iASL: Detect invalid ASCII characters in input (windows version). Removed the
2274 1.1 jruoho "-CF" flag from the flex compile, enables correct detection of non-ASCII
2275 1.1 jruoho characters in the input. BZ 441
2276 1.1 jruoho
2277 1.1 jruoho iASL: Eliminate warning when result of LoadTable is not used. Eliminate the
2278 1.1 jruoho "result of operation not used" warning when the DDB handle returned from
2279 1.1 jruoho LoadTable is not used. The warning is not needed. BZ 590
2280 1.1 jruoho
2281 1.1.1.3 jruoho AcpiExec: Add support for dynamic table load/unload. Now calls _CFG method to
2282 1.1.1.3 jruoho pass address of table to the AML. Added option to disable OpRegion simulation
2283 1.1.1.3 jruoho to allow creation of an OpRegion with a real address that was passed to _CFG.
2284 1.1 jruoho All of this allows testing of the Load and Unload operators from AcpiExec.
2285 1.1 jruoho
2286 1.1 jruoho Debugger: update tables command for unloaded tables. Handle unloaded tables
2287 1.1 jruoho and use the standard table header output routine.
2288 1.1 jruoho
2289 1.1 jruoho ----------------------------------------
2290 1.1 jruoho 09 June 2008. Summary of changes for version 20080609:
2291 1.1 jruoho
2292 1.1 jruoho 1) ACPI CA Core Subsystem:
2293 1.1 jruoho
2294 1.1 jruoho Implemented a workaround for reversed _PRT entries. A significant number of
2295 1.1 jruoho BIOSs erroneously reverse the _PRT SourceName and the SourceIndex. This
2296 1.1 jruoho change dynamically detects and repairs this problem. Provides compatibility
2297 1.1 jruoho with MS ACPI. BZ 6859
2298 1.1 jruoho
2299 1.1 jruoho Simplified the internal ACPI hardware interfaces to eliminate the locking
2300 1.1 jruoho flag parameter from Register Read/Write. Added a new external interface,
2301 1.1 jruoho AcpiGetRegisterUnlocked.
2302 1.1 jruoho
2303 1.1.1.3 jruoho Fixed a problem where the invocation of a GPE control method could hang. This
2304 1.1 jruoho was a regression introduced in 20080514. The new method argument count
2305 1.1 jruoho validation mechanism can enter an infinite loop when a GPE method is
2306 1.1.1.3 jruoho dispatched. Problem fixed by removing the obsolete code that passed GPE block
2307 1.1 jruoho information to the notify handler via the control method parameter pointer.
2308 1.1 jruoho
2309 1.1 jruoho Fixed a problem where the _SST execution status was incorrectly returned to
2310 1.1 jruoho the caller of AcpiEnterSleepStatePrep. This was a regression introduced in
2311 1.1 jruoho 20080514. _SST is optional and a NOT_FOUND exception should never be
2312 1.1 jruoho returned. BZ 716
2313 1.1 jruoho
2314 1.1 jruoho Fixed a problem where a deleted object could be accessed from within the AML
2315 1.1.1.3 jruoho parser. This was a regression introduced in version 20080123 as a fix for the
2316 1.1 jruoho Unload operator. Lin Ming. BZ 10669
2317 1.1 jruoho
2318 1.1 jruoho Cleaned up the debug operand dump mechanism. Eliminated unnecessary operands
2319 1.1 jruoho and eliminated the use of a negative index in a loop. Operands are now
2320 1.1 jruoho displayed in the correct order, not backwards. This also fixes a regression
2321 1.1 jruoho introduced in 20080514 on 64-bit systems where the elimination of
2322 1.1 jruoho ACPI_NATIVE_UINT caused the negative index to go large and positive. BZ 715
2323 1.1 jruoho
2324 1.1 jruoho Fixed a possible memory leak in EvPciConfigRegionSetup where the error exit
2325 1.1 jruoho path did not delete a locally allocated structure.
2326 1.1 jruoho
2327 1.1 jruoho Updated definitions for the DMAR and SRAT tables to synchronize with the
2328 1.1 jruoho current specifications. Includes disassembler support.
2329 1.1 jruoho
2330 1.1 jruoho Fixed a problem in the mutex debug code (in utmutex.c) where an incorrect
2331 1.1 jruoho loop termination value was used. Loop terminated on iteration early, missing
2332 1.1 jruoho one mutex. Linn Crosetto
2333 1.1 jruoho
2334 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
2335 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
2336 1.1.1.3 jruoho debug version of the code includes the debug output trace mechanism and has a
2337 1.1 jruoho much larger code and data size.
2338 1.1 jruoho
2339 1.1 jruoho Previous Release:
2340 1.1 jruoho Non-Debug Version: 79.5K Code, 16.2K Data, 95.7K Total
2341 1.1 jruoho Debug Version: 153.3K Code, 48.3K Data, 201.6K Total
2342 1.1 jruoho Current Release:
2343 1.1 jruoho Non-Debug Version: 79.3K Code, 16.2K Data, 95.5K Total
2344 1.1 jruoho Debug Version: 153.0K Code, 48.2K Data, 201.2K Total
2345 1.1 jruoho
2346 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
2347 1.1 jruoho
2348 1.1 jruoho Disassembler: Implemented support for EisaId() within _CID objects. Now
2349 1.1 jruoho disassemble integer _CID objects back to EisaId invocations, including
2350 1.1 jruoho multiple integers within _CID packages. Includes single-step support for
2351 1.1 jruoho debugger also.
2352 1.1 jruoho
2353 1.1 jruoho Disassembler: Added support for DMAR and SRAT table definition changes.
2354 1.1 jruoho
2355 1.1 jruoho ----------------------------------------
2356 1.1 jruoho 14 May 2008. Summary of changes for version 20080514:
2357 1.1 jruoho
2358 1.1 jruoho 1) ACPI CA Core Subsystem:
2359 1.1 jruoho
2360 1.1 jruoho Fixed a problem where GPEs were enabled too early during the ACPICA
2361 1.1 jruoho initialization. This could lead to "handler not installed" errors on some
2362 1.1 jruoho machines. Moved GPE enable until after _REG/_STA/_INI methods are run. This
2363 1.1 jruoho ensures that all operation regions and devices throughout the namespace have
2364 1.1 jruoho been initialized before GPEs are enabled. Alexey Starikovskiy, BZ 9916.
2365 1.1 jruoho
2366 1.1 jruoho Implemented a change to the enter sleep code. Moved execution of the _GTS
2367 1.1 jruoho method to just before setting sleep enable bit. The execution was moved from
2368 1.1 jruoho AcpiEnterSleepStatePrep to AcpiEnterSleepState. _GTS is now executed
2369 1.1 jruoho immediately before the SLP_EN bit is set, as per the ACPI specification.
2370 1.1 jruoho Luming Yu, BZ 1653.
2371 1.1 jruoho
2372 1.1 jruoho Implemented a fix to disable unknown GPEs (2nd version). Now always disable
2373 1.1 jruoho the GPE, even if ACPICA thinks that that it is already disabled. It is
2374 1.1 jruoho possible that the AML or some other code has enabled the GPE unbeknownst to
2375 1.1 jruoho the ACPICA code.
2376 1.1 jruoho
2377 1.1.1.3 jruoho Fixed a problem with the Field operator where zero-length fields would return
2378 1.1.1.3 jruoho an AE_AML_NO_OPERAND exception during table load. Fix enables zero-length ASL
2379 1.1 jruoho field declarations in Field(), BankField(), and IndexField(). BZ 10606.
2380 1.1 jruoho
2381 1.1 jruoho Implemented a fix for the Load operator, now load the table at the namespace
2382 1.1 jruoho root. This reverts a change introduced in version 20071019. The table is now
2383 1.1 jruoho loaded at the namespace root even though this goes against the ACPI
2384 1.1 jruoho specification. This provides compatibility with other ACPI implementations.
2385 1.1.1.3 jruoho The ACPI specification will be updated to reflect this in ACPI 4.0. Lin Ming.
2386 1.1 jruoho
2387 1.1.1.3 jruoho Fixed a problem where ACPICA would not Load() tables with unusual signatures.
2388 1.1 jruoho Now ignore ACPI table signature for Load() operator. Only "SSDT" is
2389 1.1 jruoho acceptable to the ACPI spec, but tables are seen with OEMx and null sigs.
2390 1.1.1.3 jruoho Therefore, signature validation is worthless. Apparently MS ACPI accepts such
2391 1.1 jruoho signatures, ACPICA must be compatible. BZ 10454.
2392 1.1 jruoho
2393 1.1 jruoho Fixed a possible negative array index in AcpiUtValidateException. Added NULL
2394 1.1 jruoho fields to the exception string arrays to eliminate a -1 subtraction on the
2395 1.1 jruoho SubStatus field.
2396 1.1 jruoho
2397 1.1 jruoho Updated the debug tracking macros to reduce overall code and data size.
2398 1.1 jruoho Changed ACPI_MODULE_NAME and ACPI_FUNCTION_NAME to use arrays of strings
2399 1.1 jruoho instead of pointers to static strings. Jan Beulich and Bob Moore.
2400 1.1 jruoho
2401 1.1 jruoho Implemented argument count checking in control method invocation via
2402 1.1 jruoho AcpiEvaluateObject. Now emit an error if too few arguments, warning if too
2403 1.1 jruoho many. This applies only to extern programmatic control method execution, not
2404 1.1 jruoho method-to-method calls within the AML. Lin Ming.
2405 1.1 jruoho
2406 1.1 jruoho Eliminated the ACPI_NATIVE_UINT type across all ACPICA code. This type is no
2407 1.1.1.3 jruoho longer needed, especially with the removal of 16-bit support. It was replaced
2408 1.1.1.3 jruoho mostly with UINT32, but also ACPI_SIZE where a type that changes 32/64 bit on
2409 1.1 jruoho 32/64-bit platforms is required.
2410 1.1 jruoho
2411 1.1 jruoho Added the C const qualifier for appropriate string constants -- mostly
2412 1.1 jruoho MODULE_NAME and printf format strings. Jan Beulich.
2413 1.1 jruoho
2414 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
2415 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
2416 1.1.1.3 jruoho debug version of the code includes the debug output trace mechanism and has a
2417 1.1 jruoho much larger code and data size.
2418 1.1 jruoho
2419 1.1 jruoho Previous Release:
2420 1.1 jruoho Non-Debug Version: 80.0K Code, 17.4K Data, 97.4K Total
2421 1.1 jruoho Debug Version: 159.4K Code, 64.4K Data, 223.8K Total
2422 1.1 jruoho Current Release:
2423 1.1 jruoho Non-Debug Version: 79.5K Code, 16.2K Data, 95.7K Total
2424 1.1 jruoho Debug Version: 153.3K Code, 48.3K Data, 201.6K Total
2425 1.1 jruoho
2426 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
2427 1.1 jruoho
2428 1.1 jruoho Implemented ACPI table revision ID validation in the disassembler. Zero is
2429 1.1 jruoho always invalid. For DSDTs, the ID controls the interpreter integer width. 1
2430 1.1 jruoho means 32-bit and this is unusual. 2 or greater is 64-bit.
2431 1.1 jruoho
2432 1.1 jruoho ----------------------------------------
2433 1.1 jruoho 21 March 2008. Summary of changes for version 20080321:
2434 1.1 jruoho
2435 1.1 jruoho 1) ACPI CA Core Subsystem:
2436 1.1 jruoho
2437 1.1 jruoho Implemented an additional change to the GPE support in order to suppress
2438 1.1 jruoho spurious or stray GPEs. The AcpiEvDisableGpe function will now permanently
2439 1.1 jruoho disable incoming GPEs that are neither enabled nor disabled -- meaning that
2440 1.1.1.3 jruoho the GPE is unknown to the system. This should prevent future interrupt floods
2441 1.1 jruoho from that GPE. BZ 6217 (Zhang Rui)
2442 1.1 jruoho
2443 1.1 jruoho Fixed a problem where NULL package elements were not returned to the
2444 1.1 jruoho AcpiEvaluateObject interface correctly. The element was simply ignored
2445 1.1 jruoho instead of returning a NULL ACPI_OBJECT package element, potentially causing
2446 1.1 jruoho a buffer overflow and/or confusing the caller who expected a fixed number of
2447 1.1 jruoho elements. BZ 10132 (Lin Ming, Bob Moore)
2448 1.1 jruoho
2449 1.1.1.3 jruoho Fixed a problem with the CreateField, CreateXXXField (Bit, Byte, Word, Dword,
2450 1.1 jruoho Qword), Field, BankField, and IndexField operators when invoked from inside
2451 1.1 jruoho an executing control method. In this case, these operators created namespace
2452 1.1 jruoho nodes that were incorrectly left marked as permanent nodes instead of
2453 1.1 jruoho temporary nodes. This could cause a problem if there is race condition
2454 1.1 jruoho between an exiting control method and a running namespace walk. (Reported by
2455 1.1 jruoho Linn Crosetto)
2456 1.1 jruoho
2457 1.1 jruoho Fixed a problem where the CreateField and CreateXXXField operators would
2458 1.1 jruoho incorrectly allow duplicate names (the name of the field) with no exception
2459 1.1 jruoho generated.
2460 1.1 jruoho
2461 1.1.1.3 jruoho Implemented several changes for Notify handling. Added support for new Notify
2462 1.1 jruoho values (ACPI 2.0+) and improved the Notify debug output. Notify on
2463 1.1 jruoho PowerResource objects is no longer allowed, as per the ACPI specification.
2464 1.1 jruoho (Bob Moore, Zhang Rui)
2465 1.1 jruoho
2466 1.1 jruoho All Reference Objects returned via the AcpiEvaluateObject interface are now
2467 1.1.1.3 jruoho marked as type "REFERENCE" instead of "ANY". The type ANY is now reserved for
2468 1.1 jruoho NULL objects - either NULL package elements or unresolved named references.
2469 1.1 jruoho
2470 1.1 jruoho Fixed a problem where an extraneous debug message was produced for package
2471 1.1 jruoho objects (when debugging enabled). The message "Package List length larger
2472 1.1 jruoho than NumElements count" is now produced in the correct case, and is now an
2473 1.1 jruoho error message rather than a debug message. Added a debug message for the
2474 1.1.1.3 jruoho opposite case, where NumElements is larger than the Package List (the package
2475 1.1 jruoho will be padded out with NULL elements as per the ACPI spec.)
2476 1.1 jruoho
2477 1.1 jruoho Implemented several improvements for the output of the ASL "Debug" object to
2478 1.1 jruoho clarify and keep all data for a given object on one output line.
2479 1.1 jruoho
2480 1.1 jruoho Fixed two size calculation issues with the variable-length Start Dependent
2481 1.1 jruoho resource descriptor.
2482 1.1 jruoho
2483 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
2484 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
2485 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
2486 1.1 jruoho a much larger code and data size.
2487 1.1 jruoho
2488 1.1 jruoho Previous Release:
2489 1.1 jruoho Non-Debug Version: 79.7K Code, 17.3K Data, 97.0K Total
2490 1.1 jruoho Debug Version: 158.9K Code, 64.0K Data, 222.9K Total
2491 1.1 jruoho Current Release:
2492 1.1 jruoho Non-Debug Version: 80.0K Code, 17.4K Data, 97.4K Total
2493 1.1 jruoho Debug Version: 159.4K Code, 64.4K Data, 223.8K Total
2494 1.1 jruoho
2495 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
2496 1.1 jruoho
2497 1.1 jruoho Fixed a problem with the use of the Switch operator where execution of the
2498 1.1 jruoho containing method by multiple concurrent threads could cause an
2499 1.1 jruoho AE_ALREADY_EXISTS exception. This is caused by the fact that there is no
2500 1.1 jruoho actual Switch opcode, it must be simulated with local named temporary
2501 1.1 jruoho variables and if/else pairs. The solution chosen was to mark any method that
2502 1.1 jruoho uses Switch as Serialized, thus preventing multiple thread entries. BZ 469.
2503 1.1 jruoho
2504 1.1 jruoho ----------------------------------------
2505 1.1 jruoho 13 February 2008. Summary of changes for version 20080213:
2506 1.1 jruoho
2507 1.1 jruoho 1) ACPI CA Core Subsystem:
2508 1.1 jruoho
2509 1.1 jruoho Implemented another MS compatibility design change for GPE/Notify handling.
2510 1.1 jruoho GPEs are now cleared/enabled asynchronously to allow all pending notifies to
2511 1.1 jruoho complete first. It is expected that the OSL will queue the enable request
2512 1.1.1.3 jruoho behind all pending notify requests (may require changes to the local host OSL
2513 1.1 jruoho in AcpiOsExecute). Alexey Starikovskiy.
2514 1.1 jruoho
2515 1.1 jruoho Fixed a problem where buffer and package objects passed as arguments to a
2516 1.1 jruoho control method via the external AcpiEvaluateObject interface could cause an
2517 1.1 jruoho AE_AML_INTERNAL exception depending on the order and type of operators
2518 1.1 jruoho executed by the target control method.
2519 1.1 jruoho
2520 1.1 jruoho Fixed a problem where resource descriptor size optimization could cause a
2521 1.1 jruoho problem when a _CRS resource template is passed to a _SRS method. The _SRS
2522 1.1 jruoho resource template must use the same descriptors (with the same size) as
2523 1.1 jruoho returned from _CRS. This change affects the following resource descriptors:
2524 1.1 jruoho IRQ / IRQNoFlags and StartDependendentFn / StartDependentFnNoPri. (BZ 9487)
2525 1.1 jruoho
2526 1.1 jruoho Fixed a problem where a CopyObject to RegionField, BankField, and IndexField
2527 1.1.1.3 jruoho objects did not perform an implicit conversion as it should. These types must
2528 1.1.1.3 jruoho retain their initial type permanently as per the ACPI specification. However,
2529 1.1 jruoho a CopyObject to all other object types should not perform an implicit
2530 1.1 jruoho conversion, as per the ACPI specification. (Lin Ming, Bob Moore) BZ 388
2531 1.1 jruoho
2532 1.1 jruoho Fixed a problem with the AcpiGetDevices interface where the mechanism to
2533 1.1 jruoho match device CIDs did not examine the entire list of available CIDs, but
2534 1.1 jruoho instead aborted on the first non-matching CID. Andrew Patterson.
2535 1.1 jruoho
2536 1.1.1.3 jruoho Fixed a regression introduced in version 20071114. The ACPI_HIDWORD macro was
2537 1.1 jruoho inadvertently changed to return a 16-bit value instead of a 32-bit value,
2538 1.1 jruoho truncating the upper dword of a 64-bit value. This macro is only used to
2539 1.1 jruoho display debug output, so no incorrect calculations were made. Also,
2540 1.1 jruoho reimplemented the macro so that a 64-bit shift is not performed by
2541 1.1 jruoho inefficient compilers.
2542 1.1 jruoho
2543 1.1 jruoho Added missing va_end statements that should correspond with each va_start
2544 1.1 jruoho statement.
2545 1.1 jruoho
2546 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
2547 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
2548 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
2549 1.1 jruoho a much larger code and data size.
2550 1.1 jruoho
2551 1.1 jruoho Previous Release:
2552 1.1 jruoho Non-Debug Version: 79.5K Code, 17.2K Data, 96.7K Total
2553 1.1 jruoho Debug Version: 159.0K Code, 63.8K Data, 222.8K Total
2554 1.1 jruoho Current Release:
2555 1.1 jruoho Non-Debug Version: 79.7K Code, 17.3K Data, 97.0K Total
2556 1.1 jruoho Debug Version: 158.9K Code, 64.0K Data, 222.9K Total
2557 1.1 jruoho
2558 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
2559 1.1 jruoho
2560 1.1 jruoho Implemented full disassembler support for the following new ACPI tables:
2561 1.1 jruoho BERT, EINJ, and ERST. Implemented partial disassembler support for the
2562 1.1 jruoho complicated HEST table. These tables support the Windows Hardware Error
2563 1.1 jruoho Architecture (WHEA).
2564 1.1 jruoho
2565 1.1 jruoho ----------------------------------------
2566 1.1 jruoho 23 January 2008. Summary of changes for version 20080123:
2567 1.1 jruoho
2568 1.1 jruoho 1) ACPI CA Core Subsystem:
2569 1.1 jruoho
2570 1.1 jruoho Added the 2008 copyright to all module headers and signons. This affects
2571 1.1 jruoho virtually every file in the ACPICA core subsystem, the iASL compiler, and
2572 1.1 jruoho the tools/utilities.
2573 1.1 jruoho
2574 1.1 jruoho Fixed a problem with the SizeOf operator when used with Package and Buffer
2575 1.1 jruoho objects. These objects have deferred execution for some arguments, and the
2576 1.1.1.3 jruoho execution is now completed before the SizeOf is executed. This problem caused
2577 1.1 jruoho unexpected AE_PACKAGE_LIMIT errors on some systems (Lin Ming, Bob Moore) BZ
2578 1.1 jruoho 9558
2579 1.1 jruoho
2580 1.1.1.3 jruoho Implemented an enhancement to the interpreter "slack mode". In the absence of
2581 1.1 jruoho an explicit return or an implicitly returned object from the last executed
2582 1.1.1.3 jruoho opcode, a control method will now implicitly return an integer of value 0 for
2583 1.1 jruoho Microsoft compatibility. (Lin Ming) BZ 392
2584 1.1 jruoho
2585 1.1.1.3 jruoho Fixed a problem with the Load operator where an exception was not returned in
2586 1.1 jruoho the case where the table is already loaded. (Lin Ming) BZ 463
2587 1.1 jruoho
2588 1.1.1.3 jruoho Implemented support for the use of DDBHandles as an Indexed Reference, as per
2589 1.1 jruoho the ACPI spec. (Lin Ming) BZ 486
2590 1.1 jruoho
2591 1.1 jruoho Implemented support for UserTerm (Method invocation) for the Unload operator
2592 1.1 jruoho as per the ACPI spec. (Lin Ming) BZ 580
2593 1.1 jruoho
2594 1.1 jruoho Fixed a problem with the LoadTable operator where the OemId and OemTableId
2595 1.1 jruoho input strings could cause unexpected failures if they were shorter than the
2596 1.1 jruoho maximum lengths allowed. (Lin Ming, Bob Moore) BZ 576
2597 1.1 jruoho
2598 1.1 jruoho Implemented support for UserTerm (Method invocation) for the Unload operator
2599 1.1 jruoho as per the ACPI spec. (Lin Ming) BZ 580
2600 1.1 jruoho
2601 1.1.1.3 jruoho Implemented header file support for new ACPI tables - BERT, ERST, EINJ, HEST,
2602 1.1 jruoho IBFT, UEFI, WDAT. Disassembler support is forthcoming.
2603 1.1 jruoho
2604 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
2605 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
2606 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
2607 1.1 jruoho a much larger code and data size.
2608 1.1 jruoho
2609 1.1 jruoho Previous Release:
2610 1.1 jruoho Non-Debug Version: 79.3K Code, 17.2K Data, 96.5K Total
2611 1.1 jruoho Debug Version: 158.6K Code, 63.8K Data, 222.4K Total
2612 1.1 jruoho Current Release:
2613 1.1 jruoho Non-Debug Version: 79.5K Code, 17.2K Data, 96.7K Total
2614 1.1 jruoho Debug Version: 159.0K Code, 63.8K Data, 222.8K Total
2615 1.1 jruoho
2616 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
2617 1.1 jruoho
2618 1.1 jruoho Implemented support in the disassembler for checksum validation on incoming
2619 1.1.1.3 jruoho binary DSDTs and SSDTs. If incorrect, a message is displayed within the table
2620 1.1 jruoho header dump at the start of the disassembly.
2621 1.1 jruoho
2622 1.1 jruoho Implemented additional debugging information in the namespace listing file
2623 1.1 jruoho created during compilation. In addition to the namespace hierarchy, the full
2624 1.1 jruoho pathname to each namespace object is displayed.
2625 1.1 jruoho
2626 1.1 jruoho Fixed a problem with the disassembler where invalid ACPI tables could cause
2627 1.1 jruoho faults or infinite loops.
2628 1.1 jruoho
2629 1.1 jruoho Fixed an unexpected parse error when using the optional "parameter types"
2630 1.1 jruoho list in a control method declaration. (Lin Ming) BZ 397
2631 1.1 jruoho
2632 1.1 jruoho Fixed a problem where two External declarations with the same name did not
2633 1.1 jruoho cause an error (Lin Ming) BZ 509
2634 1.1 jruoho
2635 1.1 jruoho Implemented support for full TermArgs (adding Argx, Localx and method
2636 1.1 jruoho invocation) for the ParameterData parameter to the LoadTable operator. (Lin
2637 1.1 jruoho Ming) BZ 583,587
2638 1.1 jruoho
2639 1.1 jruoho ----------------------------------------
2640 1.1 jruoho 19 December 2007. Summary of changes for version 20071219:
2641 1.1 jruoho
2642 1.1 jruoho 1) ACPI CA Core Subsystem:
2643 1.1 jruoho
2644 1.1 jruoho Implemented full support for deferred execution for the TermArg string
2645 1.1 jruoho arguments for DataTableRegion. This enables forward references and full
2646 1.1.1.3 jruoho operand resolution for the three string arguments. Similar to OperationRegion
2647 1.1 jruoho deferred argument execution.) Lin Ming. BZ 430
2648 1.1 jruoho
2649 1.1 jruoho Implemented full argument resolution support for the BankValue argument to
2650 1.1 jruoho BankField. Previously, only constants were supported, now any TermArg may be
2651 1.1 jruoho used. Lin Ming BZ 387, 393
2652 1.1 jruoho
2653 1.1 jruoho Fixed a problem with AcpiGetDevices where the search of a branch of the
2654 1.1 jruoho device tree could be terminated prematurely. In accordance with the ACPI
2655 1.1 jruoho specification, the search down the current branch is terminated if a device
2656 1.1 jruoho is both not present and not functional (instead of just not present.) Yakui
2657 1.1 jruoho Zhao.
2658 1.1 jruoho
2659 1.1 jruoho Fixed a problem where "unknown" GPEs could be allowed to fire repeatedly if
2660 1.1 jruoho the underlying AML code changed the GPE enable registers. Now, any unknown
2661 1.1.1.3 jruoho incoming GPE (no _Lxx/_Exx method and not the EC GPE) is immediately disabled
2662 1.1 jruoho instead of simply ignored. Rui Zhang.
2663 1.1 jruoho
2664 1.1 jruoho Fixed a problem with Index Fields where the Index register was incorrectly
2665 1.1 jruoho limited to a maximum of 32 bits. Now any size may be used.
2666 1.1 jruoho
2667 1.1 jruoho Fixed a couple memory leaks associated with "implicit return" objects when
2668 1.1 jruoho the AML Interpreter slack mode is enabled. Lin Ming BZ 349
2669 1.1 jruoho
2670 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
2671 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
2672 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
2673 1.1 jruoho a much larger code and data size.
2674 1.1 jruoho
2675 1.1 jruoho Previous Release:
2676 1.1 jruoho Non-Debug Version: 79.0K Code, 17.2K Data, 96.2K Total
2677 1.1 jruoho Debug Version: 157.9K Code, 63.6K Data, 221.5K Total
2678 1.1 jruoho Current Release:
2679 1.1 jruoho Non-Debug Version: 79.3K Code, 17.2K Data, 96.5K Total
2680 1.1 jruoho Debug Version: 158.6K Code, 63.8K Data, 222.4K Total
2681 1.1 jruoho
2682 1.1 jruoho ----------------------------------------
2683 1.1 jruoho 14 November 2007. Summary of changes for version 20071114:
2684 1.1 jruoho
2685 1.1 jruoho 1) ACPI CA Core Subsystem:
2686 1.1 jruoho
2687 1.1 jruoho Implemented event counters for each of the Fixed Events, the ACPI SCI
2688 1.1 jruoho (interrupt) itself, and control methods executed. Named
2689 1.1 jruoho AcpiFixedEventCount[], AcpiSciCount, and AcpiMethodCount respectively. These
2690 1.1 jruoho should be useful for debugging and statistics.
2691 1.1 jruoho
2692 1.1 jruoho Implemented a new external interface, AcpiGetStatistics, to retrieve the
2693 1.1 jruoho contents of the various event counters. Returns the current values for
2694 1.1 jruoho AcpiSciCount, AcpiGpeCount, the AcpiFixedEventCount array, and
2695 1.1 jruoho AcpiMethodCount. The interface can be expanded in the future if new counters
2696 1.1 jruoho are added. Device drivers should use this interface rather than access the
2697 1.1 jruoho counters directly.
2698 1.1 jruoho
2699 1.1 jruoho Fixed a problem with the FromBCD and ToBCD operators. With some compilers,
2700 1.1 jruoho the ShortDivide function worked incorrectly, causing problems with the BCD
2701 1.1 jruoho functions with large input values. A truncation from 64-bit to 32-bit
2702 1.1 jruoho inadvertently occurred. Internal BZ 435. Lin Ming
2703 1.1 jruoho
2704 1.1 jruoho Fixed a problem with Index references passed as method arguments. References
2705 1.1 jruoho passed as arguments to control methods were dereferenced immediately (before
2706 1.1 jruoho control was passed to the called method). The references are now correctly
2707 1.1 jruoho passed directly to the called method. BZ 5389. Lin Ming
2708 1.1 jruoho
2709 1.1 jruoho Fixed a problem with CopyObject used in conjunction with the Index operator.
2710 1.1 jruoho The reference was incorrectly dereferenced before the copy. The reference is
2711 1.1 jruoho now correctly copied. BZ 5391. Lin Ming
2712 1.1 jruoho
2713 1.1 jruoho Fixed a problem with Control Method references within Package objects. These
2714 1.1 jruoho references are now correctly generated. This completes the package
2715 1.1 jruoho construction overhaul that began in version 20071019.
2716 1.1 jruoho
2717 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
2718 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
2719 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
2720 1.1 jruoho a much larger code and data size.
2721 1.1 jruoho
2722 1.1 jruoho Previous Release:
2723 1.1 jruoho Non-Debug Version: 78.8K Code, 17.2K Data, 96.0K Total
2724 1.1 jruoho Debug Version: 157.2K Code, 63.4K Data, 220.6K Total
2725 1.1 jruoho Current Release:
2726 1.1 jruoho Non-Debug Version: 79.0K Code, 17.2K Data, 96.2K Total
2727 1.1 jruoho Debug Version: 157.9K Code, 63.6K Data, 221.5K Total
2728 1.1 jruoho
2729 1.1 jruoho
2730 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
2731 1.1 jruoho
2732 1.1 jruoho The AcpiExec utility now installs handlers for all of the predefined
2733 1.1 jruoho Operation Region types. New types supported are: PCI_Config, CMOS, and
2734 1.1 jruoho PCIBARTarget.
2735 1.1 jruoho
2736 1.1 jruoho Fixed a problem with the 64-bit version of AcpiExec where the extended (64-
2737 1.1 jruoho bit) address fields for the DSDT and FACS within the FADT were not being
2738 1.1 jruoho used, causing truncation of the upper 32-bits of these addresses. Lin Ming
2739 1.1 jruoho and Bob Moore
2740 1.1 jruoho
2741 1.1 jruoho ----------------------------------------
2742 1.1 jruoho 19 October 2007. Summary of changes for version 20071019:
2743 1.1 jruoho
2744 1.1 jruoho 1) ACPI CA Core Subsystem:
2745 1.1 jruoho
2746 1.1 jruoho Fixed a problem with the Alias operator when the target of the alias is a
2747 1.1 jruoho named ASL operator that opens a new scope -- Scope, Device, PowerResource,
2748 1.1 jruoho Processor, and ThermalZone. In these cases, any children of the original
2749 1.1 jruoho operator could not be accessed via the alias, potentially causing unexpected
2750 1.1 jruoho AE_NOT_FOUND exceptions. (BZ 9067)
2751 1.1 jruoho
2752 1.1 jruoho Fixed a problem with the Package operator where all named references were
2753 1.1 jruoho created as object references and left otherwise unresolved. According to the
2754 1.1 jruoho ACPI specification, a Package can only contain Data Objects or references to
2755 1.1 jruoho control methods. The implication is that named references to Data Objects
2756 1.1 jruoho (Integer, Buffer, String, Package, BufferField, Field) should be resolved
2757 1.1 jruoho immediately upon package creation. This is the approach taken with this
2758 1.1 jruoho change. References to all other named objects (Methods, Devices, Scopes,
2759 1.1 jruoho etc.) are all now properly created as reference objects. (BZ 5328)
2760 1.1 jruoho
2761 1.1 jruoho Reverted a change to Notify handling that was introduced in version
2762 1.1 jruoho 20070508. This version changed the Notify handling from asynchronous to
2763 1.1 jruoho fully synchronous (Device driver Notify handling with respect to the Notify
2764 1.1 jruoho ASL operator). It was found that this change caused more problems than it
2765 1.1 jruoho solved and was removed by most users.
2766 1.1 jruoho
2767 1.1 jruoho Fixed a problem with the Increment and Decrement operators where the type of
2768 1.1 jruoho the target object could be unexpectedly and incorrectly changed. (BZ 353)
2769 1.1 jruoho Lin Ming.
2770 1.1 jruoho
2771 1.1 jruoho Fixed a problem with the Load and LoadTable operators where the table
2772 1.1 jruoho location within the namespace was ignored. Instead, the table was always
2773 1.1 jruoho loaded into the root or current scope. Lin Ming.
2774 1.1 jruoho
2775 1.1 jruoho Fixed a problem with the Load operator when loading a table from a buffer
2776 1.1 jruoho object. The input buffer was prematurely zeroed and/or deleted. (BZ 577)
2777 1.1 jruoho
2778 1.1 jruoho Fixed a problem with the Debug object where a store of a DdbHandle reference
2779 1.1 jruoho object to the Debug object could cause a fault.
2780 1.1 jruoho
2781 1.1 jruoho Added a table checksum verification for the Load operator, in the case where
2782 1.1 jruoho the load is from a buffer. (BZ 578).
2783 1.1 jruoho
2784 1.1 jruoho Implemented additional parameter validation for the LoadTable operator. The
2785 1.1 jruoho length of the input strings SignatureString, OemIdString, and OemTableId are
2786 1.1 jruoho now checked for maximum lengths. (BZ 582) Lin Ming.
2787 1.1 jruoho
2788 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
2789 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
2790 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
2791 1.1 jruoho a much larger code and data size.
2792 1.1 jruoho
2793 1.1 jruoho Previous Release:
2794 1.1 jruoho Non-Debug Version: 78.5K Code, 17.1K Data, 95.6K Total
2795 1.1 jruoho Debug Version: 156.7K Code, 63.2K Data, 219.9K Total
2796 1.1 jruoho Current Release:
2797 1.1 jruoho Non-Debug Version: 78.8K Code, 17.2K Data, 96.0K Total
2798 1.1 jruoho Debug Version: 157.2K Code, 63.4K Data, 220.6K Total
2799 1.1 jruoho
2800 1.1 jruoho
2801 1.1 jruoho 2) iASL Compiler/Disassembler:
2802 1.1 jruoho
2803 1.1 jruoho Fixed a problem where if a single file was specified and the file did not
2804 1.1 jruoho exist, no error message was emitted. (Introduced with wildcard support in
2805 1.1 jruoho version 20070917.)
2806 1.1 jruoho
2807 1.1 jruoho ----------------------------------------
2808 1.1 jruoho 19 September 2007. Summary of changes for version 20070919:
2809 1.1 jruoho
2810 1.1 jruoho 1) ACPI CA Core Subsystem:
2811 1.1 jruoho
2812 1.1 jruoho Designed and implemented new external interfaces to install and remove
2813 1.1 jruoho handlers for ACPI table-related events. Current events that are defined are
2814 1.1 jruoho LOAD and UNLOAD. These interfaces allow the host to track ACPI tables as
2815 1.1 jruoho they are dynamically loaded and unloaded. See AcpiInstallTableHandler and
2816 1.1 jruoho AcpiRemoveTableHandler. (Lin Ming and Bob Moore)
2817 1.1 jruoho
2818 1.1 jruoho Fixed a problem where the use of the AcpiGbl_AllMethodsSerialized flag
2819 1.1 jruoho (acpi_serialized option on Linux) could cause some systems to hang during
2820 1.1 jruoho initialization. (Bob Moore) BZ 8171
2821 1.1 jruoho
2822 1.1 jruoho Fixed a problem where objects of certain types (Device, ThermalZone,
2823 1.1 jruoho Processor, PowerResource) can be not found if they are declared and
2824 1.1 jruoho referenced from within the same control method (Lin Ming) BZ 341
2825 1.1 jruoho
2826 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
2827 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
2828 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
2829 1.1 jruoho a much larger code and data size.
2830 1.1 jruoho
2831 1.1 jruoho Previous Release:
2832 1.1 jruoho Non-Debug Version: 78.3K Code, 17.0K Data, 95.3K Total
2833 1.1 jruoho Debug Version: 156.3K Code, 63.1K Data, 219.4K Total
2834 1.1 jruoho Current Release:
2835 1.1 jruoho Non-Debug Version: 78.5K Code, 17.1K Data, 95.6K Total
2836 1.1 jruoho Debug Version: 156.7K Code, 63.2K Data, 219.9K Total
2837 1.1 jruoho
2838 1.1 jruoho
2839 1.1 jruoho 2) iASL Compiler/Disassembler:
2840 1.1 jruoho
2841 1.1 jruoho Implemented support to allow multiple files to be compiled/disassembled in a
2842 1.1 jruoho single invocation. This includes command line wildcard support for both the
2843 1.1 jruoho Windows and Unix versions of the compiler. This feature simplifies the
2844 1.1 jruoho disassembly and compilation of multiple ACPI tables in a single directory.
2845 1.1 jruoho
2846 1.1 jruoho ----------------------------------------
2847 1.1 jruoho 08 May 2007. Summary of changes for version 20070508:
2848 1.1 jruoho
2849 1.1 jruoho 1) ACPI CA Core Subsystem:
2850 1.1 jruoho
2851 1.1 jruoho Implemented a Microsoft compatibility design change for the handling of the
2852 1.1 jruoho Notify AML operator. Previously, notify handlers were dispatched and
2853 1.1 jruoho executed completely asynchronously in a deferred thread. The new design
2854 1.1 jruoho still executes the notify handlers in a different thread, but the original
2855 1.1 jruoho thread that executed the Notify() now waits at a synchronization point for
2856 1.1 jruoho the notify handler to complete. Some machines depend on a synchronous Notify
2857 1.1 jruoho operator in order to operate correctly.
2858 1.1 jruoho
2859 1.1 jruoho Implemented support to allow Package objects to be passed as method
2860 1.1 jruoho arguments to the external AcpiEvaluateObject interface. Previously, this
2861 1.1 jruoho would return the AE_NOT_IMPLEMENTED exception. This feature had not been
2862 1.1 jruoho implemented since there were no reserved control methods that required it
2863 1.1 jruoho until recently.
2864 1.1 jruoho
2865 1.1 jruoho Fixed a problem with the internal FADT conversion where ACPI 1.0 FADTs that
2866 1.1 jruoho contained invalid non-zero values in reserved fields could cause later
2867 1.1 jruoho failures because these fields have meaning in later revisions of the FADT.
2868 1.1 jruoho For incoming ACPI 1.0 FADTs, these fields are now always zeroed. (The fields
2869 1.1 jruoho are: Preferred_PM_Profile, PSTATE_CNT, CST_CNT, and IAPC_BOOT_FLAGS.)
2870 1.1 jruoho
2871 1.1 jruoho Fixed a problem where the Global Lock handle was not properly updated if a
2872 1.1 jruoho thread that acquired the Global Lock via executing AML code then attempted
2873 1.1 jruoho to acquire the lock via the AcpiAcquireGlobalLock interface. Reported by Joe
2874 1.1 jruoho Liu.
2875 1.1 jruoho
2876 1.1 jruoho Fixed a problem in AcpiEvDeleteGpeXrupt where the global interrupt list
2877 1.1 jruoho could be corrupted if the interrupt being removed was at the head of the
2878 1.1 jruoho list. Reported by Linn Crosetto.
2879 1.1 jruoho
2880 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
2881 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
2882 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
2883 1.1 jruoho a much larger code and data size.
2884 1.1 jruoho
2885 1.1 jruoho Previous Release:
2886 1.1 jruoho Non-Debug Version: 78.0K Code, 17.1K Data, 95.1K Total
2887 1.1 jruoho Debug Version: 155.9K Code, 63.1K Data, 219.0K Total
2888 1.1 jruoho Current Release:
2889 1.1 jruoho Non-Debug Version: 78.3K Code, 17.0K Data, 95.3K Total
2890 1.1 jruoho Debug Version: 156.3K Code, 63.1K Data, 219.4K Total
2891 1.1 jruoho
2892 1.1 jruoho ----------------------------------------
2893 1.1 jruoho 20 March 2007. Summary of changes for version 20070320:
2894 1.1 jruoho
2895 1.1 jruoho 1) ACPI CA Core Subsystem:
2896 1.1 jruoho
2897 1.1 jruoho Implemented a change to the order of interpretation and evaluation of AML
2898 1.1 jruoho operand objects within the AML interpreter. The interpreter now evaluates
2899 1.1 jruoho operands in the order that they appear in the AML stream (and the
2900 1.1 jruoho corresponding ASL code), instead of in the reverse order (after the entire
2901 1.1 jruoho operand list has been parsed). The previous behavior caused several subtle
2902 1.1 jruoho incompatibilities with the Microsoft AML interpreter as well as being
2903 1.1 jruoho somewhat non-intuitive. BZ 7871, local BZ 263. Valery Podrezov.
2904 1.1 jruoho
2905 1.1 jruoho Implemented a change to the ACPI Global Lock support. All interfaces to the
2906 1.1 jruoho global lock now allow the same thread to acquire the lock multiple times.
2907 1.1 jruoho This affects the AcpiAcquireGlobalLock external interface to the global lock
2908 1.1 jruoho as well as the internal use of the global lock to support AML fields -- a
2909 1.1 jruoho control method that is holding the global lock can now simultaneously access
2910 1.1 jruoho AML fields that require global lock protection. Previously, in both cases,
2911 1.1 jruoho this would have resulted in an AE_ALREADY_ACQUIRED exception. The change to
2912 1.1 jruoho AcpiAcquireGlobalLock is of special interest to drivers for the Embedded
2913 1.1 jruoho Controller. There is no change to the behavior of the AML Acquire operator,
2914 1.1 jruoho as this can already be used to acquire a mutex multiple times by the same
2915 1.1 jruoho thread. BZ 8066. With assistance from Alexey Starikovskiy.
2916 1.1 jruoho
2917 1.1 jruoho Fixed a problem where invalid objects could be referenced in the AML
2918 1.1 jruoho Interpreter after error conditions. During operand evaluation, ensure that
2919 1.1 jruoho the internal "Return Object" field is cleared on error and only valid
2920 1.1 jruoho pointers are stored there. Caused occasional access to deleted objects that
2921 1.1 jruoho resulted in "large reference count" warning messages. Valery Podrezov.
2922 1.1 jruoho
2923 1.1 jruoho Fixed a problem where an AE_STACK_OVERFLOW internal exception could occur on
2924 1.1 jruoho deeply nested control method invocations. BZ 7873, local BZ 487. Valery
2925 1.1 jruoho Podrezov.
2926 1.1 jruoho
2927 1.1 jruoho Fixed an internal problem with the handling of result objects on the
2928 1.1 jruoho interpreter result stack. BZ 7872. Valery Podrezov.
2929 1.1 jruoho
2930 1.1 jruoho Removed obsolete code that handled the case where AML_NAME_OP is the target
2931 1.1 jruoho of a reference (Reference.Opcode). This code was no longer necessary. BZ
2932 1.1 jruoho 7874. Valery Podrezov.
2933 1.1 jruoho
2934 1.1 jruoho Removed obsolete ACPI_NO_INTEGER64_SUPPORT from two header files. This was a
2935 1.1 jruoho remnant from the previously discontinued 16-bit support.
2936 1.1 jruoho
2937 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
2938 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
2939 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
2940 1.1 jruoho a much larger code and data size.
2941 1.1 jruoho
2942 1.1 jruoho Previous Release:
2943 1.1 jruoho Non-Debug Version: 78.0K Code, 17.1K Data, 95.1K Total
2944 1.1 jruoho Debug Version: 155.8K Code, 63.3K Data, 219.1K Total
2945 1.1 jruoho Current Release:
2946 1.1 jruoho Non-Debug Version: 78.0K Code, 17.1K Data, 95.1K Total
2947 1.1 jruoho Debug Version: 155.9K Code, 63.1K Data, 219.0K Total
2948 1.1 jruoho
2949 1.1 jruoho ----------------------------------------
2950 1.1 jruoho 26 January 2007. Summary of changes for version 20070126:
2951 1.1 jruoho
2952 1.1 jruoho 1) ACPI CA Core Subsystem:
2953 1.1 jruoho
2954 1.1 jruoho Added the 2007 copyright to all module headers and signons. This affects
2955 1.1 jruoho virtually every file in the ACPICA core subsystem, the iASL compiler, and
2956 1.1 jruoho the utilities.
2957 1.1 jruoho
2958 1.1 jruoho Implemented a fix for an incorrect parameter passed to AcpiTbDeleteTable
2959 1.1 jruoho during a table load. A bad pointer was passed in the case where the DSDT is
2960 1.1 jruoho overridden, causing a fault in this case.
2961 1.1 jruoho
2962 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
2963 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
2964 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
2965 1.1 jruoho a much larger code and data size.
2966 1.1 jruoho
2967 1.1 jruoho Previous Release:
2968 1.1 jruoho Non-Debug Version: 78.0K Code, 17.1K Data, 95.1K Total
2969 1.1 jruoho Debug Version: 155.8K Code, 63.3K Data, 219.1K Total
2970 1.1 jruoho Current Release:
2971 1.1 jruoho Non-Debug Version: 78.0K Code, 17.1K Data, 95.1K Total
2972 1.1 jruoho Debug Version: 155.8K Code, 63.3K Data, 219.1K Total
2973 1.1 jruoho
2974 1.1 jruoho ----------------------------------------
2975 1.1 jruoho 15 December 2006. Summary of changes for version 20061215:
2976 1.1 jruoho
2977 1.1 jruoho 1) ACPI CA Core Subsystem:
2978 1.1 jruoho
2979 1.1 jruoho Support for 16-bit ACPICA has been completely removed since it is no longer
2980 1.1 jruoho necessary and it clutters the code. All 16-bit macros, types, and
2981 1.1 jruoho conditional compiles have been removed, cleaning up and simplifying the code
2982 1.1 jruoho across the entire subsystem. DOS support is no longer needed since the
2983 1.1 jruoho bootable Linux firmware kit is now available.
2984 1.1 jruoho
2985 1.1 jruoho The handler for the Global Lock is now removed during AcpiTerminate to
2986 1.1 jruoho enable a clean subsystem restart, via the implementation of the
2987 1.1 jruoho AcpiEvRemoveGlobalLockHandler function. (With assistance from Joel Bretz,
2988 1.1 jruoho HP)
2989 1.1 jruoho
2990 1.1 jruoho Implemented enhancements to the multithreading support within the debugger
2991 1.1 jruoho to enable improved multithreading debugging and evaluation of the subsystem.
2992 1.1 jruoho (Valery Podrezov)
2993 1.1 jruoho
2994 1.1 jruoho Debugger: Enhanced the Statistics/Memory command to emit the total (maximum)
2995 1.1 jruoho memory used during the execution, as well as the maximum memory consumed by
2996 1.1 jruoho each of the various object types. (Valery Podrezov)
2997 1.1 jruoho
2998 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
2999 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
3000 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
3001 1.1 jruoho a much larger code and data size.
3002 1.1 jruoho
3003 1.1 jruoho Previous Release:
3004 1.1 jruoho Non-Debug Version: 77.9K Code, 17.0K Data, 94.9K Total
3005 1.1 jruoho Debug Version: 155.2K Code, 63.1K Data, 218.3K Total
3006 1.1 jruoho Current Release:
3007 1.1 jruoho Non-Debug Version: 78.0K Code, 17.1K Data, 95.1K Total
3008 1.1 jruoho Debug Version: 155.8K Code, 63.3K Data, 219.1K Total
3009 1.1 jruoho
3010 1.1 jruoho
3011 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
3012 1.1 jruoho
3013 1.1 jruoho AcpiExec: Implemented a new option (-m) to display full memory use
3014 1.1 jruoho statistics upon subsystem/program termination. (Valery Podrezov)
3015 1.1 jruoho
3016 1.1 jruoho ----------------------------------------
3017 1.1 jruoho 09 November 2006. Summary of changes for version 20061109:
3018 1.1 jruoho
3019 1.1 jruoho 1) ACPI CA Core Subsystem:
3020 1.1 jruoho
3021 1.1 jruoho Optimized the Load ASL operator in the case where the source operand is an
3022 1.1 jruoho operation region. Simply map the operation region memory, instead of
3023 1.1 jruoho performing a bytewise read. (Region must be of type SystemMemory, see
3024 1.1 jruoho below.)
3025 1.1 jruoho
3026 1.1 jruoho Fixed the Load ASL operator for the case where the source operand is a
3027 1.1 jruoho region field. A buffer object is also allowed as the source operand. BZ 480
3028 1.1 jruoho
3029 1.1 jruoho Fixed a problem where the Load ASL operator allowed the source operand to be
3030 1.1 jruoho an operation region of any type. It is now restricted to regions of type
3031 1.1 jruoho SystemMemory, as per the ACPI specification. BZ 481
3032 1.1 jruoho
3033 1.1 jruoho Additional cleanup and optimizations for the new Table Manager code.
3034 1.1 jruoho
3035 1.1 jruoho AcpiEnable will now fail if all of the required ACPI tables are not loaded
3036 1.1 jruoho (FADT, FACS, DSDT). BZ 477
3037 1.1 jruoho
3038 1.1 jruoho Added #pragma pack(8/4) to acobject.h to ensure that the structures in this
3039 1.1 jruoho header are always compiled as aligned. The ACPI_OPERAND_OBJECT has been
3040 1.1 jruoho manually optimized to be aligned and will not work if it is byte-packed.
3041 1.1 jruoho
3042 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
3043 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
3044 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
3045 1.1 jruoho a much larger code and data size.
3046 1.1 jruoho
3047 1.1 jruoho Previous Release:
3048 1.1 jruoho Non-Debug Version: 78.1K Code, 17.1K Data, 95.2K Total
3049 1.1 jruoho Debug Version: 155.4K Code, 63.1K Data, 218.5K Total
3050 1.1 jruoho Current Release:
3051 1.1 jruoho Non-Debug Version: 77.9K Code, 17.0K Data, 94.9K Total
3052 1.1 jruoho Debug Version: 155.2K Code, 63.1K Data, 218.3K Total
3053 1.1 jruoho
3054 1.1 jruoho
3055 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
3056 1.1 jruoho
3057 1.1 jruoho Fixed a problem where the presence of the _OSI predefined control method
3058 1.1 jruoho within complex expressions could cause an internal compiler error.
3059 1.1 jruoho
3060 1.1 jruoho AcpiExec: Implemented full region support for multiple address spaces.
3061 1.1 jruoho SpaceId is now part of the REGION object. BZ 429
3062 1.1 jruoho
3063 1.1 jruoho ----------------------------------------
3064 1.1 jruoho 11 October 2006. Summary of changes for version 20061011:
3065 1.1 jruoho
3066 1.1 jruoho 1) ACPI CA Core Subsystem:
3067 1.1 jruoho
3068 1.1 jruoho Completed an AML interpreter performance enhancement for control method
3069 1.1 jruoho execution. Previously a 2-pass parse/execution, control methods are now
3070 1.1 jruoho completely parsed and executed in a single pass. This improves overall
3071 1.1 jruoho interpreter performance by ~25%, reduces code size, and reduces CPU stack
3072 1.1 jruoho use. (Valery Podrezov + interpreter changes in version 20051202 that
3073 1.1 jruoho eliminated namespace loading during the pass one parse.)
3074 1.1 jruoho
3075 1.1 jruoho Implemented _CID support for PCI Root Bridge detection. If the _HID does not
3076 1.1 jruoho match the predefined PCI Root Bridge IDs, the _CID list (if present) is now
3077 1.1 jruoho obtained and also checked for an ID match.
3078 1.1 jruoho
3079 1.1 jruoho Implemented additional support for the PCI _ADR execution: upsearch until a
3080 1.1 jruoho device scope is found before executing _ADR. This allows PCI_Config
3081 1.1 jruoho operation regions to be declared locally within control methods underneath
3082 1.1 jruoho PCI device objects.
3083 1.1 jruoho
3084 1.1 jruoho Fixed a problem with a possible race condition between threads executing
3085 1.1 jruoho AcpiWalkNamespace and the AML interpreter. This condition was removed by
3086 1.1 jruoho modifying AcpiWalkNamespace to (by default) ignore all temporary namespace
3087 1.1 jruoho entries created during any concurrent control method execution. An
3088 1.1 jruoho additional namespace race condition is known to exist between
3089 1.1 jruoho AcpiWalkNamespace and the Load/Unload ASL operators and is still under
3090 1.1 jruoho investigation.
3091 1.1 jruoho
3092 1.1 jruoho Restructured the AML ParseLoop function, breaking it into several
3093 1.1 jruoho subfunctions in order to reduce CPU stack use and improve maintainability.
3094 1.1 jruoho (Mikhail Kouzmich)
3095 1.1 jruoho
3096 1.1 jruoho AcpiGetHandle: Fix for parameter validation to detect invalid combinations
3097 1.1 jruoho of prefix handle and pathname. BZ 478
3098 1.1 jruoho
3099 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
3100 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
3101 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
3102 1.1 jruoho a much larger code and data size.
3103 1.1 jruoho
3104 1.1 jruoho Previous Release:
3105 1.1 jruoho Non-Debug Version: 77.9K Code, 17.1K Data, 95.0K Total
3106 1.1 jruoho Debug Version: 154.6K Code, 63.0K Data, 217.6K Total
3107 1.1 jruoho Current Release:
3108 1.1 jruoho Non-Debug Version: 78.1K Code, 17.1K Data, 95.2K Total
3109 1.1 jruoho Debug Version: 155.4K Code, 63.1K Data, 218.5K Total
3110 1.1 jruoho
3111 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
3112 1.1 jruoho
3113 1.1 jruoho Ported the -g option (get local ACPI tables) to the new ACPICA Table Manager
3114 1.1 jruoho to restore original behavior.
3115 1.1 jruoho
3116 1.1 jruoho ----------------------------------------
3117 1.1 jruoho 27 September 2006. Summary of changes for version 20060927:
3118 1.1 jruoho
3119 1.1 jruoho 1) ACPI CA Core Subsystem:
3120 1.1 jruoho
3121 1.1 jruoho Removed the "Flags" parameter from AcpiGetRegister and AcpiSetRegister.
3122 1.1 jruoho These functions now use a spinlock for mutual exclusion and the interrupt
3123 1.1 jruoho level indication flag is not needed.
3124 1.1 jruoho
3125 1.1 jruoho Fixed a problem with the Global Lock where the lock could appear to be
3126 1.1 jruoho obtained before it is actually obtained. The global lock semaphore was
3127 1.1 jruoho inadvertently created with one unit instead of zero units. (BZ 464) Fiodor
3128 1.1 jruoho Suietov.
3129 1.1 jruoho
3130 1.1 jruoho Fixed a possible memory leak and fault in AcpiExResolveObjectToValue during
3131 1.1 jruoho a read from a buffer or region field. (BZ 458) Fiodor Suietov.
3132 1.1 jruoho
3133 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
3134 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
3135 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
3136 1.1 jruoho a much larger code and data size.
3137 1.1 jruoho
3138 1.1 jruoho Previous Release:
3139 1.1 jruoho Non-Debug Version: 77.9K Code, 17.1K Data, 95.0K Total
3140 1.1 jruoho Debug Version: 154.7K Code, 63.0K Data, 217.7K Total
3141 1.1 jruoho Current Release:
3142 1.1 jruoho Non-Debug Version: 77.9K Code, 17.1K Data, 95.0K Total
3143 1.1 jruoho Debug Version: 154.6K Code, 63.0K Data, 217.6K Total
3144 1.1 jruoho
3145 1.1 jruoho
3146 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
3147 1.1 jruoho
3148 1.1 jruoho Fixed a compilation problem with the pre-defined Resource Descriptor field
3149 1.1 jruoho names where an "object does not exist" error could be incorrectly generated
3150 1.1 jruoho if the parent ResourceTemplate pathname places the template within a
3151 1.1 jruoho different namespace scope than the current scope. (BZ 7212)
3152 1.1 jruoho
3153 1.1 jruoho Fixed a problem where the compiler could hang after syntax errors detected
3154 1.1 jruoho in an ElseIf construct. (BZ 453)
3155 1.1 jruoho
3156 1.1 jruoho Fixed a problem with the AmlFilename parameter to the DefinitionBlock()
3157 1.1 jruoho operator. An incorrect output filename was produced when this parameter was
3158 1.1 jruoho a null string (""). Now, the original input filename is used as the AML
3159 1.1 jruoho output filename, with an ".aml" extension.
3160 1.1 jruoho
3161 1.1 jruoho Implemented a generic batch command mode for the AcpiExec utility (execute
3162 1.1 jruoho any AML debugger command) (Valery Podrezov).
3163 1.1 jruoho
3164 1.1 jruoho ----------------------------------------
3165 1.1 jruoho 12 September 2006. Summary of changes for version 20060912:
3166 1.1 jruoho
3167 1.1 jruoho 1) ACPI CA Core Subsystem:
3168 1.1 jruoho
3169 1.1 jruoho Enhanced the implementation of the "serialized mode" of the interpreter
3170 1.1 jruoho (enabled via the AcpiGbl_AllMethodsSerialized flag.) When this mode is
3171 1.1 jruoho specified, instead of creating a serialization semaphore per control method,
3172 1.1 jruoho the interpreter lock is simply no longer released before a blocking
3173 1.1 jruoho operation during control method execution. This effectively makes the AML
3174 1.1 jruoho Interpreter single-threaded. The overhead of a semaphore per-method is
3175 1.1 jruoho eliminated.
3176 1.1 jruoho
3177 1.1 jruoho Fixed a regression where an error was no longer emitted if a control method
3178 1.1 jruoho attempts to create 2 objects of the same name. This once again returns
3179 1.1 jruoho AE_ALREADY_EXISTS. When this exception occurs, it invokes the mechanism that
3180 1.1 jruoho will dynamically serialize the control method to possible prevent future
3181 1.1 jruoho errors. (BZ 440)
3182 1.1 jruoho
3183 1.1 jruoho Integrated a fix for a problem with PCI Express HID detection in the PCI
3184 1.1 jruoho Config Space setup procedure. (BZ 7145)
3185 1.1 jruoho
3186 1.1 jruoho Moved all FADT-related functions to a new file, tbfadt.c. Eliminated the
3187 1.1 jruoho AcpiHwInitialize function - the FADT registers are now validated when the
3188 1.1 jruoho table is loaded.
3189 1.1 jruoho
3190 1.1 jruoho Added two new warnings during FADT verification - 1) if the FADT is larger
3191 1.1 jruoho than the largest known FADT version, and 2) if there is a mismatch between a
3192 1.1 jruoho 32-bit block address and the 64-bit X counterpart (when both are non-zero.)
3193 1.1 jruoho
3194 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
3195 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
3196 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
3197 1.1 jruoho a much larger code and data size.
3198 1.1 jruoho
3199 1.1 jruoho Previous Release:
3200 1.1 jruoho Non-Debug Version: 77.9K Code, 16.7K Data, 94.6K Total
3201 1.1 jruoho Debug Version: 154.9K Code, 62.6K Data, 217.5K Total
3202 1.1 jruoho Current Release:
3203 1.1 jruoho Non-Debug Version: 77.9K Code, 17.1K Data, 95.0K Total
3204 1.1 jruoho Debug Version: 154.7K Code, 63.0K Data, 217.7K Total
3205 1.1 jruoho
3206 1.1 jruoho
3207 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
3208 1.1 jruoho
3209 1.1 jruoho Fixed a problem with the implementation of the Switch() operator where the
3210 1.1 jruoho temporary variable was declared too close to the actual Switch, instead of
3211 1.1 jruoho at method level. This could cause a problem if the Switch() operator is
3212 1.1 jruoho within a while loop, causing an error on the second iteration. (BZ 460)
3213 1.1 jruoho
3214 1.1 jruoho Disassembler - fix for error emitted for unknown type for target of scope
3215 1.1 jruoho operator. Now, ignore it and continue.
3216 1.1 jruoho
3217 1.1 jruoho Disassembly of an FADT now verifies the input FADT and reports any errors
3218 1.1 jruoho found. Fix for proper disassembly of full-sized (ACPI 2.0) FADTs.
3219 1.1 jruoho
3220 1.1 jruoho Disassembly of raw data buffers with byte initialization data now prefixes
3221 1.1 jruoho each output line with the current buffer offset.
3222 1.1 jruoho
3223 1.1 jruoho Disassembly of ASF! table now includes all variable-length data fields at
3224 1.1 jruoho the end of some of the subtables.
3225 1.1 jruoho
3226 1.1 jruoho The disassembler now emits a comment if a buffer appears to be a
3227 1.1 jruoho ResourceTemplate, but cannot be disassembled as such because the EndTag does
3228 1.1 jruoho not appear at the very end of the buffer.
3229 1.1 jruoho
3230 1.1 jruoho AcpiExec - Added the "-t" command line option to enable the serialized mode
3231 1.1 jruoho of the AML interpreter.
3232 1.1 jruoho
3233 1.1 jruoho ----------------------------------------
3234 1.1 jruoho 31 August 2006. Summary of changes for version 20060831:
3235 1.1 jruoho
3236 1.1 jruoho 1) ACPI CA Core Subsystem:
3237 1.1 jruoho
3238 1.1 jruoho Miscellaneous fixes for the Table Manager:
3239 1.1 jruoho - Correctly initialize internal common FADT for all 64-bit "X" fields
3240 1.1 jruoho - Fixed a couple table mapping issues during table load
3241 1.1 jruoho - Fixed a couple alignment issues for IA64
3242 1.1 jruoho - Initialize input array to zero in AcpiInitializeTables
3243 1.1 jruoho - Additional parameter validation for AcpiGetTable, AcpiGetTableHeader,
3244 1.1 jruoho AcpiGetTableByIndex
3245 1.1 jruoho
3246 1.1 jruoho Change for GPE support: when a "wake" GPE is received, all wake GPEs are now
3247 1.1 jruoho immediately disabled to prevent the waking GPE from firing again and to
3248 1.1 jruoho prevent other wake GPEs from interrupting the wake process.
3249 1.1 jruoho
3250 1.1 jruoho Added the AcpiGpeCount global that tracks the number of processed GPEs, to
3251 1.1 jruoho be used for debugging systems with a large number of ACPI interrupts.
3252 1.1 jruoho
3253 1.1 jruoho Implemented support for the "DMAR" ACPI table (DMA Redirection Table) in
3254 1.1 jruoho both the ACPICA headers and the disassembler.
3255 1.1 jruoho
3256 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
3257 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
3258 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
3259 1.1 jruoho a much larger code and data size.
3260 1.1 jruoho
3261 1.1 jruoho Previous Release:
3262 1.1 jruoho Non-Debug Version: 77.8K Code, 16.5K Data, 94.3K Total
3263 1.1 jruoho Debug Version: 154.6K Code, 62.3K Data, 216.9K Total
3264 1.1 jruoho Current Release:
3265 1.1 jruoho Non-Debug Version: 77.9K Code, 16.7K Data, 94.6K Total
3266 1.1 jruoho Debug Version: 154.9K Code, 62.6K Data, 217.5K Total
3267 1.1 jruoho
3268 1.1 jruoho
3269 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
3270 1.1 jruoho
3271 1.1 jruoho Disassembler support for the DMAR ACPI table.
3272 1.1 jruoho
3273 1.1 jruoho ----------------------------------------
3274 1.1 jruoho 23 August 2006. Summary of changes for version 20060823:
3275 1.1 jruoho
3276 1.1 jruoho 1) ACPI CA Core Subsystem:
3277 1.1 jruoho
3278 1.1 jruoho The Table Manager component has been completely redesigned and
3279 1.1 jruoho reimplemented. The new design is much simpler, and reduces the overall code
3280 1.1 jruoho and data size of the kernel-resident ACPICA by approximately 5%. Also, it is
3281 1.1 jruoho now possible to obtain the ACPI tables very early during kernel
3282 1.1 jruoho initialization, even before dynamic memory management is initialized.
3283 1.1 jruoho (Alexey Starikovskiy, Fiodor Suietov, Bob Moore)
3284 1.1 jruoho
3285 1.1 jruoho Obsolete ACPICA interfaces:
3286 1.1 jruoho
3287 1.1 jruoho - AcpiGetFirmwareTable: Use AcpiGetTable instead (works at early kernel init
3288 1.1 jruoho time).
3289 1.1 jruoho - AcpiLoadTable: Not needed.
3290 1.1 jruoho - AcpiUnloadTable: Not needed.
3291 1.1 jruoho
3292 1.1 jruoho New ACPICA interfaces:
3293 1.1 jruoho
3294 1.1 jruoho - AcpiInitializeTables: Must be called before the table manager can be used.
3295 1.1 jruoho - AcpiReallocateRootTable: Used to transfer the root table to dynamically
3296 1.1 jruoho allocated memory after it becomes available.
3297 1.1 jruoho - AcpiGetTableByIndex: Allows the host to easily enumerate all ACPI tables
3298 1.1 jruoho in the RSDT/XSDT.
3299 1.1 jruoho
3300 1.1 jruoho Other ACPICA changes:
3301 1.1 jruoho
3302 1.1 jruoho - AcpiGetTableHeader returns the actual mapped table header, not a copy. Use
3303 1.1 jruoho AcpiOsUnmapMemory to free this mapping.
3304 1.1 jruoho - AcpiGetTable returns the actual mapped table. The mapping is managed
3305 1.1 jruoho internally and must not be deleted by the caller. Use of this interface
3306 1.1 jruoho causes no additional dynamic memory allocation.
3307 1.1 jruoho - AcpiFindRootPointer: Support for physical addressing has been eliminated,
3308 1.1 jruoho it appeared to be unused.
3309 1.1 jruoho - The interface to AcpiOsMapMemory has changed to be consistent with the
3310 1.1 jruoho other allocation interfaces.
3311 1.1 jruoho - The interface to AcpiOsGetRootPointer has changed to eliminate unnecessary
3312 1.1 jruoho parameters.
3313 1.1 jruoho - ACPI_PHYSICAL_ADDRESS is now 32 bits on 32-bit platforms, 64 bits on 64-
3314 1.1 jruoho bit platforms. Was previously 64 bits on all platforms.
3315 1.1 jruoho - The interface to the ACPI Global Lock acquire/release macros have changed
3316 1.1 jruoho slightly since ACPICA no longer keeps a local copy of the FACS with a
3317 1.1 jruoho constructed pointer to the actual global lock.
3318 1.1 jruoho
3319 1.1 jruoho Porting to the new table manager:
3320 1.1 jruoho
3321 1.1 jruoho - AcpiInitializeTables: Must be called once, and can be called anytime
3322 1.1 jruoho during the OS initialization process. It allows the host to specify an area
3323 1.1 jruoho of memory to be used to store the internal version of the RSDT/XSDT (root
3324 1.1 jruoho table). This allows the host to access ACPI tables before memory management
3325 1.1 jruoho is initialized and running.
3326 1.1 jruoho - AcpiReallocateRootTable: Can be called after memory management is running
3327 1.1 jruoho to copy the root table to a dynamically allocated array, freeing up the
3328 1.1 jruoho scratch memory specified in the call to AcpiInitializeTables.
3329 1.1 jruoho - AcpiSubsystemInitialize: This existing interface is independent of the
3330 1.1 jruoho Table Manager, and does not have to be called before the Table Manager can
3331 1.1 jruoho be used, it only must be called before the rest of ACPICA can be used.
3332 1.1 jruoho - ACPI Tables: Some changes have been made to the names and structure of the
3333 1.1 jruoho actbl.h and actbl1.h header files and may require changes to existing code.
3334 1.1 jruoho For example, bitfields have been completely removed because of their lack of
3335 1.1 jruoho portability across C compilers.
3336 1.1 jruoho - Update interfaces to the Global Lock acquire/release macros if local
3337 1.1 jruoho versions are used. (see acwin.h)
3338 1.1 jruoho
3339 1.1 jruoho Obsolete files: tbconvrt.c, tbget.c, tbgetall.c, tbrsdt.c
3340 1.1 jruoho
3341 1.1 jruoho New files: tbfind.c
3342 1.1 jruoho
3343 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
3344 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
3345 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
3346 1.1 jruoho a much larger code and data size.
3347 1.1 jruoho
3348 1.1 jruoho Previous Release:
3349 1.1 jruoho Non-Debug Version: 80.7K Code, 17.9K Data, 98.6K Total
3350 1.1 jruoho Debug Version: 161.0K Code, 65.1K Data, 226.1K Total
3351 1.1 jruoho Current Release:
3352 1.1 jruoho Non-Debug Version: 77.8K Code, 16.5K Data, 94.3K Total
3353 1.1 jruoho Debug Version: 154.6K Code, 62.3K Data, 216.9K Total
3354 1.1 jruoho
3355 1.1 jruoho
3356 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
3357 1.1 jruoho
3358 1.1 jruoho No changes for this release.
3359 1.1 jruoho
3360 1.1 jruoho ----------------------------------------
3361 1.1 jruoho 21 July 2006. Summary of changes for version 20060721:
3362 1.1 jruoho
3363 1.1 jruoho 1) ACPI CA Core Subsystem:
3364 1.1 jruoho
3365 1.1 jruoho The full source code for the ASL test suite used to validate the iASL
3366 1.1 jruoho compiler and the ACPICA core subsystem is being released with the ACPICA
3367 1.1 jruoho source for the first time. The source is contained in a separate package and
3368 1.1 jruoho consists of over 1100 files that exercise all ASL/AML operators. The package
3369 1.1 jruoho should appear on the Intel/ACPI web site shortly. (Valery Podrezov, Fiodor
3370 1.1 jruoho Suietov)
3371 1.1 jruoho
3372 1.1 jruoho Completed a new design and implementation for support of the ACPI Global
3373 1.1 jruoho Lock. On the OS side, the global lock is now treated as a standard AML
3374 1.1 jruoho mutex. Previously, multiple OS threads could "acquire" the global lock
3375 1.1 jruoho simultaneously. However, this could cause the BIOS to be starved out of the
3376 1.1 jruoho lock - especially in cases such as the Embedded Controller driver where
3377 1.1 jruoho there is a tight coupling between the OS and the BIOS.
3378 1.1 jruoho
3379 1.1 jruoho Implemented an optimization for the ACPI Global Lock interrupt mechanism.
3380 1.1 jruoho The Global Lock interrupt handler no longer queues the execution of a
3381 1.1 jruoho separate thread to signal the global lock semaphore. Instead, the semaphore
3382 1.1 jruoho is signaled directly from the interrupt handler.
3383 1.1 jruoho
3384 1.1 jruoho Implemented support within the AML interpreter for package objects that
3385 1.1 jruoho contain a larger AML length (package list length) than the package element
3386 1.1 jruoho count. In this case, the length of the package is truncated to match the
3387 1.1 jruoho package element count. Some BIOS code apparently modifies the package length
3388 1.1 jruoho on the fly, and this change supports this behavior. Provides compatibility
3389 1.1 jruoho with the MS AML interpreter. (With assistance from Fiodor Suietov)
3390 1.1 jruoho
3391 1.1 jruoho Implemented a temporary fix for the BankValue parameter of a Bank Field to
3392 1.1 jruoho support all constant values, now including the Zero and One opcodes.
3393 1.1 jruoho Evaluation of this parameter must eventually be converted to a full TermArg
3394 1.1 jruoho evaluation. A not-implemented error is now returned (temporarily) for non-
3395 1.1 jruoho constant values for this parameter.
3396 1.1 jruoho
3397 1.1 jruoho Fixed problem reports (Fiodor Suietov) integrated:
3398 1.1 jruoho - Fix for premature object deletion after CopyObject on Operation Region (BZ
3399 1.1 jruoho 350)
3400 1.1 jruoho
3401 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
3402 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
3403 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
3404 1.1 jruoho a much larger code and data size.
3405 1.1 jruoho
3406 1.1 jruoho Previous Release:
3407 1.1 jruoho Non-Debug Version: 80.7K Code, 18.0K Data, 98.7K Total
3408 1.1 jruoho Debug Version: 160.9K Code, 65.1K Data, 226.0K Total
3409 1.1 jruoho Current Release:
3410 1.1 jruoho Non-Debug Version: 80.7K Code, 17.9K Data, 98.6K Total
3411 1.1 jruoho Debug Version: 161.0K Code, 65.1K Data, 226.1K Total
3412 1.1 jruoho
3413 1.1 jruoho
3414 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
3415 1.1 jruoho
3416 1.1 jruoho No changes for this release.
3417 1.1 jruoho
3418 1.1 jruoho ----------------------------------------
3419 1.1 jruoho 07 July 2006. Summary of changes for version 20060707:
3420 1.1 jruoho
3421 1.1 jruoho 1) ACPI CA Core Subsystem:
3422 1.1 jruoho
3423 1.1 jruoho Added the ACPI_PACKED_POINTERS_NOT_SUPPORTED macro to support C compilers
3424 1.1 jruoho that do not allow the initialization of address pointers within packed
3425 1.1 jruoho structures - even though the hardware itself may support misaligned
3426 1.1 jruoho transfers. Some of the debug data structures are packed by default to
3427 1.1 jruoho minimize size.
3428 1.1 jruoho
3429 1.1 jruoho Added an error message for the case where AcpiOsGetThreadId() returns zero.
3430 1.1 jruoho A non-zero value is required by the core ACPICA code to ensure the proper
3431 1.1 jruoho operation of AML mutexes and recursive control methods.
3432 1.1 jruoho
3433 1.1 jruoho The DSDT is now the only ACPI table that determines whether the AML
3434 1.1 jruoho interpreter is in 32-bit or 64-bit mode. Not really a functional change, but
3435 1.1 jruoho the hooks for per-table 32/64 switching have been removed from the code. A
3436 1.1 jruoho clarification to the ACPI specification is forthcoming in ACPI 3.0B.
3437 1.1 jruoho
3438 1.1 jruoho Fixed a possible leak of an OwnerID in the error path of
3439 1.1 jruoho AcpiTbInitTableDescriptor (tbinstal.c), and migrated all table OwnerID
3440 1.1 jruoho deletion to a single place in AcpiTbUninstallTable to correct possible leaks
3441 1.1 jruoho when using the AcpiTbDeleteTablesByType interface (with assistance from
3442 1.1 jruoho Lance Ortiz.)
3443 1.1 jruoho
3444 1.1 jruoho Fixed a problem with Serialized control methods where the semaphore
3445 1.1 jruoho associated with the method could be over-signaled after multiple method
3446 1.1 jruoho invocations.
3447 1.1 jruoho
3448 1.1 jruoho Fixed two issues with the locking of the internal namespace data structure.
3449 1.1 jruoho Both the Unload() operator and AcpiUnloadTable interface now lock the
3450 1.1 jruoho namespace during the namespace deletion associated with the table unload
3451 1.1 jruoho (with assistance from Linn Crosetto.)
3452 1.1 jruoho
3453 1.1 jruoho Fixed problem reports (Valery Podrezov) integrated:
3454 1.1 jruoho - Eliminate unnecessary memory allocation for CreateXxxxField (BZ 5426)
3455 1.1 jruoho
3456 1.1 jruoho Fixed problem reports (Fiodor Suietov) integrated:
3457 1.1 jruoho - Incomplete cleanup branches in AcpiTbGetTableRsdt (BZ 369)
3458 1.1 jruoho - On Address Space handler deletion, needless deactivation call (BZ 374)
3459 1.1 jruoho - AcpiRemoveAddressSpaceHandler: validate Device handle parameter (BZ 375)
3460 1.1 jruoho - Possible memory leak, Notify sub-objects of Processor, Power, ThermalZone
3461 1.1 jruoho (BZ 376)
3462 1.1 jruoho - AcpiRemoveAddressSpaceHandler: validate Handler parameter (BZ 378)
3463 1.1 jruoho - Minimum Length of RSDT should be validated (BZ 379)
3464 1.1 jruoho - AcpiRemoveNotifyHandler: return AE_NOT_EXIST if Processor Obj has no
3465 1.1 jruoho Handler (BZ (380)
3466 1.1 jruoho - AcpiUnloadTable: return AE_NOT_EXIST if no table of specified type loaded
3467 1.1 jruoho (BZ 381)
3468 1.1 jruoho
3469 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
3470 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
3471 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
3472 1.1 jruoho a much larger code and data size.
3473 1.1 jruoho
3474 1.1 jruoho Previous Release:
3475 1.1 jruoho Non-Debug Version: 80.5K Code, 17.8K Data, 98.3K Total
3476 1.1 jruoho Debug Version: 160.8K Code, 64.8K Data, 225.6K Total
3477 1.1 jruoho Current Release:
3478 1.1 jruoho Non-Debug Version: 80.7K Code, 17.9K Data, 98.6K Total
3479 1.1 jruoho Debug Version: 161.0K Code, 65.1K Data, 226.1K Total
3480 1.1 jruoho
3481 1.1 jruoho
3482 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
3483 1.1 jruoho
3484 1.1 jruoho Fixed problem reports:
3485 1.1 jruoho Compiler segfault when ASL contains a long (>1024) String declaration (BZ
3486 1.1 jruoho 436)
3487 1.1 jruoho
3488 1.1 jruoho ----------------------------------------
3489 1.1 jruoho 23 June 2006. Summary of changes for version 20060623:
3490 1.1 jruoho
3491 1.1 jruoho 1) ACPI CA Core Subsystem:
3492 1.1 jruoho
3493 1.1 jruoho Implemented a new ACPI_SPINLOCK type for the OSL lock interfaces. This
3494 1.1 jruoho allows the type to be customized to the host OS for improved efficiency
3495 1.1 jruoho (since a spinlock is usually a very small object.)
3496 1.1 jruoho
3497 1.1 jruoho Implemented support for "ignored" bits in the ACPI registers. According to
3498 1.1 jruoho the ACPI specification, these bits should be preserved when writing the
3499 1.1 jruoho registers via a read/modify/write cycle. There are 3 bits preserved in this
3500 1.1 jruoho manner: PM1_CONTROL[0] (SCI_EN), PM1_CONTROL[9], and PM1_STATUS[11].
3501 1.1 jruoho
3502 1.1 jruoho Implemented the initial deployment of new OSL mutex interfaces. Since some
3503 1.1 jruoho host operating systems have separate mutex and semaphore objects, this
3504 1.1 jruoho feature was requested. The base code now uses mutexes (and the new mutex
3505 1.1 jruoho interfaces) wherever a binary semaphore was used previously. However, for
3506 1.1 jruoho the current release, the mutex interfaces are defined as macros to map them
3507 1.1 jruoho to the existing semaphore interfaces. Therefore, no OSL changes are required
3508 1.1 jruoho at this time. (See acpiosxf.h)
3509 1.1 jruoho
3510 1.1 jruoho Fixed several problems with the support for the control method SyncLevel
3511 1.1 jruoho parameter. The SyncLevel now works according to the ACPI specification and
3512 1.1 jruoho in concert with the Mutex SyncLevel parameter, since the current SyncLevel
3513 1.1 jruoho is a property of the executing thread. Mutual exclusion for control methods
3514 1.1 jruoho is now implemented with a mutex instead of a semaphore.
3515 1.1 jruoho
3516 1.1 jruoho Fixed three instances of the use of the C shift operator in the bitfield
3517 1.1 jruoho support code (exfldio.c) to avoid the use of a shift value larger than the
3518 1.1 jruoho target data width. The behavior of C compilers is undefined in this case and
3519 1.1 jruoho can cause unpredictable results, and therefore the case must be detected and
3520 1.1 jruoho avoided. (Fiodor Suietov)
3521 1.1 jruoho
3522 1.1 jruoho Added an info message whenever an SSDT or OEM table is loaded dynamically
3523 1.1 jruoho via the Load() or LoadTable() ASL operators. This should improve debugging
3524 1.1 jruoho capability since it will show exactly what tables have been loaded (beyond
3525 1.1 jruoho the tables present in the RSDT/XSDT.)
3526 1.1 jruoho
3527 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
3528 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
3529 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
3530 1.1 jruoho a much larger code and data size.
3531 1.1 jruoho
3532 1.1 jruoho Previous Release:
3533 1.1 jruoho Non-Debug Version: 80.0K Code, 17.6K Data, 97.6K Total
3534 1.1 jruoho Debug Version: 160.2K Code, 64.7K Data, 224.9K Total
3535 1.1 jruoho Current Release:
3536 1.1 jruoho Non-Debug Version: 80.5K Code, 17.8K Data, 98.3K Total
3537 1.1 jruoho Debug Version: 160.8K Code, 64.8K Data, 225.6K Total
3538 1.1 jruoho
3539 1.1 jruoho
3540 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
3541 1.1 jruoho
3542 1.1 jruoho No changes for this release.
3543 1.1 jruoho
3544 1.1 jruoho ----------------------------------------
3545 1.1 jruoho 08 June 2006. Summary of changes for version 20060608:
3546 1.1 jruoho
3547 1.1 jruoho 1) ACPI CA Core Subsystem:
3548 1.1 jruoho
3549 1.1 jruoho Converted the locking mutex used for the ACPI hardware to a spinlock. This
3550 1.1 jruoho change should eliminate all problems caused by attempting to acquire a
3551 1.1 jruoho semaphore at interrupt level, and it means that all ACPICA external
3552 1.1 jruoho interfaces that directly access the ACPI hardware can be safely called from
3553 1.1 jruoho interrupt level. OSL code that implements the semaphore interfaces should be
3554 1.1 jruoho able to eliminate any workarounds for being called at interrupt level.
3555 1.1 jruoho
3556 1.1 jruoho Fixed a regression introduced in 20060526 where the ACPI device
3557 1.1 jruoho initialization could be prematurely aborted with an AE_NOT_FOUND if a device
3558 1.1 jruoho did not have an optional _INI method.
3559 1.1 jruoho
3560 1.1 jruoho Fixed an IndexField issue where a write to the Data Register should be
3561 1.1 jruoho limited in size to the AccessSize (width) of the IndexField itself. (BZ 433,
3562 1.1 jruoho Fiodor Suietov)
3563 1.1 jruoho
3564 1.1 jruoho Fixed problem reports (Valery Podrezov) integrated:
3565 1.1 jruoho - Allow store of ThermalZone objects to Debug object (BZ 5369/5370)
3566 1.1 jruoho
3567 1.1 jruoho Fixed problem reports (Fiodor Suietov) integrated:
3568 1.1 jruoho - AcpiGetTableHeader doesn't handle multiple instances correctly (BZ 364)
3569 1.1 jruoho
3570 1.1 jruoho Removed four global mutexes that were obsolete and were no longer being
3571 1.1 jruoho used.
3572 1.1 jruoho
3573 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
3574 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
3575 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
3576 1.1 jruoho a much larger code and data size.
3577 1.1 jruoho
3578 1.1 jruoho Previous Release:
3579 1.1 jruoho Non-Debug Version: 80.0K Code, 17.7K Data, 97.7K Total
3580 1.1 jruoho Debug Version: 160.3K Code, 64.9K Data, 225.2K Total
3581 1.1 jruoho Current Release:
3582 1.1 jruoho Non-Debug Version: 80.0K Code, 17.6K Data, 97.6K Total
3583 1.1 jruoho Debug Version: 160.2K Code, 64.7K Data, 224.9K Total
3584 1.1 jruoho
3585 1.1 jruoho
3586 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
3587 1.1 jruoho
3588 1.1 jruoho Fixed a fault when using -g option (get tables from registry) on Windows
3589 1.1 jruoho machines.
3590 1.1 jruoho
3591 1.1 jruoho Fixed problem reports integrated:
3592 1.1 jruoho - Generate error if CreateField NumBits parameter is zero. (BZ 405)
3593 1.1 jruoho - Fault if Offset/Length in Field unit is very large (BZ 432, Fiodor
3594 1.1 jruoho Suietov)
3595 1.1 jruoho - Global table revision override (-r) is ignored (BZ 413)
3596 1.1 jruoho
3597 1.1 jruoho ----------------------------------------
3598 1.1 jruoho 26 May 2006. Summary of changes for version 20060526:
3599 1.1 jruoho
3600 1.1 jruoho 1) ACPI CA Core Subsystem:
3601 1.1 jruoho
3602 1.1 jruoho Restructured, flattened, and simplified the internal interfaces for
3603 1.1 jruoho namespace object evaluation - resulting in smaller code, less CPU stack use,
3604 1.1 jruoho and fewer interfaces. (With assistance from Mikhail Kouzmich)
3605 1.1 jruoho
3606 1.1 jruoho Fixed a problem with the CopyObject operator where the first parameter was
3607 1.1 jruoho not typed correctly for the parser, interpreter, compiler, and disassembler.
3608 1.1 jruoho Caused various errors and unexpected behavior.
3609 1.1 jruoho
3610 1.1 jruoho Fixed a problem where a ShiftLeft or ShiftRight of more than 64 bits
3611 1.1 jruoho produced incorrect results with some C compilers. Since the behavior of C
3612 1.1 jruoho compilers when the shift value is larger than the datatype width is
3613 1.1 jruoho apparently not well defined, the interpreter now detects this condition and
3614 1.1 jruoho simply returns zero as expected in all such cases. (BZ 395)
3615 1.1 jruoho
3616 1.1 jruoho Fixed problem reports (Valery Podrezov) integrated:
3617 1.1 jruoho - Update String-to-Integer conversion to match ACPI 3.0A spec (BZ 5329)
3618 1.1 jruoho - Allow interpreter to handle nested method declarations (BZ 5361)
3619 1.1 jruoho
3620 1.1 jruoho Fixed problem reports (Fiodor Suietov) integrated:
3621 1.1 jruoho - AcpiTerminate doesn't free debug memory allocation list objects (BZ 355)
3622 1.1 jruoho - After Core Subsystem shutdown, AcpiSubsystemStatus returns AE_OK (BZ 356)
3623 1.1 jruoho - AcpiOsUnmapMemory for RSDP can be invoked inconsistently (BZ 357)
3624 1.1 jruoho - Resource Manager should return AE_TYPE for non-device objects (BZ 358)
3625 1.1 jruoho - Incomplete cleanup branch in AcpiNsEvaluateRelative (BZ 359)
3626 1.1 jruoho - Use AcpiOsFree instead of ACPI_FREE in AcpiRsSetSrsMethodData (BZ 360)
3627 1.1 jruoho - Incomplete cleanup branch in AcpiPsParseAml (BZ 361)
3628 1.1 jruoho - Incomplete cleanup branch in AcpiDsDeleteWalkState (BZ 362)
3629 1.1 jruoho - AcpiGetTableHeader returns AE_NO_ACPI_TABLES until DSDT is loaded (BZ 365)
3630 1.1 jruoho - Status of the Global Initialization Handler call not used (BZ 366)
3631 1.1 jruoho - Incorrect object parameter to Global Initialization Handler (BZ 367)
3632 1.1 jruoho
3633 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
3634 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
3635 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
3636 1.1 jruoho a much larger code and data size.
3637 1.1 jruoho
3638 1.1 jruoho Previous Release:
3639 1.1 jruoho Non-Debug Version: 79.8K Code, 17.7K Data, 97.5K Total
3640 1.1 jruoho Debug Version: 160.5K Code, 65.1K Data, 225.6K Total
3641 1.1 jruoho Current Release:
3642 1.1 jruoho Non-Debug Version: 80.0K Code, 17.7K Data, 97.7K Total
3643 1.1 jruoho Debug Version: 160.3K Code, 64.9K Data, 225.2K Total
3644 1.1 jruoho
3645 1.1 jruoho
3646 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
3647 1.1 jruoho
3648 1.1 jruoho Modified the parser to allow the names IO, DMA, and IRQ to be used as
3649 1.1 jruoho namespace identifiers with no collision with existing resource descriptor
3650 1.1 jruoho macro names. This provides compatibility with other ASL compilers and is
3651 1.1 jruoho most useful for disassembly/recompilation of existing tables without parse
3652 1.1 jruoho errors. (With assistance from Thomas Renninger)
3653 1.1 jruoho
3654 1.1 jruoho Disassembler: fixed an incorrect disassembly problem with the
3655 1.1 jruoho DataTableRegion and CopyObject operators. Fixed a possible fault during
3656 1.1 jruoho disassembly of some Alias operators.
3657 1.1 jruoho
3658 1.1 jruoho ----------------------------------------
3659 1.1 jruoho 12 May 2006. Summary of changes for version 20060512:
3660 1.1 jruoho
3661 1.1 jruoho 1) ACPI CA Core Subsystem:
3662 1.1 jruoho
3663 1.1 jruoho Replaced the AcpiOsQueueForExecution interface with a new interface named
3664 1.1 jruoho AcpiOsExecute. The major difference is that the new interface does not have
3665 1.1 jruoho a Priority parameter, this appeared to be useless and has been replaced by a
3666 1.1 jruoho Type parameter. The Type tells the host what type of execution is being
3667 1.1 jruoho requested, such as global lock handler, notify handler, GPE handler, etc.
3668 1.1 jruoho This allows the host to queue and execute the request as appropriate for the
3669 1.1 jruoho request type, possibly using different work queues and different priorities
3670 1.1 jruoho for the various request types. This enables fixes for multithreading
3671 1.1 jruoho deadlock problems such as BZ #5534, and will require changes to all existing
3672 1.1 jruoho OS interface layers. (Alexey Starikovskiy and Bob Moore)
3673 1.1 jruoho
3674 1.1 jruoho Fixed a possible memory leak associated with the support for the so-called
3675 1.1 jruoho "implicit return" ACPI extension. Reported by FreeBSD, BZ #6514. (Fiodor
3676 1.1 jruoho Suietov)
3677 1.1 jruoho
3678 1.1 jruoho Fixed a problem with the Load() operator where a table load from an
3679 1.1 jruoho operation region could overwrite an internal table buffer by up to 7 bytes
3680 1.1 jruoho and cause alignment faults on IPF systems. (With assistance from Luming Yu)
3681 1.1 jruoho
3682 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
3683 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
3684 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
3685 1.1 jruoho a much larger code and data size.
3686 1.1 jruoho
3687 1.1 jruoho Previous Release:
3688 1.1 jruoho Non-Debug Version: 79.7K Code, 17.7K Data, 97.4K Total
3689 1.1 jruoho Debug Version: 160.1K Code, 65.2K Data, 225.3K Total
3690 1.1 jruoho Current Release:
3691 1.1 jruoho Non-Debug Version: 79.8K Code, 17.7K Data, 97.5K Total
3692 1.1 jruoho Debug Version: 160.5K Code, 65.1K Data, 225.6K Total
3693 1.1 jruoho
3694 1.1 jruoho
3695 1.1 jruoho
3696 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
3697 1.1 jruoho
3698 1.1 jruoho Disassembler: Implemented support to cross reference the internal namespace
3699 1.1 jruoho and automatically generate ASL External() statements for symbols not defined
3700 1.1 jruoho within the current table being disassembled. This will simplify the
3701 1.1 jruoho disassembly and recompilation of interdependent tables such as SSDTs since
3702 1.1 jruoho these statements will no longer have to be added manually.
3703 1.1 jruoho
3704 1.1 jruoho Disassembler: Implemented experimental support to automatically detect
3705 1.1 jruoho invocations of external control methods and generate appropriate External()
3706 1.1 jruoho statements. This is problematic because the AML cannot be correctly parsed
3707 1.1 jruoho until the number of arguments for each control method is known. Currently,
3708 1.1 jruoho standalone method invocations and invocations as the source operand of a
3709 1.1 jruoho Store() statement are supported.
3710 1.1 jruoho
3711 1.1 jruoho Disassembler: Implemented support for the ASL pseudo-operators LNotEqual,
3712 1.1 jruoho LLessEqual, and LGreaterEqual. Previously disassembled as LNot(LEqual()),
3713 1.1 jruoho LNot(LGreater()), and LNot(LLess()), this makes the disassembled ASL code
3714 1.1 jruoho more readable and likely closer to the original ASL source.
3715 1.1 jruoho
3716 1.1 jruoho ----------------------------------------
3717 1.1 jruoho 21 April 2006. Summary of changes for version 20060421:
3718 1.1 jruoho
3719 1.1 jruoho 1) ACPI CA Core Subsystem:
3720 1.1 jruoho
3721 1.1 jruoho Removed a device initialization optimization introduced in 20051216 where
3722 1.1 jruoho the _STA method was not run unless an _INI was also present for the same
3723 1.1 jruoho device. This optimization could cause problems because it could allow _INI
3724 1.1 jruoho methods to be run within a not-present device subtree. (If a not-present
3725 1.1 jruoho device had no _INI, _STA would not be run, the not-present status would not
3726 1.1 jruoho be discovered, and the children of the device would be incorrectly
3727 1.1 jruoho traversed.)
3728 1.1 jruoho
3729 1.1 jruoho Implemented a new _STA optimization where namespace subtrees that do not
3730 1.1 jruoho contain _INI are identified and ignored during device initialization.
3731 1.1 jruoho Selectively running _STA can significantly improve boot time on large
3732 1.1 jruoho machines (with assistance from Len Brown.)
3733 1.1 jruoho
3734 1.1 jruoho Implemented support for the device initialization case where the returned
3735 1.1 jruoho _STA flags indicate a device not-present but functioning. In this case, _INI
3736 1.1 jruoho is not run, but the device children are examined for presence, as per the
3737 1.1 jruoho ACPI specification.
3738 1.1 jruoho
3739 1.1 jruoho Implemented an additional change to the IndexField support in order to
3740 1.1 jruoho conform to MS behavior. The value written to the Index Register is not
3741 1.1 jruoho simply a byte offset, it is a byte offset in units of the access width of
3742 1.1 jruoho the parent Index Field. (Fiodor Suietov)
3743 1.1 jruoho
3744 1.1 jruoho Defined and deployed a new OSL interface, AcpiOsValidateAddress. This
3745 1.1 jruoho interface is called during the creation of all AML operation regions, and
3746 1.1 jruoho allows the host OS to exert control over what addresses it will allow the
3747 1.1 jruoho AML code to access. Operation Regions whose addresses are disallowed will
3748 1.1 jruoho cause a runtime exception when they are actually accessed (will not affect
3749 1.1 jruoho or abort table loading.) See oswinxf or osunixxf for an example
3750 1.1 jruoho implementation.
3751 1.1 jruoho
3752 1.1 jruoho Defined and deployed a new OSL interface, AcpiOsValidateInterface. This
3753 1.1 jruoho interface allows the host OS to match the various "optional"
3754 1.1 jruoho interface/behavior strings for the _OSI predefined control method as
3755 1.1 jruoho appropriate (with assistance from Bjorn Helgaas.) See oswinxf or osunixxf
3756 1.1 jruoho for an example implementation.
3757 1.1 jruoho
3758 1.1 jruoho Restructured and corrected various problems in the exception handling code
3759 1.1 jruoho paths within DsCallControlMethod and DsTerminateControlMethod in dsmethod
3760 1.1 jruoho (with assistance from Takayoshi Kochi.)
3761 1.1 jruoho
3762 1.1 jruoho Modified the Linux source converter to ignore quoted string literals while
3763 1.1 jruoho converting identifiers from mixed to lower case. This will correct problems
3764 1.1 jruoho with the disassembler and other areas where such strings must not be
3765 1.1 jruoho modified.
3766 1.1 jruoho
3767 1.1 jruoho The ACPI_FUNCTION_* macros no longer require quotes around the function
3768 1.1 jruoho name. This allows the Linux source converter to convert the names, now that
3769 1.1 jruoho the converter ignores quoted strings.
3770 1.1 jruoho
3771 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
3772 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
3773 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
3774 1.1 jruoho a much larger code and data size.
3775 1.1 jruoho
3776 1.1 jruoho Previous Release:
3777 1.1 jruoho
3778 1.1 jruoho Non-Debug Version: 81.1K Code, 17.7K Data, 98.8K Total
3779 1.1 jruoho Debug Version: 158.9K Code, 64.9K Data, 223.8K Total
3780 1.1 jruoho Current Release:
3781 1.1 jruoho Non-Debug Version: 79.7K Code, 17.7K Data, 97.4K Total
3782 1.1 jruoho Debug Version: 160.1K Code, 65.2K Data, 225.3K Total
3783 1.1 jruoho
3784 1.1 jruoho
3785 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
3786 1.1 jruoho
3787 1.1 jruoho Implemented 3 new warnings for iASL, and implemented multiple warning levels
3788 1.1 jruoho (w2 flag).
3789 1.1 jruoho
3790 1.1 jruoho 1) Ignored timeouts: If the TimeoutValue parameter to Wait or Acquire is not
3791 1.1 jruoho WAIT_FOREVER (0xFFFF) and the code does not examine the return value to
3792 1.1 jruoho check for the possible timeout, a warning is issued.
3793 1.1 jruoho
3794 1.1 jruoho 2) Useless operators: If an ASL operator does not specify an optional target
3795 1.1 jruoho operand and it also does not use the function return value from the
3796 1.1 jruoho operator, a warning is issued since the operator effectively does nothing.
3797 1.1 jruoho
3798 1.1 jruoho 3) Unreferenced objects: If a namespace object is created, but never
3799 1.1 jruoho referenced, a warning is issued. This is a warning level 2 since there are
3800 1.1 jruoho cases where this is ok, such as when a secondary table is loaded that uses
3801 1.1 jruoho the unreferenced objects. Even so, care is taken to only flag objects that
3802 1.1 jruoho don't look like they will ever be used. For example, the reserved methods
3803 1.1 jruoho (starting with an underscore) are usually not referenced because it is
3804 1.1 jruoho expected that the OS will invoke them.
3805 1.1 jruoho
3806 1.1 jruoho ----------------------------------------
3807 1.1 jruoho 31 March 2006. Summary of changes for version 20060331:
3808 1.1 jruoho
3809 1.1 jruoho 1) ACPI CA Core Subsystem:
3810 1.1 jruoho
3811 1.1 jruoho Implemented header file support for the following additional ACPI tables:
3812 1.1 jruoho ASF!, BOOT, CPEP, DBGP, MCFG, SPCR, SPMI, TCPA, and WDRT. With this support,
3813 1.1 jruoho all current and known ACPI tables are now defined in the ACPICA headers and
3814 1.1 jruoho are available for use by device drivers and other software.
3815 1.1 jruoho
3816 1.1 jruoho Implemented support to allow tables that contain ACPI names with invalid
3817 1.1 jruoho characters to be loaded. Previously, this would cause the table load to
3818 1.1 jruoho fail, but since there are several known cases of such tables on existing
3819 1.1 jruoho machines, this change was made to enable ACPI support for them. Also, this
3820 1.1 jruoho matches the behavior of the Microsoft ACPI implementation.
3821 1.1 jruoho
3822 1.1 jruoho Fixed a couple regressions introduced during the memory optimization in the
3823 1.1 jruoho 20060317 release. The namespace node definition required additional
3824 1.1 jruoho reorganization and an internal datatype that had been changed to 8-bit was
3825 1.1 jruoho restored to 32-bit. (Valery Podrezov)
3826 1.1 jruoho
3827 1.1 jruoho Fixed a problem where a null pointer passed to AcpiUtDeleteGenericState
3828 1.1 jruoho could be passed through to AcpiOsReleaseObject which is unexpected. Such
3829 1.1 jruoho null pointers are now trapped and ignored, matching the behavior of the
3830 1.1 jruoho previous implementation before the deployment of AcpiOsReleaseObject.
3831 1.1 jruoho (Valery Podrezov, Fiodor Suietov)
3832 1.1 jruoho
3833 1.1 jruoho Fixed a memory mapping leak during the deletion of a SystemMemory operation
3834 1.1 jruoho region where a cached memory mapping was not deleted. This became a
3835 1.1 jruoho noticeable problem for operation regions that are defined within frequently
3836 1.1 jruoho used control methods. (Dana Meyers)
3837 1.1 jruoho
3838 1.1 jruoho Reorganized the ACPI table header files into two main files: one for the
3839 1.1 jruoho ACPI tables consumed by the ACPICA core, and another for the miscellaneous
3840 1.1 jruoho ACPI tables that are consumed by the drivers and other software. The various
3841 1.1 jruoho FADT definitions were merged into one common section and three different
3842 1.1 jruoho tables (ACPI 1.0, 1.0+, and 2.0)
3843 1.1 jruoho
3844 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
3845 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
3846 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
3847 1.1 jruoho a much larger code and data size.
3848 1.1 jruoho
3849 1.1 jruoho Previous Release:
3850 1.1 jruoho Non-Debug Version: 80.9K Code, 17.7K Data, 98.6K Total
3851 1.1 jruoho Debug Version: 158.7K Code, 64.8K Data, 223.5K Total
3852 1.1 jruoho Current Release:
3853 1.1 jruoho Non-Debug Version: 81.1K Code, 17.7K Data, 98.8K Total
3854 1.1 jruoho Debug Version: 158.9K Code, 64.9K Data, 223.8K Total
3855 1.1 jruoho
3856 1.1 jruoho
3857 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
3858 1.1 jruoho
3859 1.1 jruoho Disassembler: Implemented support to decode and format all non-AML ACPI
3860 1.1 jruoho tables (tables other than DSDTs and SSDTs.) This includes the new tables
3861 1.1 jruoho added to the ACPICA headers, therefore all current and known ACPI tables are
3862 1.1 jruoho supported.
3863 1.1 jruoho
3864 1.1 jruoho Disassembler: The change to allow ACPI names with invalid characters also
3865 1.1 jruoho enables the disassembly of such tables. Invalid characters within names are
3866 1.1 jruoho changed to '*' to make the name printable; the iASL compiler will still
3867 1.1 jruoho generate an error for such names, however, since this is an invalid ACPI
3868 1.1 jruoho character.
3869 1.1 jruoho
3870 1.1 jruoho Implemented an option for AcpiXtract (-a) to extract all tables found in the
3871 1.1 jruoho input file. The default invocation extracts only the DSDTs and SSDTs.
3872 1.1 jruoho
3873 1.1 jruoho Fixed a couple of gcc generation issues for iASL and AcpiExec and added a
3874 1.1 jruoho makefile for the AcpiXtract utility.
3875 1.1 jruoho
3876 1.1 jruoho ----------------------------------------
3877 1.1 jruoho 17 March 2006. Summary of changes for version 20060317:
3878 1.1 jruoho
3879 1.1 jruoho 1) ACPI CA Core Subsystem:
3880 1.1 jruoho
3881 1.1 jruoho Implemented the use of a cache object for all internal namespace nodes.
3882 1.1 jruoho Since there are about 1000 static nodes in a typical system, this will
3883 1.1 jruoho decrease memory use for cache implementations that minimize per-allocation
3884 1.1 jruoho overhead (such as a slab allocator.)
3885 1.1 jruoho
3886 1.1 jruoho Removed the reference count mechanism for internal namespace nodes, since it
3887 1.1 jruoho was deemed unnecessary. This reduces the size of each namespace node by
3888 1.1 jruoho about 5%-10% on all platforms. Nodes are now 20 bytes for the 32-bit case,
3889 1.1 jruoho and 32 bytes for the 64-bit case.
3890 1.1 jruoho
3891 1.1 jruoho Optimized several internal data structures to reduce object size on 64-bit
3892 1.1 jruoho platforms by packing data within the 64-bit alignment. This includes the
3893 1.1 jruoho frequently used ACPI_OPERAND_OBJECT, of which there can be ~1000 static
3894 1.1 jruoho instances corresponding to the namespace objects.
3895 1.1 jruoho
3896 1.1 jruoho Added two new strings for the predefined _OSI method: "Windows 2001.1 SP1"
3897 1.1 jruoho and "Windows 2006".
3898 1.1 jruoho
3899 1.1 jruoho Split the allocation tracking mechanism out to a separate file, from
3900 1.1 jruoho utalloc.c to uttrack.c. This mechanism appears to be only useful for
3901 1.1 jruoho application-level code. Kernels may wish to not include uttrack.c in
3902 1.1 jruoho distributions.
3903 1.1 jruoho
3904 1.1 jruoho Removed all remnants of the obsolete ACPI_REPORT_* macros and the associated
3905 1.1 jruoho code. (These macros have been replaced by the ACPI_ERROR and ACPI_WARNING
3906 1.1 jruoho macros.)
3907 1.1 jruoho
3908 1.1 jruoho Code and Data Size: These are the sizes for the acpica.lib produced by the
3909 1.1 jruoho Microsoft Visual C++ 6.0 32-bit compiler. The values do not include any ACPI
3910 1.1 jruoho driver or OSPM code. The debug version of the code includes the debug output
3911 1.1 jruoho trace mechanism and has a much larger code and data size. Note that these
3912 1.1 jruoho values will vary depending on the efficiency of the compiler and the
3913 1.1 jruoho compiler options used during generation.
3914 1.1 jruoho
3915 1.1 jruoho Previous Release:
3916 1.1 jruoho Non-Debug Version: 81.1K Code, 17.8K Data, 98.9K Total
3917 1.1 jruoho Debug Version: 161.6K Code, 65.7K Data, 227.3K Total
3918 1.1 jruoho Current Release:
3919 1.1 jruoho Non-Debug Version: 80.9K Code, 17.7K Data, 98.6K Total
3920 1.1 jruoho Debug Version: 158.7K Code, 64.8K Data, 223.5K Total
3921 1.1 jruoho
3922 1.1 jruoho
3923 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
3924 1.1 jruoho
3925 1.1 jruoho Implemented an ANSI C version of the acpixtract utility. This version will
3926 1.1 jruoho automatically extract the DSDT and all SSDTs from the input acpidump text
3927 1.1 jruoho file and dump the binary output to separate files. It can also display a
3928 1.1 jruoho summary of the input file including the headers for each table found and
3929 1.1 jruoho will extract any single ACPI table, with any signature. (See
3930 1.1 jruoho source/tools/acpixtract)
3931 1.1 jruoho
3932 1.1 jruoho ----------------------------------------
3933 1.1 jruoho 10 March 2006. Summary of changes for version 20060310:
3934 1.1 jruoho
3935 1.1 jruoho 1) ACPI CA Core Subsystem:
3936 1.1 jruoho
3937 1.1 jruoho Tagged all external interfaces to the subsystem with the new
3938 1.1 jruoho ACPI_EXPORT_SYMBOL macro. This macro can be defined as necessary to assist
3939 1.1 jruoho kernel integration. For Linux, the macro resolves to the EXPORT_SYMBOL
3940 1.1 jruoho macro. The default definition is NULL.
3941 1.1 jruoho
3942 1.1 jruoho Added the ACPI_THREAD_ID type for the return value from AcpiOsGetThreadId.
3943 1.1 jruoho This allows the host to define this as necessary to simplify kernel
3944 1.1 jruoho integration. The default definition is ACPI_NATIVE_UINT.
3945 1.1 jruoho
3946 1.1 jruoho Fixed two interpreter problems related to error processing, the deletion of
3947 1.1 jruoho objects, and placing invalid pointers onto the internal operator result
3948 1.1 jruoho stack. BZ 6028, 6151 (Valery Podrezov)
3949 1.1 jruoho
3950 1.1 jruoho Increased the reference count threshold where a warning is emitted for large
3951 1.1 jruoho reference counts in order to eliminate unnecessary warnings on systems with
3952 1.1 jruoho large namespaces (especially 64-bit.) Increased the value from 0x400 to
3953 1.1 jruoho 0x800.
3954 1.1 jruoho
3955 1.1 jruoho Due to universal disagreement as to the meaning of the 'c' in the calloc()
3956 1.1 jruoho function, the ACPI_MEM_CALLOCATE macro has been renamed to
3957 1.1 jruoho ACPI_ALLOCATE_ZEROED so that the purpose of the interface is 'clear'.
3958 1.1 jruoho ACPI_MEM_ALLOCATE and ACPI_MEM_FREE are renamed to ACPI_ALLOCATE and
3959 1.1 jruoho ACPI_FREE.
3960 1.1 jruoho
3961 1.1 jruoho Code and Data Size: These are the sizes for the acpica.lib produced by the
3962 1.1 jruoho Microsoft Visual C++ 6.0 32-bit compiler. The values do not include any ACPI
3963 1.1 jruoho driver or OSPM code. The debug version of the code includes the debug output
3964 1.1 jruoho trace mechanism and has a much larger code and data size. Note that these
3965 1.1 jruoho values will vary depending on the efficiency of the compiler and the
3966 1.1 jruoho compiler options used during generation.
3967 1.1 jruoho
3968 1.1 jruoho Previous Release:
3969 1.1 jruoho Non-Debug Version: 81.0K Code, 17.8K Data, 98.8K Total
3970 1.1 jruoho Debug Version: 161.4K Code, 65.7K Data, 227.1K Total
3971 1.1 jruoho Current Release:
3972 1.1 jruoho Non-Debug Version: 81.1K Code, 17.8K Data, 98.9K Total
3973 1.1 jruoho Debug Version: 161.6K Code, 65.7K Data, 227.3K Total
3974 1.1 jruoho
3975 1.1 jruoho
3976 1.1 jruoho 2) iASL Compiler/Disassembler:
3977 1.1 jruoho
3978 1.1 jruoho Disassembler: implemented support for symbolic resource descriptor
3979 1.1 jruoho references. If a CreateXxxxField operator references a fixed offset within a
3980 1.1 jruoho resource descriptor, a name is assigned to the descriptor and the offset is
3981 1.1 jruoho translated to the appropriate resource tag and pathname. The addition of
3982 1.1 jruoho this support brings the disassembled code very close to the original ASL
3983 1.1 jruoho source code and helps eliminate run-time errors when the disassembled code
3984 1.1 jruoho is modified (and recompiled) in such a way as to invalidate the original
3985 1.1 jruoho fixed offsets.
3986 1.1 jruoho
3987 1.1 jruoho Implemented support for a Descriptor Name as the last parameter to the ASL
3988 1.1 jruoho Register() macro. This parameter was inadvertently left out of the ACPI
3989 1.1 jruoho specification, and will be added for ACPI 3.0b.
3990 1.1 jruoho
3991 1.1 jruoho Fixed a problem where the use of the "_OSI" string (versus the full path
3992 1.1 jruoho "\_OSI") caused an internal compiler error. ("No back ptr to op")
3993 1.1 jruoho
3994 1.1 jruoho Fixed a problem with the error message that occurs when an invalid string is
3995 1.1 jruoho used for a _HID object (such as one with an embedded asterisk: "*PNP010A".)
3996 1.1 jruoho The correct message is now displayed.
3997 1.1 jruoho
3998 1.1 jruoho ----------------------------------------
3999 1.1 jruoho 17 February 2006. Summary of changes for version 20060217:
4000 1.1 jruoho
4001 1.1 jruoho 1) ACPI CA Core Subsystem:
4002 1.1 jruoho
4003 1.1 jruoho Implemented a change to the IndexField support to match the behavior of the
4004 1.1 jruoho Microsoft AML interpreter. The value written to the Index register is now a
4005 1.1 jruoho byte offset, no longer an index based upon the width of the Data register.
4006 1.1 jruoho This should fix IndexField problems seen on some machines where the Data
4007 1.1 jruoho register is not exactly one byte wide. The ACPI specification will be
4008 1.1 jruoho clarified on this point.
4009 1.1 jruoho
4010 1.1 jruoho Fixed a problem where several resource descriptor types could overrun the
4011 1.1 jruoho internal descriptor buffer due to size miscalculation: VendorShort,
4012 1.1 jruoho VendorLong, and Interrupt. This was noticed on IA64 machines, but could
4013 1.1 jruoho affect all platforms.
4014 1.1 jruoho
4015 1.1 jruoho Fixed a problem where individual resource descriptors were misaligned within
4016 1.1 jruoho the internal buffer, causing alignment faults on IA64 platforms.
4017 1.1 jruoho
4018 1.1 jruoho Code and Data Size: These are the sizes for the acpica.lib produced by the
4019 1.1 jruoho Microsoft Visual C++ 6.0 32-bit compiler. The values do not include any ACPI
4020 1.1 jruoho driver or OSPM code. The debug version of the code includes the debug output
4021 1.1 jruoho trace mechanism and has a much larger code and data size. Note that these
4022 1.1 jruoho values will vary depending on the efficiency of the compiler and the
4023 1.1 jruoho compiler options used during generation.
4024 1.1 jruoho
4025 1.1 jruoho Previous Release:
4026 1.1 jruoho Non-Debug Version: 81.1K Code, 17.8K Data, 98.9K Total
4027 1.1 jruoho Debug Version: 161.3K Code, 65.6K Data, 226.9K Total
4028 1.1 jruoho Current Release:
4029 1.1 jruoho Non-Debug Version: 81.0K Code, 17.8K Data, 98.8K Total
4030 1.1 jruoho Debug Version: 161.4K Code, 65.7K Data, 227.1K Total
4031 1.1 jruoho
4032 1.1 jruoho
4033 1.1 jruoho 2) iASL Compiler/Disassembler:
4034 1.1 jruoho
4035 1.1 jruoho Implemented support for new reserved names: _WDG and _WED are Microsoft
4036 1.1 jruoho extensions for Windows Instrumentation Management, _TDL is a new ACPI-
4037 1.1 jruoho defined method (Throttling Depth Limit.)
4038 1.1 jruoho
4039 1.1 jruoho Fixed a problem where a zero-length VendorShort or VendorLong resource
4040 1.1 jruoho descriptor was incorrectly emitted as a descriptor of length one.
4041 1.1 jruoho
4042 1.1 jruoho ----------------------------------------
4043 1.1 jruoho 10 February 2006. Summary of changes for version 20060210:
4044 1.1 jruoho
4045 1.1 jruoho 1) ACPI CA Core Subsystem:
4046 1.1 jruoho
4047 1.1 jruoho Removed a couple of extraneous ACPI_ERROR messages that appeared during
4048 1.1 jruoho normal execution. These became apparent after the conversion from
4049 1.1 jruoho ACPI_DEBUG_PRINT.
4050 1.1 jruoho
4051 1.1 jruoho Fixed a problem where the CreateField operator could hang if the BitIndex or
4052 1.1 jruoho NumBits parameter referred to a named object. (Valery Podrezov, BZ 5359)
4053 1.1 jruoho
4054 1.1 jruoho Fixed a problem where a DeRefOf operation on a buffer object incorrectly
4055 1.1 jruoho failed with an exception. This also fixes a couple of related RefOf and
4056 1.1 jruoho DeRefOf issues. (Valery Podrezov, BZ 5360/5392/5387)
4057 1.1 jruoho
4058 1.1 jruoho Fixed a problem where the AE_BUFFER_LIMIT exception was returned instead of
4059 1.1 jruoho AE_STRING_LIMIT on an out-of-bounds Index() operation. (Valery Podrezov, BZ
4060 1.1 jruoho 5480)
4061 1.1 jruoho
4062 1.1 jruoho Implemented a memory cleanup at the end of the execution of each iteration
4063 1.1 jruoho of an AML While() loop, preventing the accumulation of outstanding objects.
4064 1.1 jruoho (Valery Podrezov, BZ 5427)
4065 1.1 jruoho
4066 1.1 jruoho Eliminated a chunk of duplicate code in the object resolution code. (Valery
4067 1.1 jruoho Podrezov, BZ 5336)
4068 1.1 jruoho
4069 1.1 jruoho Fixed several warnings during the 64-bit code generation.
4070 1.1 jruoho
4071 1.1 jruoho The AcpiSrc source code conversion tool now inserts one line of whitespace
4072 1.1 jruoho after an if() statement that is followed immediately by a comment, improving
4073 1.1 jruoho readability of the Linux code.
4074 1.1 jruoho
4075 1.1 jruoho Code and Data Size: The current and previous library sizes for the core
4076 1.1 jruoho subsystem are shown below. These are the code and data sizes for the
4077 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These
4078 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug version of the
4079 1.1 jruoho code includes the debug output trace mechanism and has a much larger code
4080 1.1 jruoho and data size. Note that these values will vary depending on the efficiency
4081 1.1 jruoho of the compiler and the compiler options used during generation.
4082 1.1 jruoho
4083 1.1 jruoho Previous Release:
4084 1.1 jruoho Non-Debug Version: 81.0K Code, 17.9K Data, 98.9K Total
4085 1.1 jruoho Debug Version: 161.3K Code, 65.7K Data, 227.0K Total
4086 1.1 jruoho Current Release:
4087 1.1 jruoho Non-Debug Version: 81.1K Code, 17.8K Data, 98.9K Total
4088 1.1 jruoho Debug Version: 161.3K Code, 65.6K Data, 226.9K Total
4089 1.1 jruoho
4090 1.1 jruoho
4091 1.1 jruoho 2) iASL Compiler/Disassembler:
4092 1.1 jruoho
4093 1.1 jruoho Fixed a problem with the disassembly of a BankField operator with a complex
4094 1.1 jruoho expression for the BankValue parameter.
4095 1.1 jruoho
4096 1.1 jruoho ----------------------------------------
4097 1.1 jruoho 27 January 2006. Summary of changes for version 20060127:
4098 1.1 jruoho
4099 1.1 jruoho 1) ACPI CA Core Subsystem:
4100 1.1 jruoho
4101 1.1 jruoho Implemented support in the Resource Manager to allow unresolved namestring
4102 1.1 jruoho references within resource package objects for the _PRT method. This support
4103 1.1 jruoho is in addition to the previously implemented unresolved reference support
4104 1.1 jruoho within the AML parser. If the interpreter slack mode is enabled, these
4105 1.1 jruoho unresolved references will be passed through to the caller as a NULL package
4106 1.1 jruoho entry.
4107 1.1 jruoho
4108 1.1 jruoho Implemented and deployed new macros and functions for error and warning
4109 1.1 jruoho messages across the subsystem. These macros are simpler and generate less
4110 1.1 jruoho code than their predecessors. The new macros ACPI_ERROR, ACPI_EXCEPTION,
4111 1.1 jruoho ACPI_WARNING, and ACPI_INFO replace the ACPI_REPORT_* macros. The older
4112 1.1 jruoho macros remain defined to allow ACPI drivers time to migrate to the new
4113 1.1 jruoho macros.
4114 1.1 jruoho
4115 1.1 jruoho Implemented the ACPI_CPU_FLAGS type to simplify host OS integration of the
4116 1.1 jruoho Acquire/Release Lock OSL interfaces.
4117 1.1 jruoho
4118 1.1 jruoho Fixed a problem where Alias ASL operators are sometimes not correctly
4119 1.1 jruoho resolved, in both the interpreter and the iASL compiler.
4120 1.1 jruoho
4121 1.1 jruoho Fixed several problems with the implementation of the ConcatenateResTemplate
4122 1.1 jruoho ASL operator. As per the ACPI specification, zero length buffers are now
4123 1.1 jruoho treated as a single EndTag. One-length buffers always cause a fatal
4124 1.1 jruoho exception. Non-zero length buffers that do not end with a full 2-byte EndTag
4125 1.1 jruoho cause a fatal exception.
4126 1.1 jruoho
4127 1.1 jruoho Fixed a possible structure overwrite in the AcpiGetObjectInfo external
4128 1.1 jruoho interface. (With assistance from Thomas Renninger)
4129 1.1 jruoho
4130 1.1 jruoho Code and Data Size: The current and previous library sizes for the core
4131 1.1 jruoho subsystem are shown below. These are the code and data sizes for the
4132 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These
4133 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug version of the
4134 1.1 jruoho code includes the debug output trace mechanism and has a much larger code
4135 1.1 jruoho and data size. Note that these values will vary depending on the efficiency
4136 1.1 jruoho of the compiler and the compiler options used during generation.
4137 1.1 jruoho
4138 1.1 jruoho Previous Release:
4139 1.1 jruoho Non-Debug Version: 83.1K Code, 18.4K Data, 101.5K Total
4140 1.1 jruoho Debug Version: 163.2K Code, 66.2K Data, 229.4K Total
4141 1.1 jruoho Current Release:
4142 1.1 jruoho Non-Debug Version: 81.0K Code, 17.9K Data, 98.9K Total
4143 1.1 jruoho Debug Version: 161.3K Code, 65.7K Data, 227.0K Total
4144 1.1 jruoho
4145 1.1 jruoho
4146 1.1 jruoho 2) iASL Compiler/Disassembler:
4147 1.1 jruoho
4148 1.1 jruoho Fixed an internal error that was generated for any forward references to ASL
4149 1.1 jruoho Alias objects.
4150 1.1 jruoho
4151 1.1 jruoho ----------------------------------------
4152 1.1 jruoho 13 January 2006. Summary of changes for version 20060113:
4153 1.1 jruoho
4154 1.1 jruoho 1) ACPI CA Core Subsystem:
4155 1.1 jruoho
4156 1.1 jruoho Added 2006 copyright to all module headers and signons. This affects
4157 1.1 jruoho virtually every file in the ACPICA core subsystem, iASL compiler, and the
4158 1.1 jruoho utilities.
4159 1.1 jruoho
4160 1.1 jruoho Enhanced the ACPICA error reporting in order to simplify user migration to
4161 1.1 jruoho the non-debug version of ACPICA. Replaced all instances of the
4162 1.1 jruoho ACPI_DEBUG_PRINT macro invoked at the ACPI_DB_ERROR and ACPI_DB_WARN debug
4163 1.1 jruoho levels with the ACPI_REPORT_ERROR and ACPI_REPORT_WARNING macros,
4164 1.1 jruoho respectively. This preserves all error and warning messages in the non-debug
4165 1.1 jruoho version of the ACPICA code (this has been referred to as the "debug lite"
4166 1.1 jruoho option.) Over 200 cases were converted to create a total of over 380
4167 1.1 jruoho error/warning messages across the ACPICA code. This increases the code and
4168 1.1 jruoho data size of the default non-debug version of the code somewhat (about 13K),
4169 1.1 jruoho but all error/warning reporting may be disabled if desired (and code
4170 1.1 jruoho eliminated) by specifying the ACPI_NO_ERROR_MESSAGES compile-time
4171 1.1 jruoho configuration option. The size of the debug version of ACPICA remains about
4172 1.1 jruoho the same.
4173 1.1 jruoho
4174 1.1 jruoho Fixed a memory leak within the AML Debugger "Set" command. One object was
4175 1.1 jruoho not properly deleted for every successful invocation of the command.
4176 1.1 jruoho
4177 1.1 jruoho Code and Data Size: The current and previous library sizes for the core
4178 1.1 jruoho subsystem are shown below. These are the code and data sizes for the
4179 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These
4180 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug version of the
4181 1.1 jruoho code includes the debug output trace mechanism and has a much larger code
4182 1.1 jruoho and data size. Note that these values will vary depending on the efficiency
4183 1.1 jruoho of the compiler and the compiler options used during generation.
4184 1.1 jruoho
4185 1.1 jruoho Previous Release:
4186 1.1 jruoho Non-Debug Version: 76.6K Code, 12.3K Data, 88.9K Total
4187 1.1 jruoho Debug Version: 163.7K Code, 67.5K Data, 231.2K Total
4188 1.1 jruoho Current Release:
4189 1.1 jruoho Non-Debug Version: 83.1K Code, 18.4K Data, 101.5K Total
4190 1.1 jruoho Debug Version: 163.2K Code, 66.2K Data, 229.4K Total
4191 1.1 jruoho
4192 1.1 jruoho
4193 1.1 jruoho 2) iASL Compiler/Disassembler:
4194 1.1 jruoho
4195 1.1 jruoho The compiler now officially supports the ACPI 3.0a specification that was
4196 1.1 jruoho released on December 30, 2005. (Specification is available at www.acpi.info)
4197 1.1 jruoho
4198 1.1 jruoho ----------------------------------------
4199 1.1 jruoho 16 December 2005. Summary of changes for version 20051216:
4200 1.1 jruoho
4201 1.1 jruoho 1) ACPI CA Core Subsystem:
4202 1.1 jruoho
4203 1.1 jruoho Implemented optional support to allow unresolved names within ASL Package
4204 1.1 jruoho objects. A null object is inserted in the package when a named reference
4205 1.1 jruoho cannot be located in the current namespace. Enabled via the interpreter
4206 1.1 jruoho slack flag, this should eliminate AE_NOT_FOUND exceptions seen on machines
4207 1.1 jruoho that contain such code.
4208 1.1 jruoho
4209 1.1 jruoho Implemented an optimization to the initialization sequence that can improve
4210 1.1 jruoho boot time. During ACPI device initialization, the _STA method is now run if
4211 1.1 jruoho and only if the _INI method exists. The _STA method is used to determine if
4212 1.1 jruoho the device is present; An _INI can only be run if _STA returns present, but
4213 1.1 jruoho it is a waste of time to run the _STA method if the _INI does not exist.
4214 1.1 jruoho (Prototype and assistance from Dong Wei)
4215 1.1 jruoho
4216 1.1 jruoho Implemented use of the C99 uintptr_t for the pointer casting macros if it is
4217 1.1 jruoho available in the current compiler. Otherwise, the default (void *) cast is
4218 1.1 jruoho used as before.
4219 1.1 jruoho
4220 1.1 jruoho Fixed some possible memory leaks found within the execution path of the
4221 1.1 jruoho Break, Continue, If, and CreateField operators. (Valery Podrezov)
4222 1.1 jruoho
4223 1.1 jruoho Fixed a problem introduced in the 20051202 release where an exception is
4224 1.1 jruoho generated during method execution if a control method attempts to declare
4225 1.1 jruoho another method.
4226 1.1 jruoho
4227 1.1 jruoho Moved resource descriptor string constants that are used by both the AML
4228 1.1 jruoho disassembler and AML debugger to the common utilities directory so that
4229 1.1 jruoho these components are independent.
4230 1.1 jruoho
4231 1.1 jruoho Implemented support in the AcpiExec utility (-e switch) to globally ignore
4232 1.1 jruoho exceptions during control method execution (method is not aborted.)
4233 1.1 jruoho
4234 1.1 jruoho Added the rsinfo.c source file to the AcpiExec makefile for Linux/Unix
4235 1.1 jruoho generation.
4236 1.1 jruoho
4237 1.1 jruoho Code and Data Size: The current and previous library sizes for the core
4238 1.1 jruoho subsystem are shown below. These are the code and data sizes for the
4239 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These
4240 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug version of the
4241 1.1 jruoho code includes the debug output trace mechanism and has a much larger code
4242 1.1 jruoho and data size. Note that these values will vary depending on the efficiency
4243 1.1 jruoho of the compiler and the compiler options used during generation.
4244 1.1 jruoho
4245 1.1 jruoho Previous Release:
4246 1.1 jruoho Non-Debug Version: 76.3K Code, 12.3K Data, 88.6K Total
4247 1.1 jruoho Debug Version: 163.2K Code, 67.4K Data, 230.6K Total
4248 1.1 jruoho Current Release:
4249 1.1 jruoho Non-Debug Version: 76.6K Code, 12.3K Data, 88.9K Total
4250 1.1 jruoho Debug Version: 163.7K Code, 67.5K Data, 231.2K Total
4251 1.1 jruoho
4252 1.1 jruoho
4253 1.1 jruoho 2) iASL Compiler/Disassembler:
4254 1.1 jruoho
4255 1.1 jruoho Fixed a problem where a CPU stack overflow fault could occur if a recursive
4256 1.1 jruoho method call was made from within a Return statement.
4257 1.1 jruoho
4258 1.1 jruoho ----------------------------------------
4259 1.1 jruoho 02 December 2005. Summary of changes for version 20051202:
4260 1.1 jruoho
4261 1.1 jruoho 1) ACPI CA Core Subsystem:
4262 1.1 jruoho
4263 1.1 jruoho Modified the parsing of control methods to no longer create namespace
4264 1.1 jruoho objects during the first pass of the parse. Objects are now created only
4265 1.1 jruoho during the execute phase, at the moment the namespace creation operator is
4266 1.1 jruoho encountered in the AML (Name, OperationRegion, CreateByteField, etc.) This
4267 1.1 jruoho should eliminate ALREADY_EXISTS exceptions seen on some machines where
4268 1.1 jruoho reentrant control methods are protected by an AML mutex. The mutex will now
4269 1.1 jruoho correctly block multiple threads from attempting to create the same object
4270 1.1 jruoho more than once.
4271 1.1 jruoho
4272 1.1 jruoho Increased the number of available Owner Ids for namespace object tracking
4273 1.1 jruoho from 32 to 255. This should eliminate the OWNER_ID_LIMIT exceptions seen on
4274 1.1 jruoho some machines with a large number of ACPI tables (either static or dynamic).
4275 1.1 jruoho
4276 1.1 jruoho Fixed a problem with the AcpiExec utility where a fault could occur when the
4277 1.1 jruoho -b switch (batch mode) is used.
4278 1.1 jruoho
4279 1.1 jruoho Enhanced the namespace dump routine to output the owner ID for each
4280 1.1 jruoho namespace object.
4281 1.1 jruoho
4282 1.1 jruoho Code and Data Size: The current and previous library sizes for the core
4283 1.1 jruoho subsystem are shown below. These are the code and data sizes for the
4284 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These
4285 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug version of the
4286 1.1 jruoho code includes the debug output trace mechanism and has a much larger code
4287 1.1 jruoho and data size. Note that these values will vary depending on the efficiency
4288 1.1 jruoho of the compiler and the compiler options used during generation.
4289 1.1 jruoho
4290 1.1 jruoho Previous Release:
4291 1.1 jruoho Non-Debug Version: 76.3K Code, 12.3K Data, 88.6K Total
4292 1.1 jruoho Debug Version: 163.0K Code, 67.4K Data, 230.4K Total
4293 1.1 jruoho Current Release:
4294 1.1 jruoho Non-Debug Version: 76.3K Code, 12.3K Data, 88.6K Total
4295 1.1 jruoho Debug Version: 163.2K Code, 67.4K Data, 230.6K Total
4296 1.1 jruoho
4297 1.1 jruoho
4298 1.1 jruoho 2) iASL Compiler/Disassembler:
4299 1.1 jruoho
4300 1.1 jruoho Fixed a parse error during compilation of certain Switch/Case constructs. To
4301 1.1 jruoho simplify the parse, the grammar now allows for multiple Default statements
4302 1.1 jruoho and this error is now detected and flagged during the analysis phase.
4303 1.1 jruoho
4304 1.1 jruoho Disassembler: The disassembly now includes the contents of the original
4305 1.1 jruoho table header within a comment at the start of the file. This includes the
4306 1.1 jruoho name and version of the original ASL compiler.
4307 1.1 jruoho
4308 1.1 jruoho ----------------------------------------
4309 1.1 jruoho 17 November 2005. Summary of changes for version 20051117:
4310 1.1 jruoho
4311 1.1 jruoho 1) ACPI CA Core Subsystem:
4312 1.1 jruoho
4313 1.1 jruoho Fixed a problem in the AML parser where the method thread count could be
4314 1.1 jruoho decremented below zero if any errors occurred during the method parse phase.
4315 1.1 jruoho This should eliminate AE_AML_METHOD_LIMIT exceptions seen on some machines.
4316 1.1 jruoho This also fixed a related regression with the mechanism that detects and
4317 1.1 jruoho corrects methods that cannot properly handle reentrancy (related to the
4318 1.1 jruoho deployment of the new OwnerId mechanism.)
4319 1.1 jruoho
4320 1.1 jruoho Eliminated the pre-parsing of control methods (to detect errors) during
4321 1.1 jruoho table load. Related to the problem above, this was causing unwind issues if
4322 1.1 jruoho any errors occurred during the parse, and it seemed to be overkill. A table
4323 1.1 jruoho load should not be aborted if there are problems with any single control
4324 1.1 jruoho method, thus rendering this feature rather pointless.
4325 1.1 jruoho
4326 1.1 jruoho Fixed a problem with the new table-driven resource manager where an internal
4327 1.1 jruoho buffer overflow could occur for small resource templates.
4328 1.1 jruoho
4329 1.1 jruoho Implemented a new external interface, AcpiGetVendorResource. This interface
4330 1.1 jruoho will find and return a vendor-defined resource descriptor within a _CRS or
4331 1.1 jruoho _PRS method via an ACPI 3.0 UUID match. With assistance from Bjorn Helgaas.
4332 1.1 jruoho
4333 1.1 jruoho Removed the length limit (200) on string objects as per the upcoming ACPI
4334 1.1 jruoho 3.0A specification. This affects the following areas of the interpreter: 1)
4335 1.1 jruoho any implicit conversion of a Buffer to a String, 2) a String object result
4336 1.1 jruoho of the ASL Concatentate operator, 3) the String object result of the ASL
4337 1.1 jruoho ToString operator.
4338 1.1 jruoho
4339 1.1 jruoho Fixed a problem in the Windows OS interface layer (OSL) where a WAIT_FOREVER
4340 1.1 jruoho on a semaphore object would incorrectly timeout. This allows the
4341 1.1 jruoho multithreading features of the AcpiExec utility to work properly under
4342 1.1 jruoho Windows.
4343 1.1 jruoho
4344 1.1 jruoho Updated the Linux makefiles for the iASL compiler and AcpiExec to include
4345 1.1 jruoho the recently added file named "utresrc.c".
4346 1.1 jruoho
4347 1.1 jruoho Code and Data Size: The current and previous library sizes for the core
4348 1.1 jruoho subsystem are shown below. These are the code and data sizes for the
4349 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These
4350 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug version of the
4351 1.1 jruoho code includes the debug output trace mechanism and has a much larger code
4352 1.1 jruoho and data size. Note that these values will vary depending on the efficiency
4353 1.1 jruoho of the compiler and the compiler options used during generation.
4354 1.1 jruoho
4355 1.1 jruoho Previous Release:
4356 1.1 jruoho Non-Debug Version: 76.2K Code, 12.3K Data, 88.5K Total
4357 1.1 jruoho Debug Version: 163.0K Code, 67.4K Data, 230.4K Total
4358 1.1 jruoho Current Release:
4359 1.1 jruoho Non-Debug Version: 76.3K Code, 12.3K Data, 88.6K Total
4360 1.1 jruoho Debug Version: 163.0K Code, 67.4K Data, 230.4K Total
4361 1.1 jruoho
4362 1.1 jruoho
4363 1.1 jruoho 2) iASL Compiler/Disassembler:
4364 1.1 jruoho
4365 1.1 jruoho Removed the limit (200) on string objects as per the upcoming ACPI 3.0A
4366 1.1 jruoho specification. For the iASL compiler, this means that string literals within
4367 1.1 jruoho the source ASL can be of any length.
4368 1.1 jruoho
4369 1.1 jruoho Enhanced the listing output to dump the AML code for resource descriptors
4370 1.1 jruoho immediately after the ASL code for each descriptor, instead of in a block at
4371 1.1 jruoho the end of the entire resource template.
4372 1.1 jruoho
4373 1.1 jruoho Enhanced the compiler debug output to dump the entire original parse tree
4374 1.1 jruoho constructed during the parse phase, before any transforms are applied to the
4375 1.1 jruoho tree. The transformed tree is dumped also.
4376 1.1 jruoho
4377 1.1 jruoho ----------------------------------------
4378 1.1 jruoho 02 November 2005. Summary of changes for version 20051102:
4379 1.1 jruoho
4380 1.1 jruoho 1) ACPI CA Core Subsystem:
4381 1.1 jruoho
4382 1.1 jruoho Modified the subsystem initialization sequence to improve GPE support. The
4383 1.1 jruoho GPE initialization has been split into two parts in order to defer execution
4384 1.1 jruoho of the _PRW methods (Power Resources for Wake) until after the hardware is
4385 1.1 jruoho fully initialized and the SCI handler is installed. This allows the _PRW
4386 1.1 jruoho methods to access fields protected by the Global Lock. This will fix systems
4387 1.1 jruoho where a NO_GLOBAL_LOCK exception has been seen during initialization.
4388 1.1 jruoho
4389 1.1 jruoho Converted the ACPI internal object disassemble and display code within the
4390 1.1 jruoho AML debugger to fully table-driven operation, reducing code size and
4391 1.1 jruoho increasing maintainability.
4392 1.1 jruoho
4393 1.1 jruoho Fixed a regression with the ConcatenateResTemplate() ASL operator introduced
4394 1.1 jruoho in the 20051021 release.
4395 1.1 jruoho
4396 1.1 jruoho Implemented support for "local" internal ACPI object types within the
4397 1.1 jruoho debugger "Object" command and the AcpiWalkNamespace external interfaces.
4398 1.1 jruoho These local types include RegionFields, BankFields, IndexFields, Alias, and
4399 1.1 jruoho reference objects.
4400 1.1 jruoho
4401 1.1 jruoho Moved common AML resource handling code into a new file, "utresrc.c". This
4402 1.1 jruoho code is shared by both the Resource Manager and the AML Debugger.
4403 1.1 jruoho
4404 1.1 jruoho Code and Data Size: The current and previous library sizes for the core
4405 1.1 jruoho subsystem are shown below. These are the code and data sizes for the
4406 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These
4407 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug version of the
4408 1.1 jruoho code includes the debug output trace mechanism and has a much larger code
4409 1.1 jruoho and data size. Note that these values will vary depending on the efficiency
4410 1.1 jruoho of the compiler and the compiler options used during generation.
4411 1.1 jruoho
4412 1.1 jruoho Previous Release:
4413 1.1 jruoho Non-Debug Version: 76.1K Code, 12.2K Data, 88.3K Total
4414 1.1 jruoho Debug Version: 163.5K Code, 67.0K Data, 230.5K Total
4415 1.1 jruoho Current Release:
4416 1.1 jruoho Non-Debug Version: 76.2K Code, 12.3K Data, 88.5K Total
4417 1.1 jruoho Debug Version: 163.0K Code, 67.4K Data, 230.4K Total
4418 1.1 jruoho
4419 1.1 jruoho
4420 1.1 jruoho 2) iASL Compiler/Disassembler:
4421 1.1 jruoho
4422 1.1 jruoho Fixed a problem with very large initializer lists (more than 4000 elements)
4423 1.1 jruoho for both Buffer and Package objects where the parse stack could overflow.
4424 1.1 jruoho
4425 1.1 jruoho Enhanced the pre-compile source code scan for non-ASCII characters to ignore
4426 1.1 jruoho characters within comment fields. The scan is now always performed and is no
4427 1.1 jruoho longer optional, detecting invalid characters within a source file
4428 1.1 jruoho immediately rather than during the parse phase or later.
4429 1.1 jruoho
4430 1.1 jruoho Enhanced the ASL grammar definition to force early reductions on all list-
4431 1.1 jruoho style grammar elements so that the overall parse stack usage is greatly
4432 1.1 jruoho reduced. This should improve performance and reduce the possibility of parse
4433 1.1 jruoho stack overflow.
4434 1.1 jruoho
4435 1.1 jruoho Eliminated all reduce/reduce conflicts in the iASL parser generation. Also,
4436 1.1 jruoho with the addition of a %expected statement, the compiler generates from
4437 1.1 jruoho source with no warnings.
4438 1.1 jruoho
4439 1.1 jruoho Fixed a possible segment fault in the disassembler if the input filename
4440 1.1 jruoho does not contain a "dot" extension (Thomas Renninger).
4441 1.1 jruoho
4442 1.1 jruoho ----------------------------------------
4443 1.1 jruoho 21 October 2005. Summary of changes for version 20051021:
4444 1.1 jruoho
4445 1.1 jruoho 1) ACPI CA Core Subsystem:
4446 1.1 jruoho
4447 1.1 jruoho Implemented support for the EM64T and other x86-64 processors. This
4448 1.1 jruoho essentially entails recognizing that these processors support non-aligned
4449 1.1 jruoho memory transfers. Previously, all 64-bit processors were assumed to lack
4450 1.1 jruoho hardware support for non-aligned transfers.
4451 1.1 jruoho
4452 1.1 jruoho Completed conversion of the Resource Manager to nearly full table-driven
4453 1.1 jruoho operation. Specifically, the resource conversion code (convert AML to
4454 1.1 jruoho internal format and the reverse) and the debug code to dump internal
4455 1.1 jruoho resource descriptors are fully table-driven, reducing code and data size and
4456 1.1 jruoho improving maintainability.
4457 1.1 jruoho
4458 1.1 jruoho The OSL interfaces for Acquire and Release Lock now use a 64-bit flag word
4459 1.1 jruoho on 64-bit processors instead of a fixed 32-bit word. (With assistance from
4460 1.1 jruoho Alexey Starikovskiy)
4461 1.1 jruoho
4462 1.1 jruoho Implemented support within the resource conversion code for the Type-
4463 1.1 jruoho Specific byte within the various ACPI 3.0 *WordSpace macros.
4464 1.1 jruoho
4465 1.1 jruoho Fixed some issues within the resource conversion code for the type-specific
4466 1.1 jruoho flags for both Memory and I/O address resource descriptors. For Memory,
4467 1.1 jruoho implemented support for the MTP and TTP flags. For I/O, split the TRS and
4468 1.1 jruoho TTP flags into two separate fields.
4469 1.1 jruoho
4470 1.1 jruoho Code and Data Size: The current and previous library sizes for the core
4471 1.1 jruoho subsystem are shown below. These are the code and data sizes for the
4472 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These
4473 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug version of the
4474 1.1 jruoho code includes the debug output trace mechanism and has a much larger code
4475 1.1 jruoho and data size. Note that these values will vary depending on the efficiency
4476 1.1 jruoho of the compiler and the compiler options used during generation.
4477 1.1 jruoho
4478 1.1 jruoho Previous Release:
4479 1.1 jruoho Non-Debug Version: 77.1K Code, 12.1K Data, 89.2K Total
4480 1.1 jruoho Debug Version: 168.0K Code, 68.3K Data, 236.3K Total
4481 1.1 jruoho Current Release:
4482 1.1 jruoho Non-Debug Version: 76.1K Code, 12.2K Data, 88.3K Total
4483 1.1 jruoho Debug Version: 163.5K Code, 67.0K Data, 230.5K Total
4484 1.1 jruoho
4485 1.1 jruoho
4486 1.1 jruoho
4487 1.1 jruoho 2) iASL Compiler/Disassembler:
4488 1.1 jruoho
4489 1.1 jruoho Relaxed a compiler restriction that disallowed a ResourceIndex byte if the
4490 1.1 jruoho corresponding ResourceSource string was not also present in a resource
4491 1.1 jruoho descriptor declaration. This restriction caused problems with existing
4492 1.1 jruoho AML/ASL code that includes the Index byte without the string. When such AML
4493 1.1 jruoho was disassembled, it could not be compiled without modification. Further,
4494 1.1 jruoho the modified code created a resource template with a different size than the
4495 1.1 jruoho original, breaking code that used fixed offsets into the resource template
4496 1.1 jruoho buffer.
4497 1.1 jruoho
4498 1.1 jruoho Removed a recent feature of the disassembler to ignore a lone ResourceIndex
4499 1.1 jruoho byte. This byte is now emitted if present so that the exact AML can be
4500 1.1 jruoho reproduced when the disassembled code is recompiled.
4501 1.1 jruoho
4502 1.1 jruoho Improved comments and text alignment for the resource descriptor code
4503 1.1 jruoho emitted by the disassembler.
4504 1.1 jruoho
4505 1.1 jruoho Implemented disassembler support for the ACPI 3.0 AccessSize field within a
4506 1.1 jruoho Register() resource descriptor.
4507 1.1 jruoho
4508 1.1 jruoho ----------------------------------------
4509 1.1 jruoho 30 September 2005. Summary of changes for version 20050930:
4510 1.1 jruoho
4511 1.1 jruoho 1) ACPI CA Core Subsystem:
4512 1.1 jruoho
4513 1.1 jruoho Completed a major overhaul of the Resource Manager code - specifically,
4514 1.1 jruoho optimizations in the area of the AML/internal resource conversion code. The
4515 1.1 jruoho code has been optimized to simplify and eliminate duplicated code, CPU stack
4516 1.1 jruoho use has been decreased by optimizing function parameters and local
4517 1.1 jruoho variables, and naming conventions across the manager have been standardized
4518 1.1 jruoho for clarity and ease of maintenance (this includes function, parameter,
4519 1.1 jruoho variable, and struct/typedef names.) The update may force changes in some
4520 1.1 jruoho driver code, depending on how resources are handled by the host OS.
4521 1.1 jruoho
4522 1.1 jruoho All Resource Manager dispatch and information tables have been moved to a
4523 1.1 jruoho single location for clarity and ease of maintenance. One new file was
4524 1.1 jruoho created, named "rsinfo.c".
4525 1.1 jruoho
4526 1.1 jruoho The ACPI return macros (return_ACPI_STATUS, etc.) have been modified to
4527 1.1 jruoho guarantee that the argument is not evaluated twice, making them less prone
4528 1.1 jruoho to macro side-effects. However, since there exists the possibility of
4529 1.1 jruoho additional stack use if a particular compiler cannot optimize them (such as
4530 1.1 jruoho in the debug generation case), the original macros are optionally available.
4531 1.1 jruoho Note that some invocations of the return_VALUE macro may now cause size
4532 1.1 jruoho mismatch warnings; the return_UINT8 and return_UINT32 macros are provided to
4533 1.1 jruoho eliminate these. (From Randy Dunlap)
4534 1.1 jruoho
4535 1.1 jruoho Implemented a new mechanism to enable debug tracing for individual control
4536 1.1 jruoho methods. A new external interface, AcpiDebugTrace, is provided to enable
4537 1.1 jruoho this mechanism. The intent is to allow the host OS to easily enable and
4538 1.1 jruoho disable tracing for problematic control methods. This interface can be
4539 1.1 jruoho easily exposed to a user or debugger interface if desired. See the file
4540 1.1 jruoho psxface.c for details.
4541 1.1 jruoho
4542 1.1 jruoho AcpiUtCallocate will now return a valid pointer if a length of zero is
4543 1.1 jruoho specified - a length of one is used and a warning is issued. This matches
4544 1.1 jruoho the behavior of AcpiUtAllocate.
4545 1.1 jruoho
4546 1.1 jruoho Code and Data Size: The current and previous library sizes for the core
4547 1.1 jruoho subsystem are shown below. These are the code and data sizes for the
4548 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These
4549 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug version of the
4550 1.1 jruoho code includes the debug output trace mechanism and has a much larger code
4551 1.1 jruoho and data size. Note that these values will vary depending on the efficiency
4552 1.1 jruoho of the compiler and the compiler options used during generation.
4553 1.1 jruoho
4554 1.1 jruoho Previous Release:
4555 1.1 jruoho Non-Debug Version: 77.5K Code, 12.0K Data, 89.5K Total
4556 1.1 jruoho Debug Version: 168.1K Code, 68.4K Data, 236.5K Total
4557 1.1 jruoho Current Release:
4558 1.1 jruoho Non-Debug Version: 77.1K Code, 12.1K Data, 89.2K Total
4559 1.1 jruoho Debug Version: 168.0K Code, 68.3K Data, 236.3K Total
4560 1.1 jruoho
4561 1.1 jruoho
4562 1.1 jruoho 2) iASL Compiler/Disassembler:
4563 1.1 jruoho
4564 1.1 jruoho A remark is issued if the effective compile-time length of a package or
4565 1.1 jruoho buffer is zero. Previously, this was a warning.
4566 1.1 jruoho
4567 1.1 jruoho ----------------------------------------
4568 1.1 jruoho 16 September 2005. Summary of changes for version 20050916:
4569 1.1 jruoho
4570 1.1 jruoho 1) ACPI CA Core Subsystem:
4571 1.1 jruoho
4572 1.1 jruoho Fixed a problem within the Resource Manager where support for the Generic
4573 1.1 jruoho Register descriptor was not fully implemented. This descriptor is now fully
4574 1.1 jruoho recognized, parsed, disassembled, and displayed.
4575 1.1 jruoho
4576 1.1 jruoho Completely restructured the Resource Manager code to utilize table-driven
4577 1.1 jruoho dispatch and lookup, eliminating many of the large switch() statements. This
4578 1.1 jruoho reduces overall subsystem code size and code complexity. Affects the
4579 1.1 jruoho resource parsing and construction, disassembly, and debug dump output.
4580 1.1 jruoho
4581 1.1 jruoho Cleaned up and restructured the debug dump output for all resource
4582 1.1 jruoho descriptors. Improved readability of the output and reduced code size.
4583 1.1 jruoho
4584 1.1 jruoho Fixed a problem where changes to internal data structures caused the
4585 1.1 jruoho optional ACPI_MUTEX_DEBUG code to fail compilation if specified.
4586 1.1 jruoho
4587 1.1 jruoho Code and Data Size: The current and previous library sizes for the core
4588 1.1 jruoho subsystem are shown below. These are the code and data sizes for the
4589 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These
4590 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug version of the
4591 1.1 jruoho code includes the debug output trace mechanism and has a much larger code
4592 1.1 jruoho and data size. Note that these values will vary depending on the efficiency
4593 1.1 jruoho of the compiler and the compiler options used during generation.
4594 1.1 jruoho
4595 1.1 jruoho Previous Release:
4596 1.1 jruoho Non-Debug Version: 78.4K Code, 11.8K Data, 90.2K Total
4597 1.1 jruoho Debug Version: 169.6K Code, 69.9K Data, 239.5K Total
4598 1.1 jruoho Current Release:
4599 1.1 jruoho Non-Debug Version: 77.5K Code, 12.0K Data, 89.5K Total
4600 1.1 jruoho Debug Version: 168.1K Code, 68.4K Data, 236.5K Total
4601 1.1 jruoho
4602 1.1 jruoho
4603 1.1 jruoho 2) iASL Compiler/Disassembler:
4604 1.1 jruoho
4605 1.1 jruoho Updated the disassembler to automatically insert an EndDependentFn() macro
4606 1.1 jruoho into the ASL stream if this macro is missing in the original AML code,
4607 1.1 jruoho simplifying compilation of the resulting ASL module.
4608 1.1 jruoho
4609 1.1 jruoho Fixed a problem in the disassembler where a disassembled ResourceSource
4610 1.1 jruoho string (within a large resource descriptor) was not surrounded by quotes and
4611 1.1 jruoho not followed by a comma, causing errors when the resulting ASL module was
4612 1.1 jruoho compiled. Also, escape sequences within a ResourceSource string are now
4613 1.1 jruoho handled correctly (especially "\\")
4614 1.1 jruoho
4615 1.1 jruoho ----------------------------------------
4616 1.1 jruoho 02 September 2005. Summary of changes for version 20050902:
4617 1.1 jruoho
4618 1.1 jruoho 1) ACPI CA Core Subsystem:
4619 1.1 jruoho
4620 1.1 jruoho Fixed a problem with the internal Owner ID allocation and deallocation
4621 1.1 jruoho mechanisms for control method execution and recursive method invocation.
4622 1.1 jruoho This should eliminate the OWNER_ID_LIMIT exceptions and "Invalid OwnerId"
4623 1.1 jruoho messages seen on some systems. Recursive method invocation depth is
4624 1.1 jruoho currently limited to 255. (Alexey Starikovskiy)
4625 1.1 jruoho
4626 1.1 jruoho Completely eliminated all vestiges of support for the "module-level
4627 1.1 jruoho executable code" until this support is fully implemented and debugged. This
4628 1.1 jruoho should eliminate the NO_RETURN_VALUE exceptions seen during table load on
4629 1.1 jruoho some systems that invoke this support.
4630 1.1 jruoho
4631 1.1 jruoho Fixed a problem within the resource manager code where the transaction flags
4632 1.1 jruoho for a 64-bit address descriptor were handled incorrectly in the type-
4633 1.1 jruoho specific flag byte.
4634 1.1 jruoho
4635 1.1 jruoho Consolidated duplicate code within the address descriptor resource manager
4636 1.1 jruoho code, reducing overall subsystem code size.
4637 1.1 jruoho
4638 1.1 jruoho Fixed a fault when using the AML debugger "disassemble" command to
4639 1.1 jruoho disassemble individual control methods.
4640 1.1 jruoho
4641 1.1 jruoho Removed references to the "release_current" directory within the Unix
4642 1.1 jruoho release package.
4643 1.1 jruoho
4644 1.1 jruoho Code and Data Size: The current and previous core subsystem library sizes
4645 1.1 jruoho are shown below. These are the code and data sizes for the acpica.lib
4646 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler. These values do not
4647 1.1 jruoho include any ACPI driver or OSPM code. The debug version of the code includes
4648 1.1 jruoho the debug output trace mechanism and has a much larger code and data size.
4649 1.1 jruoho Note that these values will vary depending on the efficiency of the compiler
4650 1.1 jruoho and the compiler options used during generation.
4651 1.1 jruoho
4652 1.1 jruoho Previous Release:
4653 1.1 jruoho Non-Debug Version: 78.6K Code, 11.7K Data, 90.3K Total
4654 1.1 jruoho Debug Version: 170.0K Code, 69.9K Data, 239.9K Total
4655 1.1 jruoho Current Release:
4656 1.1 jruoho Non-Debug Version: 78.4K Code, 11.8K Data, 90.2K Total
4657 1.1 jruoho Debug Version: 169.6K Code, 69.9K Data, 239.5K Total
4658 1.1 jruoho
4659 1.1 jruoho
4660 1.1 jruoho 2) iASL Compiler/Disassembler:
4661 1.1 jruoho
4662 1.1 jruoho Implemented an error check for illegal duplicate values in the interrupt and
4663 1.1 jruoho dma lists for the following ASL macros: Dma(), Irq(), IrqNoFlags(), and
4664 1.1 jruoho Interrupt().
4665 1.1 jruoho
4666 1.1 jruoho Implemented error checking for the Irq() and IrqNoFlags() macros to detect
4667 1.1 jruoho too many values in the interrupt list (16 max) and invalid values in the
4668 1.1 jruoho list (range 0 - 15)
4669 1.1 jruoho
4670 1.1 jruoho The maximum length string literal within an ASL file is now restricted to
4671 1.1 jruoho 200 characters as per the ACPI specification.
4672 1.1 jruoho
4673 1.1 jruoho Fixed a fault when using the -ln option (generate namespace listing).
4674 1.1 jruoho
4675 1.1 jruoho Implemented an error check to determine if a DescriptorName within a
4676 1.1 jruoho resource descriptor has already been used within the current scope.
4677 1.1 jruoho
4678 1.1 jruoho ----------------------------------------
4679 1.1 jruoho 15 August 2005. Summary of changes for version 20050815:
4680 1.1 jruoho
4681 1.1 jruoho 1) ACPI CA Core Subsystem:
4682 1.1 jruoho
4683 1.1 jruoho Implemented a full bytewise compare to determine if a table load request is
4684 1.1 jruoho attempting to load a duplicate table. The compare is performed if the table
4685 1.1 jruoho signatures and table lengths match. This will allow different tables with
4686 1.1 jruoho the same OEM Table ID and revision to be loaded - probably against the ACPI
4687 1.1 jruoho specification, but discovered in the field nonetheless.
4688 1.1 jruoho
4689 1.1 jruoho Added the changes.txt logfile to each of the zipped release packages.
4690 1.1 jruoho
4691 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
4692 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
4693 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
4694 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
4695 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
4696 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
4697 1.1 jruoho the compiler options used during generation.
4698 1.1 jruoho
4699 1.1 jruoho Previous Release:
4700 1.1 jruoho Non-Debug Version: 78.6K Code, 11.7K Data, 90.3K Total
4701 1.1 jruoho Debug Version: 167.0K Code, 69.9K Data, 236.9K Total
4702 1.1 jruoho Current Release:
4703 1.1 jruoho Non-Debug Version: 78.6K Code, 11.7K Data, 90.3K Total
4704 1.1 jruoho Debug Version: 170.0K Code, 69.9K Data, 239.9K Total
4705 1.1 jruoho
4706 1.1 jruoho
4707 1.1 jruoho 2) iASL Compiler/Disassembler:
4708 1.1 jruoho
4709 1.1 jruoho Fixed a problem where incorrect AML code could be generated for Package
4710 1.1 jruoho objects if optimization is disabled (via the -oa switch).
4711 1.1 jruoho
4712 1.1 jruoho Fixed a problem with where incorrect AML code is generated for variable-
4713 1.1 jruoho length packages when the package length is not specified and the number of
4714 1.1 jruoho initializer values is greater than 255.
4715 1.1 jruoho
4716 1.1 jruoho
4717 1.1 jruoho ----------------------------------------
4718 1.1 jruoho 29 July 2005. Summary of changes for version 20050729:
4719 1.1 jruoho
4720 1.1 jruoho 1) ACPI CA Core Subsystem:
4721 1.1 jruoho
4722 1.1 jruoho Implemented support to ignore an attempt to install/load a particular ACPI
4723 1.1 jruoho table more than once. Apparently there exists BIOS code that repeatedly
4724 1.1 jruoho attempts to load the same SSDT upon certain events. With assistance from
4725 1.1 jruoho Venkatesh Pallipadi.
4726 1.1 jruoho
4727 1.1 jruoho Restructured the main interface to the AML parser in order to correctly
4728 1.1 jruoho handle all exceptional conditions. This will prevent leakage of the OwnerId
4729 1.1 jruoho resource and should eliminate the AE_OWNER_ID_LIMIT exceptions seen on some
4730 1.1 jruoho machines. With assistance from Alexey Starikovskiy.
4731 1.1 jruoho
4732 1.1 jruoho Support for "module level code" has been disabled in this version due to a
4733 1.1 jruoho number of issues that have appeared on various machines. The support can be
4734 1.1 jruoho enabled by defining ACPI_ENABLE_MODULE_LEVEL_CODE during subsystem
4735 1.1 jruoho compilation. When the issues are fully resolved, the code will be enabled by
4736 1.1 jruoho default again.
4737 1.1 jruoho
4738 1.1 jruoho Modified the internal functions for debug print support to define the
4739 1.1 jruoho FunctionName parameter as a (const char *) for compatibility with compiler
4740 1.1 jruoho built-in macros such as __FUNCTION__, etc.
4741 1.1 jruoho
4742 1.1 jruoho Linted the entire ACPICA source tree for both 32-bit and 64-bit.
4743 1.1 jruoho
4744 1.1 jruoho Implemented support to display an object count summary for the AML Debugger
4745 1.1 jruoho commands Object and Methods.
4746 1.1 jruoho
4747 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
4748 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
4749 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
4750 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
4751 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
4752 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
4753 1.1 jruoho the compiler options used during generation.
4754 1.1 jruoho
4755 1.1 jruoho Previous Release:
4756 1.1 jruoho Non-Debug Version: 78.6K Code, 11.6K Data, 90.2K Total
4757 1.1 jruoho Debug Version: 170.0K Code, 69.7K Data, 239.7K Total
4758 1.1 jruoho Current Release:
4759 1.1 jruoho Non-Debug Version: 78.6K Code, 11.7K Data, 90.3K Total
4760 1.1 jruoho Debug Version: 167.0K Code, 69.9K Data, 236.9K Total
4761 1.1 jruoho
4762 1.1 jruoho
4763 1.1 jruoho 2) iASL Compiler/Disassembler:
4764 1.1 jruoho
4765 1.1 jruoho Fixed a regression that appeared in the 20050708 version of the compiler
4766 1.1 jruoho where an error message was inadvertently emitted for invocations of the _OSI
4767 1.1 jruoho reserved control method.
4768 1.1 jruoho
4769 1.1 jruoho ----------------------------------------
4770 1.1 jruoho 08 July 2005. Summary of changes for version 20050708:
4771 1.1 jruoho
4772 1.1 jruoho 1) ACPI CA Core Subsystem:
4773 1.1 jruoho
4774 1.1 jruoho The use of the CPU stack in the debug version of the subsystem has been
4775 1.1 jruoho considerably reduced. Previously, a debug structure was declared in every
4776 1.1 jruoho function that used the debug macros. This structure has been removed in
4777 1.1 jruoho favor of declaring the individual elements as parameters to the debug
4778 1.1 jruoho functions. This reduces the cumulative stack use during nested execution of
4779 1.1 jruoho ACPI function calls at the cost of a small increase in the code size of the
4780 1.1 jruoho debug version of the subsystem. With assistance from Alexey Starikovskiy and
4781 1.1 jruoho Len Brown.
4782 1.1 jruoho
4783 1.1 jruoho Added the ACPI_GET_FUNCTION_NAME macro to enable the compiler-dependent
4784 1.1 jruoho headers to define a macro that will return the current function name at
4785 1.1 jruoho runtime (such as __FUNCTION__ or _func_, etc.) The function name is used by
4786 1.1 jruoho the debug trace output. If ACPI_GET_FUNCTION_NAME is not defined in the
4787 1.1 jruoho compiler-dependent header, the function name is saved on the CPU stack (one
4788 1.1 jruoho pointer per function.) This mechanism is used because apparently there
4789 1.1 jruoho exists no standard ANSI-C defined macro that that returns the function name.
4790 1.1 jruoho
4791 1.1 jruoho Redesigned and reimplemented the "Owner ID" mechanism used to track
4792 1.1 jruoho namespace objects created/deleted by ACPI tables and control method
4793 1.1 jruoho execution. A bitmap is now used to allocate and free the IDs, thus solving
4794 1.1 jruoho the wraparound problem present in the previous implementation. The size of
4795 1.1 jruoho the namespace node descriptor was reduced by 2 bytes as a result (Alexey
4796 1.1 jruoho Starikovskiy).
4797 1.1 jruoho
4798 1.1 jruoho Removed the UINT32_BIT and UINT16_BIT types that were used for the bitfield
4799 1.1 jruoho flag definitions within the headers for the predefined ACPI tables. These
4800 1.1 jruoho have been replaced by UINT8_BIT in order to increase the code portability of
4801 1.1 jruoho the subsystem. If the use of UINT8 remains a problem, we may be forced to
4802 1.1 jruoho eliminate bitfields entirely because of a lack of portability.
4803 1.1 jruoho
4804 1.1 jruoho Enhanced the performance of the AcpiUtUpdateObjectReference procedure. This
4805 1.1 jruoho is a frequently used function and this improvement increases the performance
4806 1.1 jruoho of the entire subsystem (Alexey Starikovskiy).
4807 1.1 jruoho
4808 1.1 jruoho Fixed several possible memory leaks and the inverse - premature object
4809 1.1 jruoho deletion (Alexey Starikovskiy).
4810 1.1 jruoho
4811 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
4812 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
4813 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
4814 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
4815 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
4816 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
4817 1.1 jruoho the compiler options used during generation.
4818 1.1 jruoho
4819 1.1 jruoho Previous Release:
4820 1.1 jruoho Non-Debug Version: 78.6K Code, 11.5K Data, 90.1K Total
4821 1.1 jruoho Debug Version: 165.2K Code, 69.6K Data, 234.8K Total
4822 1.1 jruoho Current Release:
4823 1.1 jruoho Non-Debug Version: 78.6K Code, 11.6K Data, 90.2K Total
4824 1.1 jruoho Debug Version: 170.0K Code, 69.7K Data, 239.7K Total
4825 1.1 jruoho
4826 1.1 jruoho ----------------------------------------
4827 1.1 jruoho 24 June 2005. Summary of changes for version 20050624:
4828 1.1 jruoho
4829 1.1 jruoho 1) ACPI CA Core Subsystem:
4830 1.1 jruoho
4831 1.1 jruoho Modified the new OSL cache interfaces to use ACPI_CACHE_T as the type for
4832 1.1 jruoho the host-defined cache object. This allows the OSL implementation to define
4833 1.1 jruoho and type this object in any manner desired, simplifying the OSL
4834 1.1 jruoho implementation. For example, ACPI_CACHE_T is defined as kmem_cache_t for
4835 1.1 jruoho Linux, and should be defined in the OS-specific header file for other
4836 1.1 jruoho operating systems as required.
4837 1.1 jruoho
4838 1.1 jruoho Changed the interface to AcpiOsAcquireObject to directly return the
4839 1.1 jruoho requested object as the function return (instead of ACPI_STATUS.) This
4840 1.1 jruoho change was made for performance reasons, since this is the purpose of the
4841 1.1 jruoho interface in the first place. AcpiOsAcquireObject is now similar to the
4842 1.1 jruoho AcpiOsAllocate interface.
4843 1.1 jruoho
4844 1.1 jruoho Implemented a new AML debugger command named Businfo. This command displays
4845 1.1 jruoho information about all devices that have an associate _PRT object. The _ADR,
4846 1.1 jruoho _HID, _UID, and _CID are displayed for these devices.
4847 1.1 jruoho
4848 1.1 jruoho Modified the initialization sequence in AcpiInitializeSubsystem to call the
4849 1.1 jruoho OSL interface AcpiOslInitialize first, before any local initialization. This
4850 1.1 jruoho change was required because the global initialization now calls OSL
4851 1.1 jruoho interfaces.
4852 1.1 jruoho
4853 1.1 jruoho Enhanced the Dump command to display the entire contents of Package objects
4854 1.1 jruoho (including all sub-objects and their values.)
4855 1.1 jruoho
4856 1.1 jruoho Restructured the code base to split some files because of size and/or
4857 1.1 jruoho because the code logically belonged in a separate file. New files are listed
4858 1.1 jruoho below. All makefiles and project files included in the ACPI CA release have
4859 1.1 jruoho been updated.
4860 1.1 jruoho utilities/utcache.c /* Local cache interfaces */
4861 1.1 jruoho utilities/utmutex.c /* Local mutex support */
4862 1.1 jruoho utilities/utstate.c /* State object support */
4863 1.1 jruoho interpreter/parser/psloop.c /* Main AML parse loop */
4864 1.1 jruoho
4865 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
4866 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
4867 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
4868 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
4869 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
4870 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
4871 1.1 jruoho the compiler options used during generation.
4872 1.1 jruoho
4873 1.1 jruoho Previous Release:
4874 1.1 jruoho Non-Debug Version: 78.3K Code, 11.6K Data, 89.9K Total
4875 1.1 jruoho Debug Version: 164.0K Code, 69.1K Data, 233.1K Total
4876 1.1 jruoho Current Release:
4877 1.1 jruoho Non-Debug Version: 78.6K Code, 11.5K Data, 90.1K Total
4878 1.1 jruoho Debug Version: 165.2K Code, 69.6K Data, 234.8K Total
4879 1.1 jruoho
4880 1.1 jruoho
4881 1.1 jruoho 2) iASL Compiler/Disassembler:
4882 1.1 jruoho
4883 1.1 jruoho Fixed a regression introduced in version 20050513 where the use of a Package
4884 1.1 jruoho object within a Case() statement caused a compile time exception. The
4885 1.1 jruoho original behavior has been restored (a Match() operator is emitted.)
4886 1.1 jruoho
4887 1.1 jruoho ----------------------------------------
4888 1.1 jruoho 17 June 2005. Summary of changes for version 20050617:
4889 1.1 jruoho
4890 1.1 jruoho 1) ACPI CA Core Subsystem:
4891 1.1 jruoho
4892 1.1 jruoho Moved the object cache operations into the OS interface layer (OSL) to allow
4893 1.1 jruoho the host OS to handle these operations if desired (for example, the Linux
4894 1.1 jruoho OSL will invoke the slab allocator). This support is optional; the compile
4895 1.1 jruoho time define ACPI_USE_LOCAL_CACHE may be used to utilize the original cache
4896 1.1 jruoho code in the ACPI CA core. The new OSL interfaces are shown below. See
4897 1.1 jruoho utalloc.c for an example implementation, and acpiosxf.h for the exact
4898 1.1 jruoho interface definitions. With assistance from Alexey Starikovskiy.
4899 1.1 jruoho AcpiOsCreateCache
4900 1.1 jruoho AcpiOsDeleteCache
4901 1.1 jruoho AcpiOsPurgeCache
4902 1.1 jruoho AcpiOsAcquireObject
4903 1.1 jruoho AcpiOsReleaseObject
4904 1.1 jruoho
4905 1.1 jruoho Modified the interfaces to AcpiOsAcquireLock and AcpiOsReleaseLock to return
4906 1.1 jruoho and restore a flags parameter. This fits better with many OS lock models.
4907 1.1 jruoho Note: the current execution state (interrupt handler or not) is no longer
4908 1.1 jruoho passed to these interfaces. If necessary, the OSL must determine this state
4909 1.1 jruoho by itself, a simple and fast operation. With assistance from Alexey
4910 1.1 jruoho Starikovskiy.
4911 1.1 jruoho
4912 1.1 jruoho Fixed a problem in the ACPI table handling where a valid XSDT was assumed
4913 1.1 jruoho present if the revision of the RSDP was 2 or greater. According to the ACPI
4914 1.1 jruoho specification, the XSDT is optional in all cases, and the table manager
4915 1.1 jruoho therefore now checks for both an RSDP >=2 and a valid XSDT pointer.
4916 1.1 jruoho Otherwise, the RSDT pointer is used. Some ACPI 2.0 compliant BIOSs contain
4917 1.1 jruoho only the RSDT.
4918 1.1 jruoho
4919 1.1 jruoho Fixed an interpreter problem with the Mid() operator in the case of an input
4920 1.1 jruoho string where the resulting output string is of zero length. It now correctly
4921 1.1 jruoho returns a valid, null terminated string object instead of a string object
4922 1.1 jruoho with a null pointer.
4923 1.1 jruoho
4924 1.1 jruoho Fixed a problem with the control method argument handling to allow a store
4925 1.1 jruoho to an Arg object that already contains an object of type Device. The Device
4926 1.1 jruoho object is now correctly overwritten. Previously, an error was returned.
4927 1.1 jruoho
4928 1.1 jruoho
4929 1.1 jruoho Enhanced the debugger Find command to emit object values in addition to the
4930 1.1 jruoho found object pathnames. The output format is the same as the dump namespace
4931 1.1 jruoho command.
4932 1.1 jruoho
4933 1.1 jruoho Enhanced the debugger Set command. It now has the ability to set the value
4934 1.1 jruoho of any Named integer object in the namespace (Previously, only method locals
4935 1.1 jruoho and args could be set.)
4936 1.1 jruoho
4937 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
4938 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
4939 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
4940 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
4941 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
4942 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
4943 1.1 jruoho the compiler options used during generation.
4944 1.1 jruoho
4945 1.1 jruoho Previous Release:
4946 1.1 jruoho Non-Debug Version: 78.1K Code, 11.6K Data, 89.7K Total
4947 1.1 jruoho Debug Version: 164.0K Code, 69.3K Data, 233.3K Total
4948 1.1 jruoho Current Release:
4949 1.1 jruoho Non-Debug Version: 78.3K Code, 11.6K Data, 89.9K Total
4950 1.1 jruoho Debug Version: 164.0K Code, 69.1K Data, 233.1K Total
4951 1.1 jruoho
4952 1.1 jruoho
4953 1.1 jruoho 2) iASL Compiler/Disassembler:
4954 1.1 jruoho
4955 1.1 jruoho Fixed a regression in the disassembler where if/else/while constructs were
4956 1.1 jruoho output incorrectly. This problem was introduced in the previous release
4957 1.1 jruoho (20050526). This problem also affected the single-step disassembly in the
4958 1.1 jruoho debugger.
4959 1.1 jruoho
4960 1.1 jruoho Fixed a problem where compiling the reserved _OSI method would randomly (but
4961 1.1 jruoho rarely) produce compile errors.
4962 1.1 jruoho
4963 1.1 jruoho Enhanced the disassembler to emit compilable code in the face of incorrect
4964 1.1 jruoho AML resource descriptors. If the optional ResourceSourceIndex is present,
4965 1.1 jruoho but the ResourceSource is not, do not emit the ResourceSourceIndex in the
4966 1.1 jruoho disassembly. Otherwise, the resulting code cannot be compiled without
4967 1.1 jruoho errors.
4968 1.1 jruoho
4969 1.1 jruoho ----------------------------------------
4970 1.1 jruoho 26 May 2005. Summary of changes for version 20050526:
4971 1.1 jruoho
4972 1.1 jruoho 1) ACPI CA Core Subsystem:
4973 1.1 jruoho
4974 1.1 jruoho Implemented support to execute Type 1 and Type 2 AML opcodes appearing at
4975 1.1 jruoho the module level (not within a control method.) These opcodes are executed
4976 1.1 jruoho exactly once at the time the table is loaded. This type of code was legal up
4977 1.1 jruoho until the release of ACPI 2.0B (2002) and is now supported within ACPI CA in
4978 1.1 jruoho order to provide backwards compatibility with earlier BIOS implementations.
4979 1.1 jruoho This eliminates the "Encountered executable code at module level" warning
4980 1.1 jruoho that was previously generated upon detection of such code.
4981 1.1 jruoho
4982 1.1 jruoho Fixed a problem in the interpreter where an AE_NOT_FOUND exception could
4983 1.1 jruoho inadvertently be generated during the lookup of namespace objects in the
4984 1.1 jruoho second pass parse of ACPI tables and control methods. It appears that this
4985 1.1 jruoho problem could occur during the resolution of forward references to namespace
4986 1.1 jruoho objects.
4987 1.1 jruoho
4988 1.1 jruoho Added the ACPI_MUTEX_DEBUG #ifdef to the AcpiUtReleaseMutex function,
4989 1.1 jruoho corresponding to the same #ifdef in the AcpiUtAcquireMutex function. This
4990 1.1 jruoho allows the deadlock detection debug code to be compiled out in the normal
4991 1.1 jruoho case, improving mutex performance (and overall subsystem performance)
4992 1.1 jruoho considerably.
4993 1.1 jruoho
4994 1.1 jruoho Implemented a handful of miscellaneous fixes for possible memory leaks on
4995 1.1 jruoho error conditions and error handling control paths. These fixes were
4996 1.1 jruoho suggested by FreeBSD and the Coverity Prevent source code analysis tool.
4997 1.1 jruoho
4998 1.1 jruoho Added a check for a null RSDT pointer in AcpiGetFirmwareTable (tbxfroot.c)
4999 1.1 jruoho to prevent a fault in this error case.
5000 1.1 jruoho
5001 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
5002 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
5003 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
5004 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
5005 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
5006 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
5007 1.1 jruoho the compiler options used during generation.
5008 1.1 jruoho
5009 1.1 jruoho Previous Release:
5010 1.1 jruoho Non-Debug Version: 78.2K Code, 11.6K Data, 89.8K Total
5011 1.1 jruoho Debug Version: 163.7K Code, 69.3K Data, 233.0K Total
5012 1.1 jruoho Current Release:
5013 1.1 jruoho Non-Debug Version: 78.1K Code, 11.6K Data, 89.7K Total
5014 1.1 jruoho Debug Version: 164.0K Code, 69.3K Data, 233.3K Total
5015 1.1 jruoho
5016 1.1 jruoho
5017 1.1 jruoho 2) iASL Compiler/Disassembler:
5018 1.1 jruoho
5019 1.1 jruoho Implemented support to allow Type 1 and Type 2 ASL operators to appear at
5020 1.1 jruoho the module level (not within a control method.) These operators will be
5021 1.1 jruoho executed once at the time the table is loaded. This type of code was legal
5022 1.1 jruoho up until the release of ACPI 2.0B (2002) and is now supported by the iASL
5023 1.1 jruoho compiler in order to provide backwards compatibility with earlier BIOS ASL
5024 1.1 jruoho code.
5025 1.1 jruoho
5026 1.1 jruoho The ACPI integer width (specified via the table revision ID or the -r
5027 1.1 jruoho override, 32 or 64 bits) is now used internally during compile-time constant
5028 1.1 jruoho folding to ensure that constants are truncated to 32 bits if necessary.
5029 1.1 jruoho Previously, the revision ID value was only emitted in the AML table header.
5030 1.1 jruoho
5031 1.1 jruoho An error message is now generated for the Mutex and Method operators if the
5032 1.1 jruoho SyncLevel parameter is outside the legal range of 0 through 15.
5033 1.1 jruoho
5034 1.1 jruoho Fixed a problem with the Method operator ParameterTypes list handling (ACPI
5035 1.1 jruoho 3.0). Previously, more than 2 types or 2 arguments generated a syntax error.
5036 1.1 jruoho The actual underlying implementation of method argument typechecking is
5037 1.1 jruoho still under development, however.
5038 1.1 jruoho
5039 1.1 jruoho ----------------------------------------
5040 1.1 jruoho 13 May 2005. Summary of changes for version 20050513:
5041 1.1 jruoho
5042 1.1 jruoho 1) ACPI CA Core Subsystem:
5043 1.1 jruoho
5044 1.1 jruoho Implemented support for PCI Express root bridges -- added support for device
5045 1.1 jruoho PNP0A08 in the root bridge search within AcpiEvPciConfigRegionSetup.
5046 1.1 jruoho
5047 1.1 jruoho The interpreter now automatically truncates incoming 64-bit constants to 32
5048 1.1 jruoho bits if currently executing out of a 32-bit ACPI table (Revision < 2). This
5049 1.1 jruoho also affects the iASL compiler constant folding. (Note: as per below, the
5050 1.1 jruoho iASL compiler no longer allows 64-bit constants within 32-bit tables.)
5051 1.1 jruoho
5052 1.1 jruoho Fixed a problem where string and buffer objects with "static" pointers
5053 1.1 jruoho (pointers to initialization data within an ACPI table) were not handled
5054 1.1 jruoho consistently. The internal object copy operation now always copies the data
5055 1.1 jruoho to a newly allocated buffer, regardless of whether the source object is
5056 1.1 jruoho static or not.
5057 1.1 jruoho
5058 1.1 jruoho Fixed a problem with the FromBCD operator where an implicit result
5059 1.1 jruoho conversion was improperly performed while storing the result to the target
5060 1.1 jruoho operand. Since this is an "explicit conversion" operator, the implicit
5061 1.1 jruoho conversion should never be performed on the output.
5062 1.1 jruoho
5063 1.1 jruoho Fixed a problem with the CopyObject operator where a copy to an existing
5064 1.1 jruoho named object did not always completely overwrite the existing object stored
5065 1.1 jruoho at name. Specifically, a buffer-to-buffer copy did not delete the existing
5066 1.1 jruoho buffer.
5067 1.1 jruoho
5068 1.1 jruoho Replaced "InterruptLevel" with "InterruptNumber" in all GPE interfaces and
5069 1.1 jruoho structs for consistency.
5070 1.1 jruoho
5071 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
5072 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
5073 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
5074 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
5075 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
5076 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
5077 1.1 jruoho the compiler options used during generation.
5078 1.1 jruoho
5079 1.1 jruoho Previous Release:
5080 1.1 jruoho Non-Debug Version: 78.2K Code, 11.6K Data, 89.8K Total
5081 1.1 jruoho Debug Version: 163.7K Code, 69.3K Data, 233.0K Total
5082 1.1 jruoho Current Release: (Same sizes)
5083 1.1 jruoho Non-Debug Version: 78.2K Code, 11.6K Data, 89.8K Total
5084 1.1 jruoho Debug Version: 163.7K Code, 69.3K Data, 233.0K Total
5085 1.1 jruoho
5086 1.1 jruoho
5087 1.1 jruoho 2) iASL Compiler/Disassembler:
5088 1.1 jruoho
5089 1.1 jruoho The compiler now emits a warning if an attempt is made to generate a 64-bit
5090 1.1 jruoho integer constant from within a 32-bit ACPI table (Revision < 2). The integer
5091 1.1 jruoho is truncated to 32 bits.
5092 1.1 jruoho
5093 1.1 jruoho Fixed a problem with large package objects: if the static length of the
5094 1.1 jruoho package is greater than 255, the "variable length package" opcode is
5095 1.1 jruoho emitted. Previously, this caused an error. This requires an update to the
5096 1.1 jruoho ACPI spec, since it currently (incorrectly) states that packages larger than
5097 1.1 jruoho 255 elements are not allowed.
5098 1.1 jruoho
5099 1.1 jruoho The disassembler now correctly handles variable length packages and packages
5100 1.1 jruoho larger than 255 elements.
5101 1.1 jruoho
5102 1.1 jruoho ----------------------------------------
5103 1.1 jruoho 08 April 2005. Summary of changes for version 20050408:
5104 1.1 jruoho
5105 1.1 jruoho 1) ACPI CA Core Subsystem:
5106 1.1 jruoho
5107 1.1 jruoho Fixed three cases in the interpreter where an "index" argument to an ASL
5108 1.1 jruoho function was still (internally) 32 bits instead of the required 64 bits.
5109 1.1 jruoho This was the Index argument to the Index, Mid, and Match operators.
5110 1.1 jruoho
5111 1.1 jruoho The "strupr" function is now permanently local (AcpiUtStrupr), since this is
5112 1.1 jruoho not a POSIX-defined function and not present in most kernel-level C
5113 1.1 jruoho libraries. All references to the C library strupr function have been removed
5114 1.1 jruoho from the headers.
5115 1.1 jruoho
5116 1.1 jruoho Completed the deployment of static functions/prototypes. All prototypes with
5117 1.1 jruoho the static attribute have been moved from the headers to the owning C file.
5118 1.1 jruoho
5119 1.1 jruoho Implemented an extract option (-e) for the AcpiBin utility (AML binary
5120 1.1 jruoho utility). This option allows the utility to extract individual ACPI tables
5121 1.1 jruoho from the output of AcpiDmp. It provides the same functionality of the
5122 1.1 jruoho acpixtract.pl perl script without the worry of setting the correct perl
5123 1.1 jruoho options. AcpiBin runs on Windows and has not yet been generated/validated in
5124 1.1 jruoho the Linux/Unix environment (but should be soon).
5125 1.1 jruoho
5126 1.1 jruoho Updated and fixed the table dump option for AcpiBin (-d). This option
5127 1.1 jruoho converts a single ACPI table to a hex/ascii file, similar to the output of
5128 1.1 jruoho AcpiDmp.
5129 1.1 jruoho
5130 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
5131 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
5132 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
5133 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
5134 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
5135 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
5136 1.1 jruoho the compiler options used during generation.
5137 1.1 jruoho
5138 1.1 jruoho Previous Release:
5139 1.1 jruoho Non-Debug Version: 78.0K Code, 11.6K Data, 89.6K Total
5140 1.1 jruoho Debug Version: 163.5K Code, 69.3K Data, 232.8K Total
5141 1.1 jruoho Current Release:
5142 1.1 jruoho Non-Debug Version: 78.2K Code, 11.6K Data, 89.8K Total
5143 1.1 jruoho Debug Version: 163.7K Code, 69.3K Data, 233.0K Total
5144 1.1 jruoho
5145 1.1 jruoho
5146 1.1 jruoho 2) iASL Compiler/Disassembler:
5147 1.1 jruoho
5148 1.1 jruoho Disassembler fix: Added a check to ensure that the table length found in the
5149 1.1 jruoho ACPI table header within the input file is not longer than the actual input
5150 1.1 jruoho file size. This indicates some kind of file or table corruption.
5151 1.1 jruoho
5152 1.1 jruoho ----------------------------------------
5153 1.1 jruoho 29 March 2005. Summary of changes for version 20050329:
5154 1.1 jruoho
5155 1.1 jruoho 1) ACPI CA Core Subsystem:
5156 1.1 jruoho
5157 1.1 jruoho An error is now generated if an attempt is made to create a Buffer Field of
5158 1.1 jruoho length zero (A CreateField with a length operand of zero.)
5159 1.1 jruoho
5160 1.1 jruoho The interpreter now issues a warning whenever executable code at the module
5161 1.1 jruoho level is detected during ACPI table load. This will give some idea of the
5162 1.1 jruoho prevalence of this type of code.
5163 1.1 jruoho
5164 1.1 jruoho Implemented support for references to named objects (other than control
5165 1.1 jruoho methods) within package objects.
5166 1.1 jruoho
5167 1.1 jruoho Enhanced package object output for the debug object. Package objects are now
5168 1.1 jruoho completely dumped, showing all elements.
5169 1.1 jruoho
5170 1.1 jruoho Enhanced miscellaneous object output for the debug object. Any object can
5171 1.1 jruoho now be written to the debug object (for example, a device object can be
5172 1.1 jruoho written, and the type of the object will be displayed.)
5173 1.1 jruoho
5174 1.1 jruoho The "static" qualifier has been added to all local functions across both the
5175 1.1 jruoho core subsystem and the iASL compiler.
5176 1.1 jruoho
5177 1.1 jruoho The number of "long" lines (> 80 chars) within the source has been
5178 1.1 jruoho significantly reduced, by about 1/3.
5179 1.1 jruoho
5180 1.1 jruoho Cleaned up all header files to ensure that all CA/iASL functions are
5181 1.1 jruoho prototyped (even static functions) and the formatting is consistent.
5182 1.1 jruoho
5183 1.1 jruoho Two new header files have been added, acopcode.h and acnames.h.
5184 1.1 jruoho
5185 1.1 jruoho Removed several obsolete functions that were no longer used.
5186 1.1 jruoho
5187 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
5188 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
5189 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
5190 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
5191 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
5192 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
5193 1.1 jruoho the compiler options used during generation.
5194 1.1 jruoho
5195 1.1 jruoho Previous Release:
5196 1.1 jruoho Non-Debug Version: 78.3K Code, 11.5K Data, 89.8K Total
5197 1.1 jruoho Debug Version: 165.4K Code, 69.7K Data, 236.1K Total
5198 1.1 jruoho Current Release:
5199 1.1 jruoho Non-Debug Version: 78.0K Code, 11.6K Data, 89.6K Total
5200 1.1 jruoho Debug Version: 163.5K Code, 69.3K Data, 232.8K Total
5201 1.1 jruoho
5202 1.1 jruoho
5203 1.1 jruoho
5204 1.1 jruoho 2) iASL Compiler/Disassembler:
5205 1.1 jruoho
5206 1.1 jruoho Fixed a problem with the resource descriptor generation/support. For the
5207 1.1 jruoho ResourceSourceIndex and the ResourceSource fields, both must be present, or
5208 1.1 jruoho both must be not present - can't have one without the other.
5209 1.1 jruoho
5210 1.1 jruoho The compiler now returns non-zero from the main procedure if any errors have
5211 1.1 jruoho occurred during the compilation.
5212 1.1 jruoho
5213 1.1 jruoho
5214 1.1 jruoho ----------------------------------------
5215 1.1 jruoho 09 March 2005. Summary of changes for version 20050309:
5216 1.1 jruoho
5217 1.1 jruoho 1) ACPI CA Core Subsystem:
5218 1.1 jruoho
5219 1.1 jruoho The string-to-buffer implicit conversion code has been modified again after
5220 1.1 jruoho a change to the ACPI specification. In order to match the behavior of the
5221 1.1 jruoho other major ACPI implementation, the target buffer is no longer truncated if
5222 1.1 jruoho the source string is smaller than an existing target buffer. This change
5223 1.1 jruoho requires an update to the ACPI spec, and should eliminate the recent
5224 1.1 jruoho AE_AML_BUFFER_LIMIT issues.
5225 1.1 jruoho
5226 1.1 jruoho The "implicit return" support was rewritten to a new algorithm that solves
5227 1.1 jruoho the general case. Rather than attempt to determine when a method is about to
5228 1.1 jruoho exit, the result of every ASL operator is saved momentarily until the very
5229 1.1 jruoho next ASL operator is executed. Therefore, no matter how the method exits,
5230 1.1 jruoho there will always be a saved implicit return value. This feature is only
5231 1.1 jruoho enabled with the AcpiGbl_EnableInterpreterSlack flag, and should eliminate
5232 1.1 jruoho AE_AML_NO_RETURN_VALUE errors when enabled.
5233 1.1 jruoho
5234 1.1 jruoho Implemented implicit conversion support for the predicate (operand) of the
5235 1.1 jruoho If, Else, and While operators. String and Buffer arguments are automatically
5236 1.1 jruoho converted to Integers.
5237 1.1 jruoho
5238 1.1 jruoho Changed the string-to-integer conversion behavior to match the new ACPI
5239 1.1 jruoho errata: "If no integer object exists, a new integer is created. The ASCII
5240 1.1 jruoho string is interpreted as a hexadecimal constant. Each string character is
5241 1.1 jruoho interpreted as a hexadecimal value ('0'-'9', 'A'-'F', 'a', 'f'), starting
5242 1.1 jruoho with the first character as the most significant digit, and ending with the
5243 1.1 jruoho first non-hexadecimal character or end-of-string." This means that the first
5244 1.1 jruoho non-hex character terminates the conversion and this is the code that was
5245 1.1 jruoho changed.
5246 1.1 jruoho
5247 1.1 jruoho Fixed a problem where the ObjectType operator would fail (fault) when used
5248 1.1 jruoho on an Index of a Package which pointed to a null package element. The
5249 1.1 jruoho operator now properly returns zero (Uninitialized) in this case.
5250 1.1 jruoho
5251 1.1 jruoho Fixed a problem where the While operator used excessive memory by not
5252 1.1 jruoho properly popping the result stack during execution. There was no memory leak
5253 1.1 jruoho after execution, however. (Code provided by Valery Podrezov.)
5254 1.1 jruoho
5255 1.1 jruoho Fixed a problem where references to control methods within Package objects
5256 1.1 jruoho caused the method to be invoked, instead of producing a reference object
5257 1.1 jruoho pointing to the method.
5258 1.1 jruoho
5259 1.1 jruoho Restructured and simplified the pswalk.c module (AcpiPsDeleteParseTree) to
5260 1.1 jruoho improve performance and reduce code size. (Code provided by Alexey
5261 1.1 jruoho Starikovskiy.)
5262 1.1 jruoho
5263 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
5264 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
5265 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
5266 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
5267 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
5268 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
5269 1.1 jruoho the compiler options used during generation.
5270 1.1 jruoho
5271 1.1 jruoho Previous Release:
5272 1.1 jruoho Non-Debug Version: 78.3K Code, 11.5K Data, 89.8K Total
5273 1.1 jruoho Debug Version: 165.4K Code, 69.6K Data, 236.0K Total
5274 1.1 jruoho Current Release:
5275 1.1 jruoho Non-Debug Version: 78.3K Code, 11.5K Data, 89.8K Total
5276 1.1 jruoho Debug Version: 165.4K Code, 69.7K Data, 236.1K Total
5277 1.1 jruoho
5278 1.1 jruoho
5279 1.1 jruoho 2) iASL Compiler/Disassembler:
5280 1.1 jruoho
5281 1.1 jruoho Fixed a problem with the Return operator with no arguments. Since the AML
5282 1.1 jruoho grammar for the byte encoding requires an operand for the Return opcode, the
5283 1.1 jruoho compiler now emits a Return(Zero) for this case. An ACPI specification
5284 1.1 jruoho update has been written for this case.
5285 1.1 jruoho
5286 1.1 jruoho For tables other than the DSDT, namepath optimization is automatically
5287 1.1 jruoho disabled. This is because SSDTs can be loaded anywhere in the namespace, the
5288 1.1 jruoho compiler has no knowledge of where, and thus cannot optimize namepaths.
5289 1.1 jruoho
5290 1.1 jruoho Added "ProcessorObj" to the ObjectTypeKeyword list. This object type was
5291 1.1 jruoho inadvertently omitted from the ACPI specification, and will require an
5292 1.1 jruoho update to the spec.
5293 1.1 jruoho
5294 1.1 jruoho The source file scan for ASCII characters is now optional (-a). This change
5295 1.1 jruoho was made because some vendors place non-ascii characters within comments.
5296 1.1 jruoho However, the scan is simply a brute-force byte compare to ensure all
5297 1.1 jruoho characters in the file are in the range 0x00 to 0x7F.
5298 1.1 jruoho
5299 1.1 jruoho Fixed a problem with the CondRefOf operator where the compiler was
5300 1.1 jruoho inappropriately checking for the existence of the target. Since the point of
5301 1.1 jruoho the operator is to check for the existence of the target at run-time, the
5302 1.1 jruoho compiler no longer checks for the target existence.
5303 1.1 jruoho
5304 1.1 jruoho Fixed a problem where errors generated from the internal AML interpreter
5305 1.1 jruoho during constant folding were not handled properly, causing a fault.
5306 1.1 jruoho
5307 1.1 jruoho Fixed a problem with overly aggressive range checking for the Stall
5308 1.1 jruoho operator. The valid range (max 255) is now only checked if the operand is of
5309 1.1 jruoho type Integer. All other operand types cannot be statically checked.
5310 1.1 jruoho
5311 1.1 jruoho Fixed a problem where control method references within the RefOf, DeRefOf,
5312 1.1 jruoho and ObjectType operators were not treated properly. They are now treated as
5313 1.1 jruoho actual references, not method invocations.
5314 1.1 jruoho
5315 1.1 jruoho Fixed and enhanced the "list namespace" option (-ln). This option was broken
5316 1.1 jruoho a number of releases ago.
5317 1.1 jruoho
5318 1.1 jruoho Improved error handling for the Field, IndexField, and BankField operators.
5319 1.1 jruoho The compiler now cleanly reports and recovers from errors in the field
5320 1.1 jruoho component (FieldUnit) list.
5321 1.1 jruoho
5322 1.1 jruoho Fixed a disassembler problem where the optional ResourceDescriptor fields
5323 1.1 jruoho TRS and TTP were not always handled correctly.
5324 1.1 jruoho
5325 1.1 jruoho Disassembler - Comments in output now use "//" instead of "/*"
5326 1.1 jruoho
5327 1.1 jruoho ----------------------------------------
5328 1.1 jruoho 28 February 2005. Summary of changes for version 20050228:
5329 1.1 jruoho
5330 1.1 jruoho 1) ACPI CA Core Subsystem:
5331 1.1 jruoho
5332 1.1 jruoho Fixed a problem where the result of an Index() operator (an object
5333 1.1 jruoho reference) must increment the reference count on the target object for the
5334 1.1 jruoho life of the object reference.
5335 1.1 jruoho
5336 1.1 jruoho Implemented AML Interpreter and Debugger support for the new ACPI 3.0
5337 1.1 jruoho Extended Address (IO, Memory, Space), QwordSpace, DwordSpace, and WordSpace
5338 1.1 jruoho resource descriptors.
5339 1.1 jruoho
5340 1.1 jruoho Implemented support in the _OSI method for the ACPI 3.0 "Extended Address
5341 1.1 jruoho Space Descriptor" string, indicating interpreter support for the descriptors
5342 1.1 jruoho above.
5343 1.1 jruoho
5344 1.1 jruoho Implemented header support for the new ACPI 3.0 FADT flag bits.
5345 1.1 jruoho
5346 1.1 jruoho Implemented header support for the new ACPI 3.0 PCI Express bits for the PM1
5347 1.1 jruoho status/enable registers.
5348 1.1 jruoho
5349 1.1 jruoho Updated header support for the MADT processor local Apic struct and MADT
5350 1.1 jruoho platform interrupt source struct for new ACPI 3.0 fields.
5351 1.1 jruoho
5352 1.1 jruoho Implemented header support for the SRAT and SLIT ACPI tables.
5353 1.1 jruoho
5354 1.1 jruoho Implemented the -s switch in AcpiExec to enable the "InterpreterSlack" flag
5355 1.1 jruoho at runtime.
5356 1.1 jruoho
5357 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
5358 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
5359 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
5360 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
5361 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
5362 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
5363 1.1 jruoho the compiler options used during generation.
5364 1.1 jruoho
5365 1.1 jruoho Previous Release:
5366 1.1 jruoho Non-Debug Version: 78.2K Code, 11.5K Data, 89.7K Total
5367 1.1 jruoho Debug Version: 164.9K Code, 69.2K Data, 234.1K Total
5368 1.1 jruoho Current Release:
5369 1.1 jruoho Non-Debug Version: 78.3K Code, 11.5K Data, 89.8K Total
5370 1.1 jruoho Debug Version: 165.4K Code, 69.6K Data, 236.0K Total
5371 1.1 jruoho
5372 1.1 jruoho
5373 1.1 jruoho 2) iASL Compiler/Disassembler:
5374 1.1 jruoho
5375 1.1 jruoho Fixed a problem with the internal 64-bit String-to-integer conversion with
5376 1.1 jruoho strings less than two characters long.
5377 1.1 jruoho
5378 1.1 jruoho Fixed a problem with constant folding where the result of the Index()
5379 1.1 jruoho operator can not be considered a constant. This means that Index() cannot be
5380 1.1 jruoho a type3 opcode and this will require an update to the ACPI specification.
5381 1.1 jruoho
5382 1.1 jruoho Disassembler: Implemented support for the TTP, MTP, and TRS resource
5383 1.1 jruoho descriptor fields. These fields were inadvertently ignored and not output in
5384 1.1 jruoho the disassembly of the resource descriptor.
5385 1.1 jruoho
5386 1.1 jruoho
5387 1.1 jruoho ----------------------------------------
5388 1.1 jruoho 11 February 2005. Summary of changes for version 20050211:
5389 1.1 jruoho
5390 1.1 jruoho 1) ACPI CA Core Subsystem:
5391 1.1 jruoho
5392 1.1 jruoho Implemented ACPI 3.0 support for implicit conversion within the Match()
5393 1.1 jruoho operator. MatchObjects can now be of type integer, buffer, or string instead
5394 1.1 jruoho of just type integer. Package elements are implicitly converted to the type
5395 1.1 jruoho of the MatchObject. This change aligns the behavior of Match() with the
5396 1.1 jruoho behavior of the other logical operators (LLess(), etc.) It also requires an
5397 1.1 jruoho errata change to the ACPI specification as this support was intended for
5398 1.1 jruoho ACPI 3.0, but was inadvertently omitted.
5399 1.1 jruoho
5400 1.1 jruoho Fixed a problem with the internal implicit "to buffer" conversion. Strings
5401 1.1 jruoho that are converted to buffers will cause buffer truncation if the string is
5402 1.1 jruoho smaller than the target buffer. Integers that are converted to buffers will
5403 1.1 jruoho not cause buffer truncation, only zero extension (both as per the ACPI
5404 1.1 jruoho spec.) The problem was introduced when code was added to truncate the
5405 1.1 jruoho buffer, but this should not be performed in all cases, only the string case.
5406 1.1 jruoho
5407 1.1 jruoho Fixed a problem with the Buffer and Package operators where the interpreter
5408 1.1 jruoho would get confused if two such operators were used as operands to an ASL
5409 1.1 jruoho operator (such as LLess(Buffer(1){0},Buffer(1){1}). The internal result
5410 1.1 jruoho stack was not being popped after the execution of these operators, resulting
5411 1.1 jruoho in an AE_NO_RETURN_VALUE exception.
5412 1.1 jruoho
5413 1.1 jruoho Fixed a problem with constructs of the form Store(Index(...),...). The
5414 1.1 jruoho reference object returned from Index was inadvertently resolved to an actual
5415 1.1 jruoho value. This problem was introduced in version 20050114 when the behavior of
5416 1.1 jruoho Store() was modified to restrict the object types that can be used as the
5417 1.1 jruoho source operand (to match the ACPI specification.)
5418 1.1 jruoho
5419 1.1 jruoho Reduced excessive stack use within the AcpiGetObjectInfo procedure.
5420 1.1 jruoho
5421 1.1 jruoho Added a fix to aclinux.h to allow generation of AcpiExec on Linux.
5422 1.1 jruoho
5423 1.1 jruoho Updated the AcpiSrc utility to add the FADT_DESCRIPTOR_REV2_MINUS struct.
5424 1.1 jruoho
5425 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
5426 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
5427 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
5428 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
5429 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
5430 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
5431 1.1 jruoho the compiler options used during generation.
5432 1.1 jruoho
5433 1.1 jruoho Previous Release:
5434 1.1 jruoho Non-Debug Version: 78.1K Code, 11.5K Data, 89.6K Total
5435 1.1 jruoho Debug Version: 164.8K Code, 69.2K Data, 234.0K Total
5436 1.1 jruoho Current Release:
5437 1.1 jruoho Non-Debug Version: 78.2K Code, 11.5K Data, 89.7K Total
5438 1.1 jruoho Debug Version: 164.9K Code, 69.2K Data, 234.1K Total
5439 1.1 jruoho
5440 1.1 jruoho
5441 1.1 jruoho 2) iASL Compiler/Disassembler:
5442 1.1 jruoho
5443 1.1 jruoho Fixed a code generation problem in the constant folding optimization code
5444 1.1 jruoho where incorrect code was generated if a constant was reduced to a buffer
5445 1.1 jruoho object (i.e., a reduced type 5 opcode.)
5446 1.1 jruoho
5447 1.1 jruoho Fixed a typechecking problem for the ToBuffer operator. Caused by an
5448 1.1 jruoho incorrect return type in the internal opcode information table.
5449 1.1 jruoho
5450 1.1 jruoho ----------------------------------------
5451 1.1 jruoho 25 January 2005. Summary of changes for version 20050125:
5452 1.1 jruoho
5453 1.1 jruoho 1) ACPI CA Core Subsystem:
5454 1.1 jruoho
5455 1.1 jruoho Fixed a recently introduced problem with the Global Lock where the
5456 1.1 jruoho underlying semaphore was not created. This problem was introduced in
5457 1.1 jruoho version 20050114, and caused an AE_AML_NO_OPERAND exception during an
5458 1.1 jruoho Acquire() operation on _GL.
5459 1.1 jruoho
5460 1.1 jruoho The local object cache is now optional, and is disabled by default. Both
5461 1.1 jruoho AcpiExec and the iASL compiler enable the cache because they run in user
5462 1.1 jruoho mode and this enhances their performance. #define ACPI_ENABLE_OBJECT_CACHE
5463 1.1 jruoho to enable the local cache.
5464 1.1 jruoho
5465 1.1 jruoho Fixed an issue in the internal function AcpiUtEvaluateObject concerning the
5466 1.1 jruoho optional "implicit return" support where an error was returned if no return
5467 1.1 jruoho object was expected, but one was implicitly returned. AE_OK is now returned
5468 1.1 jruoho in this case and the implicitly returned object is deleted.
5469 1.1 jruoho AcpiUtEvaluateObject is only occasionally used, and only to execute reserved
5470 1.1 jruoho methods such as _STA and _INI where the return type is known up front.
5471 1.1 jruoho
5472 1.1 jruoho Fixed a few issues with the internal convert-to-integer code. It now returns
5473 1.1 jruoho an error if an attempt is made to convert a null string, a string of only
5474 1.1 jruoho blanks/tabs, or a zero-length buffer. This affects both implicit conversion
5475 1.1 jruoho and explicit conversion via the ToInteger() operator.
5476 1.1 jruoho
5477 1.1 jruoho The internal debug code in AcpiUtAcquireMutex has been commented out. It is
5478 1.1 jruoho not needed for normal operation and should increase the performance of the
5479 1.1 jruoho entire subsystem. The code remains in case it is needed for debug purposes
5480 1.1 jruoho again.
5481 1.1 jruoho
5482 1.1 jruoho The AcpiExec source and makefile are included in the Unix/Linux package for
5483 1.1 jruoho the first time.
5484 1.1 jruoho
5485 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
5486 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
5487 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
5488 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
5489 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
5490 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
5491 1.1 jruoho the compiler options used during generation.
5492 1.1 jruoho
5493 1.1 jruoho Previous Release:
5494 1.1 jruoho Non-Debug Version: 78.4K Code, 11.5K Data, 89.9K Total
5495 1.1 jruoho Debug Version: 165.4K Code, 69.4K Data, 234.8K Total
5496 1.1 jruoho Current Release:
5497 1.1 jruoho Non-Debug Version: 78.1K Code, 11.5K Data, 89.6K Total
5498 1.1 jruoho Debug Version: 164.8K Code, 69.2K Data, 234.0K Total
5499 1.1 jruoho
5500 1.1 jruoho 2) iASL Compiler/Disassembler:
5501 1.1 jruoho
5502 1.1 jruoho Switch/Case support: A warning is now issued if the type of the Switch value
5503 1.1 jruoho cannot be determined at compile time. For example, Switch(Arg0) will
5504 1.1 jruoho generate the warning, and the type is assumed to be an integer. As per the
5505 1.1 jruoho ACPI spec, use a construct such as Switch(ToInteger(Arg0)) to eliminate the
5506 1.1 jruoho warning.
5507 1.1 jruoho
5508 1.1 jruoho Switch/Case support: Implemented support for buffer and string objects as
5509 1.1 jruoho the switch value. This is an ACPI 3.0 feature, now that LEqual supports
5510 1.1 jruoho buffers and strings.
5511 1.1 jruoho
5512 1.1 jruoho Switch/Case support: The emitted code for the LEqual() comparisons now uses
5513 1.1 jruoho the switch value as the first operand, not the second. The case value is now
5514 1.1 jruoho the second operand, and this allows the case value to be implicitly
5515 1.1 jruoho converted to the type of the switch value, not the other way around.
5516 1.1 jruoho
5517 1.1 jruoho Switch/Case support: Temporary variables are now emitted immediately within
5518 1.1 jruoho the control method, not at the global level. This means that there are now
5519 1.1 jruoho 36 temps available per-method, not 36 temps per-module as was the case with
5520 1.1 jruoho the earlier implementation (_T_0 through _T_9 and _T_A through _T_Z.)
5521 1.1 jruoho
5522 1.1 jruoho ----------------------------------------
5523 1.1 jruoho 14 January 2005. Summary of changes for version 20050114:
5524 1.1 jruoho
5525 1.1 jruoho Added 2005 copyright to all module headers. This affects every module in
5526 1.1 jruoho the core subsystem, iASL compiler, and the utilities.
5527 1.1 jruoho
5528 1.1 jruoho 1) ACPI CA Core Subsystem:
5529 1.1 jruoho
5530 1.1 jruoho Fixed an issue with the String-to-Buffer conversion code where the string
5531 1.1 jruoho null terminator was not included in the buffer after conversion, but there
5532 1.1 jruoho is existing ASL that assumes the string null terminator is included. This is
5533 1.1 jruoho the root of the ACPI_AML_BUFFER_LIMIT regression. This problem was
5534 1.1 jruoho introduced in the previous version when the code was updated to correctly
5535 1.1 jruoho set the converted buffer size as per the ACPI specification. The ACPI spec
5536 1.1 jruoho is ambiguous and will be updated to specify that the null terminator must be
5537 1.1 jruoho included in the converted buffer. This also affects the ToBuffer() ASL
5538 1.1 jruoho operator.
5539 1.1 jruoho
5540 1.1 jruoho Fixed a problem with the Mid() ASL/AML operator where it did not work
5541 1.1 jruoho correctly on Buffer objects. Newly created sub-buffers were not being marked
5542 1.1 jruoho as initialized.
5543 1.1 jruoho
5544 1.1 jruoho
5545 1.1 jruoho Fixed a problem in AcpiTbFindTable where incorrect string compares were
5546 1.1 jruoho performed on the OemId and OemTableId table header fields. These fields are
5547 1.1 jruoho not null terminated, so strncmp is now used instead of strcmp.
5548 1.1 jruoho
5549 1.1 jruoho Implemented a restriction on the Store() ASL/AML operator to align the
5550 1.1 jruoho behavior with the ACPI specification. Previously, any object could be used
5551 1.1 jruoho as the source operand. Now, the only objects that may be used are Integers,
5552 1.1 jruoho Buffers, Strings, Packages, Object References, and DDB Handles. If
5553 1.1 jruoho necessary, the original behavior can be restored by enabling the
5554 1.1 jruoho EnableInterpreterSlack flag.
5555 1.1 jruoho
5556 1.1 jruoho Enhanced the optional "implicit return" support to allow an implicit return
5557 1.1 jruoho value from methods that are invoked externally via the AcpiEvaluateObject
5558 1.1 jruoho interface. This enables implicit returns from the _STA and _INI methods,
5559 1.1 jruoho for example.
5560 1.1 jruoho
5561 1.1 jruoho Changed the Revision() ASL/AML operator to return the current version of the
5562 1.1 jruoho AML interpreter, in the YYYYMMDD format. Previously, it incorrectly returned
5563 1.1 jruoho the supported ACPI version (This is the function of the _REV method).
5564 1.1 jruoho
5565 1.1 jruoho Updated the _REV predefined method to return the currently supported version
5566 1.1 jruoho of ACPI, now 3.
5567 1.1 jruoho
5568 1.1 jruoho Implemented batch mode option for the AcpiExec utility (-b).
5569 1.1 jruoho
5570 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
5571 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
5572 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
5573 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
5574 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
5575 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
5576 1.1 jruoho the compiler options used during generation.
5577 1.1 jruoho
5578 1.1 jruoho Previous Release:
5579 1.1 jruoho Non-Debug Version: 78.3K Code, 11.5K Data, 89.8K Total
5580 1.1 jruoho Debug Version: 165.3K Code, 69.4K Data, 234.7K Total
5581 1.1 jruoho Current Release:
5582 1.1 jruoho Non-Debug Version: 78.4K Code, 11.5K Data, 89.9K Total
5583 1.1 jruoho Debug Version: 165.4K Code, 69.4K Data, 234.8K Total
5584 1.1 jruoho
5585 1.1 jruoho ----------------------------------------
5586 1.1 jruoho 10 December 2004. Summary of changes for version 20041210:
5587 1.1 jruoho
5588 1.1 jruoho ACPI 3.0 support is nearing completion in both the iASL compiler and the
5589 1.1 jruoho ACPI CA core subsystem.
5590 1.1 jruoho
5591 1.1 jruoho 1) ACPI CA Core Subsystem:
5592 1.1 jruoho
5593 1.1 jruoho Fixed a problem in the ToDecimalString operator where the resulting string
5594 1.1 jruoho length was incorrectly calculated. The length is now calculated exactly,
5595 1.1 jruoho eliminating incorrect AE_STRING_LIMIT exceptions.
5596 1.1 jruoho
5597 1.1 jruoho Fixed a problem in the ToHexString operator to allow a maximum 200 character
5598 1.1 jruoho string to be produced.
5599 1.1 jruoho
5600 1.1 jruoho Fixed a problem in the internal string-to-buffer and buffer-to-buffer copy
5601 1.1 jruoho routine where the length of the resulting buffer was not truncated to the
5602 1.1 jruoho new size (if the target buffer already existed).
5603 1.1 jruoho
5604 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
5605 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
5606 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
5607 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
5608 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
5609 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
5610 1.1 jruoho the compiler options used during generation.
5611 1.1 jruoho
5612 1.1 jruoho Previous Release:
5613 1.1 jruoho Non-Debug Version: 78.3K Code, 11.5K Data, 89.8K Total
5614 1.1 jruoho Debug Version: 164.7K Code, 68.5K Data, 233.2K Total
5615 1.1 jruoho Current Release:
5616 1.1 jruoho Non-Debug Version: 78.3K Code, 11.5K Data, 89.8K Total
5617 1.1 jruoho Debug Version: 165.3K Code, 69.4K Data, 234.7K Total
5618 1.1 jruoho
5619 1.1 jruoho
5620 1.1 jruoho 2) iASL Compiler/Disassembler:
5621 1.1 jruoho
5622 1.1 jruoho Implemented the new ACPI 3.0 resource template macros - DWordSpace,
5623 1.1 jruoho ExtendedIO, ExtendedMemory, ExtendedSpace, QWordSpace, and WordSpace.
5624 1.1 jruoho Includes support in the disassembler.
5625 1.1 jruoho
5626 1.1 jruoho Implemented support for the new (ACPI 3.0) parameter to the Register macro,
5627 1.1 jruoho AccessSize.
5628 1.1 jruoho
5629 1.1 jruoho Fixed a problem where the _HE resource name for the Interrupt macro was
5630 1.1 jruoho referencing bit 0 instead of bit 1.
5631 1.1 jruoho
5632 1.1 jruoho Implemented check for maximum 255 interrupts in the Interrupt macro.
5633 1.1 jruoho
5634 1.1 jruoho Fixed a problem with the predefined resource descriptor names where
5635 1.1 jruoho incorrect AML code was generated if the offset within the resource buffer
5636 1.1 jruoho was 0 or 1. The optimizer shortened the AML code to a single byte opcode
5637 1.1 jruoho but did not update the surrounding package lengths.
5638 1.1 jruoho
5639 1.1 jruoho Changes to the Dma macro: All channels within the channel list must be in
5640 1.1 jruoho the range 0-7. Maximum 8 channels can be specified. BusMaster operand is
5641 1.1 jruoho optional (default is BusMaster).
5642 1.1 jruoho
5643 1.1 jruoho Implemented check for maximum 7 data bytes for the VendorShort macro.
5644 1.1 jruoho
5645 1.1 jruoho The ReadWrite parameter is now optional for the Memory32 and similar macros.
5646 1.1 jruoho
5647 1.1 jruoho ----------------------------------------
5648 1.1 jruoho 03 December 2004. Summary of changes for version 20041203:
5649 1.1 jruoho
5650 1.1 jruoho 1) ACPI CA Core Subsystem:
5651 1.1 jruoho
5652 1.1 jruoho The low-level field insertion/extraction code (exfldio) has been completely
5653 1.1 jruoho rewritten to eliminate unnecessary complexity, bugs, and boundary
5654 1.1 jruoho conditions.
5655 1.1 jruoho
5656 1.1 jruoho Fixed a problem in the ToInteger, ToBuffer, ToHexString, and ToDecimalString
5657 1.1 jruoho operators where the input operand could be inadvertently deleted if no
5658 1.1 jruoho conversion was necessary (e.g., if the input to ToInteger was an Integer
5659 1.1 jruoho object.)
5660 1.1 jruoho
5661 1.1 jruoho Fixed a problem with the ToDecimalString and ToHexString where an incorrect
5662 1.1 jruoho exception code was returned if the resulting string would be > 200 chars.
5663 1.1 jruoho AE_STRING_LIMIT is now returned.
5664 1.1 jruoho
5665 1.1 jruoho Fixed a problem with the Concatenate operator where AE_OK was always
5666 1.1 jruoho returned, even if the operation failed.
5667 1.1 jruoho
5668 1.1 jruoho Fixed a problem in oswinxf (used by AcpiExec and iASL) to allow > 128
5669 1.1 jruoho semaphores to be allocated.
5670 1.1 jruoho
5671 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
5672 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
5673 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
5674 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
5675 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
5676 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
5677 1.1 jruoho the compiler options used during generation.
5678 1.1 jruoho
5679 1.1 jruoho Previous Release:
5680 1.1 jruoho Non-Debug Version: 78.5K Code, 11.5K Data, 90.0K Total
5681 1.1 jruoho Debug Version: 165.2K Code, 68.6K Data, 233.8K Total
5682 1.1 jruoho Current Release:
5683 1.1 jruoho Non-Debug Version: 78.3K Code, 11.5K Data, 89.8K Total
5684 1.1 jruoho Debug Version: 164.7K Code, 68.5K Data, 233.2K Total
5685 1.1 jruoho
5686 1.1 jruoho
5687 1.1 jruoho 2) iASL Compiler/Disassembler:
5688 1.1 jruoho
5689 1.1 jruoho Fixed typechecking for the ObjectType and SizeOf operators. Problem was
5690 1.1 jruoho recently introduced in 20041119.
5691 1.1 jruoho
5692 1.1 jruoho Fixed a problem with the ToUUID macro where the upper nybble of each buffer
5693 1.1 jruoho byte was inadvertently set to zero.
5694 1.1 jruoho
5695 1.1 jruoho ----------------------------------------
5696 1.1 jruoho 19 November 2004. Summary of changes for version 20041119:
5697 1.1 jruoho
5698 1.1 jruoho 1) ACPI CA Core Subsystem:
5699 1.1 jruoho
5700 1.1 jruoho Fixed a problem in the internal ConvertToInteger routine where new integers
5701 1.1 jruoho were not truncated to 32 bits for 32-bit ACPI tables. This routine converts
5702 1.1 jruoho buffers and strings to integers.
5703 1.1 jruoho
5704 1.1 jruoho Implemented support to store a value to an Index() on a String object. This
5705 1.1 jruoho is an ACPI 2.0 feature that had not yet been implemented.
5706 1.1 jruoho
5707 1.1 jruoho Implemented new behavior for storing objects to individual package elements
5708 1.1 jruoho (via the Index() operator). The previous behavior was to invoke the implicit
5709 1.1 jruoho conversion rules if an object was already present at the index. The new
5710 1.1 jruoho behavior is to simply delete any existing object and directly store the new
5711 1.1 jruoho object. Although the ACPI specification seems unclear on this subject, other
5712 1.1 jruoho ACPI implementations behave in this manner. (This is the root of the
5713 1.1 jruoho AE_BAD_HEX_CONSTANT issue.)
5714 1.1 jruoho
5715 1.1 jruoho Modified the RSDP memory scan mechanism to support the extended checksum for
5716 1.1 jruoho ACPI 2.0 (and above) RSDPs. Note that the search continues until a valid
5717 1.1 jruoho RSDP signature is found with a valid checksum.
5718 1.1 jruoho
5719 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
5720 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
5721 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
5722 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
5723 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
5724 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
5725 1.1 jruoho the compiler options used during generation.
5726 1.1 jruoho
5727 1.1 jruoho Previous Release:
5728 1.1 jruoho Non-Debug Version: 78.5K Code, 11.5K Data, 90.0K Total
5729 1.1 jruoho Debug Version: 165.2K Code, 68.6K Data, 233.8K Total
5730 1.1 jruoho Current Release:
5731 1.1 jruoho Non-Debug Version: 78.5K Code, 11.5K Data, 90.0K Total
5732 1.1 jruoho Debug Version: 165.2K Code, 68.6K Data, 233.8K Total
5733 1.1 jruoho
5734 1.1 jruoho
5735 1.1 jruoho 2) iASL Compiler/Disassembler:
5736 1.1 jruoho
5737 1.1 jruoho Fixed a missing semicolon in the aslcompiler.y file.
5738 1.1 jruoho
5739 1.1 jruoho ----------------------------------------
5740 1.1 jruoho 05 November 2004. Summary of changes for version 20041105:
5741 1.1 jruoho
5742 1.1 jruoho 1) ACPI CA Core Subsystem:
5743 1.1 jruoho
5744 1.1 jruoho Implemented support for FADT revision 2. This was an interim table (between
5745 1.1 jruoho ACPI 1.0 and ACPI 2.0) that adds support for the FADT reset register.
5746 1.1 jruoho
5747 1.1 jruoho Implemented optional support to allow uninitialized LocalX and ArgX
5748 1.1 jruoho variables in a control method. The variables are initialized to an Integer
5749 1.1 jruoho object with a value of zero. This support is enabled by setting the
5750 1.1 jruoho AcpiGbl_EnableInterpreterSlack flag to TRUE.
5751 1.1 jruoho
5752 1.1 jruoho Implemented support for Integer objects for the SizeOf operator. Either 4
5753 1.1 jruoho or 8 is returned, depending on the current integer size (32-bit or 64-bit,
5754 1.1 jruoho depending on the parent table revision).
5755 1.1 jruoho
5756 1.1 jruoho Fixed a problem in the implementation of the SizeOf and ObjectType operators
5757 1.1 jruoho where the operand was resolved to a value too early, causing incorrect
5758 1.1 jruoho return values for some objects.
5759 1.1 jruoho
5760 1.1 jruoho Fixed some possible memory leaks during exceptional conditions.
5761 1.1 jruoho
5762 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
5763 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
5764 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
5765 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
5766 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
5767 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
5768 1.1 jruoho the compiler options used during generation.
5769 1.1 jruoho
5770 1.1 jruoho Previous Release:
5771 1.1 jruoho Non-Debug Version: 78.0K Code, 11.5K Data, 89.5K Total
5772 1.1 jruoho Debug Version: 164.8K Code, 68.6K Data, 233.4K Total
5773 1.1 jruoho Current Release:
5774 1.1 jruoho Non-Debug Version: 78.5K Code, 11.5K Data, 90.0K Total
5775 1.1 jruoho Debug Version: 165.2K Code, 68.6K Data, 233.8K Total
5776 1.1 jruoho
5777 1.1 jruoho
5778 1.1 jruoho 2) iASL Compiler/Disassembler:
5779 1.1 jruoho
5780 1.1 jruoho Implemented support for all ACPI 3.0 reserved names and methods.
5781 1.1 jruoho
5782 1.1 jruoho Implemented all ACPI 3.0 grammar elements in the front-end, including
5783 1.1 jruoho support for semicolons.
5784 1.1 jruoho
5785 1.1 jruoho Implemented the ACPI 3.0 Function() and ToUUID() macros
5786 1.1 jruoho
5787 1.1 jruoho Fixed a problem in the disassembler where a Scope() operator would not be
5788 1.1 jruoho emitted properly if the target of the scope was in another table.
5789 1.1 jruoho
5790 1.1 jruoho ----------------------------------------
5791 1.1 jruoho 15 October 2004. Summary of changes for version 20041015:
5792 1.1 jruoho
5793 1.1 jruoho Note: ACPI CA is currently undergoing an in-depth and complete formal
5794 1.1 jruoho evaluation to test/verify the following areas. Other suggestions are
5795 1.1 jruoho welcome. This will result in an increase in the frequency of releases and
5796 1.1 jruoho the number of bug fixes in the next few months.
5797 1.1 jruoho - Functional tests for all ASL/AML operators
5798 1.1 jruoho - All implicit/explicit type conversions
5799 1.1 jruoho - Bit fields and operation regions
5800 1.1 jruoho - 64-bit math support and 32-bit-only "truncated" math support
5801 1.1 jruoho - Exceptional conditions, both compiler and interpreter
5802 1.1 jruoho - Dynamic object deletion and memory leaks
5803 1.1 jruoho - ACPI 3.0 support when implemented
5804 1.1 jruoho - External interfaces to the ACPI subsystem
5805 1.1 jruoho
5806 1.1 jruoho
5807 1.1 jruoho 1) ACPI CA Core Subsystem:
5808 1.1 jruoho
5809 1.1 jruoho Fixed two alignment issues on 64-bit platforms - within debug statements in
5810 1.1 jruoho AcpiEvGpeDetect and AcpiEvCreateGpeBlock. Removed references to the Address
5811 1.1 jruoho field within the non-aligned ACPI generic address structure.
5812 1.1 jruoho
5813 1.1 jruoho Fixed a problem in the Increment and Decrement operators where incorrect
5814 1.1 jruoho operand resolution could result in the inadvertent modification of the
5815 1.1 jruoho original integer when the integer is passed into another method as an
5816 1.1 jruoho argument and the arg is then incremented/decremented.
5817 1.1 jruoho
5818 1.1 jruoho Fixed a problem in the FromBCD operator where the upper 32-bits of a 64-bit
5819 1.1 jruoho BCD number were truncated during conversion.
5820 1.1 jruoho
5821 1.1 jruoho Fixed a problem in the ToDecimal operator where the length of the resulting
5822 1.1 jruoho string could be set incorrectly too long if the input operand was a Buffer
5823 1.1 jruoho object.
5824 1.1 jruoho
5825 1.1 jruoho Fixed a problem in the Logical operators (LLess, etc.) where a NULL byte (0)
5826 1.1 jruoho within a buffer would prematurely terminate a compare between buffer
5827 1.1 jruoho objects.
5828 1.1 jruoho
5829 1.1 jruoho Added a check for string overflow (>200 characters as per the ACPI
5830 1.1 jruoho specification) during the Concatenate operator with two string operands.
5831 1.1 jruoho
5832 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
5833 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
5834 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
5835 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
5836 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
5837 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
5838 1.1 jruoho the compiler options used during generation.
5839 1.1 jruoho
5840 1.1 jruoho Previous Release:
5841 1.1 jruoho Non-Debug Version: 77.8K Code, 11.5K Data, 89.3K Total
5842 1.1 jruoho Debug Version: 164.6K Code, 68.5K Data, 233.1K Total
5843 1.1 jruoho Current Release:
5844 1.1 jruoho Non-Debug Version: 78.0K Code, 11.5K Data, 89.5K Total
5845 1.1 jruoho Debug Version: 164.8K Code, 68.6K Data, 233.4K Total
5846 1.1 jruoho
5847 1.1 jruoho
5848 1.1 jruoho
5849 1.1 jruoho 2) iASL Compiler/Disassembler:
5850 1.1 jruoho
5851 1.1 jruoho Allow the use of the ObjectType operator on uninitialized Locals and Args
5852 1.1 jruoho (returns 0 as per the ACPI specification).
5853 1.1 jruoho
5854 1.1 jruoho Fixed a problem where the compiler would fault if there was a syntax error
5855 1.1 jruoho in the FieldName of all of the various CreateXXXField operators.
5856 1.1 jruoho
5857 1.1 jruoho Disallow the use of lower case letters within the EISAID macro, as per the
5858 1.1 jruoho ACPI specification. All EISAID strings must be of the form "UUUNNNN" Where
5859 1.1 jruoho U is an uppercase letter and N is a hex digit.
5860 1.1 jruoho
5861 1.1 jruoho
5862 1.1 jruoho ----------------------------------------
5863 1.1 jruoho 06 October 2004. Summary of changes for version 20041006:
5864 1.1 jruoho
5865 1.1 jruoho 1) ACPI CA Core Subsystem:
5866 1.1 jruoho
5867 1.1 jruoho Implemented support for the ACPI 3.0 Timer operator. This ASL function
5868 1.1 jruoho implements a 64-bit timer with 100 nanosecond granularity.
5869 1.1 jruoho
5870 1.1 jruoho Defined a new OSL interface, AcpiOsGetTimer. This interface is used to
5871 1.1 jruoho implement the ACPI 3.0 Timer operator. This allows the host OS to implement
5872 1.1 jruoho the timer with the best clock available. Also, it keeps the core subsystem
5873 1.1 jruoho out of the clock handling business, since the host OS (usually) performs
5874 1.1 jruoho this function.
5875 1.1 jruoho
5876 1.1 jruoho Fixed an alignment issue on 64-bit platforms. The HwLowLevelRead(Write)
5877 1.1 jruoho functions use a 64-bit address which is part of the packed ACPI Generic
5878 1.1 jruoho Address Structure. Since the structure is non-aligned, the alignment macros
5879 1.1 jruoho are now used to extract the address to a local variable before use.
5880 1.1 jruoho
5881 1.1 jruoho Fixed a problem where the ToInteger operator assumed all input strings were
5882 1.1 jruoho hexadecimal. The operator now handles both decimal strings and hex strings
5883 1.1 jruoho (prefixed with "0x").
5884 1.1 jruoho
5885 1.1 jruoho Fixed a problem where the string length in the string object created as a
5886 1.1 jruoho result of the internal ConvertToString procedure could be incorrect. This
5887 1.1 jruoho potentially affected all implicit conversions and also the ToDecimalString
5888 1.1 jruoho and ToHexString operators.
5889 1.1 jruoho
5890 1.1 jruoho Fixed two problems in the ToString operator. If the length parameter was
5891 1.1 jruoho zero, an incorrect string object was created and the value of the input
5892 1.1 jruoho length parameter was inadvertently changed from zero to Ones.
5893 1.1 jruoho
5894 1.1 jruoho Fixed a problem where the optional ResourceSource string in the ExtendedIRQ
5895 1.1 jruoho resource macro was ignored.
5896 1.1 jruoho
5897 1.1 jruoho Simplified the interfaces to the internal division functions, reducing code
5898 1.1 jruoho size and complexity.
5899 1.1 jruoho
5900 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
5901 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
5902 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
5903 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
5904 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
5905 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
5906 1.1 jruoho the compiler options used during generation.
5907 1.1 jruoho
5908 1.1 jruoho Previous Release:
5909 1.1 jruoho Non-Debug Version: 77.9K Code, 11.4K Data, 89.3K Total
5910 1.1 jruoho Debug Version: 164.5K Code, 68.3K Data, 232.8K Total
5911 1.1 jruoho Current Release:
5912 1.1 jruoho Non-Debug Version: 77.8K Code, 11.5K Data, 89.3K Total
5913 1.1 jruoho Debug Version: 164.6K Code, 68.5K Data, 233.1K Total
5914 1.1 jruoho
5915 1.1 jruoho
5916 1.1 jruoho 2) iASL Compiler/Disassembler:
5917 1.1 jruoho
5918 1.1 jruoho Implemented support for the ACPI 3.0 Timer operator.
5919 1.1 jruoho
5920 1.1 jruoho Fixed a problem where the Default() operator was inadvertently ignored in a
5921 1.1 jruoho Switch/Case block. This was a problem in the translation of the Switch
5922 1.1 jruoho statement to If...Else pairs.
5923 1.1 jruoho
5924 1.1 jruoho Added support to allow a standalone Return operator, with no parentheses (or
5925 1.1 jruoho operands).
5926 1.1 jruoho
5927 1.1 jruoho Fixed a problem with code generation for the ElseIf operator where the
5928 1.1 jruoho translated Else...If parse tree was improperly constructed leading to the
5929 1.1 jruoho loss of some code.
5930 1.1 jruoho
5931 1.1 jruoho ----------------------------------------
5932 1.1 jruoho 22 September 2004. Summary of changes for version 20040922:
5933 1.1 jruoho
5934 1.1 jruoho 1) ACPI CA Core Subsystem:
5935 1.1 jruoho
5936 1.1 jruoho Fixed a problem with the implementation of the LNot() operator where "Ones"
5937 1.1 jruoho was not returned for the TRUE case. Changed the code to return Ones instead
5938 1.1 jruoho of (!Arg) which was usually 1. This change affects iASL constant folding for
5939 1.1 jruoho this operator also.
5940 1.1 jruoho
5941 1.1 jruoho Fixed a problem in AcpiUtInitializeBuffer where an existing buffer was not
5942 1.1 jruoho initialized properly -- Now zero the entire buffer in this case where the
5943 1.1 jruoho buffer already exists.
5944 1.1 jruoho
5945 1.1 jruoho Changed the interface to AcpiOsSleep from (UINT32 Seconds, UINT32
5946 1.1 jruoho Milliseconds) to simply (ACPI_INTEGER Milliseconds). This simplifies all
5947 1.1 jruoho related code considerably. This will require changes/updates to all OS
5948 1.1 jruoho interface layers (OSLs.)
5949 1.1 jruoho
5950 1.1 jruoho Implemented a new external interface, AcpiInstallExceptionHandler, to allow
5951 1.1 jruoho a system exception handler to be installed. This handler is invoked upon any
5952 1.1 jruoho run-time exception that occurs during control method execution.
5953 1.1 jruoho
5954 1.1 jruoho Added support for the DSDT in AcpiTbFindTable. This allows the
5955 1.1 jruoho DataTableRegion() operator to access the local copy of the DSDT.
5956 1.1 jruoho
5957 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
5958 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
5959 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
5960 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
5961 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
5962 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
5963 1.1 jruoho the compiler options used during generation.
5964 1.1 jruoho
5965 1.1 jruoho Previous Release:
5966 1.1 jruoho Non-Debug Version: 77.8K Code, 11.4K Data, 89.2K Total
5967 1.1 jruoho Debug Version: 164.2K Code, 68.2K Data, 232.4K Total
5968 1.1 jruoho Current Release:
5969 1.1 jruoho Non-Debug Version: 77.9K Code, 11.4K Data, 89.3K Total
5970 1.1 jruoho Debug Version: 164.5K Code, 68.3K Data, 232.8K Total
5971 1.1 jruoho
5972 1.1 jruoho
5973 1.1 jruoho 2) iASL Compiler/Disassembler:
5974 1.1 jruoho
5975 1.1 jruoho Fixed a problem with constant folding and the LNot operator. LNot was
5976 1.1 jruoho returning 1 in the TRUE case, not Ones as per the ACPI specification. This
5977 1.1 jruoho could result in the generation of an incorrect folded/reduced constant.
5978 1.1 jruoho
5979 1.1 jruoho End-Of-File is now allowed within a "//"-style comment. A parse error no
5980 1.1 jruoho longer occurs if such a comment is at the very end of the input ASL source
5981 1.1 jruoho file.
5982 1.1 jruoho
5983 1.1 jruoho Implemented the "-r" option to override the Revision in the table header.
5984 1.1 jruoho The initial use of this option will be to simplify the evaluation of the AML
5985 1.1 jruoho interpreter by allowing a single ASL source module to be compiled for either
5986 1.1 jruoho 32-bit or 64-bit integers.
5987 1.1 jruoho
5988 1.1 jruoho
5989 1.1 jruoho ----------------------------------------
5990 1.1 jruoho 27 August 2004. Summary of changes for version 20040827:
5991 1.1 jruoho
5992 1.1 jruoho 1) ACPI CA Core Subsystem:
5993 1.1 jruoho
5994 1.1 jruoho - Implemented support for implicit object conversion in the non-numeric
5995 1.1 jruoho logical operators (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, and
5996 1.1 jruoho LNotEqual.) Any combination of Integers/Strings/Buffers may now be used;
5997 1.1 jruoho the second operand is implicitly converted on the fly to match the type of
5998 1.1 jruoho the first operand. For example:
5999 1.1 jruoho
6000 1.1 jruoho LEqual (Source1, Source2)
6001 1.1 jruoho
6002 1.1 jruoho Source1 and Source2 must each evaluate to an integer, a string, or a buffer.
6003 1.1 jruoho The data type of Source1 dictates the required type of Source2. Source2 is
6004 1.1 jruoho implicitly converted if necessary to match the type of Source1.
6005 1.1 jruoho
6006 1.1 jruoho - Updated and corrected the behavior of the string conversion support. The
6007 1.1 jruoho rules concerning conversion of buffers to strings (according to the ACPI
6008 1.1 jruoho specification) are as follows:
6009 1.1 jruoho
6010 1.1 jruoho ToDecimalString - explicit byte-wise conversion of buffer to string of
6011 1.1 jruoho decimal values (0-255) separated by commas. ToHexString - explicit byte-wise
6012 1.1 jruoho conversion of buffer to string of hex values (0-FF) separated by commas.
6013 1.1 jruoho ToString - explicit byte-wise conversion of buffer to string. Byte-by-byte
6014 1.1 jruoho copy with no transform except NULL terminated. Any other implicit buffer-to-
6015 1.1 jruoho string conversion - byte-wise conversion of buffer to string of hex values
6016 1.1 jruoho (0-FF) separated by spaces.
6017 1.1 jruoho
6018 1.1 jruoho - Fixed typo in definition of AcpiGbl_EnableInterpreterSlack.
6019 1.1 jruoho
6020 1.1 jruoho - Fixed a problem in AcpiNsGetPathnameLength where the returned length was
6021 1.1 jruoho one byte too short in the case of a node in the root scope. This could
6022 1.1 jruoho cause a fault during debug output.
6023 1.1 jruoho
6024 1.1 jruoho - Code and Data Size: Current and previous core subsystem library sizes are
6025 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
6026 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
6027 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
6028 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
6029 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
6030 1.1 jruoho the compiler options used during generation.
6031 1.1 jruoho
6032 1.1 jruoho Previous Release:
6033 1.1 jruoho Non-Debug Version: 77.9K Code, 11.5K Data, 89.4K Total
6034 1.1 jruoho Debug Version: 164.1K Code, 68.3K Data, 232.4K Total
6035 1.1 jruoho Current Release:
6036 1.1 jruoho Non-Debug Version: 77.8K Code, 11.4K Data, 89.2K Total
6037 1.1 jruoho Debug Version: 164.2K Code, 68.2K Data, 232.4K Total
6038 1.1 jruoho
6039 1.1 jruoho
6040 1.1 jruoho 2) iASL Compiler/Disassembler:
6041 1.1 jruoho
6042 1.1 jruoho - Fixed a Linux generation error.
6043 1.1 jruoho
6044 1.1 jruoho
6045 1.1 jruoho ----------------------------------------
6046 1.1 jruoho 16 August 2004. Summary of changes for version 20040816:
6047 1.1 jruoho
6048 1.1 jruoho 1) ACPI CA Core Subsystem:
6049 1.1 jruoho
6050 1.1 jruoho Designed and implemented support within the AML interpreter for the so-
6051 1.1 jruoho called "implicit return". This support returns the result of the last ASL
6052 1.1 jruoho operation within a control method, in the absence of an explicit Return()
6053 1.1 jruoho operator. A few machines depend on this behavior, even though it is not
6054 1.1 jruoho explicitly supported by the ASL language. It is optional support that can
6055 1.1 jruoho be enabled at runtime via the AcpiGbl_EnableInterpreterSlack flag.
6056 1.1 jruoho
6057 1.1 jruoho Removed support for the PCI_Config address space from the internal low level
6058 1.1 jruoho hardware interfaces (AcpiHwLowLevelRead and AcpiHwLowLevelWrite). This
6059 1.1 jruoho support was not used internally, and would not work correctly anyway because
6060 1.1 jruoho the PCI bus number and segment number were not supported. There are
6061 1.1 jruoho separate interfaces for PCI configuration space access because of the unique
6062 1.1 jruoho interface.
6063 1.1 jruoho
6064 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
6065 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
6066 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
6067 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
6068 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
6069 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
6070 1.1 jruoho the compiler options used during generation.
6071 1.1 jruoho
6072 1.1 jruoho Previous Release:
6073 1.1 jruoho Non-Debug Version: 78.0K Code, 11.5K Data, 89.5K Total
6074 1.1 jruoho Debug Version: 164.1K Code, 68.2K Data, 232.3K Total
6075 1.1 jruoho Current Release:
6076 1.1 jruoho Non-Debug Version: 77.9K Code, 11.5K Data, 89.4K Total
6077 1.1 jruoho Debug Version: 164.1K Code, 68.3K Data, 232.4K Total
6078 1.1 jruoho
6079 1.1 jruoho
6080 1.1 jruoho 2) iASL Compiler/Disassembler:
6081 1.1 jruoho
6082 1.1 jruoho Fixed a problem where constants in ASL expressions at the root level (not
6083 1.1 jruoho within a control method) could be inadvertently truncated during code
6084 1.1 jruoho generation. This problem was introduced in the 20040715 release.
6085 1.1 jruoho
6086 1.1 jruoho
6087 1.1 jruoho ----------------------------------------
6088 1.1 jruoho 15 July 2004. Summary of changes for version 20040715:
6089 1.1 jruoho
6090 1.1 jruoho 1) ACPI CA Core Subsystem:
6091 1.1 jruoho
6092 1.1 jruoho Restructured the internal HW GPE interfaces to pass/track the current state
6093 1.1 jruoho of interrupts (enabled/disabled) in order to avoid possible deadlock and
6094 1.1 jruoho increase flexibility of the interfaces.
6095 1.1 jruoho
6096 1.1 jruoho Implemented a "lexicographical compare" for String and Buffer objects within
6097 1.1 jruoho the logical operators -- LGreater, LLess, LGreaterEqual, and LLessEqual --
6098 1.1 jruoho as per further clarification to the ACPI specification. Behavior is similar
6099 1.1 jruoho to C library "strcmp".
6100 1.1 jruoho
6101 1.1 jruoho Completed a major reduction in CPU stack use for the AcpiGetFirmwareTable
6102 1.1 jruoho external function. In the 32-bit non-debug case, the stack use has been
6103 1.1 jruoho reduced from 168 bytes to 32 bytes.
6104 1.1 jruoho
6105 1.1 jruoho Deployed a new run-time configuration flag, AcpiGbl_EnableInterpreterSlack,
6106 1.1 jruoho whose purpose is to allow the AML interpreter to forgive certain bad AML
6107 1.1 jruoho constructs. Default setting is FALSE.
6108 1.1 jruoho
6109 1.1 jruoho Implemented the first use of AcpiGbl_EnableInterpreterSlack in the Field IO
6110 1.1 jruoho support code. If enabled, it allows field access to go beyond the end of a
6111 1.1 jruoho region definition if the field is within the region length rounded up to the
6112 1.1 jruoho next access width boundary (a common coding error.)
6113 1.1 jruoho
6114 1.1 jruoho Renamed OSD_HANDLER to ACPI_OSD_HANDLER, and OSD_EXECUTION_CALLBACK to
6115 1.1 jruoho ACPI_OSD_EXEC_CALLBACK for consistency with other ACPI symbols. Also, these
6116 1.1 jruoho symbols are lowercased by the latest version of the AcpiSrc tool.
6117 1.1 jruoho
6118 1.1 jruoho The prototypes for the PCI interfaces in acpiosxf.h have been updated to
6119 1.1 jruoho rename "Register" to simply "Reg" to prevent certain compilers from
6120 1.1 jruoho complaining.
6121 1.1 jruoho
6122 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
6123 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
6124 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
6125 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
6126 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
6127 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
6128 1.1 jruoho the compiler options used during generation.
6129 1.1 jruoho
6130 1.1 jruoho Previous Release:
6131 1.1 jruoho Non-Debug Version: 77.8K Code, 11.5K Data, 89.3K Total
6132 1.1 jruoho Debug Version: 163.8K Code, 68.2K Data, 232.0K Total
6133 1.1 jruoho Current Release:
6134 1.1 jruoho Non-Debug Version: 78.0K Code, 11.5K Data, 89.5K Total
6135 1.1 jruoho Debug Version: 164.1K Code, 68.2K Data, 232.3K Total
6136 1.1 jruoho
6137 1.1 jruoho
6138 1.1 jruoho 2) iASL Compiler/Disassembler:
6139 1.1 jruoho
6140 1.1 jruoho Implemented full support for Package objects within the Case() operator.
6141 1.1 jruoho Note: The Break() operator is currently not supported within Case blocks
6142 1.1 jruoho (TermLists) as there is some question about backward compatibility with ACPI
6143 1.1 jruoho 1.0 interpreters.
6144 1.1 jruoho
6145 1.1 jruoho
6146 1.1 jruoho Fixed a problem where complex terms were not supported properly within the
6147 1.1 jruoho Switch() operator.
6148 1.1 jruoho
6149 1.1 jruoho Eliminated extraneous warning for compiler-emitted reserved names of the
6150 1.1 jruoho form "_T_x". (Used in Switch/Case operators.)
6151 1.1 jruoho
6152 1.1 jruoho Eliminated optimization messages for "_T_x" objects and small constants
6153 1.1 jruoho within the DefinitionBlock operator.
6154 1.1 jruoho
6155 1.1 jruoho
6156 1.1 jruoho ----------------------------------------
6157 1.1 jruoho 15 June 2004. Summary of changes for version 20040615:
6158 1.1 jruoho
6159 1.1 jruoho 1) ACPI CA Core Subsystem:
6160 1.1 jruoho
6161 1.1 jruoho Implemented support for Buffer and String objects (as per ACPI 2.0) for the
6162 1.1 jruoho following ASL operators: LEqual, LGreater, LLess, LGreaterEqual, and
6163 1.1 jruoho LLessEqual.
6164 1.1 jruoho
6165 1.1 jruoho All directory names in the entire source package are lower case, as they
6166 1.1 jruoho were in earlier releases.
6167 1.1 jruoho
6168 1.1 jruoho Implemented "Disassemble" command in the AML debugger that will disassemble
6169 1.1 jruoho a single control method.
6170 1.1 jruoho
6171 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
6172 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
6173 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
6174 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
6175 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
6176 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
6177 1.1 jruoho the compiler options used during generation.
6178 1.1 jruoho
6179 1.1 jruoho Previous Release:
6180 1.1 jruoho Non-Debug Version: 77.7K Code, 11.5K Data, 89.2K Total
6181 1.1 jruoho Debug Version: 163.3K Code, 67.2K Data, 230.5K Total
6182 1.1 jruoho
6183 1.1 jruoho Current Release:
6184 1.1 jruoho Non-Debug Version: 77.8K Code, 11.5K Data, 89.3K Total
6185 1.1 jruoho Debug Version: 163.8K Code, 68.2K Data, 232.0K Total
6186 1.1 jruoho
6187 1.1 jruoho
6188 1.1 jruoho 2) iASL Compiler/Disassembler:
6189 1.1 jruoho
6190 1.1 jruoho Implemented support for Buffer and String objects (as per ACPI 2.0) for the
6191 1.1 jruoho following ASL operators: LEqual, LGreater, LLess, LGreaterEqual, and
6192 1.1 jruoho LLessEqual.
6193 1.1 jruoho
6194 1.1 jruoho All directory names in the entire source package are lower case, as they
6195 1.1 jruoho were in earlier releases.
6196 1.1 jruoho
6197 1.1 jruoho Fixed a fault when using the -g or -d<nofilename> options if the FADT was
6198 1.1 jruoho not found.
6199 1.1 jruoho
6200 1.1 jruoho Fixed an issue with the Windows version of the compiler where later versions
6201 1.1 jruoho of Windows place the FADT in the registry under the name "FADT" and not
6202 1.1 jruoho "FACP" as earlier versions did. This applies when using the -g or -
6203 1.1 jruoho d<nofilename> options. The compiler now looks for both strings as
6204 1.1 jruoho necessary.
6205 1.1 jruoho
6206 1.1 jruoho Fixed a problem with compiler namepath optimization where a namepath within
6207 1.1 jruoho the Scope() operator could not be optimized if the namepath was a subpath of
6208 1.1 jruoho the current scope path.
6209 1.1 jruoho
6210 1.1 jruoho ----------------------------------------
6211 1.1 jruoho 27 May 2004. Summary of changes for version 20040527:
6212 1.1 jruoho
6213 1.1 jruoho 1) ACPI CA Core Subsystem:
6214 1.1 jruoho
6215 1.1 jruoho Completed a new design and implementation for EBDA (Extended BIOS Data Area)
6216 1.1 jruoho support in the RSDP scan code. The original code improperly scanned for the
6217 1.1 jruoho EBDA by simply scanning from memory location 0 to 0x400. The correct method
6218 1.1 jruoho is to first obtain the EBDA pointer from within the BIOS data area, then
6219 1.1 jruoho scan 1K of memory starting at the EBDA pointer. There appear to be few if
6220 1.1 jruoho any machines that place the RSDP in the EBDA, however.
6221 1.1 jruoho
6222 1.1 jruoho Integrated a fix for a possible fault during evaluation of BufferField
6223 1.1 jruoho arguments. Obsolete code that was causing the problem was removed.
6224 1.1 jruoho
6225 1.1 jruoho Found and fixed a problem in the Field Support Code where data could be
6226 1.1 jruoho corrupted on a bit field read that starts on an aligned boundary but does
6227 1.1 jruoho not end on an aligned boundary. Merged the read/write "datum length"
6228 1.1 jruoho calculation code into a common procedure.
6229 1.1 jruoho
6230 1.1 jruoho Rolled in a couple of changes to the FreeBSD-specific header.
6231 1.1 jruoho
6232 1.1 jruoho
6233 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
6234 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
6235 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
6236 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
6237 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
6238 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
6239 1.1 jruoho the compiler options used during generation.
6240 1.1 jruoho
6241 1.1 jruoho Previous Release:
6242 1.1 jruoho Non-Debug Version: 77.6K Code, 11.5K Data, 89.1K Total
6243 1.1 jruoho Debug Version: 163.2K Code, 67.2K Data, 230.4K Total
6244 1.1 jruoho Current Release:
6245 1.1 jruoho Non-Debug Version: 77.7K Code, 11.5K Data, 89.2K Total
6246 1.1 jruoho Debug Version: 163.3K Code, 67.2K Data, 230.5K Total
6247 1.1 jruoho
6248 1.1 jruoho
6249 1.1 jruoho 2) iASL Compiler/Disassembler:
6250 1.1 jruoho
6251 1.1 jruoho Fixed a generation warning produced by some overly-verbose compilers for a
6252 1.1 jruoho 64-bit constant.
6253 1.1 jruoho
6254 1.1 jruoho ----------------------------------------
6255 1.1 jruoho 14 May 2004. Summary of changes for version 20040514:
6256 1.1 jruoho
6257 1.1 jruoho 1) ACPI CA Core Subsystem:
6258 1.1 jruoho
6259 1.1 jruoho Fixed a problem where hardware GPE enable bits sometimes not set properly
6260 1.1 jruoho during and after GPE method execution. Result of 04/27 changes.
6261 1.1 jruoho
6262 1.1 jruoho Removed extra "clear all GPEs" when sleeping/waking.
6263 1.1 jruoho
6264 1.1 jruoho Removed AcpiHwEnableGpe and AcpiHwDisableGpe, replaced by the single
6265 1.1 jruoho AcpiHwWriteGpeEnableReg. Changed a couple of calls to the functions above to
6266 1.1 jruoho the new AcpiEv* calls as appropriate.
6267 1.1 jruoho
6268 1.1 jruoho ACPI_OS_NAME was removed from the OS-specific headers. The default name is
6269 1.1 jruoho now "Microsoft Windows NT" for maximum compatibility. However this can be
6270 1.1 jruoho changed by modifying the acconfig.h file.
6271 1.1 jruoho
6272 1.1 jruoho Allow a single invocation of AcpiInstallNotifyHandler for a handler that
6273 1.1 jruoho traps both types of notifies (System, Device). Use ACPI_ALL_NOTIFY flag.
6274 1.1 jruoho
6275 1.1 jruoho Run _INI methods on ThermalZone objects. This is against the ACPI
6276 1.1 jruoho specification, but there is apparently ASL code in the field that has these
6277 1.1 jruoho _INI methods, and apparently "other" AML interpreters execute them.
6278 1.1 jruoho
6279 1.1 jruoho Performed a full 16/32/64 bit lint that resulted in some small changes.
6280 1.1 jruoho
6281 1.1 jruoho Added a sleep simulation command to the AML debugger to test sleep code.
6282 1.1 jruoho
6283 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
6284 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
6285 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
6286 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
6287 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
6288 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
6289 1.1 jruoho the compiler options used during generation.
6290 1.1 jruoho
6291 1.1 jruoho Previous Release:
6292 1.1 jruoho Non-Debug Version: 77.6K Code, 11.5K Data, 89.1K Total
6293 1.1 jruoho Debug Version: 162.9K Code, 67.0K Data, 229.9K Total
6294 1.1 jruoho Current Release:
6295 1.1 jruoho Non-Debug Version: 77.6K Code, 11.5K Data, 89.1K Total
6296 1.1 jruoho Debug Version: 163.2K Code, 67.2K Data, 230.4K Total
6297 1.1 jruoho
6298 1.1 jruoho ----------------------------------------
6299 1.1 jruoho 27 April 2004. Summary of changes for version 20040427:
6300 1.1 jruoho
6301 1.1 jruoho 1) ACPI CA Core Subsystem:
6302 1.1 jruoho
6303 1.1 jruoho Completed a major overhaul of the GPE handling within ACPI CA. There are
6304 1.1 jruoho now three types of GPEs: wake-only, runtime-only, and combination wake/run.
6305 1.1 jruoho The only GPEs allowed to be combination wake/run are for button-style
6306 1.1 jruoho devices such as a control-method power button, control-method sleep button,
6307 1.1 jruoho or a notebook lid switch. GPEs that have an _Lxx or _Exx method and are not
6308 1.1 jruoho referenced by any _PRW methods are marked for "runtime" and hardware
6309 1.1 jruoho enabled. Any GPE that is referenced by a _PRW method is marked for "wake"
6310 1.1 jruoho (and disabled at runtime). However, at sleep time, only those GPEs that
6311 1.1 jruoho have been specifically enabled for wake via the AcpiEnableGpe interface will
6312 1.1 jruoho actually be hardware enabled.
6313 1.1 jruoho
6314 1.1 jruoho A new external interface has been added, AcpiSetGpeType(), that is meant to
6315 1.1 jruoho be used by device drivers to force a GPE to a particular type. It will be
6316 1.1 jruoho especially useful for the drivers for the button devices mentioned above.
6317 1.1 jruoho
6318 1.1 jruoho Completed restructuring of the ACPI CA initialization sequence so that
6319 1.1 jruoho default operation region handlers are installed before GPEs are initialized
6320 1.1 jruoho and the _PRW methods are executed. This will prevent errors when the _PRW
6321 1.1 jruoho methods attempt to access system memory or I/O space.
6322 1.1 jruoho
6323 1.1 jruoho GPE enable/disable no longer reads the GPE enable register. We now keep the
6324 1.1 jruoho enable info for runtime and wake separate and in the GPE_EVENT_INFO. We
6325 1.1 jruoho thus no longer depend on the hardware to maintain these bits.
6326 1.1 jruoho
6327 1.1 jruoho Always clear the wake status and fixed/GPE status bits before sleep, even
6328 1.1 jruoho for state S5.
6329 1.1 jruoho
6330 1.1 jruoho Improved the AML debugger output for displaying the GPE blocks and their
6331 1.1 jruoho current status.
6332 1.1 jruoho
6333 1.1 jruoho Added new strings for the _OSI method, of the form "Windows 2001 SPx" where
6334 1.1 jruoho x = 0,1,2,3,4.
6335 1.1 jruoho
6336 1.1 jruoho Fixed a problem where the physical address was incorrectly calculated when
6337 1.1 jruoho the Load() operator was used to directly load from an Operation Region (vs.
6338 1.1 jruoho loading from a Field object.) Also added check for minimum table length for
6339 1.1 jruoho this case.
6340 1.1 jruoho
6341 1.1 jruoho Fix for multiple mutex acquisition. Restore original thread SyncLevel on
6342 1.1 jruoho mutex release.
6343 1.1 jruoho
6344 1.1 jruoho Added ACPI_VALID_SXDS flag to the AcpiGetObjectInfo interface for
6345 1.1 jruoho consistency with the other fields returned.
6346 1.1 jruoho
6347 1.1 jruoho Shrunk the ACPI_GPE_EVENT_INFO structure by 40%. There is one such
6348 1.1 jruoho structure for each GPE in the system, so the size of this structure is
6349 1.1 jruoho important.
6350 1.1 jruoho
6351 1.1 jruoho CPU stack requirement reduction: Cleaned up the method execution and object
6352 1.1 jruoho evaluation paths so that now a parameter structure is passed, instead of
6353 1.1 jruoho copying the various method parameters over and over again.
6354 1.1 jruoho
6355 1.1 jruoho In evregion.c: Correctly exit and reenter the interpreter region if and
6356 1.1 jruoho only if dispatching an operation region request to a user-installed handler.
6357 1.1 jruoho Do not exit/reenter when dispatching to a default handler (e.g., default
6358 1.1 jruoho system memory or I/O handlers)
6359 1.1 jruoho
6360 1.1 jruoho
6361 1.1 jruoho Notes for updating drivers for the new GPE support. The following changes
6362 1.1 jruoho must be made to ACPI-related device drivers that are attached to one or more
6363 1.1 jruoho GPEs: (This information will be added to the ACPI CA Programmer Reference.)
6364 1.1 jruoho
6365 1.1 jruoho 1) AcpiInstallGpeHandler no longer automatically enables the GPE, you must
6366 1.1 jruoho explicitly call AcpiEnableGpe.
6367 1.1 jruoho 2) There is a new interface called AcpiSetGpeType. This should be called
6368 1.1 jruoho before enabling the GPE. Also, this interface will automatically disable
6369 1.1 jruoho the GPE if it is currently enabled.
6370 1.1 jruoho 3) AcpiEnableGpe no longer supports a GPE type flag.
6371 1.1 jruoho
6372 1.1 jruoho Specific drivers that must be changed:
6373 1.1 jruoho 1) EC driver:
6374 1.1 jruoho AcpiInstallGpeHandler (NULL, GpeNum, ACPI_GPE_EDGE_TRIGGERED,
6375 1.1 jruoho AeGpeHandler, NULL);
6376 1.1 jruoho AcpiSetGpeType (NULL, GpeNum, ACPI_GPE_TYPE_RUNTIME);
6377 1.1 jruoho AcpiEnableGpe (NULL, GpeNum, ACPI_NOT_ISR);
6378 1.1 jruoho
6379 1.1 jruoho 2) Button Drivers (Power, Lid, Sleep):
6380 1.1 jruoho Run _PRW method under parent device
6381 1.1 jruoho If _PRW exists: /* This is a control-method button */
6382 1.1 jruoho Extract GPE number and possibly GpeDevice
6383 1.1 jruoho AcpiSetGpeType (GpeDevice, GpeNum, ACPI_GPE_TYPE_WAKE_RUN);
6384 1.1 jruoho AcpiEnableGpe (GpeDevice, GpeNum, ACPI_NOT_ISR);
6385 1.1 jruoho
6386 1.1 jruoho For all other devices that have _PRWs, we automatically set the GPE type to
6387 1.1 jruoho ACPI_GPE_TYPE_WAKE, but the GPE is NOT automatically (wake) enabled. This
6388 1.1 jruoho must be done on a selective basis, usually requiring some kind of user app
6389 1.1 jruoho to allow the user to pick the wake devices.
6390 1.1 jruoho
6391 1.1 jruoho
6392 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
6393 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
6394 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
6395 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
6396 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
6397 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
6398 1.1 jruoho the compiler options used during generation.
6399 1.1 jruoho
6400 1.1 jruoho Previous Release:
6401 1.1 jruoho Non-Debug Version: 77.0K Code, 11.4K Data, 88.4K Total
6402 1.1 jruoho Debug Version: 161.0K Code, 66.3K Data, 227.3K Total
6403 1.1 jruoho Current Release:
6404 1.1 jruoho
6405 1.1 jruoho Non-Debug Version: 77.6K Code, 11.5K Data, 89.1K Total
6406 1.1 jruoho Debug Version: 162.9K Code, 67.0K Data, 229.9K Total
6407 1.1 jruoho
6408 1.1 jruoho
6409 1.1 jruoho
6410 1.1 jruoho ----------------------------------------
6411 1.1 jruoho 02 April 2004. Summary of changes for version 20040402:
6412 1.1 jruoho
6413 1.1 jruoho 1) ACPI CA Core Subsystem:
6414 1.1 jruoho
6415 1.1 jruoho Fixed an interpreter problem where an indirect store through an ArgX
6416 1.1 jruoho parameter was incorrectly applying the "implicit conversion rules" during
6417 1.1 jruoho the store. From the ACPI specification: "If the target is a method local or
6418 1.1 jruoho argument (LocalX or ArgX), no conversion is performed and the result is
6419 1.1 jruoho stored directly to the target". The new behavior is to disable implicit
6420 1.1 jruoho conversion during ALL stores to an ArgX.
6421 1.1 jruoho
6422 1.1 jruoho Changed the behavior of the _PRW method scan to ignore any and all errors
6423 1.1 jruoho returned by a given _PRW. This prevents the scan from aborting from the
6424 1.1 jruoho failure of any single _PRW.
6425 1.1 jruoho
6426 1.1 jruoho Moved the runtime configuration parameters from the global init procedure to
6427 1.1 jruoho static variables in acglobal.h. This will allow the host to override the
6428 1.1 jruoho default values easily.
6429 1.1 jruoho
6430 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
6431 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
6432 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
6433 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
6434 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
6435 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
6436 1.1 jruoho the compiler options used during generation.
6437 1.1 jruoho
6438 1.1 jruoho Previous Release:
6439 1.1 jruoho Non-Debug Version: 76.9K Code, 11.4K Data, 88.3K Total
6440 1.1 jruoho Debug Version: 160.8K Code, 66.1K Data, 226.9K Total
6441 1.1 jruoho Current Release:
6442 1.1 jruoho Non-Debug Version: 77.0K Code, 11.4K Data, 88.4K Total
6443 1.1 jruoho Debug Version: 161.0K Code, 66.3K Data, 227.3K Total
6444 1.1 jruoho
6445 1.1 jruoho
6446 1.1 jruoho 2) iASL Compiler/Disassembler:
6447 1.1 jruoho
6448 1.1 jruoho iASL now fully disassembles SSDTs. However, External() statements are not
6449 1.1 jruoho generated automatically for unresolved symbols at this time. This is a
6450 1.1 jruoho planned feature for future implementation.
6451 1.1 jruoho
6452 1.1 jruoho Fixed a scoping problem in the disassembler that occurs when the type of the
6453 1.1 jruoho target of a Scope() operator is overridden. This problem caused an
6454 1.1 jruoho incorrectly nested internal namespace to be constructed.
6455 1.1 jruoho
6456 1.1 jruoho Any warnings or errors that are emitted during disassembly are now commented
6457 1.1 jruoho out automatically so that the resulting file can be recompiled without any
6458 1.1 jruoho hand editing.
6459 1.1 jruoho
6460 1.1 jruoho ----------------------------------------
6461 1.1 jruoho 26 March 2004. Summary of changes for version 20040326:
6462 1.1 jruoho
6463 1.1 jruoho 1) ACPI CA Core Subsystem:
6464 1.1 jruoho
6465 1.1 jruoho Implemented support for "wake" GPEs via interaction between GPEs and the
6466 1.1 jruoho _PRW methods. Every GPE that is pointed to by one or more _PRWs is
6467 1.1 jruoho identified as a WAKE GPE and by default will no longer be enabled at
6468 1.1 jruoho runtime. Previously, we were blindly enabling all GPEs with a corresponding
6469 1.1 jruoho _Lxx or _Exx method - but most of these turn out to be WAKE GPEs anyway. We
6470 1.1 jruoho believe this has been the cause of thousands of "spurious" GPEs on some
6471 1.1 jruoho systems.
6472 1.1 jruoho
6473 1.1 jruoho This new GPE behavior is can be reverted to the original behavior (enable
6474 1.1 jruoho ALL GPEs at runtime) via a runtime flag.
6475 1.1 jruoho
6476 1.1 jruoho Fixed a problem where aliased control methods could not access objects
6477 1.1 jruoho properly. The proper scope within the namespace was not initialized
6478 1.1 jruoho (transferred to the target of the aliased method) before executing the
6479 1.1 jruoho target method.
6480 1.1 jruoho
6481 1.1 jruoho Fixed a potential race condition on internal object deletion on the return
6482 1.1 jruoho object in AcpiEvaluateObject.
6483 1.1 jruoho
6484 1.1 jruoho Integrated a fix for resource descriptors where both _MEM and _MTP were
6485 1.1 jruoho being extracted instead of just _MEM. (i.e. bitmask was incorrectly too
6486 1.1 jruoho wide, 0x0F instead of 0x03.)
6487 1.1 jruoho
6488 1.1 jruoho Added a special case for ACPI_ROOT_OBJECT in AcpiUtGetNodeName, preventing a
6489 1.1 jruoho fault in some cases.
6490 1.1 jruoho
6491 1.1 jruoho Updated Notify() values for debug statements in evmisc.c
6492 1.1 jruoho
6493 1.1 jruoho Return proper status from AcpiUtMutexInitialize, not just simply AE_OK.
6494 1.1 jruoho
6495 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
6496 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
6497 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
6498 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
6499 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
6500 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
6501 1.1 jruoho the compiler options used during generation.
6502 1.1 jruoho
6503 1.1 jruoho Previous Release:
6504 1.1 jruoho
6505 1.1 jruoho Non-Debug Version: 76.5K Code, 11.3K Data, 87.8K Total
6506 1.1 jruoho Debug Version: 160.3K Code, 66.0K Data, 226.3K Total
6507 1.1 jruoho Current Release:
6508 1.1 jruoho Non-Debug Version: 76.9K Code, 11.4K Data, 88.3K Total
6509 1.1 jruoho Debug Version: 160.8K Code, 66.1K Data, 226.9K Total
6510 1.1 jruoho
6511 1.1 jruoho ----------------------------------------
6512 1.1 jruoho 11 March 2004. Summary of changes for version 20040311:
6513 1.1 jruoho
6514 1.1 jruoho 1) ACPI CA Core Subsystem:
6515 1.1 jruoho
6516 1.1 jruoho Fixed a problem where errors occurring during the parse phase of control
6517 1.1 jruoho method execution did not abort cleanly. For example, objects created and
6518 1.1 jruoho installed in the namespace were not deleted. This caused all subsequent
6519 1.1 jruoho invocations of the method to return the AE_ALREADY_EXISTS exception.
6520 1.1 jruoho
6521 1.1 jruoho Implemented a mechanism to force a control method to "Serialized" execution
6522 1.1 jruoho if the method attempts to create namespace objects. (The root of the
6523 1.1 jruoho AE_ALREADY_EXISTS problem.)
6524 1.1 jruoho
6525 1.1 jruoho Implemented support for the predefined _OSI "internal" control method.
6526 1.1 jruoho Initial supported strings are "Linux", "Windows 2000", "Windows 2001", and
6527 1.1 jruoho "Windows 2001.1", and can be easily upgraded for new strings as necessary.
6528 1.1 jruoho This feature will allow "other" operating systems to execute the fully
6529 1.1 jruoho tested, "Windows" code path through the ASL code
6530 1.1 jruoho
6531 1.1 jruoho Global Lock Support: Now allows multiple acquires and releases with any
6532 1.1 jruoho internal thread. Removed concept of "owning thread" for this special mutex.
6533 1.1 jruoho
6534 1.1 jruoho Fixed two functions that were inappropriately declaring large objects on the
6535 1.1 jruoho CPU stack: PsParseLoop, NsEvaluateRelative. Reduces the stack usage during
6536 1.1 jruoho method execution considerably.
6537 1.1 jruoho
6538 1.1 jruoho Fixed a problem in the ACPI 2.0 FACS descriptor (actbl2.h) where the
6539 1.1 jruoho S4Bios_f field was incorrectly defined as UINT32 instead of UINT32_BIT.
6540 1.1 jruoho
6541 1.1 jruoho Fixed a problem where AcpiEvGpeDetect would fault if there were no GPEs
6542 1.1 jruoho defined on the machine.
6543 1.1 jruoho
6544 1.1 jruoho Implemented two runtime options: One to force all control method execution
6545 1.1 jruoho to "Serialized" to mimic Windows behavior, another to disable _OSI support
6546 1.1 jruoho if it causes problems on a given machine.
6547 1.1 jruoho
6548 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
6549 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
6550 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
6551 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
6552 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
6553 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
6554 1.1 jruoho the compiler options used during generation.
6555 1.1 jruoho
6556 1.1 jruoho Previous Release:
6557 1.1 jruoho Non-Debug Version: 74.8K Code, 10.1K Data, 84.9K Total
6558 1.1 jruoho Debug Version: 158.7K Code, 65.1K Data, 223.8K Total
6559 1.1 jruoho Current Release:
6560 1.1 jruoho Non-Debug Version: 76.5K Code, 11.3K Data, 87.8K Total
6561 1.1 jruoho Debug Version: 160.3K Code, 66.0K Data, 226.3K Total
6562 1.1 jruoho
6563 1.1 jruoho 2) iASL Compiler/Disassembler:
6564 1.1 jruoho
6565 1.1 jruoho Fixed an array size problem for FreeBSD that would cause the compiler to
6566 1.1 jruoho fault.
6567 1.1 jruoho
6568 1.1 jruoho ----------------------------------------
6569 1.1 jruoho 20 February 2004. Summary of changes for version 20040220:
6570 1.1 jruoho
6571 1.1 jruoho
6572 1.1 jruoho 1) ACPI CA Core Subsystem:
6573 1.1 jruoho
6574 1.1 jruoho Implemented execution of _SxD methods for Device objects in the
6575 1.1 jruoho GetObjectInfo interface.
6576 1.1 jruoho
6577 1.1 jruoho Fixed calls to _SST method to pass the correct arguments.
6578 1.1 jruoho
6579 1.1 jruoho Added a call to _SST on wake to restore to "working" state.
6580 1.1 jruoho
6581 1.1 jruoho Check for End-Of-Buffer failure case in the WalkResources interface.
6582 1.1 jruoho
6583 1.1 jruoho Integrated fix for 64-bit alignment issue in acglobal.h by moving two
6584 1.1 jruoho structures to the beginning of the file.
6585 1.1 jruoho
6586 1.1 jruoho After wake, clear GPE status register(s) before enabling GPEs.
6587 1.1 jruoho
6588 1.1 jruoho After wake, clear/enable power button. (Perhaps we should clear/enable all
6589 1.1 jruoho fixed events upon wake.)
6590 1.1 jruoho
6591 1.1 jruoho Fixed a couple of possible memory leaks in the Namespace manager.
6592 1.1 jruoho
6593 1.1 jruoho Integrated latest acnetbsd.h file.
6594 1.1 jruoho
6595 1.1 jruoho ----------------------------------------
6596 1.1 jruoho 11 February 2004. Summary of changes for version 20040211:
6597 1.1 jruoho
6598 1.1 jruoho
6599 1.1 jruoho 1) ACPI CA Core Subsystem:
6600 1.1 jruoho
6601 1.1 jruoho Completed investigation and implementation of the call-by-reference
6602 1.1 jruoho mechanism for control method arguments.
6603 1.1 jruoho
6604 1.1 jruoho Fixed a problem where a store of an object into an indexed package could
6605 1.1 jruoho fail if the store occurs within a different method than the method that
6606 1.1 jruoho created the package.
6607 1.1 jruoho
6608 1.1 jruoho Fixed a problem where the ToDecimal operator could return incorrect results.
6609 1.1 jruoho
6610 1.1 jruoho Fixed a problem where the CopyObject operator could fail on some of the more
6611 1.1 jruoho obscure objects (e.g., Reference objects.)
6612 1.1 jruoho
6613 1.1 jruoho Improved the output of the Debug object to display buffer, package, and
6614 1.1 jruoho index objects.
6615 1.1 jruoho
6616 1.1 jruoho Fixed a problem where constructs of the form "RefOf (ArgX)" did not return
6617 1.1 jruoho the expected result.
6618 1.1 jruoho
6619 1.1 jruoho Added permanent ACPI_REPORT_ERROR macros for all instances of the
6620 1.1 jruoho ACPI_AML_INTERNAL exception.
6621 1.1 jruoho
6622 1.1 jruoho Integrated latest version of acfreebsd.h
6623 1.1 jruoho
6624 1.1 jruoho ----------------------------------------
6625 1.1 jruoho 16 January 2004. Summary of changes for version 20040116:
6626 1.1 jruoho
6627 1.1 jruoho The purpose of this release is primarily to update the copyright years in
6628 1.1 jruoho each module, thus causing a huge number of diffs. There are a few small
6629 1.1 jruoho functional changes, however.
6630 1.1 jruoho
6631 1.1 jruoho 1) ACPI CA Core Subsystem:
6632 1.1 jruoho
6633 1.1 jruoho Improved error messages when there is a problem finding one or more of the
6634 1.1 jruoho required base ACPI tables
6635 1.1 jruoho
6636 1.1 jruoho Reintroduced the definition of APIC_HEADER in actbl.h
6637 1.1 jruoho
6638 1.1 jruoho Changed definition of MADT_ADDRESS_OVERRIDE to 64 bits (actbl.h)
6639 1.1 jruoho
6640 1.1 jruoho Removed extraneous reference to NewObj in dsmthdat.c
6641 1.1 jruoho
6642 1.1 jruoho 2) iASL compiler
6643 1.1 jruoho
6644 1.1 jruoho Fixed a problem introduced in December that disabled the correct disassembly
6645 1.1 jruoho of Resource Templates
6646 1.1 jruoho
6647 1.1 jruoho
6648 1.1 jruoho ----------------------------------------
6649 1.1 jruoho 03 December 2003. Summary of changes for version 20031203:
6650 1.1 jruoho
6651 1.1 jruoho 1) ACPI CA Core Subsystem:
6652 1.1 jruoho
6653 1.1 jruoho Changed the initialization of Operation Regions during subsystem
6654 1.1 jruoho init to perform two entire walks of the ACPI namespace; The first
6655 1.1 jruoho to initialize the regions themselves, the second to execute the
6656 1.1 jruoho _REG methods. This fixed some interdependencies across _REG
6657 1.1 jruoho methods found on some machines.
6658 1.1 jruoho
6659 1.1 jruoho Fixed a problem where a Store(Local0, Local1) could simply update
6660 1.1 jruoho the object reference count, and not create a new copy of the
6661 1.1 jruoho object if the Local1 is uninitialized.
6662 1.1 jruoho
6663 1.1 jruoho Implemented support for the _SST reserved method during sleep
6664 1.1 jruoho transitions.
6665 1.1 jruoho
6666 1.1 jruoho Implemented support to clear the SLP_TYP and SLP_EN bits when
6667 1.1 jruoho waking up, this is apparently required by some machines.
6668 1.1 jruoho
6669 1.1 jruoho When sleeping, clear the wake status only if SleepState is not S5.
6670 1.1 jruoho
6671 1.1 jruoho Fixed a problem in AcpiRsExtendedIrqResource() where an incorrect
6672 1.1 jruoho pointer arithmetic advanced a string pointer too far.
6673 1.1 jruoho
6674 1.1 jruoho Fixed a problem in AcpiTbGetTablePtr() where a garbage pointer
6675 1.1 jruoho could be returned if the requested table has not been loaded.
6676 1.1 jruoho
6677 1.1 jruoho Within the support for IRQ resources, restructured the handling of
6678 1.1 jruoho the active and edge/level bits.
6679 1.1 jruoho
6680 1.1 jruoho Fixed a few problems in AcpiPsxExecute() where memory could be
6681 1.1 jruoho leaked under certain error conditions.
6682 1.1 jruoho
6683 1.1 jruoho Improved error messages for the cases where the ACPI mode could
6684 1.1 jruoho not be entered.
6685 1.1 jruoho
6686 1.1 jruoho Code and Data Size: Current and previous core subsystem library
6687 1.1 jruoho sizes are shown below. These are the code and data sizes for the
6688 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
6689 1.1 jruoho these values do not include any ACPI driver or OSPM code. The
6690 1.1 jruoho debug version of the code includes the debug output trace
6691 1.1 jruoho mechanism and has a much larger code and data size. Note that
6692 1.1 jruoho these values will vary depending on the efficiency of the compiler
6693 1.1 jruoho and the compiler options used during generation.
6694 1.1 jruoho
6695 1.1 jruoho Previous Release (20031029):
6696 1.1 jruoho Non-Debug Version: 74.4K Code, 10.1K Data, 84.5K Total
6697 1.1 jruoho Debug Version: 158.3K Code, 65.0K Data, 223.3K Total
6698 1.1 jruoho Current Release:
6699 1.1 jruoho Non-Debug Version: 74.8K Code, 10.1K Data, 84.9K Total
6700 1.1 jruoho Debug Version: 158.7K Code, 65.1K Data, 223.8K Total
6701 1.1 jruoho
6702 1.1 jruoho 2) iASL Compiler/Disassembler:
6703 1.1 jruoho
6704 1.1 jruoho Implemented a fix for the iASL disassembler where a bad index was
6705 1.1 jruoho generated. This was most noticeable on 64-bit platforms
6706 1.1 jruoho
6707 1.1 jruoho
6708 1.1 jruoho ----------------------------------------
6709 1.1 jruoho 29 October 2003. Summary of changes for version 20031029:
6710 1.1 jruoho
6711 1.1 jruoho 1) ACPI CA Core Subsystem:
6712 1.1 jruoho
6713 1.1 jruoho
6714 1.1 jruoho Fixed a problem where a level-triggered GPE with an associated
6715 1.1 jruoho _Lxx control method was incorrectly cleared twice.
6716 1.1 jruoho
6717 1.1 jruoho Fixed a problem with the Field support code where an access can
6718 1.1 jruoho occur beyond the end-of-region if the field is non-aligned but
6719 1.1 jruoho extends to the very end of the parent region (resulted in an
6720 1.1 jruoho AE_AML_REGION_LIMIT exception.)
6721 1.1 jruoho
6722 1.1 jruoho Fixed a problem with ACPI Fixed Events where an RT Clock handler
6723 1.1 jruoho would not get invoked on an RTC event. The RTC event bitmasks for
6724 1.1 jruoho the PM1 registers were not being initialized properly.
6725 1.1 jruoho
6726 1.1 jruoho Implemented support for executing _STA and _INI methods for
6727 1.1 jruoho Processor objects. Although this is currently not part of the
6728 1.1 jruoho ACPI specification, there is existing ASL code that depends on the
6729 1.1 jruoho init-time execution of these methods.
6730 1.1 jruoho
6731 1.1 jruoho Implemented and deployed a GetDescriptorName function to decode
6732 1.1 jruoho the various types of internal descriptors. Guards against null
6733 1.1 jruoho descriptors during debug output also.
6734 1.1 jruoho
6735 1.1 jruoho Implemented and deployed a GetNodeName function to extract the 4-
6736 1.1 jruoho character namespace node name. This function simplifies the debug
6737 1.1 jruoho and error output, as well as guarding against null pointers during
6738 1.1 jruoho output.
6739 1.1 jruoho
6740 1.1 jruoho Implemented and deployed the ACPI_FORMAT_UINT64 helper macro to
6741 1.1 jruoho simplify the debug and error output of 64-bit integers. This
6742 1.1 jruoho macro replaces the HIDWORD and LODWORD macros for dumping these
6743 1.1 jruoho integers.
6744 1.1 jruoho
6745 1.1 jruoho Updated the implementation of the Stall() operator to only call
6746 1.1 jruoho AcpiOsStall(), and also return an error if the operand is larger
6747 1.1 jruoho than 255. This preserves the required behavior of not
6748 1.1 jruoho relinquishing the processor, as would happen if AcpiOsSleep() was
6749 1.1 jruoho called for "long stalls".
6750 1.1 jruoho
6751 1.1 jruoho Constructs of the form "Store(LocalX,LocalX)" where LocalX is not
6752 1.1 jruoho initialized are now treated as NOOPs.
6753 1.1 jruoho
6754 1.1 jruoho Cleaned up a handful of warnings during 64-bit generation.
6755 1.1 jruoho
6756 1.1 jruoho Fixed a reported error where and incorrect GPE number was passed
6757 1.1 jruoho to the GPE dispatch handler. This value is only used for error
6758 1.1 jruoho output, however. Used this opportunity to clean up and streamline
6759 1.1 jruoho the GPE dispatch code.
6760 1.1 jruoho
6761 1.1 jruoho Code and Data Size: Current and previous core subsystem library
6762 1.1 jruoho sizes are shown below. These are the code and data sizes for the
6763 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
6764 1.1 jruoho these values do not include any ACPI driver or OSPM code. The
6765 1.1 jruoho
6766 1.1 jruoho debug version of the code includes the debug output trace
6767 1.1 jruoho mechanism and has a much larger code and data size. Note that
6768 1.1 jruoho these values will vary depending on the efficiency of the compiler
6769 1.1 jruoho and the compiler options used during generation.
6770 1.1 jruoho
6771 1.1 jruoho Previous Release (20031002):
6772 1.1 jruoho Non-Debug Version: 74.1K Code, 9.7K Data, 83.8K Total
6773 1.1 jruoho Debug Version: 157.9K Code, 64.8K Data, 222.7K Total
6774 1.1 jruoho Current Release:
6775 1.1 jruoho Non-Debug Version: 74.4K Code, 10.1K Data, 84.5K Total
6776 1.1 jruoho Debug Version: 158.3K Code, 65.0K Data, 223.3K Total
6777 1.1 jruoho
6778 1.1 jruoho
6779 1.1 jruoho 2) iASL Compiler/Disassembler:
6780 1.1 jruoho
6781 1.1 jruoho Updated the iASL compiler to return an error if the operand to the
6782 1.1 jruoho Stall() operator is larger than 255.
6783 1.1 jruoho
6784 1.1 jruoho
6785 1.1 jruoho ----------------------------------------
6786 1.1 jruoho 02 October 2003. Summary of changes for version 20031002:
6787 1.1 jruoho
6788 1.1 jruoho
6789 1.1 jruoho 1) ACPI CA Core Subsystem:
6790 1.1 jruoho
6791 1.1 jruoho Fixed a problem with Index Fields where the index was not
6792 1.1 jruoho incremented for fields that require multiple writes to the
6793 1.1 jruoho index/data registers (Fields that are wider than the data
6794 1.1 jruoho register.)
6795 1.1 jruoho
6796 1.1 jruoho Fixed a problem with all Field objects where a write could go
6797 1.1 jruoho beyond the end-of-field if the field was larger than the access
6798 1.1 jruoho granularity and therefore required multiple writes to complete the
6799 1.1 jruoho request. An extra write beyond the end of the field could happen
6800 1.1 jruoho inadvertently.
6801 1.1 jruoho
6802 1.1 jruoho Fixed a problem with Index Fields where a BUFFER_OVERFLOW error
6803 1.1 jruoho would incorrectly be returned if the width of the Data Register
6804 1.1 jruoho was larger than the specified field access width.
6805 1.1 jruoho
6806 1.1 jruoho Completed fixes for LoadTable() and Unload() and verified their
6807 1.1 jruoho operation. Implemented full support for the "DdbHandle" object
6808 1.1 jruoho throughout the ACPI CA subsystem.
6809 1.1 jruoho
6810 1.1 jruoho Implemented full support for the MADT and ECDT tables in the ACPI
6811 1.1 jruoho CA header files. Even though these tables are not directly
6812 1.1 jruoho consumed by ACPI CA, the header definitions are useful for ACPI
6813 1.1 jruoho device drivers.
6814 1.1 jruoho
6815 1.1 jruoho Integrated resource descriptor fixes posted to the Linux ACPI
6816 1.1 jruoho list. This included checks for minimum descriptor length, and
6817 1.1 jruoho support for trailing NULL strings within descriptors that have
6818 1.1 jruoho optional string elements.
6819 1.1 jruoho
6820 1.1 jruoho Code and Data Size: Current and previous core subsystem library
6821 1.1 jruoho sizes are shown below. These are the code and data sizes for the
6822 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
6823 1.1 jruoho these values do not include any ACPI driver or OSPM code. The
6824 1.1 jruoho debug version of the code includes the debug output trace
6825 1.1 jruoho mechanism and has a much larger code and data size. Note that
6826 1.1 jruoho these values will vary depending on the efficiency of the compiler
6827 1.1 jruoho and the compiler options used during generation.
6828 1.1 jruoho
6829 1.1 jruoho Previous Release (20030918):
6830 1.1 jruoho Non-Debug Version: 73.9K Code, 9.7K Data, 83.6K Total
6831 1.1 jruoho Debug Version: 157.3K Code, 64.5K Data, 221.8K Total
6832 1.1 jruoho Current Release:
6833 1.1 jruoho Non-Debug Version: 74.1K Code, 9.7K Data, 83.8K Total
6834 1.1 jruoho Debug Version: 157.9K Code, 64.8K Data, 222.7K Total
6835 1.1 jruoho
6836 1.1 jruoho
6837 1.1 jruoho 2) iASL Compiler:
6838 1.1 jruoho
6839 1.1 jruoho Implemented detection of non-ASCII characters within the input
6840 1.1 jruoho source ASL file. This catches attempts to compile binary (AML)
6841 1.1 jruoho files early in the compile, with an informative error message.
6842 1.1 jruoho
6843 1.1 jruoho Fixed a problem where the disassembler would fault if the output
6844 1.1 jruoho filename could not be generated or if the output file could not be
6845 1.1 jruoho opened.
6846 1.1 jruoho
6847 1.1 jruoho ----------------------------------------
6848 1.1 jruoho 18 September 2003. Summary of changes for version 20030918:
6849 1.1 jruoho
6850 1.1 jruoho
6851 1.1 jruoho 1) ACPI CA Core Subsystem:
6852 1.1 jruoho
6853 1.1 jruoho Found and fixed a longstanding problem with the late execution of
6854 1.1 jruoho the various deferred AML opcodes (such as Operation Regions,
6855 1.1 jruoho Buffer Fields, Buffers, and Packages). If the name string
6856 1.1 jruoho specified for the name of the new object placed the object in a
6857 1.1 jruoho scope other than the current scope, the initialization/execution
6858 1.1 jruoho of the opcode failed. The solution to this problem was to
6859 1.1 jruoho implement a mechanism where the late execution of such opcodes
6860 1.1 jruoho does not attempt to lookup/create the name a second time in an
6861 1.1 jruoho incorrect scope. This fixes the "region size computed
6862 1.1 jruoho incorrectly" problem.
6863 1.1 jruoho
6864 1.1 jruoho Fixed a call to AcpiHwRegisterWrite in hwregs.c that was causing a
6865 1.1 jruoho Global Lock AE_BAD_PARAMETER error.
6866 1.1 jruoho
6867 1.1 jruoho Fixed several 64-bit issues with prototypes, casting and data
6868 1.1 jruoho types.
6869 1.1 jruoho
6870 1.1 jruoho Removed duplicate prototype from acdisasm.h
6871 1.1 jruoho
6872 1.1 jruoho Fixed an issue involving EC Operation Region Detach (Shaohua Li)
6873 1.1 jruoho
6874 1.1 jruoho Code and Data Size: Current and previous core subsystem library
6875 1.1 jruoho sizes are shown below. These are the code and data sizes for the
6876 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
6877 1.1 jruoho these values do not include any ACPI driver or OSPM code. The
6878 1.1 jruoho debug version of the code includes the debug output trace
6879 1.1 jruoho mechanism and has a much larger code and data size. Note that
6880 1.1 jruoho these values will vary depending on the efficiency of the compiler
6881 1.1 jruoho and the compiler options used during generation.
6882 1.1 jruoho
6883 1.1 jruoho Previous Release:
6884 1.1 jruoho
6885 1.1 jruoho Non-Debug Version: 73.7K Code, 9.7K Data, 83.4K Total
6886 1.1 jruoho Debug Version: 156.9K Code, 64.2K Data, 221.1K Total
6887 1.1 jruoho Current Release:
6888 1.1 jruoho Non-Debug Version: 73.9K Code, 9.7K Data, 83.6K Total
6889 1.1 jruoho Debug Version: 157.3K Code, 64.5K Data, 221.8K Total
6890 1.1 jruoho
6891 1.1 jruoho
6892 1.1 jruoho 2) Linux:
6893 1.1 jruoho
6894 1.1 jruoho Fixed the AcpiOsSleep implementation in osunixxf.c to pass the
6895 1.1 jruoho correct sleep time in seconds.
6896 1.1 jruoho
6897 1.1 jruoho ----------------------------------------
6898 1.1 jruoho 14 July 2003. Summary of changes for version 20030619:
6899 1.1 jruoho
6900 1.1 jruoho 1) ACPI CA Core Subsystem:
6901 1.1 jruoho
6902 1.1 jruoho Parse SSDTs in order discovered, as opposed to reverse order
6903 1.1 jruoho (Hrvoje Habjanic)
6904 1.1 jruoho
6905 1.1 jruoho Fixes from FreeBSD and NetBSD. (Frank van der Linden, Thomas
6906 1.1 jruoho Klausner,
6907 1.1 jruoho Nate Lawson)
6908 1.1 jruoho
6909 1.1 jruoho
6910 1.1 jruoho 2) Linux:
6911 1.1 jruoho
6912 1.1 jruoho Dynamically allocate SDT list (suggested by Andi Kleen)
6913 1.1 jruoho
6914 1.1 jruoho proc function return value cleanups (Andi Kleen)
6915 1.1 jruoho
6916 1.1 jruoho Correctly handle NMI watchdog during long stalls (Andrew Morton)
6917 1.1 jruoho
6918 1.1 jruoho Make it so acpismp=force works (reported by Andrew Morton)
6919 1.1 jruoho
6920 1.1 jruoho
6921 1.1 jruoho ----------------------------------------
6922 1.1 jruoho 19 June 2003. Summary of changes for version 20030619:
6923 1.1 jruoho
6924 1.1 jruoho 1) ACPI CA Core Subsystem:
6925 1.1 jruoho
6926 1.1 jruoho Fix To/FromBCD, eliminating the need for an arch-specific #define.
6927 1.1 jruoho
6928 1.1 jruoho Do not acquire a semaphore in the S5 shutdown path.
6929 1.1 jruoho
6930 1.1 jruoho Fix ex_digits_needed for 0. (Takayoshi Kochi)
6931 1.1 jruoho
6932 1.1 jruoho Fix sleep/stall code reversal. (Andi Kleen)
6933 1.1 jruoho
6934 1.1 jruoho Revert a change having to do with control method calling
6935 1.1 jruoho semantics.
6936 1.1 jruoho
6937 1.1 jruoho 2) Linux:
6938 1.1 jruoho
6939 1.1 jruoho acpiphp update (Takayoshi Kochi)
6940 1.1 jruoho
6941 1.1 jruoho Export acpi_disabled for sonypi (Stelian Pop)
6942 1.1 jruoho
6943 1.1 jruoho Mention acpismp=force in config help
6944 1.1 jruoho
6945 1.1 jruoho Re-add acpitable.c and acpismp=force. This improves backwards
6946 1.1 jruoho
6947 1.1 jruoho compatibility and also cleans up the code to a significant degree.
6948 1.1 jruoho
6949 1.1 jruoho Add ASUS Value-add driver (Karol Kozimor and Julien Lerouge)
6950 1.1 jruoho
6951 1.1 jruoho ----------------------------------------
6952 1.1 jruoho 22 May 2003. Summary of changes for version 20030522:
6953 1.1 jruoho
6954 1.1 jruoho 1) ACPI CA Core Subsystem:
6955 1.1 jruoho
6956 1.1 jruoho Found and fixed a reported problem where an AE_NOT_FOUND error
6957 1.1 jruoho occurred occasionally during _BST evaluation. This turned out to
6958 1.1 jruoho be an Owner ID allocation issue where a called method did not get
6959 1.1 jruoho a new ID assigned to it. Eventually, (after 64k calls), the Owner
6960 1.1 jruoho ID UINT16 would wraparound so that the ID would be the same as the
6961 1.1 jruoho caller's and the called method would delete the caller's
6962 1.1 jruoho namespace.
6963 1.1 jruoho
6964 1.1 jruoho Implemented extended error reporting for control methods that are
6965 1.1 jruoho aborted due to a run-time exception. Output includes the exact
6966 1.1 jruoho AML instruction that caused the method abort, a dump of the method
6967 1.1 jruoho locals and arguments at the time of the abort, and a trace of all
6968 1.1 jruoho nested control method calls.
6969 1.1 jruoho
6970 1.1 jruoho Modified the interpreter to allow the creation of buffers of zero
6971 1.1 jruoho length from the AML code. Implemented new code to ensure that no
6972 1.1 jruoho attempt is made to actually allocate a memory buffer (of length
6973 1.1 jruoho zero) - instead, a simple buffer object with a NULL buffer pointer
6974 1.1 jruoho and length zero is created. A warning is no longer issued when
6975 1.1 jruoho the AML attempts to create a zero-length buffer.
6976 1.1 jruoho
6977 1.1 jruoho Implemented a workaround for the "leading asterisk issue" in
6978 1.1 jruoho _HIDs, _UIDs, and _CIDs in the AML interpreter. One leading
6979 1.1 jruoho asterisk is automatically removed if present in any HID, UID, or
6980 1.1 jruoho CID strings. The iASL compiler will still flag this asterisk as
6981 1.1 jruoho an error, however.
6982 1.1 jruoho
6983 1.1 jruoho Implemented full support for _CID methods that return a package of
6984 1.1 jruoho multiple CIDs (Compatible IDs). The AcpiGetObjectInfo() interface
6985 1.1 jruoho now additionally returns a device _CID list if present. This
6986 1.1 jruoho required a change to the external interface in order to pass an
6987 1.1 jruoho ACPI_BUFFER object as a parameter since the _CID list is of
6988 1.1 jruoho variable length.
6989 1.1 jruoho
6990 1.1 jruoho Fixed a problem with the new AE_SAME_HANDLER exception where
6991 1.1 jruoho handler initialization code did not know about this exception.
6992 1.1 jruoho
6993 1.1 jruoho Code and Data Size: Current and previous core subsystem library
6994 1.1 jruoho sizes are shown below. These are the code and data sizes for the
6995 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
6996 1.1 jruoho these values do not include any ACPI driver or OSPM code. The
6997 1.1 jruoho debug version of the code includes the debug output trace
6998 1.1 jruoho mechanism and has a much larger code and data size. Note that
6999 1.1 jruoho these values will vary depending on the efficiency of the compiler
7000 1.1 jruoho and the compiler options used during generation.
7001 1.1 jruoho
7002 1.1 jruoho Previous Release (20030509):
7003 1.1 jruoho Non-Debug Version: 73.4K Code, 9.7K Data, 83.1K Total
7004 1.1 jruoho Debug Version: 156.1K Code, 63.9K Data, 220.0K Total
7005 1.1 jruoho Current Release:
7006 1.1 jruoho Non-Debug Version: 73.7K Code, 9.7K Data, 83.4K Total
7007 1.1 jruoho Debug Version: 156.9K Code, 64.2K Data, 221.1K Total
7008 1.1 jruoho
7009 1.1 jruoho
7010 1.1 jruoho 2) Linux:
7011 1.1 jruoho
7012 1.1 jruoho Fixed a bug in which we would reinitialize the ACPI interrupt
7013 1.1 jruoho after it was already working, thus disabling all ACPI and the IRQs
7014 1.1 jruoho for any other device sharing the interrupt. (Thanks to Stian
7015 1.1 jruoho Jordet)
7016 1.1 jruoho
7017 1.1 jruoho Toshiba driver update (John Belmonte)
7018 1.1 jruoho
7019 1.1 jruoho Return only 0 or 1 for our interrupt handler status (Andrew
7020 1.1 jruoho Morton)
7021 1.1 jruoho
7022 1.1 jruoho
7023 1.1 jruoho 3) iASL Compiler:
7024 1.1 jruoho
7025 1.1 jruoho Fixed a reported problem where multiple (nested) ElseIf()
7026 1.1 jruoho statements were not handled correctly by the compiler, resulting
7027 1.1 jruoho in incorrect warnings and incorrect AML code. This was a problem
7028 1.1 jruoho in both the ASL parser and the code generator.
7029 1.1 jruoho
7030 1.1 jruoho
7031 1.1 jruoho 4) Documentation:
7032 1.1 jruoho
7033 1.1 jruoho Added changes to existing interfaces, new exception codes, and new
7034 1.1 jruoho text concerning reference count object management versus garbage
7035 1.1 jruoho collection.
7036 1.1 jruoho
7037 1.1 jruoho ----------------------------------------
7038 1.1 jruoho 09 May 2003. Summary of changes for version 20030509.
7039 1.1 jruoho
7040 1.1 jruoho
7041 1.1 jruoho 1) ACPI CA Core Subsystem:
7042 1.1 jruoho
7043 1.1 jruoho Changed the subsystem initialization sequence to hold off
7044 1.1 jruoho installation of address space handlers until the hardware has been
7045 1.1 jruoho initialized and the system has entered ACPI mode. This is because
7046 1.1 jruoho the installation of space handlers can cause _REG methods to be
7047 1.1 jruoho run. Previously, the _REG methods could potentially be run before
7048 1.1 jruoho ACPI mode was enabled.
7049 1.1 jruoho
7050 1.1 jruoho Fixed some memory leak issues related to address space handler and
7051 1.1 jruoho notify handler installation. There were some problems with the
7052 1.1 jruoho reference count mechanism caused by the fact that the handler
7053 1.1 jruoho objects are shared across several namespace objects.
7054 1.1 jruoho
7055 1.1 jruoho Fixed a reported problem where reference counts within the
7056 1.1 jruoho namespace were not properly updated when named objects created by
7057 1.1 jruoho method execution were deleted.
7058 1.1 jruoho
7059 1.1 jruoho Fixed a reported problem where multiple SSDTs caused a deletion
7060 1.1 jruoho issue during subsystem termination. Restructured the table data
7061 1.1 jruoho structures to simplify the linked lists and the related code.
7062 1.1 jruoho
7063 1.1 jruoho Fixed a problem where the table ID associated with secondary
7064 1.1 jruoho tables (SSDTs) was not being propagated into the namespace objects
7065 1.1 jruoho created by those tables. This would only present a problem for
7066 1.1 jruoho tables that are unloaded at run-time, however.
7067 1.1 jruoho
7068 1.1 jruoho Updated AcpiOsReadable and AcpiOsWritable to use the ACPI_SIZE
7069 1.1 jruoho type as the length parameter (instead of UINT32).
7070 1.1 jruoho
7071 1.1 jruoho Solved a long-standing problem where an ALREADY_EXISTS error
7072 1.1 jruoho appears on various systems. This problem could happen when there
7073 1.1 jruoho are multiple PCI_Config operation regions under a single PCI root
7074 1.1 jruoho bus. This doesn't happen very frequently, but there are some
7075 1.1 jruoho systems that do this in the ASL.
7076 1.1 jruoho
7077 1.1 jruoho Fixed a reported problem where the internal DeleteNode function
7078 1.1 jruoho was incorrectly handling the case where a namespace node was the
7079 1.1 jruoho first in the parent's child list, and had additional peers (not
7080 1.1 jruoho the only child, but first in the list of children.)
7081 1.1 jruoho
7082 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
7083 1.1 jruoho below. These are the code and data sizes for the acpica.lib
7084 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
7085 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
7086 1.1 jruoho version of the code includes the debug output trace mechanism and
7087 1.1 jruoho has a much larger code and data size. Note that these values will
7088 1.1 jruoho vary depending on the efficiency of the compiler and the compiler
7089 1.1 jruoho options used during generation.
7090 1.1 jruoho
7091 1.1 jruoho Previous Release
7092 1.1 jruoho Non-Debug Version: 73.7K Code, 9.5K Data, 83.2K Total
7093 1.1 jruoho Debug Version: 156.1K Code, 63.6K Data, 219.7K Total
7094 1.1 jruoho Current Release:
7095 1.1 jruoho Non-Debug Version: 73.4K Code, 9.7K Data, 83.1K Total
7096 1.1 jruoho Debug Version: 156.1K Code, 63.9K Data, 220.0K Total
7097 1.1 jruoho
7098 1.1 jruoho
7099 1.1 jruoho 2) Linux:
7100 1.1 jruoho
7101 1.1 jruoho Allow ":" in OS override string (Ducrot Bruno)
7102 1.1 jruoho
7103 1.1 jruoho Kobject fix (Greg KH)
7104 1.1 jruoho
7105 1.1 jruoho
7106 1.1 jruoho 3 iASL Compiler/Disassembler:
7107 1.1 jruoho
7108 1.1 jruoho Fixed a problem in the generation of the C source code files (AML
7109 1.1 jruoho is emitted in C source statements for BIOS inclusion) where the
7110 1.1 jruoho Ascii dump that appears within a C comment at the end of each line
7111 1.1 jruoho could cause a compile time error if the AML sequence happens to
7112 1.1 jruoho have an open comment or close comment sequence embedded.
7113 1.1 jruoho
7114 1.1 jruoho
7115 1.1 jruoho ----------------------------------------
7116 1.1 jruoho 24 April 2003. Summary of changes for version 20030424.
7117 1.1 jruoho
7118 1.1 jruoho
7119 1.1 jruoho 1) ACPI CA Core Subsystem:
7120 1.1 jruoho
7121 1.1 jruoho Support for big-endian systems has been implemented. Most of the
7122 1.1 jruoho support has been invisibly added behind big-endian versions of the
7123 1.1 jruoho ACPI_MOVE_* macros.
7124 1.1 jruoho
7125 1.1 jruoho Fixed a problem in AcpiHwDisableGpeBlock() and
7126 1.1 jruoho AcpiHwClearGpeBlock() where an incorrect offset was passed to the
7127 1.1 jruoho low level hardware write routine. The offset parameter was
7128 1.1 jruoho actually eliminated from the low level read/write routines because
7129 1.1 jruoho they had become obsolete.
7130 1.1 jruoho
7131 1.1 jruoho Fixed a problem where a handler object was deleted twice during
7132 1.1 jruoho the removal of a fixed event handler.
7133 1.1 jruoho
7134 1.1 jruoho
7135 1.1 jruoho 2) Linux:
7136 1.1 jruoho
7137 1.1 jruoho A fix for SMP systems with link devices was contributed by
7138 1.1 jruoho
7139 1.1 jruoho Compaq's Dan Zink.
7140 1.1 jruoho
7141 1.1 jruoho (2.5) Return whether we handled the interrupt in our IRQ handler.
7142 1.1 jruoho (Linux ISRs no longer return void, so we can propagate the handler
7143 1.1 jruoho return value from the ACPI CA core back to the OS.)
7144 1.1 jruoho
7145 1.1 jruoho
7146 1.1 jruoho
7147 1.1 jruoho 3) Documentation:
7148 1.1 jruoho
7149 1.1 jruoho The ACPI CA Programmer Reference has been updated to reflect new
7150 1.1 jruoho interfaces and changes to existing interfaces.
7151 1.1 jruoho
7152 1.1 jruoho ----------------------------------------
7153 1.1 jruoho 28 March 2003. Summary of changes for version 20030328.
7154 1.1 jruoho
7155 1.1 jruoho 1) ACPI CA Core Subsystem:
7156 1.1 jruoho
7157 1.1 jruoho The GPE Block Device support has been completed. New interfaces
7158 1.1 jruoho are AcpiInstallGpeBlock and AcpiRemoveGpeBlock. The Event
7159 1.1 jruoho interfaces (enable, disable, clear, getstatus) have been split
7160 1.1 jruoho into separate interfaces for Fixed Events and General Purpose
7161 1.1 jruoho Events (GPEs) in order to support GPE Block Devices properly.
7162 1.1 jruoho
7163 1.1 jruoho Fixed a problem where the error message "Failed to acquire
7164 1.1 jruoho semaphore" would appear during operations on the embedded
7165 1.1 jruoho controller (EC).
7166 1.1 jruoho
7167 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
7168 1.1 jruoho below. These are the code and data sizes for the acpica.lib
7169 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
7170 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
7171 1.1 jruoho version of the code includes the debug output trace mechanism and
7172 1.1 jruoho has a much larger code and data size. Note that these values will
7173 1.1 jruoho vary depending on the efficiency of the compiler and the compiler
7174 1.1 jruoho options used during generation.
7175 1.1 jruoho
7176 1.1 jruoho Previous Release
7177 1.1 jruoho Non-Debug Version: 72.3K Code, 9.5K Data, 81.8K Total
7178 1.1 jruoho Debug Version: 154.0K Code, 63.4K Data, 217.4K Total
7179 1.1 jruoho Current Release:
7180 1.1 jruoho Non-Debug Version: 73.7K Code, 9.5K Data, 83.2K Total
7181 1.1 jruoho Debug Version: 156.1K Code, 63.6K Data, 219.7K Total
7182 1.1 jruoho
7183 1.1 jruoho
7184 1.1 jruoho ----------------------------------------
7185 1.1 jruoho 28 February 2003. Summary of changes for version 20030228.
7186 1.1 jruoho
7187 1.1 jruoho
7188 1.1 jruoho 1) ACPI CA Core Subsystem:
7189 1.1 jruoho
7190 1.1 jruoho The GPE handling and dispatch code has been completely overhauled
7191 1.1 jruoho in preparation for support of GPE Block Devices (ID ACPI0006).
7192 1.1 jruoho This affects internal data structures and code only; there should
7193 1.1 jruoho be no differences visible externally. One new file has been
7194 1.1 jruoho added, evgpeblk.c
7195 1.1 jruoho
7196 1.1 jruoho The FADT fields GPE0_BLK_LEN and GPE1_BLK_LEN are now the only
7197 1.1 jruoho fields that are used to determine the GPE block lengths. The
7198 1.1 jruoho REGISTER_BIT_WIDTH field of the X_GPEx_BLK extended address
7199 1.1 jruoho structures are ignored. This is per the ACPI specification but it
7200 1.1 jruoho isn't very clear. The full 256 Block 0/1 GPEs are now supported
7201 1.1 jruoho (the use of REGISTER_BIT_WIDTH limited the number of GPEs to 128).
7202 1.1 jruoho
7203 1.1 jruoho In the SCI interrupt handler, removed the read of the PM1_CONTROL
7204 1.1 jruoho register to look at the SCI_EN bit. On some machines, this read
7205 1.1 jruoho causes an SMI event and greatly slows down SCI events. (This may
7206 1.1 jruoho in fact be the cause of slow battery status response on some
7207 1.1 jruoho systems.)
7208 1.1 jruoho
7209 1.1 jruoho Fixed a problem where a store of a NULL string to a package object
7210 1.1 jruoho could cause the premature deletion of the object. This was seen
7211 1.1 jruoho during execution of the battery _BIF method on some systems,
7212 1.1 jruoho resulting in no battery data being returned.
7213 1.1 jruoho
7214 1.1 jruoho Added AcpiWalkResources interface to simplify parsing of resource
7215 1.1 jruoho lists.
7216 1.1 jruoho
7217 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
7218 1.1 jruoho below. These are the code and data sizes for the acpica.lib
7219 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
7220 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
7221 1.1 jruoho version of the code includes the debug output trace mechanism and
7222 1.1 jruoho has a much larger code and data size. Note that these values will
7223 1.1 jruoho vary depending on the efficiency of the compiler and the compiler
7224 1.1 jruoho options used during generation.
7225 1.1 jruoho
7226 1.1 jruoho Previous Release
7227 1.1 jruoho Non-Debug Version: 72.0K Code, 9.5K Data, 81.5K Total
7228 1.1 jruoho Debug Version: 153.0K Code, 62.9K Data, 215.9K Total
7229 1.1 jruoho Current Release:
7230 1.1 jruoho Non-Debug Version: 72.3K Code, 9.5K Data, 81.8K Total
7231 1.1 jruoho Debug Version: 154.0K Code, 63.4K Data, 217.4K Total
7232 1.1 jruoho
7233 1.1 jruoho
7234 1.1 jruoho 2) Linux
7235 1.1 jruoho
7236 1.1 jruoho S3 fixes (Ole Rohne)
7237 1.1 jruoho
7238 1.1 jruoho Update ACPI PHP driver with to use new acpi_walk_resource API
7239 1.1 jruoho (Bjorn Helgaas)
7240 1.1 jruoho
7241 1.1 jruoho Add S4BIOS support (Pavel Machek)
7242 1.1 jruoho
7243 1.1 jruoho Map in entire table before performing checksum (John Stultz)
7244 1.1 jruoho
7245 1.1 jruoho Expand the mem= cmdline to allow the specification of reserved and
7246 1.1 jruoho ACPI DATA blocks (Pavel Machek)
7247 1.1 jruoho
7248 1.1 jruoho Never use ACPI on VISWS
7249 1.1 jruoho
7250 1.1 jruoho Fix derive_pci_id (Ducrot Bruno, Alvaro Lopez)
7251 1.1 jruoho
7252 1.1 jruoho Revert a change that allowed P_BLK lengths to be 4 or 5. This is
7253 1.1 jruoho causing us to think that some systems support C2 when they really
7254 1.1 jruoho don't.
7255 1.1 jruoho
7256 1.1 jruoho Do not count processor objects for non-present CPUs (Thanks to
7257 1.1 jruoho Dominik Brodowski)
7258 1.1 jruoho
7259 1.1 jruoho
7260 1.1 jruoho 3) iASL Compiler:
7261 1.1 jruoho
7262 1.1 jruoho Fixed a problem where ASL include files could not be found and
7263 1.1 jruoho opened.
7264 1.1 jruoho
7265 1.1 jruoho Added support for the _PDC reserved name.
7266 1.1 jruoho
7267 1.1 jruoho
7268 1.1 jruoho ----------------------------------------
7269 1.1 jruoho 22 January 2003. Summary of changes for version 20030122.
7270 1.1 jruoho
7271 1.1 jruoho
7272 1.1 jruoho 1) ACPI CA Core Subsystem:
7273 1.1 jruoho
7274 1.1 jruoho Added a check for constructs of the form: Store (Local0, Local0)
7275 1.1 jruoho where Local0 is not initialized. Apparently, some BIOS
7276 1.1 jruoho programmers believe that this is a NOOP. Since this store doesn't
7277 1.1 jruoho do anything anyway, the new prototype behavior will ignore this
7278 1.1 jruoho error. This is a case where we can relax the strict checking in
7279 1.1 jruoho the interpreter in the name of compatibility.
7280 1.1 jruoho
7281 1.1 jruoho
7282 1.1 jruoho 2) Linux
7283 1.1 jruoho
7284 1.1 jruoho The AcpiSrc Source Conversion Utility has been released with the
7285 1.1 jruoho Linux package for the first time. This is the utility that is
7286 1.1 jruoho used to convert the ACPI CA base source code to the Linux version.
7287 1.1 jruoho
7288 1.1 jruoho (Both) Handle P_BLK lengths shorter than 6 more gracefully
7289 1.1 jruoho
7290 1.1 jruoho (Both) Move more headers to include/acpi, and delete an unused
7291 1.1 jruoho header.
7292 1.1 jruoho
7293 1.1 jruoho (Both) Move drivers/acpi/include directory to include/acpi
7294 1.1 jruoho
7295 1.1 jruoho (Both) Boot functions don't use cmdline, so don't pass it around
7296 1.1 jruoho
7297 1.1 jruoho (Both) Remove include of unused header (Adrian Bunk)
7298 1.1 jruoho
7299 1.1 jruoho (Both) acpiphp.h includes both linux/acpi.h and acpi_bus.h. Since
7300 1.1 jruoho the
7301 1.1 jruoho former now also includes the latter, acpiphp.h only needs the one,
7302 1.1 jruoho now.
7303 1.1 jruoho
7304 1.1 jruoho (2.5) Make it possible to select method of bios restoring after S3
7305 1.1 jruoho resume. [=> no more ugly ifdefs] (Pavel Machek)
7306 1.1 jruoho
7307 1.1 jruoho (2.5) Make proc write interfaces work (Pavel Machek)
7308 1.1 jruoho
7309 1.1 jruoho (2.5) Properly init/clean up in cpufreq/acpi (Dominik Brodowski)
7310 1.1 jruoho
7311 1.1 jruoho (2.5) Break out ACPI Perf code into its own module, under cpufreq
7312 1.1 jruoho (Dominik Brodowski)
7313 1.1 jruoho
7314 1.1 jruoho (2.4) S4BIOS support (Ducrot Bruno)
7315 1.1 jruoho
7316 1.1 jruoho (2.4) Fix acpiphp_glue.c for latest ACPI struct changes (Sergio
7317 1.1 jruoho Visinoni)
7318 1.1 jruoho
7319 1.1 jruoho
7320 1.1 jruoho 3) iASL Compiler:
7321 1.1 jruoho
7322 1.1 jruoho Added support to disassemble SSDT and PSDTs.
7323 1.1 jruoho
7324 1.1 jruoho Implemented support to obtain SSDTs from the Windows registry if
7325 1.1 jruoho available.
7326 1.1 jruoho
7327 1.1 jruoho
7328 1.1 jruoho ----------------------------------------
7329 1.1 jruoho 09 January 2003. Summary of changes for version 20030109.
7330 1.1 jruoho
7331 1.1 jruoho 1) ACPI CA Core Subsystem:
7332 1.1 jruoho
7333 1.1 jruoho Changed the behavior of the internal Buffer-to-String conversion
7334 1.1 jruoho function. The current ACPI specification states that the contents
7335 1.1 jruoho of the buffer are "converted to a string of two-character
7336 1.1 jruoho hexadecimal numbers, each separated by a space". Unfortunately,
7337 1.1 jruoho this definition is not backwards compatible with existing ACPI 1.0
7338 1.1 jruoho implementations (although the behavior was not defined in the ACPI
7339 1.1 jruoho 1.0 specification). The new behavior simply copies data from the
7340 1.1 jruoho buffer to the string until a null character is found or the end of
7341 1.1 jruoho the buffer is reached. The new String object is always null
7342 1.1 jruoho terminated. This problem was seen during the generation of _BIF
7343 1.1 jruoho battery data where incorrect strings were returned for battery
7344 1.1 jruoho type, etc. This will also require an errata to the ACPI
7345 1.1 jruoho specification.
7346 1.1 jruoho
7347 1.1 jruoho Renamed all instances of NATIVE_UINT and NATIVE_INT to
7348 1.1 jruoho ACPI_NATIVE_UINT and ACPI_NATIVE_INT, respectively.
7349 1.1 jruoho
7350 1.1 jruoho Copyright in all module headers (both Linux and non-Linux) has be
7351 1.1 jruoho updated to 2003.
7352 1.1 jruoho
7353 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
7354 1.1 jruoho below. These are the code and data sizes for the acpica.lib
7355 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
7356 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
7357 1.1 jruoho version of the code includes the debug output trace mechanism and
7358 1.1 jruoho has a much larger code and data size. Note that these values will
7359 1.1 jruoho vary depending on the efficiency of the compiler and the compiler
7360 1.1 jruoho options used during generation.
7361 1.1 jruoho
7362 1.1 jruoho Previous Release
7363 1.1 jruoho Non-Debug Version: 72.0K Code, 9.5K Data, 81.5K Total
7364 1.1 jruoho Debug Version: 153.0K Code, 62.9K Data, 215.9K Total
7365 1.1 jruoho Current Release:
7366 1.1 jruoho Non-Debug Version: 72.0K Code, 9.5K Data, 81.5K Total
7367 1.1 jruoho Debug Version: 153.0K Code, 62.9K Data, 215.9K Total
7368 1.1 jruoho
7369 1.1 jruoho
7370 1.1 jruoho 2) Linux
7371 1.1 jruoho
7372 1.1 jruoho Fixed an oops on module insertion/removal (Matthew Tippett)
7373 1.1 jruoho
7374 1.1 jruoho (2.4) Fix to handle dynamic size of mp_irqs (Joerg Prante)
7375 1.1 jruoho
7376 1.1 jruoho (2.5) Replace pr_debug (Randy Dunlap)
7377 1.1 jruoho
7378 1.1 jruoho (2.5) Remove usage of CPUFREQ_ALL_CPUS (Dominik Brodowski)
7379 1.1 jruoho
7380 1.1 jruoho (Both) Eliminate spawning of thread from timer callback, in favor
7381 1.1 jruoho of schedule_work()
7382 1.1 jruoho
7383 1.1 jruoho (Both) Show Lid status in /proc (Zdenek OGAR Skalak)
7384 1.1 jruoho
7385 1.1 jruoho (Both) Added define for Fixed Function HW region (Matthew Wilcox)
7386 1.1 jruoho
7387 1.1 jruoho (Both) Add missing statics to button.c (Pavel Machek)
7388 1.1 jruoho
7389 1.1 jruoho Several changes have been made to the source code translation
7390 1.1 jruoho utility that generates the Linux Code in order to make the code
7391 1.1 jruoho more "Linux-like":
7392 1.1 jruoho
7393 1.1 jruoho All typedefs on structs and unions have been removed in keeping
7394 1.1 jruoho with the Linux coding style.
7395 1.1 jruoho
7396 1.1 jruoho Removed the non-Linux SourceSafe module revision number from each
7397 1.1 jruoho module header.
7398 1.1 jruoho
7399 1.1 jruoho Completed major overhaul of symbols to be lowercased for linux.
7400 1.1 jruoho Doubled the number of symbols that are lowercased.
7401 1.1 jruoho
7402 1.1 jruoho Fixed a problem where identifiers within procedure headers and
7403 1.1 jruoho within quotes were not fully lower cased (they were left with a
7404 1.1 jruoho starting capital.)
7405 1.1 jruoho
7406 1.1 jruoho Some C macros whose only purpose is to allow the generation of 16-
7407 1.1 jruoho bit code are now completely removed in the Linux code, increasing
7408 1.1 jruoho readability and maintainability.
7409 1.1 jruoho
7410 1.1 jruoho ----------------------------------------
7411 1.1 jruoho
7412 1.1 jruoho 12 December 2002. Summary of changes for version 20021212.
7413 1.1 jruoho
7414 1.1 jruoho
7415 1.1 jruoho 1) ACPI CA Core Subsystem:
7416 1.1 jruoho
7417 1.1 jruoho Fixed a problem where the creation of a zero-length AML Buffer
7418 1.1 jruoho would cause a fault.
7419 1.1 jruoho
7420 1.1 jruoho Fixed a problem where a Buffer object that pointed to a static AML
7421 1.1 jruoho buffer (in an ACPI table) could inadvertently be deleted, causing
7422 1.1 jruoho memory corruption.
7423 1.1 jruoho
7424 1.1 jruoho Fixed a problem where a user buffer (passed in to the external
7425 1.1 jruoho ACPI CA interfaces) could be overwritten if the buffer was too
7426 1.1 jruoho small to complete the operation, causing memory corruption.
7427 1.1 jruoho
7428 1.1 jruoho Fixed a problem in the Buffer-to-String conversion code where a
7429 1.1 jruoho string of length one was always returned, regardless of the size
7430 1.1 jruoho of the input Buffer object.
7431 1.1 jruoho
7432 1.1 jruoho Removed the NATIVE_CHAR data type across the entire source due to
7433 1.1 jruoho lack of need and lack of consistent use.
7434 1.1 jruoho
7435 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
7436 1.1 jruoho below. These are the code and data sizes for the acpica.lib
7437 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
7438 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
7439 1.1 jruoho version of the code includes the debug output trace mechanism and
7440 1.1 jruoho has a much larger code and data size. Note that these values will
7441 1.1 jruoho vary depending on the efficiency of the compiler and the compiler
7442 1.1 jruoho options used during generation.
7443 1.1 jruoho
7444 1.1 jruoho Previous Release
7445 1.1 jruoho Non-Debug Version: 72.1K Code, 9.5K Data, 81.6K Total
7446 1.1 jruoho Debug Version: 152.7K Code, 62.7K Data, 215.4K Total
7447 1.1 jruoho Current Release:
7448 1.1 jruoho Non-Debug Version: 72.0K Code, 9.5K Data, 81.5K Total
7449 1.1 jruoho Debug Version: 153.0K Code, 62.9K Data, 215.9K Total
7450 1.1 jruoho
7451 1.1 jruoho
7452 1.1 jruoho ----------------------------------------
7453 1.1 jruoho 05 December 2002. Summary of changes for version 20021205.
7454 1.1 jruoho
7455 1.1 jruoho 1) ACPI CA Core Subsystem:
7456 1.1 jruoho
7457 1.1 jruoho Fixed a problem where a store to a String or Buffer object could
7458 1.1 jruoho cause corruption of the DSDT if the object type being stored was
7459 1.1 jruoho the same as the target object type and the length of the object
7460 1.1 jruoho being stored was equal to or smaller than the original (existing)
7461 1.1 jruoho target object. This was seen to cause corruption of battery _BIF
7462 1.1 jruoho buffers if the _BIF method modified the buffer on the fly.
7463 1.1 jruoho
7464 1.1 jruoho Fixed a problem where an internal error was generated if a control
7465 1.1 jruoho method invocation was used in an OperationRegion, Buffer, or
7466 1.1 jruoho Package declaration. This was caused by the deferred parsing of
7467 1.1 jruoho the control method and thus the deferred creation of the internal
7468 1.1 jruoho method object. The solution to this problem was to create the
7469 1.1 jruoho internal method object at the moment the method is encountered in
7470 1.1 jruoho the first pass - so that subsequent references to the method will
7471 1.1 jruoho able to obtain the required parameter count and thus properly
7472 1.1 jruoho parse the method invocation. This problem presented itself as an
7473 1.1 jruoho AE_AML_INTERNAL during the pass 1 parse phase during table load.
7474 1.1 jruoho
7475 1.1 jruoho Fixed a problem where the internal String object copy routine did
7476 1.1 jruoho not always allocate sufficient memory for the target String object
7477 1.1 jruoho and caused memory corruption. This problem was seen to cause
7478 1.1 jruoho "Allocation already present in list!" errors as memory allocation
7479 1.1 jruoho became corrupted.
7480 1.1 jruoho
7481 1.1 jruoho Implemented a new function for the evaluation of namespace objects
7482 1.1 jruoho that allows the specification of the allowable return object
7483 1.1 jruoho types. This simplifies a lot of code that checks for a return
7484 1.1 jruoho object of one or more specific objects returned from the
7485 1.1 jruoho evaluation (such as _STA, etc.) This may become and external
7486 1.1 jruoho function if it would be useful to ACPI-related drivers.
7487 1.1 jruoho
7488 1.1 jruoho Completed another round of prefixing #defines with "ACPI_" for
7489 1.1 jruoho clarity.
7490 1.1 jruoho
7491 1.1 jruoho Completed additional code restructuring to allow more modular
7492 1.1 jruoho linking for iASL compiler and AcpiExec. Several files were split
7493 1.1 jruoho creating new files. New files: nsparse.c dsinit.c evgpe.c
7494 1.1 jruoho
7495 1.1 jruoho Implemented an abort mechanism to terminate an executing control
7496 1.1 jruoho method via the AML debugger. This feature is useful for debugging
7497 1.1 jruoho control methods that depend (wait) for specific hardware
7498 1.1 jruoho responses.
7499 1.1 jruoho
7500 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
7501 1.1 jruoho below. These are the code and data sizes for the acpica.lib
7502 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
7503 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
7504 1.1 jruoho version of the code includes the debug output trace mechanism and
7505 1.1 jruoho has a much larger code and data size. Note that these values will
7506 1.1 jruoho vary depending on the efficiency of the compiler and the compiler
7507 1.1 jruoho options used during generation.
7508 1.1 jruoho
7509 1.1 jruoho Previous Release
7510 1.1 jruoho Non-Debug Version: 71.4K Code, 9.0K Data, 80.4K Total
7511 1.1 jruoho Debug Version: 152.9K Code, 63.3K Data, 216.2K Total
7512 1.1 jruoho Current Release:
7513 1.1 jruoho Non-Debug Version: 72.1K Code, 9.5K Data, 81.6K Total
7514 1.1 jruoho Debug Version: 152.7K Code, 62.7K Data, 215.4K Total
7515 1.1 jruoho
7516 1.1 jruoho
7517 1.1 jruoho 2) iASL Compiler/Disassembler
7518 1.1 jruoho
7519 1.1 jruoho Fixed a compiler code generation problem for "Interrupt" Resource
7520 1.1 jruoho Descriptors. If specified in the ASL, the optional "Resource
7521 1.1 jruoho Source Index" and "Resource Source" fields were not inserted into
7522 1.1 jruoho the correct location within the AML resource descriptor, creating
7523 1.1 jruoho an invalid descriptor.
7524 1.1 jruoho
7525 1.1 jruoho Fixed a disassembler problem for "Interrupt" resource descriptors.
7526 1.1 jruoho The optional "Resource Source Index" and "Resource Source" fields
7527 1.1 jruoho were ignored.
7528 1.1 jruoho
7529 1.1 jruoho
7530 1.1 jruoho ----------------------------------------
7531 1.1 jruoho 22 November 2002. Summary of changes for version 20021122.
7532 1.1 jruoho
7533 1.1 jruoho
7534 1.1 jruoho 1) ACPI CA Core Subsystem:
7535 1.1 jruoho
7536 1.1 jruoho Fixed a reported problem where an object stored to a Method Local
7537 1.1 jruoho or Arg was not copied to a new object during the store - the
7538 1.1 jruoho object pointer was simply copied to the Local/Arg. This caused
7539 1.1 jruoho all subsequent operations on the Local/Arg to also affect the
7540 1.1 jruoho original source of the store operation.
7541 1.1 jruoho
7542 1.1 jruoho Fixed a problem where a store operation to a Method Local or Arg
7543 1.1 jruoho was not completed properly if the Local/Arg contained a reference
7544 1.1 jruoho (from RefOf) to a named field. The general-purpose store-to-
7545 1.1 jruoho namespace-node code is now used so that this case is handled
7546 1.1 jruoho automatically.
7547 1.1 jruoho
7548 1.1 jruoho Fixed a problem where the internal object copy routine would cause
7549 1.1 jruoho a protection fault if the object being copied was a Package and
7550 1.1 jruoho contained either 1) a NULL package element or 2) a nested sub-
7551 1.1 jruoho package.
7552 1.1 jruoho
7553 1.1 jruoho Fixed a problem with the GPE initialization that resulted from an
7554 1.1 jruoho ambiguity in the ACPI specification. One section of the
7555 1.1 jruoho specification states that both the address and length of the GPE
7556 1.1 jruoho block must be zero if the block is not supported. Another section
7557 1.1 jruoho implies that only the address need be zero if the block is not
7558 1.1 jruoho supported. The code has been changed so that both the address and
7559 1.1 jruoho the length must be non-zero to indicate a valid GPE block (i.e.,
7560 1.1 jruoho if either the address or the length is zero, the GPE block is
7561 1.1 jruoho invalid.)
7562 1.1 jruoho
7563 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
7564 1.1 jruoho below. These are the code and data sizes for the acpica.lib
7565 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
7566 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
7567 1.1 jruoho version of the code includes the debug output trace mechanism and
7568 1.1 jruoho has a much larger code and data size. Note that these values will
7569 1.1 jruoho vary depending on the efficiency of the compiler and the compiler
7570 1.1 jruoho options used during generation.
7571 1.1 jruoho
7572 1.1 jruoho Previous Release
7573 1.1 jruoho Non-Debug Version: 71.3K Code, 9.0K Data, 80.3K Total
7574 1.1 jruoho Debug Version: 152.7K Code, 63.2K Data, 215.5K Total
7575 1.1 jruoho Current Release:
7576 1.1 jruoho Non-Debug Version: 71.4K Code, 9.0K Data, 80.4K Total
7577 1.1 jruoho Debug Version: 152.9K Code, 63.3K Data, 216.2K Total
7578 1.1 jruoho
7579 1.1 jruoho
7580 1.1 jruoho 2) Linux
7581 1.1 jruoho
7582 1.1 jruoho Cleaned up EC driver. Exported an external EC read/write
7583 1.1 jruoho interface. By going through this, other drivers (most notably
7584 1.1 jruoho sonypi) will be able to serialize access to the EC.
7585 1.1 jruoho
7586 1.1 jruoho
7587 1.1 jruoho 3) iASL Compiler/Disassembler
7588 1.1 jruoho
7589 1.1 jruoho Implemented support to optionally generate include files for both
7590 1.1 jruoho ASM and C (the -i switch). This simplifies BIOS development by
7591 1.1 jruoho automatically creating include files that contain external
7592 1.1 jruoho declarations for the symbols that are created within the
7593 1.1 jruoho
7594 1.1 jruoho (optionally generated) ASM and C AML source files.
7595 1.1 jruoho
7596 1.1 jruoho
7597 1.1 jruoho ----------------------------------------
7598 1.1 jruoho 15 November 2002. Summary of changes for version 20021115.
7599 1.1 jruoho
7600 1.1 jruoho 1) ACPI CA Core Subsystem:
7601 1.1 jruoho
7602 1.1 jruoho Fixed a memory leak problem where an error during resolution of
7603 1.1 jruoho
7604 1.1 jruoho method arguments during a method invocation from another method
7605 1.1 jruoho failed to cleanup properly by deleting all successfully resolved
7606 1.1 jruoho argument objects.
7607 1.1 jruoho
7608 1.1 jruoho Fixed a problem where the target of the Index() operator was not
7609 1.1 jruoho correctly constructed if the source object was a package. This
7610 1.1 jruoho problem has not been detected because the use of a target operand
7611 1.1 jruoho with Index() is very rare.
7612 1.1 jruoho
7613 1.1 jruoho Fixed a problem with the Index() operator where an attempt was
7614 1.1 jruoho made to delete the operand objects twice.
7615 1.1 jruoho
7616 1.1 jruoho Fixed a problem where an attempt was made to delete an operand
7617 1.1 jruoho twice during execution of the CondRefOf() operator if the target
7618 1.1 jruoho did not exist.
7619 1.1 jruoho
7620 1.1 jruoho Implemented the first of perhaps several internal create object
7621 1.1 jruoho functions that create and initialize a specific object type. This
7622 1.1 jruoho consolidates duplicated code wherever the object is created, thus
7623 1.1 jruoho shrinking the size of the subsystem.
7624 1.1 jruoho
7625 1.1 jruoho Implemented improved debug/error messages for errors that occur
7626 1.1 jruoho during nested method invocations. All executing method pathnames
7627 1.1 jruoho are displayed (with the error) as the call stack is unwound - thus
7628 1.1 jruoho simplifying debug.
7629 1.1 jruoho
7630 1.1 jruoho Fixed a problem introduced in the 10/02 release that caused
7631 1.1 jruoho premature deletion of a buffer object if a buffer was used as an
7632 1.1 jruoho ASL operand where an integer operand is required (Thus causing an
7633 1.1 jruoho implicit object conversion from Buffer to Integer.) The change in
7634 1.1 jruoho the 10/02 release was attempting to fix a memory leak (albeit
7635 1.1 jruoho incorrectly.)
7636 1.1 jruoho
7637 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
7638 1.1 jruoho below. These are the code and data sizes for the acpica.lib
7639 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
7640 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
7641 1.1 jruoho version of the code includes the debug output trace mechanism and
7642 1.1 jruoho has a much larger code and data size. Note that these values will
7643 1.1 jruoho vary depending on the efficiency of the compiler and the compiler
7644 1.1 jruoho options used during generation.
7645 1.1 jruoho
7646 1.1 jruoho Previous Release
7647 1.1 jruoho Non-Debug Version: 71.9K Code, 9.1K Data, 81.0K Total
7648 1.1 jruoho Debug Version: 153.1K Code, 63.3K Data, 216.4K Total
7649 1.1 jruoho Current Release:
7650 1.1 jruoho Non-Debug Version: 71.3K Code, 9.0K Data, 80.3K Total
7651 1.1 jruoho Debug Version: 152.7K Code, 63.2K Data, 215.5K Total
7652 1.1 jruoho
7653 1.1 jruoho
7654 1.1 jruoho 2) Linux
7655 1.1 jruoho
7656 1.1 jruoho Changed the implementation of the ACPI semaphores to use down()
7657 1.1 jruoho instead of down_interruptable(). It is important that the
7658 1.1 jruoho execution of ACPI control methods not be interrupted by signals.
7659 1.1 jruoho Methods must run to completion, or the system may be left in an
7660 1.1 jruoho unknown/unstable state.
7661 1.1 jruoho
7662 1.1 jruoho Fixed a compilation error when CONFIG_SOFTWARE_SUSPEND is not set.
7663 1.1 jruoho (Shawn Starr)
7664 1.1 jruoho
7665 1.1 jruoho
7666 1.1 jruoho 3) iASL Compiler/Disassembler
7667 1.1 jruoho
7668 1.1 jruoho
7669 1.1 jruoho Changed the default location of output files. All output files
7670 1.1 jruoho are now placed in the current directory by default instead of in
7671 1.1 jruoho the directory of the source file. This change may affect some
7672 1.1 jruoho existing makefiles, but it brings the behavior of the compiler in
7673 1.1 jruoho line with other similar tools. The location of the output files
7674 1.1 jruoho can be overridden with the -p command line switch.
7675 1.1 jruoho
7676 1.1 jruoho
7677 1.1 jruoho ----------------------------------------
7678 1.1 jruoho 11 November 2002. Summary of changes for version 20021111.
7679 1.1 jruoho
7680 1.1 jruoho
7681 1.1 jruoho 0) ACPI Specification 2.0B is released and is now available at:
7682 1.1 jruoho http://www.acpi.info/index.html
7683 1.1 jruoho
7684 1.1 jruoho
7685 1.1 jruoho 1) ACPI CA Core Subsystem:
7686 1.1 jruoho
7687 1.1 jruoho Implemented support for the ACPI 2.0 SMBus Operation Regions.
7688 1.1 jruoho This includes the early detection and handoff of the request to
7689 1.1 jruoho the SMBus region handler (avoiding all of the complex field
7690 1.1 jruoho support code), and support for the bidirectional return packet
7691 1.1 jruoho from an SMBus write operation. This paves the way for the
7692 1.1 jruoho development of SMBus drivers in each host operating system.
7693 1.1 jruoho
7694 1.1 jruoho Fixed a problem where the semaphore WAIT_FOREVER constant was
7695 1.1 jruoho defined as 32 bits, but must be 16 bits according to the ACPI
7696 1.1 jruoho specification. This had the side effect of causing ASL
7697 1.1 jruoho Mutex/Event timeouts even though the ASL code requested a wait
7698 1.1 jruoho forever. Changed all internal references to the ACPI timeout
7699 1.1 jruoho parameter to 16 bits to prevent future problems. Changed the name
7700 1.1 jruoho of WAIT_FOREVER to ACPI_WAIT_FOREVER.
7701 1.1 jruoho
7702 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
7703 1.1 jruoho below. These are the code and data sizes for the acpica.lib
7704 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
7705 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
7706 1.1 jruoho version of the code includes the debug output trace mechanism and
7707 1.1 jruoho has a much larger code and data size. Note that these values will
7708 1.1 jruoho vary depending on the efficiency of the compiler and the compiler
7709 1.1 jruoho options used during generation.
7710 1.1 jruoho
7711 1.1 jruoho Previous Release
7712 1.1 jruoho Non-Debug Version: 71.4K Code, 9.0K Data, 80.4K Total
7713 1.1 jruoho Debug Version: 152.3K Code, 63.0K Data, 215.3K Total
7714 1.1 jruoho Current Release:
7715 1.1 jruoho Non-Debug Version: 71.9K Code, 9.1K Data, 81.0K Total
7716 1.1 jruoho Debug Version: 153.1K Code, 63.3K Data, 216.4K Total
7717 1.1 jruoho
7718 1.1 jruoho
7719 1.1 jruoho 2) Linux
7720 1.1 jruoho
7721 1.1 jruoho Module loading/unloading fixes (John Cagle)
7722 1.1 jruoho
7723 1.1 jruoho
7724 1.1 jruoho 3) iASL Compiler/Disassembler
7725 1.1 jruoho
7726 1.1 jruoho Added support for the SMBBlockProcessCall keyword (ACPI 2.0)
7727 1.1 jruoho
7728 1.1 jruoho Implemented support for the disassembly of all SMBus protocol
7729 1.1 jruoho keywords (SMBQuick, SMBWord, etc.)
7730 1.1 jruoho
7731 1.1 jruoho ----------------------------------------
7732 1.1 jruoho 01 November 2002. Summary of changes for version 20021101.
7733 1.1 jruoho
7734 1.1 jruoho
7735 1.1 jruoho 1) ACPI CA Core Subsystem:
7736 1.1 jruoho
7737 1.1 jruoho Fixed a problem where platforms that have a GPE1 block but no GPE0
7738 1.1 jruoho block were not handled correctly. This resulted in a "GPE
7739 1.1 jruoho overlap" error message. GPE0 is no longer required.
7740 1.1 jruoho
7741 1.1 jruoho Removed code added in the previous release that inserted nodes
7742 1.1 jruoho into the namespace in alphabetical order. This caused some side-
7743 1.1 jruoho effects on various machines. The root cause of the problem is
7744 1.1 jruoho still under investigation since in theory, the internal ordering
7745 1.1 jruoho of the namespace nodes should not matter.
7746 1.1 jruoho
7747 1.1 jruoho
7748 1.1 jruoho Enhanced error reporting for the case where a named object is not
7749 1.1 jruoho found during control method execution. The full ACPI namepath
7750 1.1 jruoho (name reference) of the object that was not found is displayed in
7751 1.1 jruoho this case.
7752 1.1 jruoho
7753 1.1 jruoho Note: as a result of the overhaul of the namespace object types in
7754 1.1 jruoho the previous release, the namespace nodes for the predefined
7755 1.1 jruoho scopes (_TZ, _PR, etc.) are now of the type ACPI_TYPE_LOCAL_SCOPE
7756 1.1 jruoho instead of ACPI_TYPE_ANY. This simplifies the namespace
7757 1.1 jruoho management code but may affect code that walks the namespace tree
7758 1.1 jruoho looking for specific object types.
7759 1.1 jruoho
7760 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
7761 1.1 jruoho below. These are the code and data sizes for the acpica.lib
7762 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
7763 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
7764 1.1 jruoho version of the code includes the debug output trace mechanism and
7765 1.1 jruoho has a much larger code and data size. Note that these values will
7766 1.1 jruoho vary depending on the efficiency of the compiler and the compiler
7767 1.1 jruoho options used during generation.
7768 1.1 jruoho
7769 1.1 jruoho Previous Release
7770 1.1 jruoho Non-Debug Version: 70.7K Code, 8.6K Data, 79.3K Total
7771 1.1 jruoho Debug Version: 151.7K Code, 62.4K Data, 214.1K Total
7772 1.1 jruoho Current Release:
7773 1.1 jruoho Non-Debug Version: 71.4K Code, 9.0K Data, 80.4K Total
7774 1.1 jruoho Debug Version: 152.3K Code, 63.0K Data, 215.3K Total
7775 1.1 jruoho
7776 1.1 jruoho
7777 1.1 jruoho 2) Linux
7778 1.1 jruoho
7779 1.1 jruoho Fixed a problem introduced in the previous release where the
7780 1.1 jruoho Processor and Thermal objects were not recognized and installed in
7781 1.1 jruoho /proc. This was related to the scope type change described above.
7782 1.1 jruoho
7783 1.1 jruoho
7784 1.1 jruoho 3) iASL Compiler/Disassembler
7785 1.1 jruoho
7786 1.1 jruoho Implemented the -g option to get all of the required ACPI tables
7787 1.1 jruoho from the registry and save them to files (Windows version of the
7788 1.1 jruoho compiler only.) The required tables are the FADT, FACS, and DSDT.
7789 1.1 jruoho
7790 1.1 jruoho Added ACPI table checksum validation during table disassembly in
7791 1.1 jruoho order to catch corrupted tables.
7792 1.1 jruoho
7793 1.1 jruoho
7794 1.1 jruoho ----------------------------------------
7795 1.1 jruoho 22 October 2002. Summary of changes for version 20021022.
7796 1.1 jruoho
7797 1.1 jruoho 1) ACPI CA Core Subsystem:
7798 1.1 jruoho
7799 1.1 jruoho Implemented a restriction on the Scope operator that the target
7800 1.1 jruoho must already exist in the namespace at the time the operator is
7801 1.1 jruoho encountered (during table load or method execution). In other
7802 1.1 jruoho words, forward references are not allowed and Scope() cannot
7803 1.1 jruoho create a new object. This changes the previous behavior where the
7804 1.1 jruoho interpreter would create the name if not found. This new behavior
7805 1.1 jruoho correctly enables the search-to-root algorithm during namespace
7806 1.1 jruoho lookup of the target name. Because of this upsearch, this fixes
7807 1.1 jruoho the known Compaq _SB_.OKEC problem and makes both the AML
7808 1.1 jruoho interpreter and iASL compiler compatible with other ACPI
7809 1.1 jruoho implementations.
7810 1.1 jruoho
7811 1.1 jruoho Completed a major overhaul of the internal ACPI object types for
7812 1.1 jruoho the ACPI Namespace and the associated operand objects. Many of
7813 1.1 jruoho these types had become obsolete with the introduction of the two-
7814 1.1 jruoho pass namespace load. This cleanup simplifies the code and makes
7815 1.1 jruoho the entire namespace load mechanism much clearer and easier to
7816 1.1 jruoho understand.
7817 1.1 jruoho
7818 1.1 jruoho Improved debug output for tracking scope opening/closing to help
7819 1.1 jruoho diagnose scoping issues. The old scope name as well as the new
7820 1.1 jruoho scope name are displayed. Also improved error messages for
7821 1.1 jruoho problems with ASL Mutex objects and error messages for GPE
7822 1.1 jruoho problems.
7823 1.1 jruoho
7824 1.1 jruoho Cleaned up the namespace dump code, removed obsolete code.
7825 1.1 jruoho
7826 1.1 jruoho All string output (for all namespace/object dumps) now uses the
7827 1.1 jruoho common ACPI string output procedure which handles escapes properly
7828 1.1 jruoho and does not emit non-printable characters.
7829 1.1 jruoho
7830 1.1 jruoho Fixed some issues with constants in the 64-bit version of the
7831 1.1 jruoho local C library (utclib.c)
7832 1.1 jruoho
7833 1.1 jruoho
7834 1.1 jruoho 2) Linux
7835 1.1 jruoho
7836 1.1 jruoho EC Driver: No longer attempts to acquire the Global Lock at
7837 1.1 jruoho interrupt level.
7838 1.1 jruoho
7839 1.1 jruoho
7840 1.1 jruoho 3) iASL Compiler/Disassembler
7841 1.1 jruoho
7842 1.1 jruoho Implemented ACPI 2.0B grammar change that disallows all Type 1 and
7843 1.1 jruoho 2 opcodes outside of a control method. This means that the
7844 1.1 jruoho "executable" operators (versus the "namespace" operators) cannot
7845 1.1 jruoho be used at the table level; they can only be used within a control
7846 1.1 jruoho method.
7847 1.1 jruoho
7848 1.1 jruoho Implemented the restriction on the Scope() operator where the
7849 1.1 jruoho target must already exist in the namespace at the time the
7850 1.1 jruoho operator is encountered (during ASL compilation). In other words,
7851 1.1 jruoho forward references are not allowed and Scope() cannot create a new
7852 1.1 jruoho object. This makes the iASL compiler compatible with other ACPI
7853 1.1 jruoho implementations and makes the Scope() implementation adhere to the
7854 1.1 jruoho ACPI specification.
7855 1.1 jruoho
7856 1.1 jruoho Fixed a problem where namepath optimization for the Alias operator
7857 1.1 jruoho was optimizing the wrong path (of the two namepaths.) This caused
7858 1.1 jruoho a "Missing alias link" error message.
7859 1.1 jruoho
7860 1.1 jruoho Fixed a problem where an "unknown reserved name" warning could be
7861 1.1 jruoho incorrectly generated for names like "_SB" when the trailing
7862 1.1 jruoho underscore is not used in the original ASL.
7863 1.1 jruoho
7864 1.1 jruoho Fixed a problem where the reserved name check did not handle
7865 1.1 jruoho NamePaths with multiple NameSegs correctly. The first nameseg of
7866 1.1 jruoho the NamePath was examined instead of the last NameSeg.
7867 1.1 jruoho
7868 1.1 jruoho
7869 1.1 jruoho ----------------------------------------
7870 1.1 jruoho
7871 1.1 jruoho 02 October 2002. Summary of changes for this release.
7872 1.1 jruoho
7873 1.1 jruoho
7874 1.1 jruoho 1) ACPI CA Core Subsystem version 20021002:
7875 1.1 jruoho
7876 1.1 jruoho Fixed a problem where a store/copy of a string to an existing
7877 1.1 jruoho string did not always set the string length properly in the String
7878 1.1 jruoho object.
7879 1.1 jruoho
7880 1.1 jruoho Fixed a reported problem with the ToString operator where the
7881 1.1 jruoho behavior was identical to the ToHexString operator instead of just
7882 1.1 jruoho simply converting a raw buffer to a string data type.
7883 1.1 jruoho
7884 1.1 jruoho Fixed a problem where CopyObject and the other "explicit"
7885 1.1 jruoho conversion operators were not updating the internal namespace node
7886 1.1 jruoho type as part of the store operation.
7887 1.1 jruoho
7888 1.1 jruoho Fixed a memory leak during implicit source operand conversion
7889 1.1 jruoho where the original object was not deleted if it was converted to a
7890 1.1 jruoho new object of a different type.
7891 1.1 jruoho
7892 1.1 jruoho Enhanced error messages for all problems associated with namespace
7893 1.1 jruoho lookups. Common procedure generates and prints the lookup name as
7894 1.1 jruoho well as the formatted status.
7895 1.1 jruoho
7896 1.1 jruoho Completed implementation of a new design for the Alias support
7897 1.1 jruoho within the namespace. The existing design did not handle the case
7898 1.1 jruoho where a new object was assigned to one of the two names due to the
7899 1.1 jruoho use of an explicit conversion operator, resulting in the two names
7900 1.1 jruoho pointing to two different objects. The new design simply points
7901 1.1 jruoho the Alias name to the original name node - not to the object.
7902 1.1 jruoho This results in a level of indirection that must be handled in the
7903 1.1 jruoho name resolution mechanism.
7904 1.1 jruoho
7905 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
7906 1.1 jruoho below. These are the code and data sizes for the acpica.lib
7907 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
7908 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
7909 1.1 jruoho version of the code includes the debug output trace mechanism and
7910 1.1 jruoho has a larger code and data size. Note that these values will vary
7911 1.1 jruoho depending on the efficiency of the compiler and the compiler
7912 1.1 jruoho options used during generation.
7913 1.1 jruoho
7914 1.1 jruoho Previous Release
7915 1.1 jruoho Non-Debug Version: 69.6K Code, 8.3K Data, 77.9K Total
7916 1.1 jruoho Debug Version: 150.0K Code, 61.7K Data, 211.7K Total
7917 1.1 jruoho Current Release:
7918 1.1 jruoho Non-Debug Version: 70.7K Code, 8.6K Data, 79.3K Total
7919 1.1 jruoho Debug Version: 151.7K Code, 62.4K Data, 214.1K Total
7920 1.1 jruoho
7921 1.1 jruoho
7922 1.1 jruoho 2) Linux
7923 1.1 jruoho
7924 1.1 jruoho Initialize thermal driver's timer before it is used. (Knut
7925 1.1 jruoho Neumann)
7926 1.1 jruoho
7927 1.1 jruoho Allow handling negative celsius values. (Kochi Takayoshi)
7928 1.1 jruoho
7929 1.1 jruoho Fix thermal management and make trip points. R/W (Pavel Machek)
7930 1.1 jruoho
7931 1.1 jruoho Fix /proc/acpi/sleep. (P. Christeas)
7932 1.1 jruoho
7933 1.1 jruoho IA64 fixes. (David Mosberger)
7934 1.1 jruoho
7935 1.1 jruoho Fix reversed logic in blacklist code. (Sergio Monteiro Basto)
7936 1.1 jruoho
7937 1.1 jruoho Replace ACPI_DEBUG define with ACPI_DEBUG_OUTPUT. (Dominik
7938 1.1 jruoho Brodowski)
7939 1.1 jruoho
7940 1.1 jruoho
7941 1.1 jruoho 3) iASL Compiler/Disassembler
7942 1.1 jruoho
7943 1.1 jruoho Clarified some warning/error messages.
7944 1.1 jruoho
7945 1.1 jruoho
7946 1.1 jruoho ----------------------------------------
7947 1.1 jruoho 18 September 2002. Summary of changes for this release.
7948 1.1 jruoho
7949 1.1 jruoho
7950 1.1 jruoho 1) ACPI CA Core Subsystem version 20020918:
7951 1.1 jruoho
7952 1.1 jruoho Fixed a reported problem with reference chaining (via the Index()
7953 1.1 jruoho and RefOf() operators) in the ObjectType() and SizeOf() operators.
7954 1.1 jruoho The definition of these operators includes the dereferencing of
7955 1.1 jruoho all chained references to return information on the base object.
7956 1.1 jruoho
7957 1.1 jruoho Fixed a problem with stores to indexed package elements - the
7958 1.1 jruoho existing code would not complete the store if an "implicit
7959 1.1 jruoho conversion" was not performed. In other words, if the existing
7960 1.1 jruoho object (package element) was to be replaced completely, the code
7961 1.1 jruoho didn't handle this case.
7962 1.1 jruoho
7963 1.1 jruoho Relaxed typechecking on the ASL "Scope" operator to allow the
7964 1.1 jruoho target name to refer to an object of type Integer, String, or
7965 1.1 jruoho Buffer, in addition to the scoping object types (Device,
7966 1.1 jruoho predefined Scopes, Processor, PowerResource, and ThermalZone.)
7967 1.1 jruoho This allows existing AML code that has workarounds for a bug in
7968 1.1 jruoho Windows to function properly. A warning is issued, however. This
7969 1.1 jruoho affects both the AML interpreter and the iASL compiler. Below is
7970 1.1 jruoho an example of this type of ASL code:
7971 1.1 jruoho
7972 1.1 jruoho Name(DEB,0x00)
7973 1.1 jruoho Scope(DEB)
7974 1.1 jruoho {
7975 1.1 jruoho
7976 1.1 jruoho Fixed some reported problems with 64-bit integer support in the
7977 1.1 jruoho local implementation of C library functions (clib.c)
7978 1.1 jruoho
7979 1.1 jruoho
7980 1.1 jruoho 2) Linux
7981 1.1 jruoho
7982 1.1 jruoho Use ACPI fix map region instead of IOAPIC region, since it is
7983 1.1 jruoho undefined in non-SMP.
7984 1.1 jruoho
7985 1.1 jruoho Ensure that the SCI has the proper polarity and trigger, even on
7986 1.1 jruoho systems that do not have an interrupt override entry in the MADT.
7987 1.1 jruoho
7988 1.1 jruoho 2.5 big driver reorganization (Pat Mochel)
7989 1.1 jruoho
7990 1.1 jruoho Use early table mapping code from acpitable.c (Andi Kleen)
7991 1.1 jruoho
7992 1.1 jruoho New blacklist entries (Andi Kleen)
7993 1.1 jruoho
7994 1.1 jruoho Blacklist improvements. Split blacklist code out into a separate
7995 1.1 jruoho file. Move checking the blacklist to very early. Previously, we
7996 1.1 jruoho would use ACPI tables, and then halfway through init, check the
7997 1.1 jruoho blacklist -- too late. Now, it's early enough to completely fall-
7998 1.1 jruoho back to non-ACPI.
7999 1.1 jruoho
8000 1.1 jruoho
8001 1.1 jruoho 3) iASL Compiler/Disassembler version 20020918:
8002 1.1 jruoho
8003 1.1 jruoho Fixed a problem where the typechecking code didn't know that an
8004 1.1 jruoho alias could point to a method. In other words, aliases were not
8005 1.1 jruoho being dereferenced during typechecking.
8006 1.1 jruoho
8007 1.1 jruoho
8008 1.1 jruoho ----------------------------------------
8009 1.1 jruoho 29 August 2002. Summary of changes for this release.
8010 1.1 jruoho
8011 1.1 jruoho 1) ACPI CA Core Subsystem Version 20020829:
8012 1.1 jruoho
8013 1.1 jruoho If the target of a Scope() operator already exists, it must be an
8014 1.1 jruoho object type that actually opens a scope -- such as a Device,
8015 1.1 jruoho Method, Scope, etc. This is a fatal runtime error. Similar error
8016 1.1 jruoho check has been added to the iASL compiler also.
8017 1.1 jruoho
8018 1.1 jruoho Tightened up the namespace load to disallow multiple names in the
8019 1.1 jruoho same scope. This previously was allowed if both objects were of
8020 1.1 jruoho the same type. (i.e., a lookup was the same as entering a new
8021 1.1 jruoho name).
8022 1.1 jruoho
8023 1.1 jruoho
8024 1.1 jruoho 2) Linux
8025 1.1 jruoho
8026 1.1 jruoho Ensure that the ACPI interrupt has the proper trigger and
8027 1.1 jruoho polarity.
8028 1.1 jruoho
8029 1.1 jruoho local_irq_disable is extraneous. (Matthew Wilcox)
8030 1.1 jruoho
8031 1.1 jruoho Make "acpi=off" actually do what it says, and not use the ACPI
8032 1.1 jruoho interpreter *or* the tables.
8033 1.1 jruoho
8034 1.1 jruoho Added arch-neutral support for parsing SLIT and SRAT tables (Kochi
8035 1.1 jruoho Takayoshi)
8036 1.1 jruoho
8037 1.1 jruoho
8038 1.1 jruoho 3) iASL Compiler/Disassembler Version 20020829:
8039 1.1 jruoho
8040 1.1 jruoho Implemented namepath optimization for name declarations. For
8041 1.1 jruoho example, a declaration like "Method (\_SB_.ABCD)" would get
8042 1.1 jruoho optimized to "Method (ABCD)" if the declaration is within the
8043 1.1 jruoho \_SB_ scope. This optimization is in addition to the named
8044 1.1 jruoho reference path optimization first released in the previous
8045 1.1 jruoho version. This would seem to complete all possible optimizations
8046 1.1 jruoho for namepaths within the ASL/AML.
8047 1.1 jruoho
8048 1.1 jruoho If the target of a Scope() operator already exists, it must be an
8049 1.1 jruoho object type that actually opens a scope -- such as a Device,
8050 1.1 jruoho Method, Scope, etc.
8051 1.1 jruoho
8052 1.1 jruoho Implemented a check and warning for unreachable code in the same
8053 1.1 jruoho block below a Return() statement.
8054 1.1 jruoho
8055 1.1 jruoho Fixed a problem where the listing file was not generated if the
8056 1.1 jruoho compiler aborted if the maximum error count was exceeded (200).
8057 1.1 jruoho
8058 1.1 jruoho Fixed a problem where the typechecking of method return values was
8059 1.1 jruoho broken. This includes the check for a return value when the
8060 1.1 jruoho method is invoked as a TermArg (a return value is expected.)
8061 1.1 jruoho
8062 1.1 jruoho Fixed a reported problem where EOF conditions during a quoted
8063 1.1 jruoho string or comment caused a fault.
8064 1.1 jruoho
8065 1.1 jruoho
8066 1.1 jruoho ----------------------------------------
8067 1.1 jruoho 15 August 2002. Summary of changes for this release.
8068 1.1 jruoho
8069 1.1 jruoho 1) ACPI CA Core Subsystem Version 20020815:
8070 1.1 jruoho
8071 1.1 jruoho Fixed a reported problem where a Store to a method argument that
8072 1.1 jruoho contains a reference did not perform the indirect store correctly.
8073 1.1 jruoho This problem was created during the conversion to the new
8074 1.1 jruoho reference object model - the indirect store to a method argument
8075 1.1 jruoho code was not updated to reflect the new model.
8076 1.1 jruoho
8077 1.1 jruoho Reworked the ACPI mode change code to better conform to ACPI 2.0,
8078 1.1 jruoho handle corner cases, and improve code legibility (Kochi Takayoshi)
8079 1.1 jruoho
8080 1.1 jruoho Fixed a problem with the pathname parsing for the carat (^)
8081 1.1 jruoho prefix. The heavy use of the carat operator by the new namepath
8082 1.1 jruoho optimization in the iASL compiler uncovered a problem with the AML
8083 1.1 jruoho interpreter handling of this prefix. In the case where one or
8084 1.1 jruoho more carats precede a single nameseg, the nameseg was treated as
8085 1.1 jruoho standalone and the search rule (to root) was inadvertently
8086 1.1 jruoho applied. This could cause both the iASL compiler and the
8087 1.1 jruoho interpreter to find the wrong object or to miss the error that
8088 1.1 jruoho should occur if the object does not exist at that exact pathname.
8089 1.1 jruoho
8090 1.1 jruoho Found and fixed the problem where the HP Pavilion DSDT would not
8091 1.1 jruoho load. This was a relatively minor tweak to the table loading code
8092 1.1 jruoho (a problem caused by the unexpected encounter with a method
8093 1.1 jruoho invocation not within a control method), but it does not solve the
8094 1.1 jruoho overall issue of the execution of AML code at the table level.
8095 1.1 jruoho This investigation is still ongoing.
8096 1.1 jruoho
8097 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
8098 1.1 jruoho below. These are the code and data sizes for the acpica.lib
8099 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
8100 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
8101 1.1 jruoho version of the code includes the debug output trace mechanism and
8102 1.1 jruoho has a larger code and data size. Note that these values will vary
8103 1.1 jruoho depending on the efficiency of the compiler and the compiler
8104 1.1 jruoho options used during generation.
8105 1.1 jruoho
8106 1.1 jruoho Previous Release
8107 1.1 jruoho Non-Debug Version: 69.1K Code, 8.2K Data, 77.3K Total
8108 1.1 jruoho Debug Version: 149.4K Code, 61.6K Data, 211.0K Total
8109 1.1 jruoho Current Release:
8110 1.1 jruoho Non-Debug Version: 69.6K Code, 8.3K Data, 77.9K Total
8111 1.1 jruoho Debug Version: 150.0K Code, 61.7K Data, 211.7K Total
8112 1.1 jruoho
8113 1.1 jruoho
8114 1.1 jruoho 2) Linux
8115 1.1 jruoho
8116 1.1 jruoho Remove redundant slab.h include (Brad Hards)
8117 1.1 jruoho
8118 1.1 jruoho Fix several bugs in thermal.c (Herbert Nachtnebel)
8119 1.1 jruoho
8120 1.1 jruoho Make CONFIG_ACPI_BOOT work properly (Pavel Machek)
8121 1.1 jruoho
8122 1.1 jruoho Change acpi_system_suspend to use updated irq functions (Pavel
8123 1.1 jruoho Machek)
8124 1.1 jruoho
8125 1.1 jruoho Export acpi_get_firmware_table (Matthew Wilcox)
8126 1.1 jruoho
8127 1.1 jruoho Use proper root proc entry for ACPI (Kochi Takayoshi)
8128 1.1 jruoho
8129 1.1 jruoho Fix early-boot table parsing (Bjorn Helgaas)
8130 1.1 jruoho
8131 1.1 jruoho
8132 1.1 jruoho 3) iASL Compiler/Disassembler
8133 1.1 jruoho
8134 1.1 jruoho Reworked the compiler options to make them more consistent and to
8135 1.1 jruoho use two-letter options where appropriate. We were running out of
8136 1.1 jruoho sensible letters. This may break some makefiles, so check the
8137 1.1 jruoho current options list by invoking the compiler with no parameters.
8138 1.1 jruoho
8139 1.1 jruoho Completed the design and implementation of the ASL namepath
8140 1.1 jruoho optimization option for the compiler. This option optimizes all
8141 1.1 jruoho references to named objects to the shortest possible path. The
8142 1.1 jruoho first attempt tries to utilize a single nameseg (4 characters) and
8143 1.1 jruoho the "search-to-root" algorithm used by the interpreter. If that
8144 1.1 jruoho cannot be used (because either the name is not in the search path
8145 1.1 jruoho or there is a conflict with another object with the same name),
8146 1.1 jruoho the pathname is optimized using the carat prefix (usually a
8147 1.1 jruoho shorter string than specifying the entire path from the root.)
8148 1.1 jruoho
8149 1.1 jruoho Implemented support to obtain the DSDT from the Windows registry
8150 1.1 jruoho (when the disassembly option is specified with no input file).
8151 1.1 jruoho Added this code as the implementation for AcpiOsTableOverride in
8152 1.1 jruoho the Windows OSL. Migrated the 16-bit code (used in the AcpiDump
8153 1.1 jruoho utility) to scan memory for the DSDT to the AcpiOsTableOverride
8154 1.1 jruoho function in the DOS OSL to make the disassembler truly OS
8155 1.1 jruoho independent.
8156 1.1 jruoho
8157 1.1 jruoho Implemented a new option to disassemble and compile in one step.
8158 1.1 jruoho When used without an input filename, this option will grab the
8159 1.1 jruoho DSDT from the local machine, disassemble it, and compile it in one
8160 1.1 jruoho step.
8161 1.1 jruoho
8162 1.1 jruoho Added a warning message for invalid escapes (a backslash followed
8163 1.1 jruoho by any character other than the allowable escapes). This catches
8164 1.1 jruoho the quoted string error "\_SB_" (which should be "\\_SB_" ).
8165 1.1 jruoho
8166 1.1 jruoho Also, there are numerous instances in the ACPI specification where
8167 1.1 jruoho this error occurs.
8168 1.1 jruoho
8169 1.1 jruoho Added a compiler option to disable all optimizations. This is
8170 1.1 jruoho basically the "compatibility mode" because by using this option,
8171 1.1 jruoho the AML code will come out exactly the same as other ASL
8172 1.1 jruoho compilers.
8173 1.1 jruoho
8174 1.1 jruoho Added error messages for incorrectly ordered dependent resource
8175 1.1 jruoho functions. This includes: missing EndDependentFn macro at end of
8176 1.1 jruoho dependent resource list, nested dependent function macros (both
8177 1.1 jruoho start and end), and missing StartDependentFn macro. These are
8178 1.1 jruoho common errors that should be caught at compile time.
8179 1.1 jruoho
8180 1.1 jruoho Implemented _OSI support for the disassembler and compiler. _OSI
8181 1.1 jruoho must be included in the namespace for proper disassembly (because
8182 1.1 jruoho the disassembler must know the number of arguments.)
8183 1.1 jruoho
8184 1.1 jruoho Added an "optimization" message type that is optional (off by
8185 1.1 jruoho default). This message is used for all optimizations - including
8186 1.1 jruoho constant folding, integer optimization, and namepath optimization.
8187 1.1 jruoho
8188 1.1 jruoho ----------------------------------------
8189 1.1 jruoho 25 July 2002. Summary of changes for this release.
8190 1.1 jruoho
8191 1.1 jruoho
8192 1.1 jruoho 1) ACPI CA Core Subsystem Version 20020725:
8193 1.1 jruoho
8194 1.1 jruoho The AML Disassembler has been enhanced to produce compilable ASL
8195 1.1 jruoho code and has been integrated into the iASL compiler (see below) as
8196 1.1 jruoho well as the single-step disassembly for the AML debugger and the
8197 1.1 jruoho disassembler for the AcpiDump utility. All ACPI 2.0A opcodes,
8198 1.1 jruoho resource templates and macros are fully supported. The
8199 1.1 jruoho disassembler has been tested on over 30 different AML files,
8200 1.1 jruoho producing identical AML when the resulting disassembled ASL file
8201 1.1 jruoho is recompiled with the same ASL compiler.
8202 1.1 jruoho
8203 1.1 jruoho Modified the Resource Manager to allow zero interrupts and zero
8204 1.1 jruoho dma channels during the GetCurrentResources call. This was
8205 1.1 jruoho causing problems on some platforms.
8206 1.1 jruoho
8207 1.1 jruoho Added the AcpiOsRedirectOutput interface to the OSL to simplify
8208 1.1 jruoho output redirection for the AcpiOsPrintf and AcpiOsVprintf
8209 1.1 jruoho interfaces.
8210 1.1 jruoho
8211 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
8212 1.1 jruoho below. These are the code and data sizes for the acpica.lib
8213 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
8214 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
8215 1.1 jruoho version of the code includes the debug output trace mechanism and
8216 1.1 jruoho has a larger code and data size. Note that these values will vary
8217 1.1 jruoho depending on the efficiency of the compiler and the compiler
8218 1.1 jruoho options used during generation.
8219 1.1 jruoho
8220 1.1 jruoho Previous Release
8221 1.1 jruoho Non-Debug Version: 68.7K Code, 7.4K Data, 76.1K Total
8222 1.1 jruoho Debug Version: 142.9K Code, 58.7K Data, 201.6K Total
8223 1.1 jruoho Current Release:
8224 1.1 jruoho Non-Debug Version: 69.1K Code, 8.2K Data, 77.3K Total
8225 1.1 jruoho Debug Version: 149.4K Code, 61.6K Data, 211.0K Total
8226 1.1 jruoho
8227 1.1 jruoho
8228 1.1 jruoho 2) Linux
8229 1.1 jruoho
8230 1.1 jruoho Fixed a panic in the EC driver (Dominik Brodowski)
8231 1.1 jruoho
8232 1.1 jruoho Implemented checksum of the R/XSDT itself during Linux table scan
8233 1.1 jruoho (Richard Schaal)
8234 1.1 jruoho
8235 1.1 jruoho
8236 1.1 jruoho 3) iASL compiler
8237 1.1 jruoho
8238 1.1 jruoho The AML disassembler is integrated into the compiler. The "-d"
8239 1.1 jruoho option invokes the disassembler to completely disassemble an
8240 1.1 jruoho input AML file, producing as output a text ASL file with the
8241 1.1 jruoho extension ".dsl" (to avoid name collisions with existing .asl
8242 1.1 jruoho source files.) A future enhancement will allow the disassembler
8243 1.1 jruoho to obtain the BIOS DSDT from the registry under Windows.
8244 1.1 jruoho
8245 1.1 jruoho Fixed a problem with the VendorShort and VendorLong resource
8246 1.1 jruoho descriptors where an invalid AML sequence was created.
8247 1.1 jruoho
8248 1.1 jruoho Implemented a fix for BufferData term in the ASL parser. It was
8249 1.1 jruoho inadvertently defined twice, allowing invalid syntax to pass and
8250 1.1 jruoho causing reduction conflicts.
8251 1.1 jruoho
8252 1.1 jruoho Fixed a problem where the Ones opcode could get converted to a
8253 1.1 jruoho value of zero if "Ones" was used where a byte, word or dword value
8254 1.1 jruoho was expected. The 64-bit value is now truncated to the correct
8255 1.1 jruoho size with the correct value.
8256 1.1 jruoho
8257 1.1 jruoho
8258 1.1 jruoho
8259 1.1 jruoho ----------------------------------------
8260 1.1 jruoho 02 July 2002. Summary of changes for this release.
8261 1.1 jruoho
8262 1.1 jruoho
8263 1.1 jruoho 1) ACPI CA Core Subsystem Version 20020702:
8264 1.1 jruoho
8265 1.1 jruoho The Table Manager code has been restructured to add several new
8266 1.1 jruoho features. Tables that are not required by the core subsystem
8267 1.1 jruoho (other than the FADT, DSDT, FACS, PSDTs, etc.) are no longer
8268 1.1 jruoho validated in any way and are returned from AcpiGetFirmwareTable if
8269 1.1 jruoho requested. The AcpiOsTableOverride interface is now called for
8270 1.1 jruoho each table that is loaded by the subsystem in order to allow the
8271 1.1 jruoho host to override any table it chooses. Previously, only the DSDT
8272 1.1 jruoho could be overridden. Added one new files, tbrsdt.c and
8273 1.1 jruoho tbgetall.c.
8274 1.1 jruoho
8275 1.1 jruoho Fixed a problem with the conversion of internal package objects to
8276 1.1 jruoho external objects (when a package is returned from a control
8277 1.1 jruoho method.) The return buffer length was set to zero instead of the
8278 1.1 jruoho proper length of the package object.
8279 1.1 jruoho
8280 1.1 jruoho Fixed a reported problem with the use of the RefOf and DeRefOf
8281 1.1 jruoho operators when passing reference arguments to control methods. A
8282 1.1 jruoho new type of Reference object is used internally for references
8283 1.1 jruoho produced by the RefOf operator.
8284 1.1 jruoho
8285 1.1 jruoho Added additional error messages in the Resource Manager to explain
8286 1.1 jruoho AE_BAD_DATA errors when they occur during resource parsing.
8287 1.1 jruoho
8288 1.1 jruoho Split the AcpiEnableSubsystem into two primitives to enable a
8289 1.1 jruoho finer granularity initialization sequence. These two calls should
8290 1.1 jruoho be called in this order: AcpiEnableSubsystem (flags),
8291 1.1 jruoho AcpiInitializeObjects (flags). The flags parameter remains the
8292 1.1 jruoho same.
8293 1.1 jruoho
8294 1.1 jruoho
8295 1.1 jruoho 2) Linux
8296 1.1 jruoho
8297 1.1 jruoho Updated the ACPI utilities module to understand the new style of
8298 1.1 jruoho fully resolved package objects that are now returned from the core
8299 1.1 jruoho subsystem. This eliminates errors of the form:
8300 1.1 jruoho
8301 1.1 jruoho ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PPB_._PRT]
8302 1.1 jruoho acpi_utils-0430 [145] acpi_evaluate_reference:
8303 1.1 jruoho Invalid element in package (not a device reference)
8304 1.1 jruoho
8305 1.1 jruoho The method evaluation utility uses the new buffer allocation
8306 1.1 jruoho scheme instead of calling AcpiEvaluate Object twice.
8307 1.1 jruoho
8308 1.1 jruoho Added support for ECDT. This allows the use of the Embedded
8309 1.1 jruoho
8310 1.1 jruoho Controller before the namespace has been fully initialized, which
8311 1.1 jruoho is necessary for ACPI 2.0 support, and for some laptops to
8312 1.1 jruoho initialize properly. (Laptops using ECDT are still rare, so only
8313 1.1 jruoho limited testing was performed of the added functionality.)
8314 1.1 jruoho
8315 1.1 jruoho Fixed memory leaks in the EC driver.
8316 1.1 jruoho
8317 1.1 jruoho Eliminated a brittle code structure in acpi_bus_init().
8318 1.1 jruoho
8319 1.1 jruoho Eliminated the acpi_evaluate() helper function in utils.c. It is
8320 1.1 jruoho no longer needed since acpi_evaluate_object can optionally
8321 1.1 jruoho allocate memory for the return object.
8322 1.1 jruoho
8323 1.1 jruoho Implemented fix for keyboard hang when getting battery readings on
8324 1.1 jruoho some systems (Stephen White)
8325 1.1 jruoho
8326 1.1 jruoho PCI IRQ routing update (Dominik Brodowski)
8327 1.1 jruoho
8328 1.1 jruoho Fix an ifdef to allow compilation on UP with LAPIC but no IOAPIC
8329 1.1 jruoho support
8330 1.1 jruoho
8331 1.1 jruoho ----------------------------------------
8332 1.1 jruoho 11 June 2002. Summary of changes for this release.
8333 1.1 jruoho
8334 1.1 jruoho
8335 1.1 jruoho 1) ACPI CA Core Subsystem Version 20020611:
8336 1.1 jruoho
8337 1.1 jruoho Fixed a reported problem where constants such as Zero and One
8338 1.1 jruoho appearing within _PRT packages were not handled correctly within
8339 1.1 jruoho the resource manager code. Originally reported against the ASL
8340 1.1 jruoho compiler because the code generator now optimizes integers to
8341 1.1 jruoho their minimal AML representation (i.e. AML constants if possible.)
8342 1.1 jruoho The _PRT code now handles all AML constant opcodes correctly
8343 1.1 jruoho (Zero, One, Ones, Revision).
8344 1.1 jruoho
8345 1.1 jruoho Fixed a problem with the Concatenate operator in the AML
8346 1.1 jruoho interpreter where a buffer result object was incorrectly marked as
8347 1.1 jruoho not fully evaluated, causing a run-time error of AE_AML_INTERNAL.
8348 1.1 jruoho
8349 1.1 jruoho All package sub-objects are now fully resolved before they are
8350 1.1 jruoho returned from the external ACPI interfaces. This means that name
8351 1.1 jruoho strings are resolved to object handles, and constant operators
8352 1.1 jruoho (Zero, One, Ones, Revision) are resolved to Integers.
8353 1.1 jruoho
8354 1.1 jruoho Implemented immediate resolution of the AML Constant opcodes
8355 1.1 jruoho (Zero, One, Ones, Revision) to Integer objects upon detection
8356 1.1 jruoho within the AML stream. This has simplified and reduced the
8357 1.1 jruoho generated code size of the subsystem by eliminating about 10
8358 1.1 jruoho switch statements for these constants (which previously were
8359 1.1 jruoho contained in Reference objects.) The complicating issues are that
8360 1.1 jruoho the Zero opcode is used as a "placeholder" for unspecified
8361 1.1 jruoho optional target operands and stores to constants are defined to be
8362 1.1 jruoho no-ops.
8363 1.1 jruoho
8364 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
8365 1.1 jruoho below. These are the code and data sizes for the acpica.lib
8366 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
8367 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
8368 1.1 jruoho version of the code includes the debug output trace mechanism and
8369 1.1 jruoho has a larger code and data size. Note that these values will vary
8370 1.1 jruoho depending on the efficiency of the compiler and the compiler
8371 1.1 jruoho options used during generation.
8372 1.1 jruoho
8373 1.1 jruoho Previous Release
8374 1.1 jruoho Non-Debug Version: 69.3K Code, 7.4K Data, 76.7K Total
8375 1.1 jruoho Debug Version: 143.8K Code, 58.8K Data, 202.6K Total
8376 1.1 jruoho Current Release:
8377 1.1 jruoho Non-Debug Version: 68.7K Code, 7.4K Data, 76.1K Total
8378 1.1 jruoho Debug Version: 142.9K Code, 58.7K Data, 201.6K Total
8379 1.1 jruoho
8380 1.1 jruoho
8381 1.1 jruoho 2) Linux
8382 1.1 jruoho
8383 1.1 jruoho
8384 1.1 jruoho Added preliminary support for obtaining _TRA data for PCI root
8385 1.1 jruoho bridges (Bjorn Helgaas).
8386 1.1 jruoho
8387 1.1 jruoho
8388 1.1 jruoho 3) iASL Compiler Version X2046:
8389 1.1 jruoho
8390 1.1 jruoho Fixed a problem where the "_DDN" reserved name was defined to be a
8391 1.1 jruoho control method with one argument. There are no arguments, and
8392 1.1 jruoho _DDN does not have to be a control method.
8393 1.1 jruoho
8394 1.1 jruoho Fixed a problem with the Linux version of the compiler where the
8395 1.1 jruoho source lines printed with error messages were the wrong lines.
8396 1.1 jruoho This turned out to be the "LF versus CR/LF" difference between
8397 1.1 jruoho Windows and Unix. This appears to be the longstanding issue
8398 1.1 jruoho concerning listing output and error messages.
8399 1.1 jruoho
8400 1.1 jruoho Fixed a problem with the Linux version of compiler where opcode
8401 1.1 jruoho names within error messages were wrong. This was caused by a
8402 1.1 jruoho slight difference in the output of the Flex tool on Linux versus
8403 1.1 jruoho Windows.
8404 1.1 jruoho
8405 1.1 jruoho Fixed a problem with the Linux compiler where the hex output files
8406 1.1 jruoho contained some garbage data caused by an internal buffer overrun.
8407 1.1 jruoho
8408 1.1 jruoho
8409 1.1 jruoho ----------------------------------------
8410 1.1 jruoho 17 May 2002. Summary of changes for this release.
8411 1.1 jruoho
8412 1.1 jruoho
8413 1.1 jruoho 1) ACPI CA Core Subsystem Version 20020517:
8414 1.1 jruoho
8415 1.1 jruoho Implemented a workaround to an BIOS bug discovered on the HP
8416 1.1 jruoho OmniBook where the FADT revision number and the table size are
8417 1.1 jruoho inconsistent (ACPI 2.0 revision vs. ACPI 1.0 table size). The new
8418 1.1 jruoho behavior is to fallback to using only the ACPI 1.0 fields of the
8419 1.1 jruoho FADT if the table is too small to be a ACPI 2.0 table as claimed
8420 1.1 jruoho by the revision number. Although this is a BIOS bug, this is a
8421 1.1 jruoho case where the workaround is simple enough and with no side
8422 1.1 jruoho effects, so it seemed prudent to add it. A warning message is
8423 1.1 jruoho issued, however.
8424 1.1 jruoho
8425 1.1 jruoho Implemented minimum size checks for the fixed-length ACPI tables -
8426 1.1 jruoho - the FADT and FACS, as well as consistency checks between the
8427 1.1 jruoho revision number and the table size.
8428 1.1 jruoho
8429 1.1 jruoho Fixed a reported problem in the table override support where the
8430 1.1 jruoho new table pointer was incorrectly treated as a physical address
8431 1.1 jruoho instead of a logical address.
8432 1.1 jruoho
8433 1.1 jruoho Eliminated the use of the AE_AML_ERROR exception and replaced it
8434 1.1 jruoho with more descriptive codes.
8435 1.1 jruoho
8436 1.1 jruoho Fixed a problem where an exception would occur if an ASL Field was
8437 1.1 jruoho defined with no named Field Units underneath it (used by some
8438 1.1 jruoho index fields).
8439 1.1 jruoho
8440 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
8441 1.1 jruoho below. These are the code and data sizes for the acpica.lib
8442 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
8443 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
8444 1.1 jruoho version of the code includes the debug output trace mechanism and
8445 1.1 jruoho has a larger code and data size. Note that these values will vary
8446 1.1 jruoho depending on the efficiency of the compiler and the compiler
8447 1.1 jruoho options used during generation.
8448 1.1 jruoho
8449 1.1 jruoho Previous Release
8450 1.1 jruoho Non-Debug Version: 68.8K Code, 7.1K Data, 75.9K Total
8451 1.1 jruoho Debug Version: 142.9K Code, 58.4K Data, 201.3K Total
8452 1.1 jruoho Current Release:
8453 1.1 jruoho Non-Debug Version: 69.3K Code, 7.4K Data, 76.7K Total
8454 1.1 jruoho Debug Version: 143.8K Code, 58.8K Data, 202.6K Total
8455 1.1 jruoho
8456 1.1 jruoho
8457 1.1 jruoho
8458 1.1 jruoho 2) Linux
8459 1.1 jruoho
8460 1.1 jruoho Much work done on ACPI init (MADT and PCI IRQ routing support).
8461 1.1 jruoho (Paul D. and Dominik Brodowski)
8462 1.1 jruoho
8463 1.1 jruoho Fix PCI IRQ-related panic on boot (Sam Revitch)
8464 1.1 jruoho
8465 1.1 jruoho Set BM_ARB_DIS when entering a sleep state (Ducrot Bruno)
8466 1.1 jruoho
8467 1.1 jruoho Fix "MHz" typo (Dominik Brodowski)
8468 1.1 jruoho
8469 1.1 jruoho Fix RTC year 2000 issue (Dominik Brodowski)
8470 1.1 jruoho
8471 1.1 jruoho Preclude multiple button proc entries (Eric Brunet)
8472 1.1 jruoho
8473 1.1 jruoho Moved arch-specific code out of include/platform/aclinux.h
8474 1.1 jruoho
8475 1.1 jruoho 3) iASL Compiler Version X2044:
8476 1.1 jruoho
8477 1.1 jruoho Implemented error checking for the string used in the EISAID macro
8478 1.1 jruoho (Usually used in the definition of the _HID object.) The code now
8479 1.1 jruoho strictly enforces the PnP format - exactly 7 characters, 3
8480 1.1 jruoho uppercase letters and 4 hex digits.
8481 1.1 jruoho
8482 1.1 jruoho If a raw string is used in the definition of the _HID object
8483 1.1 jruoho (instead of the EISAID macro), the string must contain all
8484 1.1 jruoho alphanumeric characters (e.g., "*PNP0011" is not allowed because
8485 1.1 jruoho of the asterisk.)
8486 1.1 jruoho
8487 1.1 jruoho Implemented checking for invalid use of ACPI reserved names for
8488 1.1 jruoho most of the name creation operators (Name, Device, Event, Mutex,
8489 1.1 jruoho OperationRegion, PowerResource, Processor, and ThermalZone.)
8490 1.1 jruoho Previously, this check was only performed for control methods.
8491 1.1 jruoho
8492 1.1 jruoho Implemented an additional check on the Name operator to emit an
8493 1.1 jruoho error if a reserved name that must be implemented in ASL as a
8494 1.1 jruoho control method is used. We know that a reserved name must be a
8495 1.1 jruoho method if it is defined with input arguments.
8496 1.1 jruoho
8497 1.1 jruoho The warning emitted when a namespace object reference is not found
8498 1.1 jruoho during the cross reference phase has been changed into an error.
8499 1.1 jruoho The "External" directive should be used for names defined in other
8500 1.1 jruoho modules.
8501 1.1 jruoho
8502 1.1 jruoho
8503 1.1 jruoho 4) Tools and Utilities
8504 1.1 jruoho
8505 1.1 jruoho The 16-bit tools (adump16 and aexec16) have been regenerated and
8506 1.1 jruoho tested.
8507 1.1 jruoho
8508 1.1 jruoho Fixed a problem with the output of both acpidump and adump16 where
8509 1.1 jruoho the indentation of closing parentheses and brackets was not
8510 1.1 jruoho
8511 1.1 jruoho aligned properly with the parent block.
8512 1.1 jruoho
8513 1.1 jruoho
8514 1.1 jruoho ----------------------------------------
8515 1.1 jruoho 03 May 2002. Summary of changes for this release.
8516 1.1 jruoho
8517 1.1 jruoho
8518 1.1 jruoho 1) ACPI CA Core Subsystem Version 20020503:
8519 1.1 jruoho
8520 1.1 jruoho Added support a new OSL interface that allows the host operating
8521 1.1 jruoho
8522 1.1 jruoho system software to override the DSDT found in the firmware -
8523 1.1 jruoho AcpiOsTableOverride. With this interface, the OSL can examine the
8524 1.1 jruoho version of the firmware DSDT and replace it with a different one
8525 1.1 jruoho if desired.
8526 1.1 jruoho
8527 1.1 jruoho Added new external interfaces for accessing ACPI registers from
8528 1.1 jruoho device drivers and other system software - AcpiGetRegister and
8529 1.1 jruoho AcpiSetRegister. This was simply an externalization of the
8530 1.1 jruoho existing AcpiHwBitRegister interfaces.
8531 1.1 jruoho
8532 1.1 jruoho Fixed a regression introduced in the previous build where the
8533 1.1 jruoho ASL/AML CreateField operator always returned an error,
8534 1.1 jruoho "destination must be a NS Node".
8535 1.1 jruoho
8536 1.1 jruoho Extended the maximum time (before failure) to successfully enable
8537 1.1 jruoho ACPI mode to 3 seconds.
8538 1.1 jruoho
8539 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
8540 1.1 jruoho below. These are the code and data sizes for the acpica.lib
8541 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
8542 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
8543 1.1 jruoho version of the code includes the debug output trace mechanism and
8544 1.1 jruoho has a larger code and data size. Note that these values will vary
8545 1.1 jruoho depending on the efficiency of the compiler and the compiler
8546 1.1 jruoho options used during generation.
8547 1.1 jruoho
8548 1.1 jruoho Previous Release
8549 1.1 jruoho Non-Debug Version: 68.5K Code, 7.0K Data, 75.5K Total
8550 1.1 jruoho Debug Version: 142.4K Code, 58.3K Data, 200.7K Total
8551 1.1 jruoho Current Release:
8552 1.1 jruoho Non-Debug Version: 68.8K Code, 7.1K Data, 75.9K Total
8553 1.1 jruoho Debug Version: 142.9K Code, 58.4K Data, 201.3K Total
8554 1.1 jruoho
8555 1.1 jruoho
8556 1.1 jruoho 2) Linux
8557 1.1 jruoho
8558 1.1 jruoho Enhanced ACPI init code for SMP. We are now fully MPS and $PIR-
8559 1.1 jruoho free. While 3 out of 4 of our in-house systems work fine, the last
8560 1.1 jruoho one still hangs when testing the LAPIC timer.
8561 1.1 jruoho
8562 1.1 jruoho Renamed many files in 2.5 kernel release to omit "acpi_" from the
8563 1.1 jruoho name.
8564 1.1 jruoho
8565 1.1 jruoho Added warning on boot for Presario 711FR.
8566 1.1 jruoho
8567 1.1 jruoho Sleep improvements (Pavel Machek)
8568 1.1 jruoho
8569 1.1 jruoho ACPI can now be built without CONFIG_PCI enabled.
8570 1.1 jruoho
8571 1.1 jruoho IA64: Fixed memory map functions (JI Lee)
8572 1.1 jruoho
8573 1.1 jruoho
8574 1.1 jruoho 3) iASL Compiler Version X2043:
8575 1.1 jruoho
8576 1.1 jruoho Added support to allow the compiler to be integrated into the MS
8577 1.1 jruoho VC++ development environment for one-button compilation of single
8578 1.1 jruoho files or entire projects -- with error-to-source-line mapping.
8579 1.1 jruoho
8580 1.1 jruoho Implemented support for compile-time constant folding for the
8581 1.1 jruoho Type3, Type4, and Type5 opcodes first defined in the ACPI 2.0
8582 1.1 jruoho specification. This allows the ASL writer to use expressions
8583 1.1 jruoho instead of Integer/Buffer/String constants in terms that must
8584 1.1 jruoho evaluate to constants at compile time and will also simplify the
8585 1.1 jruoho emitted AML in any such sub-expressions that can be folded
8586 1.1 jruoho (evaluated at compile-time.) This increases the size of the
8587 1.1 jruoho compiler significantly because a portion of the ACPI CA AML
8588 1.1 jruoho interpreter is included within the compiler in order to pre-
8589 1.1 jruoho evaluate constant expressions.
8590 1.1 jruoho
8591 1.1 jruoho
8592 1.1 jruoho Fixed a problem with the "Unicode" ASL macro that caused the
8593 1.1 jruoho compiler to fault. (This macro is used in conjunction with the
8594 1.1 jruoho _STR reserved name.)
8595 1.1 jruoho
8596 1.1 jruoho Implemented an AML opcode optimization to use the Zero, One, and
8597 1.1 jruoho Ones opcodes where possible to further reduce the size of integer
8598 1.1 jruoho constants and thus reduce the overall size of the generated AML
8599 1.1 jruoho code.
8600 1.1 jruoho
8601 1.1 jruoho Implemented error checking for new reserved terms for ACPI version
8602 1.1 jruoho 2.0A.
8603 1.1 jruoho
8604 1.1 jruoho Implemented the -qr option to display the current list of ACPI
8605 1.1 jruoho reserved names known to the compiler.
8606 1.1 jruoho
8607 1.1 jruoho Implemented the -qc option to display the current list of ASL
8608 1.1 jruoho operators that are allowed within constant expressions and can
8609 1.1 jruoho therefore be folded at compile time if the operands are constants.
8610 1.1 jruoho
8611 1.1 jruoho
8612 1.1 jruoho 4) Documentation
8613 1.1 jruoho
8614 1.1 jruoho Updated the Programmer's Reference for new interfaces, data types,
8615 1.1 jruoho and memory allocation model options.
8616 1.1 jruoho
8617 1.1 jruoho Updated the iASL Compiler User Reference to apply new format and
8618 1.1 jruoho add information about new features and options.
8619 1.1 jruoho
8620 1.1 jruoho ----------------------------------------
8621 1.1 jruoho 19 April 2002. Summary of changes for this release.
8622 1.1 jruoho
8623 1.1 jruoho 1) ACPI CA Core Subsystem Version 20020419:
8624 1.1 jruoho
8625 1.1 jruoho The source code base for the Core Subsystem has been completely
8626 1.1 jruoho cleaned with PC-lint (FlexLint) for both 32-bit and 64-bit
8627 1.1 jruoho versions. The Lint option files used are included in the
8628 1.1 jruoho /acpi/generate/lint directory.
8629 1.1 jruoho
8630 1.1 jruoho Implemented enhanced status/error checking across the entire
8631 1.1 jruoho Hardware manager subsystem. Any hardware errors (reported from
8632 1.1 jruoho the OSL) are now bubbled up and will abort a running control
8633 1.1 jruoho method.
8634 1.1 jruoho
8635 1.1 jruoho
8636 1.1 jruoho Fixed a problem where the per-ACPI-table integer width (32 or 64)
8637 1.1 jruoho was stored only with control method nodes, causing a fault when
8638 1.1 jruoho non-control method code was executed during table loading. The
8639 1.1 jruoho solution implemented uses a global variable to indicate table
8640 1.1 jruoho width across the entire ACPI subsystem. Therefore, ACPI CA does
8641 1.1 jruoho not support mixed integer widths across different ACPI tables
8642 1.1 jruoho (DSDT, SSDT).
8643 1.1 jruoho
8644 1.1 jruoho Fixed a problem where NULL extended fields (X fields) in an ACPI
8645 1.1 jruoho 2.0 ACPI FADT caused the table load to fail. Although the
8646 1.1 jruoho existing ACPI specification is a bit fuzzy on this topic, the new
8647 1.1 jruoho behavior is to fall back on a ACPI 1.0 field if the corresponding
8648 1.1 jruoho ACPI 2.0 X field is zero (even though the table revision indicates
8649 1.1 jruoho a full ACPI 2.0 table.) The ACPI specification will be updated to
8650 1.1 jruoho clarify this issue.
8651 1.1 jruoho
8652 1.1 jruoho Fixed a problem with the SystemMemory operation region handler
8653 1.1 jruoho where memory was always accessed byte-wise even if the AML-
8654 1.1 jruoho specified access width was larger than a byte. This caused
8655 1.1 jruoho problems on systems with memory-mapped I/O. Memory is now
8656 1.1 jruoho accessed with the width specified. On systems that do not support
8657 1.1 jruoho non-aligned transfers, a check is made to guarantee proper address
8658 1.1 jruoho alignment before proceeding in order to avoid an AML-caused
8659 1.1 jruoho alignment fault within the kernel.
8660 1.1 jruoho
8661 1.1 jruoho
8662 1.1 jruoho Fixed a problem with the ExtendedIrq resource where only one byte
8663 1.1 jruoho of the 4-byte Irq field was extracted.
8664 1.1 jruoho
8665 1.1 jruoho Fixed the AcpiExDigitsNeeded() procedure to support _UID. This
8666 1.1 jruoho function was out of date and required a rewrite.
8667 1.1 jruoho
8668 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
8669 1.1 jruoho below. These are the code and data sizes for the acpica.lib
8670 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
8671 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
8672 1.1 jruoho version of the code includes the debug output trace mechanism and
8673 1.1 jruoho has a larger code and data size. Note that these values will vary
8674 1.1 jruoho depending on the efficiency of the compiler and the compiler
8675 1.1 jruoho options used during generation.
8676 1.1 jruoho
8677 1.1 jruoho Previous Release
8678 1.1 jruoho Non-Debug Version: 66.6K Code, 6.5K Data, 73.1K Total
8679 1.1 jruoho Debug Version: 139.8K Code, 57.4K Data, 197.2K Total
8680 1.1 jruoho Current Release:
8681 1.1 jruoho Non-Debug Version: 68.5K Code, 7.0K Data, 75.5K Total
8682 1.1 jruoho Debug Version: 142.4K Code, 58.3K Data, 200.7K Total
8683 1.1 jruoho
8684 1.1 jruoho
8685 1.1 jruoho 2) Linux
8686 1.1 jruoho
8687 1.1 jruoho PCI IRQ routing fixes (Dominik Brodowski)
8688 1.1 jruoho
8689 1.1 jruoho
8690 1.1 jruoho 3) iASL Compiler Version X2042:
8691 1.1 jruoho
8692 1.1 jruoho Implemented an additional compile-time error check for a field
8693 1.1 jruoho unit whose size + minimum access width would cause a run-time
8694 1.1 jruoho access beyond the end-of-region. Previously, only the field size
8695 1.1 jruoho itself was checked.
8696 1.1 jruoho
8697 1.1 jruoho The Core subsystem and iASL compiler now share a common parse
8698 1.1 jruoho object in preparation for compile-time evaluation of the type
8699 1.1 jruoho 3/4/5 ASL operators.
8700 1.1 jruoho
8701 1.1 jruoho
8702 1.1 jruoho ----------------------------------------
8703 1.1 jruoho Summary of changes for this release: 03_29_02
8704 1.1 jruoho
8705 1.1 jruoho 1) ACPI CA Core Subsystem Version 20020329:
8706 1.1 jruoho
8707 1.1 jruoho Implemented support for late evaluation of TermArg operands to
8708 1.1 jruoho Buffer and Package objects. This allows complex expressions to be
8709 1.1 jruoho used in the declarations of these object types.
8710 1.1 jruoho
8711 1.1 jruoho Fixed an ACPI 1.0 compatibility issue when reading Fields. In ACPI
8712 1.1 jruoho 1.0, if the field was larger than 32 bits, it was returned as a
8713 1.1 jruoho buffer - otherwise it was returned as an integer. In ACPI 2.0,
8714 1.1 jruoho the field is returned as a buffer only if the field is larger than
8715 1.1 jruoho 64 bits. The TableRevision is now considered when making this
8716 1.1 jruoho conversion to avoid incompatibility with existing ASL code.
8717 1.1 jruoho
8718 1.1 jruoho Implemented logical addressing for AcpiOsGetRootPointer. This
8719 1.1 jruoho allows an RSDP with either a logical or physical address. With
8720 1.1 jruoho this support, the host OS can now override all ACPI tables with
8721 1.1 jruoho one logical RSDP. Includes implementation of "typed" pointer
8722 1.1 jruoho support to allow a common data type for both physical and logical
8723 1.1 jruoho pointers internally. This required a change to the
8724 1.1 jruoho AcpiOsGetRootPointer interface.
8725 1.1 jruoho
8726 1.1 jruoho Implemented the use of ACPI 2.0 Generic Address Structures for all
8727 1.1 jruoho GPE, Fixed Event, and PM Timer I/O. This allows the use of memory
8728 1.1 jruoho mapped I/O for these ACPI features.
8729 1.1 jruoho
8730 1.1 jruoho Initialization now ignores not only non-required tables (All
8731 1.1 jruoho tables other than the FADT, FACS, DSDT, and SSDTs), but also does
8732 1.1 jruoho not validate the table headers of unrecognized tables.
8733 1.1 jruoho
8734 1.1 jruoho Fixed a problem where a notify handler could only be
8735 1.1 jruoho installed/removed on an object of type Device. All "notify"
8736 1.1 jruoho
8737 1.1 jruoho objects are now supported -- Devices, Processor, Power, and
8738 1.1 jruoho Thermal.
8739 1.1 jruoho
8740 1.1 jruoho Removed most verbosity from the ACPI_DB_INFO debug level. Only
8741 1.1 jruoho critical information is returned when this debug level is enabled.
8742 1.1 jruoho
8743 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
8744 1.1 jruoho below. These are the code and data sizes for the acpica.lib
8745 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
8746 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
8747 1.1 jruoho version of the code includes the debug output trace mechanism and
8748 1.1 jruoho has a larger code and data size. Note that these values will vary
8749 1.1 jruoho depending on the efficiency of the compiler and the compiler
8750 1.1 jruoho options used during generation.
8751 1.1 jruoho
8752 1.1 jruoho Previous Release
8753 1.1 jruoho Non-Debug Version: 65.4K Code, 6.2K Data, 71.6K Total
8754 1.1 jruoho Debug Version: 138.0K Code, 56.6K Data, 194.6K Total
8755 1.1 jruoho Current Release:
8756 1.1 jruoho Non-Debug Version: 66.6K Code, 6.5K Data, 73.1K Total
8757 1.1 jruoho Debug Version: 139.8K Code, 57.4K Data, 197.2K Total
8758 1.1 jruoho
8759 1.1 jruoho
8760 1.1 jruoho 2) Linux:
8761 1.1 jruoho
8762 1.1 jruoho The processor driver (acpi_processor.c) now fully supports ACPI
8763 1.1 jruoho 2.0-based processor performance control (e.g. Intel(R)
8764 1.1 jruoho SpeedStep(TM) technology) Note that older laptops that only have
8765 1.1 jruoho the Intel "applet" interface are not supported through this. The
8766 1.1 jruoho 'limit' and 'performance' interface (/proc) are fully functional.
8767 1.1 jruoho [Note that basic policy for controlling performance state
8768 1.1 jruoho transitions will be included in the next version of ospmd.] The
8769 1.1 jruoho idle handler was modified to more aggressively use C2, and PIIX4
8770 1.1 jruoho errata handling underwent a complete overhaul (big thanks to
8771 1.1 jruoho Dominik Brodowski).
8772 1.1 jruoho
8773 1.1 jruoho Added support for ACPI-PCI device binding (acpi_pci_root.c). _ADR-
8774 1.1 jruoho based devices in the ACPI namespace are now dynamically bound
8775 1.1 jruoho (associated) with their PCI counterparts (e.g. PCI1->01:00.0).
8776 1.1 jruoho This allows, among other things, ACPI to resolve bus numbers for
8777 1.1 jruoho subordinate PCI bridges.
8778 1.1 jruoho
8779 1.1 jruoho Enhanced PCI IRQ routing to get the proper bus number for _PRT
8780 1.1 jruoho entries defined underneath PCI bridges.
8781 1.1 jruoho
8782 1.1 jruoho Added IBM 600E to bad bios list due to invalid _ADR value for
8783 1.1 jruoho PIIX4 PCI-ISA bridge, resulting in improper PCI IRQ routing.
8784 1.1 jruoho
8785 1.1 jruoho In the process of adding full MADT support (e.g. IOAPIC) for IA32
8786 1.1 jruoho (acpi.c, mpparse.c) -- stay tuned.
8787 1.1 jruoho
8788 1.1 jruoho Added back visual differentiation between fixed-feature and
8789 1.1 jruoho control-method buttons in dmesg. Buttons are also subtyped (e.g.
8790 1.1 jruoho button/power/PWRF) to simplify button identification.
8791 1.1 jruoho
8792 1.1 jruoho We no longer use -Wno-unused when compiling debug. Please ignore
8793 1.1 jruoho any "_THIS_MODULE defined but not used" messages.
8794 1.1 jruoho
8795 1.1 jruoho Can now shut down the system using "magic sysrq" key.
8796 1.1 jruoho
8797 1.1 jruoho
8798 1.1 jruoho 3) iASL Compiler version 2041:
8799 1.1 jruoho
8800 1.1 jruoho Fixed a problem where conversion errors for hex/octal/decimal
8801 1.1 jruoho constants were not reported.
8802 1.1 jruoho
8803 1.1 jruoho Implemented a fix for the General Register template Address field.
8804 1.1 jruoho This field was 8 bits when it should be 64.
8805 1.1 jruoho
8806 1.1 jruoho Fixed a problem where errors/warnings were no longer being emitted
8807 1.1 jruoho within the listing output file.
8808 1.1 jruoho
8809 1.1 jruoho Implemented the ACPI 2.0A restriction on ACPI Table Signatures to
8810 1.1 jruoho exactly 4 characters, alphanumeric only.
8811 1.1 jruoho
8812 1.1 jruoho
8813 1.1 jruoho
8814 1.1 jruoho
8815 1.1 jruoho ----------------------------------------
8816 1.1 jruoho Summary of changes for this release: 03_08_02
8817 1.1 jruoho
8818 1.1 jruoho
8819 1.1 jruoho 1) ACPI CA Core Subsystem Version 20020308:
8820 1.1 jruoho
8821 1.1 jruoho Fixed a problem with AML Fields where the use of the "AccessAny"
8822 1.1 jruoho keyword could cause an interpreter error due to attempting to read
8823 1.1 jruoho or write beyond the end of the parent Operation Region.
8824 1.1 jruoho
8825 1.1 jruoho Fixed a problem in the SystemMemory Operation Region handler where
8826 1.1 jruoho an attempt was made to map memory beyond the end of the region.
8827 1.1 jruoho This was the root cause of the "AE_ERROR" and "AE_NO_MEMORY"
8828 1.1 jruoho errors on some Linux systems.
8829 1.1 jruoho
8830 1.1 jruoho Fixed a problem where the interpreter/namespace "search to root"
8831 1.1 jruoho algorithm was not functioning for some object types. Relaxed the
8832 1.1 jruoho internal restriction on the search to allow upsearches for all
8833 1.1 jruoho external object types as well as most internal types.
8834 1.1 jruoho
8835 1.1 jruoho
8836 1.1 jruoho 2) Linux:
8837 1.1 jruoho
8838 1.1 jruoho We now use safe_halt() macro versus individual calls to sti | hlt.
8839 1.1 jruoho
8840 1.1 jruoho Writing to the processor limit interface should now work. "echo 1"
8841 1.1 jruoho will increase the limit, 2 will decrease, and 0 will reset to the
8842 1.1 jruoho
8843 1.1 jruoho default.
8844 1.1 jruoho
8845 1.1 jruoho
8846 1.1 jruoho 3) ASL compiler:
8847 1.1 jruoho
8848 1.1 jruoho Fixed segfault on Linux version.
8849 1.1 jruoho
8850 1.1 jruoho
8851 1.1 jruoho ----------------------------------------
8852 1.1 jruoho Summary of changes for this release: 02_25_02
8853 1.1 jruoho
8854 1.1 jruoho 1) ACPI CA Core Subsystem:
8855 1.1 jruoho
8856 1.1 jruoho
8857 1.1 jruoho Fixed a problem where the GPE bit masks were not initialized
8858 1.1 jruoho properly, causing erratic GPE behavior.
8859 1.1 jruoho
8860 1.1 jruoho Implemented limited support for multiple calling conventions. The
8861 1.1 jruoho code can be generated with either the VPL (variable parameter
8862 1.1 jruoho list, or "C") convention, or the FPL (fixed parameter list, or
8863 1.1 jruoho "Pascal") convention. The core subsystem is about 3.4% smaller
8864 1.1 jruoho when generated with FPL.
8865 1.1 jruoho
8866 1.1 jruoho
8867 1.1 jruoho 2) Linux
8868 1.1 jruoho
8869 1.1 jruoho Re-add some /proc/acpi/event functionality that was lost during
8870 1.1 jruoho the rewrite
8871 1.1 jruoho
8872 1.1 jruoho Resolved issue with /proc events for fixed-feature buttons showing
8873 1.1 jruoho up as the system device.
8874 1.1 jruoho
8875 1.1 jruoho Fixed checks on C2/C3 latencies to be inclusive of maximum values.
8876 1.1 jruoho
8877 1.1 jruoho Replaced AE_ERRORs in acpi_osl.c with more specific error codes.
8878 1.1 jruoho
8879 1.1 jruoho Changed ACPI PRT option from "pci=noacpi-routing" to "pci=noacpi"
8880 1.1 jruoho
8881 1.1 jruoho Fixed limit interface & usage to fix bugs with passive cooling
8882 1.1 jruoho hysterisis.
8883 1.1 jruoho
8884 1.1 jruoho Restructured PRT support.
8885 1.1 jruoho
8886 1.1 jruoho
8887 1.1 jruoho ----------------------------------------
8888 1.1 jruoho Summary of changes for this label: 02_14_02
8889 1.1 jruoho
8890 1.1 jruoho
8891 1.1 jruoho 1) ACPI CA Core Subsystem:
8892 1.1 jruoho
8893 1.1 jruoho Implemented support in AcpiLoadTable to allow loading of FACS and
8894 1.1 jruoho FADT tables.
8895 1.1 jruoho
8896 1.1 jruoho Suport for the now-obsolete interim 0.71 64-bit ACPI tables has
8897 1.1 jruoho been removed. All 64-bit platforms should be migrated to the ACPI
8898 1.1 jruoho 2.0 tables. The actbl71.h header has been removed from the source
8899 1.1 jruoho tree.
8900 1.1 jruoho
8901 1.1 jruoho All C macros defined within the subsystem have been prefixed with
8902 1.1 jruoho "ACPI_" to avoid collision with other system include files.
8903 1.1 jruoho
8904 1.1 jruoho Removed the return value for the two AcpiOsPrint interfaces, since
8905 1.1 jruoho it is never used and causes lint warnings for ignoring the return
8906 1.1 jruoho value.
8907 1.1 jruoho
8908 1.1 jruoho Added error checking to all internal mutex acquire and release
8909 1.1 jruoho calls. Although a failure from one of these interfaces is
8910 1.1 jruoho probably a fatal system error, these checks will cause the
8911 1.1 jruoho immediate abort of the currently executing method or interface.
8912 1.1 jruoho
8913 1.1 jruoho Fixed a problem where the AcpiSetCurrentResources interface could
8914 1.1 jruoho fault. This was a side effect of the deployment of the new memory
8915 1.1 jruoho allocation model.
8916 1.1 jruoho
8917 1.1 jruoho Fixed a couple of problems with the Global Lock support introduced
8918 1.1 jruoho in the last major build. The "common" (1.0/2.0) internal FACS was
8919 1.1 jruoho being overwritten with the FACS signature and clobbering the
8920 1.1 jruoho Global Lock pointer. Also, the actual firmware FACS was being
8921 1.1 jruoho unmapped after construction of the "common" FACS, preventing
8922 1.1 jruoho access to the actual Global Lock field within it. The "common"
8923 1.1 jruoho internal FACS is no longer installed as an actual ACPI table; it
8924 1.1 jruoho is used simply as a global.
8925 1.1 jruoho
8926 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
8927 1.1 jruoho below. These are the code and data sizes for the acpica.lib
8928 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
8929 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
8930 1.1 jruoho version of the code includes the debug output trace mechanism and
8931 1.1 jruoho has a larger code and data size. Note that these values will vary
8932 1.1 jruoho depending on the efficiency of the compiler and the compiler
8933 1.1 jruoho options used during generation.
8934 1.1 jruoho
8935 1.1 jruoho Previous Release (02_07_01)
8936 1.1 jruoho Non-Debug Version: 65.2K Code, 6.2K Data, 71.4K Total
8937 1.1 jruoho Debug Version: 136.9K Code, 56.4K Data, 193.3K Total
8938 1.1 jruoho Current Release:
8939 1.1 jruoho Non-Debug Version: 65.4K Code, 6.2K Data, 71.6K Total
8940 1.1 jruoho Debug Version: 138.0K Code, 56.6K Data, 194.6K Total
8941 1.1 jruoho
8942 1.1 jruoho
8943 1.1 jruoho 2) Linux
8944 1.1 jruoho
8945 1.1 jruoho Updated Linux-specific code for core macro and OSL interface
8946 1.1 jruoho changes described above.
8947 1.1 jruoho
8948 1.1 jruoho Improved /proc/acpi/event. It now can be opened only once and has
8949 1.1 jruoho proper poll functionality.
8950 1.1 jruoho
8951 1.1 jruoho Fixed and restructured power management (acpi_bus).
8952 1.1 jruoho
8953 1.1 jruoho Only create /proc "view by type" when devices of that class exist.
8954 1.1 jruoho
8955 1.1 jruoho Fixed "charging/discharging" bug (and others) in acpi_battery.
8956 1.1 jruoho
8957 1.1 jruoho Improved thermal zone code.
8958 1.1 jruoho
8959 1.1 jruoho
8960 1.1 jruoho 3) ASL Compiler, version X2039:
8961 1.1 jruoho
8962 1.1 jruoho
8963 1.1 jruoho Implemented the new compiler restriction on ASL String hex/octal
8964 1.1 jruoho escapes to non-null, ASCII values. An error results if an invalid
8965 1.1 jruoho value is used. (This will require an ACPI 2.0 specification
8966 1.1 jruoho change.)
8967 1.1 jruoho
8968 1.1 jruoho AML object labels that are output to the optional C and ASM source
8969 1.1 jruoho are now prefixed with both the ACPI table signature and table ID
8970 1.1 jruoho to help guarantee uniqueness within a large BIOS project.
8971 1.1 jruoho
8972 1.1 jruoho
8973 1.1 jruoho ----------------------------------------
8974 1.1 jruoho Summary of changes for this label: 02_01_02
8975 1.1 jruoho
8976 1.1 jruoho 1) ACPI CA Core Subsystem:
8977 1.1 jruoho
8978 1.1 jruoho ACPI 2.0 support is complete in the entire Core Subsystem and the
8979 1.1 jruoho ASL compiler. All new ACPI 2.0 operators are implemented and all
8980 1.1 jruoho other changes for ACPI 2.0 support are complete. With
8981 1.1 jruoho simultaneous code and data optimizations throughout the subsystem,
8982 1.1 jruoho ACPI 2.0 support has been implemented with almost no additional
8983 1.1 jruoho cost in terms of code and data size.
8984 1.1 jruoho
8985 1.1 jruoho Implemented a new mechanism for allocation of return buffers. If
8986 1.1 jruoho the buffer length is set to ACPI_ALLOCATE_BUFFER, the buffer will
8987 1.1 jruoho be allocated on behalf of the caller. Consolidated all return
8988 1.1 jruoho buffer validation and allocation to a common procedure. Return
8989 1.1 jruoho buffers will be allocated via the primary OSL allocation interface
8990 1.1 jruoho since it appears that a separate pool is not needed by most users.
8991 1.1 jruoho If a separate pool is required for these buffers, the caller can
8992 1.1 jruoho still use the original mechanism and pre-allocate the buffer(s).
8993 1.1 jruoho
8994 1.1 jruoho Implemented support for string operands within the DerefOf
8995 1.1 jruoho operator.
8996 1.1 jruoho
8997 1.1 jruoho Restructured the Hardware and Event managers to be table driven,
8998 1.1 jruoho simplifying the source code and reducing the amount of generated
8999 1.1 jruoho code.
9000 1.1 jruoho
9001 1.1 jruoho Split the common read/write low-level ACPI register bitfield
9002 1.1 jruoho procedure into a separate read and write, simplifying the code
9003 1.1 jruoho considerably.
9004 1.1 jruoho
9005 1.1 jruoho Obsoleted the AcpiOsCallocate OSL interface. This interface was
9006 1.1 jruoho used only a handful of times and didn't have enough critical mass
9007 1.1 jruoho for a separate interface. Replaced with a common calloc procedure
9008 1.1 jruoho in the core.
9009 1.1 jruoho
9010 1.1 jruoho Fixed a reported problem with the GPE number mapping mechanism
9011 1.1 jruoho that allows GPE1 numbers to be non-contiguous with GPE0.
9012 1.1 jruoho Reorganized the GPE information and shrunk a large array that was
9013 1.1 jruoho originally large enough to hold info for all possible GPEs (256)
9014 1.1 jruoho to simply large enough to hold all GPEs up to the largest GPE
9015 1.1 jruoho number on the machine.
9016 1.1 jruoho
9017 1.1 jruoho Fixed a reported problem with resource structure alignment on 64-
9018 1.1 jruoho bit platforms.
9019 1.1 jruoho
9020 1.1 jruoho Changed the AcpiEnableEvent and AcpiDisableEvent external
9021 1.1 jruoho interfaces to not require any flags for the common case of
9022 1.1 jruoho enabling/disabling a GPE.
9023 1.1 jruoho
9024 1.1 jruoho Implemented support to allow a "Notify" on a Processor object.
9025 1.1 jruoho
9026 1.1 jruoho Most TBDs in comments within the source code have been resolved
9027 1.1 jruoho and eliminated.
9028 1.1 jruoho
9029 1.1 jruoho
9030 1.1 jruoho Fixed a problem in the interpreter where a standalone parent
9031 1.1 jruoho prefix (^) was not handled correctly in the interpreter and
9032 1.1 jruoho debugger.
9033 1.1 jruoho
9034 1.1 jruoho Removed obsolete and unnecessary GPE save/restore code.
9035 1.1 jruoho
9036 1.1 jruoho Implemented Field support in the ASL Load operator. This allows a
9037 1.1 jruoho table to be loaded from a named field, in addition to loading a
9038 1.1 jruoho table directly from an Operation Region.
9039 1.1 jruoho
9040 1.1 jruoho Implemented timeout and handle support in the external Global Lock
9041 1.1 jruoho interfaces.
9042 1.1 jruoho
9043 1.1 jruoho Fixed a problem in the AcpiDump utility where pathnames were no
9044 1.1 jruoho longer being generated correctly during the dump of named objects.
9045 1.1 jruoho
9046 1.1 jruoho Modified the AML debugger to give a full display of if/while
9047 1.1 jruoho predicates instead of just one AML opcode at a time. (The
9048 1.1 jruoho predicate can have several nested ASL statements.) The old method
9049 1.1 jruoho was confusing during single stepping.
9050 1.1 jruoho
9051 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
9052 1.1 jruoho below. These are the code and data sizes for the acpica.lib
9053 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
9054 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
9055 1.1 jruoho version of the code includes the debug output trace mechanism and
9056 1.1 jruoho has a larger code and data size. Note that these values will vary
9057 1.1 jruoho depending on the efficiency of the compiler and the compiler
9058 1.1 jruoho options used during generation.
9059 1.1 jruoho
9060 1.1 jruoho Previous Release (12_18_01)
9061 1.1 jruoho Non-Debug Version: 66.1K Code, 5.5K Data, 71.6K Total
9062 1.1 jruoho Debug Version: 138.3K Code, 55.9K Data, 194.2K Total
9063 1.1 jruoho Current Release:
9064 1.1 jruoho Non-Debug Version: 65.2K Code, 6.2K Data, 71.4K Total
9065 1.1 jruoho Debug Version: 136.9K Code, 56.4K Data, 193.3K Total
9066 1.1 jruoho
9067 1.1 jruoho 2) Linux
9068 1.1 jruoho
9069 1.1 jruoho Implemented fix for PIIX reverse throttling errata (Processor
9070 1.1 jruoho driver)
9071 1.1 jruoho
9072 1.1 jruoho Added new Limit interface (Processor and Thermal drivers)
9073 1.1 jruoho
9074 1.1 jruoho New thermal policy (Thermal driver)
9075 1.1 jruoho
9076 1.1 jruoho Many updates to /proc
9077 1.1 jruoho
9078 1.1 jruoho Battery "low" event support (Battery driver)
9079 1.1 jruoho
9080 1.1 jruoho Supports ACPI PCI IRQ routing (PCI Link and PCI root drivers)
9081 1.1 jruoho
9082 1.1 jruoho IA32 - IA64 initialization unification, no longer experimental
9083 1.1 jruoho
9084 1.1 jruoho Menuconfig options redesigned
9085 1.1 jruoho
9086 1.1 jruoho 3) ASL Compiler, version X2037:
9087 1.1 jruoho
9088 1.1 jruoho Implemented several new output features to simplify integration of
9089 1.1 jruoho AML code into firmware: 1) Output the AML in C source code with
9090 1.1 jruoho labels for each named ASL object. The original ASL source code
9091 1.1 jruoho is interleaved as C comments. 2) Output the AML in ASM source code
9092 1.1 jruoho with labels and interleaved ASL source. 3) Output the AML in
9093 1.1 jruoho raw hex table form, in either C or ASM.
9094 1.1 jruoho
9095 1.1 jruoho Implemented support for optional string parameters to the
9096 1.1 jruoho LoadTable operator.
9097 1.1 jruoho
9098 1.1 jruoho Completed support for embedded escape sequences within string
9099 1.1 jruoho literals. The compiler now supports all single character escapes
9100 1.1 jruoho as well as the Octal and Hex escapes. Note: the insertion of a
9101 1.1 jruoho null byte into a string literal (via the hex/octal escape) causes
9102 1.1 jruoho the string to be immediately terminated. A warning is issued.
9103 1.1 jruoho
9104 1.1 jruoho Fixed a problem where incorrect AML was generated for the case
9105 1.1 jruoho where an ASL namepath consists of a single parent prefix (
9106 1.1 jruoho
9107 1.1 jruoho ) with no trailing name segments.
9108 1.1 jruoho
9109 1.1 jruoho The compiler has been successfully generated with a 64-bit C
9110 1.1 jruoho compiler.
9111 1.1 jruoho
9112 1.1 jruoho
9113 1.1 jruoho
9114 1.1 jruoho
9115 1.1 jruoho ----------------------------------------
9116 1.1 jruoho Summary of changes for this label: 12_18_01
9117 1.1 jruoho
9118 1.1 jruoho 1) Linux
9119 1.1 jruoho
9120 1.1 jruoho Enhanced blacklist with reason and severity fields. Any table's
9121 1.1 jruoho signature may now be used to identify a blacklisted system.
9122 1.1 jruoho
9123 1.1 jruoho Call _PIC control method to inform the firmware which interrupt
9124 1.1 jruoho model the OS is using. Turn on any disabled link devices.
9125 1.1 jruoho
9126 1.1 jruoho Cleaned up busmgr /proc error handling (Andreas Dilger)
9127 1.1 jruoho
9128 1.1 jruoho 2) ACPI CA Core Subsystem:
9129 1.1 jruoho
9130 1.1 jruoho Implemented ACPI 2.0 semantics for the "Break" operator (Exit from
9131 1.1 jruoho while loop)
9132 1.1 jruoho
9133 1.1 jruoho Completed implementation of the ACPI 2.0 "Continue",
9134 1.1 jruoho "ConcatenateResTemplate", "DataTableRegion", and "LoadTable"
9135 1.1 jruoho operators. All new ACPI 2.0 operators are now implemented in both
9136 1.1 jruoho the ASL compiler and the AML interpreter. The only remaining ACPI
9137 1.1 jruoho 2.0 task is support for the String data type in the DerefOf
9138 1.1 jruoho operator. Fixed a problem with AcquireMutex where the status code
9139 1.1 jruoho was lost if the caller had to actually wait for the mutex.
9140 1.1 jruoho
9141 1.1 jruoho Increased the maximum ASL Field size from 64K bits to 4G bits.
9142 1.1 jruoho
9143 1.1 jruoho Completed implementation of the external Global Lock interfaces --
9144 1.1 jruoho AcpiAcquireGlobalLock and AcpiReleaseGlobalLock. The Timeout and
9145 1.1 jruoho Handler parameters were added.
9146 1.1 jruoho
9147 1.1 jruoho Completed another pass at removing warnings and issues when
9148 1.1 jruoho compiling with 64-bit compilers. The code now compiles cleanly
9149 1.1 jruoho with the Intel 64-bit C/C++ compiler. Most notably, the pointer
9150 1.1 jruoho add and subtract (diff) macros have changed considerably.
9151 1.1 jruoho
9152 1.1 jruoho
9153 1.1 jruoho Created and deployed a new ACPI_SIZE type that is 64-bits wide on
9154 1.1 jruoho 64-bit platforms, 32-bits on all others. This type is used
9155 1.1 jruoho wherever memory allocation and/or the C sizeof() operator is used,
9156 1.1 jruoho and affects the OSL memory allocation interfaces AcpiOsAllocate
9157 1.1 jruoho and AcpiOsCallocate.
9158 1.1 jruoho
9159 1.1 jruoho Implemented sticky user breakpoints in the AML debugger.
9160 1.1 jruoho
9161 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
9162 1.1 jruoho below. These are the code and data sizes for the acpica.lib
9163 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
9164 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
9165 1.1 jruoho version of the code includes the debug output trace mechanism and
9166 1.1 jruoho has a larger code and data size. Note that these values will vary
9167 1.1 jruoho depending on the efficiency of the compiler and the compiler
9168 1.1 jruoho options used during generation.
9169 1.1 jruoho
9170 1.1 jruoho Previous Release (12_05_01)
9171 1.1 jruoho Non-Debug Version: 64.7K Code, 5.3K Data, 70.0K Total
9172 1.1 jruoho Debug Version: 136.2K Code, 55.6K Data, 191.8K Total
9173 1.1 jruoho Current Release:
9174 1.1 jruoho Non-Debug Version: 66.1K Code, 5.5K Data, 71.6K Total
9175 1.1 jruoho Debug Version: 138.3K Code, 55.9K Data, 194.2K Total
9176 1.1 jruoho
9177 1.1 jruoho 3) ASL Compiler, version X2034:
9178 1.1 jruoho
9179 1.1 jruoho Now checks for (and generates an error if detected) the use of a
9180 1.1 jruoho Break or Continue statement without an enclosing While statement.
9181 1.1 jruoho
9182 1.1 jruoho
9183 1.1 jruoho Successfully generated the compiler with the Intel 64-bit C
9184 1.1 jruoho compiler.
9185 1.1 jruoho
9186 1.1 jruoho ----------------------------------------
9187 1.1 jruoho Summary of changes for this label: 12_05_01
9188 1.1 jruoho
9189 1.1 jruoho 1) ACPI CA Core Subsystem:
9190 1.1 jruoho
9191 1.1 jruoho The ACPI 2.0 CopyObject operator is fully implemented. This
9192 1.1 jruoho operator creates a new copy of an object (and is also used to
9193 1.1 jruoho bypass the "implicit conversion" mechanism of the Store operator.)
9194 1.1 jruoho
9195 1.1 jruoho The ACPI 2.0 semantics for the SizeOf operator are fully
9196 1.1 jruoho implemented. The change is that performing a SizeOf on a
9197 1.1 jruoho reference object causes an automatic dereference of the object to
9198 1.1 jruoho tha actual value before the size is evaluated. This behavior was
9199 1.1 jruoho undefined in ACPI 1.0.
9200 1.1 jruoho
9201 1.1 jruoho The ACPI 2.0 semantics for the Extended IRQ resource descriptor
9202 1.1 jruoho have been implemented. The interrupt polarity and mode are now
9203 1.1 jruoho independently set.
9204 1.1 jruoho
9205 1.1 jruoho Fixed a problem where ASL Constants (Zero, One, Ones, Revision)
9206 1.1 jruoho appearing in Package objects were not properly converted to
9207 1.1 jruoho integers when the internal Package was converted to an external
9208 1.1 jruoho object (via the AcpiEvaluateObject interface.)
9209 1.1 jruoho
9210 1.1 jruoho Fixed a problem with the namespace object deletion mechanism for
9211 1.1 jruoho objects created by control methods. There were two parts to this
9212 1.1 jruoho problem: 1) Objects created during the initialization phase method
9213 1.1 jruoho parse were not being deleted, and 2) The object owner ID mechanism
9214 1.1 jruoho to track objects was broken.
9215 1.1 jruoho
9216 1.1 jruoho Fixed a problem where the use of the ASL Scope operator within a
9217 1.1 jruoho control method would result in an invalid opcode exception.
9218 1.1 jruoho
9219 1.1 jruoho Fixed a problem introduced in the previous label where the buffer
9220 1.1 jruoho length required for the _PRT structure was not being returned
9221 1.1 jruoho correctly.
9222 1.1 jruoho
9223 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
9224 1.1 jruoho below. These are the code and data sizes for the acpica.lib
9225 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
9226 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
9227 1.1 jruoho version of the code includes the debug output trace mechanism and
9228 1.1 jruoho has a larger code and data size. Note that these values will vary
9229 1.1 jruoho depending on the efficiency of the compiler and the compiler
9230 1.1 jruoho options used during generation.
9231 1.1 jruoho
9232 1.1 jruoho Previous Release (11_20_01)
9233 1.1 jruoho Non-Debug Version: 64.1K Code, 5.3K Data, 69.4K Total
9234 1.1 jruoho Debug Version: 135.1K Code, 55.4K Data, 190.5K Total
9235 1.1 jruoho
9236 1.1 jruoho Current Release:
9237 1.1 jruoho Non-Debug Version: 64.7K Code, 5.3K Data, 70.0K Total
9238 1.1 jruoho Debug Version: 136.2K Code, 55.6K Data, 191.8K Total
9239 1.1 jruoho
9240 1.1 jruoho 2) Linux:
9241 1.1 jruoho
9242 1.1 jruoho Updated all files to apply cleanly against 2.4.16.
9243 1.1 jruoho
9244 1.1 jruoho Added basic PCI Interrupt Routing Table (PRT) support for IA32
9245 1.1 jruoho (acpi_pci.c), and unified the PRT code for IA32 and IA64. This
9246 1.1 jruoho version supports both static and dyanmic PRT entries, but dynamic
9247 1.1 jruoho entries are treated as if they were static (not yet
9248 1.1 jruoho reconfigurable). Architecture- specific code to use this data is
9249 1.1 jruoho absent on IA32 but should be available shortly.
9250 1.1 jruoho
9251 1.1 jruoho Changed the initialization sequence to start the ACPI interpreter
9252 1.1 jruoho (acpi_init) prior to initialization of the PCI driver (pci_init)
9253 1.1 jruoho in init/main.c. This ordering is required to support PRT and
9254 1.1 jruoho facilitate other (future) enhancement. A side effect is that the
9255 1.1 jruoho ACPI bus driver and certain device drivers can no longer be loaded
9256 1.1 jruoho as modules.
9257 1.1 jruoho
9258 1.1 jruoho Modified the 'make menuconfig' options to allow PCI Interrupt
9259 1.1 jruoho Routing support to be included without the ACPI Bus and other
9260 1.1 jruoho device drivers.
9261 1.1 jruoho
9262 1.1 jruoho 3) ASL Compiler, version X2033:
9263 1.1 jruoho
9264 1.1 jruoho Fixed some issues with the use of the new CopyObject and
9265 1.1 jruoho DataTableRegion operators. Both are fully functional.
9266 1.1 jruoho
9267 1.1 jruoho ----------------------------------------
9268 1.1 jruoho Summary of changes for this label: 11_20_01
9269 1.1 jruoho
9270 1.1 jruoho 20 November 2001. Summary of changes for this release.
9271 1.1 jruoho
9272 1.1 jruoho 1) ACPI CA Core Subsystem:
9273 1.1 jruoho
9274 1.1 jruoho Updated Index support to match ACPI 2.0 semantics. Storing a
9275 1.1 jruoho Integer, String, or Buffer to an Index of a Buffer will store only
9276 1.1 jruoho the least-significant byte of the source to the Indexed buffer
9277 1.1 jruoho byte. Multiple writes are not performed.
9278 1.1 jruoho
9279 1.1 jruoho Fixed a problem where the access type used in an AccessAs ASL
9280 1.1 jruoho operator was not recorded correctly into the field object.
9281 1.1 jruoho
9282 1.1 jruoho Fixed a problem where ASL Event objects were created in a
9283 1.1 jruoho signalled state. Events are now created in an unsignalled state.
9284 1.1 jruoho
9285 1.1 jruoho The internal object cache is now purged after table loading and
9286 1.1 jruoho initialization to reduce the use of dynamic kernel memory -- on
9287 1.1 jruoho the assumption that object use is greatest during the parse phase
9288 1.1 jruoho of the entire table (versus the run-time use of individual control
9289 1.1 jruoho methods.)
9290 1.1 jruoho
9291 1.1 jruoho ACPI 2.0 variable-length packages are now fully operational.
9292 1.1 jruoho
9293 1.1 jruoho Code and Data Size: Code and Data optimizations have permitted new
9294 1.1 jruoho feature development with an actual reduction in the library size.
9295 1.1 jruoho Current core subsystem library sizes are shown below. These are
9296 1.1 jruoho the code and data sizes for the acpica.lib produced by the
9297 1.1 jruoho Microsoft Visual C++ 6.0 compiler, and these values do not include
9298 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code
9299 1.1 jruoho includes the debug output trace mechanism and has a larger code
9300 1.1 jruoho and data size. Note that these values will vary depending on the
9301 1.1 jruoho efficiency of the compiler and the compiler options used during
9302 1.1 jruoho generation.
9303 1.1 jruoho
9304 1.1 jruoho Previous Release (11_09_01):
9305 1.1 jruoho Non-Debug Version: 63.7K Code, 5.2K Data, 68.9K Total
9306 1.1 jruoho Debug Version: 134.5K Code, 55.4K Data, 189.9K Total
9307 1.1 jruoho
9308 1.1 jruoho Current Release:
9309 1.1 jruoho Non-Debug Version: 64.1K Code, 5.3K Data, 69.4K Total
9310 1.1 jruoho Debug Version: 135.1K Code, 55.4K Data, 190.5K Total
9311 1.1 jruoho
9312 1.1 jruoho 2) Linux:
9313 1.1 jruoho
9314 1.1 jruoho Enhanced the ACPI boot-time initialization code to allow the use
9315 1.1 jruoho of Local APIC tables for processor enumeration on IA-32, and to
9316 1.1 jruoho pave the way for a fully MPS-free boot (on SMP systems) in the
9317 1.1 jruoho near future. This functionality replaces
9318 1.1 jruoho arch/i386/kernel/acpitables.c, which was introduced in an earlier
9319 1.1 jruoho 2.4.15-preX release. To enable this feature you must add
9320 1.1 jruoho "acpi_boot=on" to the kernel command line -- see the help entry
9321 1.1 jruoho for CONFIG_ACPI_BOOT for more information. An IA-64 release is in
9322 1.1 jruoho the works...
9323 1.1 jruoho
9324 1.1 jruoho Restructured the configuration options to allow boot-time table
9325 1.1 jruoho parsing support without inclusion of the ACPI Interpreter (and
9326 1.1 jruoho other) code.
9327 1.1 jruoho
9328 1.1 jruoho NOTE: This release does not include fixes for the reported events,
9329 1.1 jruoho power-down, and thermal passive cooling issues (coming soon).
9330 1.1 jruoho
9331 1.1 jruoho 3) ASL Compiler:
9332 1.1 jruoho
9333 1.1 jruoho Added additional typechecking for Fields within restricted access
9334 1.1 jruoho Operation Regions. All fields within EC and CMOS regions must be
9335 1.1 jruoho declared with ByteAcc. All fields withing SMBus regions must be
9336 1.1 jruoho declared with the BufferAcc access type.
9337 1.1 jruoho
9338 1.1 jruoho Fixed a problem where the listing file output of control methods
9339 1.1 jruoho no longer interleaved the actual AML code with the ASL source
9340 1.1 jruoho code.
9341 1.1 jruoho
9342 1.1 jruoho
9343 1.1 jruoho
9344 1.1 jruoho
9345 1.1 jruoho ----------------------------------------
9346 1.1 jruoho Summary of changes for this label: 11_09_01
9347 1.1 jruoho
9348 1.1 jruoho 1) ACPI CA Core Subsystem:
9349 1.1 jruoho
9350 1.1 jruoho Implemented ACPI 2.0-defined support for writes to fields with a
9351 1.1 jruoho Buffer, String, or Integer source operand that is smaller than the
9352 1.1 jruoho target field. In these cases, the source operand is zero-extended
9353 1.1 jruoho to fill the target field.
9354 1.1 jruoho
9355 1.1 jruoho Fixed a problem where a Field starting bit offset (within the
9356 1.1 jruoho parent operation region) was calculated incorrectly if the
9357 1.1 jruoho
9358 1.1 jruoho alignment of the field differed from the access width. This
9359 1.1 jruoho affected CreateWordField, CreateDwordField, CreateQwordField, and
9360 1.1 jruoho possibly other fields that use the "AccessAny" keyword.
9361 1.1 jruoho
9362 1.1 jruoho Fixed a problem introduced in the 11_02_01 release where indirect
9363 1.1 jruoho stores through method arguments did not operate correctly.
9364 1.1 jruoho
9365 1.1 jruoho 2) Linux:
9366 1.1 jruoho
9367 1.1 jruoho Implemented boot-time ACPI table parsing support
9368 1.1 jruoho (CONFIG_ACPI_BOOT) for IA32 and IA64 UP/SMP systems. This code
9369 1.1 jruoho facilitates the use of ACPI tables (e.g. MADT, SRAT) rather than
9370 1.1 jruoho legacy BIOS interfaces (e.g. MPS) for the configuration of system
9371 1.1 jruoho processors, memory, and interrupts during setup_arch(). Note that
9372 1.1 jruoho this patch does not include the required architecture-specific
9373 1.1 jruoho changes required to apply this information -- subsequent patches
9374 1.1 jruoho will be posted for both IA32 and IA64 to achieve this.
9375 1.1 jruoho
9376 1.1 jruoho Added low-level sleep support for IA32 platforms, courtesy of Pat
9377 1.1 jruoho Mochel. This allows IA32 systems to transition to/from various
9378 1.1 jruoho sleeping states (e.g. S1, S3), although the lack of a centralized
9379 1.1 jruoho driver model and power-manageable drivers will prevent its
9380 1.1 jruoho (successful) use on most systems.
9381 1.1 jruoho
9382 1.1 jruoho Revamped the ACPI 'menuconfig' layout: created new "ACPI Support"
9383 1.1 jruoho submenu, unified IA32 and IA64 options, added new "Boot using ACPI
9384 1.1 jruoho tables" option, etc.
9385 1.1 jruoho
9386 1.1 jruoho Increased the default timeout for the EC driver from 1ms to 10ms
9387 1.1 jruoho (1000 cycles of 10us) to try to address AE_TIME errors during EC
9388 1.1 jruoho transactions.
9389 1.1 jruoho
9390 1.1 jruoho ----------------------------------------
9391 1.1 jruoho Summary of changes for this label: 11_02_01
9392 1.1 jruoho
9393 1.1 jruoho 1) ACPI CA Core Subsystem:
9394 1.1 jruoho
9395 1.1 jruoho ACPI 2.0 Support: Implemented ACPI 2.0 64-bit Field access
9396 1.1 jruoho (QWordAcc keyword). All ACPI 2.0 64-bit support is now
9397 1.1 jruoho implemented.
9398 1.1 jruoho
9399 1.1 jruoho OSL Interfaces: Several of the OSL (AcpiOs*) interfaces required
9400 1.1 jruoho changes to support ACPI 2.0 Qword field access. Read/Write
9401 1.1 jruoho PciConfiguration(), Read/Write Memory(), and Read/Write Port() now
9402 1.1 jruoho accept an ACPI_INTEGER (64 bits) as the value parameter. Also,
9403 1.1 jruoho the value parameter for the address space handler interface is now
9404 1.1 jruoho an ACPI_INTEGER. OSL implementations of these interfaces must now
9405 1.1 jruoho handle the case where the Width parameter is 64.
9406 1.1 jruoho
9407 1.1 jruoho Index Fields: Fixed a problem where unaligned bit assembly and
9408 1.1 jruoho disassembly for IndexFields was not supported correctly.
9409 1.1 jruoho
9410 1.1 jruoho Index and Bank Fields: Nested Index and Bank Fields are now
9411 1.1 jruoho supported. During field access, a check is performed to ensure
9412 1.1 jruoho that the value written to an Index or Bank register is not out of
9413 1.1 jruoho the range of the register. The Index (or Bank) register is
9414 1.1 jruoho written before each access to the field data. Future support will
9415 1.1 jruoho include allowing individual IndexFields to be wider than the
9416 1.1 jruoho DataRegister width.
9417 1.1 jruoho
9418 1.1 jruoho Fields: Fixed a problem where the AML interpreter was incorrectly
9419 1.1 jruoho attempting to write beyond the end of a Field/OpRegion. This was
9420 1.1 jruoho a boundary case that occurred when a DWORD field was written to a
9421 1.1 jruoho BYTE access OpRegion, forcing multiple writes and causing the
9422 1.1 jruoho interpreter to write one datum too many.
9423 1.1 jruoho
9424 1.1 jruoho Fields: Fixed a problem with Field/OpRegion access where the
9425 1.1 jruoho starting bit address of a field was incorrectly calculated if the
9426 1.1 jruoho current access type was wider than a byte (WordAcc, DwordAcc, or
9427 1.1 jruoho QwordAcc).
9428 1.1 jruoho
9429 1.1 jruoho Fields: Fixed a problem where forward references to individual
9430 1.1 jruoho FieldUnits (individual Field names within a Field definition) were
9431 1.1 jruoho not resolved during the AML table load.
9432 1.1 jruoho
9433 1.1 jruoho Fields: Fixed a problem where forward references from a Field
9434 1.1 jruoho definition to the parent Operation Region definition were not
9435 1.1 jruoho resolved during the AML table load.
9436 1.1 jruoho
9437 1.1 jruoho Fields: Duplicate FieldUnit names within a scope are now detected
9438 1.1 jruoho during AML table load.
9439 1.1 jruoho
9440 1.1 jruoho Acpi Interfaces: Fixed a problem where the AcpiGetName() interface
9441 1.1 jruoho returned an incorrect name for the root node.
9442 1.1 jruoho
9443 1.1 jruoho Code and Data Size: Code and Data optimizations have permitted new
9444 1.1 jruoho feature development with an actual reduction in the library size.
9445 1.1 jruoho Current core subsystem library sizes are shown below. These are
9446 1.1 jruoho the code and data sizes for the acpica.lib produced by the
9447 1.1 jruoho Microsoft Visual C++ 6.0 compiler, and these values do not include
9448 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code
9449 1.1 jruoho includes the debug output trace mechanism and has a larger code
9450 1.1 jruoho and data size. Note that these values will vary depending on the
9451 1.1 jruoho efficiency of the compiler and the compiler options used during
9452 1.1 jruoho generation.
9453 1.1 jruoho
9454 1.1 jruoho Previous Release (10_18_01):
9455 1.1 jruoho Non-Debug Version: 63.9K Code, 5.1K Data, 69.0K Total
9456 1.1 jruoho Debug Version: 136.7K Code, 57.4K Data, 194.2K Total
9457 1.1 jruoho
9458 1.1 jruoho Current Release:
9459 1.1 jruoho Non-Debug Version: 63.7K Code, 5.2K Data, 68.9K Total
9460 1.1 jruoho Debug Version: 134.5K Code, 55.4K Data, 189.9K Total
9461 1.1 jruoho
9462 1.1 jruoho 2) Linux:
9463 1.1 jruoho
9464 1.1 jruoho Improved /proc processor output (Pavel Machek) Re-added
9465 1.1 jruoho MODULE_LICENSE("GPL") to all modules.
9466 1.1 jruoho
9467 1.1 jruoho 3) ASL Compiler version X2030:
9468 1.1 jruoho
9469 1.1 jruoho Duplicate FieldUnit names within a scope are now detected and
9470 1.1 jruoho flagged as errors.
9471 1.1 jruoho
9472 1.1 jruoho 4) Documentation:
9473 1.1 jruoho
9474 1.1 jruoho Programmer Reference updated to reflect OSL and address space
9475 1.1 jruoho handler interface changes described above.
9476 1.1 jruoho
9477 1.1 jruoho ----------------------------------------
9478 1.1 jruoho Summary of changes for this label: 10_18_01
9479 1.1 jruoho
9480 1.1 jruoho ACPI CA Core Subsystem:
9481 1.1 jruoho
9482 1.1 jruoho Fixed a problem with the internal object reference count mechanism
9483 1.1 jruoho that occasionally caused premature object deletion. This resolves
9484 1.1 jruoho all of the outstanding problem reports where an object is deleted
9485 1.1 jruoho in the middle of an interpreter evaluation. Although this problem
9486 1.1 jruoho only showed up in rather obscure cases, the solution to the
9487 1.1 jruoho problem involved an adjustment of all reference counts involving
9488 1.1 jruoho objects attached to namespace nodes.
9489 1.1 jruoho
9490 1.1 jruoho Fixed a problem with Field support in the interpreter where
9491 1.1 jruoho writing to an aligned field whose length is an exact multiple (2
9492 1.1 jruoho or greater) of the field access granularity would cause an attempt
9493 1.1 jruoho to write beyond the end of the field.
9494 1.1 jruoho
9495 1.1 jruoho The top level AML opcode execution functions within the
9496 1.1 jruoho interpreter have been renamed with a more meaningful and
9497 1.1 jruoho consistent naming convention. The modules exmonad.c and
9498 1.1 jruoho exdyadic.c were eliminated. New modules are exoparg1.c,
9499 1.1 jruoho exoparg2.c, exoparg3.c, and exoparg6.c.
9500 1.1 jruoho
9501 1.1 jruoho Support for the ACPI 2.0 "Mid" ASL operator has been implemented.
9502 1.1 jruoho
9503 1.1 jruoho Fixed a problem where the AML debugger was causing some internal
9504 1.1 jruoho objects to not be deleted during subsystem termination.
9505 1.1 jruoho
9506 1.1 jruoho Fixed a problem with the external AcpiEvaluateObject interface
9507 1.1 jruoho where the subsystem would fault if the named object to be
9508 1.1 jruoho evaluated refered to a constant such as Zero, Ones, etc.
9509 1.1 jruoho
9510 1.1 jruoho Fixed a problem with IndexFields and BankFields where the
9511 1.1 jruoho subsystem would fault if the index, data, or bank registers were
9512 1.1 jruoho not defined in the same scope as the field itself.
9513 1.1 jruoho
9514 1.1 jruoho Added printf format string checking for compilers that support
9515 1.1 jruoho this feature. Corrected more than 50 instances of issues with
9516 1.1 jruoho format specifiers within invocations of ACPI_DEBUG_PRINT
9517 1.1 jruoho throughout the core subsystem code.
9518 1.1 jruoho
9519 1.1 jruoho The ASL "Revision" operator now returns the ACPI support level
9520 1.1 jruoho implemented in the core - the value "2" since the ACPI 2.0 support
9521 1.1 jruoho is more than 50% implemented.
9522 1.1 jruoho
9523 1.1 jruoho Enhanced the output of the AML debugger "dump namespace" command
9524 1.1 jruoho to output in a more human-readable form.
9525 1.1 jruoho
9526 1.1 jruoho Current core subsystem library code sizes are shown below. These
9527 1.1 jruoho
9528 1.1 jruoho are the code and data sizes for the acpica.lib produced by the
9529 1.1 jruoho Microsoft Visual C++ 6.0 compiler, and these values do not include
9530 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code
9531 1.1 jruoho includes the full debug trace mechanism -- leading to a much
9532 1.1 jruoho
9533 1.1 jruoho larger code and data size. Note that these values will vary
9534 1.1 jruoho depending on the efficiency of the compiler and the compiler
9535 1.1 jruoho options used during generation.
9536 1.1 jruoho
9537 1.1 jruoho Previous Label (09_20_01):
9538 1.1 jruoho Non-Debug Version: 65K Code, 5K Data, 70K Total
9539 1.1 jruoho Debug Version: 138K Code, 58K Data, 196K Total
9540 1.1 jruoho
9541 1.1 jruoho This Label:
9542 1.1 jruoho
9543 1.1 jruoho Non-Debug Version: 63.9K Code, 5.1K Data, 69.0K Total
9544 1.1 jruoho Debug Version: 136.7K Code, 57.4K Data, 194.2K Total
9545 1.1 jruoho
9546 1.1 jruoho Linux:
9547 1.1 jruoho
9548 1.1 jruoho Implemented a "Bad BIOS Blacklist" to track machines that have
9549 1.1 jruoho known ASL/AML problems.
9550 1.1 jruoho
9551 1.1 jruoho Enhanced the /proc interface for the thermal zone driver and added
9552 1.1 jruoho support for _HOT (the critical suspend trip point). The 'info'
9553 1.1 jruoho file now includes threshold/policy information, and allows setting
9554 1.1 jruoho of _SCP (cooling preference) and _TZP (polling frequency) values
9555 1.1 jruoho to the 'info' file. Examples: "echo tzp=5 > info" sets the polling
9556 1.1 jruoho frequency to 5 seconds, and "echo scp=1 > info" sets the cooling
9557 1.1 jruoho preference to the passive/quiet mode (if supported by the ASL).
9558 1.1 jruoho
9559 1.1 jruoho Implemented a workaround for a gcc bug that resuted in an OOPs
9560 1.1 jruoho when loading the control method battery driver.
9561 1.1 jruoho
9562 1.1 jruoho ----------------------------------------
9563 1.1 jruoho Summary of changes for this label: 09_20_01
9564 1.1 jruoho
9565 1.1 jruoho ACPI CA Core Subsystem:
9566 1.1 jruoho
9567 1.1 jruoho The AcpiEnableEvent and AcpiDisableEvent interfaces have been
9568 1.1 jruoho modified to allow individual GPE levels to be flagged as wake-
9569 1.1 jruoho enabled (i.e., these GPEs are to remain enabled when the platform
9570 1.1 jruoho sleeps.)
9571 1.1 jruoho
9572 1.1 jruoho The AcpiEnterSleepState and AcpiLeaveSleepState interfaces now
9573 1.1 jruoho support wake-enabled GPEs. This means that upon entering the
9574 1.1 jruoho sleep state, all GPEs that are not wake-enabled are disabled.
9575 1.1 jruoho When leaving the sleep state, these GPEs are reenabled.
9576 1.1 jruoho
9577 1.1 jruoho A local double-precision divide/modulo module has been added to
9578 1.1 jruoho enhance portability to OS kernels where a 64-bit math library is
9579 1.1 jruoho not available. The new module is "utmath.c".
9580 1.1 jruoho
9581 1.1 jruoho Several optimizations have been made to reduce the use of CPU
9582 1.1 jruoho stack. Originally over 2K, the maximum stack usage is now below
9583 1.1 jruoho 2K at 1860 bytes (1.82k)
9584 1.1 jruoho
9585 1.1 jruoho Fixed a problem with the AcpiGetFirmwareTable interface where the
9586 1.1 jruoho root table pointer was not mapped into a logical address properly.
9587 1.1 jruoho
9588 1.1 jruoho Fixed a problem where a NULL pointer was being dereferenced in the
9589 1.1 jruoho interpreter code for the ASL Notify operator.
9590 1.1 jruoho
9591 1.1 jruoho Fixed a problem where the use of the ASL Revision operator
9592 1.1 jruoho returned an error. This operator now returns the current version
9593 1.1 jruoho of the ACPI CA core subsystem.
9594 1.1 jruoho
9595 1.1 jruoho Fixed a problem where objects passed as control method parameters
9596 1.1 jruoho to AcpiEvaluateObject were always deleted at method termination.
9597 1.1 jruoho However, these objects may end up being stored into the namespace
9598 1.1 jruoho by the called method. The object reference count mechanism was
9599 1.1 jruoho applied to these objects instead of a force delete.
9600 1.1 jruoho
9601 1.1 jruoho Fixed a problem where static strings or buffers (contained in the
9602 1.1 jruoho AML code) that are declared as package elements within the ASL
9603 1.1 jruoho code could cause a fault because the interpreter would attempt to
9604 1.1 jruoho delete them. These objects are now marked with the "static
9605 1.1 jruoho object" flag to prevent any attempt to delete them.
9606 1.1 jruoho
9607 1.1 jruoho Implemented an interpreter optimization to use operands directly
9608 1.1 jruoho from the state object instead of extracting the operands to local
9609 1.1 jruoho variables. This reduces stack use and code size, and improves
9610 1.1 jruoho performance.
9611 1.1 jruoho
9612 1.1 jruoho The module exxface.c was eliminated as it was an unnecessary extra
9613 1.1 jruoho layer of code.
9614 1.1 jruoho
9615 1.1 jruoho Current core subsystem library code sizes are shown below. These
9616 1.1 jruoho are the code and data sizes for the acpica.lib produced by the
9617 1.1 jruoho Microsoft Visual C++ 6.0 compiler, and these values do not include
9618 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code
9619 1.1 jruoho includes the full debug trace mechanism -- leading to a much
9620 1.1 jruoho larger code and data size. Note that these values will vary
9621 1.1 jruoho depending on the efficiency of the compiler and the compiler
9622 1.1 jruoho options used during generation.
9623 1.1 jruoho
9624 1.1 jruoho Non-Debug Version: 65K Code, 5K Data, 70K Total
9625 1.1 jruoho (Previously 69K) Debug Version: 138K Code, 58K Data, 196K
9626 1.1 jruoho Total (Previously 195K)
9627 1.1 jruoho
9628 1.1 jruoho Linux:
9629 1.1 jruoho
9630 1.1 jruoho Support for ACPI 2.0 64-bit integers has been added. All ACPI
9631 1.1 jruoho Integer objects are now 64 bits wide
9632 1.1 jruoho
9633 1.1 jruoho All Acpi data types and structures are now in lower case. Only
9634 1.1 jruoho Acpi macros are upper case for differentiation.
9635 1.1 jruoho
9636 1.1 jruoho Documentation:
9637 1.1 jruoho
9638 1.1 jruoho Changes to the external interfaces as described above.
9639 1.1 jruoho
9640 1.1 jruoho ----------------------------------------
9641 1.1 jruoho Summary of changes for this label: 08_31_01
9642 1.1 jruoho
9643 1.1 jruoho ACPI CA Core Subsystem:
9644 1.1 jruoho
9645 1.1 jruoho A bug with interpreter implementation of the ASL Divide operator
9646 1.1 jruoho was found and fixed. The implicit function return value (not the
9647 1.1 jruoho explicit store operands) was returning the remainder instead of
9648 1.1 jruoho the quotient. This was a longstanding bug and it fixes several
9649 1.1 jruoho known outstanding issues on various platforms.
9650 1.1 jruoho
9651 1.1 jruoho The ACPI_DEBUG_PRINT and function trace entry/exit macros have
9652 1.1 jruoho been further optimized for size. There are 700 invocations of the
9653 1.1 jruoho DEBUG_PRINT macro alone, so each optimization reduces the size of
9654 1.1 jruoho the debug version of the subsystem significantly.
9655 1.1 jruoho
9656 1.1 jruoho A stack trace mechanism has been implemented. The maximum stack
9657 1.1 jruoho usage is about 2K on 32-bit platforms. The debugger command "stat
9658 1.1 jruoho stack" will display the current maximum stack usage.
9659 1.1 jruoho
9660 1.1 jruoho All public symbols and global variables within the subsystem are
9661 1.1 jruoho now prefixed with the string "Acpi". This keeps all of the
9662 1.1 jruoho symbols grouped together in a kernel map, and avoids conflicts
9663 1.1 jruoho with other kernel subsystems.
9664 1.1 jruoho
9665 1.1 jruoho Most of the internal fixed lookup tables have been moved into the
9666 1.1 jruoho code segment via the const operator.
9667 1.1 jruoho
9668 1.1 jruoho Several enhancements have been made to the interpreter to both
9669 1.1 jruoho reduce the code size and improve performance.
9670 1.1 jruoho
9671 1.1 jruoho Current core subsystem library code sizes are shown below. These
9672 1.1 jruoho are the code and data sizes for the acpica.lib produced by the
9673 1.1 jruoho Microsoft Visual C++ 6.0 compiler, and these values do not include
9674 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code
9675 1.1 jruoho includes the full debug trace mechanism which contains over 700
9676 1.1 jruoho invocations of the DEBUG_PRINT macro, 500 function entry macro
9677 1.1 jruoho invocations, and over 900 function exit macro invocations --
9678 1.1 jruoho leading to a much larger code and data size. Note that these
9679 1.1 jruoho values will vary depending on the efficiency of the compiler and
9680 1.1 jruoho the compiler options used during generation.
9681 1.1 jruoho
9682 1.1 jruoho Non-Debug Version: 64K Code, 5K Data, 69K Total
9683 1.1 jruoho Debug Version: 137K Code, 58K Data, 195K Total
9684 1.1 jruoho
9685 1.1 jruoho Linux:
9686 1.1 jruoho
9687 1.1 jruoho Implemented wbinvd() macro, pending a kernel-wide definition.
9688 1.1 jruoho
9689 1.1 jruoho Fixed /proc/acpi/event to handle poll() and short reads.
9690 1.1 jruoho
9691 1.1 jruoho ASL Compiler, version X2026:
9692 1.1 jruoho
9693 1.1 jruoho Fixed a problem introduced in the previous label where the AML
9694 1.1 jruoho
9695 1.1 jruoho code emitted for package objects produced packages with zero
9696 1.1 jruoho length.
9697 1.1 jruoho
9698 1.1 jruoho ----------------------------------------
9699 1.1 jruoho Summary of changes for this label: 08_16_01
9700 1.1 jruoho
9701 1.1 jruoho ACPI CA Core Subsystem:
9702 1.1 jruoho
9703 1.1 jruoho The following ACPI 2.0 ASL operators have been implemented in the
9704 1.1 jruoho AML interpreter (These are already supported by the Intel ASL
9705 1.1 jruoho compiler): ToDecimalString, ToHexString, ToString, ToInteger, and
9706 1.1 jruoho ToBuffer. Support for 64-bit AML constants is implemented in the
9707 1.1 jruoho AML parser, debugger, and disassembler.
9708 1.1 jruoho
9709 1.1 jruoho The internal memory tracking mechanism (leak detection code) has
9710 1.1 jruoho been upgraded to reduce the memory overhead (a separate tracking
9711 1.1 jruoho block is no longer allocated for each memory allocation), and now
9712 1.1 jruoho supports all of the internal object caches.
9713 1.1 jruoho
9714 1.1 jruoho The data structures and code for the internal object caches have
9715 1.1 jruoho been coelesced and optimized so that there is a single cache and
9716 1.1 jruoho memory list data structure and a single group of functions that
9717 1.1 jruoho implement generic cache management. This has reduced the code
9718 1.1 jruoho size in both the debug and release versions of the subsystem.
9719 1.1 jruoho
9720 1.1 jruoho The DEBUG_PRINT macro(s) have been optimized for size and replaced
9721 1.1 jruoho by ACPI_DEBUG_PRINT. The syntax for this macro is slightly
9722 1.1 jruoho different, because it generates a single call to an internal
9723 1.1 jruoho function. This results in a savings of about 90 bytes per
9724 1.1 jruoho invocation, resulting in an overall code and data savings of about
9725 1.1 jruoho 16% in the debug version of the subsystem.
9726 1.1 jruoho
9727 1.1 jruoho Linux:
9728 1.1 jruoho
9729 1.1 jruoho Fixed C3 disk corruption problems and re-enabled C3 on supporting
9730 1.1 jruoho machines.
9731 1.1 jruoho
9732 1.1 jruoho Integrated low-level sleep code by Patrick Mochel.
9733 1.1 jruoho
9734 1.1 jruoho Further tweaked source code Linuxization.
9735 1.1 jruoho
9736 1.1 jruoho Other minor fixes.
9737 1.1 jruoho
9738 1.1 jruoho ASL Compiler:
9739 1.1 jruoho
9740 1.1 jruoho Support for ACPI 2.0 variable length packages is fixed/completed.
9741 1.1 jruoho
9742 1.1 jruoho Fixed a problem where the optional length parameter for the ACPI
9743 1.1 jruoho 2.0 ToString operator.
9744 1.1 jruoho
9745 1.1 jruoho Fixed multiple extraneous error messages when a syntax error is
9746 1.1 jruoho detected within the declaration line of a control method.
9747 1.1 jruoho
9748 1.1 jruoho ----------------------------------------
9749 1.1 jruoho Summary of changes for this label: 07_17_01
9750 1.1 jruoho
9751 1.1 jruoho ACPI CA Core Subsystem:
9752 1.1 jruoho
9753 1.1 jruoho Added a new interface named AcpiGetFirmwareTable to obtain any
9754 1.1 jruoho ACPI table via the ACPI signature. The interface can be called at
9755 1.1 jruoho any time during kernel initialization, even before the kernel
9756 1.1 jruoho virtual memory manager is initialized and paging is enabled. This
9757 1.1 jruoho allows kernel subsystems to obtain ACPI tables very early, even
9758 1.1 jruoho before the ACPI CA subsystem is initialized.
9759 1.1 jruoho
9760 1.1 jruoho Fixed a problem where Fields defined with the AnyAcc attribute
9761 1.1 jruoho could be resolved to the incorrect address under the following
9762 1.1 jruoho conditions: 1) the field width is larger than 8 bits and 2) the
9763 1.1 jruoho parent operation region is not defined on a DWORD boundary.
9764 1.1 jruoho
9765 1.1 jruoho Fixed a problem where the interpreter is not being locked during
9766 1.1 jruoho namespace initialization (during execution of the _INI control
9767 1.1 jruoho methods), causing an error when an attempt is made to release it
9768 1.1 jruoho later.
9769 1.1 jruoho
9770 1.1 jruoho ACPI 2.0 support in the AML Interpreter has begun and will be
9771 1.1 jruoho ongoing throughout the rest of this year. In this label, The Mod
9772 1.1 jruoho operator is implemented.
9773 1.1 jruoho
9774 1.1 jruoho Added a new data type to contain full PCI addresses named
9775 1.1 jruoho ACPI_PCI_ID. This structure contains the PCI Segment, Bus, Device,
9776 1.1 jruoho and Function values.
9777 1.1 jruoho
9778 1.1 jruoho Linux:
9779 1.1 jruoho
9780 1.1 jruoho Enhanced the Linux version of the source code to change most
9781 1.1 jruoho capitalized ACPI type names to lowercase. For example, all
9782 1.1 jruoho instances of ACPI_STATUS are changed to acpi_status. This will
9783 1.1 jruoho result in a large diff, but the change is strictly cosmetic and
9784 1.1 jruoho aligns the CA code closer to the Linux coding standard.
9785 1.1 jruoho
9786 1.1 jruoho OSL Interfaces:
9787 1.1 jruoho
9788 1.1 jruoho The interfaces to the PCI configuration space have been changed to
9789 1.1 jruoho add the PCI Segment number and to split the single 32-bit combined
9790 1.1 jruoho DeviceFunction field into two 16-bit fields. This was
9791 1.1 jruoho accomplished by moving the four values that define an address in
9792 1.1 jruoho PCI configuration space (segment, bus, device, and function) to
9793 1.1 jruoho the new ACPI_PCI_ID structure.
9794 1.1 jruoho
9795 1.1 jruoho The changes to the PCI configuration space interfaces led to a
9796 1.1 jruoho reexamination of the complete set of address space access
9797 1.1 jruoho interfaces for PCI, I/O, and Memory. The previously existing 18
9798 1.1 jruoho interfaces have proven difficult to maintain (any small change
9799 1.1 jruoho must be propagated across at least 6 interfaces) and do not easily
9800 1.1 jruoho allow for future expansion to 64 bits if necessary. Also, on some
9801 1.1 jruoho systems, it would not be appropriate to demultiplex the access
9802 1.1 jruoho width (8, 16, 32,or 64) before calling the OSL if the
9803 1.1 jruoho corresponding native OS interfaces contain a similar access width
9804 1.1 jruoho parameter. For these reasons, the 18 address space interfaces
9805 1.1 jruoho have been replaced by these 6 new ones:
9806 1.1 jruoho
9807 1.1 jruoho AcpiOsReadPciConfiguration
9808 1.1 jruoho AcpiOsWritePciConfiguration
9809 1.1 jruoho AcpiOsReadMemory
9810 1.1 jruoho AcpiOsWriteMemory
9811 1.1 jruoho AcpiOsReadPort
9812 1.1 jruoho AcpiOsWritePort
9813 1.1 jruoho
9814 1.1 jruoho Added a new interface named AcpiOsGetRootPointer to allow the OSL
9815 1.1 jruoho to perform the platform and/or OS-specific actions necessary to
9816 1.1 jruoho obtain the ACPI RSDP table pointer. On IA-32 platforms, this
9817 1.1 jruoho interface will simply call down to the CA core to perform the low-
9818 1.1 jruoho memory search for the table. On IA-64, the RSDP is obtained from
9819 1.1 jruoho EFI. Migrating this interface to the OSL allows the CA core to
9820 1.1 jruoho
9821 1.1 jruoho remain OS and platform independent.
9822 1.1 jruoho
9823 1.1 jruoho Added a new interface named AcpiOsSignal to provide a generic
9824 1.1 jruoho "function code and pointer" interface for various miscellaneous
9825 1.1 jruoho signals and notifications that must be made to the host OS. The
9826 1.1 jruoho first such signals are intended to support the ASL Fatal and
9827 1.1 jruoho Breakpoint operators. In the latter case, the AcpiOsBreakpoint
9828 1.1 jruoho interface has been obsoleted.
9829 1.1 jruoho
9830 1.1 jruoho The definition of the AcpiFormatException interface has been
9831 1.1 jruoho changed to simplify its use. The caller no longer must supply a
9832 1.1 jruoho buffer to the call; A pointer to a const string is now returned
9833 1.1 jruoho directly. This allows the call to be easily used in printf
9834 1.1 jruoho statements, etc. since the caller does not have to manage a local
9835 1.1 jruoho buffer.
9836 1.1 jruoho
9837 1.1 jruoho
9838 1.1 jruoho ASL Compiler, Version X2025:
9839 1.1 jruoho
9840 1.1 jruoho The ACPI 2.0 Switch/Case/Default operators have been implemented
9841 1.1 jruoho and are fully functional. They will work with all ACPI 1.0
9842 1.1 jruoho interpreters, since the operators are simply translated to If/Else
9843 1.1 jruoho pairs.
9844 1.1 jruoho
9845 1.1 jruoho The ACPI 2.0 ElseIf operator is implemented and will also work
9846 1.1 jruoho with 1.0 interpreters, for the same reason.
9847 1.1 jruoho
9848 1.1 jruoho Implemented support for ACPI 2.0 variable-length packages. These
9849 1.1 jruoho packages have a separate opcode, and their size is determined by
9850 1.1 jruoho the interpreter at run-time.
9851 1.1 jruoho
9852 1.1 jruoho Documentation The ACPI CA Programmer Reference has been updated to
9853 1.1 jruoho reflect the new interfaces and changes to existing interfaces.
9854 1.1 jruoho
9855 1.1 jruoho ------------------------------------------
9856 1.1 jruoho Summary of changes for this label: 06_15_01
9857 1.1 jruoho
9858 1.1 jruoho ACPI CA Core Subsystem:
9859 1.1 jruoho
9860 1.1 jruoho Fixed a problem where a DWORD-accessed field within a Buffer
9861 1.1 jruoho object would get its byte address inadvertently rounded down to
9862 1.1 jruoho the nearest DWORD. Buffers are always Byte-accessible.
9863 1.1 jruoho
9864 1.1 jruoho ASL Compiler, version X2024:
9865 1.1 jruoho
9866 1.1 jruoho Fixed a problem where the Switch() operator would either fault or
9867 1.1 jruoho hang the compiler. Note however, that the AML code for this ACPI
9868 1.1 jruoho 2.0 operator is not yet implemented.
9869 1.1 jruoho
9870 1.1 jruoho Compiler uses the new AcpiOsGetTimer interface to obtain compile
9871 1.1 jruoho timings.
9872 1.1 jruoho
9873 1.1 jruoho Implementation of the CreateField operator automatically converts
9874 1.1 jruoho a reference to a named field within a resource descriptor from a
9875 1.1 jruoho byte offset to a bit offset if required.
9876 1.1 jruoho
9877 1.1 jruoho Added some missing named fields from the resource descriptor
9878 1.1 jruoho support. These are the names that are automatically created by the
9879 1.1 jruoho compiler to reference fields within a descriptor. They are only
9880 1.1 jruoho valid at compile time and are not passed through to the AML
9881 1.1 jruoho interpreter.
9882 1.1 jruoho
9883 1.1 jruoho Resource descriptor named fields are now typed as Integers and
9884 1.1 jruoho subject to compile-time typechecking when used in expressions.
9885 1.1 jruoho
9886 1.1 jruoho ------------------------------------------
9887 1.1 jruoho Summary of changes for this label: 05_18_01
9888 1.1 jruoho
9889 1.1 jruoho ACPI CA Core Subsystem:
9890 1.1 jruoho
9891 1.1 jruoho Fixed a couple of problems in the Field support code where bits
9892 1.1 jruoho from adjacent fields could be returned along with the proper field
9893 1.1 jruoho bits. Restructured the field support code to improve performance,
9894 1.1 jruoho readability and maintainability.
9895 1.1 jruoho
9896 1.1 jruoho New DEBUG_PRINTP macro automatically inserts the procedure name
9897 1.1 jruoho into the output, saving hundreds of copies of procedure name
9898 1.1 jruoho strings within the source, shrinking the memory footprint of the
9899 1.1 jruoho debug version of the core subsystem.
9900 1.1 jruoho
9901 1.1 jruoho Source Code Structure:
9902 1.1 jruoho
9903 1.1 jruoho The source code directory tree was restructured to reflect the
9904 1.1 jruoho current organization of the component architecture. Some files
9905 1.1 jruoho and directories have been moved and/or renamed.
9906 1.1 jruoho
9907 1.1 jruoho Linux:
9908 1.1 jruoho
9909 1.1 jruoho Fixed leaking kacpidpc processes.
9910 1.1 jruoho
9911 1.1 jruoho Fixed queueing event data even when /proc/acpi/event is not
9912 1.1 jruoho opened.
9913 1.1 jruoho
9914 1.1 jruoho ASL Compiler, version X2020:
9915 1.1 jruoho
9916 1.1 jruoho Memory allocation performance enhancement - over 24X compile time
9917 1.1 jruoho improvement on large ASL files. Parse nodes and namestring
9918 1.1 jruoho buffers are now allocated from a large internal compiler buffer.
9919 1.1 jruoho
9920 1.1 jruoho The temporary .SRC file is deleted unless the "-s" option is
9921 1.1 jruoho specified
9922 1.1 jruoho
9923 1.1 jruoho The "-d" debug output option now sends all output to the .DBG file
9924 1.1 jruoho instead of the console.
9925 1.1 jruoho
9926 1.1 jruoho "External" second parameter is now optional
9927 1.1 jruoho
9928 1.1 jruoho "ElseIf" syntax now properly allows the predicate
9929 1.1 jruoho
9930 1.1 jruoho Last operand to "Load" now recognized as a Target operand
9931 1.1 jruoho
9932 1.1 jruoho Debug object can now be used anywhere as a normal object.
9933 1.1 jruoho
9934 1.1 jruoho ResourceTemplate now returns an object of type BUFFER
9935 1.1 jruoho
9936 1.1 jruoho EISAID now returns an object of type INTEGER
9937 1.1 jruoho
9938 1.1 jruoho "Index" now works with a STRING operand
9939 1.1 jruoho
9940 1.1 jruoho "LoadTable" now accepts optional parameters
9941 1.1 jruoho
9942 1.1 jruoho "ToString" length parameter is now optional
9943 1.1 jruoho
9944 1.1 jruoho "Interrupt (ResourceType," parse error fixed.
9945 1.1 jruoho
9946 1.1 jruoho "Register" with a user-defined region space parse error fixed
9947 1.1 jruoho
9948 1.1 jruoho Escaped backslash at the end of a string ("\\") scan/parse error
9949 1.1 jruoho fixed
9950 1.1 jruoho
9951 1.1 jruoho "Revision" is now an object of type INTEGER.
9952 1.1 jruoho
9953 1.1 jruoho
9954 1.1 jruoho
9955 1.1 jruoho ------------------------------------------
9956 1.1 jruoho Summary of changes for this label: 05_02_01
9957 1.1 jruoho
9958 1.1 jruoho Linux:
9959 1.1 jruoho
9960 1.1 jruoho /proc/acpi/event now blocks properly.
9961 1.1 jruoho
9962 1.1 jruoho Removed /proc/sys/acpi. You can still dump your DSDT from
9963 1.1 jruoho /proc/acpi/dsdt.
9964 1.1 jruoho
9965 1.1 jruoho ACPI CA Core Subsystem:
9966 1.1 jruoho
9967 1.1 jruoho Fixed a problem introduced in the previous label where some of the
9968 1.1 jruoho "small" resource descriptor types were not recognized.
9969 1.1 jruoho
9970 1.1 jruoho Improved error messages for the case where an ASL Field is outside
9971 1.1 jruoho the range of the parent operation region.
9972 1.1 jruoho
9973 1.1 jruoho ASL Compiler, version X2018:
9974 1.1 jruoho
9975 1.1 jruoho
9976 1.1 jruoho Added error detection for ASL Fields that extend beyond the length
9977 1.1 jruoho of the parent operation region (only if the length of the region
9978 1.1 jruoho is known at compile time.) This includes fields that have a
9979 1.1 jruoho minimum access width that is smaller than the parent region, and
9980 1.1 jruoho individual field units that are partially or entirely beyond the
9981 1.1 jruoho extent of the parent.
9982 1.1 jruoho
9983 1.1 jruoho
9984 1.1 jruoho
9985 1.1 jruoho ------------------------------------------
9986 1.1 jruoho Summary of changes for this label: 04_27_01
9987 1.1 jruoho
9988 1.1 jruoho ACPI CA Core Subsystem:
9989 1.1 jruoho
9990 1.1 jruoho Fixed a problem where the namespace mutex could be released at the
9991 1.1 jruoho wrong time during execution of AcpiRemoveAddressSpaceHandler.
9992 1.1 jruoho
9993 1.1 jruoho Added optional thread ID output for debug traces, to simplify
9994 1.1 jruoho debugging of multiple threads. Added context switch notification
9995 1.1 jruoho when the debug code realizes that a different thread is now
9996 1.1 jruoho executing ACPI code.
9997 1.1 jruoho
9998 1.1 jruoho Some additional external data types have been prefixed with the
9999 1.1 jruoho string "ACPI_" for consistency. This may effect existing code.
10000 1.1 jruoho The data types affected are the external callback typedefs - e.g.,
10001 1.1 jruoho
10002 1.1 jruoho WALK_CALLBACK becomes ACPI_WALK_CALLBACK.
10003 1.1 jruoho
10004 1.1 jruoho Linux:
10005 1.1 jruoho
10006 1.1 jruoho Fixed an issue with the OSL semaphore implementation where a
10007 1.1 jruoho thread was waking up with an error from receiving a SIGCHLD
10008 1.1 jruoho signal.
10009 1.1 jruoho
10010 1.1 jruoho Linux version of ACPI CA now uses the system C library for string
10011 1.1 jruoho manipulation routines instead of a local implementation.
10012 1.1 jruoho
10013 1.1 jruoho Cleaned up comments and removed TBDs.
10014 1.1 jruoho
10015 1.1 jruoho ASL Compiler, version X2017:
10016 1.1 jruoho
10017 1.1 jruoho Enhanced error detection and reporting for all file I/O
10018 1.1 jruoho operations.
10019 1.1 jruoho
10020 1.1 jruoho Documentation:
10021 1.1 jruoho
10022 1.1 jruoho Programmer Reference updated to version 1.06.
10023 1.1 jruoho
10024 1.1 jruoho
10025 1.1 jruoho
10026 1.1 jruoho ------------------------------------------
10027 1.1 jruoho Summary of changes for this label: 04_13_01
10028 1.1 jruoho
10029 1.1 jruoho ACPI CA Core Subsystem:
10030 1.1 jruoho
10031 1.1 jruoho Restructured support for BufferFields and RegionFields.
10032 1.1 jruoho BankFields support is now fully operational. All known 32-bit
10033 1.1 jruoho limitations on field sizes have been removed. Both BufferFields
10034 1.1 jruoho and (Operation) RegionFields are now supported by the same field
10035 1.1 jruoho management code.
10036 1.1 jruoho
10037 1.1 jruoho Resource support now supports QWORD address and IO resources. The
10038 1.1 jruoho 16/32/64 bit address structures and the Extended IRQ structure
10039 1.1 jruoho have been changed to properly handle Source Resource strings.
10040 1.1 jruoho
10041 1.1 jruoho A ThreadId of -1 is now used to indicate a "mutex not acquired"
10042 1.1 jruoho condition internally and must never be returned by AcpiOsThreadId.
10043 1.1 jruoho This reserved value was changed from 0 since Unix systems allow a
10044 1.1 jruoho thread ID of 0.
10045 1.1 jruoho
10046 1.1 jruoho Linux:
10047 1.1 jruoho
10048 1.1 jruoho Driver code reorganized to enhance portability
10049 1.1 jruoho
10050 1.1 jruoho Added a kernel configuration option to control ACPI_DEBUG
10051 1.1 jruoho
10052 1.1 jruoho Fixed the EC driver to honor _GLK.
10053 1.1 jruoho
10054 1.1 jruoho ASL Compiler, version X2016:
10055 1.1 jruoho
10056 1.1 jruoho Fixed support for the "FixedHw" keyword. Previously, the FixedHw
10057 1.1 jruoho address space was set to 0, not 0x7f as it should be.
10058 1.1 jruoho
10059 1.1 jruoho ------------------------------------------
10060 1.1 jruoho Summary of changes for this label: 03_13_01
10061 1.1 jruoho
10062 1.1 jruoho ACPI CA Core Subsystem:
10063 1.1 jruoho
10064 1.1 jruoho During ACPI initialization, the _SB_._INI method is now run if
10065 1.1 jruoho present.
10066 1.1 jruoho
10067 1.1 jruoho Notify handler fix - notifies are deferred until the parent method
10068 1.1 jruoho completes execution. This fixes the "mutex already acquired"
10069 1.1 jruoho issue seen occasionally.
10070 1.1 jruoho
10071 1.1 jruoho Part of the "implicit conversion" rules in ACPI 2.0 have been
10072 1.1 jruoho found to cause compatibility problems with existing ASL/AML. The
10073 1.1 jruoho convert "result-to-target-type" implementation has been removed
10074 1.1 jruoho for stores to method Args and Locals. Source operand conversion
10075 1.1 jruoho is still fully implemented. Possible changes to ACPI 2.0
10076 1.1 jruoho specification pending.
10077 1.1 jruoho
10078 1.1 jruoho Fix to AcpiRsCalculatePciRoutingTableLength to return correct
10079 1.1 jruoho length.
10080 1.1 jruoho
10081 1.1 jruoho Fix for compiler warnings for 64-bit compiles.
10082 1.1 jruoho
10083 1.1 jruoho Linux:
10084 1.1 jruoho
10085 1.1 jruoho /proc output aligned for easier parsing.
10086 1.1 jruoho
10087 1.1 jruoho Release-version compile problem fixed.
10088 1.1 jruoho
10089 1.1 jruoho New kernel configuration options documented in Configure.help.
10090 1.1 jruoho
10091 1.1 jruoho IBM 600E - Fixed Sleep button may generate "Invalid <NULL>
10092 1.1 jruoho context" message.
10093 1.1 jruoho
10094 1.1 jruoho OSPM:
10095 1.1 jruoho
10096 1.1 jruoho Power resource driver integrated with bus manager.
10097 1.1 jruoho
10098 1.1 jruoho Fixed kernel fault during active cooling for thermal zones.
10099 1.1 jruoho
10100 1.1 jruoho Source Code:
10101 1.1 jruoho
10102 1.1 jruoho The source code tree has been restructured.
10103 1.1 jruoho
10104 1.1 jruoho
10105 1.1 jruoho
10106 1.1 jruoho ------------------------------------------
10107 1.1 jruoho Summary of changes for this label: 03_02_01
10108 1.1 jruoho
10109 1.1 jruoho Linux OS Services Layer (OSL):
10110 1.1 jruoho
10111 1.1 jruoho Major revision of all Linux-specific code.
10112 1.1 jruoho
10113 1.1 jruoho Modularized all ACPI-specific drivers.
10114 1.1 jruoho
10115 1.1 jruoho Added new thermal zone and power resource drivers.
10116 1.1 jruoho
10117 1.1 jruoho Revamped /proc interface (new functionality is under /proc/acpi).
10118 1.1 jruoho
10119 1.1 jruoho New kernel configuration options.
10120 1.1 jruoho
10121 1.1 jruoho Linux known issues:
10122 1.1 jruoho
10123 1.1 jruoho New kernel configuration options not documented in Configure.help
10124 1.1 jruoho yet.
10125 1.1 jruoho
10126 1.1 jruoho
10127 1.1 jruoho Module dependencies not currently implemented. If used, they
10128 1.1 jruoho should be loaded in this order: busmgr, power, ec, system,
10129 1.1 jruoho processor, battery, ac_adapter, button, thermal.
10130 1.1 jruoho
10131 1.1 jruoho Modules will not load if CONFIG_MODVERSION is set.
10132 1.1 jruoho
10133 1.1 jruoho IBM 600E - entering S5 may reboot instead of shutting down.
10134 1.1 jruoho
10135 1.1 jruoho IBM 600E - Sleep button may generate "Invalid <NULL> context"
10136 1.1 jruoho message.
10137 1.1 jruoho
10138 1.1 jruoho Some systems may fail with "execution mutex already acquired"
10139 1.1 jruoho message.
10140 1.1 jruoho
10141 1.1 jruoho ACPI CA Core Subsystem:
10142 1.1 jruoho
10143 1.1 jruoho Added a new OSL Interface, AcpiOsGetThreadId. This was required
10144 1.1 jruoho for the deadlock detection code. Defined to return a non-zero, 32-
10145 1.1 jruoho bit thread ID for the currently executing thread. May be a non-
10146 1.1 jruoho zero constant integer on single-thread systems.
10147 1.1 jruoho
10148 1.1 jruoho Implemented deadlock detection for internal subsystem mutexes. We
10149 1.1 jruoho may add conditional compilation for this code (debug only) later.
10150 1.1 jruoho
10151 1.1 jruoho ASL/AML Mutex object semantics are now fully supported. This
10152 1.1 jruoho includes multiple acquires/releases by owner and support for the
10153 1.1 jruoho
10154 1.1 jruoho Mutex SyncLevel parameter.
10155 1.1 jruoho
10156 1.1 jruoho A new "Force Release" mechanism automatically frees all ASL
10157 1.1 jruoho Mutexes that have been acquired but not released when a thread
10158 1.1 jruoho exits the interpreter. This forces conformance to the ACPI spec
10159 1.1 jruoho ("All mutexes must be released when an invocation exits") and
10160 1.1 jruoho prevents deadlocked ASL threads. This mechanism can be expanded
10161 1.1 jruoho (later) to monitor other resource acquisitions if OEM ASL code
10162 1.1 jruoho continues to misbehave (which it will).
10163 1.1 jruoho
10164 1.1 jruoho Several new ACPI exception codes have been added for the Mutex
10165 1.1 jruoho support.
10166 1.1 jruoho
10167 1.1 jruoho Recursive method calls are now allowed and supported (the ACPI
10168 1.1 jruoho spec does in fact allow recursive method calls.) The number of
10169 1.1 jruoho recursive calls is subject to the restrictions imposed by the
10170 1.1 jruoho SERIALIZED method keyword and SyncLevel (ACPI 2.0) method
10171 1.1 jruoho parameter.
10172 1.1 jruoho
10173 1.1 jruoho Implemented support for the SyncLevel parameter for control
10174 1.1 jruoho methods (ACPI 2.0 feature)
10175 1.1 jruoho
10176 1.1 jruoho Fixed a deadlock problem when multiple threads attempted to use
10177 1.1 jruoho the interpreter.
10178 1.1 jruoho
10179 1.1 jruoho Fixed a problem where the string length of a String package
10180 1.1 jruoho element was not always set in a package returned from
10181 1.1 jruoho AcpiEvaluateObject.
10182 1.1 jruoho
10183 1.1 jruoho Fixed a problem where the length of a String package element was
10184 1.1 jruoho not always included in the length of the overall package returned
10185 1.1 jruoho from AcpiEvaluateObject.
10186 1.1 jruoho
10187 1.1 jruoho Added external interfaces (Acpi*) to the ACPI debug memory
10188 1.1 jruoho manager. This manager keeps a list of all outstanding
10189 1.1 jruoho allocations, and can therefore detect memory leaks and attempts to
10190 1.1 jruoho free memory blocks more than once. Useful for code such as the
10191 1.1 jruoho power manager, etc. May not be appropriate for device drivers.
10192 1.1 jruoho Performance with the debug code enabled is slow.
10193 1.1 jruoho
10194 1.1 jruoho The ACPI Global Lock is now an optional hardware element.
10195 1.1 jruoho
10196 1.1 jruoho ASL Compiler Version X2015:
10197 1.1 jruoho
10198 1.1 jruoho Integrated changes to allow the compiler to be generated on
10199 1.1 jruoho multiple platforms.
10200 1.1 jruoho
10201 1.1 jruoho Linux makefile added to generate the compiler on Linux
10202 1.1 jruoho
10203 1.1 jruoho Source Code:
10204 1.1 jruoho
10205 1.1 jruoho All platform-specific headers have been moved to their own
10206 1.1 jruoho subdirectory, Include/Platform.
10207 1.1 jruoho
10208 1.1 jruoho New source file added, Interpreter/ammutex.c
10209 1.1 jruoho
10210 1.1 jruoho New header file, Include/acstruct.h
10211 1.1 jruoho
10212 1.1 jruoho Documentation:
10213 1.1 jruoho
10214 1.1 jruoho The programmer reference has been updated for the following new
10215 1.1 jruoho interfaces: AcpiOsGetThreadId AcpiAllocate AcpiCallocate AcpiFree
10216 1.1 jruoho
10217 1.1 jruoho ------------------------------------------
10218 1.1 jruoho Summary of changes for this label: 02_08_01
10219 1.1 jruoho
10220 1.1 jruoho Core ACPI CA Subsystem: Fixed a problem where an error was
10221 1.1 jruoho incorrectly returned if the return resource buffer was larger than
10222 1.1 jruoho the actual data (in the resource interfaces).
10223 1.1 jruoho
10224 1.1 jruoho References to named objects within packages are resolved to the
10225 1.1 jruoho
10226 1.1 jruoho full pathname string before packages are returned directly (via
10227 1.1 jruoho the AcpiEvaluateObject interface) or indirectly via the resource
10228 1.1 jruoho interfaces.
10229 1.1 jruoho
10230 1.1 jruoho Linux OS Services Layer (OSL):
10231 1.1 jruoho
10232 1.1 jruoho Improved /proc battery interface.
10233 1.1 jruoho
10234 1.1 jruoho
10235 1.1 jruoho Added C-state debugging output and other miscellaneous fixes.
10236 1.1 jruoho
10237 1.1 jruoho ASL Compiler Version X2014:
10238 1.1 jruoho
10239 1.1 jruoho All defined method arguments can now be used as local variables,
10240 1.1 jruoho including the ones that are not actually passed in as parameters.
10241 1.1 jruoho The compiler tracks initialization of the arguments and issues an
10242 1.1 jruoho exception if they are used without prior assignment (just like
10243 1.1 jruoho locals).
10244 1.1 jruoho
10245 1.1 jruoho The -o option now specifies a filename prefix that is used for all
10246 1.1 jruoho output files, including the AML output file. Otherwise, the
10247 1.1 jruoho default behavior is as follows: 1) the AML goes to the file
10248 1.1 jruoho specified in the DSDT. 2) all other output files use the input
10249 1.1 jruoho source filename as the base.
10250 1.1 jruoho
10251 1.1 jruoho ------------------------------------------
10252 1.1 jruoho Summary of changes for this label: 01_25_01
10253 1.1 jruoho
10254 1.1 jruoho Core ACPI CA Subsystem: Restructured the implementation of object
10255 1.1 jruoho store support within the interpreter. This includes support for
10256 1.1 jruoho the Store operator as well as any ASL operators that include a
10257 1.1 jruoho target operand.
10258 1.1 jruoho
10259 1.1 jruoho Partially implemented support for Implicit Result-to-Target
10260 1.1 jruoho conversion. This is when a result object is converted on the fly
10261 1.1 jruoho to the type of an existing target object. Completion of this
10262 1.1 jruoho support is pending further analysis of the ACPI specification
10263 1.1 jruoho concerning this matter.
10264 1.1 jruoho
10265 1.1 jruoho CPU-specific code has been removed from the subsystem (hardware
10266 1.1 jruoho directory).
10267 1.1 jruoho
10268 1.1 jruoho New Power Management Timer functions added
10269 1.1 jruoho
10270 1.1 jruoho Linux OS Services Layer (OSL): Moved system state transition code
10271 1.1 jruoho to the core, fixed it, and modified Linux OSL accordingly.
10272 1.1 jruoho
10273 1.1 jruoho Fixed C2 and C3 latency calculations.
10274 1.1 jruoho
10275 1.1 jruoho
10276 1.1 jruoho We no longer use the compilation date for the version message on
10277 1.1 jruoho initialization, but retrieve the version from AcpiGetSystemInfo().
10278 1.1 jruoho
10279 1.1 jruoho Incorporated for fix Sony VAIO machines.
10280 1.1 jruoho
10281 1.1 jruoho Documentation: The Programmer Reference has been updated and
10282 1.1 jruoho reformatted.
10283 1.1 jruoho
10284 1.1 jruoho
10285 1.1 jruoho ASL Compiler: Version X2013: Fixed a problem where the line
10286 1.1 jruoho numbering and error reporting could get out of sync in the
10287 1.1 jruoho presence of multiple include files.
10288 1.1 jruoho
10289 1.1 jruoho ------------------------------------------
10290 1.1 jruoho Summary of changes for this label: 01_15_01
10291 1.1 jruoho
10292 1.1 jruoho Core ACPI CA Subsystem:
10293 1.1 jruoho
10294 1.1 jruoho Implemented support for type conversions in the execution of the
10295 1.1 jruoho ASL Concatenate operator (The second operand is converted to
10296 1.1 jruoho match the type of the first operand before concatenation.)
10297 1.1 jruoho
10298 1.1 jruoho Support for implicit source operand conversion is partially
10299 1.1 jruoho implemented. The ASL source operand types Integer, Buffer, and
10300 1.1 jruoho String are freely interchangeable for most ASL operators and are
10301 1.1 jruoho converted by the interpreter on the fly as required. Implicit
10302 1.1 jruoho Target operand conversion (where the result is converted to the
10303 1.1 jruoho target type before storing) is not yet implemented.
10304 1.1 jruoho
10305 1.1 jruoho Support for 32-bit and 64-bit BCD integers is implemented.
10306 1.1 jruoho
10307 1.1 jruoho Problem fixed where a field read on an aligned field could cause a
10308 1.1 jruoho read past the end of the field.
10309 1.1 jruoho
10310 1.1 jruoho New exception, AE_AML_NO_RETURN_VALUE, is returned when a method
10311 1.1 jruoho does not return a value, but the caller expects one. (The ASL
10312 1.1 jruoho compiler flags this as a warning.)
10313 1.1 jruoho
10314 1.1 jruoho ASL Compiler:
10315 1.1 jruoho
10316 1.1 jruoho Version X2011:
10317 1.1 jruoho 1. Static typechecking of all operands is implemented. This
10318 1.1 jruoho prevents the use of invalid objects (such as using a Package where
10319 1.1 jruoho an Integer is required) at compile time instead of at interpreter
10320 1.1 jruoho run-time.
10321 1.1 jruoho 2. The ASL source line is printed with ALL errors and warnings.
10322 1.1 jruoho 3. Bug fix for source EOF without final linefeed.
10323 1.1 jruoho 4. Debug option is split into a parse trace and a namespace trace.
10324 1.1 jruoho 5. Namespace output option (-n) includes initial values for
10325 1.1 jruoho integers and strings.
10326 1.1 jruoho 6. Parse-only option added for quick syntax checking.
10327 1.1 jruoho 7. Compiler checks for duplicate ACPI name declarations
10328 1.1 jruoho
10329 1.1 jruoho Version X2012:
10330 1.1 jruoho 1. Relaxed typechecking to allow interchangeability between
10331 1.1 jruoho strings, integers, and buffers. These types are now converted by
10332 1.1 jruoho the interpreter at runtime.
10333 1.1 jruoho 2. Compiler reports time taken by each internal subsystem in the
10334 1.1 jruoho debug output file.
10335 1.1 jruoho
10336 1.1 jruoho
10337 1.1 jruoho ------------------------------------------
10338 1.1 jruoho Summary of changes for this label: 12_14_00
10339 1.1 jruoho
10340 1.1 jruoho ASL Compiler:
10341 1.1 jruoho
10342 1.1 jruoho This is the first official release of the compiler. Since the
10343 1.1 jruoho compiler requires elements of the Core Subsystem, this label
10344 1.1 jruoho synchronizes everything.
10345 1.1 jruoho
10346 1.1 jruoho ------------------------------------------
10347 1.1 jruoho Summary of changes for this label: 12_08_00
10348 1.1 jruoho
10349 1.1 jruoho
10350 1.1 jruoho Fixed a problem where named references within the ASL definition
10351 1.1 jruoho of both OperationRegions and CreateXXXFields did not work
10352 1.1 jruoho properly. The symptom was an AE_AML_OPERAND_TYPE during
10353 1.1 jruoho initialization of the region/field. This is similar (but not
10354 1.1 jruoho related internally) to the problem that was fixed in the last
10355 1.1 jruoho label.
10356 1.1 jruoho
10357 1.1 jruoho Implemented both 32-bit and 64-bit support for the BCD ASL
10358 1.1 jruoho functions ToBCD and FromBCD.
10359 1.1 jruoho
10360 1.1 jruoho Updated all legal headers to include "2000" in the copyright
10361 1.1 jruoho years.
10362 1.1 jruoho
10363 1.1 jruoho ------------------------------------------
10364 1.1 jruoho Summary of changes for this label: 12_01_00
10365 1.1 jruoho
10366 1.1 jruoho Fixed a problem where method invocations within the ASL definition
10367 1.1 jruoho of both OperationRegions and CreateXXXFields did not work
10368 1.1 jruoho properly. The symptom was an AE_AML_OPERAND_TYPE during
10369 1.1 jruoho initialization of the region/field:
10370 1.1 jruoho
10371 1.1 jruoho nsinit-0209: AE_AML_OPERAND_TYPE while getting region arguments
10372 1.1 jruoho [DEBG] ammonad-0284: Exec_monadic2_r/Not: bad operand(s)
10373 1.1 jruoho (0x3005)
10374 1.1 jruoho
10375 1.1 jruoho Fixed a problem where operators with more than one nested
10376 1.1 jruoho subexpression would fail. The symptoms were varied, by mostly
10377 1.1 jruoho AE_AML_OPERAND_TYPE errors. This was actually a rather serious
10378 1.1 jruoho problem that has gone unnoticed until now.
10379 1.1 jruoho
10380 1.1 jruoho Subtract (Add (1,2), Multiply (3,4))
10381 1.1 jruoho
10382 1.1 jruoho Fixed a problem where AcpiGetHandle didn't quite get fixed in the
10383 1.1 jruoho previous build (The prefix part of a relative path was handled
10384 1.1 jruoho incorrectly).
10385 1.1 jruoho
10386 1.1 jruoho Fixed a problem where Operation Region initialization failed if
10387 1.1 jruoho the operation region name was a "namepath" instead of a simple
10388 1.1 jruoho "nameseg". Symptom was an AE_NO_OPERAND error.
10389 1.1 jruoho
10390 1.1 jruoho Fixed a problem where an assignment to a local variable via the
10391 1.1 jruoho indirect RefOf mechanism only worked for the first such
10392 1.1 jruoho assignment. Subsequent assignments were ignored.
10393 1.1 jruoho
10394 1.1 jruoho ------------------------------------------
10395 1.1 jruoho Summary of changes for this label: 11_15_00
10396 1.1 jruoho
10397 1.1 jruoho ACPI 2.0 table support with backwards support for ACPI 1.0 and the
10398 1.1 jruoho 0.71 extensions. Note: although we can read ACPI 2.0 BIOS tables,
10399 1.1 jruoho the AML interpreter does NOT have support for the new 2.0 ASL
10400 1.1 jruoho grammar terms at this time.
10401 1.1 jruoho
10402 1.1 jruoho All ACPI hardware access is via the GAS structures in the ACPI 2.0
10403 1.1 jruoho FADT.
10404 1.1 jruoho
10405 1.1 jruoho All physical memory addresses across all platforms are now 64 bits
10406 1.1 jruoho wide. Logical address width remains dependent on the platform
10407 1.1 jruoho (i.e., "void *").
10408 1.1 jruoho
10409 1.1 jruoho AcpiOsMapMemory interface changed to a 64-bit physical address.
10410 1.1 jruoho
10411 1.1 jruoho The AML interpreter integer size is now 64 bits, as per the ACPI
10412 1.1 jruoho 2.0 specification.
10413 1.1 jruoho
10414 1.1 jruoho For backwards compatibility with ACPI 1.0, ACPI tables with a
10415 1.1 jruoho revision number less than 2 use 32-bit integers only.
10416 1.1 jruoho
10417 1.1 jruoho Fixed a problem where the evaluation of OpRegion operands did not
10418 1.1 jruoho always resolve them to numbers properly.
10419 1.1 jruoho
10420 1.1 jruoho ------------------------------------------
10421 1.1 jruoho Summary of changes for this label: 10_20_00
10422 1.1 jruoho
10423 1.1 jruoho Fix for CBN_._STA issue. This fix will allow correct access to
10424 1.1 jruoho CBN_ OpRegions when the _STA returns 0x8.
10425 1.1 jruoho
10426 1.1 jruoho Support to convert ACPI constants (Ones, Zeros, One) to actual
10427 1.1 jruoho values before a package object is returned
10428 1.1 jruoho
10429 1.1 jruoho Fix for method call as predicate to if/while construct causing
10430 1.1 jruoho incorrect if/while behavior
10431 1.1 jruoho
10432 1.1 jruoho Fix for Else block package lengths sometimes calculated wrong (if
10433 1.1 jruoho block > 63 bytes)
10434 1.1 jruoho
10435 1.1 jruoho Fix for Processor object length field, was always zero
10436 1.1 jruoho
10437 1.1 jruoho Table load abort if FACP sanity check fails
10438 1.1 jruoho
10439 1.1 jruoho Fix for problem with Scope(name) if name already exists
10440 1.1 jruoho
10441 1.1 jruoho Warning emitted if a named object referenced cannot be found
10442 1.1 jruoho (resolved) during method execution.
10443 1.1 jruoho
10444 1.1 jruoho
10445 1.1 jruoho
10446 1.1 jruoho
10447 1.1 jruoho
10448 1.1 jruoho ------------------------------------------
10449 1.1 jruoho Summary of changes for this label: 9_29_00
10450 1.1 jruoho
10451 1.1 jruoho New table initialization interfaces: AcpiInitializeSubsystem no
10452 1.1 jruoho longer has any parameters AcpiFindRootPointer - Find the RSDP (if
10453 1.1 jruoho necessary) AcpiLoadTables (RSDP) - load all tables found at RSDP-
10454 1.1 jruoho >RSDT Obsolete Interfaces AcpiLoadFirmwareTables - replaced by
10455 1.1 jruoho AcpiLoadTables
10456 1.1 jruoho
10457 1.1 jruoho Note: These interface changes require changes to all existing OSDs
10458 1.1 jruoho
10459 1.1 jruoho The PCI_Config default address space handler is always installed
10460 1.1 jruoho at the root namespace object.
10461 1.1 jruoho
10462 1.1 jruoho -------------------------------------------
10463 1.1 jruoho Summary of changes for this label: 09_15_00
10464 1.1 jruoho
10465 1.1 jruoho The new initialization architecture is implemented. New
10466 1.1 jruoho interfaces are: AcpiInitializeSubsystem (replaces AcpiInitialize)
10467 1.1 jruoho AcpiEnableSubsystem Obsolete Interfaces: AcpiLoadNamespace
10468 1.1 jruoho
10469 1.1 jruoho (Namespace is automatically loaded when a table is loaded)
10470 1.1 jruoho
10471 1.1 jruoho The ACPI_OPERAND_OBJECT has been optimized to shrink its size from
10472 1.1 jruoho 52 bytes to 32 bytes. There is usually one of these for every
10473 1.1 jruoho namespace object, so the memory savings is significant.
10474 1.1 jruoho
10475 1.1 jruoho Implemented just-in-time evaluation of the CreateField operators.
10476 1.1 jruoho
10477 1.1 jruoho Bug fixes for IA-64 support have been integrated.
10478 1.1 jruoho
10479 1.1 jruoho Additional code review comments have been implemented
10480 1.1 jruoho
10481 1.1 jruoho The so-called "third pass parse" has been replaced by a final walk
10482 1.1 jruoho through the namespace to initialize all operation regions (address
10483 1.1 jruoho spaces) and fields that have not yet been initialized during the
10484 1.1 jruoho execution of the various _INI and REG methods.
10485 1.1 jruoho
10486 1.1 jruoho New file - namespace/nsinit.c
10487 1.1 jruoho
10488 1.1 jruoho -------------------------------------------
10489 1.1 jruoho Summary of changes for this label: 09_01_00
10490 1.1 jruoho
10491 1.1 jruoho Namespace manager data structures have been reworked to change the
10492 1.1 jruoho primary object from a table to a single object. This has
10493 1.1 jruoho resulted in dynamic memory savings of 3X within the namespace and
10494 1.1 jruoho 2X overall in the ACPI CA subsystem.
10495 1.1 jruoho
10496 1.1 jruoho Fixed problem where the call to AcpiEvFindPciRootBuses was
10497 1.1 jruoho inadvertently left commented out.
10498 1.1 jruoho
10499 1.1 jruoho Reduced the warning count when generating the source with the GCC
10500 1.1 jruoho compiler.
10501 1.1 jruoho
10502 1.1 jruoho Revision numbers added to each module header showing the
10503 1.1 jruoho SourceSafe version of the file. Please refer to this version
10504 1.1 jruoho number when giving us feedback or comments on individual modules.
10505 1.1 jruoho
10506 1.1 jruoho The main object types within the subsystem have been renamed to
10507 1.1 jruoho clarify their purpose:
10508 1.1 jruoho
10509 1.1 jruoho ACPI_INTERNAL_OBJECT -> ACPI_OPERAND_OBJECT
10510 1.1 jruoho ACPI_GENERIC_OP -> ACPI_PARSE_OBJECT
10511 1.1 jruoho ACPI_NAME_TABLE_ENTRY -> ACPI_NAMESPACE_NODE
10512 1.1 jruoho
10513 1.1 jruoho NOTE: no changes to the initialization sequence are included in
10514 1.1 jruoho this label.
10515 1.1 jruoho
10516 1.1 jruoho -------------------------------------------
10517 1.1 jruoho Summary of changes for this label: 08_23_00
10518 1.1 jruoho
10519 1.1 jruoho Fixed problem where TerminateControlMethod was being called
10520 1.1 jruoho multiple times per method
10521 1.1 jruoho
10522 1.1 jruoho Fixed debugger problem where single stepping caused a semaphore to
10523 1.1 jruoho be oversignalled
10524 1.1 jruoho
10525 1.1 jruoho Improved performance through additional parse object caching -
10526 1.1 jruoho added ACPI_EXTENDED_OP type
10527 1.1 jruoho
10528 1.1 jruoho -------------------------------------------
10529 1.1 jruoho Summary of changes for this label: 08_10_00
10530 1.1 jruoho
10531 1.1 jruoho Parser/Interpreter integration: Eliminated the creation of
10532 1.1 jruoho complete parse trees for ACPI tables and control methods.
10533 1.1 jruoho Instead, parse subtrees are created and then deleted as soon as
10534 1.1 jruoho they are processed (Either entered into the namespace or executed
10535 1.1 jruoho by the interpreter). This reduces the use of dynamic kernel
10536 1.1 jruoho memory significantly. (about 10X)
10537 1.1 jruoho
10538 1.1 jruoho Exception codes broken into classes and renumbered. Be sure to
10539 1.1 jruoho recompile all code that includes acexcep.h. Hopefully we won't
10540 1.1 jruoho have to renumber the codes again now that they are split into
10541 1.1 jruoho classes (environment, programmer, AML code, ACPI table, and
10542 1.1 jruoho internal).
10543 1.1 jruoho
10544 1.1 jruoho Fixed some additional alignment issues in the Resource Manager
10545 1.1 jruoho subcomponent
10546 1.1 jruoho
10547 1.1 jruoho Implemented semaphore tracking in the AcpiExec utility, and fixed
10548 1.1 jruoho several places where mutexes/semaphores were being unlocked
10549 1.1 jruoho without a corresponding lock operation. There are no known
10550 1.1 jruoho semaphore or mutex "leaks" at this time.
10551 1.1 jruoho
10552 1.1 jruoho Fixed the case where an ASL Return operator is used to return an
10553 1.1 jruoho unnamed package.
10554 1.1 jruoho
10555 1.1 jruoho -------------------------------------------
10556 1.1 jruoho Summary of changes for this label: 07_28_00
10557 1.1 jruoho
10558 1.1 jruoho Fixed a problem with the way addresses were calculated in
10559 1.1 jruoho AcpiAmlReadFieldData() and AcpiAmlWriteFieldData(). This problem
10560 1.1 jruoho manifested itself when a Field was created with WordAccess or
10561 1.1 jruoho DwordAccess, but the field unit defined within the Field was less
10562 1.1 jruoho
10563 1.1 jruoho than a Word or Dword.
10564 1.1 jruoho
10565 1.1 jruoho Fixed a problem in AmlDumpOperands() module's loop to pull
10566 1.1 jruoho operands off of the operand stack to display information. The
10567 1.1 jruoho problem manifested itself as a TLB error on 64-bit systems when
10568 1.1 jruoho accessing an operand stack with two or more operands.
10569 1.1 jruoho
10570 1.1 jruoho Fixed a problem with the PCI configuration space handlers where
10571 1.1 jruoho context was getting confused between accesses. This required a
10572 1.1 jruoho change to the generic address space handler and address space
10573 1.1 jruoho setup definitions. Handlers now get both a global handler context
10574 1.1 jruoho (this is the one passed in by the user when executing
10575 1.1 jruoho AcpiInstallAddressSpaceHandler() and a specific region context
10576 1.1 jruoho that is unique to each region (For example, the _ADR, _SEG and
10577 1.1 jruoho _BBN values associated with a specific region). The generic
10578 1.1 jruoho function definitions have changed to the following:
10579 1.1 jruoho
10580 1.1 jruoho typedef ACPI_STATUS (*ADDRESS_SPACE_HANDLER) ( UINT32 Function,
10581 1.1 jruoho UINT32 Address, UINT32 BitWidth, UINT32 *Value, void
10582 1.1 jruoho *HandlerContext, // This used to be void *Context void
10583 1.1 jruoho *RegionContext); // This is an additional parameter
10584 1.1 jruoho
10585 1.1 jruoho typedef ACPI_STATUS (*ADDRESS_SPACE_SETUP) ( ACPI_HANDLE
10586 1.1 jruoho RegionHandle, UINT32 Function, void *HandlerContext, void
10587 1.1 jruoho **RegionContext); // This used to be **ReturnContext
10588 1.1 jruoho
10589 1.1 jruoho -------------------------------------------
10590 1.1 jruoho Summary of changes for this label: 07_21_00
10591 1.1 jruoho
10592 1.1 jruoho Major file consolidation and rename. All files within the
10593 1.1 jruoho interpreter have been renamed as well as most header files. This
10594 1.1 jruoho was done to prevent collisions with existing files in the host
10595 1.1 jruoho OSs -- filenames such as "config.h" and "global.h" seem to be
10596 1.1 jruoho quite common. The VC project files have been updated. All
10597 1.1 jruoho makefiles will require modification.
10598 1.1 jruoho
10599 1.1 jruoho The parser/interpreter integration continues in Phase 5 with the
10600 1.1 jruoho implementation of a complete 2-pass parse (the AML is parsed
10601 1.1 jruoho twice) for each table; This avoids the construction of a huge
10602 1.1 jruoho parse tree and therefore reduces the amount of dynamic memory
10603 1.1 jruoho required by the subsystem. Greater use of the parse object cache
10604 1.1 jruoho means that performance is unaffected.
10605 1.1 jruoho
10606 1.1 jruoho Many comments from the two code reviews have been rolled in.
10607 1.1 jruoho
10608 1.1 jruoho The 64-bit alignment support is complete.
10609 1.1 jruoho
10610 1.1 jruoho -------------------------------------------
10611 1.1 jruoho Summary of changes for this label: 06_30_00
10612 1.1 jruoho
10613 1.1 jruoho With a nod and a tip of the hat to the technology of yesteryear,
10614 1.1 jruoho we've added support in the source code for 80 column output
10615 1.1 jruoho devices. The code is now mostly constrained to 80 columns or
10616 1.1 jruoho less to support environments and editors that 1) cannot display
10617 1.1 jruoho or print more than 80 characters on a single line, and 2) cannot
10618 1.1 jruoho disable line wrapping.
10619 1.1 jruoho
10620 1.1 jruoho A major restructuring of the namespace data structure has been
10621 1.1 jruoho completed. The result is 1) cleaner and more
10622 1.1 jruoho understandable/maintainable code, and 2) a significant reduction
10623 1.1 jruoho in the dynamic memory requirement for each named ACPI object
10624 1.1 jruoho (almost half).
10625 1.1 jruoho
10626 1.1 jruoho -------------------------------------------
10627 1.1 jruoho Summary of changes for this label: 06_23_00
10628 1.1 jruoho
10629 1.1 jruoho Linux support has been added. In order to obtain approval to get
10630 1.1 jruoho the ACPI CA subsystem into the Linux kernel, we've had to make
10631 1.1 jruoho quite a few changes to the base subsystem that will affect all
10632 1.1 jruoho users (all the changes are generic and OS- independent). The
10633 1.1 jruoho effects of these global changes have been somewhat far reaching.
10634 1.1 jruoho Files have been merged and/or renamed and interfaces have been
10635 1.1 jruoho renamed. The major changes are described below.
10636 1.1 jruoho
10637 1.1 jruoho Osd* interfaces renamed to AcpiOs* to eliminate namespace
10638 1.1 jruoho pollution/confusion within our target kernels. All OSD
10639 1.1 jruoho interfaces must be modified to match the new naming convention.
10640 1.1 jruoho
10641 1.1 jruoho Files merged across the subsystem. A number of the smaller source
10642 1.1 jruoho and header files have been merged to reduce the file count and
10643 1.1 jruoho increase the density of the existing files. There are too many
10644 1.1 jruoho to list here. In general, makefiles that call out individual
10645 1.1 jruoho files will require rebuilding.
10646 1.1 jruoho
10647 1.1 jruoho Interpreter files renamed. All interpreter files now have the
10648 1.1 jruoho prefix am* instead of ie* and is*.
10649 1.1 jruoho
10650 1.1 jruoho Header files renamed: The acapi.h file is now acpixf.h. The
10651 1.1 jruoho acpiosd.h file is now acpiosxf.h. We are removing references to
10652 1.1 jruoho the acronym "API" since it is somewhat windowsy. The new name is
10653 1.1 jruoho "external interface" or xface or xf in the filenames.j
10654 1.1 jruoho
10655 1.1 jruoho
10656 1.1 jruoho All manifest constants have been forced to upper case (some were
10657 1.1 jruoho mixed case.) Also, the string "ACPI_" has been prepended to many
10658 1.1 jruoho (not all) of the constants, typedefs, and structs.
10659 1.1 jruoho
10660 1.1 jruoho The globals "DebugLevel" and "DebugLayer" have been renamed
10661 1.1 jruoho "AcpiDbgLevel" and "AcpiDbgLayer" respectively.
10662 1.1 jruoho
10663 1.1 jruoho All other globals within the subsystem are now prefixed with
10664 1.1 jruoho "AcpiGbl_" Internal procedures within the subsystem are now
10665 1.1 jruoho prefixed with "Acpi" (with only a few exceptions). The original
10666 1.1 jruoho two-letter abbreviation for the subcomponent remains after "Acpi"
10667 1.1 jruoho - for example, CmCallocate became AcpiCmCallocate.
10668 1.1 jruoho
10669 1.1 jruoho Added a source code translation/conversion utility. Used to
10670 1.1 jruoho generate the Linux source code, it can be modified to generate
10671 1.1 jruoho other types of source as well. Can also be used to cleanup
10672 1.1 jruoho existing source by removing extraneous spaces and blank lines.
10673 1.1 jruoho Found in tools/acpisrc/*
10674 1.1 jruoho
10675 1.1 jruoho OsdUnMapMemory was renamed to OsdUnmapMemory and then
10676 1.1 jruoho AcpiOsUnmapMemory. (UnMap became Unmap).
10677 1.1 jruoho
10678 1.1 jruoho A "MaxUnits" parameter has been added to AcpiOsCreateSemaphore.
10679 1.1 jruoho When set to one, this indicates that the caller wants to use the
10680 1.1 jruoho
10681 1.1 jruoho semaphore as a mutex, not a counting semaphore. ACPI CA uses
10682 1.1 jruoho both types. However, implementers of this call may want to use
10683 1.1 jruoho different OS primitives depending on the type of semaphore
10684 1.1 jruoho requested. For example, some operating systems provide separate
10685 1.1 jruoho
10686 1.1 jruoho "mutex" and "semaphore" interfaces - where the mutex interface is
10687 1.1 jruoho much faster because it doesn't have all the overhead of a full
10688 1.1 jruoho semaphore implementation.
10689 1.1 jruoho
10690 1.1 jruoho Fixed a deadlock problem where a method that accesses the PCI
10691 1.1 jruoho address space can block forever if it is the first access to the
10692 1.1 jruoho space.
10693 1.1 jruoho
10694 1.1 jruoho -------------------------------------------
10695 1.1 jruoho Summary of changes for this label: 06_02_00
10696 1.1 jruoho
10697 1.1 jruoho Support for environments that cannot handle unaligned data
10698 1.1 jruoho accesses (e.g. firmware and OS environments devoid of alignment
10699 1.1 jruoho handler technology namely SAL/EFI and the IA-64 Linux kernel) has
10700 1.1 jruoho been added (via configurable macros) in these three areas: -
10701 1.1 jruoho Transfer of data from the raw AML byte stream is done via byte
10702 1.1 jruoho moves instead of word/dword/qword moves. - External objects are
10703 1.1 jruoho aligned within the user buffer, including package elements (sub-
10704 1.1 jruoho objects). - Conversion of name strings to UINT32 Acpi Names is now
10705 1.1 jruoho done byte-wise.
10706 1.1 jruoho
10707 1.1 jruoho The Store operator was modified to mimic Microsoft's
10708 1.1 jruoho implementation when storing to a Buffer Field.
10709 1.1 jruoho
10710 1.1 jruoho Added a check of the BM_STS bit before entering C3.
10711 1.1 jruoho
10712 1.1 jruoho The methods subdirectory has been obsoleted and removed. A new
10713 1.1 jruoho file, cmeval.c subsumes the functionality.
10714 1.1 jruoho
10715 1.1 jruoho A 16-bit (DOS) version of AcpiExec has been developed. The
10716 1.1 jruoho makefile is under the acpiexec directory.
10717