changes.txt revision 1.1.1.2 1 1.1 jruoho ----------------------------------------
2 1.1.1.2 jruoho 11 February 2011. Summary of changes for version 20110211:
3 1.1 jruoho
4 1.1 jruoho This release is available at www.acpica.org/downloads
5 1.1 jruoho
6 1.1.1.2 jruoho 1) ACPI CA Core Subsystem:
7 1.1.1.2 jruoho
8 1.1.1.2 jruoho Added a mechanism to defer _REG methods for some early-installed handlers.
9 1.1.1.2 jruoho Most user handlers should be installed before call to AcpiEnableSubsystem.
10 1.1.1.2 jruoho However, Event handlers and region handlers should be installed after
11 1.1.1.2 jruoho AcpiInitializeObjects. Override handlers for the "default" regions should be
12 1.1.1.2 jruoho installed early, however. This change executes all _REG methods for the
13 1.1.1.2 jruoho default regions (Memory/IO/PCI/DataTable) simultaneously to prevent any
14 1.1.1.2 jruoho chicken/egg issues between them. ACPICA BZ 848.
15 1.1.1.2 jruoho
16 1.1.1.2 jruoho Implemented an optimization for GPE detection. This optimization will simply
17 1.1.1.2 jruoho ignore GPE registers that contain no enabled GPEs -- there is no need to
18 1.1.1.2 jruoho read the register since this information is available internally. This
19 1.1.1.2 jruoho becomes more important on machines with a large GPE space. ACPICA bugzilla
20 1.1.1.2 jruoho 884. Lin Ming. Suggestion from Joe Liu.
21 1.1.1.2 jruoho
22 1.1.1.2 jruoho Removed all use of the highly unreliable FADT revision field. The revision
23 1.1.1.2 jruoho number in the FADT has been found to be completely unreliable and cannot be
24 1.1.1.2 jruoho trusted. Only the actual table length can be used to infer the version. This
25 1.1.1.2 jruoho change updates the ACPICA core and the disassembler so that both no longer
26 1.1.1.2 jruoho even look at the FADT version and instead depend solely upon the FADT
27 1.1.1.2 jruoho length.
28 1.1.1.2 jruoho
29 1.1.1.2 jruoho Fix an unresolved name issue for the no-debug and no-error-message source
30 1.1.1.2 jruoho generation cases. The _AcpiModuleName was left undefined in these cases, but
31 1.1.1.2 jruoho it is actually needed as a parameter to some interfaces. Define
32 1.1.1.2 jruoho _AcpiModuleName as a null string in these cases. ACPICA Bugzilla 888.
33 1.1.1.2 jruoho
34 1.1.1.2 jruoho Split several large files (makefiles and project files updated)
35 1.1.1.2 jruoho utglobal.c -> utdecode.c
36 1.1.1.2 jruoho dbcomds.c -> dbmethod.c dbnames.c
37 1.1.1.2 jruoho dsopcode.c -> dsargs.c dscontrol.c
38 1.1.1.2 jruoho dsload.c -> dsload2.c
39 1.1.1.2 jruoho aslanalyze.c -> aslbtypes.c aslwalks.c
40 1.1.1.2 jruoho
41 1.1.1.2 jruoho Example Code and Data Size: These are the sizes for the OS-independent
42 1.1.1.2 jruoho acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
43 1.1.1.2 jruoho debug version of the code includes the debug output trace mechanism and has
44 1.1.1.2 jruoho a much larger code and data size.
45 1.1.1.2 jruoho
46 1.1.1.2 jruoho Previous Release (VC 9.0):
47 1.1.1.2 jruoho Non-Debug Version: 89.7K Code, 23.7K Data, 113.4K Total
48 1.1.1.2 jruoho Debug Version: 163.9K Code, 67.5K Data, 231.4K Total
49 1.1.1.2 jruoho Current Release (VC 9.0):
50 1.1.1.2 jruoho Non-Debug Version: 89.7K Code, 23.7K Data, 113.4K Total
51 1.1.1.2 jruoho Debug Version: 163.9K Code, 67.5K Data, 231.4K Total
52 1.1.1.2 jruoho
53 1.1.1.2 jruoho 2) iASL Compiler/Disassembler and Tools:
54 1.1.1.2 jruoho
55 1.1.1.2 jruoho iASL: Implemented the predefined macros __LINE__, __FILE__, and __DATE__.
56 1.1.1.2 jruoho These are useful C-style macros with the standard definitions. ACPICA
57 1.1.1.2 jruoho bugzilla 898.
58 1.1.1.2 jruoho
59 1.1.1.2 jruoho iASL/DTC: Added support for integer expressions and labels. Support for full
60 1.1.1.2 jruoho expressions for all integer fields in all ACPI tables. Support for labels in
61 1.1.1.2 jruoho "generic" portions of tables such as UEFI. See the iASL reference manual.
62 1.1.1.2 jruoho
63 1.1.1.2 jruoho Debugger: Added a command to display the status of global handlers. The
64 1.1.1.2 jruoho "handlers" command will display op region, fixed event, and miscellaneous
65 1.1.1.2 jruoho global handlers. installation status -- and for op regions, whether default
66 1.1.1.2 jruoho or user-installed handler will be used.
67 1.1.1.2 jruoho
68 1.1.1.2 jruoho iASL: Warn if reserved method incorrectly returns a value. Many predefined
69 1.1.1.2 jruoho names are defined such that they do not return a value. If implemented as a
70 1.1.1.2 jruoho method, issue a warning if such a name explicitly returns a value. ACPICA
71 1.1.1.2 jruoho Bugzilla 855.
72 1.1.1.2 jruoho
73 1.1.1.2 jruoho iASL: Added detection of GPE method name conflicts. Detects a conflict where
74 1.1.1.2 jruoho there are two GPE methods of the form _Lxy and _Exy in the same scope. (For
75 1.1.1.2 jruoho example, _L1D and _E1D in the same scope.) ACPICA bugzilla 848.
76 1.1.1.2 jruoho
77 1.1.1.2 jruoho iASL/DTC: Fixed a couple input scanner issues with comments and line
78 1.1.1.2 jruoho numbers. Comment remover could get confused and miss a comment ending. Fixed
79 1.1.1.2 jruoho a problem with line counter maintenance.
80 1.1.1.2 jruoho
81 1.1.1.2 jruoho iASL/DTC: Reduced the severity of some errors from fatal to error. There is
82 1.1.1.2 jruoho no need to abort on simple errors within a field definition.
83 1.1.1.2 jruoho
84 1.1.1.2 jruoho Debugger: Simplified the output of the help command. All help output now in
85 1.1.1.2 jruoho a single screen, instead of help subcommands. ACPICA Bugzilla 897.
86 1.1.1.2 jruoho
87 1.1.1.2 jruoho
88 1.1.1.2 jruoho ----------------------------------------
89 1.1.1.2 jruoho 12 January 2011. Summary of changes for version 20110112:
90 1.1.1.2 jruoho
91 1.1.1.2 jruoho 1) ACPI CA Core Subsystem:
92 1.1.1.2 jruoho
93 1.1.1.2 jruoho Fixed a race condition between method execution and namespace walks that can
94 1.1.1.2 jruoho possibly cause a fault. The problem was apparently introduced in version
95 1.1.1.2 jruoho 20100528 as a result of a performance optimization that reduces the number
96 1.1.1.2 jruoho of
97 1.1.1.2 jruoho namespace walks upon method exit by using the delete_namespace_subtree
98 1.1.1.2 jruoho function instead of the delete_namespace_by_owner function used previously.
99 1.1.1.2 jruoho Bug is a missing namespace lock in the delete_namespace_subtree function.
100 1.1.1.2 jruoho dana.myers (a] oracle.com
101 1.1.1.2 jruoho
102 1.1.1.2 jruoho Fixed several issues and a possible fault with the automatic "serialized"
103 1.1.1.2 jruoho method support. History: This support changes a method to "serialized" on
104 1.1.1.2 jruoho the
105 1.1.1.2 jruoho fly if the method generates an AE_ALREADY_EXISTS error, indicating the
106 1.1.1.2 jruoho possibility that it cannot handle reentrancy. This fix repairs a couple of
107 1.1.1.2 jruoho issues seen in the field, especially on machines with many cores:
108 1.1.1.2 jruoho
109 1.1.1.2 jruoho 1) Delete method children only upon the exit of the last thread,
110 1.1.1.2 jruoho so as to not delete objects out from under other running threads
111 1.1.1.2 jruoho (and possibly causing a fault.)
112 1.1.1.2 jruoho 2) Set the "serialized" bit for the method only upon the exit of the
113 1.1.1.2 jruoho Last thread, so as to not cause deadlock when running threads
114 1.1.1.2 jruoho attempt to exit.
115 1.1.1.2 jruoho 3) Cleanup the use of the AML "MethodFlags" and internal method flags
116 1.1.1.2 jruoho so that there is no longer any confusion between the two.
117 1.1.1.2 jruoho
118 1.1.1.2 jruoho Lin Ming, Bob Moore. Reported by dana.myers (a] oracle.com.
119 1.1.1.2 jruoho
120 1.1.1.2 jruoho Debugger: Now lock the namespace for duration of a namespace dump. Prevents
121 1.1.1.2 jruoho issues if the namespace is changing dynamically underneath the debugger.
122 1.1.1.2 jruoho Especially affects temporary namespace nodes, since the debugger displays
123 1.1.1.2 jruoho these also.
124 1.1.1.2 jruoho
125 1.1.1.2 jruoho Updated the ordering of include files. The ACPICA headers should appear
126 1.1.1.2 jruoho before any compiler-specific headers (stdio.h, etc.) so that acenv.h can set
127 1.1.1.2 jruoho any necessary compiler-specific defines, etc. Affects the ACPI-related tools
128 1.1.1.2 jruoho and utilities.
129 1.1.1.2 jruoho
130 1.1.1.2 jruoho Updated all ACPICA copyrights and signons to 2011. Added the 2011 copyright
131 1.1.1.2 jruoho to all module headers and signons, including the Linux header. This affects
132 1.1.1.2 jruoho virtually every file in the ACPICA core subsystem, iASL compiler, and all
133 1.1.1.2 jruoho utilities.
134 1.1.1.2 jruoho
135 1.1.1.2 jruoho Added project files for MS Visual Studio 2008 (VC++ 9.0). The original
136 1.1.1.2 jruoho project files for VC++ 6.0 are now obsolete. New project files can be found
137 1.1.1.2 jruoho under acpica/generate/msvc9. See acpica/generate/msvc9/readme.txt for
138 1.1.1.2 jruoho details.
139 1.1.1.2 jruoho
140 1.1.1.2 jruoho Example Code and Data Size: These are the sizes for the OS-independent
141 1.1.1.2 jruoho acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The
142 1.1.1.2 jruoho debug version of the code includes the debug output trace mechanism and has
143 1.1.1.2 jruoho a
144 1.1.1.2 jruoho much larger code and data size.
145 1.1.1.2 jruoho
146 1.1.1.2 jruoho Previous Release (VC 6.0):
147 1.1.1.2 jruoho Non-Debug Version: 89.8K Code, 18.9K Data, 108.7K Total
148 1.1.1.2 jruoho Debug Version: 166.6K Code, 52.1K Data, 218.7K Total
149 1.1.1.2 jruoho Current Release (VC 9.0):
150 1.1.1.2 jruoho Non-Debug Version: 89.7K Code, 23.7K Data, 113.4K Total
151 1.1.1.2 jruoho Debug Version: 163.9K Code, 67.5K Data, 231.4K Total
152 1.1.1.2 jruoho
153 1.1.1.2 jruoho 2) iASL Compiler/Disassembler and Tools:
154 1.1.1.2 jruoho
155 1.1.1.2 jruoho iASL: Added generic data types to the Data Table compiler. Add "generic"
156 1.1.1.2 jruoho data
157 1.1.1.2 jruoho types such as UINT32, String, Unicode, etc., to simplify the generation of
158 1.1.1.2 jruoho platform-defined tables such as UEFI. Lin Ming.
159 1.1.1.2 jruoho
160 1.1.1.2 jruoho iASL: Added listing support for the Data Table Compiler. Adds listing
161 1.1.1.2 jruoho support
162 1.1.1.2 jruoho (-l) to display actual binary output for each line of input code.
163 1.1.1.2 jruoho
164 1.1.1.2 jruoho ----------------------------------------
165 1.1.1.2 jruoho 09 December 2010. Summary of changes for version 20101209:
166 1.1.1.2 jruoho
167 1.1.1.2 jruoho 1) ACPI CA Core Subsystem:
168 1.1.1.2 jruoho
169 1.1.1.2 jruoho Completed the major overhaul of the GPE support code that was begun in July
170 1.1.1.2 jruoho 2010. Major features include: removal of _PRW execution in ACPICA (host
171 1.1.1.2 jruoho executes _PRWs anyway), cleanup of "wake" GPE interfaces and processing,
172 1.1.1.2 jruoho changes to existing interfaces, simplification of GPE handler operation, and
173 1.1.1.2 jruoho a handful of new interfaces:
174 1.1.1.2 jruoho
175 1.1.1.2 jruoho AcpiUpdateAllGpes
176 1.1.1.2 jruoho AcpiFinishGpe
177 1.1.1.2 jruoho AcpiSetupGpeForWake
178 1.1.1.2 jruoho AcpiSetGpeWakeMask
179 1.1.1.2 jruoho One new file, evxfgpe.c to consolidate all external GPE interfaces.
180 1.1.1.2 jruoho
181 1.1.1.2 jruoho See the ACPICA Programmer Reference for full details and programming
182 1.1.1.2 jruoho information. See the new section 4.4 "General Purpose Event (GPE) Support"
183 1.1.1.2 jruoho for a full overview, and section 8.7 "ACPI General Purpose Event Management"
184 1.1.1.2 jruoho for programming details. ACPICA BZ 858,870,877. Matthew Garrett, Lin Ming,
185 1.1.1.2 jruoho Bob Moore, Rafael Wysocki.
186 1.1.1.2 jruoho
187 1.1.1.2 jruoho Implemented a new GPE feature for Windows compatibility, the "Implicit Wake
188 1.1.1.2 jruoho GPE Notify". This feature will automatically issue a Notify(2) on a device
189 1.1.1.2 jruoho when a Wake GPE is received if there is no corresponding GPE method or
190 1.1.1.2 jruoho handler. ACPICA BZ 870.
191 1.1.1.2 jruoho
192 1.1.1.2 jruoho Fixed a problem with the Scope() operator during table parse and load phase.
193 1.1.1.2 jruoho During load phase (table load or method execution), the scope operator
194 1.1.1.2 jruoho should
195 1.1.1.2 jruoho not enter the target into the namespace. Instead, it should open a new scope
196 1.1.1.2 jruoho at the target location. Linux BZ 19462, ACPICA BZ 882.
197 1.1.1.2 jruoho
198 1.1.1.2 jruoho Example Code and Data Size: These are the sizes for the OS-independent
199 1.1.1.2 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
200 1.1.1.2 jruoho debug version of the code includes the debug output trace mechanism and has
201 1.1.1.2 jruoho a
202 1.1.1.2 jruoho much larger code and data size.
203 1.1.1.2 jruoho
204 1.1.1.2 jruoho Previous Release:
205 1.1.1.2 jruoho Non-Debug Version: 89.8K Code, 18.9K Data, 108.7K Total
206 1.1.1.2 jruoho Debug Version: 166.6K Code, 52.1K Data, 218.7K Total
207 1.1.1.2 jruoho Current Release:
208 1.1.1.2 jruoho Non-Debug Version: 89.9K Code, 19.0K Data, 108.9K Total
209 1.1.1.2 jruoho Debug Version: 166.3K Code, 52.1K Data, 218.4K Total
210 1.1.1.2 jruoho
211 1.1.1.2 jruoho 2) iASL Compiler/Disassembler and Tools:
212 1.1.1.2 jruoho
213 1.1.1.2 jruoho iASL: Relax the alphanumeric restriction on _CID strings. These strings are
214 1.1.1.2 jruoho "bus-specific" per the ACPI specification, and therefore any characters are
215 1.1.1.2 jruoho acceptable. The only checks that can be performed are for a null string and
216 1.1.1.2 jruoho perhaps for a leading asterisk. ACPICA BZ 886.
217 1.1.1.2 jruoho
218 1.1.1.2 jruoho iASL: Fixed a problem where a syntax error that caused a premature EOF
219 1.1.1.2 jruoho condition on the source file emitted a very confusing error message. The
220 1.1.1.2 jruoho premature EOF is now detected correctly. ACPICA BZ 891.
221 1.1.1.2 jruoho
222 1.1.1.2 jruoho Disassembler: Decode the AccessSize within a Generic Address Structure (byte
223 1.1.1.2 jruoho access, word access, etc.) Note, this field does not allow arbitrary bit
224 1.1.1.2 jruoho access, the size is encoded as 1=byte, 2=word, 3=dword, and 4=qword.
225 1.1.1.2 jruoho
226 1.1.1.2 jruoho New: AcpiNames utility - Example namespace dump utility. Shows an example of
227 1.1.1.2 jruoho ACPICA configuration for a minimal namespace dump utility. Uses table and
228 1.1.1.2 jruoho namespace managers, but no AML interpreter. Does not add any functionality
229 1.1.1.2 jruoho over AcpiExec, it is a subset of AcpiExec. The purpose is to show how to
230 1.1.1.2 jruoho partition and configure ACPICA. ACPICA BZ 883.
231 1.1.1.2 jruoho
232 1.1.1.2 jruoho AML Debugger: Increased the debugger buffer size for method return objects.
233 1.1.1.2 jruoho Was 4K, increased to 16K. Also enhanced error messages for debugger method
234 1.1.1.2 jruoho execution, including the buffer overflow case.
235 1.1.1.2 jruoho
236 1.1.1.2 jruoho ----------------------------------------
237 1.1.1.2 jruoho 13 October 2010. Summary of changes for version 20101013:
238 1.1.1.2 jruoho
239 1.1.1.2 jruoho 1) ACPI CA Core Subsystem:
240 1.1.1.2 jruoho
241 1.1.1.2 jruoho Added support to clear the PCIEXP_WAKE event. When clearing ACPI events, now
242 1.1.1.2 jruoho clear the PCIEXP_WAKE_STS bit in the ACPI PM1 Status Register, via
243 1.1.1.2 jruoho HwClearAcpiStatus. Original change from Colin King. ACPICA BZ 880.
244 1.1.1.2 jruoho
245 1.1.1.2 jruoho Changed the type of the predefined namespace object _TZ from ThermalZone to
246 1.1.1.2 jruoho Device. This was found to be confusing to the host software that processes
247 1.1.1.2 jruoho the various thermal zones, since _TZ is not really a ThermalZone. However, a
248 1.1.1.2 jruoho Notify() can still be performed on it. ACPICA BZ 876. Suggestion from Rui
249 1.1.1.2 jruoho Zhang.
250 1.1.1.2 jruoho
251 1.1.1.2 jruoho Added Windows Vista SP2 to the list of supported _OSI strings. The actual
252 1.1.1.2 jruoho string is "Windows 2006 SP2".
253 1.1.1.2 jruoho
254 1.1.1.2 jruoho Eliminated duplicate code in AcpiUtExecute* functions. Now that the nsrepair
255 1.1.1.2 jruoho code automatically repairs _HID-related strings, this type of code is no
256 1.1.1.2 jruoho longer needed in Execute_HID, Execute_CID, and Execute_UID. ACPICA BZ 878.
257 1.1.1.2 jruoho
258 1.1.1.2 jruoho Example Code and Data Size: These are the sizes for the OS-independent
259 1.1.1.2 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
260 1.1.1.2 jruoho debug version of the code includes the debug output trace mechanism and has
261 1.1.1.2 jruoho a
262 1.1.1.2 jruoho much larger code and data size.
263 1.1.1.2 jruoho
264 1.1.1.2 jruoho Previous Release:
265 1.1.1.2 jruoho Non-Debug Version: 89.9K Code, 19.0K Data, 108.9K Total
266 1.1.1.2 jruoho Debug Version: 166.3K Code, 52.1K Data, 218.4K Total
267 1.1.1.2 jruoho Current Release:
268 1.1.1.2 jruoho Non-Debug Version: 89.9K Code, 19.0K Data, 108.9K Total
269 1.1.1.2 jruoho Debug Version: 166.3K Code, 52.1K Data, 218.4K Total
270 1.1.1.2 jruoho
271 1.1.1.2 jruoho 2) iASL Compiler/Disassembler and Tools:
272 1.1.1.2 jruoho
273 1.1.1.2 jruoho iASL: Implemented additional compile-time validation for _HID strings. The
274 1.1.1.2 jruoho non-hex prefix (such as "PNP" or "ACPI") must be uppercase, and the length
275 1.1.1.2 jruoho of
276 1.1.1.2 jruoho the string must be exactly seven or eight characters. For both _HID and _CID
277 1.1.1.2 jruoho strings, all characters must be alphanumeric. ACPICA BZ 874.
278 1.1.1.2 jruoho
279 1.1.1.2 jruoho iASL: Allow certain "null" resource descriptors. Some BIOS code creates
280 1.1.1.2 jruoho descriptors that are mostly or all zeros, with the expectation that they
281 1.1.1.2 jruoho will
282 1.1.1.2 jruoho be filled in at runtime. iASL now allows this as long as there is a
283 1.1.1.2 jruoho "resource
284 1.1.1.2 jruoho tag" (name) associated with the descriptor, which gives the ASL a handle
285 1.1.1.2 jruoho needed to modify the descriptor. ACPICA BZ 873.
286 1.1.1.2 jruoho
287 1.1.1.2 jruoho Added single-thread support to the generic Unix application OSL. Primarily
288 1.1.1.2 jruoho for iASL support, this change removes the use of semaphores in the single-
289 1.1.1.2 jruoho threaded ACPICA tools/applications - increasing performance. The
290 1.1.1.2 jruoho _MULTI_THREADED option was replaced by the (reverse) ACPI_SINGLE_THREADED
291 1.1.1.2 jruoho option. ACPICA BZ 879.
292 1.1.1.2 jruoho
293 1.1.1.2 jruoho AcpiExec: several fixes for the 64-bit version. Adds XSDT support and
294 1.1.1.2 jruoho support
295 1.1.1.2 jruoho for 64-bit DSDT/FACS addresses in the FADT. Lin Ming.
296 1.1.1.2 jruoho
297 1.1.1.2 jruoho iASL: Moved all compiler messages to a new file, aslmessages.h.
298 1.1.1.2 jruoho
299 1.1.1.2 jruoho ----------------------------------------
300 1.1.1.2 jruoho 15 September 2010. Summary of changes for version 20100915:
301 1.1.1.2 jruoho
302 1.1.1.2 jruoho 1) ACPI CA Core Subsystem:
303 1.1.1.2 jruoho
304 1.1.1.2 jruoho Removed the AcpiOsDerivePciId OSL interface. The various host
305 1.1.1.2 jruoho implementations
306 1.1.1.2 jruoho of this function were not OS-dependent and are now obsolete and can be
307 1.1.1.2 jruoho removed from all host OSLs. This function has been replaced by
308 1.1.1.2 jruoho AcpiHwDerivePciId, which is now part of the ACPICA core code.
309 1.1.1.2 jruoho AcpiHwDerivePciId has been implemented without recursion. Adds one new
310 1.1.1.2 jruoho module, hwpci.c. ACPICA BZ 857.
311 1.1.1.2 jruoho
312 1.1.1.2 jruoho Implemented a dynamic repair for _HID and _CID strings. The following
313 1.1.1.2 jruoho problems are now repaired at runtime: 1) Remove a leading asterisk in the
314 1.1.1.2 jruoho string, and 2) the entire string is uppercased. Both repairs are in
315 1.1.1.2 jruoho accordance with the ACPI specification and will simplify host driver code.
316 1.1.1.2 jruoho ACPICA BZ 871.
317 1.1.1.2 jruoho
318 1.1.1.2 jruoho The ACPI_THREAD_ID type is no longer configurable, internally it is now
319 1.1.1.2 jruoho always UINT64. This simplifies the ACPICA code, especially any printf
320 1.1.1.2 jruoho output.
321 1.1.1.2 jruoho UINT64 is the only common data type for all thread_id types across all
322 1.1.1.2 jruoho operating systems. It is now up to the host OSL to cast the native thread_id
323 1.1.1.2 jruoho type to UINT64 before returning the value to ACPICA (via AcpiOsGetThreadId).
324 1.1.1.2 jruoho Lin Ming, Bob Moore.
325 1.1.1.2 jruoho
326 1.1.1.2 jruoho Added the ACPI_INLINE type to enhance the ACPICA configuration. The "inline"
327 1.1.1.2 jruoho keyword is not standard across compilers, and this type allows inline to be
328 1.1.1.2 jruoho configured on a per-compiler basis. Lin Ming.
329 1.1.1.2 jruoho
330 1.1.1.2 jruoho Made the system global AcpiGbl_SystemAwakeAndRunning publically available.
331 1.1.1.2 jruoho Added an extern for this boolean in acpixf.h. Some hosts utilize this value
332 1.1.1.2 jruoho during suspend/restore operations. ACPICA BZ 869.
333 1.1.1.2 jruoho
334 1.1.1.2 jruoho All code that implements error/warning messages with the "ACPI:" prefix has
335 1.1.1.2 jruoho been moved to a new module, utxferror.c.
336 1.1.1.2 jruoho
337 1.1.1.2 jruoho The UINT64_OVERLAY was moved to utmath.c, which is the only module where it
338 1.1.1.2 jruoho is used. ACPICA BZ 829. Lin Ming, Bob Moore.
339 1.1.1.2 jruoho
340 1.1.1.2 jruoho Example Code and Data Size: These are the sizes for the OS-independent
341 1.1.1.2 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
342 1.1.1.2 jruoho debug version of the code includes the debug output trace mechanism and has
343 1.1.1.2 jruoho a
344 1.1.1.2 jruoho much larger code and data size.
345 1.1.1.2 jruoho
346 1.1.1.2 jruoho Previous Release:
347 1.1.1.2 jruoho Non-Debug Version: 89.1K Code, 19.0K Data, 108.1K Total
348 1.1.1.2 jruoho Debug Version: 165.1K Code, 51.9K Data, 217.0K Total
349 1.1.1.2 jruoho Current Release:
350 1.1.1.2 jruoho Non-Debug Version: 89.9K Code, 19.0K Data, 108.9K Total
351 1.1.1.2 jruoho Debug Version: 166.3K Code, 52.1K Data, 218.4K Total
352 1.1.1.2 jruoho
353 1.1.1.2 jruoho 2) iASL Compiler/Disassembler and Tools:
354 1.1.1.2 jruoho
355 1.1.1.2 jruoho iASL/Disassembler: Write ACPI errors to stderr instead of the output file.
356 1.1.1.2 jruoho This keeps the output files free of random error messages that may originate
357 1.1.1.2 jruoho from within the namespace/interpreter code. Used this opportunity to merge
358 1.1.1.2 jruoho all ACPI:-style messages into a single new module, utxferror.c. ACPICA BZ
359 1.1.1.2 jruoho 866. Lin Ming, Bob Moore.
360 1.1.1.2 jruoho
361 1.1.1.2 jruoho Tools: update some printfs for ansi warnings on size_t. Handle width change
362 1.1.1.2 jruoho of size_t on 32-bit versus 64-bit generations. Lin Ming.
363 1.1.1.2 jruoho
364 1.1.1.2 jruoho ----------------------------------------
365 1.1.1.2 jruoho 06 August 2010. Summary of changes for version 20100806:
366 1.1.1.2 jruoho
367 1.1.1.2 jruoho 1) ACPI CA Core Subsystem:
368 1.1.1.2 jruoho
369 1.1.1.2 jruoho Designed and implemented a new host interface to the _OSI support code. This
370 1.1.1.2 jruoho will allow the host to dynamically add or remove multiple _OSI strings, as
371 1.1.1.2 jruoho well as install an optional handler that is called for each _OSI invocation.
372 1.1.1.2 jruoho Also added a new AML debugger command, 'osi' to display and modify the
373 1.1.1.2 jruoho global
374 1.1.1.2 jruoho _OSI string table, and test support in the AcpiExec utility. See the ACPICA
375 1.1.1.2 jruoho reference manual for full details. Lin Ming, Bob Moore. ACPICA BZ 836.
376 1.1.1.2 jruoho New Functions:
377 1.1.1.2 jruoho AcpiInstallInterface - Add an _OSI string.
378 1.1.1.2 jruoho AcpiRemoveInterface - Delete an _OSI string.
379 1.1.1.2 jruoho AcpiInstallInterfaceHandler - Install optional _OSI handler.
380 1.1.1.2 jruoho Obsolete Functions:
381 1.1.1.2 jruoho AcpiOsValidateInterface - no longer used.
382 1.1.1.2 jruoho New Files:
383 1.1.1.2 jruoho source/components/utilities/utosi.c
384 1.1.1.2 jruoho
385 1.1.1.2 jruoho Re-introduced the support to enable multi-byte transfers for Embedded
386 1.1.1.2 jruoho Controller (EC) operation regions. A reported problem was found to be a bug
387 1.1.1.2 jruoho in the host OS, not in the multi-byte support. Previously, the maximum data
388 1.1.1.2 jruoho size passed to the EC operation region handler was a single byte. There are
389 1.1.1.2 jruoho often EC Fields larger than one byte that need to be transferred, and it is
390 1.1.1.2 jruoho useful for the EC driver to lock these as a single transaction. This change
391 1.1.1.2 jruoho enables single transfers larger than 8 bits. This effectively changes the
392 1.1.1.2 jruoho access to the EC space from ByteAcc to AnyAcc, and will probably require
393 1.1.1.2 jruoho changes to the host OS Embedded Controller driver to enable 16/32/64/256-bit
394 1.1.1.2 jruoho transfers in addition to 8-bit transfers. Alexey Starikovskiy, Lin Ming.
395 1.1.1.2 jruoho
396 1.1.1.2 jruoho Fixed a problem with the prototype for AcpiOsReadPciConfiguration. The
397 1.1.1.2 jruoho prototype in acpiosxf.h had the output value pointer as a (void *).
398 1.1.1.2 jruoho It should be a (UINT64 *). This may affect some host OSL code.
399 1.1.1.2 jruoho
400 1.1.1.2 jruoho Fixed a couple problems with the recently modified Linux makefiles for iASL
401 1.1.1.2 jruoho and AcpiExec. These new makefiles place the generated object files in the
402 1.1.1.2 jruoho local directory so that there can be no collisions between the files that
403 1.1.1.2 jruoho are
404 1.1.1.2 jruoho shared between them that are compiled with different options.
405 1.1.1.2 jruoho
406 1.1.1.2 jruoho Example Code and Data Size: These are the sizes for the OS-independent
407 1.1.1.2 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
408 1.1.1.2 jruoho debug version of the code includes the debug output trace mechanism and has
409 1.1.1.2 jruoho a
410 1.1.1.2 jruoho much larger code and data size.
411 1.1.1.2 jruoho
412 1.1.1.2 jruoho Previous Release:
413 1.1.1.2 jruoho Non-Debug Version: 88.3K Code, 18.8K Data, 107.1K Total
414 1.1.1.2 jruoho Debug Version: 164.0K Code, 51.5K Data, 215.5K Total
415 1.1.1.2 jruoho Current Release:
416 1.1.1.2 jruoho Non-Debug Version: 89.1K Code, 19.0K Data, 108.1K Total
417 1.1.1.2 jruoho Debug Version: 165.1K Code, 51.9K Data, 217.0K Total
418 1.1.1.2 jruoho
419 1.1.1.2 jruoho 2) iASL Compiler/Disassembler and Tools:
420 1.1.1.2 jruoho
421 1.1.1.2 jruoho iASL/Disassembler: Added a new option (-da, "disassemble all") to load the
422 1.1.1.2 jruoho namespace from and disassemble an entire group of AML files. Useful for
423 1.1.1.2 jruoho loading all of the AML tables for a given machine (DSDT, SSDT1...SSDTn) and
424 1.1.1.2 jruoho disassembling with one simple command. ACPICA BZ 865. Lin Ming.
425 1.1.1.2 jruoho
426 1.1.1.2 jruoho iASL: Allow multiple invocations of -e option. This change allows multiple
427 1.1.1.2 jruoho uses of -e on the command line: "-e ssdt1.dat -e ssdt2.dat". ACPICA BZ 834.
428 1.1.1.2 jruoho Lin Ming.
429 1.1.1.2 jruoho
430 1.1.1.2 jruoho ----------------------------------------
431 1.1.1.2 jruoho 02 July 2010. Summary of changes for version 20100702:
432 1.1.1.2 jruoho
433 1.1.1.2 jruoho 1) ACPI CA Core Subsystem:
434 1.1.1.2 jruoho
435 1.1.1.2 jruoho Implemented several updates to the recently added GPE reference count
436 1.1.1.2 jruoho support. The model for "wake" GPEs is changing to give the host OS complete
437 1.1.1.2 jruoho control of these GPEs. Eventually, the ACPICA core will not execute any _PRW
438 1.1.1.2 jruoho methods, since the host already must execute them. Also, additional changes
439 1.1.1.2 jruoho were made to help ensure that the reference counts are kept in proper
440 1.1.1.2 jruoho synchronization with reality. Rafael J. Wysocki.
441 1.1.1.2 jruoho
442 1.1.1.2 jruoho 1) Ensure that GPEs are not enabled twice during initialization.
443 1.1.1.2 jruoho 2) Ensure that GPE enable masks stay in sync with the reference count.
444 1.1.1.2 jruoho 3) Do not inadvertently enable GPEs when writing GPE registers.
445 1.1.1.2 jruoho 4) Remove the internal wake reference counter and add new AcpiGpeWakeup
446 1.1.1.2 jruoho interface. This interface will set or clear individual GPEs for wakeup.
447 1.1.1.2 jruoho 5) Remove GpeType argument from AcpiEnable and AcpiDisable. These interfaces
448 1.1.1.2 jruoho are now used for "runtime" GPEs only.
449 1.1.1.2 jruoho
450 1.1.1.2 jruoho Changed the behavior of the GPE install/remove handler interfaces. The GPE
451 1.1.1.2 jruoho is
452 1.1.1.2 jruoho no longer disabled during this process, as it was found to cause problems on
453 1.1.1.2 jruoho some machines. Rafael J. Wysocki.
454 1.1.1.2 jruoho
455 1.1.1.2 jruoho Reverted a change introduced in version 20100528 to enable Embedded
456 1.1.1.2 jruoho Controller multi-byte transfers. This change was found to cause problems
457 1.1.1.2 jruoho with
458 1.1.1.2 jruoho Index Fields and possibly Bank Fields. It will be reintroduced when these
459 1.1.1.2 jruoho problems have been resolved.
460 1.1.1.2 jruoho
461 1.1.1.2 jruoho Fixed a problem with references to Alias objects within Package Objects. A
462 1.1.1.2 jruoho reference to an Alias within the definition of a Package was not always
463 1.1.1.2 jruoho resolved properly. Aliases to objects like Processors, Thermal zones, etc.
464 1.1.1.2 jruoho were resolved to the actual object instead of a reference to the object as
465 1.1.1.2 jruoho it
466 1.1.1.2 jruoho should be. Package objects are only allowed to contain integer, string,
467 1.1.1.2 jruoho buffer, package, and reference objects. Redhat bugzilla 608648.
468 1.1.1.2 jruoho
469 1.1.1.2 jruoho Example Code and Data Size: These are the sizes for the OS-independent
470 1.1.1.2 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
471 1.1.1.2 jruoho debug version of the code includes the debug output trace mechanism and has
472 1.1.1.2 jruoho a
473 1.1.1.2 jruoho much larger code and data size.
474 1.1.1.2 jruoho
475 1.1.1.2 jruoho Previous Release:
476 1.1.1.2 jruoho Non-Debug Version: 88.3K Code, 18.8K Data, 107.1K Total
477 1.1.1.2 jruoho Debug Version: 164.1K Code, 51.5K Data, 215.6K Total
478 1.1.1.2 jruoho Current Release:
479 1.1.1.2 jruoho Non-Debug Version: 88.3K Code, 18.8K Data, 107.1K Total
480 1.1.1.2 jruoho Debug Version: 164.0K Code, 51.5K Data, 215.5K Total
481 1.1.1.2 jruoho
482 1.1.1.2 jruoho 2) iASL Compiler/Disassembler and Tools:
483 1.1.1.2 jruoho
484 1.1.1.2 jruoho iASL: Implemented a new compiler subsystem to allow definition and
485 1.1.1.2 jruoho compilation of the non-AML ACPI tables such as FADT, MADT, SRAT, etc. These
486 1.1.1.2 jruoho are called "ACPI Data Tables", and the new compiler is the "Data Table
487 1.1.1.2 jruoho Compiler". This compiler is intended to simplify the existing error-prone
488 1.1.1.2 jruoho process of creating these tables for the BIOS, as well as allowing the
489 1.1.1.2 jruoho disassembly, modification, recompilation, and override of existing ACPI data
490 1.1.1.2 jruoho tables. See the iASL User Guide for detailed information.
491 1.1.1.2 jruoho
492 1.1.1.2 jruoho iASL: Implemented a new Template Generator option in support of the new Data
493 1.1.1.2 jruoho Table Compiler. This option will create examples of all known ACPI tables
494 1.1.1.2 jruoho that can be used as the basis for table development. See the iASL
495 1.1.1.2 jruoho documentation and the -T option.
496 1.1.1.2 jruoho
497 1.1.1.2 jruoho Disassembler and headers: Added support for the WDDT ACPI table (Watchdog
498 1.1.1.2 jruoho Descriptor Table).
499 1.1.1.2 jruoho
500 1.1.1.2 jruoho Updated the Linux makefiles for iASL and AcpiExec to place the generated
501 1.1.1.2 jruoho object files in the local directory so that there can be no collisions
502 1.1.1.2 jruoho between the shared files between them that are generated with different
503 1.1.1.2 jruoho options.
504 1.1.1.2 jruoho
505 1.1.1.2 jruoho Added support for Mac OS X in the Unix OSL used for iASL and AcpiExec. Use
506 1.1.1.2 jruoho the #define __APPLE__ to enable this support.
507 1.1.1.2 jruoho
508 1.1.1.2 jruoho ----------------------------------------
509 1.1.1.2 jruoho 28 May 2010. Summary of changes for version 20100528:
510 1.1.1.2 jruoho
511 1.1 jruoho Note: The ACPI 4.0a specification was released on April 5, 2010 and is
512 1.1 jruoho available at www.acpi.info. This is primarily an errata release.
513 1.1 jruoho
514 1.1 jruoho 1) ACPI CA Core Subsystem:
515 1.1 jruoho
516 1.1 jruoho Undefined ACPI tables: We are looking for the definitions for the following
517 1.1 jruoho ACPI tables that have been seen in the field: ATKG, IEIT, GSCI.
518 1.1 jruoho
519 1.1 jruoho Implemented support to enable multi-byte transfers for Embedded Controller
520 1.1 jruoho (EC) operation regions. Previously, the maximum data size passed to the EC
521 1.1 jruoho operation region handler was a single byte. There are often EC Fields larger
522 1.1.1.2 jruoho than one byte that need to be transferred, and it is useful for the EC
523 1.1.1.2 jruoho driver
524 1.1 jruoho to lock these as a single transaction. This change enables single transfers
525 1.1 jruoho larger than 8 bits. This effectively changes the access to the EC space from
526 1.1 jruoho ByteAcc to AnyAcc, and will probably require changes to the host OS Embedded
527 1.1 jruoho Controller driver to enable 16/32/64/256-bit transfers in addition to 8-bit
528 1.1 jruoho transfers. Alexey Starikovskiy, Lin Ming
529 1.1 jruoho
530 1.1 jruoho Implemented a performance enhancement for namespace search and access. This
531 1.1 jruoho change enhances the performance of namespace searches and walks by adding a
532 1.1 jruoho backpointer to the parent in each namespace node. On large namespaces, this
533 1.1 jruoho change can improve overall ACPI performance by up to 9X. Adding a pointer to
534 1.1 jruoho each namespace node increases the overall size of the internal namespace by
535 1.1 jruoho about 5%, since each namespace entry usually consists of both a namespace
536 1.1 jruoho node and an ACPI operand object. However, this is the first growth of the
537 1.1 jruoho namespace in ten years. ACPICA bugzilla 817. Alexey Starikovskiy.
538 1.1 jruoho
539 1.1 jruoho Implemented a performance optimization that reduces the number of namespace
540 1.1.1.2 jruoho walks. On control method exit, only walk the namespace if the method is
541 1.1.1.2 jruoho known
542 1.1.1.2 jruoho to have created namespace objects outside of its local scope. Previously,
543 1.1.1.2 jruoho the
544 1.1 jruoho entire namespace was traversed on each control method exit. This change can
545 1.1.1.2 jruoho improve overall ACPI performance by up to 3X. Alexey Starikovskiy, Bob
546 1.1.1.2 jruoho Moore.
547 1.1 jruoho
548 1.1.1.2 jruoho Added support to truncate I/O addresses to 16 bits for Windows
549 1.1.1.2 jruoho compatibility.
550 1.1 jruoho Some ASL code has been seen in the field that inadvertently has bits set
551 1.1 jruoho above bit 15. This feature is optional and is enabled if the BIOS requests
552 1.1 jruoho any Windows OSI strings. It can also be enabled by the host OS. Matthew
553 1.1 jruoho Garrett, Bob Moore.
554 1.1 jruoho
555 1.1 jruoho Added support to limit the maximum time for the ASL Sleep() operator. To
556 1.1 jruoho prevent accidental deep sleeps, limit the maximum time that Sleep() will
557 1.1 jruoho actually sleep. Configurable, the default maximum is two seconds. ACPICA
558 1.1 jruoho bugzilla 854.
559 1.1 jruoho
560 1.1 jruoho Added run-time validation support for the _WDG and_WED Microsoft predefined
561 1.1 jruoho methods. These objects are defined by "Windows Instrumentation", and are not
562 1.1 jruoho part of the ACPI spec. ACPICA BZ 860.
563 1.1 jruoho
564 1.1 jruoho Expanded all statistic counters used during namespace and device
565 1.1 jruoho initialization from 16 to 32 bits in order to support very large namespaces.
566 1.1 jruoho
567 1.1.1.2 jruoho Replaced all instances of %d in printf format specifiers with %u since
568 1.1.1.2 jruoho nearly
569 1.1 jruoho all integers in ACPICA are unsigned.
570 1.1 jruoho
571 1.1.1.2 jruoho Fixed the exception namestring for AE_WAKE_ONLY_GPE. Was incorrectly
572 1.1.1.2 jruoho returned
573 1.1 jruoho as AE_NO_HANDLER.
574 1.1 jruoho
575 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
576 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
577 1.1.1.2 jruoho debug version of the code includes the debug output trace mechanism and has
578 1.1.1.2 jruoho a
579 1.1 jruoho much larger code and data size.
580 1.1 jruoho
581 1.1 jruoho Previous Release:
582 1.1 jruoho Non-Debug Version: 88.4K Code, 18.8K Data, 107.2K Total
583 1.1 jruoho Debug Version: 164.2K Code, 51.5K Data, 215.7K Total
584 1.1 jruoho Current Release:
585 1.1 jruoho Non-Debug Version: 88.3K Code, 18.8K Data, 107.1K Total
586 1.1 jruoho Debug Version: 164.1K Code, 51.5K Data, 215.6K Total
587 1.1 jruoho
588 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
589 1.1 jruoho
590 1.1 jruoho iASL: Added compiler support for the _WDG and_WED Microsoft predefined
591 1.1 jruoho methods. These objects are defined by "Windows Instrumentation", and are not
592 1.1 jruoho part of the ACPI spec. ACPICA BZ 860.
593 1.1 jruoho
594 1.1 jruoho AcpiExec: added option to disable the memory tracking mechanism. The -dt
595 1.1 jruoho option will disable the tracking mechanism, which improves performance
596 1.1 jruoho considerably.
597 1.1 jruoho
598 1.1 jruoho AcpiExec: Restructured the command line options into -d (disable) and -e
599 1.1 jruoho (enable) options.
600 1.1 jruoho
601 1.1 jruoho ----------------------------------------
602 1.1 jruoho 28 April 2010. Summary of changes for version 20100428:
603 1.1 jruoho
604 1.1 jruoho 1) ACPI CA Core Subsystem:
605 1.1 jruoho
606 1.1 jruoho Implemented GPE support for dynamically loaded ACPI tables. For all GPEs,
607 1.1 jruoho including FADT-based and GPE Block Devices, execute any _PRW methods in the
608 1.1 jruoho new table, and process any _Lxx/_Exx GPE methods in the new table. Any
609 1.1 jruoho runtime GPE that is referenced by an _Lxx/_Exx method in the new table is
610 1.1 jruoho immediately enabled. Handles the FADT-defined GPEs as well as GPE Block
611 1.1 jruoho Devices. Provides compatibility with other ACPI implementations. Two new
612 1.1.1.2 jruoho files added, evgpeinit.c and evgpeutil.c. ACPICA BZ 833. Lin Ming, Bob
613 1.1.1.2 jruoho Moore.
614 1.1 jruoho
615 1.1 jruoho Fixed a regression introduced in version 20100331 within the table manager
616 1.1 jruoho where initial table loading could fail. This was introduced in the fix for
617 1.1 jruoho AcpiReallocateRootTable. Also, renamed some of fields in the table manager
618 1.1 jruoho data structures to clarify their meaning and use.
619 1.1 jruoho
620 1.1 jruoho Fixed a possible allocation overrun during internal object copy in
621 1.1 jruoho AcpiUtCopySimpleObject. The original code did not correctly handle the case
622 1.1 jruoho where the object to be copied was a namespace node. Lin Ming. ACPICA BZ 847.
623 1.1 jruoho
624 1.1 jruoho Updated the allocation dump routine, AcpiUtDumpAllocation and fixed a
625 1.1.1.2 jruoho possible access beyond end-of-allocation. Also, now fully validate
626 1.1.1.2 jruoho descriptor
627 1.1 jruoho (size and type) before output. Lin Ming, Bob Moore. ACPICA BZ 847
628 1.1 jruoho
629 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
630 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
631 1.1.1.2 jruoho debug version of the code includes the debug output trace mechanism and has
632 1.1.1.2 jruoho a
633 1.1 jruoho much larger code and data size.
634 1.1 jruoho
635 1.1 jruoho Previous Release:
636 1.1 jruoho Non-Debug Version: 87.9K Code, 18.6K Data, 106.5K Total
637 1.1 jruoho Debug Version: 163.5K Code, 51.3K Data, 214.8K Total
638 1.1 jruoho Current Release:
639 1.1 jruoho Non-Debug Version: 88.4K Code, 18.8K Data, 107.2K Total
640 1.1 jruoho Debug Version: 164.2K Code, 51.5K Data, 215.7K Total
641 1.1 jruoho
642 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
643 1.1 jruoho
644 1.1 jruoho iASL: Implemented Min/Max/Len/Gran validation for address resource
645 1.1 jruoho descriptors. This change implements validation for the address fields that
646 1.1 jruoho are common to all address-type resource descriptors. These checks are
647 1.1 jruoho implemented: Checks for valid Min/Max, length within the Min/Max window,
648 1.1 jruoho valid granularity, Min/Max a multiple of granularity, and _MIF/_MAF as per
649 1.1.1.2 jruoho table 6-40 in the ACPI 4.0a specification. Also split the large
650 1.1.1.2 jruoho aslrestype1.c
651 1.1 jruoho and aslrestype2.c files into five new files. ACPICA BZ 840.
652 1.1 jruoho
653 1.1 jruoho iASL: Added support for the _Wxx predefined names. This support was missing
654 1.1 jruoho and these names were not recognized by the compiler as valid predefined
655 1.1 jruoho names. ACPICA BZ 851.
656 1.1 jruoho
657 1.1 jruoho iASL: Added an error for all predefined names that are defined to return no
658 1.1 jruoho value and thus must be implemented as Control Methods. These include all of
659 1.1 jruoho the _Lxx, _Exx, _Wxx, and _Qxx names, as well as some other miscellaneous
660 1.1 jruoho names such as _DIS, _INI, _IRC, _OFF, _ON, and _PSx. ACPICA BZ 850, 856.
661 1.1 jruoho
662 1.1 jruoho iASL: Implemented the -ts option to emit hex AML data in ASL format, as an
663 1.1 jruoho ASL Buffer. Allows ACPI tables to be easily included within ASL files, to be
664 1.1 jruoho dynamically loaded via the Load() operator. Also cleaned up output for the -
665 1.1 jruoho ta and -tc options. ACPICA BZ 853.
666 1.1 jruoho
667 1.1 jruoho Tests: Added a new file with examples of extended iASL error checking.
668 1.1 jruoho Demonstrates the advanced error checking ability of the iASL compiler.
669 1.1 jruoho Available at tests/misc/badcode.asl.
670 1.1 jruoho
671 1.1 jruoho ----------------------------------------
672 1.1 jruoho 31 March 2010. Summary of changes for version 20100331:
673 1.1 jruoho
674 1.1 jruoho 1) ACPI CA Core Subsystem:
675 1.1 jruoho
676 1.1 jruoho Completed a major update for the GPE support in order to improve support for
677 1.1 jruoho shared GPEs and to simplify both host OS and ACPICA code. Added a reference
678 1.1 jruoho count mechanism to support shared GPEs that require multiple device drivers.
679 1.1 jruoho Several external interfaces have changed. One external interface has been
680 1.1 jruoho removed. One new external interface was added. Most of the GPE external
681 1.1 jruoho interfaces now use the GPE spinlock instead of the events mutex (and the
682 1.1 jruoho Flags parameter for many GPE interfaces has been removed.) See the updated
683 1.1 jruoho ACPICA Programmer Reference for details. Matthew Garrett, Bob Moore, Rafael
684 1.1 jruoho Wysocki. ACPICA BZ 831.
685 1.1 jruoho
686 1.1 jruoho Changed:
687 1.1 jruoho AcpiEnableGpe, AcpiDisableGpe, AcpiClearGpe, AcpiGetGpeStatus
688 1.1 jruoho Removed:
689 1.1 jruoho AcpiSetGpeType
690 1.1 jruoho New:
691 1.1 jruoho AcpiSetGpe
692 1.1 jruoho
693 1.1 jruoho Implemented write support for DataTable operation regions. These regions are
694 1.1.1.2 jruoho defined via the DataTableRegion() operator. Previously, only read support
695 1.1.1.2 jruoho was
696 1.1.1.2 jruoho implemented. The ACPI specification allows DataTableRegions to be
697 1.1.1.2 jruoho read/write,
698 1.1 jruoho however.
699 1.1 jruoho
700 1.1 jruoho Implemented a new subsystem option to force a copy of the DSDT to local
701 1.1 jruoho memory. Optionally copy the entire DSDT to local memory (instead of simply
702 1.1 jruoho mapping it.) There are some (albeit very rare) BIOSs that corrupt or replace
703 1.1 jruoho the original DSDT, creating the need for this option. Default is FALSE, do
704 1.1 jruoho not copy the DSDT.
705 1.1 jruoho
706 1.1 jruoho Implemented detection of a corrupted or replaced DSDT. This change adds
707 1.1.1.2 jruoho support to detect a DSDT that has been corrupted and/or replaced from
708 1.1.1.2 jruoho outside
709 1.1 jruoho the OS (by firmware). This is typically catastrophic for the system, but has
710 1.1 jruoho been seen on some machines. Once this problem has been detected, the DSDT
711 1.1 jruoho copy option can be enabled via system configuration. Lin Ming, Bob Moore.
712 1.1 jruoho
713 1.1 jruoho Fixed two problems with AcpiReallocateRootTable during the root table copy.
714 1.1 jruoho When copying the root table to the new allocation, the length used was
715 1.1 jruoho incorrect. The new size was used instead of the current table size, meaning
716 1.1 jruoho too much data was copied. Also, the count of available slots for ACPI tables
717 1.1 jruoho was not set correctly. Alexey Starikovskiy, Bob Moore.
718 1.1 jruoho
719 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
720 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
721 1.1.1.2 jruoho debug version of the code includes the debug output trace mechanism and has
722 1.1.1.2 jruoho a
723 1.1 jruoho much larger code and data size.
724 1.1 jruoho
725 1.1 jruoho Previous Release:
726 1.1 jruoho Non-Debug Version: 87.5K Code, 18.4K Data, 105.9K Total
727 1.1 jruoho Debug Version: 163.4K Code, 51.1K Data, 214.5K Total
728 1.1 jruoho Current Release:
729 1.1 jruoho Non-Debug Version: 87.9K Code, 18.6K Data, 106.5K Total
730 1.1 jruoho Debug Version: 163.5K Code, 51.3K Data, 214.8K Total
731 1.1 jruoho
732 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
733 1.1 jruoho
734 1.1 jruoho iASL: Implement limited typechecking for values returned from predefined
735 1.1 jruoho control methods. The type of any returned static (unnamed) object is now
736 1.1 jruoho validated. For example, Return(1). ACPICA BZ 786.
737 1.1 jruoho
738 1.1.1.2 jruoho iASL: Fixed a predefined name object verification regression. Fixes a
739 1.1.1.2 jruoho problem
740 1.1 jruoho introduced in version 20100304. An error is incorrectly generated if a
741 1.1 jruoho predefined name is declared as a static named object with a value defined
742 1.1 jruoho using the keywords "Zero", "One", or "Ones". Lin Ming.
743 1.1 jruoho
744 1.1 jruoho iASL: Added Windows 7 support for the -g option (get local ACPI tables) by
745 1.1 jruoho reducing the requested registry access rights. ACPICA BZ 842.
746 1.1 jruoho
747 1.1 jruoho Disassembler: fixed a possible fault when generating External() statements.
748 1.1 jruoho Introduced in commit ae7d6fd: Properly handle externals with parent-prefix
749 1.1 jruoho (carat). Fixes a string length allocation calculation. Lin Ming.
750 1.1 jruoho
751 1.1 jruoho ----------------------------------------
752 1.1 jruoho 04 March 2010. Summary of changes for version 20100304:
753 1.1 jruoho
754 1.1 jruoho 1) ACPI CA Core Subsystem:
755 1.1 jruoho
756 1.1 jruoho Fixed a possible problem with the AML Mutex handling function
757 1.1 jruoho AcpiExReleaseMutex where the function could fault under the very rare
758 1.1.1.2 jruoho condition when the interpreter has blocked, the interpreter lock is
759 1.1.1.2 jruoho released,
760 1.1 jruoho the interpreter is then reentered via the same thread, and attempts to
761 1.1.1.2 jruoho acquire an AML mutex that was previously acquired. FreeBSD report 140979.
762 1.1.1.2 jruoho Lin
763 1.1 jruoho Ming.
764 1.1 jruoho
765 1.1 jruoho Implemented additional configuration support for the AML "Debug Object".
766 1.1 jruoho Output from the debug object can now be enabled via a global variable,
767 1.1.1.2 jruoho AcpiGbl_EnableAmlDebugObject. This will assist with remote machine
768 1.1.1.2 jruoho debugging.
769 1.1 jruoho This debug output is now available in the release version of ACPICA instead
770 1.1 jruoho of just the debug version. Also, the entire debug output module can now be
771 1.1 jruoho configured out of the ACPICA build if desired. One new file added,
772 1.1 jruoho executer/exdebug.c. Lin Ming, Bob Moore.
773 1.1 jruoho
774 1.1 jruoho Added header support for the ACPI MCHI table (Management Controller Host
775 1.1.1.2 jruoho Interface Table). This table was added in ACPI 4.0, but the defining
776 1.1.1.2 jruoho document
777 1.1 jruoho has only recently become available.
778 1.1 jruoho
779 1.1 jruoho Standardized output of integer values for ACPICA warnings/errors. Always use
780 1.1 jruoho 0x prefix for hex output, always use %u for unsigned integer decimal output.
781 1.1 jruoho Affects ACPI_INFO, ACPI_ERROR, ACPI_EXCEPTION, and ACPI_WARNING (about 400
782 1.1 jruoho invocations.) These invocations were converted from the original
783 1.1 jruoho ACPI_DEBUG_PRINT invocations and were not consistent. ACPICA BZ 835.
784 1.1 jruoho
785 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
786 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
787 1.1.1.2 jruoho debug version of the code includes the debug output trace mechanism and has
788 1.1.1.2 jruoho a
789 1.1 jruoho much larger code and data size.
790 1.1 jruoho
791 1.1 jruoho Previous Release:
792 1.1 jruoho Non-Debug Version: 87.1K Code, 18.0K Data, 105.1K Total
793 1.1 jruoho Debug Version: 163.5K Code, 50.9K Data, 214.4K Total
794 1.1 jruoho Current Release:
795 1.1 jruoho Non-Debug Version: 87.5K Code, 18.4K Data, 105.9K Total
796 1.1 jruoho Debug Version: 163.4K Code, 51.1K Data, 214.5K Total
797 1.1 jruoho
798 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
799 1.1 jruoho
800 1.1 jruoho iASL: Implemented typechecking support for static (non-control method)
801 1.1 jruoho predefined named objects that are declared with the Name() operator. For
802 1.1 jruoho example, the type of this object is now validated to be of type Integer:
803 1.1.1.2 jruoho Name(_BBN, 1). This change migrates the compiler to using the core
804 1.1.1.2 jruoho predefined
805 1.1 jruoho name table instead of maintaining a local version. Added a new file,
806 1.1 jruoho aslpredef.c. ACPICA BZ 832.
807 1.1 jruoho
808 1.1 jruoho Disassembler: Added support for the ACPI 4.0 MCHI table.
809 1.1 jruoho
810 1.1 jruoho ----------------------------------------
811 1.1 jruoho 21 January 2010. Summary of changes for version 20100121:
812 1.1 jruoho
813 1.1 jruoho 1) ACPI CA Core Subsystem:
814 1.1 jruoho
815 1.1 jruoho Added the 2010 copyright to all module headers and signons. This affects
816 1.1 jruoho virtually every file in the ACPICA core subsystem, the iASL compiler, the
817 1.1 jruoho tools/utilities, and the test suites.
818 1.1 jruoho
819 1.1.1.2 jruoho Implemented a change to the AcpiGetDevices interface to eliminate
820 1.1.1.2 jruoho unnecessary
821 1.1 jruoho invocations of the _STA method. In the case where a specific _HID is
822 1.1 jruoho requested, do not run _STA until a _HID match is found. This eliminates
823 1.1.1.2 jruoho potentially dozens of _STA calls during a search for a particular
824 1.1.1.2 jruoho device/HID,
825 1.1 jruoho which in turn can improve boot times. ACPICA BZ 828. Lin Ming.
826 1.1 jruoho
827 1.1.1.2 jruoho Implemented an additional repair for predefined method return values.
828 1.1.1.2 jruoho Attempt
829 1.1.1.2 jruoho to repair unexpected NULL elements within returned Package objects. Create
830 1.1.1.2 jruoho an
831 1.1.1.2 jruoho Integer of value zero, a NULL String, or a zero-length Buffer as
832 1.1.1.2 jruoho appropriate.
833 1.1 jruoho ACPICA BZ 818. Lin Ming, Bob Moore.
834 1.1 jruoho
835 1.1 jruoho Removed the obsolete ACPI_INTEGER data type. This type was introduced as the
836 1.1 jruoho code was migrated from ACPI 1.0 (with 32-bit AML integers) to ACPI 2.0 (with
837 1.1 jruoho 64-bit AML integers). It is now obsolete and this change removes it from the
838 1.1 jruoho ACPICA code base, replaced by UINT64. The original typedef has been retained
839 1.1 jruoho for now for compatibility with existing device driver code. ACPICA BZ 824.
840 1.1 jruoho
841 1.1 jruoho Removed the unused UINT32_STRUCT type, and the obsolete Integer64 field in
842 1.1 jruoho the parse tree object.
843 1.1 jruoho
844 1.1.1.2 jruoho Added additional warning options for the gcc-4 generation. Updated the
845 1.1.1.2 jruoho source
846 1.1 jruoho accordingly. This includes some code restructuring to eliminate unreachable
847 1.1 jruoho code, elimination of some gotos, elimination of unused return values, some
848 1.1 jruoho additional casting, and removal of redundant declarations.
849 1.1 jruoho
850 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
851 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
852 1.1.1.2 jruoho debug version of the code includes the debug output trace mechanism and has
853 1.1.1.2 jruoho a
854 1.1 jruoho much larger code and data size.
855 1.1 jruoho
856 1.1 jruoho Previous Release:
857 1.1 jruoho Non-Debug Version: 87.0K Code, 18.0K Data, 105.0K Total
858 1.1 jruoho Debug Version: 163.4K Code, 50.8K Data, 214.2K Total
859 1.1 jruoho Current Release:
860 1.1 jruoho Non-Debug Version: 87.1K Code, 18.0K Data, 105.1K Total
861 1.1 jruoho Debug Version: 163.5K Code, 50.9K Data, 214.4K Total
862 1.1 jruoho
863 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
864 1.1 jruoho
865 1.1 jruoho No functional changes for this release.
866 1.1 jruoho
867 1.1 jruoho ----------------------------------------
868 1.1 jruoho 14 December 2009. Summary of changes for version 20091214:
869 1.1 jruoho
870 1.1 jruoho 1) ACPI CA Core Subsystem:
871 1.1 jruoho
872 1.1 jruoho Enhanced automatic data type conversions for predefined name repairs. This
873 1.1 jruoho change expands the automatic repairs/conversions for predefined name return
874 1.1 jruoho values to make Integers, Strings, and Buffers fully interchangeable. Also, a
875 1.1.1.2 jruoho Buffer can be converted to a Package of Integers if necessary. The
876 1.1.1.2 jruoho nsrepair.c
877 1.1 jruoho module was completely restructured. Lin Ming, Bob Moore.
878 1.1 jruoho
879 1.1.1.2 jruoho Implemented automatic removal of null package elements during predefined
880 1.1.1.2 jruoho name
881 1.1 jruoho repairs. This change will automatically remove embedded and trailing NULL
882 1.1 jruoho package elements from returned package objects that are defined to contain a
883 1.1 jruoho variable number of sub-packages. The driver is then presented with a package
884 1.1 jruoho with no null elements to deal with. ACPICA BZ 819.
885 1.1 jruoho
886 1.1 jruoho Implemented a repair for the predefined _FDE and _GTM names. The expected
887 1.1 jruoho return value for both names is a Buffer of 5 DWORDs. This repair fixes two
888 1.1 jruoho possible problems (both seen in the field), where a package of integers is
889 1.1.1.2 jruoho returned, or a buffer of BYTEs is returned. With assistance from Jung-uk
890 1.1.1.2 jruoho Kim.
891 1.1 jruoho
892 1.1 jruoho Implemented additional module-level code support. This change will properly
893 1.1 jruoho execute module-level code that is not at the root of the namespace (under a
894 1.1 jruoho Device object, etc.). Now executes the code within the current scope instead
895 1.1 jruoho of the root. ACPICA BZ 762. Lin Ming.
896 1.1 jruoho
897 1.1 jruoho Fixed possible mutex acquisition errors when running _REG methods. Fixes a
898 1.1 jruoho problem where mutex errors can occur when running a _REG method that is in
899 1.1 jruoho the same scope as a method-defined operation region or an operation region
900 1.1 jruoho under a module-level IF block. This type of code is rare, so the problem has
901 1.1 jruoho not been seen before. ACPICA BZ 826. Lin Ming, Bob Moore.
902 1.1 jruoho
903 1.1 jruoho Fixed a possible memory leak during module-level code execution. An object
904 1.1 jruoho could be leaked for each block of executed module-level code if the
905 1.1.1.2 jruoho interpreter slack mode is enabled This change deletes any implicitly
906 1.1.1.2 jruoho returned
907 1.1 jruoho object from the module-level code block. Lin Ming.
908 1.1 jruoho
909 1.1 jruoho Removed messages for successful predefined repair(s). The repair mechanism
910 1.1 jruoho was considered too wordy. Now, messages are only unconditionally emitted if
911 1.1 jruoho the return object cannot be repaired. Existing messages for successful
912 1.1 jruoho repairs were converted to ACPI_DEBUG_PRINT messages for now. ACPICA BZ 827.
913 1.1 jruoho
914 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
915 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
916 1.1.1.2 jruoho debug version of the code includes the debug output trace mechanism and has
917 1.1.1.2 jruoho a
918 1.1 jruoho much larger code and data size.
919 1.1 jruoho
920 1.1 jruoho Previous Release:
921 1.1 jruoho Non-Debug Version: 86.6K Code, 18.2K Data, 104.8K Total
922 1.1 jruoho Debug Version: 162.7K Code, 50.8K Data, 213.5K Total
923 1.1 jruoho Current Release:
924 1.1 jruoho Non-Debug Version: 87.0K Code, 18.0K Data, 105.0K Total
925 1.1 jruoho Debug Version: 163.4K Code, 50.8K Data, 214.2K Total
926 1.1 jruoho
927 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
928 1.1 jruoho
929 1.1.1.2 jruoho iASL: Fixed a regression introduced in 20091112 where intermediate .SRC
930 1.1.1.2 jruoho files
931 1.1 jruoho were no longer automatically removed at the termination of the compile.
932 1.1 jruoho
933 1.1 jruoho acpiexec: Implemented the -f option to specify default region fill value.
934 1.1 jruoho This option specifies the value used to initialize buffers that simulate
935 1.1 jruoho operation regions. Default value is zero. Useful for debugging problems that
936 1.1 jruoho depend on a specific initial value for a region or field.
937 1.1 jruoho
938 1.1 jruoho ----------------------------------------
939 1.1 jruoho 12 November 2009. Summary of changes for version 20091112:
940 1.1 jruoho
941 1.1 jruoho 1) ACPI CA Core Subsystem:
942 1.1 jruoho
943 1.1 jruoho Implemented a post-order callback to AcpiWalkNamespace. The existing
944 1.1 jruoho interface only has a pre-order callback. This change adds an additional
945 1.1 jruoho parameter for a post-order callback which will be more useful for bus scans.
946 1.1 jruoho ACPICA BZ 779. Lin Ming. Updated the ACPICA Programmer Reference.
947 1.1 jruoho
948 1.1 jruoho Modified the behavior of the operation region memory mapping cache for
949 1.1 jruoho SystemMemory. Ensure that the memory mappings created for operation regions
950 1.1 jruoho do not cross 4K page boundaries. Crossing a page boundary while mapping
951 1.1 jruoho regions can cause kernel warnings on some hosts if the pages have different
952 1.1 jruoho attributes. Such regions are probably BIOS bugs, and this is the workaround.
953 1.1 jruoho Linux BZ 14445. Lin Ming.
954 1.1 jruoho
955 1.1 jruoho Implemented an automatic repair for predefined methods that must return
956 1.1.1.2 jruoho sorted lists. This change will repair (by sorting) packages returned by
957 1.1.1.2 jruoho _ALR,
958 1.1.1.2 jruoho _PSS, and _TSS. Drivers can now assume that the packages are correctly
959 1.1.1.2 jruoho sorted
960 1.1 jruoho and do not contain NULL package elements. Adds one new file,
961 1.1 jruoho namespace/nsrepair2.c. ACPICA BZ 784. Lin Ming, Bob Moore.
962 1.1 jruoho
963 1.1 jruoho Fixed a possible fault during predefined name validation if a return Package
964 1.1 jruoho object contains NULL elements. Also adds a warning if a NULL element is
965 1.1.1.2 jruoho followed by any non-null elements. ACPICA BZ 813, 814. Future enhancement
966 1.1.1.2 jruoho may
967 1.1 jruoho include repair or removal of all such NULL elements where possible.
968 1.1 jruoho
969 1.1 jruoho Implemented additional module-level executable AML code support. This change
970 1.1 jruoho will execute module-level code that is not at the root of the namespace
971 1.1.1.2 jruoho (under a Device object, etc.) at table load time. Module-level executable
972 1.1.1.2 jruoho AML
973 1.1 jruoho code has been illegal since ACPI 2.0. ACPICA BZ 762. Lin Ming.
974 1.1 jruoho
975 1.1 jruoho Implemented a new internal function to create Integer objects. This function
976 1.1 jruoho simplifies miscellaneous object creation code. ACPICA BZ 823.
977 1.1 jruoho
978 1.1 jruoho Reduced the severity of predefined repair messages, Warning to Info. Since
979 1.1 jruoho the object was successfully repaired, a warning is too severe. Reduced to an
980 1.1.1.2 jruoho info message for now. These messages may eventually be changed to debug-
981 1.1.1.2 jruoho only.
982 1.1 jruoho ACPICA BZ 812.
983 1.1 jruoho
984 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
985 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
986 1.1.1.2 jruoho debug version of the code includes the debug output trace mechanism and has
987 1.1.1.2 jruoho a
988 1.1 jruoho much larger code and data size.
989 1.1 jruoho
990 1.1 jruoho Previous Release:
991 1.1 jruoho Non-Debug Version: 85.8K Code, 18.0K Data, 103.8K Total
992 1.1 jruoho Debug Version: 161.8K Code, 50.6K Data, 212.4K Total
993 1.1 jruoho Current Release:
994 1.1 jruoho Non-Debug Version: 86.6K Code, 18.2K Data, 104.8K Total
995 1.1 jruoho Debug Version: 162.7K Code, 50.8K Data, 213.5K Total
996 1.1 jruoho
997 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
998 1.1 jruoho
999 1.1 jruoho iASL: Implemented Switch() with While(1) so that Break works correctly. This
1000 1.1 jruoho change correctly implements the Switch operator with a surrounding While(1)
1001 1.1 jruoho so that the Break operator works as expected. ACPICA BZ 461. Lin Ming.
1002 1.1 jruoho
1003 1.1 jruoho iASL: Added a message if a package initializer list is shorter than package
1004 1.1 jruoho length. Adds a new remark for a Package() declaration if an initializer list
1005 1.1 jruoho exists, but is shorter than the declared length of the package. Although
1006 1.1 jruoho technically legal, this is probably a coding error and it is seen in the
1007 1.1 jruoho field. ACPICA BZ 815. Lin Ming, Bob Moore.
1008 1.1 jruoho
1009 1.1.1.2 jruoho iASL: Fixed a problem where the compiler could fault after the maximum
1010 1.1.1.2 jruoho number
1011 1.1 jruoho of errors was reached (200).
1012 1.1 jruoho
1013 1.1.1.2 jruoho acpixtract: Fixed a possible warning for pointer cast if the compiler
1014 1.1.1.2 jruoho warning
1015 1.1 jruoho level set very high.
1016 1.1 jruoho
1017 1.1 jruoho ----------------------------------------
1018 1.1 jruoho 13 October 2009. Summary of changes for version 20091013:
1019 1.1 jruoho
1020 1.1 jruoho 1) ACPI CA Core Subsystem:
1021 1.1 jruoho
1022 1.1 jruoho Fixed a problem where an Operation Region _REG method could be executed more
1023 1.1 jruoho than once. If a custom address space handler is installed by the host before
1024 1.1 jruoho the "initialize operation regions" phase of the ACPICA initialization, any
1025 1.1 jruoho _REG methods for that address space could be executed twice. This change
1026 1.1 jruoho fixes the problem. ACPICA BZ 427. Lin Ming.
1027 1.1 jruoho
1028 1.1 jruoho Fixed a possible memory leak for the Scope() ASL operator. When the exact
1029 1.1 jruoho invocation of "Scope(\)" is executed (change scope to root), one internal
1030 1.1 jruoho operand object was leaked. Lin Ming.
1031 1.1 jruoho
1032 1.1 jruoho Implemented a run-time repair for the _MAT predefined method. If the _MAT
1033 1.1 jruoho return value is defined as a Field object in the AML, and the field
1034 1.1.1.2 jruoho size is less than or equal to the default width of an integer (32 or
1035 1.1.1.2 jruoho 64),_MAT
1036 1.1 jruoho can incorrectly return an Integer instead of a Buffer. ACPICA now
1037 1.1 jruoho automatically repairs this problem. ACPICA BZ 810.
1038 1.1 jruoho
1039 1.1 jruoho Implemented a run-time repair for the _BIF and _BIX predefined methods. The
1040 1.1 jruoho "OEM Information" field is often incorrectly returned as an Integer with
1041 1.1 jruoho value zero if the field is not supported by the platform. This is due to an
1042 1.1 jruoho ambiguity in the ACPI specification. The field should always be a string.
1043 1.1 jruoho ACPICA now automatically repairs this problem by returning a NULL string
1044 1.1 jruoho within the returned Package. ACPICA BZ 807.
1045 1.1 jruoho
1046 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
1047 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
1048 1.1.1.2 jruoho debug version of the code includes the debug output trace mechanism and has
1049 1.1.1.2 jruoho a
1050 1.1 jruoho much larger code and data size.
1051 1.1 jruoho
1052 1.1 jruoho Previous Release:
1053 1.1 jruoho Non-Debug Version: 85.6K Code, 18.0K Data, 103.6K Total
1054 1.1 jruoho Debug Version: 161.7K Code, 50.9K Data, 212.6K Total
1055 1.1 jruoho Current Release:
1056 1.1 jruoho Non-Debug Version: 85.8K Code, 18.0K Data, 103.8K Total
1057 1.1 jruoho Debug Version: 161.8K Code, 50.6K Data, 212.4K Total
1058 1.1 jruoho
1059 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
1060 1.1 jruoho
1061 1.1 jruoho Disassembler: Fixed a problem where references to external symbols that
1062 1.1 jruoho contained one or more parent-prefixes (carats) were not handled correctly,
1063 1.1 jruoho possibly causing a fault. ACPICA BZ 806. Lin Ming.
1064 1.1 jruoho
1065 1.1 jruoho Disassembler: Restructured the code so that all functions that handle
1066 1.1 jruoho external symbols are in a single module. One new file is added,
1067 1.1 jruoho common/dmextern.c.
1068 1.1 jruoho
1069 1.1 jruoho AML Debugger: Added a max count argument for the Batch command (which
1070 1.1 jruoho executes multiple predefined methods within the namespace.)
1071 1.1 jruoho
1072 1.1 jruoho iASL: Updated the compiler documentation (User Reference.) Available at
1073 1.1 jruoho http://www.acpica.org/documentation/. ACPICA BZ 750.
1074 1.1 jruoho
1075 1.1 jruoho AcpiXtract: Updated for Lint and other formatting changes. Close all open
1076 1.1 jruoho files.
1077 1.1 jruoho
1078 1.1 jruoho ----------------------------------------
1079 1.1 jruoho 03 September 2009. Summary of changes for version 20090903:
1080 1.1 jruoho
1081 1.1 jruoho 1) ACPI CA Core Subsystem:
1082 1.1 jruoho
1083 1.1 jruoho For Windows Vista compatibility, added the automatic execution of an _INI
1084 1.1 jruoho method located at the namespace root (\_INI). This method is executed at
1085 1.1 jruoho table load time. This support is in addition to the automatic execution of
1086 1.1 jruoho \_SB._INI. Lin Ming.
1087 1.1 jruoho
1088 1.1 jruoho Fixed a possible memory leak in the interpreter for AML package objects if
1089 1.1 jruoho the package initializer list is longer than the defined size of the package.
1090 1.1 jruoho This apparently can only happen if the BIOS changes the package size on the
1091 1.1 jruoho fly (seen in a _PSS object), as ASL compilers do not allow this. The
1092 1.1.1.2 jruoho interpreter will truncate the package to the defined size (and issue an
1093 1.1.1.2 jruoho error
1094 1.1.1.2 jruoho message), but previously could leave the extra objects undeleted if they
1095 1.1.1.2 jruoho were
1096 1.1 jruoho pre-created during the argument processing (such is the case if the package
1097 1.1 jruoho consists of a number of sub-packages as in the _PSS.) ACPICA BZ 805.
1098 1.1 jruoho
1099 1.1 jruoho Fixed a problem seen when a Buffer or String is stored to itself via ASL.
1100 1.1 jruoho This has been reported in the field. Previously, ACPICA would zero out the
1101 1.1 jruoho buffer/string. Now, the operation is treated as a noop. Provides Windows
1102 1.1 jruoho compatibility. ACPICA BZ 803. Lin Ming.
1103 1.1 jruoho
1104 1.1 jruoho Removed an extraneous error message for ASL constructs of the form
1105 1.1 jruoho Store(LocalX,LocalX) when LocalX is uninitialized. These curious statements
1106 1.1 jruoho are seen in many BIOSs and are once again treated as NOOPs and no error is
1107 1.1 jruoho emitted when they are encountered. ACPICA BZ 785.
1108 1.1 jruoho
1109 1.1 jruoho Fixed an extraneous warning message if a _DSM reserved method returns a
1110 1.1 jruoho Package object. _DSM can return any type of object, so validation on the
1111 1.1 jruoho return type cannot be performed. ACPICA BZ 802.
1112 1.1 jruoho
1113 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
1114 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
1115 1.1.1.2 jruoho debug version of the code includes the debug output trace mechanism and has
1116 1.1.1.2 jruoho a
1117 1.1 jruoho much larger code and data size.
1118 1.1 jruoho
1119 1.1 jruoho Previous Release:
1120 1.1 jruoho Non-Debug Version: 85.5K Code, 18.0K Data, 103.5K Total
1121 1.1 jruoho Debug Version: 161.6K Code, 50.9K Data, 212.5K Total
1122 1.1 jruoho Current Release:
1123 1.1 jruoho Non-Debug Version: 85.6K Code, 18.0K Data, 103.6K Total
1124 1.1 jruoho Debug Version: 161.7K Code, 50.9K Data, 212.6K Total
1125 1.1 jruoho
1126 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
1127 1.1 jruoho
1128 1.1 jruoho iASL: Fixed a problem with the use of the Alias operator and Resource
1129 1.1 jruoho Templates. The correct alias is now constructed and no error is emitted.
1130 1.1 jruoho ACPICA BZ 738.
1131 1.1 jruoho
1132 1.1 jruoho iASL: Implemented the -I option to specify additional search directories for
1133 1.1 jruoho include files. Allows multiple additional search paths for include files.
1134 1.1 jruoho Directories are searched in the order specified on the command line (after
1135 1.1 jruoho the local directory is searched.) ACPICA BZ 800.
1136 1.1 jruoho
1137 1.1 jruoho iASL: Fixed a problem where the full pathname for include files was not
1138 1.1 jruoho emitted for warnings/errors. This caused the IDE support to not work
1139 1.1 jruoho properly. ACPICA BZ 765.
1140 1.1 jruoho
1141 1.1 jruoho iASL: Implemented the -@ option to specify a Windows-style response file
1142 1.1 jruoho containing additional command line options. ACPICA BZ 801.
1143 1.1 jruoho
1144 1.1 jruoho AcpiExec: Added support to load multiple AML files simultaneously (such as a
1145 1.1 jruoho DSDT and multiple SSDTs). Also added support for wildcards within the AML
1146 1.1 jruoho pathname. These features allow all machine tables to be easily loaded and
1147 1.1 jruoho debugged together. ACPICA BZ 804.
1148 1.1 jruoho
1149 1.1 jruoho Disassembler: Added missing support for disassembly of HEST table Error Bank
1150 1.1 jruoho subtables.
1151 1.1 jruoho
1152 1.1 jruoho ----------------------------------------
1153 1.1 jruoho 30 July 2009. Summary of changes for version 20090730:
1154 1.1 jruoho
1155 1.1 jruoho The ACPI 4.0 implementation for ACPICA is complete with this release.
1156 1.1 jruoho
1157 1.1 jruoho 1) ACPI CA Core Subsystem:
1158 1.1 jruoho
1159 1.1 jruoho ACPI 4.0: Added header file support for all new and changed ACPI tables.
1160 1.1 jruoho Completely new tables are: IBFT, IVRS, MSCT, and WAET. Tables that are new
1161 1.1 jruoho for ACPI 4.0, but have previously been supported in ACPICA are: CPEP, BERT,
1162 1.1 jruoho EINJ, ERST, and HEST. Other newly supported tables are: UEFI and WDAT. There
1163 1.1 jruoho have been some ACPI 4.0 changes to other existing tables. Split the large
1164 1.1 jruoho actbl1.h header into the existing actbl2.h header. ACPICA BZ 774.
1165 1.1 jruoho
1166 1.1.1.2 jruoho ACPI 4.0: Implemented predefined name validation for all new names. There
1167 1.1.1.2 jruoho are
1168 1.1.1.2 jruoho 31 new names in ACPI 4.0. The predefined validation module was split into
1169 1.1.1.2 jruoho two
1170 1.1 jruoho files. The new file is namespace/nsrepair.c. ACPICA BZ 770.
1171 1.1 jruoho
1172 1.1 jruoho Implemented support for so-called "module-level executable code". This is
1173 1.1.1.2 jruoho executable AML code that exists outside of any control method and is
1174 1.1.1.2 jruoho intended
1175 1.1.1.2 jruoho to be executed at table load time. Although illegal since ACPI 2.0, this
1176 1.1.1.2 jruoho type
1177 1.1 jruoho of code still exists and is apparently still being created. Blocks of this
1178 1.1 jruoho code are now detected and executed as intended. Currently, the code blocks
1179 1.1 jruoho must exist under either an If, Else, or While construct; these are the
1180 1.1 jruoho typical cases seen in the field. ACPICA BZ 762. Lin Ming.
1181 1.1 jruoho
1182 1.1 jruoho Implemented an automatic dynamic repair for predefined names that return
1183 1.1 jruoho nested Package objects. This applies to predefined names that are defined to
1184 1.1 jruoho return a variable-length Package of sub-packages. If the number of sub-
1185 1.1 jruoho packages is one, BIOS code is occasionally seen that creates a simple single
1186 1.1 jruoho package with no sub-packages. This code attempts to fix the problem by
1187 1.1 jruoho wrapping a new package object around the existing package. These methods can
1188 1.1 jruoho be repaired: _ALR, _CSD, _HPX, _MLS, _PRT, _PSS, _TRT, and _TSS. ACPICA BZ
1189 1.1 jruoho 790.
1190 1.1 jruoho
1191 1.1 jruoho Fixed a regression introduced in 20090625 for the AcpiGetDevices interface.
1192 1.1.1.2 jruoho The _HID/_CID matching was broken and no longer matched IDs correctly.
1193 1.1.1.2 jruoho ACPICA
1194 1.1 jruoho BZ 793.
1195 1.1 jruoho
1196 1.1 jruoho Fixed a problem with AcpiReset where the reset would silently fail if the
1197 1.1 jruoho register was one of the protected I/O ports. AcpiReset now bypasses the port
1198 1.1 jruoho validation mechanism. This may eventually be driven into the AcpiRead/Write
1199 1.1 jruoho interfaces.
1200 1.1 jruoho
1201 1.1 jruoho Fixed a regression related to the recent update of the AcpiRead/Write
1202 1.1 jruoho interfaces. A sleep/suspend could fail if the optional PM2 Control register
1203 1.1 jruoho does not exist during an attempt to write the Bus Master Arbitration bit.
1204 1.1 jruoho (However, some hosts already delete the code that writes this bit, and the
1205 1.1 jruoho code may in fact be obsolete at this date.) ACPICA BZ 799.
1206 1.1 jruoho
1207 1.1.1.2 jruoho Fixed a problem where AcpiTerminate could fault if inadvertently called
1208 1.1.1.2 jruoho twice
1209 1.1 jruoho in succession. ACPICA BZ 795.
1210 1.1 jruoho
1211 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
1212 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
1213 1.1.1.2 jruoho debug version of the code includes the debug output trace mechanism and has
1214 1.1.1.2 jruoho a
1215 1.1 jruoho much larger code and data size.
1216 1.1 jruoho
1217 1.1 jruoho Previous Release:
1218 1.1 jruoho Non-Debug Version: 84.7K Code, 17.8K Data, 102.5K Total
1219 1.1 jruoho Debug Version: 160.5K Code, 50.6K Data, 211.1K Total
1220 1.1 jruoho Current Release:
1221 1.1 jruoho Non-Debug Version: 85.5K Code, 18.0K Data, 103.5K Total
1222 1.1 jruoho Debug Version: 161.6K Code, 50.9K Data, 212.5K Total
1223 1.1 jruoho
1224 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
1225 1.1 jruoho
1226 1.1 jruoho ACPI 4.0: Implemented disassembler support for all new ACPI tables and
1227 1.1 jruoho changes to existing tables. ACPICA BZ 775.
1228 1.1 jruoho
1229 1.1 jruoho ----------------------------------------
1230 1.1 jruoho 25 June 2009. Summary of changes for version 20090625:
1231 1.1 jruoho
1232 1.1 jruoho The ACPI 4.0 Specification was released on June 16 and is available at
1233 1.1 jruoho www.acpi.info. ACPICA implementation of ACPI 4.0 is underway and will
1234 1.1 jruoho continue for the next few releases.
1235 1.1 jruoho
1236 1.1 jruoho 1) ACPI CA Core Subsystem:
1237 1.1 jruoho
1238 1.1 jruoho ACPI 4.0: Implemented interpreter support for the IPMI operation region
1239 1.1 jruoho address space. Includes support for bi-directional data buffers and an IPMI
1240 1.1 jruoho address space handler (to be installed by an IPMI device driver.) ACPICA BZ
1241 1.1 jruoho 773. Lin Ming.
1242 1.1 jruoho
1243 1.1 jruoho ACPI 4.0: Added changes for existing ACPI tables - FACS and SRAT. Includes
1244 1.1 jruoho support in both the header files and the disassembler.
1245 1.1 jruoho
1246 1.1 jruoho Completed a major update for the AcpiGetObjectInfo external interface.
1247 1.1 jruoho Changes include:
1248 1.1 jruoho - Support for variable, unlimited length HID, UID, and CID strings.
1249 1.1 jruoho - Support Processor objects the same as Devices (HID,UID,CID,ADR,STA, etc.)
1250 1.1 jruoho - Call the _SxW power methods on behalf of a device object.
1251 1.1 jruoho - Determine if a device is a PCI root bridge.
1252 1.1 jruoho - Change the ACPI_BUFFER parameter to ACPI_DEVICE_INFO.
1253 1.1 jruoho These changes will require an update to all callers of this interface. See
1254 1.1 jruoho the updated ACPICA Programmer Reference for details. One new source file has
1255 1.1 jruoho been added - utilities/utids.c. ACPICA BZ 368, 780.
1256 1.1 jruoho
1257 1.1 jruoho Updated the AcpiRead and AcpiWrite external interfaces to support 64-bit
1258 1.1 jruoho transfers. The Value parameter has been extended from 32 bits to 64 bits in
1259 1.1.1.2 jruoho order to support new ACPI 4.0 tables. These changes will require an update
1260 1.1.1.2 jruoho to
1261 1.1 jruoho all callers of these interfaces. See the ACPICA Programmer Reference for
1262 1.1 jruoho details. ACPICA BZ 768.
1263 1.1 jruoho
1264 1.1 jruoho Fixed several problems with AcpiAttachData. The handler was not invoked when
1265 1.1 jruoho the host node was deleted. The data sub-object was not automatically deleted
1266 1.1 jruoho when the host node was deleted. The interface to the handler had an unused
1267 1.1 jruoho parameter, this was removed. ACPICA BZ 778.
1268 1.1 jruoho
1269 1.1 jruoho Enhanced the function that dumps ACPI table headers. All non-printable
1270 1.1 jruoho characters in the string fields are now replaced with '?' (Signature, OemId,
1271 1.1 jruoho OemTableId, and CompilerId.) ACPI tables with non-printable characters in
1272 1.1 jruoho these fields are occasionally seen in the field. ACPICA BZ 788.
1273 1.1 jruoho
1274 1.1 jruoho Fixed a problem with predefined method repair code where the code that
1275 1.1 jruoho attempts to repair/convert an object of incorrect type is only executed on
1276 1.1 jruoho the first time the predefined method is called. The mechanism that disables
1277 1.1 jruoho warnings on subsequent calls was interfering with the repair mechanism.
1278 1.1 jruoho ACPICA BZ 781.
1279 1.1 jruoho
1280 1.1 jruoho Fixed a possible memory leak in the predefined validation/repair code when a
1281 1.1 jruoho buffer is automatically converted to an expected string object.
1282 1.1 jruoho
1283 1.1 jruoho Removed obsolete 16-bit files from the distribution and from the current git
1284 1.1 jruoho tree head. ACPICA BZ 776.
1285 1.1 jruoho
1286 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
1287 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
1288 1.1.1.2 jruoho debug version of the code includes the debug output trace mechanism and has
1289 1.1.1.2 jruoho a
1290 1.1 jruoho much larger code and data size.
1291 1.1 jruoho
1292 1.1 jruoho Previous Release:
1293 1.1 jruoho Non-Debug Version: 83.4K Code, 17.5K Data, 100.9K Total
1294 1.1 jruoho Debug Version: 158.9K Code, 50.0K Data, 208.9K Total
1295 1.1 jruoho Current Release:
1296 1.1 jruoho Non-Debug Version: 84.7K Code, 17.8K Data, 102.5K Total
1297 1.1 jruoho Debug Version: 160.5K Code, 50.6K Data, 211.1K Total
1298 1.1 jruoho
1299 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
1300 1.1 jruoho
1301 1.1 jruoho ACPI 4.0: iASL and Disassembler - implemented support for the new IPMI
1302 1.1 jruoho operation region keyword. ACPICA BZ 771, 772. Lin Ming.
1303 1.1 jruoho
1304 1.1 jruoho ACPI 4.0: iASL - implemented compile-time validation support for all new
1305 1.1 jruoho predefined names and control methods (31 total). ACPICA BZ 769.
1306 1.1 jruoho
1307 1.1 jruoho ----------------------------------------
1308 1.1 jruoho 21 May 2009. Summary of changes for version 20090521:
1309 1.1 jruoho
1310 1.1 jruoho 1) ACPI CA Core Subsystem:
1311 1.1 jruoho
1312 1.1 jruoho Disabled the preservation of the SCI enable bit in the PM1 control register.
1313 1.1.1.2 jruoho The SCI enable bit (bit 0, SCI_EN) is defined by the ACPI specification to
1314 1.1.1.2 jruoho be
1315 1.1 jruoho a "preserved" bit - "OSPM always preserves this bit position", section
1316 1.1 jruoho 4.7.3.2.1. However, some machines fail if this bit is in fact preserved
1317 1.1 jruoho because the bit needs to be explicitly set by the OS as a workaround. No
1318 1.1 jruoho machines fail if the bit is not preserved. Therefore, ACPICA no longer
1319 1.1 jruoho attempts to preserve this bit.
1320 1.1 jruoho
1321 1.1 jruoho Fixed a problem in AcpiRsGetPciRoutingTableLength where an invalid or
1322 1.1 jruoho incorrectly formed _PRT package could cause a fault. Added validation to
1323 1.1 jruoho ensure that each package element is actually a sub-package.
1324 1.1 jruoho
1325 1.1 jruoho Implemented a new interface to install or override a single control method,
1326 1.1.1.2 jruoho AcpiInstallMethod. This interface is useful when debugging in order to
1327 1.1.1.2 jruoho repair
1328 1.1 jruoho an existing method or to install a missing method without having to override
1329 1.1 jruoho the entire ACPI table. See the ACPICA Programmer Reference for use and
1330 1.1 jruoho examples. Lin Ming, Bob Moore.
1331 1.1 jruoho
1332 1.1 jruoho Fixed several reference count issues with the DdbHandle object that is
1333 1.1 jruoho created from a Load or LoadTable operator. Prevent premature deletion of the
1334 1.1 jruoho object. Also, mark the object as invalid once the table has been unloaded.
1335 1.1 jruoho This is needed because the handle itself may not be deleted after the table
1336 1.1 jruoho unload, depending on whether it has been stored in a named object by the
1337 1.1 jruoho caller. Lin Ming.
1338 1.1 jruoho
1339 1.1 jruoho Fixed a problem with Mutex Sync Levels. Fixed a problem where if multiple
1340 1.1 jruoho mutexes of the same sync level are acquired but then not released in strict
1341 1.1.1.2 jruoho opposite order, the internally maintained Current Sync Level becomes
1342 1.1.1.2 jruoho confused
1343 1.1 jruoho and can cause subsequent execution errors. ACPICA BZ 471.
1344 1.1 jruoho
1345 1.1 jruoho Changed the allowable release order for ASL mutex objects. The ACPI 4.0
1346 1.1 jruoho specification has been changed to make the SyncLevel for mutex objects more
1347 1.1 jruoho useful. When releasing a mutex, the SyncLevel of the mutex must now be the
1348 1.1 jruoho same as the current sync level. This makes more sense than the previous rule
1349 1.1 jruoho (SyncLevel less than or equal). This change updates the code to match the
1350 1.1 jruoho specification.
1351 1.1 jruoho
1352 1.1 jruoho Fixed a problem with the local version of the AcpiOsPurgeCache function. The
1353 1.1 jruoho (local) cache must be locked during all cache object deletions. Andrew
1354 1.1 jruoho Baumann.
1355 1.1 jruoho
1356 1.1 jruoho Updated the Load operator to use operation region interfaces. This replaces
1357 1.1 jruoho direct memory mapping with region access calls. Now, all region accesses go
1358 1.1 jruoho through the installed region handler as they should.
1359 1.1 jruoho
1360 1.1 jruoho Simplified and optimized the NsGetNextNode function. Reduced parameter count
1361 1.1 jruoho and reduced code for this frequently used function.
1362 1.1 jruoho
1363 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
1364 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
1365 1.1.1.2 jruoho debug version of the code includes the debug output trace mechanism and has
1366 1.1.1.2 jruoho a
1367 1.1 jruoho much larger code and data size.
1368 1.1 jruoho
1369 1.1 jruoho Previous Release:
1370 1.1 jruoho Non-Debug Version: 82.8K Code, 17.5K Data, 100.3K Total
1371 1.1 jruoho Debug Version: 158.0K Code, 49.9K Data, 207.9K Total
1372 1.1 jruoho Current Release:
1373 1.1 jruoho Non-Debug Version: 83.4K Code, 17.5K Data, 100.9K Total
1374 1.1 jruoho Debug Version: 158.9K Code, 50.0K Data, 208.9K Total
1375 1.1 jruoho
1376 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
1377 1.1 jruoho
1378 1.1 jruoho Disassembler: Fixed some issues with DMAR, HEST, MADT tables. Some problems
1379 1.1 jruoho with sub-table disassembly and handling invalid sub-tables. Attempt recovery
1380 1.1 jruoho after an invalid sub-table ID.
1381 1.1 jruoho
1382 1.1 jruoho ----------------------------------------
1383 1.1 jruoho 22 April 2009. Summary of changes for version 20090422:
1384 1.1 jruoho
1385 1.1 jruoho 1) ACPI CA Core Subsystem:
1386 1.1 jruoho
1387 1.1 jruoho Fixed a compatibility issue with the recently released I/O port protection
1388 1.1 jruoho mechanism. For windows compatibility, 1) On a port protection violation,
1389 1.1 jruoho simply ignore the request and do not return an exception (allow the control
1390 1.1 jruoho method to continue execution.) 2) If only part of the request overlaps a
1391 1.1.1.2 jruoho protected port, read/write the individual ports that are not protected.
1392 1.1.1.2 jruoho Linux
1393 1.1 jruoho BZ 13036. Lin Ming
1394 1.1 jruoho
1395 1.1.1.2 jruoho Enhanced the execution of the ASL/AML BreakPoint operator so that it
1396 1.1.1.2 jruoho actually
1397 1.1 jruoho breaks into the AML debugger if the debugger is present. This matches the
1398 1.1 jruoho ACPI-defined behavior.
1399 1.1 jruoho
1400 1.1 jruoho Fixed several possible warnings related to the use of the configurable
1401 1.1 jruoho ACPI_THREAD_ID. This type can now be configured as either an integer or a
1402 1.1 jruoho pointer with no warnings. Also fixes several warnings in printf-like
1403 1.1 jruoho statements for the 64-bit build when the type is configured as a pointer.
1404 1.1 jruoho ACPICA BZ 766, 767.
1405 1.1 jruoho
1406 1.1 jruoho Fixed a number of possible warnings when compiling with gcc 4+ (depending on
1407 1.1 jruoho warning options.) Examples include printf formats, aliasing, unused globals,
1408 1.1 jruoho missing prototypes, missing switch default statements, use of non-ANSI
1409 1.1.1.2 jruoho library functions, use of non-ANSI constructs. See generate/unix/Makefile
1410 1.1.1.2 jruoho for
1411 1.1 jruoho a list of warning options used with gcc 3 and 4. ACPICA BZ 735.
1412 1.1 jruoho
1413 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
1414 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
1415 1.1.1.2 jruoho debug version of the code includes the debug output trace mechanism and has
1416 1.1.1.2 jruoho a
1417 1.1 jruoho much larger code and data size.
1418 1.1 jruoho
1419 1.1 jruoho Previous Release:
1420 1.1 jruoho Non-Debug Version: 82.6K Code, 17.6K Data, 100.2K Total
1421 1.1 jruoho Debug Version: 157.7K Code, 49.9K Data, 207.6K Total
1422 1.1 jruoho Current Release:
1423 1.1 jruoho Non-Debug Version: 82.8K Code, 17.5K Data, 100.3K Total
1424 1.1 jruoho Debug Version: 158.0K Code, 49.9K Data, 207.9K Total
1425 1.1 jruoho
1426 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
1427 1.1 jruoho
1428 1.1.1.2 jruoho iASL: Fixed a generation warning from Bison 2.3 and fixed several warnings
1429 1.1.1.2 jruoho on
1430 1.1 jruoho the 64-bit build.
1431 1.1 jruoho
1432 1.1.1.2 jruoho iASL: Fixed a problem where the Unix/Linux versions of the compiler could
1433 1.1.1.2 jruoho not
1434 1.1 jruoho correctly digest Windows/DOS formatted files (with CR/LF).
1435 1.1 jruoho
1436 1.1 jruoho iASL: Added a new option for "quiet mode" (-va) that produces only the
1437 1.1 jruoho compilation summary, not individual errors and warnings. Useful for large
1438 1.1 jruoho batch compilations.
1439 1.1 jruoho
1440 1.1 jruoho AcpiExec: Implemented a new option (-z) to enable a forced semaphore/mutex
1441 1.1 jruoho timeout that can be used to detect hang conditions during execution of AML
1442 1.1 jruoho code (includes both internal semaphores and AML-defined mutexes and events.)
1443 1.1 jruoho
1444 1.1 jruoho Added new makefiles for the generation of acpica in a generic unix-like
1445 1.1 jruoho environment. These makefiles are intended to generate the acpica tools and
1446 1.1 jruoho utilities from the original acpica git source tree structure.
1447 1.1 jruoho
1448 1.1 jruoho Test Suites: Updated and cleaned up the documentation files. Updated the
1449 1.1 jruoho copyrights to 2009, affecting all source files. Use the new version of iASL
1450 1.1 jruoho with quiet mode. Increased the number of available semaphores in the Windows
1451 1.1 jruoho OSL, allowing the aslts to execute fully on Windows. For the Unix OSL, added
1452 1.1 jruoho an alternate implementation of the semaphore timeout to allow aslts to
1453 1.1 jruoho execute fully on Cygwin.
1454 1.1 jruoho
1455 1.1 jruoho ----------------------------------------
1456 1.1 jruoho 20 March 2009. Summary of changes for version 20090320:
1457 1.1 jruoho
1458 1.1 jruoho 1) ACPI CA Core Subsystem:
1459 1.1 jruoho
1460 1.1 jruoho Fixed a possible race condition between AcpiWalkNamespace and dynamic table
1461 1.1.1.2 jruoho unloads. Added a reader/writer locking mechanism to allow multiple
1462 1.1.1.2 jruoho concurrent
1463 1.1.1.2 jruoho namespace walks (readers), but block a dynamic table unload until it can
1464 1.1.1.2 jruoho gain
1465 1.1 jruoho exclusive write access to the namespace. This fixes a problem where a table
1466 1.1 jruoho unload could (possibly catastrophically) delete the portion of the namespace
1467 1.1 jruoho that is currently being examined by a walk. Adds a new file, utlock.c, that
1468 1.1 jruoho implements the reader/writer lock mechanism. ACPICA BZ 749.
1469 1.1 jruoho
1470 1.1 jruoho Fixed a regression introduced in version 20090220 where a change to the FADT
1471 1.1 jruoho handling could cause the ACPICA subsystem to access non-existent I/O ports.
1472 1.1 jruoho
1473 1.1 jruoho Modified the handling of FADT register and table (FACS/DSDT) addresses. The
1474 1.1 jruoho FADT can contain both 32-bit and 64-bit versions of these addresses.
1475 1.1 jruoho Previously, the 64-bit versions were favored, meaning that if both 32 and 64
1476 1.1 jruoho versions were valid, but not equal, the 64-bit version was used. This was
1477 1.1 jruoho found to cause some machines to fail. Now, in this case, the 32-bit version
1478 1.1 jruoho is used instead. This now matches the Windows behavior.
1479 1.1 jruoho
1480 1.1 jruoho Implemented a new mechanism to protect certain I/O ports. Provides Microsoft
1481 1.1 jruoho compatibility and protects the standard PC I/O ports from access via AML
1482 1.1 jruoho code. Adds a new file, hwvalid.c
1483 1.1 jruoho
1484 1.1 jruoho Fixed a possible extraneous warning message from the FADT support. The
1485 1.1 jruoho message warns of a 32/64 length mismatch between the legacy and GAS
1486 1.1 jruoho definitions for a register.
1487 1.1 jruoho
1488 1.1 jruoho Removed the obsolete AcpiOsValidateAddress OSL interface. This interface is
1489 1.1 jruoho made obsolete by the port protection mechanism above. It was previously used
1490 1.1 jruoho to validate the entire address range of an operation region, which could be
1491 1.1 jruoho incorrect if the range included illegal ports, but fields within the
1492 1.1 jruoho operation region did not actually access those ports. Validation is now
1493 1.1 jruoho performed on a per-field basis instead of the entire region.
1494 1.1 jruoho
1495 1.1 jruoho Modified the handling of the PM1 Status Register ignored bit (bit 11.)
1496 1.1 jruoho Ignored bits must be "preserved" according to the ACPI spec. Usually, this
1497 1.1 jruoho means a read/modify/write when writing to the register. However, for status
1498 1.1.1.2 jruoho registers, writing a one means clear the event. Writing a zero means
1499 1.1.1.2 jruoho preserve
1500 1.1 jruoho the event (do not clear.) This behavior is clarified in the ACPI 4.0 spec,
1501 1.1 jruoho and the ACPICA code now simply always writes a zero to the ignored bit.
1502 1.1 jruoho
1503 1.1 jruoho Modified the handling of ignored bits for the PM1 A/B Control Registers. As
1504 1.1 jruoho per the ACPI specification, for the control registers, preserve
1505 1.1 jruoho (read/modify/write) all bits that are defined as either reserved or ignored.
1506 1.1 jruoho
1507 1.1 jruoho Updated the handling of write-only bits in the PM1 A/B Control Registers.
1508 1.1 jruoho When reading the register, zero the write-only bits as per the ACPI spec.
1509 1.1 jruoho ACPICA BZ 443. Lin Ming.
1510 1.1 jruoho
1511 1.1 jruoho Removed "Linux" from the list of supported _OSI strings. Linux no longer
1512 1.1 jruoho wants to reply true to this request. The Windows strings are the only paths
1513 1.1 jruoho through the AML that are tested and known to work properly.
1514 1.1 jruoho
1515 1.1 jruoho Previous Release:
1516 1.1 jruoho Non-Debug Version: 82.0K Code, 17.5K Data, 99.5K Total
1517 1.1 jruoho Debug Version: 156.9K Code, 49.8K Data, 206.7K Total
1518 1.1 jruoho Current Release:
1519 1.1 jruoho Non-Debug Version: 82.6K Code, 17.6K Data, 100.2K Total
1520 1.1 jruoho Debug Version: 157.7K Code, 49.9K Data, 207.6K Total
1521 1.1 jruoho
1522 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
1523 1.1 jruoho
1524 1.1 jruoho Acpiexec: Split the large aeexec.c file into two new files, aehandlers.c and
1525 1.1 jruoho aetables.c
1526 1.1 jruoho
1527 1.1 jruoho ----------------------------------------
1528 1.1 jruoho 20 February 2009. Summary of changes for version 20090220:
1529 1.1 jruoho
1530 1.1 jruoho 1) ACPI CA Core Subsystem:
1531 1.1 jruoho
1532 1.1 jruoho Optimized the ACPI register locking. Removed locking for reads from the ACPI
1533 1.1 jruoho bit registers in PM1 Status, Enable, Control, and PM2 Control. The lock is
1534 1.1 jruoho not required when reading the single-bit registers. The
1535 1.1 jruoho AcpiGetRegisterUnlocked function is no longer needed and has been removed.
1536 1.1 jruoho This will improve performance for reads on these registers. ACPICA BZ 760.
1537 1.1 jruoho
1538 1.1 jruoho Fixed the parameter validation for AcpiRead/Write. Now return
1539 1.1.1.2 jruoho AE_BAD_PARAMETER if the input register pointer is null, and AE_BAD_ADDRESS
1540 1.1.1.2 jruoho if
1541 1.1 jruoho the register has an address of zero. Previously, these cases simply returned
1542 1.1 jruoho AE_OK. For optional registers such as PM1B status/enable/control, the caller
1543 1.1 jruoho should check for a valid register address before calling. ACPICA BZ 748.
1544 1.1 jruoho
1545 1.1 jruoho Renamed the external ACPI bit register access functions. Renamed
1546 1.1 jruoho AcpiGetRegister and AcpiSetRegister to clarify the purpose of these
1547 1.1 jruoho functions. The new names are AcpiReadBitRegister and AcpiWriteBitRegister.
1548 1.1 jruoho Also, restructured the code for these functions by simplifying the code path
1549 1.1 jruoho and condensing duplicate code to reduce code size.
1550 1.1 jruoho
1551 1.1 jruoho Added new functions to transparently handle the possibly split PM1 A/B
1552 1.1 jruoho registers. AcpiHwReadMultiple and AcpiHwWriteMultiple. These two functions
1553 1.1.1.2 jruoho now handle the split registers for PM1 Status, Enable, and Control. ACPICA
1554 1.1.1.2 jruoho BZ
1555 1.1 jruoho 746.
1556 1.1 jruoho
1557 1.1 jruoho Added a function to handle the PM1 control registers, AcpiHwWritePm1Control.
1558 1.1.1.2 jruoho This function writes both of the PM1 control registers (A/B). These
1559 1.1.1.2 jruoho registers
1560 1.1 jruoho are different than the PM1 A/B status and enable registers in that different
1561 1.1 jruoho values can be written to the A/B registers. Most notably, the SLP_TYP bits
1562 1.1.1.2 jruoho can be different, as per the values returned from the _Sx predefined
1563 1.1.1.2 jruoho methods.
1564 1.1 jruoho
1565 1.1 jruoho Removed an extra register write within AcpiHwClearAcpiStatus. This function
1566 1.1 jruoho was writing an optional PM1B status register twice. The existing call to the
1567 1.1 jruoho low-level AcpiHwRegisterWrite automatically handles a possibly split PM1 A/B
1568 1.1 jruoho register. ACPICA BZ 751.
1569 1.1 jruoho
1570 1.1.1.2 jruoho Split out the PM1 Status registers from the FADT. Added new globals for
1571 1.1.1.2 jruoho these
1572 1.1 jruoho registers (A/B), similar to the way the PM1 Enable registers are handled.
1573 1.1 jruoho Instead of overloading the FADT Event Register blocks. This makes the code
1574 1.1 jruoho clearer and less prone to error.
1575 1.1 jruoho
1576 1.1.1.2 jruoho Fixed the warning message for when the platform contains too many ACPI
1577 1.1.1.2 jruoho tables
1578 1.1.1.2 jruoho for the default size of the global root table data structure. The
1579 1.1.1.2 jruoho calculation
1580 1.1 jruoho for the truncation value was incorrect.
1581 1.1 jruoho
1582 1.1 jruoho Removed the ACPI_GET_OBJECT_TYPE macro. Removed all instances of this
1583 1.1 jruoho obsolete macro, since it is now a simple reference to ->common.type. There
1584 1.1 jruoho were about 150 invocations of the macro across 41 files. ACPICA BZ 755.
1585 1.1 jruoho
1586 1.1 jruoho Removed the redundant ACPI_BITREG_SLEEP_TYPE_B. This type is the same as
1587 1.1 jruoho TYPE_A. Removed this and all related instances. Renamed SLEEP_TYPE_A to
1588 1.1 jruoho simply SLEEP_TYPE. ACPICA BZ 754.
1589 1.1 jruoho
1590 1.1 jruoho Conditionally compile the AcpiSetFirmwareWakingVector64 function. This
1591 1.1 jruoho function is only needed on 64-bit host operating systems and is thus not
1592 1.1 jruoho included for 32-bit hosts.
1593 1.1 jruoho
1594 1.1.1.2 jruoho Debug output: print the input and result for invocations of the _OSI
1595 1.1.1.2 jruoho reserved
1596 1.1 jruoho control method via the ACPI_LV_INFO debug level. Also, reduced some of the
1597 1.1 jruoho verbosity of this debug level. Len Brown.
1598 1.1 jruoho
1599 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
1600 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
1601 1.1.1.2 jruoho debug version of the code includes the debug output trace mechanism and has
1602 1.1.1.2 jruoho a
1603 1.1 jruoho much larger code and data size.
1604 1.1 jruoho
1605 1.1 jruoho Previous Release:
1606 1.1 jruoho Non-Debug Version: 82.3K Code, 17.5K Data, 99.8K Total
1607 1.1 jruoho Debug Version: 157.3K Code, 49.8K Data, 207.1K Total
1608 1.1 jruoho Current Release:
1609 1.1 jruoho Non-Debug Version: 82.0K Code, 17.5K Data, 99.5K Total
1610 1.1 jruoho Debug Version: 156.9K Code, 49.8K Data, 206.7K Total
1611 1.1 jruoho
1612 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
1613 1.1 jruoho
1614 1.1 jruoho Disassembler: Decode the FADT PM_Profile field. Emit ascii names for the
1615 1.1 jruoho various legal performance profiles.
1616 1.1 jruoho
1617 1.1 jruoho ----------------------------------------
1618 1.1 jruoho 23 January 2009. Summary of changes for version 20090123:
1619 1.1 jruoho
1620 1.1 jruoho 1) ACPI CA Core Subsystem:
1621 1.1 jruoho
1622 1.1 jruoho Added the 2009 copyright to all module headers and signons. This affects
1623 1.1 jruoho virtually every file in the ACPICA core subsystem, the iASL compiler, and
1624 1.1 jruoho the tools/utilities.
1625 1.1 jruoho
1626 1.1 jruoho Implemented a change to allow the host to override any ACPI table, including
1627 1.1.1.2 jruoho dynamically loaded tables. Previously, only the DSDT could be replaced by
1628 1.1.1.2 jruoho the
1629 1.1 jruoho host. With this change, the AcpiOsTableOverride interface is called for each
1630 1.1 jruoho table found in the RSDT/XSDT during ACPICA initialization, and also whenever
1631 1.1 jruoho a table is dynamically loaded via the AML Load operator.
1632 1.1 jruoho
1633 1.1 jruoho Updated FADT flag definitions, especially the Boot Architecture flags.
1634 1.1 jruoho
1635 1.1 jruoho Debugger: For the Find command, automatically pad the input ACPI name with
1636 1.1 jruoho underscores if the name is shorter than 4 characters. This enables a match
1637 1.1 jruoho with the actual namespace entry which is itself padded with underscores.
1638 1.1 jruoho
1639 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
1640 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
1641 1.1.1.2 jruoho debug version of the code includes the debug output trace mechanism and has
1642 1.1.1.2 jruoho a
1643 1.1 jruoho much larger code and data size.
1644 1.1 jruoho
1645 1.1 jruoho Previous Release:
1646 1.1 jruoho Non-Debug Version: 82.3K Code, 17.4K Data, 99.7K Total
1647 1.1 jruoho Debug Version: 157.1K Code, 49.7K Data, 206.8K Total
1648 1.1 jruoho Current Release:
1649 1.1 jruoho Non-Debug Version: 82.3K Code, 17.5K Data, 99.8K Total
1650 1.1 jruoho Debug Version: 157.3K Code, 49.8K Data, 207.1K Total
1651 1.1 jruoho
1652 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
1653 1.1 jruoho
1654 1.1 jruoho Fix build error under Bison-2.4.
1655 1.1 jruoho
1656 1.1 jruoho Dissasembler: Enhanced FADT support. Added decoding of the Boot Architecture
1657 1.1 jruoho flags. Now decode all flags, regardless of the FADT version. Flag output
1658 1.1 jruoho includes the FADT version which first defined each flag.
1659 1.1 jruoho
1660 1.1 jruoho The iASL -g option now dumps the RSDT to a file (in addition to the FADT and
1661 1.1 jruoho DSDT). Windows only.
1662 1.1 jruoho
1663 1.1 jruoho ----------------------------------------
1664 1.1 jruoho 04 December 2008. Summary of changes for version 20081204:
1665 1.1 jruoho
1666 1.1 jruoho 1) ACPI CA Core Subsystem:
1667 1.1 jruoho
1668 1.1 jruoho The ACPICA Programmer Reference has been completely updated and revamped for
1669 1.1 jruoho this release. This includes updates to the external interfaces, OSL
1670 1.1 jruoho interfaces, the overview sections, and the debugger reference.
1671 1.1 jruoho
1672 1.1 jruoho Several new ACPICA interfaces have been implemented and documented in the
1673 1.1 jruoho programmer reference:
1674 1.1 jruoho AcpiReset - Writes the reset value to the FADT-defined reset register.
1675 1.1 jruoho AcpiDisableAllGpes - Disable all available GPEs.
1676 1.1 jruoho AcpiEnableAllRuntimeGpes - Enable all available runtime GPEs.
1677 1.1 jruoho AcpiGetGpeDevice - Get the GPE block device associated with a GPE.
1678 1.1 jruoho AcpiGbl_CurrentGpeCount - Tracks the current number of available GPEs.
1679 1.1 jruoho AcpiRead - Low-level read ACPI register (was HwLowLevelRead.)
1680 1.1 jruoho AcpiWrite - Low-level write ACPI register (was HwLowLevelWrite.)
1681 1.1 jruoho
1682 1.1 jruoho Most of the public ACPI hardware-related interfaces have been moved to a new
1683 1.1 jruoho file, components/hardware/hwxface.c
1684 1.1 jruoho
1685 1.1 jruoho Enhanced the FADT parsing and low-level ACPI register access: The ACPI
1686 1.1 jruoho register lengths within the FADT are now used, and the low level ACPI
1687 1.1 jruoho register access no longer hardcodes the ACPI register lengths. Given that
1688 1.1.1.2 jruoho there may be some risk in actually trusting the FADT register lengths, a
1689 1.1.1.2 jruoho run-
1690 1.1 jruoho time option was added to fall back to the default hardcoded lengths if the
1691 1.1 jruoho FADT proves to contain incorrect values - UseDefaultRegisterWidths. This
1692 1.1 jruoho option is set to true for now, and a warning is issued if a suspicious FADT
1693 1.1 jruoho register length is overridden with the default value.
1694 1.1 jruoho
1695 1.1 jruoho Fixed a reference count issue in NsRepairObject. This problem was introduced
1696 1.1 jruoho in version 20081031 as part of a fix to repair Buffer objects within
1697 1.1 jruoho Packages. Lin Ming.
1698 1.1 jruoho
1699 1.1 jruoho Added semaphore support to the Linux/Unix application OS-services layer
1700 1.1 jruoho (OSL). ACPICA BZ 448. Lin Ming.
1701 1.1 jruoho
1702 1.1.1.2 jruoho Added the ACPI_MUTEX_TYPE configuration option to select whether mutexes
1703 1.1.1.2 jruoho will
1704 1.1 jruoho be implemented in the OSL, or will binary semaphores be used instead.
1705 1.1 jruoho
1706 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
1707 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
1708 1.1.1.2 jruoho debug version of the code includes the debug output trace mechanism and has
1709 1.1.1.2 jruoho a
1710 1.1 jruoho much larger code and data size.
1711 1.1 jruoho
1712 1.1 jruoho Previous Release:
1713 1.1 jruoho Non-Debug Version: 81.7K Code, 17.3K Data, 99.0K Total
1714 1.1 jruoho Debug Version: 156.4K Code, 49.4K Data, 205.8K Total
1715 1.1 jruoho Current Release:
1716 1.1 jruoho Non-Debug Version: 82.3K Code, 17.4K Data, 99.7K Total
1717 1.1 jruoho Debug Version: 157.1K Code, 49.7K Data, 206.8K Total
1718 1.1 jruoho
1719 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
1720 1.1 jruoho
1721 1.1.1.2 jruoho iASL: Completed the '-e' option to include additional ACPI tables in order
1722 1.1.1.2 jruoho to
1723 1.1 jruoho aid with disassembly and External statement generation. ACPICA BZ 742. Lin
1724 1.1 jruoho Ming.
1725 1.1 jruoho
1726 1.1 jruoho iASL: Removed the "named object in while loop" error. The compiler cannot
1727 1.1 jruoho determine how many times a loop will execute. ACPICA BZ 730.
1728 1.1 jruoho
1729 1.1 jruoho Disassembler: Implemented support for FADT revision 2 (MS extension). ACPICA
1730 1.1 jruoho BZ 743.
1731 1.1 jruoho
1732 1.1 jruoho Disassembler: Updates for several ACPI data tables (HEST, EINJ, and MCFG).
1733 1.1 jruoho
1734 1.1 jruoho ----------------------------------------
1735 1.1 jruoho 31 October 2008. Summary of changes for version 20081031:
1736 1.1 jruoho
1737 1.1 jruoho 1) ACPI CA Core Subsystem:
1738 1.1 jruoho
1739 1.1.1.2 jruoho Restructured the ACPICA header files into public/private. acpi.h now
1740 1.1.1.2 jruoho includes
1741 1.1 jruoho only the "public" acpica headers. All other acpica headers are "private" and
1742 1.1 jruoho should not be included by acpica users. One new file, accommon.h is used to
1743 1.1 jruoho include the commonly used private headers for acpica code generation. Future
1744 1.1 jruoho plans include moving all private headers to a new subdirectory.
1745 1.1 jruoho
1746 1.1 jruoho Implemented an automatic Buffer->String return value conversion for
1747 1.1 jruoho predefined ACPI methods. For these methods (such as _BIF), added automatic
1748 1.1 jruoho conversion for return objects that are required to be a String, but a Buffer
1749 1.1 jruoho was found instead. This can happen when reading string battery data from an
1750 1.1 jruoho operation region, because it used to be difficult to convert the data from
1751 1.1 jruoho buffer to string from within the ASL. Ensures that the host OS is provided
1752 1.1 jruoho with a valid null-terminated string. Linux BZ 11822.
1753 1.1 jruoho
1754 1.1 jruoho Updated the FACS waking vector interfaces. Split AcpiSetFirmwareWakingVector
1755 1.1 jruoho into two: one for the 32-bit vector, another for the 64-bit vector. This is
1756 1.1 jruoho required because the host OS must setup the wake much differently for each
1757 1.1.1.2 jruoho vector (real vs. protected mode, etc.) and the interface itself should not
1758 1.1.1.2 jruoho be
1759 1.1 jruoho deciding which vector to use. Also, eliminated the GetFirmwareWakingVector
1760 1.1 jruoho interface, as it served no purpose (only the firmware reads the vector, OS
1761 1.1 jruoho only writes the vector.) ACPICA BZ 731.
1762 1.1 jruoho
1763 1.1 jruoho Implemented a mechanism to escape infinite AML While() loops. Added a loop
1764 1.1 jruoho counter to force exit from AML While loops if the count becomes too large.
1765 1.1 jruoho This can occur in poorly written AML when the hardware does not respond
1766 1.1 jruoho within a while loop and the loop does not implement a timeout. The maximum
1767 1.1 jruoho loop count is configurable. A new exception code is returned when a loop is
1768 1.1 jruoho broken, AE_AML_INFINITE_LOOP. Alexey Starikovskiy, Bob Moore.
1769 1.1 jruoho
1770 1.1 jruoho Optimized the execution of AML While loops. Previously, a control state
1771 1.1 jruoho object was allocated and freed for each execution of the loop. The
1772 1.1 jruoho optimization is to simply reuse the control state for each iteration. This
1773 1.1 jruoho speeds up the raw loop execution time by about 5%.
1774 1.1 jruoho
1775 1.1 jruoho Enhanced the implicit return mechanism. For Windows compatibility, return an
1776 1.1 jruoho implicit integer of value zero for methods that contain no executable code.
1777 1.1 jruoho Such methods are seen in the field as stubs (presumably), and can cause
1778 1.1 jruoho drivers to fail if they expect a return value. Lin Ming.
1779 1.1 jruoho
1780 1.1 jruoho Allow multiple backslashes as root prefixes in namepaths. In a fully
1781 1.1 jruoho qualified namepath, allow multiple backslash prefixes. This can happen (and
1782 1.1 jruoho is seen in the field) because of the use of a double-backslash in strings
1783 1.1 jruoho (since backslash is the escape character) causing confusion. ACPICA BZ 739
1784 1.1 jruoho Lin Ming.
1785 1.1 jruoho
1786 1.1 jruoho Emit a warning if two different FACS or DSDT tables are discovered in the
1787 1.1 jruoho FADT. Checks if there are two valid but different addresses for the FACS and
1788 1.1 jruoho DSDT within the FADT (mismatch between the 32-bit and 64-bit fields.)
1789 1.1 jruoho
1790 1.1 jruoho Consolidated the method argument count validation code. Merged the code that
1791 1.1 jruoho validates control method argument counts into the predefined validation
1792 1.1 jruoho module. Eliminates possible multiple warnings for incorrect argument counts.
1793 1.1 jruoho
1794 1.1 jruoho Implemented ACPICA example code. Includes code for ACPICA initialization,
1795 1.1 jruoho handler installation, and calling a control method. Available at
1796 1.1 jruoho source/tools/examples.
1797 1.1 jruoho
1798 1.1 jruoho Added a global pointer for FACS table to simplify internal FACS access. Use
1799 1.1.1.2 jruoho the global pointer instead of using AcpiGetTableByIndex for each FACS
1800 1.1.1.2 jruoho access.
1801 1.1 jruoho This simplifies the code for the Global Lock and the Firmware Waking
1802 1.1 jruoho Vector(s).
1803 1.1 jruoho
1804 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
1805 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
1806 1.1.1.2 jruoho debug version of the code includes the debug output trace mechanism and has
1807 1.1.1.2 jruoho a
1808 1.1 jruoho much larger code and data size.
1809 1.1 jruoho
1810 1.1 jruoho Previous Release:
1811 1.1 jruoho Non-Debug Version: 81.2K Code, 17.0K Data, 98.2K Total
1812 1.1 jruoho Debug Version: 155.8K Code, 49.1K Data, 204.9K Total
1813 1.1 jruoho Current Release:
1814 1.1 jruoho Non-Debug Version: 81.7K Code, 17.3K Data, 99.0K Total
1815 1.1 jruoho Debug Version: 156.4K Code, 49.4K Data, 205.8K Total
1816 1.1 jruoho
1817 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
1818 1.1 jruoho
1819 1.1 jruoho iASL: Improved disassembly of external method calls. Added the -e option to
1820 1.1.1.2 jruoho allow the inclusion of additional ACPI tables to help with the disassembly
1821 1.1.1.2 jruoho of
1822 1.1 jruoho method invocations and the generation of external declarations during the
1823 1.1 jruoho disassembly. Certain external method invocations cannot be disassembled
1824 1.1 jruoho properly without the actual declaration of the method. Use the -e option to
1825 1.1 jruoho include the table where the external method(s) are actually declared. Most
1826 1.1 jruoho useful for disassembling SSDTs that make method calls back to the master
1827 1.1 jruoho DSDT. Lin Ming. Example: To disassemble an SSDT with calls to DSDT: iasl -d
1828 1.1 jruoho -e dsdt.aml ssdt1.aml
1829 1.1 jruoho
1830 1.1 jruoho iASL: Fix to allow references to aliases within ASL namepaths. Fixes a
1831 1.1 jruoho problem where the use of an alias within a namepath would result in a not
1832 1.1 jruoho found error or cause the compiler to fault. Also now allows forward
1833 1.1 jruoho references from the Alias operator itself. ACPICA BZ 738.
1834 1.1 jruoho
1835 1.1 jruoho ----------------------------------------
1836 1.1 jruoho 26 September 2008. Summary of changes for version 20080926:
1837 1.1 jruoho
1838 1.1 jruoho 1) ACPI CA Core Subsystem:
1839 1.1 jruoho
1840 1.1 jruoho Designed and implemented a mechanism to validate predefined ACPI methods and
1841 1.1.1.2 jruoho objects. This code validates the predefined ACPI objects (objects whose
1842 1.1.1.2 jruoho names
1843 1.1 jruoho start with underscore) that appear in the namespace, at the time they are
1844 1.1 jruoho evaluated. The argument count and the type of the returned object are
1845 1.1 jruoho validated against the ACPI specification. The purpose of this validation is
1846 1.1 jruoho to detect problems with the BIOS-implemented predefined ACPI objects before
1847 1.1.1.2 jruoho the results are returned to the ACPI-related drivers. Future enhancements
1848 1.1.1.2 jruoho may
1849 1.1 jruoho include actual repair of incorrect return objects where possible. Two new
1850 1.1 jruoho files are nspredef.c and acpredef.h.
1851 1.1 jruoho
1852 1.1 jruoho Fixed a fault in the AML parser if a memory allocation fails during the Op
1853 1.1 jruoho completion routine AcpiPsCompleteThisOp. Lin Ming. ACPICA BZ 492.
1854 1.1 jruoho
1855 1.1 jruoho Fixed an issue with implicit return compatibility. This change improves the
1856 1.1 jruoho implicit return mechanism to be more compatible with the MS interpreter. Lin
1857 1.1 jruoho Ming, ACPICA BZ 349.
1858 1.1 jruoho
1859 1.1 jruoho Implemented support for zero-length buffer-to-string conversions. Allow zero
1860 1.1 jruoho length strings during interpreter buffer-to-string conversions. For example,
1861 1.1 jruoho during the ToDecimalString and ToHexString operators, as well as implicit
1862 1.1 jruoho conversions. Fiodor Suietov, ACPICA BZ 585.
1863 1.1 jruoho
1864 1.1 jruoho Fixed two possible memory leaks in the error exit paths of
1865 1.1 jruoho AcpiUtUpdateObjectReference and AcpiUtWalkPackageTree. These functions are
1866 1.1 jruoho similar in that they use a stack of state objects in order to eliminate
1867 1.1 jruoho recursion. The stack must be fully unwound and deallocated if an error
1868 1.1 jruoho occurs. Lin Ming. ACPICA BZ 383.
1869 1.1 jruoho
1870 1.1.1.2 jruoho Removed the unused ACPI_BITREG_WAKE_ENABLE definition and entry in the
1871 1.1.1.2 jruoho global
1872 1.1 jruoho ACPI register table. This bit does not exist and is unused. Lin Ming, Bob
1873 1.1 jruoho Moore ACPICA BZ 442.
1874 1.1 jruoho
1875 1.1 jruoho Removed the obsolete version number in module headers. Removed the
1876 1.1 jruoho "$Revision" number that appeared in each module header. This version number
1877 1.1 jruoho was useful under SourceSafe and CVS, but has no meaning under git. It is not
1878 1.1 jruoho only incorrect, it could also be misleading.
1879 1.1 jruoho
1880 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
1881 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
1882 1.1.1.2 jruoho debug version of the code includes the debug output trace mechanism and has
1883 1.1.1.2 jruoho a
1884 1.1 jruoho much larger code and data size.
1885 1.1 jruoho
1886 1.1 jruoho Previous Release:
1887 1.1 jruoho Non-Debug Version: 79.7K Code, 16.4K Data, 96.1K Total
1888 1.1 jruoho Debug Version: 153.7K Code, 48.2K Data, 201.9K Total
1889 1.1 jruoho Current Release:
1890 1.1 jruoho Non-Debug Version: 81.2K Code, 17.0K Data, 98.2K Total
1891 1.1 jruoho Debug Version: 155.8K Code, 49.1K Data, 204.9K Total
1892 1.1 jruoho
1893 1.1 jruoho ----------------------------------------
1894 1.1 jruoho 29 August 2008. Summary of changes for version 20080829:
1895 1.1 jruoho
1896 1.1 jruoho 1) ACPI CA Core Subsystem:
1897 1.1 jruoho
1898 1.1 jruoho Completed a major cleanup of the internal ACPI_OPERAND_OBJECT of type
1899 1.1 jruoho Reference. Changes include the elimination of cheating on the Object field
1900 1.1 jruoho for the DdbHandle subtype, addition of a reference class field to
1901 1.1.1.2 jruoho differentiate the various reference types (instead of an AML opcode), and
1902 1.1.1.2 jruoho the
1903 1.1 jruoho cleanup of debug output for this object. Lin Ming, Bob Moore. BZ 723
1904 1.1 jruoho
1905 1.1 jruoho Reduce an error to a warning for an incorrect method argument count.
1906 1.1 jruoho Previously aborted with an error if too few arguments were passed to a
1907 1.1.1.2 jruoho control method via the external ACPICA interface. Now issue a warning
1908 1.1.1.2 jruoho instead
1909 1.1 jruoho and continue. Handles the case where the method inadvertently declares too
1910 1.1 jruoho many arguments, but does not actually use the extra ones. Applies mainly to
1911 1.1 jruoho the predefined methods. Lin Ming. Linux BZ 11032.
1912 1.1 jruoho
1913 1.1.1.2 jruoho Disallow the evaluation of named object types with no intrinsic value.
1914 1.1.1.2 jruoho Return
1915 1.1.1.2 jruoho AE_TYPE for objects that have no value and therefore evaluation is
1916 1.1.1.2 jruoho undefined:
1917 1.1 jruoho Device, Event, Mutex, Region, Thermal, and Scope. Previously, evaluation of
1918 1.1 jruoho these types were allowed, but an exception would be generated at some point
1919 1.1 jruoho during the evaluation. Now, the error is generated up front.
1920 1.1 jruoho
1921 1.1 jruoho Fixed a possible memory leak in the AcpiNsGetExternalPathname function
1922 1.1 jruoho (nsnames.c). Fixes a leak in the error exit path.
1923 1.1 jruoho
1924 1.1.1.2 jruoho Removed the obsolete debug levels ACPI_DB_WARN and ACPI_DB_ERROR. These
1925 1.1.1.2 jruoho debug
1926 1.1.1.2 jruoho levels were made obsolete by the ACPI_WARNING, ACPI_ERROR, and
1927 1.1.1.2 jruoho ACPI_EXCEPTION
1928 1.1 jruoho interfaces. Also added ACPI_DB_EVENTS to correspond with the existing
1929 1.1 jruoho ACPI_LV_EVENTS.
1930 1.1 jruoho
1931 1.1 jruoho Removed obsolete and/or unused exception codes from the acexcep.h header.
1932 1.1 jruoho There is the possibility that certain device drivers may be affected if they
1933 1.1 jruoho use any of these exceptions.
1934 1.1 jruoho
1935 1.1 jruoho The ACPICA documentation has been added to the public git source tree, under
1936 1.1 jruoho acpica/documents. Included are the ACPICA programmer reference, the iASL
1937 1.1 jruoho compiler reference, and the changes.txt release logfile.
1938 1.1 jruoho
1939 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
1940 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
1941 1.1.1.2 jruoho debug version of the code includes the debug output trace mechanism and has
1942 1.1.1.2 jruoho a
1943 1.1 jruoho much larger code and data size.
1944 1.1 jruoho
1945 1.1 jruoho Previous Release:
1946 1.1 jruoho Non-Debug Version: 79.7K Code, 16.4K Data, 96.1K Total
1947 1.1 jruoho Debug Version: 153.9K Code, 48.4K Data, 202.3K Total
1948 1.1 jruoho Current Release:
1949 1.1 jruoho Non-Debug Version: 79.7K Code, 16.4K Data, 96.1K Total
1950 1.1 jruoho Debug Version: 153.7K Code, 48.2K Data, 201.9K Total
1951 1.1 jruoho
1952 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
1953 1.1 jruoho
1954 1.1 jruoho Allow multiple argument counts for the predefined _SCP method. ACPI 3.0
1955 1.1 jruoho defines _SCP with 3 arguments. Previous versions defined it with only 1
1956 1.1 jruoho argument. iASL now allows both definitions.
1957 1.1 jruoho
1958 1.1 jruoho iASL/disassembler: avoid infinite loop on bad ACPI tables. Check for zero-
1959 1.1 jruoho length subtables when disassembling ACPI tables. Also fixed a couple of
1960 1.1 jruoho errors where a full 16-bit table type field was not extracted from the input
1961 1.1 jruoho properly.
1962 1.1 jruoho
1963 1.1 jruoho acpisrc: Improve comment counting mechanism for generating source code
1964 1.1 jruoho statistics. Count first and last lines of multi-line comments as whitespace,
1965 1.1 jruoho not comment lines. Handle Linux legal header in addition to standard acpica
1966 1.1 jruoho header.
1967 1.1 jruoho
1968 1.1 jruoho ----------------------------------------
1969 1.1 jruoho
1970 1.1 jruoho 29 July 2008. Summary of changes for version 20080729:
1971 1.1 jruoho
1972 1.1 jruoho 1) ACPI CA Core Subsystem:
1973 1.1 jruoho
1974 1.1 jruoho Fix a possible deadlock in the GPE dispatch. Remove call to
1975 1.1.1.2 jruoho AcpiHwDisableAllGpes during wake in AcpiEvGpeDispatch. This call will
1976 1.1.1.2 jruoho attempt
1977 1.1 jruoho to acquire the GPE lock but can deadlock since the GPE lock is already held
1978 1.1 jruoho at dispatch time. This code was introduced in version 20060831 as a response
1979 1.1 jruoho to Linux BZ 6881 and has since been removed from Linux.
1980 1.1 jruoho
1981 1.1.1.2 jruoho Add a function to dereference returned reference objects. Examines the
1982 1.1.1.2 jruoho return
1983 1.1 jruoho object from a call to AcpiEvaluateObject. Any Index or RefOf references are
1984 1.1 jruoho automatically dereferenced in an attempt to return something useful (these
1985 1.1 jruoho reference types cannot be converted into an external ACPI_OBJECT.) Provides
1986 1.1 jruoho MS compatibility. Lin Ming, Bob Moore. Linux BZ 11105
1987 1.1 jruoho
1988 1.1 jruoho x2APIC support: changes for MADT and SRAT ACPI tables. There are 2 new
1989 1.1 jruoho subtables for the MADT and one new subtable for the SRAT. Includes
1990 1.1 jruoho disassembler and AcpiSrc support. Data from the Intel 64 Architecture x2APIC
1991 1.1 jruoho Specification, June 2008.
1992 1.1 jruoho
1993 1.1 jruoho Additional error checking for pathname utilities. Add error check after all
1994 1.1 jruoho calls to AcpiNsGetPathnameLength. Add status return from
1995 1.1 jruoho AcpiNsBuildExternalPath and check after all calls. Add parameter validation
1996 1.1 jruoho to AcpiUtInitializeBuffer. Reported by and initial patch by Ingo Molnar.
1997 1.1 jruoho
1998 1.1 jruoho Return status from the global init function AcpiUtGlobalInitialize. This is
1999 1.1 jruoho used by both the kernel subsystem and the utilities such as iASL compiler.
2000 1.1 jruoho The function could possibly fail when the caches are initialized. Yang Yi.
2001 1.1 jruoho
2002 1.1 jruoho Add a function to decode reference object types to strings. Created for
2003 1.1 jruoho improved error messages.
2004 1.1 jruoho
2005 1.1.1.2 jruoho Improve object conversion error messages. Better error messages during
2006 1.1.1.2 jruoho object
2007 1.1.1.2 jruoho conversion from internal to the external ACPI_OBJECT. Used for external
2008 1.1.1.2 jruoho calls
2009 1.1 jruoho to AcpiEvaluateObject.
2010 1.1 jruoho
2011 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
2012 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
2013 1.1.1.2 jruoho debug version of the code includes the debug output trace mechanism and has
2014 1.1.1.2 jruoho a
2015 1.1 jruoho much larger code and data size.
2016 1.1 jruoho
2017 1.1 jruoho Previous Release:
2018 1.1 jruoho Non-Debug Version: 79.6K Code, 16.2K Data, 95.8K Total
2019 1.1 jruoho Debug Version: 153.5K Code, 48.2K Data, 201.7K Total
2020 1.1 jruoho Current Release:
2021 1.1 jruoho Non-Debug Version: 79.7K Code, 16.4K Data, 96.1K Total
2022 1.1 jruoho Debug Version: 153.9K Code, 48.4K Data, 202.3K Total
2023 1.1 jruoho
2024 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
2025 1.1 jruoho
2026 1.1 jruoho Debugger: fix a possible hang when evaluating non-methods. Fixes a problem
2027 1.1 jruoho introduced in version 20080701. If the object being evaluated (via execute
2028 1.1 jruoho command) is not a method, the debugger can hang while trying to obtain non-
2029 1.1 jruoho existent parameters.
2030 1.1 jruoho
2031 1.1 jruoho iASL: relax error for using reserved "_T_x" identifiers. These names can
2032 1.1 jruoho appear in a disassembled ASL file if they were emitted by the original
2033 1.1 jruoho compiler. Instead of issuing an error or warning and forcing the user to
2034 1.1 jruoho manually change these names, issue a remark instead.
2035 1.1 jruoho
2036 1.1.1.2 jruoho iASL: error if named object created in while loop. Emit an error if any
2037 1.1.1.2 jruoho named
2038 1.1 jruoho object is created within a While loop. If allowed, this code will generate a
2039 1.1.1.2 jruoho run-time error on the second iteration of the loop when an attempt is made
2040 1.1.1.2 jruoho to
2041 1.1 jruoho create the same named object twice. ACPICA bugzilla 730.
2042 1.1 jruoho
2043 1.1 jruoho iASL: Support absolute pathnames for include files. Add support for absolute
2044 1.1 jruoho pathnames within the Include operator. previously, only relative pathnames
2045 1.1 jruoho were supported.
2046 1.1 jruoho
2047 1.1.1.2 jruoho iASL: Enforce minimum 1 interrupt in interrupt macro and Resource
2048 1.1.1.2 jruoho Descriptor.
2049 1.1 jruoho The ACPI spec requires one interrupt minimum. BZ 423
2050 1.1 jruoho
2051 1.1 jruoho iASL: Handle a missing ResourceSource arg, with a present SourceIndex.
2052 1.1 jruoho Handles the case for the Interrupt Resource Descriptor where
2053 1.1 jruoho the ResourceSource argument is omitted but ResourceSourceIndex
2054 1.1 jruoho is present. Now leave room for the Index. BZ 426
2055 1.1 jruoho
2056 1.1 jruoho iASL: Prevent error message if CondRefOf target does not exist. Fixes cases
2057 1.1 jruoho where an error message is emitted if the target does not exist. BZ 516
2058 1.1 jruoho
2059 1.1 jruoho iASL: Fix broken -g option (get Windows ACPI tables). Fixes the -g option
2060 1.1.1.2 jruoho (get ACPI tables on Windows). This was apparently broken in version
2061 1.1.1.2 jruoho 20070919.
2062 1.1 jruoho
2063 1.1.1.2 jruoho AcpiXtract: Handle EOF while extracting data. Correctly handle the case
2064 1.1.1.2 jruoho where
2065 1.1 jruoho the EOF happens immediately after the last table in the input file. Print
2066 1.1 jruoho completion message. Previously, no message was displayed in this case.
2067 1.1 jruoho
2068 1.1 jruoho ----------------------------------------
2069 1.1 jruoho 01 July 2008. Summary of changes for version 20080701:
2070 1.1 jruoho
2071 1.1 jruoho 0) Git source tree / acpica.org
2072 1.1 jruoho
2073 1.1 jruoho Fixed a problem where a git-clone from http would not transfer the entire
2074 1.1 jruoho source tree.
2075 1.1 jruoho
2076 1.1 jruoho 1) ACPI CA Core Subsystem:
2077 1.1 jruoho
2078 1.1 jruoho Implemented a "careful" GPE disable in AcpiEvDisableGpe, only modify one
2079 1.1 jruoho enable bit. Now performs a read-change-write of the enable register instead
2080 1.1 jruoho of simply writing out the cached enable mask. This will prevent inadvertent
2081 1.1.1.2 jruoho enabling of GPEs if a rogue GPE is received during initialization (before
2082 1.1.1.2 jruoho GPE
2083 1.1 jruoho handlers are installed.)
2084 1.1 jruoho
2085 1.1 jruoho Implemented a copy for dynamically loaded tables. Previously, dynamically
2086 1.1 jruoho loaded tables were simply mapped - but on some machines this memory is
2087 1.1 jruoho corrupted after suspend. Now copy the table to a local buffer. For the
2088 1.1 jruoho OpRegion case, added checksum verify. Use the table length from the table
2089 1.1 jruoho header, not the region length. For the Buffer case, use the table length
2090 1.1 jruoho also. Dennis Noordsij, Bob Moore. BZ 10734
2091 1.1 jruoho
2092 1.1.1.2 jruoho Fixed a problem where the same ACPI table could not be dynamically loaded
2093 1.1.1.2 jruoho and
2094 1.1 jruoho unloaded more than once. Without this change, a table cannot be loaded again
2095 1.1 jruoho once it has been loaded/unloaded one time. The current mechanism does not
2096 1.1.1.2 jruoho unregister a table upon an unload. During a load, if the same table is
2097 1.1.1.2 jruoho found,
2098 1.1 jruoho this no longer returns an exception. BZ 722
2099 1.1 jruoho
2100 1.1 jruoho Fixed a problem where the wrong descriptor length was calculated for the
2101 1.1 jruoho EndTag descriptor in 64-bit mode. The "minimal" descriptors such as EndTag
2102 1.1 jruoho are calculated as 12 bytes long, but the actual length in the internal
2103 1.1 jruoho descriptor is 16 because of the round-up to 8 on the 64-bit build. Reported
2104 1.1 jruoho by Linn Crosetto. BZ 728
2105 1.1 jruoho
2106 1.1 jruoho Fixed a possible memory leak in the Unload operator. The DdbHandle returned
2107 1.1.1.2 jruoho by Load() did not have its reference count decremented during unload,
2108 1.1.1.2 jruoho leading
2109 1.1 jruoho to a memory leak. Lin Ming. BZ 727
2110 1.1 jruoho
2111 1.1 jruoho Fixed a possible memory leak when deleting thermal/processor objects. Any
2112 1.1 jruoho associated notify handlers (and objects) were not being deleted. Fiodor
2113 1.1 jruoho Suietov. BZ 506
2114 1.1 jruoho
2115 1.1 jruoho Fixed the ordering of the ASCII names in the global mutex table to match the
2116 1.1.1.2 jruoho actual mutex IDs. Used by AcpiUtGetMutexName, a function used for debug
2117 1.1.1.2 jruoho only.
2118 1.1 jruoho Vegard Nossum. BZ 726
2119 1.1 jruoho
2120 1.1 jruoho Enhanced the AcpiGetObjectInfo interface to return the number of required
2121 1.1 jruoho arguments if the object is a control method. Added this call to the debugger
2122 1.1 jruoho so the proper number of default arguments are passed to a method. This
2123 1.1 jruoho prevents a warning when executing methods from AcpiExec.
2124 1.1 jruoho
2125 1.1 jruoho Added a check for an invalid handle in AcpiGetObjectInfo. Return
2126 1.1 jruoho AE_BAD_PARAMETER if input handle is invalid. BZ 474
2127 1.1 jruoho
2128 1.1 jruoho Fixed an extraneous warning from exconfig.c on the 64-bit build.
2129 1.1 jruoho
2130 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
2131 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
2132 1.1.1.2 jruoho debug version of the code includes the debug output trace mechanism and has
2133 1.1.1.2 jruoho a
2134 1.1 jruoho much larger code and data size.
2135 1.1 jruoho
2136 1.1 jruoho Previous Release:
2137 1.1 jruoho Non-Debug Version: 79.3K Code, 16.2K Data, 95.5K Total
2138 1.1 jruoho Debug Version: 153.0K Code, 48.2K Data, 201.2K Total
2139 1.1 jruoho Current Release:
2140 1.1 jruoho Non-Debug Version: 79.6K Code, 16.2K Data, 95.8K Total
2141 1.1 jruoho Debug Version: 153.5K Code, 48.2K Data, 201.7K Total
2142 1.1 jruoho
2143 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
2144 1.1 jruoho
2145 1.1 jruoho iASL: Added two missing ACPI reserved names. Added _MTP and _ASZ, both
2146 1.1 jruoho resource descriptor names.
2147 1.1 jruoho
2148 1.1.1.2 jruoho iASL: Detect invalid ASCII characters in input (windows version). Removed
2149 1.1.1.2 jruoho the
2150 1.1 jruoho "-CF" flag from the flex compile, enables correct detection of non-ASCII
2151 1.1 jruoho characters in the input. BZ 441
2152 1.1 jruoho
2153 1.1 jruoho iASL: Eliminate warning when result of LoadTable is not used. Eliminate the
2154 1.1 jruoho "result of operation not used" warning when the DDB handle returned from
2155 1.1 jruoho LoadTable is not used. The warning is not needed. BZ 590
2156 1.1 jruoho
2157 1.1.1.2 jruoho AcpiExec: Add support for dynamic table load/unload. Now calls _CFG method
2158 1.1.1.2 jruoho to
2159 1.1.1.2 jruoho pass address of table to the AML. Added option to disable OpRegion
2160 1.1.1.2 jruoho simulation
2161 1.1.1.2 jruoho to allow creation of an OpRegion with a real address that was passed to
2162 1.1.1.2 jruoho _CFG.
2163 1.1 jruoho All of this allows testing of the Load and Unload operators from AcpiExec.
2164 1.1 jruoho
2165 1.1 jruoho Debugger: update tables command for unloaded tables. Handle unloaded tables
2166 1.1 jruoho and use the standard table header output routine.
2167 1.1 jruoho
2168 1.1 jruoho ----------------------------------------
2169 1.1 jruoho 09 June 2008. Summary of changes for version 20080609:
2170 1.1 jruoho
2171 1.1 jruoho 1) ACPI CA Core Subsystem:
2172 1.1 jruoho
2173 1.1 jruoho Implemented a workaround for reversed _PRT entries. A significant number of
2174 1.1 jruoho BIOSs erroneously reverse the _PRT SourceName and the SourceIndex. This
2175 1.1 jruoho change dynamically detects and repairs this problem. Provides compatibility
2176 1.1 jruoho with MS ACPI. BZ 6859
2177 1.1 jruoho
2178 1.1 jruoho Simplified the internal ACPI hardware interfaces to eliminate the locking
2179 1.1 jruoho flag parameter from Register Read/Write. Added a new external interface,
2180 1.1 jruoho AcpiGetRegisterUnlocked.
2181 1.1 jruoho
2182 1.1.1.2 jruoho Fixed a problem where the invocation of a GPE control method could hang.
2183 1.1.1.2 jruoho This
2184 1.1 jruoho was a regression introduced in 20080514. The new method argument count
2185 1.1 jruoho validation mechanism can enter an infinite loop when a GPE method is
2186 1.1.1.2 jruoho dispatched. Problem fixed by removing the obsolete code that passed GPE
2187 1.1.1.2 jruoho block
2188 1.1 jruoho information to the notify handler via the control method parameter pointer.
2189 1.1 jruoho
2190 1.1 jruoho Fixed a problem where the _SST execution status was incorrectly returned to
2191 1.1 jruoho the caller of AcpiEnterSleepStatePrep. This was a regression introduced in
2192 1.1 jruoho 20080514. _SST is optional and a NOT_FOUND exception should never be
2193 1.1 jruoho returned. BZ 716
2194 1.1 jruoho
2195 1.1 jruoho Fixed a problem where a deleted object could be accessed from within the AML
2196 1.1.1.2 jruoho parser. This was a regression introduced in version 20080123 as a fix for
2197 1.1.1.2 jruoho the
2198 1.1 jruoho Unload operator. Lin Ming. BZ 10669
2199 1.1 jruoho
2200 1.1 jruoho Cleaned up the debug operand dump mechanism. Eliminated unnecessary operands
2201 1.1 jruoho and eliminated the use of a negative index in a loop. Operands are now
2202 1.1 jruoho displayed in the correct order, not backwards. This also fixes a regression
2203 1.1 jruoho introduced in 20080514 on 64-bit systems where the elimination of
2204 1.1 jruoho ACPI_NATIVE_UINT caused the negative index to go large and positive. BZ 715
2205 1.1 jruoho
2206 1.1 jruoho Fixed a possible memory leak in EvPciConfigRegionSetup where the error exit
2207 1.1 jruoho path did not delete a locally allocated structure.
2208 1.1 jruoho
2209 1.1 jruoho Updated definitions for the DMAR and SRAT tables to synchronize with the
2210 1.1 jruoho current specifications. Includes disassembler support.
2211 1.1 jruoho
2212 1.1 jruoho Fixed a problem in the mutex debug code (in utmutex.c) where an incorrect
2213 1.1 jruoho loop termination value was used. Loop terminated on iteration early, missing
2214 1.1 jruoho one mutex. Linn Crosetto
2215 1.1 jruoho
2216 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
2217 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
2218 1.1.1.2 jruoho debug version of the code includes the debug output trace mechanism and has
2219 1.1.1.2 jruoho a
2220 1.1 jruoho much larger code and data size.
2221 1.1 jruoho
2222 1.1 jruoho Previous Release:
2223 1.1 jruoho Non-Debug Version: 79.5K Code, 16.2K Data, 95.7K Total
2224 1.1 jruoho Debug Version: 153.3K Code, 48.3K Data, 201.6K Total
2225 1.1 jruoho Current Release:
2226 1.1 jruoho Non-Debug Version: 79.3K Code, 16.2K Data, 95.5K Total
2227 1.1 jruoho Debug Version: 153.0K Code, 48.2K Data, 201.2K Total
2228 1.1 jruoho
2229 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
2230 1.1 jruoho
2231 1.1 jruoho Disassembler: Implemented support for EisaId() within _CID objects. Now
2232 1.1 jruoho disassemble integer _CID objects back to EisaId invocations, including
2233 1.1 jruoho multiple integers within _CID packages. Includes single-step support for
2234 1.1 jruoho debugger also.
2235 1.1 jruoho
2236 1.1 jruoho Disassembler: Added support for DMAR and SRAT table definition changes.
2237 1.1 jruoho
2238 1.1 jruoho ----------------------------------------
2239 1.1 jruoho 14 May 2008. Summary of changes for version 20080514:
2240 1.1 jruoho
2241 1.1 jruoho 1) ACPI CA Core Subsystem:
2242 1.1 jruoho
2243 1.1 jruoho Fixed a problem where GPEs were enabled too early during the ACPICA
2244 1.1 jruoho initialization. This could lead to "handler not installed" errors on some
2245 1.1 jruoho machines. Moved GPE enable until after _REG/_STA/_INI methods are run. This
2246 1.1 jruoho ensures that all operation regions and devices throughout the namespace have
2247 1.1 jruoho been initialized before GPEs are enabled. Alexey Starikovskiy, BZ 9916.
2248 1.1 jruoho
2249 1.1 jruoho Implemented a change to the enter sleep code. Moved execution of the _GTS
2250 1.1 jruoho method to just before setting sleep enable bit. The execution was moved from
2251 1.1 jruoho AcpiEnterSleepStatePrep to AcpiEnterSleepState. _GTS is now executed
2252 1.1 jruoho immediately before the SLP_EN bit is set, as per the ACPI specification.
2253 1.1 jruoho Luming Yu, BZ 1653.
2254 1.1 jruoho
2255 1.1 jruoho Implemented a fix to disable unknown GPEs (2nd version). Now always disable
2256 1.1 jruoho the GPE, even if ACPICA thinks that that it is already disabled. It is
2257 1.1 jruoho possible that the AML or some other code has enabled the GPE unbeknownst to
2258 1.1 jruoho the ACPICA code.
2259 1.1 jruoho
2260 1.1.1.2 jruoho Fixed a problem with the Field operator where zero-length fields would
2261 1.1.1.2 jruoho return
2262 1.1.1.2 jruoho an AE_AML_NO_OPERAND exception during table load. Fix enables zero-length
2263 1.1.1.2 jruoho ASL
2264 1.1 jruoho field declarations in Field(), BankField(), and IndexField(). BZ 10606.
2265 1.1 jruoho
2266 1.1 jruoho Implemented a fix for the Load operator, now load the table at the namespace
2267 1.1 jruoho root. This reverts a change introduced in version 20071019. The table is now
2268 1.1 jruoho loaded at the namespace root even though this goes against the ACPI
2269 1.1 jruoho specification. This provides compatibility with other ACPI implementations.
2270 1.1.1.2 jruoho The ACPI specification will be updated to reflect this in ACPI 4.0. Lin
2271 1.1.1.2 jruoho Ming.
2272 1.1 jruoho
2273 1.1.1.2 jruoho Fixed a problem where ACPICA would not Load() tables with unusual
2274 1.1.1.2 jruoho signatures.
2275 1.1 jruoho Now ignore ACPI table signature for Load() operator. Only "SSDT" is
2276 1.1 jruoho acceptable to the ACPI spec, but tables are seen with OEMx and null sigs.
2277 1.1.1.2 jruoho Therefore, signature validation is worthless. Apparently MS ACPI accepts
2278 1.1.1.2 jruoho such
2279 1.1 jruoho signatures, ACPICA must be compatible. BZ 10454.
2280 1.1 jruoho
2281 1.1 jruoho Fixed a possible negative array index in AcpiUtValidateException. Added NULL
2282 1.1 jruoho fields to the exception string arrays to eliminate a -1 subtraction on the
2283 1.1 jruoho SubStatus field.
2284 1.1 jruoho
2285 1.1 jruoho Updated the debug tracking macros to reduce overall code and data size.
2286 1.1 jruoho Changed ACPI_MODULE_NAME and ACPI_FUNCTION_NAME to use arrays of strings
2287 1.1 jruoho instead of pointers to static strings. Jan Beulich and Bob Moore.
2288 1.1 jruoho
2289 1.1 jruoho Implemented argument count checking in control method invocation via
2290 1.1 jruoho AcpiEvaluateObject. Now emit an error if too few arguments, warning if too
2291 1.1 jruoho many. This applies only to extern programmatic control method execution, not
2292 1.1 jruoho method-to-method calls within the AML. Lin Ming.
2293 1.1 jruoho
2294 1.1 jruoho Eliminated the ACPI_NATIVE_UINT type across all ACPICA code. This type is no
2295 1.1.1.2 jruoho longer needed, especially with the removal of 16-bit support. It was
2296 1.1.1.2 jruoho replaced
2297 1.1.1.2 jruoho mostly with UINT32, but also ACPI_SIZE where a type that changes 32/64 bit
2298 1.1.1.2 jruoho on
2299 1.1 jruoho 32/64-bit platforms is required.
2300 1.1 jruoho
2301 1.1 jruoho Added the C const qualifier for appropriate string constants -- mostly
2302 1.1 jruoho MODULE_NAME and printf format strings. Jan Beulich.
2303 1.1 jruoho
2304 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
2305 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
2306 1.1.1.2 jruoho debug version of the code includes the debug output trace mechanism and has
2307 1.1.1.2 jruoho a
2308 1.1 jruoho much larger code and data size.
2309 1.1 jruoho
2310 1.1 jruoho Previous Release:
2311 1.1 jruoho Non-Debug Version: 80.0K Code, 17.4K Data, 97.4K Total
2312 1.1 jruoho Debug Version: 159.4K Code, 64.4K Data, 223.8K Total
2313 1.1 jruoho Current Release:
2314 1.1 jruoho Non-Debug Version: 79.5K Code, 16.2K Data, 95.7K Total
2315 1.1 jruoho Debug Version: 153.3K Code, 48.3K Data, 201.6K Total
2316 1.1 jruoho
2317 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
2318 1.1 jruoho
2319 1.1 jruoho Implemented ACPI table revision ID validation in the disassembler. Zero is
2320 1.1 jruoho always invalid. For DSDTs, the ID controls the interpreter integer width. 1
2321 1.1 jruoho means 32-bit and this is unusual. 2 or greater is 64-bit.
2322 1.1 jruoho
2323 1.1 jruoho ----------------------------------------
2324 1.1 jruoho 21 March 2008. Summary of changes for version 20080321:
2325 1.1 jruoho
2326 1.1 jruoho 1) ACPI CA Core Subsystem:
2327 1.1 jruoho
2328 1.1 jruoho Implemented an additional change to the GPE support in order to suppress
2329 1.1 jruoho spurious or stray GPEs. The AcpiEvDisableGpe function will now permanently
2330 1.1 jruoho disable incoming GPEs that are neither enabled nor disabled -- meaning that
2331 1.1.1.2 jruoho the GPE is unknown to the system. This should prevent future interrupt
2332 1.1.1.2 jruoho floods
2333 1.1 jruoho from that GPE. BZ 6217 (Zhang Rui)
2334 1.1 jruoho
2335 1.1 jruoho Fixed a problem where NULL package elements were not returned to the
2336 1.1 jruoho AcpiEvaluateObject interface correctly. The element was simply ignored
2337 1.1 jruoho instead of returning a NULL ACPI_OBJECT package element, potentially causing
2338 1.1 jruoho a buffer overflow and/or confusing the caller who expected a fixed number of
2339 1.1 jruoho elements. BZ 10132 (Lin Ming, Bob Moore)
2340 1.1 jruoho
2341 1.1.1.2 jruoho Fixed a problem with the CreateField, CreateXXXField (Bit, Byte, Word,
2342 1.1.1.2 jruoho Dword,
2343 1.1 jruoho Qword), Field, BankField, and IndexField operators when invoked from inside
2344 1.1 jruoho an executing control method. In this case, these operators created namespace
2345 1.1 jruoho nodes that were incorrectly left marked as permanent nodes instead of
2346 1.1 jruoho temporary nodes. This could cause a problem if there is race condition
2347 1.1 jruoho between an exiting control method and a running namespace walk. (Reported by
2348 1.1 jruoho Linn Crosetto)
2349 1.1 jruoho
2350 1.1 jruoho Fixed a problem where the CreateField and CreateXXXField operators would
2351 1.1 jruoho incorrectly allow duplicate names (the name of the field) with no exception
2352 1.1 jruoho generated.
2353 1.1 jruoho
2354 1.1.1.2 jruoho Implemented several changes for Notify handling. Added support for new
2355 1.1.1.2 jruoho Notify
2356 1.1 jruoho values (ACPI 2.0+) and improved the Notify debug output. Notify on
2357 1.1 jruoho PowerResource objects is no longer allowed, as per the ACPI specification.
2358 1.1 jruoho (Bob Moore, Zhang Rui)
2359 1.1 jruoho
2360 1.1 jruoho All Reference Objects returned via the AcpiEvaluateObject interface are now
2361 1.1.1.2 jruoho marked as type "REFERENCE" instead of "ANY". The type ANY is now reserved
2362 1.1.1.2 jruoho for
2363 1.1 jruoho NULL objects - either NULL package elements or unresolved named references.
2364 1.1 jruoho
2365 1.1 jruoho Fixed a problem where an extraneous debug message was produced for package
2366 1.1 jruoho objects (when debugging enabled). The message "Package List length larger
2367 1.1 jruoho than NumElements count" is now produced in the correct case, and is now an
2368 1.1 jruoho error message rather than a debug message. Added a debug message for the
2369 1.1.1.2 jruoho opposite case, where NumElements is larger than the Package List (the
2370 1.1.1.2 jruoho package
2371 1.1 jruoho will be padded out with NULL elements as per the ACPI spec.)
2372 1.1 jruoho
2373 1.1 jruoho Implemented several improvements for the output of the ASL "Debug" object to
2374 1.1 jruoho clarify and keep all data for a given object on one output line.
2375 1.1 jruoho
2376 1.1 jruoho Fixed two size calculation issues with the variable-length Start Dependent
2377 1.1 jruoho resource descriptor.
2378 1.1 jruoho
2379 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
2380 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
2381 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
2382 1.1 jruoho a much larger code and data size.
2383 1.1 jruoho
2384 1.1 jruoho Previous Release:
2385 1.1 jruoho Non-Debug Version: 79.7K Code, 17.3K Data, 97.0K Total
2386 1.1 jruoho Debug Version: 158.9K Code, 64.0K Data, 222.9K Total
2387 1.1 jruoho Current Release:
2388 1.1 jruoho Non-Debug Version: 80.0K Code, 17.4K Data, 97.4K Total
2389 1.1 jruoho Debug Version: 159.4K Code, 64.4K Data, 223.8K Total
2390 1.1 jruoho
2391 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
2392 1.1 jruoho
2393 1.1 jruoho Fixed a problem with the use of the Switch operator where execution of the
2394 1.1 jruoho containing method by multiple concurrent threads could cause an
2395 1.1 jruoho AE_ALREADY_EXISTS exception. This is caused by the fact that there is no
2396 1.1 jruoho actual Switch opcode, it must be simulated with local named temporary
2397 1.1 jruoho variables and if/else pairs. The solution chosen was to mark any method that
2398 1.1 jruoho uses Switch as Serialized, thus preventing multiple thread entries. BZ 469.
2399 1.1 jruoho
2400 1.1 jruoho ----------------------------------------
2401 1.1 jruoho 13 February 2008. Summary of changes for version 20080213:
2402 1.1 jruoho
2403 1.1 jruoho 1) ACPI CA Core Subsystem:
2404 1.1 jruoho
2405 1.1 jruoho Implemented another MS compatibility design change for GPE/Notify handling.
2406 1.1 jruoho GPEs are now cleared/enabled asynchronously to allow all pending notifies to
2407 1.1 jruoho complete first. It is expected that the OSL will queue the enable request
2408 1.1.1.2 jruoho behind all pending notify requests (may require changes to the local host
2409 1.1.1.2 jruoho OSL
2410 1.1 jruoho in AcpiOsExecute). Alexey Starikovskiy.
2411 1.1 jruoho
2412 1.1 jruoho Fixed a problem where buffer and package objects passed as arguments to a
2413 1.1 jruoho control method via the external AcpiEvaluateObject interface could cause an
2414 1.1 jruoho AE_AML_INTERNAL exception depending on the order and type of operators
2415 1.1 jruoho executed by the target control method.
2416 1.1 jruoho
2417 1.1 jruoho Fixed a problem where resource descriptor size optimization could cause a
2418 1.1 jruoho problem when a _CRS resource template is passed to a _SRS method. The _SRS
2419 1.1 jruoho resource template must use the same descriptors (with the same size) as
2420 1.1 jruoho returned from _CRS. This change affects the following resource descriptors:
2421 1.1 jruoho IRQ / IRQNoFlags and StartDependendentFn / StartDependentFnNoPri. (BZ 9487)
2422 1.1 jruoho
2423 1.1 jruoho Fixed a problem where a CopyObject to RegionField, BankField, and IndexField
2424 1.1.1.2 jruoho objects did not perform an implicit conversion as it should. These types
2425 1.1.1.2 jruoho must
2426 1.1.1.2 jruoho retain their initial type permanently as per the ACPI specification.
2427 1.1.1.2 jruoho However,
2428 1.1 jruoho a CopyObject to all other object types should not perform an implicit
2429 1.1 jruoho conversion, as per the ACPI specification. (Lin Ming, Bob Moore) BZ 388
2430 1.1 jruoho
2431 1.1 jruoho Fixed a problem with the AcpiGetDevices interface where the mechanism to
2432 1.1 jruoho match device CIDs did not examine the entire list of available CIDs, but
2433 1.1 jruoho instead aborted on the first non-matching CID. Andrew Patterson.
2434 1.1 jruoho
2435 1.1.1.2 jruoho Fixed a regression introduced in version 20071114. The ACPI_HIDWORD macro
2436 1.1.1.2 jruoho was
2437 1.1 jruoho inadvertently changed to return a 16-bit value instead of a 32-bit value,
2438 1.1 jruoho truncating the upper dword of a 64-bit value. This macro is only used to
2439 1.1 jruoho display debug output, so no incorrect calculations were made. Also,
2440 1.1 jruoho reimplemented the macro so that a 64-bit shift is not performed by
2441 1.1 jruoho inefficient compilers.
2442 1.1 jruoho
2443 1.1 jruoho Added missing va_end statements that should correspond with each va_start
2444 1.1 jruoho statement.
2445 1.1 jruoho
2446 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
2447 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
2448 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
2449 1.1 jruoho a much larger code and data size.
2450 1.1 jruoho
2451 1.1 jruoho Previous Release:
2452 1.1 jruoho Non-Debug Version: 79.5K Code, 17.2K Data, 96.7K Total
2453 1.1 jruoho Debug Version: 159.0K Code, 63.8K Data, 222.8K Total
2454 1.1 jruoho Current Release:
2455 1.1 jruoho Non-Debug Version: 79.7K Code, 17.3K Data, 97.0K Total
2456 1.1 jruoho Debug Version: 158.9K Code, 64.0K Data, 222.9K Total
2457 1.1 jruoho
2458 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
2459 1.1 jruoho
2460 1.1 jruoho Implemented full disassembler support for the following new ACPI tables:
2461 1.1 jruoho BERT, EINJ, and ERST. Implemented partial disassembler support for the
2462 1.1 jruoho complicated HEST table. These tables support the Windows Hardware Error
2463 1.1 jruoho Architecture (WHEA).
2464 1.1 jruoho
2465 1.1 jruoho ----------------------------------------
2466 1.1 jruoho 23 January 2008. Summary of changes for version 20080123:
2467 1.1 jruoho
2468 1.1 jruoho 1) ACPI CA Core Subsystem:
2469 1.1 jruoho
2470 1.1 jruoho Added the 2008 copyright to all module headers and signons. This affects
2471 1.1 jruoho virtually every file in the ACPICA core subsystem, the iASL compiler, and
2472 1.1 jruoho the tools/utilities.
2473 1.1 jruoho
2474 1.1 jruoho Fixed a problem with the SizeOf operator when used with Package and Buffer
2475 1.1 jruoho objects. These objects have deferred execution for some arguments, and the
2476 1.1.1.2 jruoho execution is now completed before the SizeOf is executed. This problem
2477 1.1.1.2 jruoho caused
2478 1.1 jruoho unexpected AE_PACKAGE_LIMIT errors on some systems (Lin Ming, Bob Moore) BZ
2479 1.1 jruoho 9558
2480 1.1 jruoho
2481 1.1.1.2 jruoho Implemented an enhancement to the interpreter "slack mode". In the absence
2482 1.1.1.2 jruoho of
2483 1.1 jruoho an explicit return or an implicitly returned object from the last executed
2484 1.1.1.2 jruoho opcode, a control method will now implicitly return an integer of value 0
2485 1.1.1.2 jruoho for
2486 1.1 jruoho Microsoft compatibility. (Lin Ming) BZ 392
2487 1.1 jruoho
2488 1.1.1.2 jruoho Fixed a problem with the Load operator where an exception was not returned
2489 1.1.1.2 jruoho in
2490 1.1 jruoho the case where the table is already loaded. (Lin Ming) BZ 463
2491 1.1 jruoho
2492 1.1.1.2 jruoho Implemented support for the use of DDBHandles as an Indexed Reference, as
2493 1.1.1.2 jruoho per
2494 1.1 jruoho the ACPI spec. (Lin Ming) BZ 486
2495 1.1 jruoho
2496 1.1 jruoho Implemented support for UserTerm (Method invocation) for the Unload operator
2497 1.1 jruoho as per the ACPI spec. (Lin Ming) BZ 580
2498 1.1 jruoho
2499 1.1 jruoho Fixed a problem with the LoadTable operator where the OemId and OemTableId
2500 1.1 jruoho input strings could cause unexpected failures if they were shorter than the
2501 1.1 jruoho maximum lengths allowed. (Lin Ming, Bob Moore) BZ 576
2502 1.1 jruoho
2503 1.1 jruoho Implemented support for UserTerm (Method invocation) for the Unload operator
2504 1.1 jruoho as per the ACPI spec. (Lin Ming) BZ 580
2505 1.1 jruoho
2506 1.1.1.2 jruoho Implemented header file support for new ACPI tables - BERT, ERST, EINJ,
2507 1.1.1.2 jruoho HEST,
2508 1.1 jruoho IBFT, UEFI, WDAT. Disassembler support is forthcoming.
2509 1.1 jruoho
2510 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
2511 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
2512 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
2513 1.1 jruoho a much larger code and data size.
2514 1.1 jruoho
2515 1.1 jruoho Previous Release:
2516 1.1 jruoho Non-Debug Version: 79.3K Code, 17.2K Data, 96.5K Total
2517 1.1 jruoho Debug Version: 158.6K Code, 63.8K Data, 222.4K Total
2518 1.1 jruoho Current Release:
2519 1.1 jruoho Non-Debug Version: 79.5K Code, 17.2K Data, 96.7K Total
2520 1.1 jruoho Debug Version: 159.0K Code, 63.8K Data, 222.8K Total
2521 1.1 jruoho
2522 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
2523 1.1 jruoho
2524 1.1 jruoho Implemented support in the disassembler for checksum validation on incoming
2525 1.1.1.2 jruoho binary DSDTs and SSDTs. If incorrect, a message is displayed within the
2526 1.1.1.2 jruoho table
2527 1.1 jruoho header dump at the start of the disassembly.
2528 1.1 jruoho
2529 1.1 jruoho Implemented additional debugging information in the namespace listing file
2530 1.1 jruoho created during compilation. In addition to the namespace hierarchy, the full
2531 1.1 jruoho pathname to each namespace object is displayed.
2532 1.1 jruoho
2533 1.1 jruoho Fixed a problem with the disassembler where invalid ACPI tables could cause
2534 1.1 jruoho faults or infinite loops.
2535 1.1 jruoho
2536 1.1 jruoho Fixed an unexpected parse error when using the optional "parameter types"
2537 1.1 jruoho list in a control method declaration. (Lin Ming) BZ 397
2538 1.1 jruoho
2539 1.1 jruoho Fixed a problem where two External declarations with the same name did not
2540 1.1 jruoho cause an error (Lin Ming) BZ 509
2541 1.1 jruoho
2542 1.1 jruoho Implemented support for full TermArgs (adding Argx, Localx and method
2543 1.1 jruoho invocation) for the ParameterData parameter to the LoadTable operator. (Lin
2544 1.1 jruoho Ming) BZ 583,587
2545 1.1 jruoho
2546 1.1 jruoho ----------------------------------------
2547 1.1 jruoho 19 December 2007. Summary of changes for version 20071219:
2548 1.1 jruoho
2549 1.1 jruoho 1) ACPI CA Core Subsystem:
2550 1.1 jruoho
2551 1.1 jruoho Implemented full support for deferred execution for the TermArg string
2552 1.1 jruoho arguments for DataTableRegion. This enables forward references and full
2553 1.1.1.2 jruoho operand resolution for the three string arguments. Similar to
2554 1.1.1.2 jruoho OperationRegion
2555 1.1 jruoho deferred argument execution.) Lin Ming. BZ 430
2556 1.1 jruoho
2557 1.1 jruoho Implemented full argument resolution support for the BankValue argument to
2558 1.1 jruoho BankField. Previously, only constants were supported, now any TermArg may be
2559 1.1 jruoho used. Lin Ming BZ 387, 393
2560 1.1 jruoho
2561 1.1 jruoho Fixed a problem with AcpiGetDevices where the search of a branch of the
2562 1.1 jruoho device tree could be terminated prematurely. In accordance with the ACPI
2563 1.1 jruoho specification, the search down the current branch is terminated if a device
2564 1.1 jruoho is both not present and not functional (instead of just not present.) Yakui
2565 1.1 jruoho Zhao.
2566 1.1 jruoho
2567 1.1 jruoho Fixed a problem where "unknown" GPEs could be allowed to fire repeatedly if
2568 1.1 jruoho the underlying AML code changed the GPE enable registers. Now, any unknown
2569 1.1.1.2 jruoho incoming GPE (no _Lxx/_Exx method and not the EC GPE) is immediately
2570 1.1.1.2 jruoho disabled
2571 1.1 jruoho instead of simply ignored. Rui Zhang.
2572 1.1 jruoho
2573 1.1 jruoho Fixed a problem with Index Fields where the Index register was incorrectly
2574 1.1 jruoho limited to a maximum of 32 bits. Now any size may be used.
2575 1.1 jruoho
2576 1.1 jruoho Fixed a couple memory leaks associated with "implicit return" objects when
2577 1.1 jruoho the AML Interpreter slack mode is enabled. Lin Ming BZ 349
2578 1.1 jruoho
2579 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
2580 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
2581 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
2582 1.1 jruoho a much larger code and data size.
2583 1.1 jruoho
2584 1.1 jruoho Previous Release:
2585 1.1 jruoho Non-Debug Version: 79.0K Code, 17.2K Data, 96.2K Total
2586 1.1 jruoho Debug Version: 157.9K Code, 63.6K Data, 221.5K Total
2587 1.1 jruoho Current Release:
2588 1.1 jruoho Non-Debug Version: 79.3K Code, 17.2K Data, 96.5K Total
2589 1.1 jruoho Debug Version: 158.6K Code, 63.8K Data, 222.4K Total
2590 1.1 jruoho
2591 1.1 jruoho ----------------------------------------
2592 1.1 jruoho 14 November 2007. Summary of changes for version 20071114:
2593 1.1 jruoho
2594 1.1 jruoho 1) ACPI CA Core Subsystem:
2595 1.1 jruoho
2596 1.1 jruoho Implemented event counters for each of the Fixed Events, the ACPI SCI
2597 1.1 jruoho (interrupt) itself, and control methods executed. Named
2598 1.1 jruoho AcpiFixedEventCount[], AcpiSciCount, and AcpiMethodCount respectively. These
2599 1.1 jruoho should be useful for debugging and statistics.
2600 1.1 jruoho
2601 1.1 jruoho Implemented a new external interface, AcpiGetStatistics, to retrieve the
2602 1.1 jruoho contents of the various event counters. Returns the current values for
2603 1.1 jruoho AcpiSciCount, AcpiGpeCount, the AcpiFixedEventCount array, and
2604 1.1 jruoho AcpiMethodCount. The interface can be expanded in the future if new counters
2605 1.1 jruoho are added. Device drivers should use this interface rather than access the
2606 1.1 jruoho counters directly.
2607 1.1 jruoho
2608 1.1 jruoho Fixed a problem with the FromBCD and ToBCD operators. With some compilers,
2609 1.1 jruoho the ShortDivide function worked incorrectly, causing problems with the BCD
2610 1.1 jruoho functions with large input values. A truncation from 64-bit to 32-bit
2611 1.1 jruoho inadvertently occurred. Internal BZ 435. Lin Ming
2612 1.1 jruoho
2613 1.1 jruoho Fixed a problem with Index references passed as method arguments. References
2614 1.1 jruoho passed as arguments to control methods were dereferenced immediately (before
2615 1.1 jruoho control was passed to the called method). The references are now correctly
2616 1.1 jruoho passed directly to the called method. BZ 5389. Lin Ming
2617 1.1 jruoho
2618 1.1 jruoho Fixed a problem with CopyObject used in conjunction with the Index operator.
2619 1.1 jruoho The reference was incorrectly dereferenced before the copy. The reference is
2620 1.1 jruoho now correctly copied. BZ 5391. Lin Ming
2621 1.1 jruoho
2622 1.1 jruoho Fixed a problem with Control Method references within Package objects. These
2623 1.1 jruoho references are now correctly generated. This completes the package
2624 1.1 jruoho construction overhaul that began in version 20071019.
2625 1.1 jruoho
2626 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
2627 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
2628 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
2629 1.1 jruoho a much larger code and data size.
2630 1.1 jruoho
2631 1.1 jruoho Previous Release:
2632 1.1 jruoho Non-Debug Version: 78.8K Code, 17.2K Data, 96.0K Total
2633 1.1 jruoho Debug Version: 157.2K Code, 63.4K Data, 220.6K Total
2634 1.1 jruoho Current Release:
2635 1.1 jruoho Non-Debug Version: 79.0K Code, 17.2K Data, 96.2K Total
2636 1.1 jruoho Debug Version: 157.9K Code, 63.6K Data, 221.5K Total
2637 1.1 jruoho
2638 1.1 jruoho
2639 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
2640 1.1 jruoho
2641 1.1 jruoho The AcpiExec utility now installs handlers for all of the predefined
2642 1.1 jruoho Operation Region types. New types supported are: PCI_Config, CMOS, and
2643 1.1 jruoho PCIBARTarget.
2644 1.1 jruoho
2645 1.1 jruoho Fixed a problem with the 64-bit version of AcpiExec where the extended (64-
2646 1.1 jruoho bit) address fields for the DSDT and FACS within the FADT were not being
2647 1.1 jruoho used, causing truncation of the upper 32-bits of these addresses. Lin Ming
2648 1.1 jruoho and Bob Moore
2649 1.1 jruoho
2650 1.1 jruoho ----------------------------------------
2651 1.1 jruoho 19 October 2007. Summary of changes for version 20071019:
2652 1.1 jruoho
2653 1.1 jruoho 1) ACPI CA Core Subsystem:
2654 1.1 jruoho
2655 1.1 jruoho Fixed a problem with the Alias operator when the target of the alias is a
2656 1.1 jruoho named ASL operator that opens a new scope -- Scope, Device, PowerResource,
2657 1.1 jruoho Processor, and ThermalZone. In these cases, any children of the original
2658 1.1 jruoho operator could not be accessed via the alias, potentially causing unexpected
2659 1.1 jruoho AE_NOT_FOUND exceptions. (BZ 9067)
2660 1.1 jruoho
2661 1.1 jruoho Fixed a problem with the Package operator where all named references were
2662 1.1 jruoho created as object references and left otherwise unresolved. According to the
2663 1.1 jruoho ACPI specification, a Package can only contain Data Objects or references to
2664 1.1 jruoho control methods. The implication is that named references to Data Objects
2665 1.1 jruoho (Integer, Buffer, String, Package, BufferField, Field) should be resolved
2666 1.1 jruoho immediately upon package creation. This is the approach taken with this
2667 1.1 jruoho change. References to all other named objects (Methods, Devices, Scopes,
2668 1.1 jruoho etc.) are all now properly created as reference objects. (BZ 5328)
2669 1.1 jruoho
2670 1.1 jruoho Reverted a change to Notify handling that was introduced in version
2671 1.1 jruoho 20070508. This version changed the Notify handling from asynchronous to
2672 1.1 jruoho fully synchronous (Device driver Notify handling with respect to the Notify
2673 1.1 jruoho ASL operator). It was found that this change caused more problems than it
2674 1.1 jruoho solved and was removed by most users.
2675 1.1 jruoho
2676 1.1 jruoho Fixed a problem with the Increment and Decrement operators where the type of
2677 1.1 jruoho the target object could be unexpectedly and incorrectly changed. (BZ 353)
2678 1.1 jruoho Lin Ming.
2679 1.1 jruoho
2680 1.1 jruoho Fixed a problem with the Load and LoadTable operators where the table
2681 1.1 jruoho location within the namespace was ignored. Instead, the table was always
2682 1.1 jruoho loaded into the root or current scope. Lin Ming.
2683 1.1 jruoho
2684 1.1 jruoho Fixed a problem with the Load operator when loading a table from a buffer
2685 1.1 jruoho object. The input buffer was prematurely zeroed and/or deleted. (BZ 577)
2686 1.1 jruoho
2687 1.1 jruoho Fixed a problem with the Debug object where a store of a DdbHandle reference
2688 1.1 jruoho object to the Debug object could cause a fault.
2689 1.1 jruoho
2690 1.1 jruoho Added a table checksum verification for the Load operator, in the case where
2691 1.1 jruoho the load is from a buffer. (BZ 578).
2692 1.1 jruoho
2693 1.1 jruoho Implemented additional parameter validation for the LoadTable operator. The
2694 1.1 jruoho length of the input strings SignatureString, OemIdString, and OemTableId are
2695 1.1 jruoho now checked for maximum lengths. (BZ 582) Lin Ming.
2696 1.1 jruoho
2697 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
2698 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
2699 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
2700 1.1 jruoho a much larger code and data size.
2701 1.1 jruoho
2702 1.1 jruoho Previous Release:
2703 1.1 jruoho Non-Debug Version: 78.5K Code, 17.1K Data, 95.6K Total
2704 1.1 jruoho Debug Version: 156.7K Code, 63.2K Data, 219.9K Total
2705 1.1 jruoho Current Release:
2706 1.1 jruoho Non-Debug Version: 78.8K Code, 17.2K Data, 96.0K Total
2707 1.1 jruoho Debug Version: 157.2K Code, 63.4K Data, 220.6K Total
2708 1.1 jruoho
2709 1.1 jruoho
2710 1.1 jruoho 2) iASL Compiler/Disassembler:
2711 1.1 jruoho
2712 1.1 jruoho Fixed a problem where if a single file was specified and the file did not
2713 1.1 jruoho exist, no error message was emitted. (Introduced with wildcard support in
2714 1.1 jruoho version 20070917.)
2715 1.1 jruoho
2716 1.1 jruoho ----------------------------------------
2717 1.1 jruoho 19 September 2007. Summary of changes for version 20070919:
2718 1.1 jruoho
2719 1.1 jruoho 1) ACPI CA Core Subsystem:
2720 1.1 jruoho
2721 1.1 jruoho Designed and implemented new external interfaces to install and remove
2722 1.1 jruoho handlers for ACPI table-related events. Current events that are defined are
2723 1.1 jruoho LOAD and UNLOAD. These interfaces allow the host to track ACPI tables as
2724 1.1 jruoho they are dynamically loaded and unloaded. See AcpiInstallTableHandler and
2725 1.1 jruoho AcpiRemoveTableHandler. (Lin Ming and Bob Moore)
2726 1.1 jruoho
2727 1.1 jruoho Fixed a problem where the use of the AcpiGbl_AllMethodsSerialized flag
2728 1.1 jruoho (acpi_serialized option on Linux) could cause some systems to hang during
2729 1.1 jruoho initialization. (Bob Moore) BZ 8171
2730 1.1 jruoho
2731 1.1 jruoho Fixed a problem where objects of certain types (Device, ThermalZone,
2732 1.1 jruoho Processor, PowerResource) can be not found if they are declared and
2733 1.1 jruoho referenced from within the same control method (Lin Ming) BZ 341
2734 1.1 jruoho
2735 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
2736 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
2737 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
2738 1.1 jruoho a much larger code and data size.
2739 1.1 jruoho
2740 1.1 jruoho Previous Release:
2741 1.1 jruoho Non-Debug Version: 78.3K Code, 17.0K Data, 95.3K Total
2742 1.1 jruoho Debug Version: 156.3K Code, 63.1K Data, 219.4K Total
2743 1.1 jruoho Current Release:
2744 1.1 jruoho Non-Debug Version: 78.5K Code, 17.1K Data, 95.6K Total
2745 1.1 jruoho Debug Version: 156.7K Code, 63.2K Data, 219.9K Total
2746 1.1 jruoho
2747 1.1 jruoho
2748 1.1 jruoho 2) iASL Compiler/Disassembler:
2749 1.1 jruoho
2750 1.1 jruoho Implemented support to allow multiple files to be compiled/disassembled in a
2751 1.1 jruoho single invocation. This includes command line wildcard support for both the
2752 1.1 jruoho Windows and Unix versions of the compiler. This feature simplifies the
2753 1.1 jruoho disassembly and compilation of multiple ACPI tables in a single directory.
2754 1.1 jruoho
2755 1.1 jruoho ----------------------------------------
2756 1.1 jruoho 08 May 2007. Summary of changes for version 20070508:
2757 1.1 jruoho
2758 1.1 jruoho 1) ACPI CA Core Subsystem:
2759 1.1 jruoho
2760 1.1 jruoho Implemented a Microsoft compatibility design change for the handling of the
2761 1.1 jruoho Notify AML operator. Previously, notify handlers were dispatched and
2762 1.1 jruoho executed completely asynchronously in a deferred thread. The new design
2763 1.1 jruoho still executes the notify handlers in a different thread, but the original
2764 1.1 jruoho thread that executed the Notify() now waits at a synchronization point for
2765 1.1 jruoho the notify handler to complete. Some machines depend on a synchronous Notify
2766 1.1 jruoho operator in order to operate correctly.
2767 1.1 jruoho
2768 1.1 jruoho Implemented support to allow Package objects to be passed as method
2769 1.1 jruoho arguments to the external AcpiEvaluateObject interface. Previously, this
2770 1.1 jruoho would return the AE_NOT_IMPLEMENTED exception. This feature had not been
2771 1.1 jruoho implemented since there were no reserved control methods that required it
2772 1.1 jruoho until recently.
2773 1.1 jruoho
2774 1.1 jruoho Fixed a problem with the internal FADT conversion where ACPI 1.0 FADTs that
2775 1.1 jruoho contained invalid non-zero values in reserved fields could cause later
2776 1.1 jruoho failures because these fields have meaning in later revisions of the FADT.
2777 1.1 jruoho For incoming ACPI 1.0 FADTs, these fields are now always zeroed. (The fields
2778 1.1 jruoho are: Preferred_PM_Profile, PSTATE_CNT, CST_CNT, and IAPC_BOOT_FLAGS.)
2779 1.1 jruoho
2780 1.1 jruoho Fixed a problem where the Global Lock handle was not properly updated if a
2781 1.1 jruoho thread that acquired the Global Lock via executing AML code then attempted
2782 1.1 jruoho to acquire the lock via the AcpiAcquireGlobalLock interface. Reported by Joe
2783 1.1 jruoho Liu.
2784 1.1 jruoho
2785 1.1 jruoho Fixed a problem in AcpiEvDeleteGpeXrupt where the global interrupt list
2786 1.1 jruoho could be corrupted if the interrupt being removed was at the head of the
2787 1.1 jruoho list. Reported by Linn Crosetto.
2788 1.1 jruoho
2789 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
2790 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
2791 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
2792 1.1 jruoho a much larger code and data size.
2793 1.1 jruoho
2794 1.1 jruoho Previous Release:
2795 1.1 jruoho Non-Debug Version: 78.0K Code, 17.1K Data, 95.1K Total
2796 1.1 jruoho Debug Version: 155.9K Code, 63.1K Data, 219.0K Total
2797 1.1 jruoho Current Release:
2798 1.1 jruoho Non-Debug Version: 78.3K Code, 17.0K Data, 95.3K Total
2799 1.1 jruoho Debug Version: 156.3K Code, 63.1K Data, 219.4K Total
2800 1.1 jruoho
2801 1.1 jruoho ----------------------------------------
2802 1.1 jruoho 20 March 2007. Summary of changes for version 20070320:
2803 1.1 jruoho
2804 1.1 jruoho 1) ACPI CA Core Subsystem:
2805 1.1 jruoho
2806 1.1 jruoho Implemented a change to the order of interpretation and evaluation of AML
2807 1.1 jruoho operand objects within the AML interpreter. The interpreter now evaluates
2808 1.1 jruoho operands in the order that they appear in the AML stream (and the
2809 1.1 jruoho corresponding ASL code), instead of in the reverse order (after the entire
2810 1.1 jruoho operand list has been parsed). The previous behavior caused several subtle
2811 1.1 jruoho incompatibilities with the Microsoft AML interpreter as well as being
2812 1.1 jruoho somewhat non-intuitive. BZ 7871, local BZ 263. Valery Podrezov.
2813 1.1 jruoho
2814 1.1 jruoho Implemented a change to the ACPI Global Lock support. All interfaces to the
2815 1.1 jruoho global lock now allow the same thread to acquire the lock multiple times.
2816 1.1 jruoho This affects the AcpiAcquireGlobalLock external interface to the global lock
2817 1.1 jruoho as well as the internal use of the global lock to support AML fields -- a
2818 1.1 jruoho control method that is holding the global lock can now simultaneously access
2819 1.1 jruoho AML fields that require global lock protection. Previously, in both cases,
2820 1.1 jruoho this would have resulted in an AE_ALREADY_ACQUIRED exception. The change to
2821 1.1 jruoho AcpiAcquireGlobalLock is of special interest to drivers for the Embedded
2822 1.1 jruoho Controller. There is no change to the behavior of the AML Acquire operator,
2823 1.1 jruoho as this can already be used to acquire a mutex multiple times by the same
2824 1.1 jruoho thread. BZ 8066. With assistance from Alexey Starikovskiy.
2825 1.1 jruoho
2826 1.1 jruoho Fixed a problem where invalid objects could be referenced in the AML
2827 1.1 jruoho Interpreter after error conditions. During operand evaluation, ensure that
2828 1.1 jruoho the internal "Return Object" field is cleared on error and only valid
2829 1.1 jruoho pointers are stored there. Caused occasional access to deleted objects that
2830 1.1 jruoho resulted in "large reference count" warning messages. Valery Podrezov.
2831 1.1 jruoho
2832 1.1 jruoho Fixed a problem where an AE_STACK_OVERFLOW internal exception could occur on
2833 1.1 jruoho deeply nested control method invocations. BZ 7873, local BZ 487. Valery
2834 1.1 jruoho Podrezov.
2835 1.1 jruoho
2836 1.1 jruoho Fixed an internal problem with the handling of result objects on the
2837 1.1 jruoho interpreter result stack. BZ 7872. Valery Podrezov.
2838 1.1 jruoho
2839 1.1 jruoho Removed obsolete code that handled the case where AML_NAME_OP is the target
2840 1.1 jruoho of a reference (Reference.Opcode). This code was no longer necessary. BZ
2841 1.1 jruoho 7874. Valery Podrezov.
2842 1.1 jruoho
2843 1.1 jruoho Removed obsolete ACPI_NO_INTEGER64_SUPPORT from two header files. This was a
2844 1.1 jruoho remnant from the previously discontinued 16-bit support.
2845 1.1 jruoho
2846 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
2847 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
2848 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
2849 1.1 jruoho a much larger code and data size.
2850 1.1 jruoho
2851 1.1 jruoho Previous Release:
2852 1.1 jruoho Non-Debug Version: 78.0K Code, 17.1K Data, 95.1K Total
2853 1.1 jruoho Debug Version: 155.8K Code, 63.3K Data, 219.1K Total
2854 1.1 jruoho Current Release:
2855 1.1 jruoho Non-Debug Version: 78.0K Code, 17.1K Data, 95.1K Total
2856 1.1 jruoho Debug Version: 155.9K Code, 63.1K Data, 219.0K Total
2857 1.1 jruoho
2858 1.1 jruoho ----------------------------------------
2859 1.1 jruoho 26 January 2007. Summary of changes for version 20070126:
2860 1.1 jruoho
2861 1.1 jruoho 1) ACPI CA Core Subsystem:
2862 1.1 jruoho
2863 1.1 jruoho Added the 2007 copyright to all module headers and signons. This affects
2864 1.1 jruoho virtually every file in the ACPICA core subsystem, the iASL compiler, and
2865 1.1 jruoho the utilities.
2866 1.1 jruoho
2867 1.1 jruoho Implemented a fix for an incorrect parameter passed to AcpiTbDeleteTable
2868 1.1 jruoho during a table load. A bad pointer was passed in the case where the DSDT is
2869 1.1 jruoho overridden, causing a fault in this case.
2870 1.1 jruoho
2871 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
2872 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
2873 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
2874 1.1 jruoho a much larger code and data size.
2875 1.1 jruoho
2876 1.1 jruoho Previous Release:
2877 1.1 jruoho Non-Debug Version: 78.0K Code, 17.1K Data, 95.1K Total
2878 1.1 jruoho Debug Version: 155.8K Code, 63.3K Data, 219.1K Total
2879 1.1 jruoho Current Release:
2880 1.1 jruoho Non-Debug Version: 78.0K Code, 17.1K Data, 95.1K Total
2881 1.1 jruoho Debug Version: 155.8K Code, 63.3K Data, 219.1K Total
2882 1.1 jruoho
2883 1.1 jruoho ----------------------------------------
2884 1.1 jruoho 15 December 2006. Summary of changes for version 20061215:
2885 1.1 jruoho
2886 1.1 jruoho 1) ACPI CA Core Subsystem:
2887 1.1 jruoho
2888 1.1 jruoho Support for 16-bit ACPICA has been completely removed since it is no longer
2889 1.1 jruoho necessary and it clutters the code. All 16-bit macros, types, and
2890 1.1 jruoho conditional compiles have been removed, cleaning up and simplifying the code
2891 1.1 jruoho across the entire subsystem. DOS support is no longer needed since the
2892 1.1 jruoho bootable Linux firmware kit is now available.
2893 1.1 jruoho
2894 1.1 jruoho The handler for the Global Lock is now removed during AcpiTerminate to
2895 1.1 jruoho enable a clean subsystem restart, via the implementation of the
2896 1.1 jruoho AcpiEvRemoveGlobalLockHandler function. (With assistance from Joel Bretz,
2897 1.1 jruoho HP)
2898 1.1 jruoho
2899 1.1 jruoho Implemented enhancements to the multithreading support within the debugger
2900 1.1 jruoho to enable improved multithreading debugging and evaluation of the subsystem.
2901 1.1 jruoho (Valery Podrezov)
2902 1.1 jruoho
2903 1.1 jruoho Debugger: Enhanced the Statistics/Memory command to emit the total (maximum)
2904 1.1 jruoho memory used during the execution, as well as the maximum memory consumed by
2905 1.1 jruoho each of the various object types. (Valery Podrezov)
2906 1.1 jruoho
2907 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
2908 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
2909 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
2910 1.1 jruoho a much larger code and data size.
2911 1.1 jruoho
2912 1.1 jruoho Previous Release:
2913 1.1 jruoho Non-Debug Version: 77.9K Code, 17.0K Data, 94.9K Total
2914 1.1 jruoho Debug Version: 155.2K Code, 63.1K Data, 218.3K Total
2915 1.1 jruoho Current Release:
2916 1.1 jruoho Non-Debug Version: 78.0K Code, 17.1K Data, 95.1K Total
2917 1.1 jruoho Debug Version: 155.8K Code, 63.3K Data, 219.1K Total
2918 1.1 jruoho
2919 1.1 jruoho
2920 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
2921 1.1 jruoho
2922 1.1 jruoho AcpiExec: Implemented a new option (-m) to display full memory use
2923 1.1 jruoho statistics upon subsystem/program termination. (Valery Podrezov)
2924 1.1 jruoho
2925 1.1 jruoho ----------------------------------------
2926 1.1 jruoho 09 November 2006. Summary of changes for version 20061109:
2927 1.1 jruoho
2928 1.1 jruoho 1) ACPI CA Core Subsystem:
2929 1.1 jruoho
2930 1.1 jruoho Optimized the Load ASL operator in the case where the source operand is an
2931 1.1 jruoho operation region. Simply map the operation region memory, instead of
2932 1.1 jruoho performing a bytewise read. (Region must be of type SystemMemory, see
2933 1.1 jruoho below.)
2934 1.1 jruoho
2935 1.1 jruoho Fixed the Load ASL operator for the case where the source operand is a
2936 1.1 jruoho region field. A buffer object is also allowed as the source operand. BZ 480
2937 1.1 jruoho
2938 1.1 jruoho Fixed a problem where the Load ASL operator allowed the source operand to be
2939 1.1 jruoho an operation region of any type. It is now restricted to regions of type
2940 1.1 jruoho SystemMemory, as per the ACPI specification. BZ 481
2941 1.1 jruoho
2942 1.1 jruoho Additional cleanup and optimizations for the new Table Manager code.
2943 1.1 jruoho
2944 1.1 jruoho AcpiEnable will now fail if all of the required ACPI tables are not loaded
2945 1.1 jruoho (FADT, FACS, DSDT). BZ 477
2946 1.1 jruoho
2947 1.1 jruoho Added #pragma pack(8/4) to acobject.h to ensure that the structures in this
2948 1.1 jruoho header are always compiled as aligned. The ACPI_OPERAND_OBJECT has been
2949 1.1 jruoho manually optimized to be aligned and will not work if it is byte-packed.
2950 1.1 jruoho
2951 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
2952 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
2953 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
2954 1.1 jruoho a much larger code and data size.
2955 1.1 jruoho
2956 1.1 jruoho Previous Release:
2957 1.1 jruoho Non-Debug Version: 78.1K Code, 17.1K Data, 95.2K Total
2958 1.1 jruoho Debug Version: 155.4K Code, 63.1K Data, 218.5K Total
2959 1.1 jruoho Current Release:
2960 1.1 jruoho Non-Debug Version: 77.9K Code, 17.0K Data, 94.9K Total
2961 1.1 jruoho Debug Version: 155.2K Code, 63.1K Data, 218.3K Total
2962 1.1 jruoho
2963 1.1 jruoho
2964 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
2965 1.1 jruoho
2966 1.1 jruoho Fixed a problem where the presence of the _OSI predefined control method
2967 1.1 jruoho within complex expressions could cause an internal compiler error.
2968 1.1 jruoho
2969 1.1 jruoho AcpiExec: Implemented full region support for multiple address spaces.
2970 1.1 jruoho SpaceId is now part of the REGION object. BZ 429
2971 1.1 jruoho
2972 1.1 jruoho ----------------------------------------
2973 1.1 jruoho 11 October 2006. Summary of changes for version 20061011:
2974 1.1 jruoho
2975 1.1 jruoho 1) ACPI CA Core Subsystem:
2976 1.1 jruoho
2977 1.1 jruoho Completed an AML interpreter performance enhancement for control method
2978 1.1 jruoho execution. Previously a 2-pass parse/execution, control methods are now
2979 1.1 jruoho completely parsed and executed in a single pass. This improves overall
2980 1.1 jruoho interpreter performance by ~25%, reduces code size, and reduces CPU stack
2981 1.1 jruoho use. (Valery Podrezov + interpreter changes in version 20051202 that
2982 1.1 jruoho eliminated namespace loading during the pass one parse.)
2983 1.1 jruoho
2984 1.1 jruoho Implemented _CID support for PCI Root Bridge detection. If the _HID does not
2985 1.1 jruoho match the predefined PCI Root Bridge IDs, the _CID list (if present) is now
2986 1.1 jruoho obtained and also checked for an ID match.
2987 1.1 jruoho
2988 1.1 jruoho Implemented additional support for the PCI _ADR execution: upsearch until a
2989 1.1 jruoho device scope is found before executing _ADR. This allows PCI_Config
2990 1.1 jruoho operation regions to be declared locally within control methods underneath
2991 1.1 jruoho PCI device objects.
2992 1.1 jruoho
2993 1.1 jruoho Fixed a problem with a possible race condition between threads executing
2994 1.1 jruoho AcpiWalkNamespace and the AML interpreter. This condition was removed by
2995 1.1 jruoho modifying AcpiWalkNamespace to (by default) ignore all temporary namespace
2996 1.1 jruoho entries created during any concurrent control method execution. An
2997 1.1 jruoho additional namespace race condition is known to exist between
2998 1.1 jruoho AcpiWalkNamespace and the Load/Unload ASL operators and is still under
2999 1.1 jruoho investigation.
3000 1.1 jruoho
3001 1.1 jruoho Restructured the AML ParseLoop function, breaking it into several
3002 1.1 jruoho subfunctions in order to reduce CPU stack use and improve maintainability.
3003 1.1 jruoho (Mikhail Kouzmich)
3004 1.1 jruoho
3005 1.1 jruoho AcpiGetHandle: Fix for parameter validation to detect invalid combinations
3006 1.1 jruoho of prefix handle and pathname. BZ 478
3007 1.1 jruoho
3008 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
3009 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
3010 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
3011 1.1 jruoho a much larger code and data size.
3012 1.1 jruoho
3013 1.1 jruoho Previous Release:
3014 1.1 jruoho Non-Debug Version: 77.9K Code, 17.1K Data, 95.0K Total
3015 1.1 jruoho Debug Version: 154.6K Code, 63.0K Data, 217.6K Total
3016 1.1 jruoho Current Release:
3017 1.1 jruoho Non-Debug Version: 78.1K Code, 17.1K Data, 95.2K Total
3018 1.1 jruoho Debug Version: 155.4K Code, 63.1K Data, 218.5K Total
3019 1.1 jruoho
3020 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
3021 1.1 jruoho
3022 1.1 jruoho Ported the -g option (get local ACPI tables) to the new ACPICA Table Manager
3023 1.1 jruoho to restore original behavior.
3024 1.1 jruoho
3025 1.1 jruoho ----------------------------------------
3026 1.1 jruoho 27 September 2006. Summary of changes for version 20060927:
3027 1.1 jruoho
3028 1.1 jruoho 1) ACPI CA Core Subsystem:
3029 1.1 jruoho
3030 1.1 jruoho Removed the "Flags" parameter from AcpiGetRegister and AcpiSetRegister.
3031 1.1 jruoho These functions now use a spinlock for mutual exclusion and the interrupt
3032 1.1 jruoho level indication flag is not needed.
3033 1.1 jruoho
3034 1.1 jruoho Fixed a problem with the Global Lock where the lock could appear to be
3035 1.1 jruoho obtained before it is actually obtained. The global lock semaphore was
3036 1.1 jruoho inadvertently created with one unit instead of zero units. (BZ 464) Fiodor
3037 1.1 jruoho Suietov.
3038 1.1 jruoho
3039 1.1 jruoho Fixed a possible memory leak and fault in AcpiExResolveObjectToValue during
3040 1.1 jruoho a read from a buffer or region field. (BZ 458) Fiodor Suietov.
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: 77.9K Code, 17.1K Data, 95.0K Total
3049 1.1 jruoho Debug Version: 154.7K Code, 63.0K Data, 217.7K Total
3050 1.1 jruoho Current Release:
3051 1.1 jruoho Non-Debug Version: 77.9K Code, 17.1K Data, 95.0K Total
3052 1.1 jruoho Debug Version: 154.6K Code, 63.0K Data, 217.6K 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 compilation problem with the pre-defined Resource Descriptor field
3058 1.1 jruoho names where an "object does not exist" error could be incorrectly generated
3059 1.1 jruoho if the parent ResourceTemplate pathname places the template within a
3060 1.1 jruoho different namespace scope than the current scope. (BZ 7212)
3061 1.1 jruoho
3062 1.1 jruoho Fixed a problem where the compiler could hang after syntax errors detected
3063 1.1 jruoho in an ElseIf construct. (BZ 453)
3064 1.1 jruoho
3065 1.1 jruoho Fixed a problem with the AmlFilename parameter to the DefinitionBlock()
3066 1.1 jruoho operator. An incorrect output filename was produced when this parameter was
3067 1.1 jruoho a null string (""). Now, the original input filename is used as the AML
3068 1.1 jruoho output filename, with an ".aml" extension.
3069 1.1 jruoho
3070 1.1 jruoho Implemented a generic batch command mode for the AcpiExec utility (execute
3071 1.1 jruoho any AML debugger command) (Valery Podrezov).
3072 1.1 jruoho
3073 1.1 jruoho ----------------------------------------
3074 1.1 jruoho 12 September 2006. Summary of changes for version 20060912:
3075 1.1 jruoho
3076 1.1 jruoho 1) ACPI CA Core Subsystem:
3077 1.1 jruoho
3078 1.1 jruoho Enhanced the implementation of the "serialized mode" of the interpreter
3079 1.1 jruoho (enabled via the AcpiGbl_AllMethodsSerialized flag.) When this mode is
3080 1.1 jruoho specified, instead of creating a serialization semaphore per control method,
3081 1.1 jruoho the interpreter lock is simply no longer released before a blocking
3082 1.1 jruoho operation during control method execution. This effectively makes the AML
3083 1.1 jruoho Interpreter single-threaded. The overhead of a semaphore per-method is
3084 1.1 jruoho eliminated.
3085 1.1 jruoho
3086 1.1 jruoho Fixed a regression where an error was no longer emitted if a control method
3087 1.1 jruoho attempts to create 2 objects of the same name. This once again returns
3088 1.1 jruoho AE_ALREADY_EXISTS. When this exception occurs, it invokes the mechanism that
3089 1.1 jruoho will dynamically serialize the control method to possible prevent future
3090 1.1 jruoho errors. (BZ 440)
3091 1.1 jruoho
3092 1.1 jruoho Integrated a fix for a problem with PCI Express HID detection in the PCI
3093 1.1 jruoho Config Space setup procedure. (BZ 7145)
3094 1.1 jruoho
3095 1.1 jruoho Moved all FADT-related functions to a new file, tbfadt.c. Eliminated the
3096 1.1 jruoho AcpiHwInitialize function - the FADT registers are now validated when the
3097 1.1 jruoho table is loaded.
3098 1.1 jruoho
3099 1.1 jruoho Added two new warnings during FADT verification - 1) if the FADT is larger
3100 1.1 jruoho than the largest known FADT version, and 2) if there is a mismatch between a
3101 1.1 jruoho 32-bit block address and the 64-bit X counterpart (when both are non-zero.)
3102 1.1 jruoho
3103 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
3104 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
3105 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
3106 1.1 jruoho a much larger code and data size.
3107 1.1 jruoho
3108 1.1 jruoho Previous Release:
3109 1.1 jruoho Non-Debug Version: 77.9K Code, 16.7K Data, 94.6K Total
3110 1.1 jruoho Debug Version: 154.9K Code, 62.6K Data, 217.5K Total
3111 1.1 jruoho Current Release:
3112 1.1 jruoho Non-Debug Version: 77.9K Code, 17.1K Data, 95.0K Total
3113 1.1 jruoho Debug Version: 154.7K Code, 63.0K Data, 217.7K Total
3114 1.1 jruoho
3115 1.1 jruoho
3116 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
3117 1.1 jruoho
3118 1.1 jruoho Fixed a problem with the implementation of the Switch() operator where the
3119 1.1 jruoho temporary variable was declared too close to the actual Switch, instead of
3120 1.1 jruoho at method level. This could cause a problem if the Switch() operator is
3121 1.1 jruoho within a while loop, causing an error on the second iteration. (BZ 460)
3122 1.1 jruoho
3123 1.1 jruoho Disassembler - fix for error emitted for unknown type for target of scope
3124 1.1 jruoho operator. Now, ignore it and continue.
3125 1.1 jruoho
3126 1.1 jruoho Disassembly of an FADT now verifies the input FADT and reports any errors
3127 1.1 jruoho found. Fix for proper disassembly of full-sized (ACPI 2.0) FADTs.
3128 1.1 jruoho
3129 1.1 jruoho Disassembly of raw data buffers with byte initialization data now prefixes
3130 1.1 jruoho each output line with the current buffer offset.
3131 1.1 jruoho
3132 1.1 jruoho Disassembly of ASF! table now includes all variable-length data fields at
3133 1.1 jruoho the end of some of the subtables.
3134 1.1 jruoho
3135 1.1 jruoho The disassembler now emits a comment if a buffer appears to be a
3136 1.1 jruoho ResourceTemplate, but cannot be disassembled as such because the EndTag does
3137 1.1 jruoho not appear at the very end of the buffer.
3138 1.1 jruoho
3139 1.1 jruoho AcpiExec - Added the "-t" command line option to enable the serialized mode
3140 1.1 jruoho of the AML interpreter.
3141 1.1 jruoho
3142 1.1 jruoho ----------------------------------------
3143 1.1 jruoho 31 August 2006. Summary of changes for version 20060831:
3144 1.1 jruoho
3145 1.1 jruoho 1) ACPI CA Core Subsystem:
3146 1.1 jruoho
3147 1.1 jruoho Miscellaneous fixes for the Table Manager:
3148 1.1 jruoho - Correctly initialize internal common FADT for all 64-bit "X" fields
3149 1.1 jruoho - Fixed a couple table mapping issues during table load
3150 1.1 jruoho - Fixed a couple alignment issues for IA64
3151 1.1 jruoho - Initialize input array to zero in AcpiInitializeTables
3152 1.1 jruoho - Additional parameter validation for AcpiGetTable, AcpiGetTableHeader,
3153 1.1 jruoho AcpiGetTableByIndex
3154 1.1 jruoho
3155 1.1 jruoho Change for GPE support: when a "wake" GPE is received, all wake GPEs are now
3156 1.1 jruoho immediately disabled to prevent the waking GPE from firing again and to
3157 1.1 jruoho prevent other wake GPEs from interrupting the wake process.
3158 1.1 jruoho
3159 1.1 jruoho Added the AcpiGpeCount global that tracks the number of processed GPEs, to
3160 1.1 jruoho be used for debugging systems with a large number of ACPI interrupts.
3161 1.1 jruoho
3162 1.1 jruoho Implemented support for the "DMAR" ACPI table (DMA Redirection Table) in
3163 1.1 jruoho both the ACPICA headers and the disassembler.
3164 1.1 jruoho
3165 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
3166 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
3167 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
3168 1.1 jruoho a much larger code and data size.
3169 1.1 jruoho
3170 1.1 jruoho Previous Release:
3171 1.1 jruoho Non-Debug Version: 77.8K Code, 16.5K Data, 94.3K Total
3172 1.1 jruoho Debug Version: 154.6K Code, 62.3K Data, 216.9K Total
3173 1.1 jruoho Current Release:
3174 1.1 jruoho Non-Debug Version: 77.9K Code, 16.7K Data, 94.6K Total
3175 1.1 jruoho Debug Version: 154.9K Code, 62.6K Data, 217.5K Total
3176 1.1 jruoho
3177 1.1 jruoho
3178 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
3179 1.1 jruoho
3180 1.1 jruoho Disassembler support for the DMAR ACPI table.
3181 1.1 jruoho
3182 1.1 jruoho ----------------------------------------
3183 1.1 jruoho 23 August 2006. Summary of changes for version 20060823:
3184 1.1 jruoho
3185 1.1 jruoho 1) ACPI CA Core Subsystem:
3186 1.1 jruoho
3187 1.1 jruoho The Table Manager component has been completely redesigned and
3188 1.1 jruoho reimplemented. The new design is much simpler, and reduces the overall code
3189 1.1 jruoho and data size of the kernel-resident ACPICA by approximately 5%. Also, it is
3190 1.1 jruoho now possible to obtain the ACPI tables very early during kernel
3191 1.1 jruoho initialization, even before dynamic memory management is initialized.
3192 1.1 jruoho (Alexey Starikovskiy, Fiodor Suietov, Bob Moore)
3193 1.1 jruoho
3194 1.1 jruoho Obsolete ACPICA interfaces:
3195 1.1 jruoho
3196 1.1 jruoho - AcpiGetFirmwareTable: Use AcpiGetTable instead (works at early kernel init
3197 1.1 jruoho time).
3198 1.1 jruoho - AcpiLoadTable: Not needed.
3199 1.1 jruoho - AcpiUnloadTable: Not needed.
3200 1.1 jruoho
3201 1.1 jruoho New ACPICA interfaces:
3202 1.1 jruoho
3203 1.1 jruoho - AcpiInitializeTables: Must be called before the table manager can be used.
3204 1.1 jruoho - AcpiReallocateRootTable: Used to transfer the root table to dynamically
3205 1.1 jruoho allocated memory after it becomes available.
3206 1.1 jruoho - AcpiGetTableByIndex: Allows the host to easily enumerate all ACPI tables
3207 1.1 jruoho in the RSDT/XSDT.
3208 1.1 jruoho
3209 1.1 jruoho Other ACPICA changes:
3210 1.1 jruoho
3211 1.1 jruoho - AcpiGetTableHeader returns the actual mapped table header, not a copy. Use
3212 1.1 jruoho AcpiOsUnmapMemory to free this mapping.
3213 1.1 jruoho - AcpiGetTable returns the actual mapped table. The mapping is managed
3214 1.1 jruoho internally and must not be deleted by the caller. Use of this interface
3215 1.1 jruoho causes no additional dynamic memory allocation.
3216 1.1 jruoho - AcpiFindRootPointer: Support for physical addressing has been eliminated,
3217 1.1 jruoho it appeared to be unused.
3218 1.1 jruoho - The interface to AcpiOsMapMemory has changed to be consistent with the
3219 1.1 jruoho other allocation interfaces.
3220 1.1 jruoho - The interface to AcpiOsGetRootPointer has changed to eliminate unnecessary
3221 1.1 jruoho parameters.
3222 1.1 jruoho - ACPI_PHYSICAL_ADDRESS is now 32 bits on 32-bit platforms, 64 bits on 64-
3223 1.1 jruoho bit platforms. Was previously 64 bits on all platforms.
3224 1.1 jruoho - The interface to the ACPI Global Lock acquire/release macros have changed
3225 1.1 jruoho slightly since ACPICA no longer keeps a local copy of the FACS with a
3226 1.1 jruoho constructed pointer to the actual global lock.
3227 1.1 jruoho
3228 1.1 jruoho Porting to the new table manager:
3229 1.1 jruoho
3230 1.1 jruoho - AcpiInitializeTables: Must be called once, and can be called anytime
3231 1.1 jruoho during the OS initialization process. It allows the host to specify an area
3232 1.1 jruoho of memory to be used to store the internal version of the RSDT/XSDT (root
3233 1.1 jruoho table). This allows the host to access ACPI tables before memory management
3234 1.1 jruoho is initialized and running.
3235 1.1 jruoho - AcpiReallocateRootTable: Can be called after memory management is running
3236 1.1 jruoho to copy the root table to a dynamically allocated array, freeing up the
3237 1.1 jruoho scratch memory specified in the call to AcpiInitializeTables.
3238 1.1 jruoho - AcpiSubsystemInitialize: This existing interface is independent of the
3239 1.1 jruoho Table Manager, and does not have to be called before the Table Manager can
3240 1.1 jruoho be used, it only must be called before the rest of ACPICA can be used.
3241 1.1 jruoho - ACPI Tables: Some changes have been made to the names and structure of the
3242 1.1 jruoho actbl.h and actbl1.h header files and may require changes to existing code.
3243 1.1 jruoho For example, bitfields have been completely removed because of their lack of
3244 1.1 jruoho portability across C compilers.
3245 1.1 jruoho - Update interfaces to the Global Lock acquire/release macros if local
3246 1.1 jruoho versions are used. (see acwin.h)
3247 1.1 jruoho
3248 1.1 jruoho Obsolete files: tbconvrt.c, tbget.c, tbgetall.c, tbrsdt.c
3249 1.1 jruoho
3250 1.1 jruoho New files: tbfind.c
3251 1.1 jruoho
3252 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
3253 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
3254 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
3255 1.1 jruoho a much larger code and data size.
3256 1.1 jruoho
3257 1.1 jruoho Previous Release:
3258 1.1 jruoho Non-Debug Version: 80.7K Code, 17.9K Data, 98.6K Total
3259 1.1 jruoho Debug Version: 161.0K Code, 65.1K Data, 226.1K Total
3260 1.1 jruoho Current Release:
3261 1.1 jruoho Non-Debug Version: 77.8K Code, 16.5K Data, 94.3K Total
3262 1.1 jruoho Debug Version: 154.6K Code, 62.3K Data, 216.9K Total
3263 1.1 jruoho
3264 1.1 jruoho
3265 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
3266 1.1 jruoho
3267 1.1 jruoho No changes for this release.
3268 1.1 jruoho
3269 1.1 jruoho ----------------------------------------
3270 1.1 jruoho 21 July 2006. Summary of changes for version 20060721:
3271 1.1 jruoho
3272 1.1 jruoho 1) ACPI CA Core Subsystem:
3273 1.1 jruoho
3274 1.1 jruoho The full source code for the ASL test suite used to validate the iASL
3275 1.1 jruoho compiler and the ACPICA core subsystem is being released with the ACPICA
3276 1.1 jruoho source for the first time. The source is contained in a separate package and
3277 1.1 jruoho consists of over 1100 files that exercise all ASL/AML operators. The package
3278 1.1 jruoho should appear on the Intel/ACPI web site shortly. (Valery Podrezov, Fiodor
3279 1.1 jruoho Suietov)
3280 1.1 jruoho
3281 1.1 jruoho Completed a new design and implementation for support of the ACPI Global
3282 1.1 jruoho Lock. On the OS side, the global lock is now treated as a standard AML
3283 1.1 jruoho mutex. Previously, multiple OS threads could "acquire" the global lock
3284 1.1 jruoho simultaneously. However, this could cause the BIOS to be starved out of the
3285 1.1 jruoho lock - especially in cases such as the Embedded Controller driver where
3286 1.1 jruoho there is a tight coupling between the OS and the BIOS.
3287 1.1 jruoho
3288 1.1 jruoho Implemented an optimization for the ACPI Global Lock interrupt mechanism.
3289 1.1 jruoho The Global Lock interrupt handler no longer queues the execution of a
3290 1.1 jruoho separate thread to signal the global lock semaphore. Instead, the semaphore
3291 1.1 jruoho is signaled directly from the interrupt handler.
3292 1.1 jruoho
3293 1.1 jruoho Implemented support within the AML interpreter for package objects that
3294 1.1 jruoho contain a larger AML length (package list length) than the package element
3295 1.1 jruoho count. In this case, the length of the package is truncated to match the
3296 1.1 jruoho package element count. Some BIOS code apparently modifies the package length
3297 1.1 jruoho on the fly, and this change supports this behavior. Provides compatibility
3298 1.1 jruoho with the MS AML interpreter. (With assistance from Fiodor Suietov)
3299 1.1 jruoho
3300 1.1 jruoho Implemented a temporary fix for the BankValue parameter of a Bank Field to
3301 1.1 jruoho support all constant values, now including the Zero and One opcodes.
3302 1.1 jruoho Evaluation of this parameter must eventually be converted to a full TermArg
3303 1.1 jruoho evaluation. A not-implemented error is now returned (temporarily) for non-
3304 1.1 jruoho constant values for this parameter.
3305 1.1 jruoho
3306 1.1 jruoho Fixed problem reports (Fiodor Suietov) integrated:
3307 1.1 jruoho - Fix for premature object deletion after CopyObject on Operation Region (BZ
3308 1.1 jruoho 350)
3309 1.1 jruoho
3310 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
3311 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
3312 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
3313 1.1 jruoho a much larger code and data size.
3314 1.1 jruoho
3315 1.1 jruoho Previous Release:
3316 1.1 jruoho Non-Debug Version: 80.7K Code, 18.0K Data, 98.7K Total
3317 1.1 jruoho Debug Version: 160.9K Code, 65.1K Data, 226.0K Total
3318 1.1 jruoho Current Release:
3319 1.1 jruoho Non-Debug Version: 80.7K Code, 17.9K Data, 98.6K Total
3320 1.1 jruoho Debug Version: 161.0K Code, 65.1K Data, 226.1K Total
3321 1.1 jruoho
3322 1.1 jruoho
3323 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
3324 1.1 jruoho
3325 1.1 jruoho No changes for this release.
3326 1.1 jruoho
3327 1.1 jruoho ----------------------------------------
3328 1.1 jruoho 07 July 2006. Summary of changes for version 20060707:
3329 1.1 jruoho
3330 1.1 jruoho 1) ACPI CA Core Subsystem:
3331 1.1 jruoho
3332 1.1 jruoho Added the ACPI_PACKED_POINTERS_NOT_SUPPORTED macro to support C compilers
3333 1.1 jruoho that do not allow the initialization of address pointers within packed
3334 1.1 jruoho structures - even though the hardware itself may support misaligned
3335 1.1 jruoho transfers. Some of the debug data structures are packed by default to
3336 1.1 jruoho minimize size.
3337 1.1 jruoho
3338 1.1 jruoho Added an error message for the case where AcpiOsGetThreadId() returns zero.
3339 1.1 jruoho A non-zero value is required by the core ACPICA code to ensure the proper
3340 1.1 jruoho operation of AML mutexes and recursive control methods.
3341 1.1 jruoho
3342 1.1 jruoho The DSDT is now the only ACPI table that determines whether the AML
3343 1.1 jruoho interpreter is in 32-bit or 64-bit mode. Not really a functional change, but
3344 1.1 jruoho the hooks for per-table 32/64 switching have been removed from the code. A
3345 1.1 jruoho clarification to the ACPI specification is forthcoming in ACPI 3.0B.
3346 1.1 jruoho
3347 1.1 jruoho Fixed a possible leak of an OwnerID in the error path of
3348 1.1 jruoho AcpiTbInitTableDescriptor (tbinstal.c), and migrated all table OwnerID
3349 1.1 jruoho deletion to a single place in AcpiTbUninstallTable to correct possible leaks
3350 1.1 jruoho when using the AcpiTbDeleteTablesByType interface (with assistance from
3351 1.1 jruoho Lance Ortiz.)
3352 1.1 jruoho
3353 1.1 jruoho Fixed a problem with Serialized control methods where the semaphore
3354 1.1 jruoho associated with the method could be over-signaled after multiple method
3355 1.1 jruoho invocations.
3356 1.1 jruoho
3357 1.1 jruoho Fixed two issues with the locking of the internal namespace data structure.
3358 1.1 jruoho Both the Unload() operator and AcpiUnloadTable interface now lock the
3359 1.1 jruoho namespace during the namespace deletion associated with the table unload
3360 1.1 jruoho (with assistance from Linn Crosetto.)
3361 1.1 jruoho
3362 1.1 jruoho Fixed problem reports (Valery Podrezov) integrated:
3363 1.1 jruoho - Eliminate unnecessary memory allocation for CreateXxxxField (BZ 5426)
3364 1.1 jruoho
3365 1.1 jruoho Fixed problem reports (Fiodor Suietov) integrated:
3366 1.1 jruoho - Incomplete cleanup branches in AcpiTbGetTableRsdt (BZ 369)
3367 1.1 jruoho - On Address Space handler deletion, needless deactivation call (BZ 374)
3368 1.1 jruoho - AcpiRemoveAddressSpaceHandler: validate Device handle parameter (BZ 375)
3369 1.1 jruoho - Possible memory leak, Notify sub-objects of Processor, Power, ThermalZone
3370 1.1 jruoho (BZ 376)
3371 1.1 jruoho - AcpiRemoveAddressSpaceHandler: validate Handler parameter (BZ 378)
3372 1.1 jruoho - Minimum Length of RSDT should be validated (BZ 379)
3373 1.1 jruoho - AcpiRemoveNotifyHandler: return AE_NOT_EXIST if Processor Obj has no
3374 1.1 jruoho Handler (BZ (380)
3375 1.1 jruoho - AcpiUnloadTable: return AE_NOT_EXIST if no table of specified type loaded
3376 1.1 jruoho (BZ 381)
3377 1.1 jruoho
3378 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
3379 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
3380 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
3381 1.1 jruoho a much larger code and data size.
3382 1.1 jruoho
3383 1.1 jruoho Previous Release:
3384 1.1 jruoho Non-Debug Version: 80.5K Code, 17.8K Data, 98.3K Total
3385 1.1 jruoho Debug Version: 160.8K Code, 64.8K Data, 225.6K Total
3386 1.1 jruoho Current Release:
3387 1.1 jruoho Non-Debug Version: 80.7K Code, 17.9K Data, 98.6K Total
3388 1.1 jruoho Debug Version: 161.0K Code, 65.1K Data, 226.1K Total
3389 1.1 jruoho
3390 1.1 jruoho
3391 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
3392 1.1 jruoho
3393 1.1 jruoho Fixed problem reports:
3394 1.1 jruoho Compiler segfault when ASL contains a long (>1024) String declaration (BZ
3395 1.1 jruoho 436)
3396 1.1 jruoho
3397 1.1 jruoho ----------------------------------------
3398 1.1 jruoho 23 June 2006. Summary of changes for version 20060623:
3399 1.1 jruoho
3400 1.1 jruoho 1) ACPI CA Core Subsystem:
3401 1.1 jruoho
3402 1.1 jruoho Implemented a new ACPI_SPINLOCK type for the OSL lock interfaces. This
3403 1.1 jruoho allows the type to be customized to the host OS for improved efficiency
3404 1.1 jruoho (since a spinlock is usually a very small object.)
3405 1.1 jruoho
3406 1.1 jruoho Implemented support for "ignored" bits in the ACPI registers. According to
3407 1.1 jruoho the ACPI specification, these bits should be preserved when writing the
3408 1.1 jruoho registers via a read/modify/write cycle. There are 3 bits preserved in this
3409 1.1 jruoho manner: PM1_CONTROL[0] (SCI_EN), PM1_CONTROL[9], and PM1_STATUS[11].
3410 1.1 jruoho
3411 1.1 jruoho Implemented the initial deployment of new OSL mutex interfaces. Since some
3412 1.1 jruoho host operating systems have separate mutex and semaphore objects, this
3413 1.1 jruoho feature was requested. The base code now uses mutexes (and the new mutex
3414 1.1 jruoho interfaces) wherever a binary semaphore was used previously. However, for
3415 1.1 jruoho the current release, the mutex interfaces are defined as macros to map them
3416 1.1 jruoho to the existing semaphore interfaces. Therefore, no OSL changes are required
3417 1.1 jruoho at this time. (See acpiosxf.h)
3418 1.1 jruoho
3419 1.1 jruoho Fixed several problems with the support for the control method SyncLevel
3420 1.1 jruoho parameter. The SyncLevel now works according to the ACPI specification and
3421 1.1 jruoho in concert with the Mutex SyncLevel parameter, since the current SyncLevel
3422 1.1 jruoho is a property of the executing thread. Mutual exclusion for control methods
3423 1.1 jruoho is now implemented with a mutex instead of a semaphore.
3424 1.1 jruoho
3425 1.1 jruoho Fixed three instances of the use of the C shift operator in the bitfield
3426 1.1 jruoho support code (exfldio.c) to avoid the use of a shift value larger than the
3427 1.1 jruoho target data width. The behavior of C compilers is undefined in this case and
3428 1.1 jruoho can cause unpredictable results, and therefore the case must be detected and
3429 1.1 jruoho avoided. (Fiodor Suietov)
3430 1.1 jruoho
3431 1.1 jruoho Added an info message whenever an SSDT or OEM table is loaded dynamically
3432 1.1 jruoho via the Load() or LoadTable() ASL operators. This should improve debugging
3433 1.1 jruoho capability since it will show exactly what tables have been loaded (beyond
3434 1.1 jruoho the tables present in the RSDT/XSDT.)
3435 1.1 jruoho
3436 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
3437 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
3438 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
3439 1.1 jruoho a much larger code and data size.
3440 1.1 jruoho
3441 1.1 jruoho Previous Release:
3442 1.1 jruoho Non-Debug Version: 80.0K Code, 17.6K Data, 97.6K Total
3443 1.1 jruoho Debug Version: 160.2K Code, 64.7K Data, 224.9K Total
3444 1.1 jruoho Current Release:
3445 1.1 jruoho Non-Debug Version: 80.5K Code, 17.8K Data, 98.3K Total
3446 1.1 jruoho Debug Version: 160.8K Code, 64.8K Data, 225.6K Total
3447 1.1 jruoho
3448 1.1 jruoho
3449 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
3450 1.1 jruoho
3451 1.1 jruoho No changes for this release.
3452 1.1 jruoho
3453 1.1 jruoho ----------------------------------------
3454 1.1 jruoho 08 June 2006. Summary of changes for version 20060608:
3455 1.1 jruoho
3456 1.1 jruoho 1) ACPI CA Core Subsystem:
3457 1.1 jruoho
3458 1.1 jruoho Converted the locking mutex used for the ACPI hardware to a spinlock. This
3459 1.1 jruoho change should eliminate all problems caused by attempting to acquire a
3460 1.1 jruoho semaphore at interrupt level, and it means that all ACPICA external
3461 1.1 jruoho interfaces that directly access the ACPI hardware can be safely called from
3462 1.1 jruoho interrupt level. OSL code that implements the semaphore interfaces should be
3463 1.1 jruoho able to eliminate any workarounds for being called at interrupt level.
3464 1.1 jruoho
3465 1.1 jruoho Fixed a regression introduced in 20060526 where the ACPI device
3466 1.1 jruoho initialization could be prematurely aborted with an AE_NOT_FOUND if a device
3467 1.1 jruoho did not have an optional _INI method.
3468 1.1 jruoho
3469 1.1 jruoho Fixed an IndexField issue where a write to the Data Register should be
3470 1.1 jruoho limited in size to the AccessSize (width) of the IndexField itself. (BZ 433,
3471 1.1 jruoho Fiodor Suietov)
3472 1.1 jruoho
3473 1.1 jruoho Fixed problem reports (Valery Podrezov) integrated:
3474 1.1 jruoho - Allow store of ThermalZone objects to Debug object (BZ 5369/5370)
3475 1.1 jruoho
3476 1.1 jruoho Fixed problem reports (Fiodor Suietov) integrated:
3477 1.1 jruoho - AcpiGetTableHeader doesn't handle multiple instances correctly (BZ 364)
3478 1.1 jruoho
3479 1.1 jruoho Removed four global mutexes that were obsolete and were no longer being
3480 1.1 jruoho used.
3481 1.1 jruoho
3482 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
3483 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
3484 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
3485 1.1 jruoho a much larger code and data size.
3486 1.1 jruoho
3487 1.1 jruoho Previous Release:
3488 1.1 jruoho Non-Debug Version: 80.0K Code, 17.7K Data, 97.7K Total
3489 1.1 jruoho Debug Version: 160.3K Code, 64.9K Data, 225.2K Total
3490 1.1 jruoho Current Release:
3491 1.1 jruoho Non-Debug Version: 80.0K Code, 17.6K Data, 97.6K Total
3492 1.1 jruoho Debug Version: 160.2K Code, 64.7K Data, 224.9K Total
3493 1.1 jruoho
3494 1.1 jruoho
3495 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
3496 1.1 jruoho
3497 1.1 jruoho Fixed a fault when using -g option (get tables from registry) on Windows
3498 1.1 jruoho machines.
3499 1.1 jruoho
3500 1.1 jruoho Fixed problem reports integrated:
3501 1.1 jruoho - Generate error if CreateField NumBits parameter is zero. (BZ 405)
3502 1.1 jruoho - Fault if Offset/Length in Field unit is very large (BZ 432, Fiodor
3503 1.1 jruoho Suietov)
3504 1.1 jruoho - Global table revision override (-r) is ignored (BZ 413)
3505 1.1 jruoho
3506 1.1 jruoho ----------------------------------------
3507 1.1 jruoho 26 May 2006. Summary of changes for version 20060526:
3508 1.1 jruoho
3509 1.1 jruoho 1) ACPI CA Core Subsystem:
3510 1.1 jruoho
3511 1.1 jruoho Restructured, flattened, and simplified the internal interfaces for
3512 1.1 jruoho namespace object evaluation - resulting in smaller code, less CPU stack use,
3513 1.1 jruoho and fewer interfaces. (With assistance from Mikhail Kouzmich)
3514 1.1 jruoho
3515 1.1 jruoho Fixed a problem with the CopyObject operator where the first parameter was
3516 1.1 jruoho not typed correctly for the parser, interpreter, compiler, and disassembler.
3517 1.1 jruoho Caused various errors and unexpected behavior.
3518 1.1 jruoho
3519 1.1 jruoho Fixed a problem where a ShiftLeft or ShiftRight of more than 64 bits
3520 1.1 jruoho produced incorrect results with some C compilers. Since the behavior of C
3521 1.1 jruoho compilers when the shift value is larger than the datatype width is
3522 1.1 jruoho apparently not well defined, the interpreter now detects this condition and
3523 1.1 jruoho simply returns zero as expected in all such cases. (BZ 395)
3524 1.1 jruoho
3525 1.1 jruoho Fixed problem reports (Valery Podrezov) integrated:
3526 1.1 jruoho - Update String-to-Integer conversion to match ACPI 3.0A spec (BZ 5329)
3527 1.1 jruoho - Allow interpreter to handle nested method declarations (BZ 5361)
3528 1.1 jruoho
3529 1.1 jruoho Fixed problem reports (Fiodor Suietov) integrated:
3530 1.1 jruoho - AcpiTerminate doesn't free debug memory allocation list objects (BZ 355)
3531 1.1 jruoho - After Core Subsystem shutdown, AcpiSubsystemStatus returns AE_OK (BZ 356)
3532 1.1 jruoho - AcpiOsUnmapMemory for RSDP can be invoked inconsistently (BZ 357)
3533 1.1 jruoho - Resource Manager should return AE_TYPE for non-device objects (BZ 358)
3534 1.1 jruoho - Incomplete cleanup branch in AcpiNsEvaluateRelative (BZ 359)
3535 1.1 jruoho - Use AcpiOsFree instead of ACPI_FREE in AcpiRsSetSrsMethodData (BZ 360)
3536 1.1 jruoho - Incomplete cleanup branch in AcpiPsParseAml (BZ 361)
3537 1.1 jruoho - Incomplete cleanup branch in AcpiDsDeleteWalkState (BZ 362)
3538 1.1 jruoho - AcpiGetTableHeader returns AE_NO_ACPI_TABLES until DSDT is loaded (BZ 365)
3539 1.1 jruoho - Status of the Global Initialization Handler call not used (BZ 366)
3540 1.1 jruoho - Incorrect object parameter to Global Initialization Handler (BZ 367)
3541 1.1 jruoho
3542 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
3543 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
3544 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
3545 1.1 jruoho a much larger code and data size.
3546 1.1 jruoho
3547 1.1 jruoho Previous Release:
3548 1.1 jruoho Non-Debug Version: 79.8K Code, 17.7K Data, 97.5K Total
3549 1.1 jruoho Debug Version: 160.5K Code, 65.1K Data, 225.6K Total
3550 1.1 jruoho Current Release:
3551 1.1 jruoho Non-Debug Version: 80.0K Code, 17.7K Data, 97.7K Total
3552 1.1 jruoho Debug Version: 160.3K Code, 64.9K Data, 225.2K Total
3553 1.1 jruoho
3554 1.1 jruoho
3555 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
3556 1.1 jruoho
3557 1.1 jruoho Modified the parser to allow the names IO, DMA, and IRQ to be used as
3558 1.1 jruoho namespace identifiers with no collision with existing resource descriptor
3559 1.1 jruoho macro names. This provides compatibility with other ASL compilers and is
3560 1.1 jruoho most useful for disassembly/recompilation of existing tables without parse
3561 1.1 jruoho errors. (With assistance from Thomas Renninger)
3562 1.1 jruoho
3563 1.1 jruoho Disassembler: fixed an incorrect disassembly problem with the
3564 1.1 jruoho DataTableRegion and CopyObject operators. Fixed a possible fault during
3565 1.1 jruoho disassembly of some Alias operators.
3566 1.1 jruoho
3567 1.1 jruoho ----------------------------------------
3568 1.1 jruoho 12 May 2006. Summary of changes for version 20060512:
3569 1.1 jruoho
3570 1.1 jruoho 1) ACPI CA Core Subsystem:
3571 1.1 jruoho
3572 1.1 jruoho Replaced the AcpiOsQueueForExecution interface with a new interface named
3573 1.1 jruoho AcpiOsExecute. The major difference is that the new interface does not have
3574 1.1 jruoho a Priority parameter, this appeared to be useless and has been replaced by a
3575 1.1 jruoho Type parameter. The Type tells the host what type of execution is being
3576 1.1 jruoho requested, such as global lock handler, notify handler, GPE handler, etc.
3577 1.1 jruoho This allows the host to queue and execute the request as appropriate for the
3578 1.1 jruoho request type, possibly using different work queues and different priorities
3579 1.1 jruoho for the various request types. This enables fixes for multithreading
3580 1.1 jruoho deadlock problems such as BZ #5534, and will require changes to all existing
3581 1.1 jruoho OS interface layers. (Alexey Starikovskiy and Bob Moore)
3582 1.1 jruoho
3583 1.1 jruoho Fixed a possible memory leak associated with the support for the so-called
3584 1.1 jruoho "implicit return" ACPI extension. Reported by FreeBSD, BZ #6514. (Fiodor
3585 1.1 jruoho Suietov)
3586 1.1 jruoho
3587 1.1 jruoho Fixed a problem with the Load() operator where a table load from an
3588 1.1 jruoho operation region could overwrite an internal table buffer by up to 7 bytes
3589 1.1 jruoho and cause alignment faults on IPF systems. (With assistance from Luming Yu)
3590 1.1 jruoho
3591 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
3592 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
3593 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
3594 1.1 jruoho a much larger code and data size.
3595 1.1 jruoho
3596 1.1 jruoho Previous Release:
3597 1.1 jruoho Non-Debug Version: 79.7K Code, 17.7K Data, 97.4K Total
3598 1.1 jruoho Debug Version: 160.1K Code, 65.2K Data, 225.3K Total
3599 1.1 jruoho Current Release:
3600 1.1 jruoho Non-Debug Version: 79.8K Code, 17.7K Data, 97.5K Total
3601 1.1 jruoho Debug Version: 160.5K Code, 65.1K Data, 225.6K Total
3602 1.1 jruoho
3603 1.1 jruoho
3604 1.1 jruoho
3605 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
3606 1.1 jruoho
3607 1.1 jruoho Disassembler: Implemented support to cross reference the internal namespace
3608 1.1 jruoho and automatically generate ASL External() statements for symbols not defined
3609 1.1 jruoho within the current table being disassembled. This will simplify the
3610 1.1 jruoho disassembly and recompilation of interdependent tables such as SSDTs since
3611 1.1 jruoho these statements will no longer have to be added manually.
3612 1.1 jruoho
3613 1.1 jruoho Disassembler: Implemented experimental support to automatically detect
3614 1.1 jruoho invocations of external control methods and generate appropriate External()
3615 1.1 jruoho statements. This is problematic because the AML cannot be correctly parsed
3616 1.1 jruoho until the number of arguments for each control method is known. Currently,
3617 1.1 jruoho standalone method invocations and invocations as the source operand of a
3618 1.1 jruoho Store() statement are supported.
3619 1.1 jruoho
3620 1.1 jruoho Disassembler: Implemented support for the ASL pseudo-operators LNotEqual,
3621 1.1 jruoho LLessEqual, and LGreaterEqual. Previously disassembled as LNot(LEqual()),
3622 1.1 jruoho LNot(LGreater()), and LNot(LLess()), this makes the disassembled ASL code
3623 1.1 jruoho more readable and likely closer to the original ASL source.
3624 1.1 jruoho
3625 1.1 jruoho ----------------------------------------
3626 1.1 jruoho 21 April 2006. Summary of changes for version 20060421:
3627 1.1 jruoho
3628 1.1 jruoho 1) ACPI CA Core Subsystem:
3629 1.1 jruoho
3630 1.1 jruoho Removed a device initialization optimization introduced in 20051216 where
3631 1.1 jruoho the _STA method was not run unless an _INI was also present for the same
3632 1.1 jruoho device. This optimization could cause problems because it could allow _INI
3633 1.1 jruoho methods to be run within a not-present device subtree. (If a not-present
3634 1.1 jruoho device had no _INI, _STA would not be run, the not-present status would not
3635 1.1 jruoho be discovered, and the children of the device would be incorrectly
3636 1.1 jruoho traversed.)
3637 1.1 jruoho
3638 1.1 jruoho Implemented a new _STA optimization where namespace subtrees that do not
3639 1.1 jruoho contain _INI are identified and ignored during device initialization.
3640 1.1 jruoho Selectively running _STA can significantly improve boot time on large
3641 1.1 jruoho machines (with assistance from Len Brown.)
3642 1.1 jruoho
3643 1.1 jruoho Implemented support for the device initialization case where the returned
3644 1.1 jruoho _STA flags indicate a device not-present but functioning. In this case, _INI
3645 1.1 jruoho is not run, but the device children are examined for presence, as per the
3646 1.1 jruoho ACPI specification.
3647 1.1 jruoho
3648 1.1 jruoho Implemented an additional change to the IndexField support in order to
3649 1.1 jruoho conform to MS behavior. The value written to the Index Register is not
3650 1.1 jruoho simply a byte offset, it is a byte offset in units of the access width of
3651 1.1 jruoho the parent Index Field. (Fiodor Suietov)
3652 1.1 jruoho
3653 1.1 jruoho Defined and deployed a new OSL interface, AcpiOsValidateAddress. This
3654 1.1 jruoho interface is called during the creation of all AML operation regions, and
3655 1.1 jruoho allows the host OS to exert control over what addresses it will allow the
3656 1.1 jruoho AML code to access. Operation Regions whose addresses are disallowed will
3657 1.1 jruoho cause a runtime exception when they are actually accessed (will not affect
3658 1.1 jruoho or abort table loading.) See oswinxf or osunixxf for an example
3659 1.1 jruoho implementation.
3660 1.1 jruoho
3661 1.1 jruoho Defined and deployed a new OSL interface, AcpiOsValidateInterface. This
3662 1.1 jruoho interface allows the host OS to match the various "optional"
3663 1.1 jruoho interface/behavior strings for the _OSI predefined control method as
3664 1.1 jruoho appropriate (with assistance from Bjorn Helgaas.) See oswinxf or osunixxf
3665 1.1 jruoho for an example implementation.
3666 1.1 jruoho
3667 1.1 jruoho Restructured and corrected various problems in the exception handling code
3668 1.1 jruoho paths within DsCallControlMethod and DsTerminateControlMethod in dsmethod
3669 1.1 jruoho (with assistance from Takayoshi Kochi.)
3670 1.1 jruoho
3671 1.1 jruoho Modified the Linux source converter to ignore quoted string literals while
3672 1.1 jruoho converting identifiers from mixed to lower case. This will correct problems
3673 1.1 jruoho with the disassembler and other areas where such strings must not be
3674 1.1 jruoho modified.
3675 1.1 jruoho
3676 1.1 jruoho The ACPI_FUNCTION_* macros no longer require quotes around the function
3677 1.1 jruoho name. This allows the Linux source converter to convert the names, now that
3678 1.1 jruoho the converter ignores quoted strings.
3679 1.1 jruoho
3680 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
3681 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
3682 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
3683 1.1 jruoho a much larger code and data size.
3684 1.1 jruoho
3685 1.1 jruoho Previous Release:
3686 1.1 jruoho
3687 1.1 jruoho Non-Debug Version: 81.1K Code, 17.7K Data, 98.8K Total
3688 1.1 jruoho Debug Version: 158.9K Code, 64.9K Data, 223.8K Total
3689 1.1 jruoho Current Release:
3690 1.1 jruoho Non-Debug Version: 79.7K Code, 17.7K Data, 97.4K Total
3691 1.1 jruoho Debug Version: 160.1K Code, 65.2K Data, 225.3K Total
3692 1.1 jruoho
3693 1.1 jruoho
3694 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
3695 1.1 jruoho
3696 1.1 jruoho Implemented 3 new warnings for iASL, and implemented multiple warning levels
3697 1.1 jruoho (w2 flag).
3698 1.1 jruoho
3699 1.1 jruoho 1) Ignored timeouts: If the TimeoutValue parameter to Wait or Acquire is not
3700 1.1 jruoho WAIT_FOREVER (0xFFFF) and the code does not examine the return value to
3701 1.1 jruoho check for the possible timeout, a warning is issued.
3702 1.1 jruoho
3703 1.1 jruoho 2) Useless operators: If an ASL operator does not specify an optional target
3704 1.1 jruoho operand and it also does not use the function return value from the
3705 1.1 jruoho operator, a warning is issued since the operator effectively does nothing.
3706 1.1 jruoho
3707 1.1 jruoho 3) Unreferenced objects: If a namespace object is created, but never
3708 1.1 jruoho referenced, a warning is issued. This is a warning level 2 since there are
3709 1.1 jruoho cases where this is ok, such as when a secondary table is loaded that uses
3710 1.1 jruoho the unreferenced objects. Even so, care is taken to only flag objects that
3711 1.1 jruoho don't look like they will ever be used. For example, the reserved methods
3712 1.1 jruoho (starting with an underscore) are usually not referenced because it is
3713 1.1 jruoho expected that the OS will invoke them.
3714 1.1 jruoho
3715 1.1 jruoho ----------------------------------------
3716 1.1 jruoho 31 March 2006. Summary of changes for version 20060331:
3717 1.1 jruoho
3718 1.1 jruoho 1) ACPI CA Core Subsystem:
3719 1.1 jruoho
3720 1.1 jruoho Implemented header file support for the following additional ACPI tables:
3721 1.1 jruoho ASF!, BOOT, CPEP, DBGP, MCFG, SPCR, SPMI, TCPA, and WDRT. With this support,
3722 1.1 jruoho all current and known ACPI tables are now defined in the ACPICA headers and
3723 1.1 jruoho are available for use by device drivers and other software.
3724 1.1 jruoho
3725 1.1 jruoho Implemented support to allow tables that contain ACPI names with invalid
3726 1.1 jruoho characters to be loaded. Previously, this would cause the table load to
3727 1.1 jruoho fail, but since there are several known cases of such tables on existing
3728 1.1 jruoho machines, this change was made to enable ACPI support for them. Also, this
3729 1.1 jruoho matches the behavior of the Microsoft ACPI implementation.
3730 1.1 jruoho
3731 1.1 jruoho Fixed a couple regressions introduced during the memory optimization in the
3732 1.1 jruoho 20060317 release. The namespace node definition required additional
3733 1.1 jruoho reorganization and an internal datatype that had been changed to 8-bit was
3734 1.1 jruoho restored to 32-bit. (Valery Podrezov)
3735 1.1 jruoho
3736 1.1 jruoho Fixed a problem where a null pointer passed to AcpiUtDeleteGenericState
3737 1.1 jruoho could be passed through to AcpiOsReleaseObject which is unexpected. Such
3738 1.1 jruoho null pointers are now trapped and ignored, matching the behavior of the
3739 1.1 jruoho previous implementation before the deployment of AcpiOsReleaseObject.
3740 1.1 jruoho (Valery Podrezov, Fiodor Suietov)
3741 1.1 jruoho
3742 1.1 jruoho Fixed a memory mapping leak during the deletion of a SystemMemory operation
3743 1.1 jruoho region where a cached memory mapping was not deleted. This became a
3744 1.1 jruoho noticeable problem for operation regions that are defined within frequently
3745 1.1 jruoho used control methods. (Dana Meyers)
3746 1.1 jruoho
3747 1.1 jruoho Reorganized the ACPI table header files into two main files: one for the
3748 1.1 jruoho ACPI tables consumed by the ACPICA core, and another for the miscellaneous
3749 1.1 jruoho ACPI tables that are consumed by the drivers and other software. The various
3750 1.1 jruoho FADT definitions were merged into one common section and three different
3751 1.1 jruoho tables (ACPI 1.0, 1.0+, and 2.0)
3752 1.1 jruoho
3753 1.1 jruoho Example Code and Data Size: These are the sizes for the OS-independent
3754 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
3755 1.1 jruoho debug version of the code includes the debug output trace mechanism and has
3756 1.1 jruoho a much larger code and data size.
3757 1.1 jruoho
3758 1.1 jruoho Previous Release:
3759 1.1 jruoho Non-Debug Version: 80.9K Code, 17.7K Data, 98.6K Total
3760 1.1 jruoho Debug Version: 158.7K Code, 64.8K Data, 223.5K Total
3761 1.1 jruoho Current Release:
3762 1.1 jruoho Non-Debug Version: 81.1K Code, 17.7K Data, 98.8K Total
3763 1.1 jruoho Debug Version: 158.9K Code, 64.9K Data, 223.8K Total
3764 1.1 jruoho
3765 1.1 jruoho
3766 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
3767 1.1 jruoho
3768 1.1 jruoho Disassembler: Implemented support to decode and format all non-AML ACPI
3769 1.1 jruoho tables (tables other than DSDTs and SSDTs.) This includes the new tables
3770 1.1 jruoho added to the ACPICA headers, therefore all current and known ACPI tables are
3771 1.1 jruoho supported.
3772 1.1 jruoho
3773 1.1 jruoho Disassembler: The change to allow ACPI names with invalid characters also
3774 1.1 jruoho enables the disassembly of such tables. Invalid characters within names are
3775 1.1 jruoho changed to '*' to make the name printable; the iASL compiler will still
3776 1.1 jruoho generate an error for such names, however, since this is an invalid ACPI
3777 1.1 jruoho character.
3778 1.1 jruoho
3779 1.1 jruoho Implemented an option for AcpiXtract (-a) to extract all tables found in the
3780 1.1 jruoho input file. The default invocation extracts only the DSDTs and SSDTs.
3781 1.1 jruoho
3782 1.1 jruoho Fixed a couple of gcc generation issues for iASL and AcpiExec and added a
3783 1.1 jruoho makefile for the AcpiXtract utility.
3784 1.1 jruoho
3785 1.1 jruoho ----------------------------------------
3786 1.1 jruoho 17 March 2006. Summary of changes for version 20060317:
3787 1.1 jruoho
3788 1.1 jruoho 1) ACPI CA Core Subsystem:
3789 1.1 jruoho
3790 1.1 jruoho Implemented the use of a cache object for all internal namespace nodes.
3791 1.1 jruoho Since there are about 1000 static nodes in a typical system, this will
3792 1.1 jruoho decrease memory use for cache implementations that minimize per-allocation
3793 1.1 jruoho overhead (such as a slab allocator.)
3794 1.1 jruoho
3795 1.1 jruoho Removed the reference count mechanism for internal namespace nodes, since it
3796 1.1 jruoho was deemed unnecessary. This reduces the size of each namespace node by
3797 1.1 jruoho about 5%-10% on all platforms. Nodes are now 20 bytes for the 32-bit case,
3798 1.1 jruoho and 32 bytes for the 64-bit case.
3799 1.1 jruoho
3800 1.1 jruoho Optimized several internal data structures to reduce object size on 64-bit
3801 1.1 jruoho platforms by packing data within the 64-bit alignment. This includes the
3802 1.1 jruoho frequently used ACPI_OPERAND_OBJECT, of which there can be ~1000 static
3803 1.1 jruoho instances corresponding to the namespace objects.
3804 1.1 jruoho
3805 1.1 jruoho Added two new strings for the predefined _OSI method: "Windows 2001.1 SP1"
3806 1.1 jruoho and "Windows 2006".
3807 1.1 jruoho
3808 1.1 jruoho Split the allocation tracking mechanism out to a separate file, from
3809 1.1 jruoho utalloc.c to uttrack.c. This mechanism appears to be only useful for
3810 1.1 jruoho application-level code. Kernels may wish to not include uttrack.c in
3811 1.1 jruoho distributions.
3812 1.1 jruoho
3813 1.1 jruoho Removed all remnants of the obsolete ACPI_REPORT_* macros and the associated
3814 1.1 jruoho code. (These macros have been replaced by the ACPI_ERROR and ACPI_WARNING
3815 1.1 jruoho macros.)
3816 1.1 jruoho
3817 1.1 jruoho Code and Data Size: These are the sizes for the acpica.lib produced by the
3818 1.1 jruoho Microsoft Visual C++ 6.0 32-bit compiler. The values do not include any ACPI
3819 1.1 jruoho driver or OSPM code. The debug version of the code includes the debug output
3820 1.1 jruoho trace mechanism and has a much larger code and data size. Note that these
3821 1.1 jruoho values will vary depending on the efficiency of the compiler and the
3822 1.1 jruoho compiler options used during generation.
3823 1.1 jruoho
3824 1.1 jruoho Previous Release:
3825 1.1 jruoho Non-Debug Version: 81.1K Code, 17.8K Data, 98.9K Total
3826 1.1 jruoho Debug Version: 161.6K Code, 65.7K Data, 227.3K Total
3827 1.1 jruoho Current Release:
3828 1.1 jruoho Non-Debug Version: 80.9K Code, 17.7K Data, 98.6K Total
3829 1.1 jruoho Debug Version: 158.7K Code, 64.8K Data, 223.5K Total
3830 1.1 jruoho
3831 1.1 jruoho
3832 1.1 jruoho 2) iASL Compiler/Disassembler and Tools:
3833 1.1 jruoho
3834 1.1 jruoho Implemented an ANSI C version of the acpixtract utility. This version will
3835 1.1 jruoho automatically extract the DSDT and all SSDTs from the input acpidump text
3836 1.1 jruoho file and dump the binary output to separate files. It can also display a
3837 1.1 jruoho summary of the input file including the headers for each table found and
3838 1.1 jruoho will extract any single ACPI table, with any signature. (See
3839 1.1 jruoho source/tools/acpixtract)
3840 1.1 jruoho
3841 1.1 jruoho ----------------------------------------
3842 1.1 jruoho 10 March 2006. Summary of changes for version 20060310:
3843 1.1 jruoho
3844 1.1 jruoho 1) ACPI CA Core Subsystem:
3845 1.1 jruoho
3846 1.1 jruoho Tagged all external interfaces to the subsystem with the new
3847 1.1 jruoho ACPI_EXPORT_SYMBOL macro. This macro can be defined as necessary to assist
3848 1.1 jruoho kernel integration. For Linux, the macro resolves to the EXPORT_SYMBOL
3849 1.1 jruoho macro. The default definition is NULL.
3850 1.1 jruoho
3851 1.1 jruoho Added the ACPI_THREAD_ID type for the return value from AcpiOsGetThreadId.
3852 1.1 jruoho This allows the host to define this as necessary to simplify kernel
3853 1.1 jruoho integration. The default definition is ACPI_NATIVE_UINT.
3854 1.1 jruoho
3855 1.1 jruoho Fixed two interpreter problems related to error processing, the deletion of
3856 1.1 jruoho objects, and placing invalid pointers onto the internal operator result
3857 1.1 jruoho stack. BZ 6028, 6151 (Valery Podrezov)
3858 1.1 jruoho
3859 1.1 jruoho Increased the reference count threshold where a warning is emitted for large
3860 1.1 jruoho reference counts in order to eliminate unnecessary warnings on systems with
3861 1.1 jruoho large namespaces (especially 64-bit.) Increased the value from 0x400 to
3862 1.1 jruoho 0x800.
3863 1.1 jruoho
3864 1.1 jruoho Due to universal disagreement as to the meaning of the 'c' in the calloc()
3865 1.1 jruoho function, the ACPI_MEM_CALLOCATE macro has been renamed to
3866 1.1 jruoho ACPI_ALLOCATE_ZEROED so that the purpose of the interface is 'clear'.
3867 1.1 jruoho ACPI_MEM_ALLOCATE and ACPI_MEM_FREE are renamed to ACPI_ALLOCATE and
3868 1.1 jruoho ACPI_FREE.
3869 1.1 jruoho
3870 1.1 jruoho Code and Data Size: These are the sizes for the acpica.lib produced by the
3871 1.1 jruoho Microsoft Visual C++ 6.0 32-bit compiler. The values do not include any ACPI
3872 1.1 jruoho driver or OSPM code. The debug version of the code includes the debug output
3873 1.1 jruoho trace mechanism and has a much larger code and data size. Note that these
3874 1.1 jruoho values will vary depending on the efficiency of the compiler and the
3875 1.1 jruoho compiler options used during generation.
3876 1.1 jruoho
3877 1.1 jruoho Previous Release:
3878 1.1 jruoho Non-Debug Version: 81.0K Code, 17.8K Data, 98.8K Total
3879 1.1 jruoho Debug Version: 161.4K Code, 65.7K Data, 227.1K Total
3880 1.1 jruoho Current Release:
3881 1.1 jruoho Non-Debug Version: 81.1K Code, 17.8K Data, 98.9K Total
3882 1.1 jruoho Debug Version: 161.6K Code, 65.7K Data, 227.3K Total
3883 1.1 jruoho
3884 1.1 jruoho
3885 1.1 jruoho 2) iASL Compiler/Disassembler:
3886 1.1 jruoho
3887 1.1 jruoho Disassembler: implemented support for symbolic resource descriptor
3888 1.1 jruoho references. If a CreateXxxxField operator references a fixed offset within a
3889 1.1 jruoho resource descriptor, a name is assigned to the descriptor and the offset is
3890 1.1 jruoho translated to the appropriate resource tag and pathname. The addition of
3891 1.1 jruoho this support brings the disassembled code very close to the original ASL
3892 1.1 jruoho source code and helps eliminate run-time errors when the disassembled code
3893 1.1 jruoho is modified (and recompiled) in such a way as to invalidate the original
3894 1.1 jruoho fixed offsets.
3895 1.1 jruoho
3896 1.1 jruoho Implemented support for a Descriptor Name as the last parameter to the ASL
3897 1.1 jruoho Register() macro. This parameter was inadvertently left out of the ACPI
3898 1.1 jruoho specification, and will be added for ACPI 3.0b.
3899 1.1 jruoho
3900 1.1 jruoho Fixed a problem where the use of the "_OSI" string (versus the full path
3901 1.1 jruoho "\_OSI") caused an internal compiler error. ("No back ptr to op")
3902 1.1 jruoho
3903 1.1 jruoho Fixed a problem with the error message that occurs when an invalid string is
3904 1.1 jruoho used for a _HID object (such as one with an embedded asterisk: "*PNP010A".)
3905 1.1 jruoho The correct message is now displayed.
3906 1.1 jruoho
3907 1.1 jruoho ----------------------------------------
3908 1.1 jruoho 17 February 2006. Summary of changes for version 20060217:
3909 1.1 jruoho
3910 1.1 jruoho 1) ACPI CA Core Subsystem:
3911 1.1 jruoho
3912 1.1 jruoho Implemented a change to the IndexField support to match the behavior of the
3913 1.1 jruoho Microsoft AML interpreter. The value written to the Index register is now a
3914 1.1 jruoho byte offset, no longer an index based upon the width of the Data register.
3915 1.1 jruoho This should fix IndexField problems seen on some machines where the Data
3916 1.1 jruoho register is not exactly one byte wide. The ACPI specification will be
3917 1.1 jruoho clarified on this point.
3918 1.1 jruoho
3919 1.1 jruoho Fixed a problem where several resource descriptor types could overrun the
3920 1.1 jruoho internal descriptor buffer due to size miscalculation: VendorShort,
3921 1.1 jruoho VendorLong, and Interrupt. This was noticed on IA64 machines, but could
3922 1.1 jruoho affect all platforms.
3923 1.1 jruoho
3924 1.1 jruoho Fixed a problem where individual resource descriptors were misaligned within
3925 1.1 jruoho the internal buffer, causing alignment faults on IA64 platforms.
3926 1.1 jruoho
3927 1.1 jruoho Code and Data Size: These are the sizes for the acpica.lib produced by the
3928 1.1 jruoho Microsoft Visual C++ 6.0 32-bit compiler. The values do not include any ACPI
3929 1.1 jruoho driver or OSPM code. The debug version of the code includes the debug output
3930 1.1 jruoho trace mechanism and has a much larger code and data size. Note that these
3931 1.1 jruoho values will vary depending on the efficiency of the compiler and the
3932 1.1 jruoho compiler options used during generation.
3933 1.1 jruoho
3934 1.1 jruoho Previous Release:
3935 1.1 jruoho Non-Debug Version: 81.1K Code, 17.8K Data, 98.9K Total
3936 1.1 jruoho Debug Version: 161.3K Code, 65.6K Data, 226.9K Total
3937 1.1 jruoho Current Release:
3938 1.1 jruoho Non-Debug Version: 81.0K Code, 17.8K Data, 98.8K Total
3939 1.1 jruoho Debug Version: 161.4K Code, 65.7K Data, 227.1K Total
3940 1.1 jruoho
3941 1.1 jruoho
3942 1.1 jruoho 2) iASL Compiler/Disassembler:
3943 1.1 jruoho
3944 1.1 jruoho Implemented support for new reserved names: _WDG and _WED are Microsoft
3945 1.1 jruoho extensions for Windows Instrumentation Management, _TDL is a new ACPI-
3946 1.1 jruoho defined method (Throttling Depth Limit.)
3947 1.1 jruoho
3948 1.1 jruoho Fixed a problem where a zero-length VendorShort or VendorLong resource
3949 1.1 jruoho descriptor was incorrectly emitted as a descriptor of length one.
3950 1.1 jruoho
3951 1.1 jruoho ----------------------------------------
3952 1.1 jruoho 10 February 2006. Summary of changes for version 20060210:
3953 1.1 jruoho
3954 1.1 jruoho 1) ACPI CA Core Subsystem:
3955 1.1 jruoho
3956 1.1 jruoho Removed a couple of extraneous ACPI_ERROR messages that appeared during
3957 1.1 jruoho normal execution. These became apparent after the conversion from
3958 1.1 jruoho ACPI_DEBUG_PRINT.
3959 1.1 jruoho
3960 1.1 jruoho Fixed a problem where the CreateField operator could hang if the BitIndex or
3961 1.1 jruoho NumBits parameter referred to a named object. (Valery Podrezov, BZ 5359)
3962 1.1 jruoho
3963 1.1 jruoho Fixed a problem where a DeRefOf operation on a buffer object incorrectly
3964 1.1 jruoho failed with an exception. This also fixes a couple of related RefOf and
3965 1.1 jruoho DeRefOf issues. (Valery Podrezov, BZ 5360/5392/5387)
3966 1.1 jruoho
3967 1.1 jruoho Fixed a problem where the AE_BUFFER_LIMIT exception was returned instead of
3968 1.1 jruoho AE_STRING_LIMIT on an out-of-bounds Index() operation. (Valery Podrezov, BZ
3969 1.1 jruoho 5480)
3970 1.1 jruoho
3971 1.1 jruoho Implemented a memory cleanup at the end of the execution of each iteration
3972 1.1 jruoho of an AML While() loop, preventing the accumulation of outstanding objects.
3973 1.1 jruoho (Valery Podrezov, BZ 5427)
3974 1.1 jruoho
3975 1.1 jruoho Eliminated a chunk of duplicate code in the object resolution code. (Valery
3976 1.1 jruoho Podrezov, BZ 5336)
3977 1.1 jruoho
3978 1.1 jruoho Fixed several warnings during the 64-bit code generation.
3979 1.1 jruoho
3980 1.1 jruoho The AcpiSrc source code conversion tool now inserts one line of whitespace
3981 1.1 jruoho after an if() statement that is followed immediately by a comment, improving
3982 1.1 jruoho readability of the Linux code.
3983 1.1 jruoho
3984 1.1 jruoho Code and Data Size: The current and previous library sizes for the core
3985 1.1 jruoho subsystem are shown below. These are the code and data sizes for the
3986 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These
3987 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug version of the
3988 1.1 jruoho code includes the debug output trace mechanism and has a much larger code
3989 1.1 jruoho and data size. Note that these values will vary depending on the efficiency
3990 1.1 jruoho of the compiler and the compiler options used during generation.
3991 1.1 jruoho
3992 1.1 jruoho Previous Release:
3993 1.1 jruoho Non-Debug Version: 81.0K Code, 17.9K Data, 98.9K Total
3994 1.1 jruoho Debug Version: 161.3K Code, 65.7K Data, 227.0K Total
3995 1.1 jruoho Current Release:
3996 1.1 jruoho Non-Debug Version: 81.1K Code, 17.8K Data, 98.9K Total
3997 1.1 jruoho Debug Version: 161.3K Code, 65.6K Data, 226.9K Total
3998 1.1 jruoho
3999 1.1 jruoho
4000 1.1 jruoho 2) iASL Compiler/Disassembler:
4001 1.1 jruoho
4002 1.1 jruoho Fixed a problem with the disassembly of a BankField operator with a complex
4003 1.1 jruoho expression for the BankValue parameter.
4004 1.1 jruoho
4005 1.1 jruoho ----------------------------------------
4006 1.1 jruoho 27 January 2006. Summary of changes for version 20060127:
4007 1.1 jruoho
4008 1.1 jruoho 1) ACPI CA Core Subsystem:
4009 1.1 jruoho
4010 1.1 jruoho Implemented support in the Resource Manager to allow unresolved namestring
4011 1.1 jruoho references within resource package objects for the _PRT method. This support
4012 1.1 jruoho is in addition to the previously implemented unresolved reference support
4013 1.1 jruoho within the AML parser. If the interpreter slack mode is enabled, these
4014 1.1 jruoho unresolved references will be passed through to the caller as a NULL package
4015 1.1 jruoho entry.
4016 1.1 jruoho
4017 1.1 jruoho Implemented and deployed new macros and functions for error and warning
4018 1.1 jruoho messages across the subsystem. These macros are simpler and generate less
4019 1.1 jruoho code than their predecessors. The new macros ACPI_ERROR, ACPI_EXCEPTION,
4020 1.1 jruoho ACPI_WARNING, and ACPI_INFO replace the ACPI_REPORT_* macros. The older
4021 1.1 jruoho macros remain defined to allow ACPI drivers time to migrate to the new
4022 1.1 jruoho macros.
4023 1.1 jruoho
4024 1.1 jruoho Implemented the ACPI_CPU_FLAGS type to simplify host OS integration of the
4025 1.1 jruoho Acquire/Release Lock OSL interfaces.
4026 1.1 jruoho
4027 1.1 jruoho Fixed a problem where Alias ASL operators are sometimes not correctly
4028 1.1 jruoho resolved, in both the interpreter and the iASL compiler.
4029 1.1 jruoho
4030 1.1 jruoho Fixed several problems with the implementation of the ConcatenateResTemplate
4031 1.1 jruoho ASL operator. As per the ACPI specification, zero length buffers are now
4032 1.1 jruoho treated as a single EndTag. One-length buffers always cause a fatal
4033 1.1 jruoho exception. Non-zero length buffers that do not end with a full 2-byte EndTag
4034 1.1 jruoho cause a fatal exception.
4035 1.1 jruoho
4036 1.1 jruoho Fixed a possible structure overwrite in the AcpiGetObjectInfo external
4037 1.1 jruoho interface. (With assistance from Thomas Renninger)
4038 1.1 jruoho
4039 1.1 jruoho Code and Data Size: The current and previous library sizes for the core
4040 1.1 jruoho subsystem are shown below. These are the code and data sizes for the
4041 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These
4042 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug version of the
4043 1.1 jruoho code includes the debug output trace mechanism and has a much larger code
4044 1.1 jruoho and data size. Note that these values will vary depending on the efficiency
4045 1.1 jruoho of the compiler and the compiler options used during generation.
4046 1.1 jruoho
4047 1.1 jruoho Previous Release:
4048 1.1 jruoho Non-Debug Version: 83.1K Code, 18.4K Data, 101.5K Total
4049 1.1 jruoho Debug Version: 163.2K Code, 66.2K Data, 229.4K Total
4050 1.1 jruoho Current Release:
4051 1.1 jruoho Non-Debug Version: 81.0K Code, 17.9K Data, 98.9K Total
4052 1.1 jruoho Debug Version: 161.3K Code, 65.7K Data, 227.0K Total
4053 1.1 jruoho
4054 1.1 jruoho
4055 1.1 jruoho 2) iASL Compiler/Disassembler:
4056 1.1 jruoho
4057 1.1 jruoho Fixed an internal error that was generated for any forward references to ASL
4058 1.1 jruoho Alias objects.
4059 1.1 jruoho
4060 1.1 jruoho ----------------------------------------
4061 1.1 jruoho 13 January 2006. Summary of changes for version 20060113:
4062 1.1 jruoho
4063 1.1 jruoho 1) ACPI CA Core Subsystem:
4064 1.1 jruoho
4065 1.1 jruoho Added 2006 copyright to all module headers and signons. This affects
4066 1.1 jruoho virtually every file in the ACPICA core subsystem, iASL compiler, and the
4067 1.1 jruoho utilities.
4068 1.1 jruoho
4069 1.1 jruoho Enhanced the ACPICA error reporting in order to simplify user migration to
4070 1.1 jruoho the non-debug version of ACPICA. Replaced all instances of the
4071 1.1 jruoho ACPI_DEBUG_PRINT macro invoked at the ACPI_DB_ERROR and ACPI_DB_WARN debug
4072 1.1 jruoho levels with the ACPI_REPORT_ERROR and ACPI_REPORT_WARNING macros,
4073 1.1 jruoho respectively. This preserves all error and warning messages in the non-debug
4074 1.1 jruoho version of the ACPICA code (this has been referred to as the "debug lite"
4075 1.1 jruoho option.) Over 200 cases were converted to create a total of over 380
4076 1.1 jruoho error/warning messages across the ACPICA code. This increases the code and
4077 1.1 jruoho data size of the default non-debug version of the code somewhat (about 13K),
4078 1.1 jruoho but all error/warning reporting may be disabled if desired (and code
4079 1.1 jruoho eliminated) by specifying the ACPI_NO_ERROR_MESSAGES compile-time
4080 1.1 jruoho configuration option. The size of the debug version of ACPICA remains about
4081 1.1 jruoho the same.
4082 1.1 jruoho
4083 1.1 jruoho Fixed a memory leak within the AML Debugger "Set" command. One object was
4084 1.1 jruoho not properly deleted for every successful invocation of the command.
4085 1.1 jruoho
4086 1.1 jruoho Code and Data Size: The current and previous library sizes for the core
4087 1.1 jruoho subsystem are shown below. These are the code and data sizes for the
4088 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These
4089 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug version of the
4090 1.1 jruoho code includes the debug output trace mechanism and has a much larger code
4091 1.1 jruoho and data size. Note that these values will vary depending on the efficiency
4092 1.1 jruoho of the compiler and the compiler options used during generation.
4093 1.1 jruoho
4094 1.1 jruoho Previous Release:
4095 1.1 jruoho Non-Debug Version: 76.6K Code, 12.3K Data, 88.9K Total
4096 1.1 jruoho Debug Version: 163.7K Code, 67.5K Data, 231.2K Total
4097 1.1 jruoho Current Release:
4098 1.1 jruoho Non-Debug Version: 83.1K Code, 18.4K Data, 101.5K Total
4099 1.1 jruoho Debug Version: 163.2K Code, 66.2K Data, 229.4K Total
4100 1.1 jruoho
4101 1.1 jruoho
4102 1.1 jruoho 2) iASL Compiler/Disassembler:
4103 1.1 jruoho
4104 1.1 jruoho The compiler now officially supports the ACPI 3.0a specification that was
4105 1.1 jruoho released on December 30, 2005. (Specification is available at www.acpi.info)
4106 1.1 jruoho
4107 1.1 jruoho ----------------------------------------
4108 1.1 jruoho 16 December 2005. Summary of changes for version 20051216:
4109 1.1 jruoho
4110 1.1 jruoho 1) ACPI CA Core Subsystem:
4111 1.1 jruoho
4112 1.1 jruoho Implemented optional support to allow unresolved names within ASL Package
4113 1.1 jruoho objects. A null object is inserted in the package when a named reference
4114 1.1 jruoho cannot be located in the current namespace. Enabled via the interpreter
4115 1.1 jruoho slack flag, this should eliminate AE_NOT_FOUND exceptions seen on machines
4116 1.1 jruoho that contain such code.
4117 1.1 jruoho
4118 1.1 jruoho Implemented an optimization to the initialization sequence that can improve
4119 1.1 jruoho boot time. During ACPI device initialization, the _STA method is now run if
4120 1.1 jruoho and only if the _INI method exists. The _STA method is used to determine if
4121 1.1 jruoho the device is present; An _INI can only be run if _STA returns present, but
4122 1.1 jruoho it is a waste of time to run the _STA method if the _INI does not exist.
4123 1.1 jruoho (Prototype and assistance from Dong Wei)
4124 1.1 jruoho
4125 1.1 jruoho Implemented use of the C99 uintptr_t for the pointer casting macros if it is
4126 1.1 jruoho available in the current compiler. Otherwise, the default (void *) cast is
4127 1.1 jruoho used as before.
4128 1.1 jruoho
4129 1.1 jruoho Fixed some possible memory leaks found within the execution path of the
4130 1.1 jruoho Break, Continue, If, and CreateField operators. (Valery Podrezov)
4131 1.1 jruoho
4132 1.1 jruoho Fixed a problem introduced in the 20051202 release where an exception is
4133 1.1 jruoho generated during method execution if a control method attempts to declare
4134 1.1 jruoho another method.
4135 1.1 jruoho
4136 1.1 jruoho Moved resource descriptor string constants that are used by both the AML
4137 1.1 jruoho disassembler and AML debugger to the common utilities directory so that
4138 1.1 jruoho these components are independent.
4139 1.1 jruoho
4140 1.1 jruoho Implemented support in the AcpiExec utility (-e switch) to globally ignore
4141 1.1 jruoho exceptions during control method execution (method is not aborted.)
4142 1.1 jruoho
4143 1.1 jruoho Added the rsinfo.c source file to the AcpiExec makefile for Linux/Unix
4144 1.1 jruoho generation.
4145 1.1 jruoho
4146 1.1 jruoho Code and Data Size: The current and previous library sizes for the core
4147 1.1 jruoho subsystem are shown below. These are the code and data sizes for the
4148 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These
4149 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug version of the
4150 1.1 jruoho code includes the debug output trace mechanism and has a much larger code
4151 1.1 jruoho and data size. Note that these values will vary depending on the efficiency
4152 1.1 jruoho of the compiler and the compiler options used during generation.
4153 1.1 jruoho
4154 1.1 jruoho Previous Release:
4155 1.1 jruoho Non-Debug Version: 76.3K Code, 12.3K Data, 88.6K Total
4156 1.1 jruoho Debug Version: 163.2K Code, 67.4K Data, 230.6K Total
4157 1.1 jruoho Current Release:
4158 1.1 jruoho Non-Debug Version: 76.6K Code, 12.3K Data, 88.9K Total
4159 1.1 jruoho Debug Version: 163.7K Code, 67.5K Data, 231.2K Total
4160 1.1 jruoho
4161 1.1 jruoho
4162 1.1 jruoho 2) iASL Compiler/Disassembler:
4163 1.1 jruoho
4164 1.1 jruoho Fixed a problem where a CPU stack overflow fault could occur if a recursive
4165 1.1 jruoho method call was made from within a Return statement.
4166 1.1 jruoho
4167 1.1 jruoho ----------------------------------------
4168 1.1 jruoho 02 December 2005. Summary of changes for version 20051202:
4169 1.1 jruoho
4170 1.1 jruoho 1) ACPI CA Core Subsystem:
4171 1.1 jruoho
4172 1.1 jruoho Modified the parsing of control methods to no longer create namespace
4173 1.1 jruoho objects during the first pass of the parse. Objects are now created only
4174 1.1 jruoho during the execute phase, at the moment the namespace creation operator is
4175 1.1 jruoho encountered in the AML (Name, OperationRegion, CreateByteField, etc.) This
4176 1.1 jruoho should eliminate ALREADY_EXISTS exceptions seen on some machines where
4177 1.1 jruoho reentrant control methods are protected by an AML mutex. The mutex will now
4178 1.1 jruoho correctly block multiple threads from attempting to create the same object
4179 1.1 jruoho more than once.
4180 1.1 jruoho
4181 1.1 jruoho Increased the number of available Owner Ids for namespace object tracking
4182 1.1 jruoho from 32 to 255. This should eliminate the OWNER_ID_LIMIT exceptions seen on
4183 1.1 jruoho some machines with a large number of ACPI tables (either static or dynamic).
4184 1.1 jruoho
4185 1.1 jruoho Fixed a problem with the AcpiExec utility where a fault could occur when the
4186 1.1 jruoho -b switch (batch mode) is used.
4187 1.1 jruoho
4188 1.1 jruoho Enhanced the namespace dump routine to output the owner ID for each
4189 1.1 jruoho namespace object.
4190 1.1 jruoho
4191 1.1 jruoho Code and Data Size: The current and previous library sizes for the core
4192 1.1 jruoho subsystem are shown below. These are the code and data sizes for the
4193 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These
4194 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug version of the
4195 1.1 jruoho code includes the debug output trace mechanism and has a much larger code
4196 1.1 jruoho and data size. Note that these values will vary depending on the efficiency
4197 1.1 jruoho of the compiler and the compiler options used during generation.
4198 1.1 jruoho
4199 1.1 jruoho Previous Release:
4200 1.1 jruoho Non-Debug Version: 76.3K Code, 12.3K Data, 88.6K Total
4201 1.1 jruoho Debug Version: 163.0K Code, 67.4K Data, 230.4K Total
4202 1.1 jruoho Current Release:
4203 1.1 jruoho Non-Debug Version: 76.3K Code, 12.3K Data, 88.6K Total
4204 1.1 jruoho Debug Version: 163.2K Code, 67.4K Data, 230.6K Total
4205 1.1 jruoho
4206 1.1 jruoho
4207 1.1 jruoho 2) iASL Compiler/Disassembler:
4208 1.1 jruoho
4209 1.1 jruoho Fixed a parse error during compilation of certain Switch/Case constructs. To
4210 1.1 jruoho simplify the parse, the grammar now allows for multiple Default statements
4211 1.1 jruoho and this error is now detected and flagged during the analysis phase.
4212 1.1 jruoho
4213 1.1 jruoho Disassembler: The disassembly now includes the contents of the original
4214 1.1 jruoho table header within a comment at the start of the file. This includes the
4215 1.1 jruoho name and version of the original ASL compiler.
4216 1.1 jruoho
4217 1.1 jruoho ----------------------------------------
4218 1.1 jruoho 17 November 2005. Summary of changes for version 20051117:
4219 1.1 jruoho
4220 1.1 jruoho 1) ACPI CA Core Subsystem:
4221 1.1 jruoho
4222 1.1 jruoho Fixed a problem in the AML parser where the method thread count could be
4223 1.1 jruoho decremented below zero if any errors occurred during the method parse phase.
4224 1.1 jruoho This should eliminate AE_AML_METHOD_LIMIT exceptions seen on some machines.
4225 1.1 jruoho This also fixed a related regression with the mechanism that detects and
4226 1.1 jruoho corrects methods that cannot properly handle reentrancy (related to the
4227 1.1 jruoho deployment of the new OwnerId mechanism.)
4228 1.1 jruoho
4229 1.1 jruoho Eliminated the pre-parsing of control methods (to detect errors) during
4230 1.1 jruoho table load. Related to the problem above, this was causing unwind issues if
4231 1.1 jruoho any errors occurred during the parse, and it seemed to be overkill. A table
4232 1.1 jruoho load should not be aborted if there are problems with any single control
4233 1.1 jruoho method, thus rendering this feature rather pointless.
4234 1.1 jruoho
4235 1.1 jruoho Fixed a problem with the new table-driven resource manager where an internal
4236 1.1 jruoho buffer overflow could occur for small resource templates.
4237 1.1 jruoho
4238 1.1 jruoho Implemented a new external interface, AcpiGetVendorResource. This interface
4239 1.1 jruoho will find and return a vendor-defined resource descriptor within a _CRS or
4240 1.1 jruoho _PRS method via an ACPI 3.0 UUID match. With assistance from Bjorn Helgaas.
4241 1.1 jruoho
4242 1.1 jruoho Removed the length limit (200) on string objects as per the upcoming ACPI
4243 1.1 jruoho 3.0A specification. This affects the following areas of the interpreter: 1)
4244 1.1 jruoho any implicit conversion of a Buffer to a String, 2) a String object result
4245 1.1 jruoho of the ASL Concatentate operator, 3) the String object result of the ASL
4246 1.1 jruoho ToString operator.
4247 1.1 jruoho
4248 1.1 jruoho Fixed a problem in the Windows OS interface layer (OSL) where a WAIT_FOREVER
4249 1.1 jruoho on a semaphore object would incorrectly timeout. This allows the
4250 1.1 jruoho multithreading features of the AcpiExec utility to work properly under
4251 1.1 jruoho Windows.
4252 1.1 jruoho
4253 1.1 jruoho Updated the Linux makefiles for the iASL compiler and AcpiExec to include
4254 1.1 jruoho the recently added file named "utresrc.c".
4255 1.1 jruoho
4256 1.1 jruoho Code and Data Size: The current and previous library sizes for the core
4257 1.1 jruoho subsystem are shown below. These are the code and data sizes for the
4258 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These
4259 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug version of the
4260 1.1 jruoho code includes the debug output trace mechanism and has a much larger code
4261 1.1 jruoho and data size. Note that these values will vary depending on the efficiency
4262 1.1 jruoho of the compiler and the compiler options used during generation.
4263 1.1 jruoho
4264 1.1 jruoho Previous Release:
4265 1.1 jruoho Non-Debug Version: 76.2K Code, 12.3K Data, 88.5K Total
4266 1.1 jruoho Debug Version: 163.0K Code, 67.4K Data, 230.4K Total
4267 1.1 jruoho Current Release:
4268 1.1 jruoho Non-Debug Version: 76.3K Code, 12.3K Data, 88.6K Total
4269 1.1 jruoho Debug Version: 163.0K Code, 67.4K Data, 230.4K Total
4270 1.1 jruoho
4271 1.1 jruoho
4272 1.1 jruoho 2) iASL Compiler/Disassembler:
4273 1.1 jruoho
4274 1.1 jruoho Removed the limit (200) on string objects as per the upcoming ACPI 3.0A
4275 1.1 jruoho specification. For the iASL compiler, this means that string literals within
4276 1.1 jruoho the source ASL can be of any length.
4277 1.1 jruoho
4278 1.1 jruoho Enhanced the listing output to dump the AML code for resource descriptors
4279 1.1 jruoho immediately after the ASL code for each descriptor, instead of in a block at
4280 1.1 jruoho the end of the entire resource template.
4281 1.1 jruoho
4282 1.1 jruoho Enhanced the compiler debug output to dump the entire original parse tree
4283 1.1 jruoho constructed during the parse phase, before any transforms are applied to the
4284 1.1 jruoho tree. The transformed tree is dumped also.
4285 1.1 jruoho
4286 1.1 jruoho ----------------------------------------
4287 1.1 jruoho 02 November 2005. Summary of changes for version 20051102:
4288 1.1 jruoho
4289 1.1 jruoho 1) ACPI CA Core Subsystem:
4290 1.1 jruoho
4291 1.1 jruoho Modified the subsystem initialization sequence to improve GPE support. The
4292 1.1 jruoho GPE initialization has been split into two parts in order to defer execution
4293 1.1 jruoho of the _PRW methods (Power Resources for Wake) until after the hardware is
4294 1.1 jruoho fully initialized and the SCI handler is installed. This allows the _PRW
4295 1.1 jruoho methods to access fields protected by the Global Lock. This will fix systems
4296 1.1 jruoho where a NO_GLOBAL_LOCK exception has been seen during initialization.
4297 1.1 jruoho
4298 1.1 jruoho Converted the ACPI internal object disassemble and display code within the
4299 1.1 jruoho AML debugger to fully table-driven operation, reducing code size and
4300 1.1 jruoho increasing maintainability.
4301 1.1 jruoho
4302 1.1 jruoho Fixed a regression with the ConcatenateResTemplate() ASL operator introduced
4303 1.1 jruoho in the 20051021 release.
4304 1.1 jruoho
4305 1.1 jruoho Implemented support for "local" internal ACPI object types within the
4306 1.1 jruoho debugger "Object" command and the AcpiWalkNamespace external interfaces.
4307 1.1 jruoho These local types include RegionFields, BankFields, IndexFields, Alias, and
4308 1.1 jruoho reference objects.
4309 1.1 jruoho
4310 1.1 jruoho Moved common AML resource handling code into a new file, "utresrc.c". This
4311 1.1 jruoho code is shared by both the Resource Manager and the AML Debugger.
4312 1.1 jruoho
4313 1.1 jruoho Code and Data Size: The current and previous library sizes for the core
4314 1.1 jruoho subsystem are shown below. These are the code and data sizes for the
4315 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These
4316 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug version of the
4317 1.1 jruoho code includes the debug output trace mechanism and has a much larger code
4318 1.1 jruoho and data size. Note that these values will vary depending on the efficiency
4319 1.1 jruoho of the compiler and the compiler options used during generation.
4320 1.1 jruoho
4321 1.1 jruoho Previous Release:
4322 1.1 jruoho Non-Debug Version: 76.1K Code, 12.2K Data, 88.3K Total
4323 1.1 jruoho Debug Version: 163.5K Code, 67.0K Data, 230.5K Total
4324 1.1 jruoho Current Release:
4325 1.1 jruoho Non-Debug Version: 76.2K Code, 12.3K Data, 88.5K Total
4326 1.1 jruoho Debug Version: 163.0K Code, 67.4K Data, 230.4K Total
4327 1.1 jruoho
4328 1.1 jruoho
4329 1.1 jruoho 2) iASL Compiler/Disassembler:
4330 1.1 jruoho
4331 1.1 jruoho Fixed a problem with very large initializer lists (more than 4000 elements)
4332 1.1 jruoho for both Buffer and Package objects where the parse stack could overflow.
4333 1.1 jruoho
4334 1.1 jruoho Enhanced the pre-compile source code scan for non-ASCII characters to ignore
4335 1.1 jruoho characters within comment fields. The scan is now always performed and is no
4336 1.1 jruoho longer optional, detecting invalid characters within a source file
4337 1.1 jruoho immediately rather than during the parse phase or later.
4338 1.1 jruoho
4339 1.1 jruoho Enhanced the ASL grammar definition to force early reductions on all list-
4340 1.1 jruoho style grammar elements so that the overall parse stack usage is greatly
4341 1.1 jruoho reduced. This should improve performance and reduce the possibility of parse
4342 1.1 jruoho stack overflow.
4343 1.1 jruoho
4344 1.1 jruoho Eliminated all reduce/reduce conflicts in the iASL parser generation. Also,
4345 1.1 jruoho with the addition of a %expected statement, the compiler generates from
4346 1.1 jruoho source with no warnings.
4347 1.1 jruoho
4348 1.1 jruoho Fixed a possible segment fault in the disassembler if the input filename
4349 1.1 jruoho does not contain a "dot" extension (Thomas Renninger).
4350 1.1 jruoho
4351 1.1 jruoho ----------------------------------------
4352 1.1 jruoho 21 October 2005. Summary of changes for version 20051021:
4353 1.1 jruoho
4354 1.1 jruoho 1) ACPI CA Core Subsystem:
4355 1.1 jruoho
4356 1.1 jruoho Implemented support for the EM64T and other x86-64 processors. This
4357 1.1 jruoho essentially entails recognizing that these processors support non-aligned
4358 1.1 jruoho memory transfers. Previously, all 64-bit processors were assumed to lack
4359 1.1 jruoho hardware support for non-aligned transfers.
4360 1.1 jruoho
4361 1.1 jruoho Completed conversion of the Resource Manager to nearly full table-driven
4362 1.1 jruoho operation. Specifically, the resource conversion code (convert AML to
4363 1.1 jruoho internal format and the reverse) and the debug code to dump internal
4364 1.1 jruoho resource descriptors are fully table-driven, reducing code and data size and
4365 1.1 jruoho improving maintainability.
4366 1.1 jruoho
4367 1.1 jruoho The OSL interfaces for Acquire and Release Lock now use a 64-bit flag word
4368 1.1 jruoho on 64-bit processors instead of a fixed 32-bit word. (With assistance from
4369 1.1 jruoho Alexey Starikovskiy)
4370 1.1 jruoho
4371 1.1 jruoho Implemented support within the resource conversion code for the Type-
4372 1.1 jruoho Specific byte within the various ACPI 3.0 *WordSpace macros.
4373 1.1 jruoho
4374 1.1 jruoho Fixed some issues within the resource conversion code for the type-specific
4375 1.1 jruoho flags for both Memory and I/O address resource descriptors. For Memory,
4376 1.1 jruoho implemented support for the MTP and TTP flags. For I/O, split the TRS and
4377 1.1 jruoho TTP flags into two separate fields.
4378 1.1 jruoho
4379 1.1 jruoho Code and Data Size: The current and previous library sizes for the core
4380 1.1 jruoho subsystem are shown below. These are the code and data sizes for the
4381 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These
4382 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug version of the
4383 1.1 jruoho code includes the debug output trace mechanism and has a much larger code
4384 1.1 jruoho and data size. Note that these values will vary depending on the efficiency
4385 1.1 jruoho of the compiler and the compiler options used during generation.
4386 1.1 jruoho
4387 1.1 jruoho Previous Release:
4388 1.1 jruoho Non-Debug Version: 77.1K Code, 12.1K Data, 89.2K Total
4389 1.1 jruoho Debug Version: 168.0K Code, 68.3K Data, 236.3K Total
4390 1.1 jruoho Current Release:
4391 1.1 jruoho Non-Debug Version: 76.1K Code, 12.2K Data, 88.3K Total
4392 1.1 jruoho Debug Version: 163.5K Code, 67.0K Data, 230.5K Total
4393 1.1 jruoho
4394 1.1 jruoho
4395 1.1 jruoho
4396 1.1 jruoho 2) iASL Compiler/Disassembler:
4397 1.1 jruoho
4398 1.1 jruoho Relaxed a compiler restriction that disallowed a ResourceIndex byte if the
4399 1.1 jruoho corresponding ResourceSource string was not also present in a resource
4400 1.1 jruoho descriptor declaration. This restriction caused problems with existing
4401 1.1 jruoho AML/ASL code that includes the Index byte without the string. When such AML
4402 1.1 jruoho was disassembled, it could not be compiled without modification. Further,
4403 1.1 jruoho the modified code created a resource template with a different size than the
4404 1.1 jruoho original, breaking code that used fixed offsets into the resource template
4405 1.1 jruoho buffer.
4406 1.1 jruoho
4407 1.1 jruoho Removed a recent feature of the disassembler to ignore a lone ResourceIndex
4408 1.1 jruoho byte. This byte is now emitted if present so that the exact AML can be
4409 1.1 jruoho reproduced when the disassembled code is recompiled.
4410 1.1 jruoho
4411 1.1 jruoho Improved comments and text alignment for the resource descriptor code
4412 1.1 jruoho emitted by the disassembler.
4413 1.1 jruoho
4414 1.1 jruoho Implemented disassembler support for the ACPI 3.0 AccessSize field within a
4415 1.1 jruoho Register() resource descriptor.
4416 1.1 jruoho
4417 1.1 jruoho ----------------------------------------
4418 1.1 jruoho 30 September 2005. Summary of changes for version 20050930:
4419 1.1 jruoho
4420 1.1 jruoho 1) ACPI CA Core Subsystem:
4421 1.1 jruoho
4422 1.1 jruoho Completed a major overhaul of the Resource Manager code - specifically,
4423 1.1 jruoho optimizations in the area of the AML/internal resource conversion code. The
4424 1.1 jruoho code has been optimized to simplify and eliminate duplicated code, CPU stack
4425 1.1 jruoho use has been decreased by optimizing function parameters and local
4426 1.1 jruoho variables, and naming conventions across the manager have been standardized
4427 1.1 jruoho for clarity and ease of maintenance (this includes function, parameter,
4428 1.1 jruoho variable, and struct/typedef names.) The update may force changes in some
4429 1.1 jruoho driver code, depending on how resources are handled by the host OS.
4430 1.1 jruoho
4431 1.1 jruoho All Resource Manager dispatch and information tables have been moved to a
4432 1.1 jruoho single location for clarity and ease of maintenance. One new file was
4433 1.1 jruoho created, named "rsinfo.c".
4434 1.1 jruoho
4435 1.1 jruoho The ACPI return macros (return_ACPI_STATUS, etc.) have been modified to
4436 1.1 jruoho guarantee that the argument is not evaluated twice, making them less prone
4437 1.1 jruoho to macro side-effects. However, since there exists the possibility of
4438 1.1 jruoho additional stack use if a particular compiler cannot optimize them (such as
4439 1.1 jruoho in the debug generation case), the original macros are optionally available.
4440 1.1 jruoho Note that some invocations of the return_VALUE macro may now cause size
4441 1.1 jruoho mismatch warnings; the return_UINT8 and return_UINT32 macros are provided to
4442 1.1 jruoho eliminate these. (From Randy Dunlap)
4443 1.1 jruoho
4444 1.1 jruoho Implemented a new mechanism to enable debug tracing for individual control
4445 1.1 jruoho methods. A new external interface, AcpiDebugTrace, is provided to enable
4446 1.1 jruoho this mechanism. The intent is to allow the host OS to easily enable and
4447 1.1 jruoho disable tracing for problematic control methods. This interface can be
4448 1.1 jruoho easily exposed to a user or debugger interface if desired. See the file
4449 1.1 jruoho psxface.c for details.
4450 1.1 jruoho
4451 1.1 jruoho AcpiUtCallocate will now return a valid pointer if a length of zero is
4452 1.1 jruoho specified - a length of one is used and a warning is issued. This matches
4453 1.1 jruoho the behavior of AcpiUtAllocate.
4454 1.1 jruoho
4455 1.1 jruoho Code and Data Size: The current and previous library sizes for the core
4456 1.1 jruoho subsystem are shown below. These are the code and data sizes for the
4457 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These
4458 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug version of the
4459 1.1 jruoho code includes the debug output trace mechanism and has a much larger code
4460 1.1 jruoho and data size. Note that these values will vary depending on the efficiency
4461 1.1 jruoho of the compiler and the compiler options used during generation.
4462 1.1 jruoho
4463 1.1 jruoho Previous Release:
4464 1.1 jruoho Non-Debug Version: 77.5K Code, 12.0K Data, 89.5K Total
4465 1.1 jruoho Debug Version: 168.1K Code, 68.4K Data, 236.5K Total
4466 1.1 jruoho Current Release:
4467 1.1 jruoho Non-Debug Version: 77.1K Code, 12.1K Data, 89.2K Total
4468 1.1 jruoho Debug Version: 168.0K Code, 68.3K Data, 236.3K Total
4469 1.1 jruoho
4470 1.1 jruoho
4471 1.1 jruoho 2) iASL Compiler/Disassembler:
4472 1.1 jruoho
4473 1.1 jruoho A remark is issued if the effective compile-time length of a package or
4474 1.1 jruoho buffer is zero. Previously, this was a warning.
4475 1.1 jruoho
4476 1.1 jruoho ----------------------------------------
4477 1.1 jruoho 16 September 2005. Summary of changes for version 20050916:
4478 1.1 jruoho
4479 1.1 jruoho 1) ACPI CA Core Subsystem:
4480 1.1 jruoho
4481 1.1 jruoho Fixed a problem within the Resource Manager where support for the Generic
4482 1.1 jruoho Register descriptor was not fully implemented. This descriptor is now fully
4483 1.1 jruoho recognized, parsed, disassembled, and displayed.
4484 1.1 jruoho
4485 1.1 jruoho Completely restructured the Resource Manager code to utilize table-driven
4486 1.1 jruoho dispatch and lookup, eliminating many of the large switch() statements. This
4487 1.1 jruoho reduces overall subsystem code size and code complexity. Affects the
4488 1.1 jruoho resource parsing and construction, disassembly, and debug dump output.
4489 1.1 jruoho
4490 1.1 jruoho Cleaned up and restructured the debug dump output for all resource
4491 1.1 jruoho descriptors. Improved readability of the output and reduced code size.
4492 1.1 jruoho
4493 1.1 jruoho Fixed a problem where changes to internal data structures caused the
4494 1.1 jruoho optional ACPI_MUTEX_DEBUG code to fail compilation if specified.
4495 1.1 jruoho
4496 1.1 jruoho Code and Data Size: The current and previous library sizes for the core
4497 1.1 jruoho subsystem are shown below. These are the code and data sizes for the
4498 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. These
4499 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug version of the
4500 1.1 jruoho code includes the debug output trace mechanism and has a much larger code
4501 1.1 jruoho and data size. Note that these values will vary depending on the efficiency
4502 1.1 jruoho of the compiler and the compiler options used during generation.
4503 1.1 jruoho
4504 1.1 jruoho Previous Release:
4505 1.1 jruoho Non-Debug Version: 78.4K Code, 11.8K Data, 90.2K Total
4506 1.1 jruoho Debug Version: 169.6K Code, 69.9K Data, 239.5K Total
4507 1.1 jruoho Current Release:
4508 1.1 jruoho Non-Debug Version: 77.5K Code, 12.0K Data, 89.5K Total
4509 1.1 jruoho Debug Version: 168.1K Code, 68.4K Data, 236.5K Total
4510 1.1 jruoho
4511 1.1 jruoho
4512 1.1 jruoho 2) iASL Compiler/Disassembler:
4513 1.1 jruoho
4514 1.1 jruoho Updated the disassembler to automatically insert an EndDependentFn() macro
4515 1.1 jruoho into the ASL stream if this macro is missing in the original AML code,
4516 1.1 jruoho simplifying compilation of the resulting ASL module.
4517 1.1 jruoho
4518 1.1 jruoho Fixed a problem in the disassembler where a disassembled ResourceSource
4519 1.1 jruoho string (within a large resource descriptor) was not surrounded by quotes and
4520 1.1 jruoho not followed by a comma, causing errors when the resulting ASL module was
4521 1.1 jruoho compiled. Also, escape sequences within a ResourceSource string are now
4522 1.1 jruoho handled correctly (especially "\\")
4523 1.1 jruoho
4524 1.1 jruoho ----------------------------------------
4525 1.1 jruoho 02 September 2005. Summary of changes for version 20050902:
4526 1.1 jruoho
4527 1.1 jruoho 1) ACPI CA Core Subsystem:
4528 1.1 jruoho
4529 1.1 jruoho Fixed a problem with the internal Owner ID allocation and deallocation
4530 1.1 jruoho mechanisms for control method execution and recursive method invocation.
4531 1.1 jruoho This should eliminate the OWNER_ID_LIMIT exceptions and "Invalid OwnerId"
4532 1.1 jruoho messages seen on some systems. Recursive method invocation depth is
4533 1.1 jruoho currently limited to 255. (Alexey Starikovskiy)
4534 1.1 jruoho
4535 1.1 jruoho Completely eliminated all vestiges of support for the "module-level
4536 1.1 jruoho executable code" until this support is fully implemented and debugged. This
4537 1.1 jruoho should eliminate the NO_RETURN_VALUE exceptions seen during table load on
4538 1.1 jruoho some systems that invoke this support.
4539 1.1 jruoho
4540 1.1 jruoho Fixed a problem within the resource manager code where the transaction flags
4541 1.1 jruoho for a 64-bit address descriptor were handled incorrectly in the type-
4542 1.1 jruoho specific flag byte.
4543 1.1 jruoho
4544 1.1 jruoho Consolidated duplicate code within the address descriptor resource manager
4545 1.1 jruoho code, reducing overall subsystem code size.
4546 1.1 jruoho
4547 1.1 jruoho Fixed a fault when using the AML debugger "disassemble" command to
4548 1.1 jruoho disassemble individual control methods.
4549 1.1 jruoho
4550 1.1 jruoho Removed references to the "release_current" directory within the Unix
4551 1.1 jruoho release package.
4552 1.1 jruoho
4553 1.1 jruoho Code and Data Size: The current and previous core subsystem library sizes
4554 1.1 jruoho are shown below. These are the code and data sizes for the acpica.lib
4555 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler. These values do not
4556 1.1 jruoho include any ACPI driver or OSPM code. The debug version of the code includes
4557 1.1 jruoho the debug output trace mechanism and has a much larger code and data size.
4558 1.1 jruoho Note that these values will vary depending on the efficiency of the compiler
4559 1.1 jruoho and the compiler options used during generation.
4560 1.1 jruoho
4561 1.1 jruoho Previous Release:
4562 1.1 jruoho Non-Debug Version: 78.6K Code, 11.7K Data, 90.3K Total
4563 1.1 jruoho Debug Version: 170.0K Code, 69.9K Data, 239.9K Total
4564 1.1 jruoho Current Release:
4565 1.1 jruoho Non-Debug Version: 78.4K Code, 11.8K Data, 90.2K Total
4566 1.1 jruoho Debug Version: 169.6K Code, 69.9K Data, 239.5K Total
4567 1.1 jruoho
4568 1.1 jruoho
4569 1.1 jruoho 2) iASL Compiler/Disassembler:
4570 1.1 jruoho
4571 1.1 jruoho Implemented an error check for illegal duplicate values in the interrupt and
4572 1.1 jruoho dma lists for the following ASL macros: Dma(), Irq(), IrqNoFlags(), and
4573 1.1 jruoho Interrupt().
4574 1.1 jruoho
4575 1.1 jruoho Implemented error checking for the Irq() and IrqNoFlags() macros to detect
4576 1.1 jruoho too many values in the interrupt list (16 max) and invalid values in the
4577 1.1 jruoho list (range 0 - 15)
4578 1.1 jruoho
4579 1.1 jruoho The maximum length string literal within an ASL file is now restricted to
4580 1.1 jruoho 200 characters as per the ACPI specification.
4581 1.1 jruoho
4582 1.1 jruoho Fixed a fault when using the -ln option (generate namespace listing).
4583 1.1 jruoho
4584 1.1 jruoho Implemented an error check to determine if a DescriptorName within a
4585 1.1 jruoho resource descriptor has already been used within the current scope.
4586 1.1 jruoho
4587 1.1 jruoho ----------------------------------------
4588 1.1 jruoho 15 August 2005. Summary of changes for version 20050815:
4589 1.1 jruoho
4590 1.1 jruoho 1) ACPI CA Core Subsystem:
4591 1.1 jruoho
4592 1.1 jruoho Implemented a full bytewise compare to determine if a table load request is
4593 1.1 jruoho attempting to load a duplicate table. The compare is performed if the table
4594 1.1 jruoho signatures and table lengths match. This will allow different tables with
4595 1.1 jruoho the same OEM Table ID and revision to be loaded - probably against the ACPI
4596 1.1 jruoho specification, but discovered in the field nonetheless.
4597 1.1 jruoho
4598 1.1 jruoho Added the changes.txt logfile to each of the zipped release packages.
4599 1.1 jruoho
4600 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
4601 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
4602 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
4603 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
4604 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
4605 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
4606 1.1 jruoho the compiler options used during generation.
4607 1.1 jruoho
4608 1.1 jruoho Previous Release:
4609 1.1 jruoho Non-Debug Version: 78.6K Code, 11.7K Data, 90.3K Total
4610 1.1 jruoho Debug Version: 167.0K Code, 69.9K Data, 236.9K Total
4611 1.1 jruoho Current Release:
4612 1.1 jruoho Non-Debug Version: 78.6K Code, 11.7K Data, 90.3K Total
4613 1.1 jruoho Debug Version: 170.0K Code, 69.9K Data, 239.9K Total
4614 1.1 jruoho
4615 1.1 jruoho
4616 1.1 jruoho 2) iASL Compiler/Disassembler:
4617 1.1 jruoho
4618 1.1 jruoho Fixed a problem where incorrect AML code could be generated for Package
4619 1.1 jruoho objects if optimization is disabled (via the -oa switch).
4620 1.1 jruoho
4621 1.1 jruoho Fixed a problem with where incorrect AML code is generated for variable-
4622 1.1 jruoho length packages when the package length is not specified and the number of
4623 1.1 jruoho initializer values is greater than 255.
4624 1.1 jruoho
4625 1.1 jruoho
4626 1.1 jruoho ----------------------------------------
4627 1.1 jruoho 29 July 2005. Summary of changes for version 20050729:
4628 1.1 jruoho
4629 1.1 jruoho 1) ACPI CA Core Subsystem:
4630 1.1 jruoho
4631 1.1 jruoho Implemented support to ignore an attempt to install/load a particular ACPI
4632 1.1 jruoho table more than once. Apparently there exists BIOS code that repeatedly
4633 1.1 jruoho attempts to load the same SSDT upon certain events. With assistance from
4634 1.1 jruoho Venkatesh Pallipadi.
4635 1.1 jruoho
4636 1.1 jruoho Restructured the main interface to the AML parser in order to correctly
4637 1.1 jruoho handle all exceptional conditions. This will prevent leakage of the OwnerId
4638 1.1 jruoho resource and should eliminate the AE_OWNER_ID_LIMIT exceptions seen on some
4639 1.1 jruoho machines. With assistance from Alexey Starikovskiy.
4640 1.1 jruoho
4641 1.1 jruoho Support for "module level code" has been disabled in this version due to a
4642 1.1 jruoho number of issues that have appeared on various machines. The support can be
4643 1.1 jruoho enabled by defining ACPI_ENABLE_MODULE_LEVEL_CODE during subsystem
4644 1.1 jruoho compilation. When the issues are fully resolved, the code will be enabled by
4645 1.1 jruoho default again.
4646 1.1 jruoho
4647 1.1 jruoho Modified the internal functions for debug print support to define the
4648 1.1 jruoho FunctionName parameter as a (const char *) for compatibility with compiler
4649 1.1 jruoho built-in macros such as __FUNCTION__, etc.
4650 1.1 jruoho
4651 1.1 jruoho Linted the entire ACPICA source tree for both 32-bit and 64-bit.
4652 1.1 jruoho
4653 1.1 jruoho Implemented support to display an object count summary for the AML Debugger
4654 1.1 jruoho commands Object and Methods.
4655 1.1 jruoho
4656 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
4657 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
4658 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
4659 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
4660 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
4661 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
4662 1.1 jruoho the compiler options used during generation.
4663 1.1 jruoho
4664 1.1 jruoho Previous Release:
4665 1.1 jruoho Non-Debug Version: 78.6K Code, 11.6K Data, 90.2K Total
4666 1.1 jruoho Debug Version: 170.0K Code, 69.7K Data, 239.7K Total
4667 1.1 jruoho Current Release:
4668 1.1 jruoho Non-Debug Version: 78.6K Code, 11.7K Data, 90.3K Total
4669 1.1 jruoho Debug Version: 167.0K Code, 69.9K Data, 236.9K Total
4670 1.1 jruoho
4671 1.1 jruoho
4672 1.1 jruoho 2) iASL Compiler/Disassembler:
4673 1.1 jruoho
4674 1.1 jruoho Fixed a regression that appeared in the 20050708 version of the compiler
4675 1.1 jruoho where an error message was inadvertently emitted for invocations of the _OSI
4676 1.1 jruoho reserved control method.
4677 1.1 jruoho
4678 1.1 jruoho ----------------------------------------
4679 1.1 jruoho 08 July 2005. Summary of changes for version 20050708:
4680 1.1 jruoho
4681 1.1 jruoho 1) ACPI CA Core Subsystem:
4682 1.1 jruoho
4683 1.1 jruoho The use of the CPU stack in the debug version of the subsystem has been
4684 1.1 jruoho considerably reduced. Previously, a debug structure was declared in every
4685 1.1 jruoho function that used the debug macros. This structure has been removed in
4686 1.1 jruoho favor of declaring the individual elements as parameters to the debug
4687 1.1 jruoho functions. This reduces the cumulative stack use during nested execution of
4688 1.1 jruoho ACPI function calls at the cost of a small increase in the code size of the
4689 1.1 jruoho debug version of the subsystem. With assistance from Alexey Starikovskiy and
4690 1.1 jruoho Len Brown.
4691 1.1 jruoho
4692 1.1 jruoho Added the ACPI_GET_FUNCTION_NAME macro to enable the compiler-dependent
4693 1.1 jruoho headers to define a macro that will return the current function name at
4694 1.1 jruoho runtime (such as __FUNCTION__ or _func_, etc.) The function name is used by
4695 1.1 jruoho the debug trace output. If ACPI_GET_FUNCTION_NAME is not defined in the
4696 1.1 jruoho compiler-dependent header, the function name is saved on the CPU stack (one
4697 1.1 jruoho pointer per function.) This mechanism is used because apparently there
4698 1.1 jruoho exists no standard ANSI-C defined macro that that returns the function name.
4699 1.1 jruoho
4700 1.1 jruoho Redesigned and reimplemented the "Owner ID" mechanism used to track
4701 1.1 jruoho namespace objects created/deleted by ACPI tables and control method
4702 1.1 jruoho execution. A bitmap is now used to allocate and free the IDs, thus solving
4703 1.1 jruoho the wraparound problem present in the previous implementation. The size of
4704 1.1 jruoho the namespace node descriptor was reduced by 2 bytes as a result (Alexey
4705 1.1 jruoho Starikovskiy).
4706 1.1 jruoho
4707 1.1 jruoho Removed the UINT32_BIT and UINT16_BIT types that were used for the bitfield
4708 1.1 jruoho flag definitions within the headers for the predefined ACPI tables. These
4709 1.1 jruoho have been replaced by UINT8_BIT in order to increase the code portability of
4710 1.1 jruoho the subsystem. If the use of UINT8 remains a problem, we may be forced to
4711 1.1 jruoho eliminate bitfields entirely because of a lack of portability.
4712 1.1 jruoho
4713 1.1 jruoho Enhanced the performance of the AcpiUtUpdateObjectReference procedure. This
4714 1.1 jruoho is a frequently used function and this improvement increases the performance
4715 1.1 jruoho of the entire subsystem (Alexey Starikovskiy).
4716 1.1 jruoho
4717 1.1 jruoho Fixed several possible memory leaks and the inverse - premature object
4718 1.1 jruoho deletion (Alexey Starikovskiy).
4719 1.1 jruoho
4720 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
4721 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
4722 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
4723 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
4724 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
4725 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
4726 1.1 jruoho the compiler options used during generation.
4727 1.1 jruoho
4728 1.1 jruoho Previous Release:
4729 1.1 jruoho Non-Debug Version: 78.6K Code, 11.5K Data, 90.1K Total
4730 1.1 jruoho Debug Version: 165.2K Code, 69.6K Data, 234.8K Total
4731 1.1 jruoho Current Release:
4732 1.1 jruoho Non-Debug Version: 78.6K Code, 11.6K Data, 90.2K Total
4733 1.1 jruoho Debug Version: 170.0K Code, 69.7K Data, 239.7K Total
4734 1.1 jruoho
4735 1.1 jruoho ----------------------------------------
4736 1.1 jruoho 24 June 2005. Summary of changes for version 20050624:
4737 1.1 jruoho
4738 1.1 jruoho 1) ACPI CA Core Subsystem:
4739 1.1 jruoho
4740 1.1 jruoho Modified the new OSL cache interfaces to use ACPI_CACHE_T as the type for
4741 1.1 jruoho the host-defined cache object. This allows the OSL implementation to define
4742 1.1 jruoho and type this object in any manner desired, simplifying the OSL
4743 1.1 jruoho implementation. For example, ACPI_CACHE_T is defined as kmem_cache_t for
4744 1.1 jruoho Linux, and should be defined in the OS-specific header file for other
4745 1.1 jruoho operating systems as required.
4746 1.1 jruoho
4747 1.1 jruoho Changed the interface to AcpiOsAcquireObject to directly return the
4748 1.1 jruoho requested object as the function return (instead of ACPI_STATUS.) This
4749 1.1 jruoho change was made for performance reasons, since this is the purpose of the
4750 1.1 jruoho interface in the first place. AcpiOsAcquireObject is now similar to the
4751 1.1 jruoho AcpiOsAllocate interface.
4752 1.1 jruoho
4753 1.1 jruoho Implemented a new AML debugger command named Businfo. This command displays
4754 1.1 jruoho information about all devices that have an associate _PRT object. The _ADR,
4755 1.1 jruoho _HID, _UID, and _CID are displayed for these devices.
4756 1.1 jruoho
4757 1.1 jruoho Modified the initialization sequence in AcpiInitializeSubsystem to call the
4758 1.1 jruoho OSL interface AcpiOslInitialize first, before any local initialization. This
4759 1.1 jruoho change was required because the global initialization now calls OSL
4760 1.1 jruoho interfaces.
4761 1.1 jruoho
4762 1.1 jruoho Enhanced the Dump command to display the entire contents of Package objects
4763 1.1 jruoho (including all sub-objects and their values.)
4764 1.1 jruoho
4765 1.1 jruoho Restructured the code base to split some files because of size and/or
4766 1.1 jruoho because the code logically belonged in a separate file. New files are listed
4767 1.1 jruoho below. All makefiles and project files included in the ACPI CA release have
4768 1.1 jruoho been updated.
4769 1.1 jruoho utilities/utcache.c /* Local cache interfaces */
4770 1.1 jruoho utilities/utmutex.c /* Local mutex support */
4771 1.1 jruoho utilities/utstate.c /* State object support */
4772 1.1 jruoho interpreter/parser/psloop.c /* Main AML parse loop */
4773 1.1 jruoho
4774 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
4775 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
4776 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
4777 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
4778 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
4779 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
4780 1.1 jruoho the compiler options used during generation.
4781 1.1 jruoho
4782 1.1 jruoho Previous Release:
4783 1.1 jruoho Non-Debug Version: 78.3K Code, 11.6K Data, 89.9K Total
4784 1.1 jruoho Debug Version: 164.0K Code, 69.1K Data, 233.1K Total
4785 1.1 jruoho Current Release:
4786 1.1 jruoho Non-Debug Version: 78.6K Code, 11.5K Data, 90.1K Total
4787 1.1 jruoho Debug Version: 165.2K Code, 69.6K Data, 234.8K Total
4788 1.1 jruoho
4789 1.1 jruoho
4790 1.1 jruoho 2) iASL Compiler/Disassembler:
4791 1.1 jruoho
4792 1.1 jruoho Fixed a regression introduced in version 20050513 where the use of a Package
4793 1.1 jruoho object within a Case() statement caused a compile time exception. The
4794 1.1 jruoho original behavior has been restored (a Match() operator is emitted.)
4795 1.1 jruoho
4796 1.1 jruoho ----------------------------------------
4797 1.1 jruoho 17 June 2005. Summary of changes for version 20050617:
4798 1.1 jruoho
4799 1.1 jruoho 1) ACPI CA Core Subsystem:
4800 1.1 jruoho
4801 1.1 jruoho Moved the object cache operations into the OS interface layer (OSL) to allow
4802 1.1 jruoho the host OS to handle these operations if desired (for example, the Linux
4803 1.1 jruoho OSL will invoke the slab allocator). This support is optional; the compile
4804 1.1 jruoho time define ACPI_USE_LOCAL_CACHE may be used to utilize the original cache
4805 1.1 jruoho code in the ACPI CA core. The new OSL interfaces are shown below. See
4806 1.1 jruoho utalloc.c for an example implementation, and acpiosxf.h for the exact
4807 1.1 jruoho interface definitions. With assistance from Alexey Starikovskiy.
4808 1.1 jruoho AcpiOsCreateCache
4809 1.1 jruoho AcpiOsDeleteCache
4810 1.1 jruoho AcpiOsPurgeCache
4811 1.1 jruoho AcpiOsAcquireObject
4812 1.1 jruoho AcpiOsReleaseObject
4813 1.1 jruoho
4814 1.1 jruoho Modified the interfaces to AcpiOsAcquireLock and AcpiOsReleaseLock to return
4815 1.1 jruoho and restore a flags parameter. This fits better with many OS lock models.
4816 1.1 jruoho Note: the current execution state (interrupt handler or not) is no longer
4817 1.1 jruoho passed to these interfaces. If necessary, the OSL must determine this state
4818 1.1 jruoho by itself, a simple and fast operation. With assistance from Alexey
4819 1.1 jruoho Starikovskiy.
4820 1.1 jruoho
4821 1.1 jruoho Fixed a problem in the ACPI table handling where a valid XSDT was assumed
4822 1.1 jruoho present if the revision of the RSDP was 2 or greater. According to the ACPI
4823 1.1 jruoho specification, the XSDT is optional in all cases, and the table manager
4824 1.1 jruoho therefore now checks for both an RSDP >=2 and a valid XSDT pointer.
4825 1.1 jruoho Otherwise, the RSDT pointer is used. Some ACPI 2.0 compliant BIOSs contain
4826 1.1 jruoho only the RSDT.
4827 1.1 jruoho
4828 1.1 jruoho Fixed an interpreter problem with the Mid() operator in the case of an input
4829 1.1 jruoho string where the resulting output string is of zero length. It now correctly
4830 1.1 jruoho returns a valid, null terminated string object instead of a string object
4831 1.1 jruoho with a null pointer.
4832 1.1 jruoho
4833 1.1 jruoho Fixed a problem with the control method argument handling to allow a store
4834 1.1 jruoho to an Arg object that already contains an object of type Device. The Device
4835 1.1 jruoho object is now correctly overwritten. Previously, an error was returned.
4836 1.1 jruoho
4837 1.1 jruoho
4838 1.1 jruoho Enhanced the debugger Find command to emit object values in addition to the
4839 1.1 jruoho found object pathnames. The output format is the same as the dump namespace
4840 1.1 jruoho command.
4841 1.1 jruoho
4842 1.1 jruoho Enhanced the debugger Set command. It now has the ability to set the value
4843 1.1 jruoho of any Named integer object in the namespace (Previously, only method locals
4844 1.1 jruoho and args could be set.)
4845 1.1 jruoho
4846 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
4847 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
4848 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
4849 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
4850 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
4851 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
4852 1.1 jruoho the compiler options used during generation.
4853 1.1 jruoho
4854 1.1 jruoho Previous Release:
4855 1.1 jruoho Non-Debug Version: 78.1K Code, 11.6K Data, 89.7K Total
4856 1.1 jruoho Debug Version: 164.0K Code, 69.3K Data, 233.3K Total
4857 1.1 jruoho Current Release:
4858 1.1 jruoho Non-Debug Version: 78.3K Code, 11.6K Data, 89.9K Total
4859 1.1 jruoho Debug Version: 164.0K Code, 69.1K Data, 233.1K Total
4860 1.1 jruoho
4861 1.1 jruoho
4862 1.1 jruoho 2) iASL Compiler/Disassembler:
4863 1.1 jruoho
4864 1.1 jruoho Fixed a regression in the disassembler where if/else/while constructs were
4865 1.1 jruoho output incorrectly. This problem was introduced in the previous release
4866 1.1 jruoho (20050526). This problem also affected the single-step disassembly in the
4867 1.1 jruoho debugger.
4868 1.1 jruoho
4869 1.1 jruoho Fixed a problem where compiling the reserved _OSI method would randomly (but
4870 1.1 jruoho rarely) produce compile errors.
4871 1.1 jruoho
4872 1.1 jruoho Enhanced the disassembler to emit compilable code in the face of incorrect
4873 1.1 jruoho AML resource descriptors. If the optional ResourceSourceIndex is present,
4874 1.1 jruoho but the ResourceSource is not, do not emit the ResourceSourceIndex in the
4875 1.1 jruoho disassembly. Otherwise, the resulting code cannot be compiled without
4876 1.1 jruoho errors.
4877 1.1 jruoho
4878 1.1 jruoho ----------------------------------------
4879 1.1 jruoho 26 May 2005. Summary of changes for version 20050526:
4880 1.1 jruoho
4881 1.1 jruoho 1) ACPI CA Core Subsystem:
4882 1.1 jruoho
4883 1.1 jruoho Implemented support to execute Type 1 and Type 2 AML opcodes appearing at
4884 1.1 jruoho the module level (not within a control method.) These opcodes are executed
4885 1.1 jruoho exactly once at the time the table is loaded. This type of code was legal up
4886 1.1 jruoho until the release of ACPI 2.0B (2002) and is now supported within ACPI CA in
4887 1.1 jruoho order to provide backwards compatibility with earlier BIOS implementations.
4888 1.1 jruoho This eliminates the "Encountered executable code at module level" warning
4889 1.1 jruoho that was previously generated upon detection of such code.
4890 1.1 jruoho
4891 1.1 jruoho Fixed a problem in the interpreter where an AE_NOT_FOUND exception could
4892 1.1 jruoho inadvertently be generated during the lookup of namespace objects in the
4893 1.1 jruoho second pass parse of ACPI tables and control methods. It appears that this
4894 1.1 jruoho problem could occur during the resolution of forward references to namespace
4895 1.1 jruoho objects.
4896 1.1 jruoho
4897 1.1 jruoho Added the ACPI_MUTEX_DEBUG #ifdef to the AcpiUtReleaseMutex function,
4898 1.1 jruoho corresponding to the same #ifdef in the AcpiUtAcquireMutex function. This
4899 1.1 jruoho allows the deadlock detection debug code to be compiled out in the normal
4900 1.1 jruoho case, improving mutex performance (and overall subsystem performance)
4901 1.1 jruoho considerably.
4902 1.1 jruoho
4903 1.1 jruoho Implemented a handful of miscellaneous fixes for possible memory leaks on
4904 1.1 jruoho error conditions and error handling control paths. These fixes were
4905 1.1 jruoho suggested by FreeBSD and the Coverity Prevent source code analysis tool.
4906 1.1 jruoho
4907 1.1 jruoho Added a check for a null RSDT pointer in AcpiGetFirmwareTable (tbxfroot.c)
4908 1.1 jruoho to prevent a fault in this error case.
4909 1.1 jruoho
4910 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
4911 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
4912 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
4913 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
4914 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
4915 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
4916 1.1 jruoho the compiler options used during generation.
4917 1.1 jruoho
4918 1.1 jruoho Previous Release:
4919 1.1 jruoho Non-Debug Version: 78.2K Code, 11.6K Data, 89.8K Total
4920 1.1 jruoho Debug Version: 163.7K Code, 69.3K Data, 233.0K Total
4921 1.1 jruoho Current Release:
4922 1.1 jruoho Non-Debug Version: 78.1K Code, 11.6K Data, 89.7K Total
4923 1.1 jruoho Debug Version: 164.0K Code, 69.3K Data, 233.3K Total
4924 1.1 jruoho
4925 1.1 jruoho
4926 1.1 jruoho 2) iASL Compiler/Disassembler:
4927 1.1 jruoho
4928 1.1 jruoho Implemented support to allow Type 1 and Type 2 ASL operators to appear at
4929 1.1 jruoho the module level (not within a control method.) These operators will be
4930 1.1 jruoho executed once at the time the table is loaded. This type of code was legal
4931 1.1 jruoho up until the release of ACPI 2.0B (2002) and is now supported by the iASL
4932 1.1 jruoho compiler in order to provide backwards compatibility with earlier BIOS ASL
4933 1.1 jruoho code.
4934 1.1 jruoho
4935 1.1 jruoho The ACPI integer width (specified via the table revision ID or the -r
4936 1.1 jruoho override, 32 or 64 bits) is now used internally during compile-time constant
4937 1.1 jruoho folding to ensure that constants are truncated to 32 bits if necessary.
4938 1.1 jruoho Previously, the revision ID value was only emitted in the AML table header.
4939 1.1 jruoho
4940 1.1 jruoho An error message is now generated for the Mutex and Method operators if the
4941 1.1 jruoho SyncLevel parameter is outside the legal range of 0 through 15.
4942 1.1 jruoho
4943 1.1 jruoho Fixed a problem with the Method operator ParameterTypes list handling (ACPI
4944 1.1 jruoho 3.0). Previously, more than 2 types or 2 arguments generated a syntax error.
4945 1.1 jruoho The actual underlying implementation of method argument typechecking is
4946 1.1 jruoho still under development, however.
4947 1.1 jruoho
4948 1.1 jruoho ----------------------------------------
4949 1.1 jruoho 13 May 2005. Summary of changes for version 20050513:
4950 1.1 jruoho
4951 1.1 jruoho 1) ACPI CA Core Subsystem:
4952 1.1 jruoho
4953 1.1 jruoho Implemented support for PCI Express root bridges -- added support for device
4954 1.1 jruoho PNP0A08 in the root bridge search within AcpiEvPciConfigRegionSetup.
4955 1.1 jruoho
4956 1.1 jruoho The interpreter now automatically truncates incoming 64-bit constants to 32
4957 1.1 jruoho bits if currently executing out of a 32-bit ACPI table (Revision < 2). This
4958 1.1 jruoho also affects the iASL compiler constant folding. (Note: as per below, the
4959 1.1 jruoho iASL compiler no longer allows 64-bit constants within 32-bit tables.)
4960 1.1 jruoho
4961 1.1 jruoho Fixed a problem where string and buffer objects with "static" pointers
4962 1.1 jruoho (pointers to initialization data within an ACPI table) were not handled
4963 1.1 jruoho consistently. The internal object copy operation now always copies the data
4964 1.1 jruoho to a newly allocated buffer, regardless of whether the source object is
4965 1.1 jruoho static or not.
4966 1.1 jruoho
4967 1.1 jruoho Fixed a problem with the FromBCD operator where an implicit result
4968 1.1 jruoho conversion was improperly performed while storing the result to the target
4969 1.1 jruoho operand. Since this is an "explicit conversion" operator, the implicit
4970 1.1 jruoho conversion should never be performed on the output.
4971 1.1 jruoho
4972 1.1 jruoho Fixed a problem with the CopyObject operator where a copy to an existing
4973 1.1 jruoho named object did not always completely overwrite the existing object stored
4974 1.1 jruoho at name. Specifically, a buffer-to-buffer copy did not delete the existing
4975 1.1 jruoho buffer.
4976 1.1 jruoho
4977 1.1 jruoho Replaced "InterruptLevel" with "InterruptNumber" in all GPE interfaces and
4978 1.1 jruoho structs for consistency.
4979 1.1 jruoho
4980 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
4981 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
4982 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
4983 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
4984 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
4985 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
4986 1.1 jruoho the compiler options used during generation.
4987 1.1 jruoho
4988 1.1 jruoho Previous Release:
4989 1.1 jruoho Non-Debug Version: 78.2K Code, 11.6K Data, 89.8K Total
4990 1.1 jruoho Debug Version: 163.7K Code, 69.3K Data, 233.0K Total
4991 1.1 jruoho Current Release: (Same sizes)
4992 1.1 jruoho Non-Debug Version: 78.2K Code, 11.6K Data, 89.8K Total
4993 1.1 jruoho Debug Version: 163.7K Code, 69.3K Data, 233.0K Total
4994 1.1 jruoho
4995 1.1 jruoho
4996 1.1 jruoho 2) iASL Compiler/Disassembler:
4997 1.1 jruoho
4998 1.1 jruoho The compiler now emits a warning if an attempt is made to generate a 64-bit
4999 1.1 jruoho integer constant from within a 32-bit ACPI table (Revision < 2). The integer
5000 1.1 jruoho is truncated to 32 bits.
5001 1.1 jruoho
5002 1.1 jruoho Fixed a problem with large package objects: if the static length of the
5003 1.1 jruoho package is greater than 255, the "variable length package" opcode is
5004 1.1 jruoho emitted. Previously, this caused an error. This requires an update to the
5005 1.1 jruoho ACPI spec, since it currently (incorrectly) states that packages larger than
5006 1.1 jruoho 255 elements are not allowed.
5007 1.1 jruoho
5008 1.1 jruoho The disassembler now correctly handles variable length packages and packages
5009 1.1 jruoho larger than 255 elements.
5010 1.1 jruoho
5011 1.1 jruoho ----------------------------------------
5012 1.1 jruoho 08 April 2005. Summary of changes for version 20050408:
5013 1.1 jruoho
5014 1.1 jruoho 1) ACPI CA Core Subsystem:
5015 1.1 jruoho
5016 1.1 jruoho Fixed three cases in the interpreter where an "index" argument to an ASL
5017 1.1 jruoho function was still (internally) 32 bits instead of the required 64 bits.
5018 1.1 jruoho This was the Index argument to the Index, Mid, and Match operators.
5019 1.1 jruoho
5020 1.1 jruoho The "strupr" function is now permanently local (AcpiUtStrupr), since this is
5021 1.1 jruoho not a POSIX-defined function and not present in most kernel-level C
5022 1.1 jruoho libraries. All references to the C library strupr function have been removed
5023 1.1 jruoho from the headers.
5024 1.1 jruoho
5025 1.1 jruoho Completed the deployment of static functions/prototypes. All prototypes with
5026 1.1 jruoho the static attribute have been moved from the headers to the owning C file.
5027 1.1 jruoho
5028 1.1 jruoho Implemented an extract option (-e) for the AcpiBin utility (AML binary
5029 1.1 jruoho utility). This option allows the utility to extract individual ACPI tables
5030 1.1 jruoho from the output of AcpiDmp. It provides the same functionality of the
5031 1.1 jruoho acpixtract.pl perl script without the worry of setting the correct perl
5032 1.1 jruoho options. AcpiBin runs on Windows and has not yet been generated/validated in
5033 1.1 jruoho the Linux/Unix environment (but should be soon).
5034 1.1 jruoho
5035 1.1 jruoho Updated and fixed the table dump option for AcpiBin (-d). This option
5036 1.1 jruoho converts a single ACPI table to a hex/ascii file, similar to the output of
5037 1.1 jruoho AcpiDmp.
5038 1.1 jruoho
5039 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
5040 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
5041 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
5042 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
5043 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
5044 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
5045 1.1 jruoho the compiler options used during generation.
5046 1.1 jruoho
5047 1.1 jruoho Previous Release:
5048 1.1 jruoho Non-Debug Version: 78.0K Code, 11.6K Data, 89.6K Total
5049 1.1 jruoho Debug Version: 163.5K Code, 69.3K Data, 232.8K Total
5050 1.1 jruoho Current Release:
5051 1.1 jruoho Non-Debug Version: 78.2K Code, 11.6K Data, 89.8K Total
5052 1.1 jruoho Debug Version: 163.7K Code, 69.3K Data, 233.0K Total
5053 1.1 jruoho
5054 1.1 jruoho
5055 1.1 jruoho 2) iASL Compiler/Disassembler:
5056 1.1 jruoho
5057 1.1 jruoho Disassembler fix: Added a check to ensure that the table length found in the
5058 1.1 jruoho ACPI table header within the input file is not longer than the actual input
5059 1.1 jruoho file size. This indicates some kind of file or table corruption.
5060 1.1 jruoho
5061 1.1 jruoho ----------------------------------------
5062 1.1 jruoho 29 March 2005. Summary of changes for version 20050329:
5063 1.1 jruoho
5064 1.1 jruoho 1) ACPI CA Core Subsystem:
5065 1.1 jruoho
5066 1.1 jruoho An error is now generated if an attempt is made to create a Buffer Field of
5067 1.1 jruoho length zero (A CreateField with a length operand of zero.)
5068 1.1 jruoho
5069 1.1 jruoho The interpreter now issues a warning whenever executable code at the module
5070 1.1 jruoho level is detected during ACPI table load. This will give some idea of the
5071 1.1 jruoho prevalence of this type of code.
5072 1.1 jruoho
5073 1.1 jruoho Implemented support for references to named objects (other than control
5074 1.1 jruoho methods) within package objects.
5075 1.1 jruoho
5076 1.1 jruoho Enhanced package object output for the debug object. Package objects are now
5077 1.1 jruoho completely dumped, showing all elements.
5078 1.1 jruoho
5079 1.1 jruoho Enhanced miscellaneous object output for the debug object. Any object can
5080 1.1 jruoho now be written to the debug object (for example, a device object can be
5081 1.1 jruoho written, and the type of the object will be displayed.)
5082 1.1 jruoho
5083 1.1 jruoho The "static" qualifier has been added to all local functions across both the
5084 1.1 jruoho core subsystem and the iASL compiler.
5085 1.1 jruoho
5086 1.1 jruoho The number of "long" lines (> 80 chars) within the source has been
5087 1.1 jruoho significantly reduced, by about 1/3.
5088 1.1 jruoho
5089 1.1 jruoho Cleaned up all header files to ensure that all CA/iASL functions are
5090 1.1 jruoho prototyped (even static functions) and the formatting is consistent.
5091 1.1 jruoho
5092 1.1 jruoho Two new header files have been added, acopcode.h and acnames.h.
5093 1.1 jruoho
5094 1.1 jruoho Removed several obsolete functions that were no longer used.
5095 1.1 jruoho
5096 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
5097 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
5098 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
5099 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
5100 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
5101 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
5102 1.1 jruoho the compiler options used during generation.
5103 1.1 jruoho
5104 1.1 jruoho Previous Release:
5105 1.1 jruoho Non-Debug Version: 78.3K Code, 11.5K Data, 89.8K Total
5106 1.1 jruoho Debug Version: 165.4K Code, 69.7K Data, 236.1K Total
5107 1.1 jruoho Current Release:
5108 1.1 jruoho Non-Debug Version: 78.0K Code, 11.6K Data, 89.6K Total
5109 1.1 jruoho Debug Version: 163.5K Code, 69.3K Data, 232.8K Total
5110 1.1 jruoho
5111 1.1 jruoho
5112 1.1 jruoho
5113 1.1 jruoho 2) iASL Compiler/Disassembler:
5114 1.1 jruoho
5115 1.1 jruoho Fixed a problem with the resource descriptor generation/support. For the
5116 1.1 jruoho ResourceSourceIndex and the ResourceSource fields, both must be present, or
5117 1.1 jruoho both must be not present - can't have one without the other.
5118 1.1 jruoho
5119 1.1 jruoho The compiler now returns non-zero from the main procedure if any errors have
5120 1.1 jruoho occurred during the compilation.
5121 1.1 jruoho
5122 1.1 jruoho
5123 1.1 jruoho ----------------------------------------
5124 1.1 jruoho 09 March 2005. Summary of changes for version 20050309:
5125 1.1 jruoho
5126 1.1 jruoho 1) ACPI CA Core Subsystem:
5127 1.1 jruoho
5128 1.1 jruoho The string-to-buffer implicit conversion code has been modified again after
5129 1.1 jruoho a change to the ACPI specification. In order to match the behavior of the
5130 1.1 jruoho other major ACPI implementation, the target buffer is no longer truncated if
5131 1.1 jruoho the source string is smaller than an existing target buffer. This change
5132 1.1 jruoho requires an update to the ACPI spec, and should eliminate the recent
5133 1.1 jruoho AE_AML_BUFFER_LIMIT issues.
5134 1.1 jruoho
5135 1.1 jruoho The "implicit return" support was rewritten to a new algorithm that solves
5136 1.1 jruoho the general case. Rather than attempt to determine when a method is about to
5137 1.1 jruoho exit, the result of every ASL operator is saved momentarily until the very
5138 1.1 jruoho next ASL operator is executed. Therefore, no matter how the method exits,
5139 1.1 jruoho there will always be a saved implicit return value. This feature is only
5140 1.1 jruoho enabled with the AcpiGbl_EnableInterpreterSlack flag, and should eliminate
5141 1.1 jruoho AE_AML_NO_RETURN_VALUE errors when enabled.
5142 1.1 jruoho
5143 1.1 jruoho Implemented implicit conversion support for the predicate (operand) of the
5144 1.1 jruoho If, Else, and While operators. String and Buffer arguments are automatically
5145 1.1 jruoho converted to Integers.
5146 1.1 jruoho
5147 1.1 jruoho Changed the string-to-integer conversion behavior to match the new ACPI
5148 1.1 jruoho errata: "If no integer object exists, a new integer is created. The ASCII
5149 1.1 jruoho string is interpreted as a hexadecimal constant. Each string character is
5150 1.1 jruoho interpreted as a hexadecimal value ('0'-'9', 'A'-'F', 'a', 'f'), starting
5151 1.1 jruoho with the first character as the most significant digit, and ending with the
5152 1.1 jruoho first non-hexadecimal character or end-of-string." This means that the first
5153 1.1 jruoho non-hex character terminates the conversion and this is the code that was
5154 1.1 jruoho changed.
5155 1.1 jruoho
5156 1.1 jruoho Fixed a problem where the ObjectType operator would fail (fault) when used
5157 1.1 jruoho on an Index of a Package which pointed to a null package element. The
5158 1.1 jruoho operator now properly returns zero (Uninitialized) in this case.
5159 1.1 jruoho
5160 1.1 jruoho Fixed a problem where the While operator used excessive memory by not
5161 1.1 jruoho properly popping the result stack during execution. There was no memory leak
5162 1.1 jruoho after execution, however. (Code provided by Valery Podrezov.)
5163 1.1 jruoho
5164 1.1 jruoho Fixed a problem where references to control methods within Package objects
5165 1.1 jruoho caused the method to be invoked, instead of producing a reference object
5166 1.1 jruoho pointing to the method.
5167 1.1 jruoho
5168 1.1 jruoho Restructured and simplified the pswalk.c module (AcpiPsDeleteParseTree) to
5169 1.1 jruoho improve performance and reduce code size. (Code provided by Alexey
5170 1.1 jruoho Starikovskiy.)
5171 1.1 jruoho
5172 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
5173 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
5174 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
5175 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
5176 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
5177 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
5178 1.1 jruoho the compiler options used during generation.
5179 1.1 jruoho
5180 1.1 jruoho Previous Release:
5181 1.1 jruoho Non-Debug Version: 78.3K Code, 11.5K Data, 89.8K Total
5182 1.1 jruoho Debug Version: 165.4K Code, 69.6K Data, 236.0K Total
5183 1.1 jruoho Current Release:
5184 1.1 jruoho Non-Debug Version: 78.3K Code, 11.5K Data, 89.8K Total
5185 1.1 jruoho Debug Version: 165.4K Code, 69.7K Data, 236.1K Total
5186 1.1 jruoho
5187 1.1 jruoho
5188 1.1 jruoho 2) iASL Compiler/Disassembler:
5189 1.1 jruoho
5190 1.1 jruoho Fixed a problem with the Return operator with no arguments. Since the AML
5191 1.1 jruoho grammar for the byte encoding requires an operand for the Return opcode, the
5192 1.1 jruoho compiler now emits a Return(Zero) for this case. An ACPI specification
5193 1.1 jruoho update has been written for this case.
5194 1.1 jruoho
5195 1.1 jruoho For tables other than the DSDT, namepath optimization is automatically
5196 1.1 jruoho disabled. This is because SSDTs can be loaded anywhere in the namespace, the
5197 1.1 jruoho compiler has no knowledge of where, and thus cannot optimize namepaths.
5198 1.1 jruoho
5199 1.1 jruoho Added "ProcessorObj" to the ObjectTypeKeyword list. This object type was
5200 1.1 jruoho inadvertently omitted from the ACPI specification, and will require an
5201 1.1 jruoho update to the spec.
5202 1.1 jruoho
5203 1.1 jruoho The source file scan for ASCII characters is now optional (-a). This change
5204 1.1 jruoho was made because some vendors place non-ascii characters within comments.
5205 1.1 jruoho However, the scan is simply a brute-force byte compare to ensure all
5206 1.1 jruoho characters in the file are in the range 0x00 to 0x7F.
5207 1.1 jruoho
5208 1.1 jruoho Fixed a problem with the CondRefOf operator where the compiler was
5209 1.1 jruoho inappropriately checking for the existence of the target. Since the point of
5210 1.1 jruoho the operator is to check for the existence of the target at run-time, the
5211 1.1 jruoho compiler no longer checks for the target existence.
5212 1.1 jruoho
5213 1.1 jruoho Fixed a problem where errors generated from the internal AML interpreter
5214 1.1 jruoho during constant folding were not handled properly, causing a fault.
5215 1.1 jruoho
5216 1.1 jruoho Fixed a problem with overly aggressive range checking for the Stall
5217 1.1 jruoho operator. The valid range (max 255) is now only checked if the operand is of
5218 1.1 jruoho type Integer. All other operand types cannot be statically checked.
5219 1.1 jruoho
5220 1.1 jruoho Fixed a problem where control method references within the RefOf, DeRefOf,
5221 1.1 jruoho and ObjectType operators were not treated properly. They are now treated as
5222 1.1 jruoho actual references, not method invocations.
5223 1.1 jruoho
5224 1.1 jruoho Fixed and enhanced the "list namespace" option (-ln). This option was broken
5225 1.1 jruoho a number of releases ago.
5226 1.1 jruoho
5227 1.1 jruoho Improved error handling for the Field, IndexField, and BankField operators.
5228 1.1 jruoho The compiler now cleanly reports and recovers from errors in the field
5229 1.1 jruoho component (FieldUnit) list.
5230 1.1 jruoho
5231 1.1 jruoho Fixed a disassembler problem where the optional ResourceDescriptor fields
5232 1.1 jruoho TRS and TTP were not always handled correctly.
5233 1.1 jruoho
5234 1.1 jruoho Disassembler - Comments in output now use "//" instead of "/*"
5235 1.1 jruoho
5236 1.1 jruoho ----------------------------------------
5237 1.1 jruoho 28 February 2005. Summary of changes for version 20050228:
5238 1.1 jruoho
5239 1.1 jruoho 1) ACPI CA Core Subsystem:
5240 1.1 jruoho
5241 1.1 jruoho Fixed a problem where the result of an Index() operator (an object
5242 1.1 jruoho reference) must increment the reference count on the target object for the
5243 1.1 jruoho life of the object reference.
5244 1.1 jruoho
5245 1.1 jruoho Implemented AML Interpreter and Debugger support for the new ACPI 3.0
5246 1.1 jruoho Extended Address (IO, Memory, Space), QwordSpace, DwordSpace, and WordSpace
5247 1.1 jruoho resource descriptors.
5248 1.1 jruoho
5249 1.1 jruoho Implemented support in the _OSI method for the ACPI 3.0 "Extended Address
5250 1.1 jruoho Space Descriptor" string, indicating interpreter support for the descriptors
5251 1.1 jruoho above.
5252 1.1 jruoho
5253 1.1 jruoho Implemented header support for the new ACPI 3.0 FADT flag bits.
5254 1.1 jruoho
5255 1.1 jruoho Implemented header support for the new ACPI 3.0 PCI Express bits for the PM1
5256 1.1 jruoho status/enable registers.
5257 1.1 jruoho
5258 1.1 jruoho Updated header support for the MADT processor local Apic struct and MADT
5259 1.1 jruoho platform interrupt source struct for new ACPI 3.0 fields.
5260 1.1 jruoho
5261 1.1 jruoho Implemented header support for the SRAT and SLIT ACPI tables.
5262 1.1 jruoho
5263 1.1 jruoho Implemented the -s switch in AcpiExec to enable the "InterpreterSlack" flag
5264 1.1 jruoho at runtime.
5265 1.1 jruoho
5266 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
5267 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
5268 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
5269 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
5270 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
5271 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
5272 1.1 jruoho the compiler options used during generation.
5273 1.1 jruoho
5274 1.1 jruoho Previous Release:
5275 1.1 jruoho Non-Debug Version: 78.2K Code, 11.5K Data, 89.7K Total
5276 1.1 jruoho Debug Version: 164.9K Code, 69.2K Data, 234.1K Total
5277 1.1 jruoho Current Release:
5278 1.1 jruoho Non-Debug Version: 78.3K Code, 11.5K Data, 89.8K Total
5279 1.1 jruoho Debug Version: 165.4K Code, 69.6K Data, 236.0K Total
5280 1.1 jruoho
5281 1.1 jruoho
5282 1.1 jruoho 2) iASL Compiler/Disassembler:
5283 1.1 jruoho
5284 1.1 jruoho Fixed a problem with the internal 64-bit String-to-integer conversion with
5285 1.1 jruoho strings less than two characters long.
5286 1.1 jruoho
5287 1.1 jruoho Fixed a problem with constant folding where the result of the Index()
5288 1.1 jruoho operator can not be considered a constant. This means that Index() cannot be
5289 1.1 jruoho a type3 opcode and this will require an update to the ACPI specification.
5290 1.1 jruoho
5291 1.1 jruoho Disassembler: Implemented support for the TTP, MTP, and TRS resource
5292 1.1 jruoho descriptor fields. These fields were inadvertently ignored and not output in
5293 1.1 jruoho the disassembly of the resource descriptor.
5294 1.1 jruoho
5295 1.1 jruoho
5296 1.1 jruoho ----------------------------------------
5297 1.1 jruoho 11 February 2005. Summary of changes for version 20050211:
5298 1.1 jruoho
5299 1.1 jruoho 1) ACPI CA Core Subsystem:
5300 1.1 jruoho
5301 1.1 jruoho Implemented ACPI 3.0 support for implicit conversion within the Match()
5302 1.1 jruoho operator. MatchObjects can now be of type integer, buffer, or string instead
5303 1.1 jruoho of just type integer. Package elements are implicitly converted to the type
5304 1.1 jruoho of the MatchObject. This change aligns the behavior of Match() with the
5305 1.1 jruoho behavior of the other logical operators (LLess(), etc.) It also requires an
5306 1.1 jruoho errata change to the ACPI specification as this support was intended for
5307 1.1 jruoho ACPI 3.0, but was inadvertently omitted.
5308 1.1 jruoho
5309 1.1 jruoho Fixed a problem with the internal implicit "to buffer" conversion. Strings
5310 1.1 jruoho that are converted to buffers will cause buffer truncation if the string is
5311 1.1 jruoho smaller than the target buffer. Integers that are converted to buffers will
5312 1.1 jruoho not cause buffer truncation, only zero extension (both as per the ACPI
5313 1.1 jruoho spec.) The problem was introduced when code was added to truncate the
5314 1.1 jruoho buffer, but this should not be performed in all cases, only the string case.
5315 1.1 jruoho
5316 1.1 jruoho Fixed a problem with the Buffer and Package operators where the interpreter
5317 1.1 jruoho would get confused if two such operators were used as operands to an ASL
5318 1.1 jruoho operator (such as LLess(Buffer(1){0},Buffer(1){1}). The internal result
5319 1.1 jruoho stack was not being popped after the execution of these operators, resulting
5320 1.1 jruoho in an AE_NO_RETURN_VALUE exception.
5321 1.1 jruoho
5322 1.1 jruoho Fixed a problem with constructs of the form Store(Index(...),...). The
5323 1.1 jruoho reference object returned from Index was inadvertently resolved to an actual
5324 1.1 jruoho value. This problem was introduced in version 20050114 when the behavior of
5325 1.1 jruoho Store() was modified to restrict the object types that can be used as the
5326 1.1 jruoho source operand (to match the ACPI specification.)
5327 1.1 jruoho
5328 1.1 jruoho Reduced excessive stack use within the AcpiGetObjectInfo procedure.
5329 1.1 jruoho
5330 1.1 jruoho Added a fix to aclinux.h to allow generation of AcpiExec on Linux.
5331 1.1 jruoho
5332 1.1 jruoho Updated the AcpiSrc utility to add the FADT_DESCRIPTOR_REV2_MINUS struct.
5333 1.1 jruoho
5334 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
5335 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
5336 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
5337 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
5338 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
5339 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
5340 1.1 jruoho the compiler options used during generation.
5341 1.1 jruoho
5342 1.1 jruoho Previous Release:
5343 1.1 jruoho Non-Debug Version: 78.1K Code, 11.5K Data, 89.6K Total
5344 1.1 jruoho Debug Version: 164.8K Code, 69.2K Data, 234.0K Total
5345 1.1 jruoho Current Release:
5346 1.1 jruoho Non-Debug Version: 78.2K Code, 11.5K Data, 89.7K Total
5347 1.1 jruoho Debug Version: 164.9K Code, 69.2K Data, 234.1K Total
5348 1.1 jruoho
5349 1.1 jruoho
5350 1.1 jruoho 2) iASL Compiler/Disassembler:
5351 1.1 jruoho
5352 1.1 jruoho Fixed a code generation problem in the constant folding optimization code
5353 1.1 jruoho where incorrect code was generated if a constant was reduced to a buffer
5354 1.1 jruoho object (i.e., a reduced type 5 opcode.)
5355 1.1 jruoho
5356 1.1 jruoho Fixed a typechecking problem for the ToBuffer operator. Caused by an
5357 1.1 jruoho incorrect return type in the internal opcode information table.
5358 1.1 jruoho
5359 1.1 jruoho ----------------------------------------
5360 1.1 jruoho 25 January 2005. Summary of changes for version 20050125:
5361 1.1 jruoho
5362 1.1 jruoho 1) ACPI CA Core Subsystem:
5363 1.1 jruoho
5364 1.1 jruoho Fixed a recently introduced problem with the Global Lock where the
5365 1.1 jruoho underlying semaphore was not created. This problem was introduced in
5366 1.1 jruoho version 20050114, and caused an AE_AML_NO_OPERAND exception during an
5367 1.1 jruoho Acquire() operation on _GL.
5368 1.1 jruoho
5369 1.1 jruoho The local object cache is now optional, and is disabled by default. Both
5370 1.1 jruoho AcpiExec and the iASL compiler enable the cache because they run in user
5371 1.1 jruoho mode and this enhances their performance. #define ACPI_ENABLE_OBJECT_CACHE
5372 1.1 jruoho to enable the local cache.
5373 1.1 jruoho
5374 1.1 jruoho Fixed an issue in the internal function AcpiUtEvaluateObject concerning the
5375 1.1 jruoho optional "implicit return" support where an error was returned if no return
5376 1.1 jruoho object was expected, but one was implicitly returned. AE_OK is now returned
5377 1.1 jruoho in this case and the implicitly returned object is deleted.
5378 1.1 jruoho AcpiUtEvaluateObject is only occasionally used, and only to execute reserved
5379 1.1 jruoho methods such as _STA and _INI where the return type is known up front.
5380 1.1 jruoho
5381 1.1 jruoho Fixed a few issues with the internal convert-to-integer code. It now returns
5382 1.1 jruoho an error if an attempt is made to convert a null string, a string of only
5383 1.1 jruoho blanks/tabs, or a zero-length buffer. This affects both implicit conversion
5384 1.1 jruoho and explicit conversion via the ToInteger() operator.
5385 1.1 jruoho
5386 1.1 jruoho The internal debug code in AcpiUtAcquireMutex has been commented out. It is
5387 1.1 jruoho not needed for normal operation and should increase the performance of the
5388 1.1 jruoho entire subsystem. The code remains in case it is needed for debug purposes
5389 1.1 jruoho again.
5390 1.1 jruoho
5391 1.1 jruoho The AcpiExec source and makefile are included in the Unix/Linux package for
5392 1.1 jruoho the first time.
5393 1.1 jruoho
5394 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
5395 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
5396 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
5397 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
5398 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
5399 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
5400 1.1 jruoho the compiler options used during generation.
5401 1.1 jruoho
5402 1.1 jruoho Previous Release:
5403 1.1 jruoho Non-Debug Version: 78.4K Code, 11.5K Data, 89.9K Total
5404 1.1 jruoho Debug Version: 165.4K Code, 69.4K Data, 234.8K Total
5405 1.1 jruoho Current Release:
5406 1.1 jruoho Non-Debug Version: 78.1K Code, 11.5K Data, 89.6K Total
5407 1.1 jruoho Debug Version: 164.8K Code, 69.2K Data, 234.0K Total
5408 1.1 jruoho
5409 1.1 jruoho 2) iASL Compiler/Disassembler:
5410 1.1 jruoho
5411 1.1 jruoho Switch/Case support: A warning is now issued if the type of the Switch value
5412 1.1 jruoho cannot be determined at compile time. For example, Switch(Arg0) will
5413 1.1 jruoho generate the warning, and the type is assumed to be an integer. As per the
5414 1.1 jruoho ACPI spec, use a construct such as Switch(ToInteger(Arg0)) to eliminate the
5415 1.1 jruoho warning.
5416 1.1 jruoho
5417 1.1 jruoho Switch/Case support: Implemented support for buffer and string objects as
5418 1.1 jruoho the switch value. This is an ACPI 3.0 feature, now that LEqual supports
5419 1.1 jruoho buffers and strings.
5420 1.1 jruoho
5421 1.1 jruoho Switch/Case support: The emitted code for the LEqual() comparisons now uses
5422 1.1 jruoho the switch value as the first operand, not the second. The case value is now
5423 1.1 jruoho the second operand, and this allows the case value to be implicitly
5424 1.1 jruoho converted to the type of the switch value, not the other way around.
5425 1.1 jruoho
5426 1.1 jruoho Switch/Case support: Temporary variables are now emitted immediately within
5427 1.1 jruoho the control method, not at the global level. This means that there are now
5428 1.1 jruoho 36 temps available per-method, not 36 temps per-module as was the case with
5429 1.1 jruoho the earlier implementation (_T_0 through _T_9 and _T_A through _T_Z.)
5430 1.1 jruoho
5431 1.1 jruoho ----------------------------------------
5432 1.1 jruoho 14 January 2005. Summary of changes for version 20050114:
5433 1.1 jruoho
5434 1.1 jruoho Added 2005 copyright to all module headers. This affects every module in
5435 1.1 jruoho the core subsystem, iASL compiler, and the utilities.
5436 1.1 jruoho
5437 1.1 jruoho 1) ACPI CA Core Subsystem:
5438 1.1 jruoho
5439 1.1 jruoho Fixed an issue with the String-to-Buffer conversion code where the string
5440 1.1 jruoho null terminator was not included in the buffer after conversion, but there
5441 1.1 jruoho is existing ASL that assumes the string null terminator is included. This is
5442 1.1 jruoho the root of the ACPI_AML_BUFFER_LIMIT regression. This problem was
5443 1.1 jruoho introduced in the previous version when the code was updated to correctly
5444 1.1 jruoho set the converted buffer size as per the ACPI specification. The ACPI spec
5445 1.1 jruoho is ambiguous and will be updated to specify that the null terminator must be
5446 1.1 jruoho included in the converted buffer. This also affects the ToBuffer() ASL
5447 1.1 jruoho operator.
5448 1.1 jruoho
5449 1.1 jruoho Fixed a problem with the Mid() ASL/AML operator where it did not work
5450 1.1 jruoho correctly on Buffer objects. Newly created sub-buffers were not being marked
5451 1.1 jruoho as initialized.
5452 1.1 jruoho
5453 1.1 jruoho
5454 1.1 jruoho Fixed a problem in AcpiTbFindTable where incorrect string compares were
5455 1.1 jruoho performed on the OemId and OemTableId table header fields. These fields are
5456 1.1 jruoho not null terminated, so strncmp is now used instead of strcmp.
5457 1.1 jruoho
5458 1.1 jruoho Implemented a restriction on the Store() ASL/AML operator to align the
5459 1.1 jruoho behavior with the ACPI specification. Previously, any object could be used
5460 1.1 jruoho as the source operand. Now, the only objects that may be used are Integers,
5461 1.1 jruoho Buffers, Strings, Packages, Object References, and DDB Handles. If
5462 1.1 jruoho necessary, the original behavior can be restored by enabling the
5463 1.1 jruoho EnableInterpreterSlack flag.
5464 1.1 jruoho
5465 1.1 jruoho Enhanced the optional "implicit return" support to allow an implicit return
5466 1.1 jruoho value from methods that are invoked externally via the AcpiEvaluateObject
5467 1.1 jruoho interface. This enables implicit returns from the _STA and _INI methods,
5468 1.1 jruoho for example.
5469 1.1 jruoho
5470 1.1 jruoho Changed the Revision() ASL/AML operator to return the current version of the
5471 1.1 jruoho AML interpreter, in the YYYYMMDD format. Previously, it incorrectly returned
5472 1.1 jruoho the supported ACPI version (This is the function of the _REV method).
5473 1.1 jruoho
5474 1.1 jruoho Updated the _REV predefined method to return the currently supported version
5475 1.1 jruoho of ACPI, now 3.
5476 1.1 jruoho
5477 1.1 jruoho Implemented batch mode option for the AcpiExec utility (-b).
5478 1.1 jruoho
5479 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
5480 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
5481 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
5482 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
5483 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
5484 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
5485 1.1 jruoho the compiler options used during generation.
5486 1.1 jruoho
5487 1.1 jruoho Previous Release:
5488 1.1 jruoho Non-Debug Version: 78.3K Code, 11.5K Data, 89.8K Total
5489 1.1 jruoho Debug Version: 165.3K Code, 69.4K Data, 234.7K Total
5490 1.1 jruoho Current Release:
5491 1.1 jruoho Non-Debug Version: 78.4K Code, 11.5K Data, 89.9K Total
5492 1.1 jruoho Debug Version: 165.4K Code, 69.4K Data, 234.8K Total
5493 1.1 jruoho
5494 1.1 jruoho ----------------------------------------
5495 1.1 jruoho 10 December 2004. Summary of changes for version 20041210:
5496 1.1 jruoho
5497 1.1 jruoho ACPI 3.0 support is nearing completion in both the iASL compiler and the
5498 1.1 jruoho ACPI CA core subsystem.
5499 1.1 jruoho
5500 1.1 jruoho 1) ACPI CA Core Subsystem:
5501 1.1 jruoho
5502 1.1 jruoho Fixed a problem in the ToDecimalString operator where the resulting string
5503 1.1 jruoho length was incorrectly calculated. The length is now calculated exactly,
5504 1.1 jruoho eliminating incorrect AE_STRING_LIMIT exceptions.
5505 1.1 jruoho
5506 1.1 jruoho Fixed a problem in the ToHexString operator to allow a maximum 200 character
5507 1.1 jruoho string to be produced.
5508 1.1 jruoho
5509 1.1 jruoho Fixed a problem in the internal string-to-buffer and buffer-to-buffer copy
5510 1.1 jruoho routine where the length of the resulting buffer was not truncated to the
5511 1.1 jruoho new size (if the target buffer already existed).
5512 1.1 jruoho
5513 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
5514 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
5515 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
5516 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
5517 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
5518 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
5519 1.1 jruoho the compiler options used during generation.
5520 1.1 jruoho
5521 1.1 jruoho Previous Release:
5522 1.1 jruoho Non-Debug Version: 78.3K Code, 11.5K Data, 89.8K Total
5523 1.1 jruoho Debug Version: 164.7K Code, 68.5K Data, 233.2K Total
5524 1.1 jruoho Current Release:
5525 1.1 jruoho Non-Debug Version: 78.3K Code, 11.5K Data, 89.8K Total
5526 1.1 jruoho Debug Version: 165.3K Code, 69.4K Data, 234.7K Total
5527 1.1 jruoho
5528 1.1 jruoho
5529 1.1 jruoho 2) iASL Compiler/Disassembler:
5530 1.1 jruoho
5531 1.1 jruoho Implemented the new ACPI 3.0 resource template macros - DWordSpace,
5532 1.1 jruoho ExtendedIO, ExtendedMemory, ExtendedSpace, QWordSpace, and WordSpace.
5533 1.1 jruoho Includes support in the disassembler.
5534 1.1 jruoho
5535 1.1 jruoho Implemented support for the new (ACPI 3.0) parameter to the Register macro,
5536 1.1 jruoho AccessSize.
5537 1.1 jruoho
5538 1.1 jruoho Fixed a problem where the _HE resource name for the Interrupt macro was
5539 1.1 jruoho referencing bit 0 instead of bit 1.
5540 1.1 jruoho
5541 1.1 jruoho Implemented check for maximum 255 interrupts in the Interrupt macro.
5542 1.1 jruoho
5543 1.1 jruoho Fixed a problem with the predefined resource descriptor names where
5544 1.1 jruoho incorrect AML code was generated if the offset within the resource buffer
5545 1.1 jruoho was 0 or 1. The optimizer shortened the AML code to a single byte opcode
5546 1.1 jruoho but did not update the surrounding package lengths.
5547 1.1 jruoho
5548 1.1 jruoho Changes to the Dma macro: All channels within the channel list must be in
5549 1.1 jruoho the range 0-7. Maximum 8 channels can be specified. BusMaster operand is
5550 1.1 jruoho optional (default is BusMaster).
5551 1.1 jruoho
5552 1.1 jruoho Implemented check for maximum 7 data bytes for the VendorShort macro.
5553 1.1 jruoho
5554 1.1 jruoho The ReadWrite parameter is now optional for the Memory32 and similar macros.
5555 1.1 jruoho
5556 1.1 jruoho ----------------------------------------
5557 1.1 jruoho 03 December 2004. Summary of changes for version 20041203:
5558 1.1 jruoho
5559 1.1 jruoho 1) ACPI CA Core Subsystem:
5560 1.1 jruoho
5561 1.1 jruoho The low-level field insertion/extraction code (exfldio) has been completely
5562 1.1 jruoho rewritten to eliminate unnecessary complexity, bugs, and boundary
5563 1.1 jruoho conditions.
5564 1.1 jruoho
5565 1.1 jruoho Fixed a problem in the ToInteger, ToBuffer, ToHexString, and ToDecimalString
5566 1.1 jruoho operators where the input operand could be inadvertently deleted if no
5567 1.1 jruoho conversion was necessary (e.g., if the input to ToInteger was an Integer
5568 1.1 jruoho object.)
5569 1.1 jruoho
5570 1.1 jruoho Fixed a problem with the ToDecimalString and ToHexString where an incorrect
5571 1.1 jruoho exception code was returned if the resulting string would be > 200 chars.
5572 1.1 jruoho AE_STRING_LIMIT is now returned.
5573 1.1 jruoho
5574 1.1 jruoho Fixed a problem with the Concatenate operator where AE_OK was always
5575 1.1 jruoho returned, even if the operation failed.
5576 1.1 jruoho
5577 1.1 jruoho Fixed a problem in oswinxf (used by AcpiExec and iASL) to allow > 128
5578 1.1 jruoho semaphores to be allocated.
5579 1.1 jruoho
5580 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
5581 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
5582 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
5583 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
5584 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
5585 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
5586 1.1 jruoho the compiler options used during generation.
5587 1.1 jruoho
5588 1.1 jruoho Previous Release:
5589 1.1 jruoho Non-Debug Version: 78.5K Code, 11.5K Data, 90.0K Total
5590 1.1 jruoho Debug Version: 165.2K Code, 68.6K Data, 233.8K Total
5591 1.1 jruoho Current Release:
5592 1.1 jruoho Non-Debug Version: 78.3K Code, 11.5K Data, 89.8K Total
5593 1.1 jruoho Debug Version: 164.7K Code, 68.5K Data, 233.2K Total
5594 1.1 jruoho
5595 1.1 jruoho
5596 1.1 jruoho 2) iASL Compiler/Disassembler:
5597 1.1 jruoho
5598 1.1 jruoho Fixed typechecking for the ObjectType and SizeOf operators. Problem was
5599 1.1 jruoho recently introduced in 20041119.
5600 1.1 jruoho
5601 1.1 jruoho Fixed a problem with the ToUUID macro where the upper nybble of each buffer
5602 1.1 jruoho byte was inadvertently set to zero.
5603 1.1 jruoho
5604 1.1 jruoho ----------------------------------------
5605 1.1 jruoho 19 November 2004. Summary of changes for version 20041119:
5606 1.1 jruoho
5607 1.1 jruoho 1) ACPI CA Core Subsystem:
5608 1.1 jruoho
5609 1.1 jruoho Fixed a problem in the internal ConvertToInteger routine where new integers
5610 1.1 jruoho were not truncated to 32 bits for 32-bit ACPI tables. This routine converts
5611 1.1 jruoho buffers and strings to integers.
5612 1.1 jruoho
5613 1.1 jruoho Implemented support to store a value to an Index() on a String object. This
5614 1.1 jruoho is an ACPI 2.0 feature that had not yet been implemented.
5615 1.1 jruoho
5616 1.1 jruoho Implemented new behavior for storing objects to individual package elements
5617 1.1 jruoho (via the Index() operator). The previous behavior was to invoke the implicit
5618 1.1 jruoho conversion rules if an object was already present at the index. The new
5619 1.1 jruoho behavior is to simply delete any existing object and directly store the new
5620 1.1 jruoho object. Although the ACPI specification seems unclear on this subject, other
5621 1.1 jruoho ACPI implementations behave in this manner. (This is the root of the
5622 1.1 jruoho AE_BAD_HEX_CONSTANT issue.)
5623 1.1 jruoho
5624 1.1 jruoho Modified the RSDP memory scan mechanism to support the extended checksum for
5625 1.1 jruoho ACPI 2.0 (and above) RSDPs. Note that the search continues until a valid
5626 1.1 jruoho RSDP signature is found with a valid checksum.
5627 1.1 jruoho
5628 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
5629 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
5630 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
5631 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
5632 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
5633 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
5634 1.1 jruoho the compiler options used during generation.
5635 1.1 jruoho
5636 1.1 jruoho Previous Release:
5637 1.1 jruoho Non-Debug Version: 78.5K Code, 11.5K Data, 90.0K Total
5638 1.1 jruoho Debug Version: 165.2K Code, 68.6K Data, 233.8K Total
5639 1.1 jruoho Current Release:
5640 1.1 jruoho Non-Debug Version: 78.5K Code, 11.5K Data, 90.0K Total
5641 1.1 jruoho Debug Version: 165.2K Code, 68.6K Data, 233.8K Total
5642 1.1 jruoho
5643 1.1 jruoho
5644 1.1 jruoho 2) iASL Compiler/Disassembler:
5645 1.1 jruoho
5646 1.1 jruoho Fixed a missing semicolon in the aslcompiler.y file.
5647 1.1 jruoho
5648 1.1 jruoho ----------------------------------------
5649 1.1 jruoho 05 November 2004. Summary of changes for version 20041105:
5650 1.1 jruoho
5651 1.1 jruoho 1) ACPI CA Core Subsystem:
5652 1.1 jruoho
5653 1.1 jruoho Implemented support for FADT revision 2. This was an interim table (between
5654 1.1 jruoho ACPI 1.0 and ACPI 2.0) that adds support for the FADT reset register.
5655 1.1 jruoho
5656 1.1 jruoho Implemented optional support to allow uninitialized LocalX and ArgX
5657 1.1 jruoho variables in a control method. The variables are initialized to an Integer
5658 1.1 jruoho object with a value of zero. This support is enabled by setting the
5659 1.1 jruoho AcpiGbl_EnableInterpreterSlack flag to TRUE.
5660 1.1 jruoho
5661 1.1 jruoho Implemented support for Integer objects for the SizeOf operator. Either 4
5662 1.1 jruoho or 8 is returned, depending on the current integer size (32-bit or 64-bit,
5663 1.1 jruoho depending on the parent table revision).
5664 1.1 jruoho
5665 1.1 jruoho Fixed a problem in the implementation of the SizeOf and ObjectType operators
5666 1.1 jruoho where the operand was resolved to a value too early, causing incorrect
5667 1.1 jruoho return values for some objects.
5668 1.1 jruoho
5669 1.1 jruoho Fixed some possible memory leaks during exceptional conditions.
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.0K Code, 11.5K Data, 89.5K Total
5681 1.1 jruoho Debug Version: 164.8K Code, 68.6K Data, 233.4K Total
5682 1.1 jruoho Current Release:
5683 1.1 jruoho Non-Debug Version: 78.5K Code, 11.5K Data, 90.0K Total
5684 1.1 jruoho Debug Version: 165.2K Code, 68.6K Data, 233.8K 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 Implemented support for all ACPI 3.0 reserved names and methods.
5690 1.1 jruoho
5691 1.1 jruoho Implemented all ACPI 3.0 grammar elements in the front-end, including
5692 1.1 jruoho support for semicolons.
5693 1.1 jruoho
5694 1.1 jruoho Implemented the ACPI 3.0 Function() and ToUUID() macros
5695 1.1 jruoho
5696 1.1 jruoho Fixed a problem in the disassembler where a Scope() operator would not be
5697 1.1 jruoho emitted properly if the target of the scope was in another table.
5698 1.1 jruoho
5699 1.1 jruoho ----------------------------------------
5700 1.1 jruoho 15 October 2004. Summary of changes for version 20041015:
5701 1.1 jruoho
5702 1.1 jruoho Note: ACPI CA is currently undergoing an in-depth and complete formal
5703 1.1 jruoho evaluation to test/verify the following areas. Other suggestions are
5704 1.1 jruoho welcome. This will result in an increase in the frequency of releases and
5705 1.1 jruoho the number of bug fixes in the next few months.
5706 1.1 jruoho - Functional tests for all ASL/AML operators
5707 1.1 jruoho - All implicit/explicit type conversions
5708 1.1 jruoho - Bit fields and operation regions
5709 1.1 jruoho - 64-bit math support and 32-bit-only "truncated" math support
5710 1.1 jruoho - Exceptional conditions, both compiler and interpreter
5711 1.1 jruoho - Dynamic object deletion and memory leaks
5712 1.1 jruoho - ACPI 3.0 support when implemented
5713 1.1 jruoho - External interfaces to the ACPI subsystem
5714 1.1 jruoho
5715 1.1 jruoho
5716 1.1 jruoho 1) ACPI CA Core Subsystem:
5717 1.1 jruoho
5718 1.1 jruoho Fixed two alignment issues on 64-bit platforms - within debug statements in
5719 1.1 jruoho AcpiEvGpeDetect and AcpiEvCreateGpeBlock. Removed references to the Address
5720 1.1 jruoho field within the non-aligned ACPI generic address structure.
5721 1.1 jruoho
5722 1.1 jruoho Fixed a problem in the Increment and Decrement operators where incorrect
5723 1.1 jruoho operand resolution could result in the inadvertent modification of the
5724 1.1 jruoho original integer when the integer is passed into another method as an
5725 1.1 jruoho argument and the arg is then incremented/decremented.
5726 1.1 jruoho
5727 1.1 jruoho Fixed a problem in the FromBCD operator where the upper 32-bits of a 64-bit
5728 1.1 jruoho BCD number were truncated during conversion.
5729 1.1 jruoho
5730 1.1 jruoho Fixed a problem in the ToDecimal operator where the length of the resulting
5731 1.1 jruoho string could be set incorrectly too long if the input operand was a Buffer
5732 1.1 jruoho object.
5733 1.1 jruoho
5734 1.1 jruoho Fixed a problem in the Logical operators (LLess, etc.) where a NULL byte (0)
5735 1.1 jruoho within a buffer would prematurely terminate a compare between buffer
5736 1.1 jruoho objects.
5737 1.1 jruoho
5738 1.1 jruoho Added a check for string overflow (>200 characters as per the ACPI
5739 1.1 jruoho specification) during the Concatenate operator with two string operands.
5740 1.1 jruoho
5741 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
5742 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
5743 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
5744 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
5745 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
5746 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
5747 1.1 jruoho the compiler options used during generation.
5748 1.1 jruoho
5749 1.1 jruoho Previous Release:
5750 1.1 jruoho Non-Debug Version: 77.8K Code, 11.5K Data, 89.3K Total
5751 1.1 jruoho Debug Version: 164.6K Code, 68.5K Data, 233.1K Total
5752 1.1 jruoho Current Release:
5753 1.1 jruoho Non-Debug Version: 78.0K Code, 11.5K Data, 89.5K Total
5754 1.1 jruoho Debug Version: 164.8K Code, 68.6K Data, 233.4K Total
5755 1.1 jruoho
5756 1.1 jruoho
5757 1.1 jruoho
5758 1.1 jruoho 2) iASL Compiler/Disassembler:
5759 1.1 jruoho
5760 1.1 jruoho Allow the use of the ObjectType operator on uninitialized Locals and Args
5761 1.1 jruoho (returns 0 as per the ACPI specification).
5762 1.1 jruoho
5763 1.1 jruoho Fixed a problem where the compiler would fault if there was a syntax error
5764 1.1 jruoho in the FieldName of all of the various CreateXXXField operators.
5765 1.1 jruoho
5766 1.1 jruoho Disallow the use of lower case letters within the EISAID macro, as per the
5767 1.1 jruoho ACPI specification. All EISAID strings must be of the form "UUUNNNN" Where
5768 1.1 jruoho U is an uppercase letter and N is a hex digit.
5769 1.1 jruoho
5770 1.1 jruoho
5771 1.1 jruoho ----------------------------------------
5772 1.1 jruoho 06 October 2004. Summary of changes for version 20041006:
5773 1.1 jruoho
5774 1.1 jruoho 1) ACPI CA Core Subsystem:
5775 1.1 jruoho
5776 1.1 jruoho Implemented support for the ACPI 3.0 Timer operator. This ASL function
5777 1.1 jruoho implements a 64-bit timer with 100 nanosecond granularity.
5778 1.1 jruoho
5779 1.1 jruoho Defined a new OSL interface, AcpiOsGetTimer. This interface is used to
5780 1.1 jruoho implement the ACPI 3.0 Timer operator. This allows the host OS to implement
5781 1.1 jruoho the timer with the best clock available. Also, it keeps the core subsystem
5782 1.1 jruoho out of the clock handling business, since the host OS (usually) performs
5783 1.1 jruoho this function.
5784 1.1 jruoho
5785 1.1 jruoho Fixed an alignment issue on 64-bit platforms. The HwLowLevelRead(Write)
5786 1.1 jruoho functions use a 64-bit address which is part of the packed ACPI Generic
5787 1.1 jruoho Address Structure. Since the structure is non-aligned, the alignment macros
5788 1.1 jruoho are now used to extract the address to a local variable before use.
5789 1.1 jruoho
5790 1.1 jruoho Fixed a problem where the ToInteger operator assumed all input strings were
5791 1.1 jruoho hexadecimal. The operator now handles both decimal strings and hex strings
5792 1.1 jruoho (prefixed with "0x").
5793 1.1 jruoho
5794 1.1 jruoho Fixed a problem where the string length in the string object created as a
5795 1.1 jruoho result of the internal ConvertToString procedure could be incorrect. This
5796 1.1 jruoho potentially affected all implicit conversions and also the ToDecimalString
5797 1.1 jruoho and ToHexString operators.
5798 1.1 jruoho
5799 1.1 jruoho Fixed two problems in the ToString operator. If the length parameter was
5800 1.1 jruoho zero, an incorrect string object was created and the value of the input
5801 1.1 jruoho length parameter was inadvertently changed from zero to Ones.
5802 1.1 jruoho
5803 1.1 jruoho Fixed a problem where the optional ResourceSource string in the ExtendedIRQ
5804 1.1 jruoho resource macro was ignored.
5805 1.1 jruoho
5806 1.1 jruoho Simplified the interfaces to the internal division functions, reducing code
5807 1.1 jruoho size and complexity.
5808 1.1 jruoho
5809 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
5810 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
5811 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
5812 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
5813 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
5814 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
5815 1.1 jruoho the compiler options used during generation.
5816 1.1 jruoho
5817 1.1 jruoho Previous Release:
5818 1.1 jruoho Non-Debug Version: 77.9K Code, 11.4K Data, 89.3K Total
5819 1.1 jruoho Debug Version: 164.5K Code, 68.3K Data, 232.8K Total
5820 1.1 jruoho Current Release:
5821 1.1 jruoho Non-Debug Version: 77.8K Code, 11.5K Data, 89.3K Total
5822 1.1 jruoho Debug Version: 164.6K Code, 68.5K Data, 233.1K Total
5823 1.1 jruoho
5824 1.1 jruoho
5825 1.1 jruoho 2) iASL Compiler/Disassembler:
5826 1.1 jruoho
5827 1.1 jruoho Implemented support for the ACPI 3.0 Timer operator.
5828 1.1 jruoho
5829 1.1 jruoho Fixed a problem where the Default() operator was inadvertently ignored in a
5830 1.1 jruoho Switch/Case block. This was a problem in the translation of the Switch
5831 1.1 jruoho statement to If...Else pairs.
5832 1.1 jruoho
5833 1.1 jruoho Added support to allow a standalone Return operator, with no parentheses (or
5834 1.1 jruoho operands).
5835 1.1 jruoho
5836 1.1 jruoho Fixed a problem with code generation for the ElseIf operator where the
5837 1.1 jruoho translated Else...If parse tree was improperly constructed leading to the
5838 1.1 jruoho loss of some code.
5839 1.1 jruoho
5840 1.1 jruoho ----------------------------------------
5841 1.1 jruoho 22 September 2004. Summary of changes for version 20040922:
5842 1.1 jruoho
5843 1.1 jruoho 1) ACPI CA Core Subsystem:
5844 1.1 jruoho
5845 1.1 jruoho Fixed a problem with the implementation of the LNot() operator where "Ones"
5846 1.1 jruoho was not returned for the TRUE case. Changed the code to return Ones instead
5847 1.1 jruoho of (!Arg) which was usually 1. This change affects iASL constant folding for
5848 1.1 jruoho this operator also.
5849 1.1 jruoho
5850 1.1 jruoho Fixed a problem in AcpiUtInitializeBuffer where an existing buffer was not
5851 1.1 jruoho initialized properly -- Now zero the entire buffer in this case where the
5852 1.1 jruoho buffer already exists.
5853 1.1 jruoho
5854 1.1 jruoho Changed the interface to AcpiOsSleep from (UINT32 Seconds, UINT32
5855 1.1 jruoho Milliseconds) to simply (ACPI_INTEGER Milliseconds). This simplifies all
5856 1.1 jruoho related code considerably. This will require changes/updates to all OS
5857 1.1 jruoho interface layers (OSLs.)
5858 1.1 jruoho
5859 1.1 jruoho Implemented a new external interface, AcpiInstallExceptionHandler, to allow
5860 1.1 jruoho a system exception handler to be installed. This handler is invoked upon any
5861 1.1 jruoho run-time exception that occurs during control method execution.
5862 1.1 jruoho
5863 1.1 jruoho Added support for the DSDT in AcpiTbFindTable. This allows the
5864 1.1 jruoho DataTableRegion() operator to access the local copy of the DSDT.
5865 1.1 jruoho
5866 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
5867 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
5868 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
5869 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
5870 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
5871 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
5872 1.1 jruoho the compiler options used during generation.
5873 1.1 jruoho
5874 1.1 jruoho Previous Release:
5875 1.1 jruoho Non-Debug Version: 77.8K Code, 11.4K Data, 89.2K Total
5876 1.1 jruoho Debug Version: 164.2K Code, 68.2K Data, 232.4K Total
5877 1.1 jruoho Current Release:
5878 1.1 jruoho Non-Debug Version: 77.9K Code, 11.4K Data, 89.3K Total
5879 1.1 jruoho Debug Version: 164.5K Code, 68.3K Data, 232.8K Total
5880 1.1 jruoho
5881 1.1 jruoho
5882 1.1 jruoho 2) iASL Compiler/Disassembler:
5883 1.1 jruoho
5884 1.1 jruoho Fixed a problem with constant folding and the LNot operator. LNot was
5885 1.1 jruoho returning 1 in the TRUE case, not Ones as per the ACPI specification. This
5886 1.1 jruoho could result in the generation of an incorrect folded/reduced constant.
5887 1.1 jruoho
5888 1.1 jruoho End-Of-File is now allowed within a "//"-style comment. A parse error no
5889 1.1 jruoho longer occurs if such a comment is at the very end of the input ASL source
5890 1.1 jruoho file.
5891 1.1 jruoho
5892 1.1 jruoho Implemented the "-r" option to override the Revision in the table header.
5893 1.1 jruoho The initial use of this option will be to simplify the evaluation of the AML
5894 1.1 jruoho interpreter by allowing a single ASL source module to be compiled for either
5895 1.1 jruoho 32-bit or 64-bit integers.
5896 1.1 jruoho
5897 1.1 jruoho
5898 1.1 jruoho ----------------------------------------
5899 1.1 jruoho 27 August 2004. Summary of changes for version 20040827:
5900 1.1 jruoho
5901 1.1 jruoho 1) ACPI CA Core Subsystem:
5902 1.1 jruoho
5903 1.1 jruoho - Implemented support for implicit object conversion in the non-numeric
5904 1.1 jruoho logical operators (LEqual, LGreater, LGreaterEqual, LLess, LLessEqual, and
5905 1.1 jruoho LNotEqual.) Any combination of Integers/Strings/Buffers may now be used;
5906 1.1 jruoho the second operand is implicitly converted on the fly to match the type of
5907 1.1 jruoho the first operand. For example:
5908 1.1 jruoho
5909 1.1 jruoho LEqual (Source1, Source2)
5910 1.1 jruoho
5911 1.1 jruoho Source1 and Source2 must each evaluate to an integer, a string, or a buffer.
5912 1.1 jruoho The data type of Source1 dictates the required type of Source2. Source2 is
5913 1.1 jruoho implicitly converted if necessary to match the type of Source1.
5914 1.1 jruoho
5915 1.1 jruoho - Updated and corrected the behavior of the string conversion support. The
5916 1.1 jruoho rules concerning conversion of buffers to strings (according to the ACPI
5917 1.1 jruoho specification) are as follows:
5918 1.1 jruoho
5919 1.1 jruoho ToDecimalString - explicit byte-wise conversion of buffer to string of
5920 1.1 jruoho decimal values (0-255) separated by commas. ToHexString - explicit byte-wise
5921 1.1 jruoho conversion of buffer to string of hex values (0-FF) separated by commas.
5922 1.1 jruoho ToString - explicit byte-wise conversion of buffer to string. Byte-by-byte
5923 1.1 jruoho copy with no transform except NULL terminated. Any other implicit buffer-to-
5924 1.1 jruoho string conversion - byte-wise conversion of buffer to string of hex values
5925 1.1 jruoho (0-FF) separated by spaces.
5926 1.1 jruoho
5927 1.1 jruoho - Fixed typo in definition of AcpiGbl_EnableInterpreterSlack.
5928 1.1 jruoho
5929 1.1 jruoho - Fixed a problem in AcpiNsGetPathnameLength where the returned length was
5930 1.1 jruoho one byte too short in the case of a node in the root scope. This could
5931 1.1 jruoho cause a fault during debug output.
5932 1.1 jruoho
5933 1.1 jruoho - Code and Data Size: Current and previous core subsystem library sizes are
5934 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
5935 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
5936 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
5937 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
5938 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
5939 1.1 jruoho the compiler options used during generation.
5940 1.1 jruoho
5941 1.1 jruoho Previous Release:
5942 1.1 jruoho Non-Debug Version: 77.9K Code, 11.5K Data, 89.4K Total
5943 1.1 jruoho Debug Version: 164.1K Code, 68.3K Data, 232.4K Total
5944 1.1 jruoho Current Release:
5945 1.1 jruoho Non-Debug Version: 77.8K Code, 11.4K Data, 89.2K Total
5946 1.1 jruoho Debug Version: 164.2K Code, 68.2K Data, 232.4K Total
5947 1.1 jruoho
5948 1.1 jruoho
5949 1.1 jruoho 2) iASL Compiler/Disassembler:
5950 1.1 jruoho
5951 1.1 jruoho - Fixed a Linux generation error.
5952 1.1 jruoho
5953 1.1 jruoho
5954 1.1 jruoho ----------------------------------------
5955 1.1 jruoho 16 August 2004. Summary of changes for version 20040816:
5956 1.1 jruoho
5957 1.1 jruoho 1) ACPI CA Core Subsystem:
5958 1.1 jruoho
5959 1.1 jruoho Designed and implemented support within the AML interpreter for the so-
5960 1.1 jruoho called "implicit return". This support returns the result of the last ASL
5961 1.1 jruoho operation within a control method, in the absence of an explicit Return()
5962 1.1 jruoho operator. A few machines depend on this behavior, even though it is not
5963 1.1 jruoho explicitly supported by the ASL language. It is optional support that can
5964 1.1 jruoho be enabled at runtime via the AcpiGbl_EnableInterpreterSlack flag.
5965 1.1 jruoho
5966 1.1 jruoho Removed support for the PCI_Config address space from the internal low level
5967 1.1 jruoho hardware interfaces (AcpiHwLowLevelRead and AcpiHwLowLevelWrite). This
5968 1.1 jruoho support was not used internally, and would not work correctly anyway because
5969 1.1 jruoho the PCI bus number and segment number were not supported. There are
5970 1.1 jruoho separate interfaces for PCI configuration space access because of the unique
5971 1.1 jruoho interface.
5972 1.1 jruoho
5973 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
5974 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
5975 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
5976 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
5977 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
5978 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
5979 1.1 jruoho the compiler options used during generation.
5980 1.1 jruoho
5981 1.1 jruoho Previous Release:
5982 1.1 jruoho Non-Debug Version: 78.0K Code, 11.5K Data, 89.5K Total
5983 1.1 jruoho Debug Version: 164.1K Code, 68.2K Data, 232.3K Total
5984 1.1 jruoho Current Release:
5985 1.1 jruoho Non-Debug Version: 77.9K Code, 11.5K Data, 89.4K Total
5986 1.1 jruoho Debug Version: 164.1K Code, 68.3K Data, 232.4K Total
5987 1.1 jruoho
5988 1.1 jruoho
5989 1.1 jruoho 2) iASL Compiler/Disassembler:
5990 1.1 jruoho
5991 1.1 jruoho Fixed a problem where constants in ASL expressions at the root level (not
5992 1.1 jruoho within a control method) could be inadvertently truncated during code
5993 1.1 jruoho generation. This problem was introduced in the 20040715 release.
5994 1.1 jruoho
5995 1.1 jruoho
5996 1.1 jruoho ----------------------------------------
5997 1.1 jruoho 15 July 2004. Summary of changes for version 20040715:
5998 1.1 jruoho
5999 1.1 jruoho 1) ACPI CA Core Subsystem:
6000 1.1 jruoho
6001 1.1 jruoho Restructured the internal HW GPE interfaces to pass/track the current state
6002 1.1 jruoho of interrupts (enabled/disabled) in order to avoid possible deadlock and
6003 1.1 jruoho increase flexibility of the interfaces.
6004 1.1 jruoho
6005 1.1 jruoho Implemented a "lexicographical compare" for String and Buffer objects within
6006 1.1 jruoho the logical operators -- LGreater, LLess, LGreaterEqual, and LLessEqual --
6007 1.1 jruoho as per further clarification to the ACPI specification. Behavior is similar
6008 1.1 jruoho to C library "strcmp".
6009 1.1 jruoho
6010 1.1 jruoho Completed a major reduction in CPU stack use for the AcpiGetFirmwareTable
6011 1.1 jruoho external function. In the 32-bit non-debug case, the stack use has been
6012 1.1 jruoho reduced from 168 bytes to 32 bytes.
6013 1.1 jruoho
6014 1.1 jruoho Deployed a new run-time configuration flag, AcpiGbl_EnableInterpreterSlack,
6015 1.1 jruoho whose purpose is to allow the AML interpreter to forgive certain bad AML
6016 1.1 jruoho constructs. Default setting is FALSE.
6017 1.1 jruoho
6018 1.1 jruoho Implemented the first use of AcpiGbl_EnableInterpreterSlack in the Field IO
6019 1.1 jruoho support code. If enabled, it allows field access to go beyond the end of a
6020 1.1 jruoho region definition if the field is within the region length rounded up to the
6021 1.1 jruoho next access width boundary (a common coding error.)
6022 1.1 jruoho
6023 1.1 jruoho Renamed OSD_HANDLER to ACPI_OSD_HANDLER, and OSD_EXECUTION_CALLBACK to
6024 1.1 jruoho ACPI_OSD_EXEC_CALLBACK for consistency with other ACPI symbols. Also, these
6025 1.1 jruoho symbols are lowercased by the latest version of the AcpiSrc tool.
6026 1.1 jruoho
6027 1.1 jruoho The prototypes for the PCI interfaces in acpiosxf.h have been updated to
6028 1.1 jruoho rename "Register" to simply "Reg" to prevent certain compilers from
6029 1.1 jruoho complaining.
6030 1.1 jruoho
6031 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
6032 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
6033 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
6034 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
6035 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
6036 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
6037 1.1 jruoho the compiler options used during generation.
6038 1.1 jruoho
6039 1.1 jruoho Previous Release:
6040 1.1 jruoho Non-Debug Version: 77.8K Code, 11.5K Data, 89.3K Total
6041 1.1 jruoho Debug Version: 163.8K Code, 68.2K Data, 232.0K Total
6042 1.1 jruoho Current Release:
6043 1.1 jruoho Non-Debug Version: 78.0K Code, 11.5K Data, 89.5K Total
6044 1.1 jruoho Debug Version: 164.1K Code, 68.2K Data, 232.3K Total
6045 1.1 jruoho
6046 1.1 jruoho
6047 1.1 jruoho 2) iASL Compiler/Disassembler:
6048 1.1 jruoho
6049 1.1 jruoho Implemented full support for Package objects within the Case() operator.
6050 1.1 jruoho Note: The Break() operator is currently not supported within Case blocks
6051 1.1 jruoho (TermLists) as there is some question about backward compatibility with ACPI
6052 1.1 jruoho 1.0 interpreters.
6053 1.1 jruoho
6054 1.1 jruoho
6055 1.1 jruoho Fixed a problem where complex terms were not supported properly within the
6056 1.1 jruoho Switch() operator.
6057 1.1 jruoho
6058 1.1 jruoho Eliminated extraneous warning for compiler-emitted reserved names of the
6059 1.1 jruoho form "_T_x". (Used in Switch/Case operators.)
6060 1.1 jruoho
6061 1.1 jruoho Eliminated optimization messages for "_T_x" objects and small constants
6062 1.1 jruoho within the DefinitionBlock operator.
6063 1.1 jruoho
6064 1.1 jruoho
6065 1.1 jruoho ----------------------------------------
6066 1.1 jruoho 15 June 2004. Summary of changes for version 20040615:
6067 1.1 jruoho
6068 1.1 jruoho 1) ACPI CA Core Subsystem:
6069 1.1 jruoho
6070 1.1 jruoho Implemented support for Buffer and String objects (as per ACPI 2.0) for the
6071 1.1 jruoho following ASL operators: LEqual, LGreater, LLess, LGreaterEqual, and
6072 1.1 jruoho LLessEqual.
6073 1.1 jruoho
6074 1.1 jruoho All directory names in the entire source package are lower case, as they
6075 1.1 jruoho were in earlier releases.
6076 1.1 jruoho
6077 1.1 jruoho Implemented "Disassemble" command in the AML debugger that will disassemble
6078 1.1 jruoho a single control method.
6079 1.1 jruoho
6080 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
6081 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
6082 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
6083 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
6084 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
6085 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
6086 1.1 jruoho the compiler options used during generation.
6087 1.1 jruoho
6088 1.1 jruoho Previous Release:
6089 1.1 jruoho Non-Debug Version: 77.7K Code, 11.5K Data, 89.2K Total
6090 1.1 jruoho Debug Version: 163.3K Code, 67.2K Data, 230.5K Total
6091 1.1 jruoho
6092 1.1 jruoho Current Release:
6093 1.1 jruoho Non-Debug Version: 77.8K Code, 11.5K Data, 89.3K Total
6094 1.1 jruoho Debug Version: 163.8K Code, 68.2K Data, 232.0K Total
6095 1.1 jruoho
6096 1.1 jruoho
6097 1.1 jruoho 2) iASL Compiler/Disassembler:
6098 1.1 jruoho
6099 1.1 jruoho Implemented support for Buffer and String objects (as per ACPI 2.0) for the
6100 1.1 jruoho following ASL operators: LEqual, LGreater, LLess, LGreaterEqual, and
6101 1.1 jruoho LLessEqual.
6102 1.1 jruoho
6103 1.1 jruoho All directory names in the entire source package are lower case, as they
6104 1.1 jruoho were in earlier releases.
6105 1.1 jruoho
6106 1.1 jruoho Fixed a fault when using the -g or -d<nofilename> options if the FADT was
6107 1.1 jruoho not found.
6108 1.1 jruoho
6109 1.1 jruoho Fixed an issue with the Windows version of the compiler where later versions
6110 1.1 jruoho of Windows place the FADT in the registry under the name "FADT" and not
6111 1.1 jruoho "FACP" as earlier versions did. This applies when using the -g or -
6112 1.1 jruoho d<nofilename> options. The compiler now looks for both strings as
6113 1.1 jruoho necessary.
6114 1.1 jruoho
6115 1.1 jruoho Fixed a problem with compiler namepath optimization where a namepath within
6116 1.1 jruoho the Scope() operator could not be optimized if the namepath was a subpath of
6117 1.1 jruoho the current scope path.
6118 1.1 jruoho
6119 1.1 jruoho ----------------------------------------
6120 1.1 jruoho 27 May 2004. Summary of changes for version 20040527:
6121 1.1 jruoho
6122 1.1 jruoho 1) ACPI CA Core Subsystem:
6123 1.1 jruoho
6124 1.1 jruoho Completed a new design and implementation for EBDA (Extended BIOS Data Area)
6125 1.1 jruoho support in the RSDP scan code. The original code improperly scanned for the
6126 1.1 jruoho EBDA by simply scanning from memory location 0 to 0x400. The correct method
6127 1.1 jruoho is to first obtain the EBDA pointer from within the BIOS data area, then
6128 1.1 jruoho scan 1K of memory starting at the EBDA pointer. There appear to be few if
6129 1.1 jruoho any machines that place the RSDP in the EBDA, however.
6130 1.1 jruoho
6131 1.1 jruoho Integrated a fix for a possible fault during evaluation of BufferField
6132 1.1 jruoho arguments. Obsolete code that was causing the problem was removed.
6133 1.1 jruoho
6134 1.1 jruoho Found and fixed a problem in the Field Support Code where data could be
6135 1.1 jruoho corrupted on a bit field read that starts on an aligned boundary but does
6136 1.1 jruoho not end on an aligned boundary. Merged the read/write "datum length"
6137 1.1 jruoho calculation code into a common procedure.
6138 1.1 jruoho
6139 1.1 jruoho Rolled in a couple of changes to the FreeBSD-specific header.
6140 1.1 jruoho
6141 1.1 jruoho
6142 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
6143 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
6144 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
6145 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
6146 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
6147 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
6148 1.1 jruoho the compiler options used during generation.
6149 1.1 jruoho
6150 1.1 jruoho Previous Release:
6151 1.1 jruoho Non-Debug Version: 77.6K Code, 11.5K Data, 89.1K Total
6152 1.1 jruoho Debug Version: 163.2K Code, 67.2K Data, 230.4K Total
6153 1.1 jruoho Current Release:
6154 1.1 jruoho Non-Debug Version: 77.7K Code, 11.5K Data, 89.2K Total
6155 1.1 jruoho Debug Version: 163.3K Code, 67.2K Data, 230.5K Total
6156 1.1 jruoho
6157 1.1 jruoho
6158 1.1 jruoho 2) iASL Compiler/Disassembler:
6159 1.1 jruoho
6160 1.1 jruoho Fixed a generation warning produced by some overly-verbose compilers for a
6161 1.1 jruoho 64-bit constant.
6162 1.1 jruoho
6163 1.1 jruoho ----------------------------------------
6164 1.1 jruoho 14 May 2004. Summary of changes for version 20040514:
6165 1.1 jruoho
6166 1.1 jruoho 1) ACPI CA Core Subsystem:
6167 1.1 jruoho
6168 1.1 jruoho Fixed a problem where hardware GPE enable bits sometimes not set properly
6169 1.1 jruoho during and after GPE method execution. Result of 04/27 changes.
6170 1.1 jruoho
6171 1.1 jruoho Removed extra "clear all GPEs" when sleeping/waking.
6172 1.1 jruoho
6173 1.1 jruoho Removed AcpiHwEnableGpe and AcpiHwDisableGpe, replaced by the single
6174 1.1 jruoho AcpiHwWriteGpeEnableReg. Changed a couple of calls to the functions above to
6175 1.1 jruoho the new AcpiEv* calls as appropriate.
6176 1.1 jruoho
6177 1.1 jruoho ACPI_OS_NAME was removed from the OS-specific headers. The default name is
6178 1.1 jruoho now "Microsoft Windows NT" for maximum compatibility. However this can be
6179 1.1 jruoho changed by modifying the acconfig.h file.
6180 1.1 jruoho
6181 1.1 jruoho Allow a single invocation of AcpiInstallNotifyHandler for a handler that
6182 1.1 jruoho traps both types of notifies (System, Device). Use ACPI_ALL_NOTIFY flag.
6183 1.1 jruoho
6184 1.1 jruoho Run _INI methods on ThermalZone objects. This is against the ACPI
6185 1.1 jruoho specification, but there is apparently ASL code in the field that has these
6186 1.1 jruoho _INI methods, and apparently "other" AML interpreters execute them.
6187 1.1 jruoho
6188 1.1 jruoho Performed a full 16/32/64 bit lint that resulted in some small changes.
6189 1.1 jruoho
6190 1.1 jruoho Added a sleep simulation command to the AML debugger to test sleep code.
6191 1.1 jruoho
6192 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
6193 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
6194 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
6195 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
6196 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
6197 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
6198 1.1 jruoho the compiler options used during generation.
6199 1.1 jruoho
6200 1.1 jruoho Previous Release:
6201 1.1 jruoho Non-Debug Version: 77.6K Code, 11.5K Data, 89.1K Total
6202 1.1 jruoho Debug Version: 162.9K Code, 67.0K Data, 229.9K Total
6203 1.1 jruoho Current Release:
6204 1.1 jruoho Non-Debug Version: 77.6K Code, 11.5K Data, 89.1K Total
6205 1.1 jruoho Debug Version: 163.2K Code, 67.2K Data, 230.4K Total
6206 1.1 jruoho
6207 1.1 jruoho ----------------------------------------
6208 1.1 jruoho 27 April 2004. Summary of changes for version 20040427:
6209 1.1 jruoho
6210 1.1 jruoho 1) ACPI CA Core Subsystem:
6211 1.1 jruoho
6212 1.1 jruoho Completed a major overhaul of the GPE handling within ACPI CA. There are
6213 1.1 jruoho now three types of GPEs: wake-only, runtime-only, and combination wake/run.
6214 1.1 jruoho The only GPEs allowed to be combination wake/run are for button-style
6215 1.1 jruoho devices such as a control-method power button, control-method sleep button,
6216 1.1 jruoho or a notebook lid switch. GPEs that have an _Lxx or _Exx method and are not
6217 1.1 jruoho referenced by any _PRW methods are marked for "runtime" and hardware
6218 1.1 jruoho enabled. Any GPE that is referenced by a _PRW method is marked for "wake"
6219 1.1 jruoho (and disabled at runtime). However, at sleep time, only those GPEs that
6220 1.1 jruoho have been specifically enabled for wake via the AcpiEnableGpe interface will
6221 1.1 jruoho actually be hardware enabled.
6222 1.1 jruoho
6223 1.1 jruoho A new external interface has been added, AcpiSetGpeType(), that is meant to
6224 1.1 jruoho be used by device drivers to force a GPE to a particular type. It will be
6225 1.1 jruoho especially useful for the drivers for the button devices mentioned above.
6226 1.1 jruoho
6227 1.1 jruoho Completed restructuring of the ACPI CA initialization sequence so that
6228 1.1 jruoho default operation region handlers are installed before GPEs are initialized
6229 1.1 jruoho and the _PRW methods are executed. This will prevent errors when the _PRW
6230 1.1 jruoho methods attempt to access system memory or I/O space.
6231 1.1 jruoho
6232 1.1 jruoho GPE enable/disable no longer reads the GPE enable register. We now keep the
6233 1.1 jruoho enable info for runtime and wake separate and in the GPE_EVENT_INFO. We
6234 1.1 jruoho thus no longer depend on the hardware to maintain these bits.
6235 1.1 jruoho
6236 1.1 jruoho Always clear the wake status and fixed/GPE status bits before sleep, even
6237 1.1 jruoho for state S5.
6238 1.1 jruoho
6239 1.1 jruoho Improved the AML debugger output for displaying the GPE blocks and their
6240 1.1 jruoho current status.
6241 1.1 jruoho
6242 1.1 jruoho Added new strings for the _OSI method, of the form "Windows 2001 SPx" where
6243 1.1 jruoho x = 0,1,2,3,4.
6244 1.1 jruoho
6245 1.1 jruoho Fixed a problem where the physical address was incorrectly calculated when
6246 1.1 jruoho the Load() operator was used to directly load from an Operation Region (vs.
6247 1.1 jruoho loading from a Field object.) Also added check for minimum table length for
6248 1.1 jruoho this case.
6249 1.1 jruoho
6250 1.1 jruoho Fix for multiple mutex acquisition. Restore original thread SyncLevel on
6251 1.1 jruoho mutex release.
6252 1.1 jruoho
6253 1.1 jruoho Added ACPI_VALID_SXDS flag to the AcpiGetObjectInfo interface for
6254 1.1 jruoho consistency with the other fields returned.
6255 1.1 jruoho
6256 1.1 jruoho Shrunk the ACPI_GPE_EVENT_INFO structure by 40%. There is one such
6257 1.1 jruoho structure for each GPE in the system, so the size of this structure is
6258 1.1 jruoho important.
6259 1.1 jruoho
6260 1.1 jruoho CPU stack requirement reduction: Cleaned up the method execution and object
6261 1.1 jruoho evaluation paths so that now a parameter structure is passed, instead of
6262 1.1 jruoho copying the various method parameters over and over again.
6263 1.1 jruoho
6264 1.1 jruoho In evregion.c: Correctly exit and reenter the interpreter region if and
6265 1.1 jruoho only if dispatching an operation region request to a user-installed handler.
6266 1.1 jruoho Do not exit/reenter when dispatching to a default handler (e.g., default
6267 1.1 jruoho system memory or I/O handlers)
6268 1.1 jruoho
6269 1.1 jruoho
6270 1.1 jruoho Notes for updating drivers for the new GPE support. The following changes
6271 1.1 jruoho must be made to ACPI-related device drivers that are attached to one or more
6272 1.1 jruoho GPEs: (This information will be added to the ACPI CA Programmer Reference.)
6273 1.1 jruoho
6274 1.1 jruoho 1) AcpiInstallGpeHandler no longer automatically enables the GPE, you must
6275 1.1 jruoho explicitly call AcpiEnableGpe.
6276 1.1 jruoho 2) There is a new interface called AcpiSetGpeType. This should be called
6277 1.1 jruoho before enabling the GPE. Also, this interface will automatically disable
6278 1.1 jruoho the GPE if it is currently enabled.
6279 1.1 jruoho 3) AcpiEnableGpe no longer supports a GPE type flag.
6280 1.1 jruoho
6281 1.1 jruoho Specific drivers that must be changed:
6282 1.1 jruoho 1) EC driver:
6283 1.1 jruoho AcpiInstallGpeHandler (NULL, GpeNum, ACPI_GPE_EDGE_TRIGGERED,
6284 1.1 jruoho AeGpeHandler, NULL);
6285 1.1 jruoho AcpiSetGpeType (NULL, GpeNum, ACPI_GPE_TYPE_RUNTIME);
6286 1.1 jruoho AcpiEnableGpe (NULL, GpeNum, ACPI_NOT_ISR);
6287 1.1 jruoho
6288 1.1 jruoho 2) Button Drivers (Power, Lid, Sleep):
6289 1.1 jruoho Run _PRW method under parent device
6290 1.1 jruoho If _PRW exists: /* This is a control-method button */
6291 1.1 jruoho Extract GPE number and possibly GpeDevice
6292 1.1 jruoho AcpiSetGpeType (GpeDevice, GpeNum, ACPI_GPE_TYPE_WAKE_RUN);
6293 1.1 jruoho AcpiEnableGpe (GpeDevice, GpeNum, ACPI_NOT_ISR);
6294 1.1 jruoho
6295 1.1 jruoho For all other devices that have _PRWs, we automatically set the GPE type to
6296 1.1 jruoho ACPI_GPE_TYPE_WAKE, but the GPE is NOT automatically (wake) enabled. This
6297 1.1 jruoho must be done on a selective basis, usually requiring some kind of user app
6298 1.1 jruoho to allow the user to pick the wake devices.
6299 1.1 jruoho
6300 1.1 jruoho
6301 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
6302 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
6303 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
6304 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
6305 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
6306 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
6307 1.1 jruoho the compiler options used during generation.
6308 1.1 jruoho
6309 1.1 jruoho Previous Release:
6310 1.1 jruoho Non-Debug Version: 77.0K Code, 11.4K Data, 88.4K Total
6311 1.1 jruoho Debug Version: 161.0K Code, 66.3K Data, 227.3K Total
6312 1.1 jruoho Current Release:
6313 1.1 jruoho
6314 1.1 jruoho Non-Debug Version: 77.6K Code, 11.5K Data, 89.1K Total
6315 1.1 jruoho Debug Version: 162.9K Code, 67.0K Data, 229.9K Total
6316 1.1 jruoho
6317 1.1 jruoho
6318 1.1 jruoho
6319 1.1 jruoho ----------------------------------------
6320 1.1 jruoho 02 April 2004. Summary of changes for version 20040402:
6321 1.1 jruoho
6322 1.1 jruoho 1) ACPI CA Core Subsystem:
6323 1.1 jruoho
6324 1.1 jruoho Fixed an interpreter problem where an indirect store through an ArgX
6325 1.1 jruoho parameter was incorrectly applying the "implicit conversion rules" during
6326 1.1 jruoho the store. From the ACPI specification: "If the target is a method local or
6327 1.1 jruoho argument (LocalX or ArgX), no conversion is performed and the result is
6328 1.1 jruoho stored directly to the target". The new behavior is to disable implicit
6329 1.1 jruoho conversion during ALL stores to an ArgX.
6330 1.1 jruoho
6331 1.1 jruoho Changed the behavior of the _PRW method scan to ignore any and all errors
6332 1.1 jruoho returned by a given _PRW. This prevents the scan from aborting from the
6333 1.1 jruoho failure of any single _PRW.
6334 1.1 jruoho
6335 1.1 jruoho Moved the runtime configuration parameters from the global init procedure to
6336 1.1 jruoho static variables in acglobal.h. This will allow the host to override the
6337 1.1 jruoho default values easily.
6338 1.1 jruoho
6339 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
6340 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
6341 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
6342 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
6343 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
6344 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
6345 1.1 jruoho the compiler options used during generation.
6346 1.1 jruoho
6347 1.1 jruoho Previous Release:
6348 1.1 jruoho Non-Debug Version: 76.9K Code, 11.4K Data, 88.3K Total
6349 1.1 jruoho Debug Version: 160.8K Code, 66.1K Data, 226.9K Total
6350 1.1 jruoho Current Release:
6351 1.1 jruoho Non-Debug Version: 77.0K Code, 11.4K Data, 88.4K Total
6352 1.1 jruoho Debug Version: 161.0K Code, 66.3K Data, 227.3K Total
6353 1.1 jruoho
6354 1.1 jruoho
6355 1.1 jruoho 2) iASL Compiler/Disassembler:
6356 1.1 jruoho
6357 1.1 jruoho iASL now fully disassembles SSDTs. However, External() statements are not
6358 1.1 jruoho generated automatically for unresolved symbols at this time. This is a
6359 1.1 jruoho planned feature for future implementation.
6360 1.1 jruoho
6361 1.1 jruoho Fixed a scoping problem in the disassembler that occurs when the type of the
6362 1.1 jruoho target of a Scope() operator is overridden. This problem caused an
6363 1.1 jruoho incorrectly nested internal namespace to be constructed.
6364 1.1 jruoho
6365 1.1 jruoho Any warnings or errors that are emitted during disassembly are now commented
6366 1.1 jruoho out automatically so that the resulting file can be recompiled without any
6367 1.1 jruoho hand editing.
6368 1.1 jruoho
6369 1.1 jruoho ----------------------------------------
6370 1.1 jruoho 26 March 2004. Summary of changes for version 20040326:
6371 1.1 jruoho
6372 1.1 jruoho 1) ACPI CA Core Subsystem:
6373 1.1 jruoho
6374 1.1 jruoho Implemented support for "wake" GPEs via interaction between GPEs and the
6375 1.1 jruoho _PRW methods. Every GPE that is pointed to by one or more _PRWs is
6376 1.1 jruoho identified as a WAKE GPE and by default will no longer be enabled at
6377 1.1 jruoho runtime. Previously, we were blindly enabling all GPEs with a corresponding
6378 1.1 jruoho _Lxx or _Exx method - but most of these turn out to be WAKE GPEs anyway. We
6379 1.1 jruoho believe this has been the cause of thousands of "spurious" GPEs on some
6380 1.1 jruoho systems.
6381 1.1 jruoho
6382 1.1 jruoho This new GPE behavior is can be reverted to the original behavior (enable
6383 1.1 jruoho ALL GPEs at runtime) via a runtime flag.
6384 1.1 jruoho
6385 1.1 jruoho Fixed a problem where aliased control methods could not access objects
6386 1.1 jruoho properly. The proper scope within the namespace was not initialized
6387 1.1 jruoho (transferred to the target of the aliased method) before executing the
6388 1.1 jruoho target method.
6389 1.1 jruoho
6390 1.1 jruoho Fixed a potential race condition on internal object deletion on the return
6391 1.1 jruoho object in AcpiEvaluateObject.
6392 1.1 jruoho
6393 1.1 jruoho Integrated a fix for resource descriptors where both _MEM and _MTP were
6394 1.1 jruoho being extracted instead of just _MEM. (i.e. bitmask was incorrectly too
6395 1.1 jruoho wide, 0x0F instead of 0x03.)
6396 1.1 jruoho
6397 1.1 jruoho Added a special case for ACPI_ROOT_OBJECT in AcpiUtGetNodeName, preventing a
6398 1.1 jruoho fault in some cases.
6399 1.1 jruoho
6400 1.1 jruoho Updated Notify() values for debug statements in evmisc.c
6401 1.1 jruoho
6402 1.1 jruoho Return proper status from AcpiUtMutexInitialize, not just simply AE_OK.
6403 1.1 jruoho
6404 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
6405 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
6406 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
6407 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
6408 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
6409 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
6410 1.1 jruoho the compiler options used during generation.
6411 1.1 jruoho
6412 1.1 jruoho Previous Release:
6413 1.1 jruoho
6414 1.1 jruoho Non-Debug Version: 76.5K Code, 11.3K Data, 87.8K Total
6415 1.1 jruoho Debug Version: 160.3K Code, 66.0K Data, 226.3K Total
6416 1.1 jruoho Current Release:
6417 1.1 jruoho Non-Debug Version: 76.9K Code, 11.4K Data, 88.3K Total
6418 1.1 jruoho Debug Version: 160.8K Code, 66.1K Data, 226.9K Total
6419 1.1 jruoho
6420 1.1 jruoho ----------------------------------------
6421 1.1 jruoho 11 March 2004. Summary of changes for version 20040311:
6422 1.1 jruoho
6423 1.1 jruoho 1) ACPI CA Core Subsystem:
6424 1.1 jruoho
6425 1.1 jruoho Fixed a problem where errors occurring during the parse phase of control
6426 1.1 jruoho method execution did not abort cleanly. For example, objects created and
6427 1.1 jruoho installed in the namespace were not deleted. This caused all subsequent
6428 1.1 jruoho invocations of the method to return the AE_ALREADY_EXISTS exception.
6429 1.1 jruoho
6430 1.1 jruoho Implemented a mechanism to force a control method to "Serialized" execution
6431 1.1 jruoho if the method attempts to create namespace objects. (The root of the
6432 1.1 jruoho AE_ALREADY_EXISTS problem.)
6433 1.1 jruoho
6434 1.1 jruoho Implemented support for the predefined _OSI "internal" control method.
6435 1.1 jruoho Initial supported strings are "Linux", "Windows 2000", "Windows 2001", and
6436 1.1 jruoho "Windows 2001.1", and can be easily upgraded for new strings as necessary.
6437 1.1 jruoho This feature will allow "other" operating systems to execute the fully
6438 1.1 jruoho tested, "Windows" code path through the ASL code
6439 1.1 jruoho
6440 1.1 jruoho Global Lock Support: Now allows multiple acquires and releases with any
6441 1.1 jruoho internal thread. Removed concept of "owning thread" for this special mutex.
6442 1.1 jruoho
6443 1.1 jruoho Fixed two functions that were inappropriately declaring large objects on the
6444 1.1 jruoho CPU stack: PsParseLoop, NsEvaluateRelative. Reduces the stack usage during
6445 1.1 jruoho method execution considerably.
6446 1.1 jruoho
6447 1.1 jruoho Fixed a problem in the ACPI 2.0 FACS descriptor (actbl2.h) where the
6448 1.1 jruoho S4Bios_f field was incorrectly defined as UINT32 instead of UINT32_BIT.
6449 1.1 jruoho
6450 1.1 jruoho Fixed a problem where AcpiEvGpeDetect would fault if there were no GPEs
6451 1.1 jruoho defined on the machine.
6452 1.1 jruoho
6453 1.1 jruoho Implemented two runtime options: One to force all control method execution
6454 1.1 jruoho to "Serialized" to mimic Windows behavior, another to disable _OSI support
6455 1.1 jruoho if it causes problems on a given machine.
6456 1.1 jruoho
6457 1.1 jruoho Code and Data Size: Current and previous core subsystem library sizes are
6458 1.1 jruoho shown below. These are the code and data sizes for the acpica.lib produced
6459 1.1 jruoho by the Microsoft Visual C++ 6.0 compiler, and these values do not include
6460 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code includes the
6461 1.1 jruoho debug output trace mechanism and has a much larger code and data size. Note
6462 1.1 jruoho that these values will vary depending on the efficiency of the compiler and
6463 1.1 jruoho the compiler options used during generation.
6464 1.1 jruoho
6465 1.1 jruoho Previous Release:
6466 1.1 jruoho Non-Debug Version: 74.8K Code, 10.1K Data, 84.9K Total
6467 1.1 jruoho Debug Version: 158.7K Code, 65.1K Data, 223.8K Total
6468 1.1 jruoho Current Release:
6469 1.1 jruoho Non-Debug Version: 76.5K Code, 11.3K Data, 87.8K Total
6470 1.1 jruoho Debug Version: 160.3K Code, 66.0K Data, 226.3K Total
6471 1.1 jruoho
6472 1.1 jruoho 2) iASL Compiler/Disassembler:
6473 1.1 jruoho
6474 1.1 jruoho Fixed an array size problem for FreeBSD that would cause the compiler to
6475 1.1 jruoho fault.
6476 1.1 jruoho
6477 1.1 jruoho ----------------------------------------
6478 1.1 jruoho 20 February 2004. Summary of changes for version 20040220:
6479 1.1 jruoho
6480 1.1 jruoho
6481 1.1 jruoho 1) ACPI CA Core Subsystem:
6482 1.1 jruoho
6483 1.1 jruoho Implemented execution of _SxD methods for Device objects in the
6484 1.1 jruoho GetObjectInfo interface.
6485 1.1 jruoho
6486 1.1 jruoho Fixed calls to _SST method to pass the correct arguments.
6487 1.1 jruoho
6488 1.1 jruoho Added a call to _SST on wake to restore to "working" state.
6489 1.1 jruoho
6490 1.1 jruoho Check for End-Of-Buffer failure case in the WalkResources interface.
6491 1.1 jruoho
6492 1.1 jruoho Integrated fix for 64-bit alignment issue in acglobal.h by moving two
6493 1.1 jruoho structures to the beginning of the file.
6494 1.1 jruoho
6495 1.1 jruoho After wake, clear GPE status register(s) before enabling GPEs.
6496 1.1 jruoho
6497 1.1 jruoho After wake, clear/enable power button. (Perhaps we should clear/enable all
6498 1.1 jruoho fixed events upon wake.)
6499 1.1 jruoho
6500 1.1 jruoho Fixed a couple of possible memory leaks in the Namespace manager.
6501 1.1 jruoho
6502 1.1 jruoho Integrated latest acnetbsd.h file.
6503 1.1 jruoho
6504 1.1 jruoho ----------------------------------------
6505 1.1 jruoho 11 February 2004. Summary of changes for version 20040211:
6506 1.1 jruoho
6507 1.1 jruoho
6508 1.1 jruoho 1) ACPI CA Core Subsystem:
6509 1.1 jruoho
6510 1.1 jruoho Completed investigation and implementation of the call-by-reference
6511 1.1 jruoho mechanism for control method arguments.
6512 1.1 jruoho
6513 1.1 jruoho Fixed a problem where a store of an object into an indexed package could
6514 1.1 jruoho fail if the store occurs within a different method than the method that
6515 1.1 jruoho created the package.
6516 1.1 jruoho
6517 1.1 jruoho Fixed a problem where the ToDecimal operator could return incorrect results.
6518 1.1 jruoho
6519 1.1 jruoho Fixed a problem where the CopyObject operator could fail on some of the more
6520 1.1 jruoho obscure objects (e.g., Reference objects.)
6521 1.1 jruoho
6522 1.1 jruoho Improved the output of the Debug object to display buffer, package, and
6523 1.1 jruoho index objects.
6524 1.1 jruoho
6525 1.1 jruoho Fixed a problem where constructs of the form "RefOf (ArgX)" did not return
6526 1.1 jruoho the expected result.
6527 1.1 jruoho
6528 1.1 jruoho Added permanent ACPI_REPORT_ERROR macros for all instances of the
6529 1.1 jruoho ACPI_AML_INTERNAL exception.
6530 1.1 jruoho
6531 1.1 jruoho Integrated latest version of acfreebsd.h
6532 1.1 jruoho
6533 1.1 jruoho ----------------------------------------
6534 1.1 jruoho 16 January 2004. Summary of changes for version 20040116:
6535 1.1 jruoho
6536 1.1 jruoho The purpose of this release is primarily to update the copyright years in
6537 1.1 jruoho each module, thus causing a huge number of diffs. There are a few small
6538 1.1 jruoho functional changes, however.
6539 1.1 jruoho
6540 1.1 jruoho 1) ACPI CA Core Subsystem:
6541 1.1 jruoho
6542 1.1 jruoho Improved error messages when there is a problem finding one or more of the
6543 1.1 jruoho required base ACPI tables
6544 1.1 jruoho
6545 1.1 jruoho Reintroduced the definition of APIC_HEADER in actbl.h
6546 1.1 jruoho
6547 1.1 jruoho Changed definition of MADT_ADDRESS_OVERRIDE to 64 bits (actbl.h)
6548 1.1 jruoho
6549 1.1 jruoho Removed extraneous reference to NewObj in dsmthdat.c
6550 1.1 jruoho
6551 1.1 jruoho 2) iASL compiler
6552 1.1 jruoho
6553 1.1 jruoho Fixed a problem introduced in December that disabled the correct disassembly
6554 1.1 jruoho of Resource Templates
6555 1.1 jruoho
6556 1.1 jruoho
6557 1.1 jruoho ----------------------------------------
6558 1.1 jruoho 03 December 2003. Summary of changes for version 20031203:
6559 1.1 jruoho
6560 1.1 jruoho 1) ACPI CA Core Subsystem:
6561 1.1 jruoho
6562 1.1 jruoho Changed the initialization of Operation Regions during subsystem
6563 1.1 jruoho init to perform two entire walks of the ACPI namespace; The first
6564 1.1 jruoho to initialize the regions themselves, the second to execute the
6565 1.1 jruoho _REG methods. This fixed some interdependencies across _REG
6566 1.1 jruoho methods found on some machines.
6567 1.1 jruoho
6568 1.1 jruoho Fixed a problem where a Store(Local0, Local1) could simply update
6569 1.1 jruoho the object reference count, and not create a new copy of the
6570 1.1 jruoho object if the Local1 is uninitialized.
6571 1.1 jruoho
6572 1.1 jruoho Implemented support for the _SST reserved method during sleep
6573 1.1 jruoho transitions.
6574 1.1 jruoho
6575 1.1 jruoho Implemented support to clear the SLP_TYP and SLP_EN bits when
6576 1.1 jruoho waking up, this is apparently required by some machines.
6577 1.1 jruoho
6578 1.1 jruoho When sleeping, clear the wake status only if SleepState is not S5.
6579 1.1 jruoho
6580 1.1 jruoho Fixed a problem in AcpiRsExtendedIrqResource() where an incorrect
6581 1.1 jruoho pointer arithmetic advanced a string pointer too far.
6582 1.1 jruoho
6583 1.1 jruoho Fixed a problem in AcpiTbGetTablePtr() where a garbage pointer
6584 1.1 jruoho could be returned if the requested table has not been loaded.
6585 1.1 jruoho
6586 1.1 jruoho Within the support for IRQ resources, restructured the handling of
6587 1.1 jruoho the active and edge/level bits.
6588 1.1 jruoho
6589 1.1 jruoho Fixed a few problems in AcpiPsxExecute() where memory could be
6590 1.1 jruoho leaked under certain error conditions.
6591 1.1 jruoho
6592 1.1 jruoho Improved error messages for the cases where the ACPI mode could
6593 1.1 jruoho not be entered.
6594 1.1 jruoho
6595 1.1 jruoho Code and Data Size: Current and previous core subsystem library
6596 1.1 jruoho sizes are shown below. These are the code and data sizes for the
6597 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
6598 1.1 jruoho these values do not include any ACPI driver or OSPM code. The
6599 1.1 jruoho debug version of the code includes the debug output trace
6600 1.1 jruoho mechanism and has a much larger code and data size. Note that
6601 1.1 jruoho these values will vary depending on the efficiency of the compiler
6602 1.1 jruoho and the compiler options used during generation.
6603 1.1 jruoho
6604 1.1 jruoho Previous Release (20031029):
6605 1.1 jruoho Non-Debug Version: 74.4K Code, 10.1K Data, 84.5K Total
6606 1.1 jruoho Debug Version: 158.3K Code, 65.0K Data, 223.3K Total
6607 1.1 jruoho Current Release:
6608 1.1 jruoho Non-Debug Version: 74.8K Code, 10.1K Data, 84.9K Total
6609 1.1 jruoho Debug Version: 158.7K Code, 65.1K Data, 223.8K Total
6610 1.1 jruoho
6611 1.1 jruoho 2) iASL Compiler/Disassembler:
6612 1.1 jruoho
6613 1.1 jruoho Implemented a fix for the iASL disassembler where a bad index was
6614 1.1 jruoho generated. This was most noticeable on 64-bit platforms
6615 1.1 jruoho
6616 1.1 jruoho
6617 1.1 jruoho ----------------------------------------
6618 1.1 jruoho 29 October 2003. Summary of changes for version 20031029:
6619 1.1 jruoho
6620 1.1 jruoho 1) ACPI CA Core Subsystem:
6621 1.1 jruoho
6622 1.1 jruoho
6623 1.1 jruoho Fixed a problem where a level-triggered GPE with an associated
6624 1.1 jruoho _Lxx control method was incorrectly cleared twice.
6625 1.1 jruoho
6626 1.1 jruoho Fixed a problem with the Field support code where an access can
6627 1.1 jruoho occur beyond the end-of-region if the field is non-aligned but
6628 1.1 jruoho extends to the very end of the parent region (resulted in an
6629 1.1 jruoho AE_AML_REGION_LIMIT exception.)
6630 1.1 jruoho
6631 1.1 jruoho Fixed a problem with ACPI Fixed Events where an RT Clock handler
6632 1.1 jruoho would not get invoked on an RTC event. The RTC event bitmasks for
6633 1.1 jruoho the PM1 registers were not being initialized properly.
6634 1.1 jruoho
6635 1.1 jruoho Implemented support for executing _STA and _INI methods for
6636 1.1 jruoho Processor objects. Although this is currently not part of the
6637 1.1 jruoho ACPI specification, there is existing ASL code that depends on the
6638 1.1 jruoho init-time execution of these methods.
6639 1.1 jruoho
6640 1.1 jruoho Implemented and deployed a GetDescriptorName function to decode
6641 1.1 jruoho the various types of internal descriptors. Guards against null
6642 1.1 jruoho descriptors during debug output also.
6643 1.1 jruoho
6644 1.1 jruoho Implemented and deployed a GetNodeName function to extract the 4-
6645 1.1 jruoho character namespace node name. This function simplifies the debug
6646 1.1 jruoho and error output, as well as guarding against null pointers during
6647 1.1 jruoho output.
6648 1.1 jruoho
6649 1.1 jruoho Implemented and deployed the ACPI_FORMAT_UINT64 helper macro to
6650 1.1 jruoho simplify the debug and error output of 64-bit integers. This
6651 1.1 jruoho macro replaces the HIDWORD and LODWORD macros for dumping these
6652 1.1 jruoho integers.
6653 1.1 jruoho
6654 1.1 jruoho Updated the implementation of the Stall() operator to only call
6655 1.1 jruoho AcpiOsStall(), and also return an error if the operand is larger
6656 1.1 jruoho than 255. This preserves the required behavior of not
6657 1.1 jruoho relinquishing the processor, as would happen if AcpiOsSleep() was
6658 1.1 jruoho called for "long stalls".
6659 1.1 jruoho
6660 1.1 jruoho Constructs of the form "Store(LocalX,LocalX)" where LocalX is not
6661 1.1 jruoho initialized are now treated as NOOPs.
6662 1.1 jruoho
6663 1.1 jruoho Cleaned up a handful of warnings during 64-bit generation.
6664 1.1 jruoho
6665 1.1 jruoho Fixed a reported error where and incorrect GPE number was passed
6666 1.1 jruoho to the GPE dispatch handler. This value is only used for error
6667 1.1 jruoho output, however. Used this opportunity to clean up and streamline
6668 1.1 jruoho the GPE dispatch code.
6669 1.1 jruoho
6670 1.1 jruoho Code and Data Size: Current and previous core subsystem library
6671 1.1 jruoho sizes are shown below. These are the code and data sizes for the
6672 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
6673 1.1 jruoho these values do not include any ACPI driver or OSPM code. The
6674 1.1 jruoho
6675 1.1 jruoho debug version of the code includes the debug output trace
6676 1.1 jruoho mechanism and has a much larger code and data size. Note that
6677 1.1 jruoho these values will vary depending on the efficiency of the compiler
6678 1.1 jruoho and the compiler options used during generation.
6679 1.1 jruoho
6680 1.1 jruoho Previous Release (20031002):
6681 1.1 jruoho Non-Debug Version: 74.1K Code, 9.7K Data, 83.8K Total
6682 1.1 jruoho Debug Version: 157.9K Code, 64.8K Data, 222.7K Total
6683 1.1 jruoho Current Release:
6684 1.1 jruoho Non-Debug Version: 74.4K Code, 10.1K Data, 84.5K Total
6685 1.1 jruoho Debug Version: 158.3K Code, 65.0K Data, 223.3K Total
6686 1.1 jruoho
6687 1.1 jruoho
6688 1.1 jruoho 2) iASL Compiler/Disassembler:
6689 1.1 jruoho
6690 1.1 jruoho Updated the iASL compiler to return an error if the operand to the
6691 1.1 jruoho Stall() operator is larger than 255.
6692 1.1 jruoho
6693 1.1 jruoho
6694 1.1 jruoho ----------------------------------------
6695 1.1 jruoho 02 October 2003. Summary of changes for version 20031002:
6696 1.1 jruoho
6697 1.1 jruoho
6698 1.1 jruoho 1) ACPI CA Core Subsystem:
6699 1.1 jruoho
6700 1.1 jruoho Fixed a problem with Index Fields where the index was not
6701 1.1 jruoho incremented for fields that require multiple writes to the
6702 1.1 jruoho index/data registers (Fields that are wider than the data
6703 1.1 jruoho register.)
6704 1.1 jruoho
6705 1.1 jruoho Fixed a problem with all Field objects where a write could go
6706 1.1 jruoho beyond the end-of-field if the field was larger than the access
6707 1.1 jruoho granularity and therefore required multiple writes to complete the
6708 1.1 jruoho request. An extra write beyond the end of the field could happen
6709 1.1 jruoho inadvertently.
6710 1.1 jruoho
6711 1.1 jruoho Fixed a problem with Index Fields where a BUFFER_OVERFLOW error
6712 1.1 jruoho would incorrectly be returned if the width of the Data Register
6713 1.1 jruoho was larger than the specified field access width.
6714 1.1 jruoho
6715 1.1 jruoho Completed fixes for LoadTable() and Unload() and verified their
6716 1.1 jruoho operation. Implemented full support for the "DdbHandle" object
6717 1.1 jruoho throughout the ACPI CA subsystem.
6718 1.1 jruoho
6719 1.1 jruoho Implemented full support for the MADT and ECDT tables in the ACPI
6720 1.1 jruoho CA header files. Even though these tables are not directly
6721 1.1 jruoho consumed by ACPI CA, the header definitions are useful for ACPI
6722 1.1 jruoho device drivers.
6723 1.1 jruoho
6724 1.1 jruoho Integrated resource descriptor fixes posted to the Linux ACPI
6725 1.1 jruoho list. This included checks for minimum descriptor length, and
6726 1.1 jruoho support for trailing NULL strings within descriptors that have
6727 1.1 jruoho optional string elements.
6728 1.1 jruoho
6729 1.1 jruoho Code and Data Size: Current and previous core subsystem library
6730 1.1 jruoho sizes are shown below. These are the code and data sizes for the
6731 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
6732 1.1 jruoho these values do not include any ACPI driver or OSPM code. The
6733 1.1 jruoho debug version of the code includes the debug output trace
6734 1.1 jruoho mechanism and has a much larger code and data size. Note that
6735 1.1 jruoho these values will vary depending on the efficiency of the compiler
6736 1.1 jruoho and the compiler options used during generation.
6737 1.1 jruoho
6738 1.1 jruoho Previous Release (20030918):
6739 1.1 jruoho Non-Debug Version: 73.9K Code, 9.7K Data, 83.6K Total
6740 1.1 jruoho Debug Version: 157.3K Code, 64.5K Data, 221.8K Total
6741 1.1 jruoho Current Release:
6742 1.1 jruoho Non-Debug Version: 74.1K Code, 9.7K Data, 83.8K Total
6743 1.1 jruoho Debug Version: 157.9K Code, 64.8K Data, 222.7K Total
6744 1.1 jruoho
6745 1.1 jruoho
6746 1.1 jruoho 2) iASL Compiler:
6747 1.1 jruoho
6748 1.1 jruoho Implemented detection of non-ASCII characters within the input
6749 1.1 jruoho source ASL file. This catches attempts to compile binary (AML)
6750 1.1 jruoho files early in the compile, with an informative error message.
6751 1.1 jruoho
6752 1.1 jruoho Fixed a problem where the disassembler would fault if the output
6753 1.1 jruoho filename could not be generated or if the output file could not be
6754 1.1 jruoho opened.
6755 1.1 jruoho
6756 1.1 jruoho ----------------------------------------
6757 1.1 jruoho 18 September 2003. Summary of changes for version 20030918:
6758 1.1 jruoho
6759 1.1 jruoho
6760 1.1 jruoho 1) ACPI CA Core Subsystem:
6761 1.1 jruoho
6762 1.1 jruoho Found and fixed a longstanding problem with the late execution of
6763 1.1 jruoho the various deferred AML opcodes (such as Operation Regions,
6764 1.1 jruoho Buffer Fields, Buffers, and Packages). If the name string
6765 1.1 jruoho specified for the name of the new object placed the object in a
6766 1.1 jruoho scope other than the current scope, the initialization/execution
6767 1.1 jruoho of the opcode failed. The solution to this problem was to
6768 1.1 jruoho implement a mechanism where the late execution of such opcodes
6769 1.1 jruoho does not attempt to lookup/create the name a second time in an
6770 1.1 jruoho incorrect scope. This fixes the "region size computed
6771 1.1 jruoho incorrectly" problem.
6772 1.1 jruoho
6773 1.1 jruoho Fixed a call to AcpiHwRegisterWrite in hwregs.c that was causing a
6774 1.1 jruoho Global Lock AE_BAD_PARAMETER error.
6775 1.1 jruoho
6776 1.1 jruoho Fixed several 64-bit issues with prototypes, casting and data
6777 1.1 jruoho types.
6778 1.1 jruoho
6779 1.1 jruoho Removed duplicate prototype from acdisasm.h
6780 1.1 jruoho
6781 1.1 jruoho Fixed an issue involving EC Operation Region Detach (Shaohua Li)
6782 1.1 jruoho
6783 1.1 jruoho Code and Data Size: Current and previous core subsystem library
6784 1.1 jruoho sizes are shown below. These are the code and data sizes for the
6785 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
6786 1.1 jruoho these values do not include any ACPI driver or OSPM code. The
6787 1.1 jruoho debug version of the code includes the debug output trace
6788 1.1 jruoho mechanism and has a much larger code and data size. Note that
6789 1.1 jruoho these values will vary depending on the efficiency of the compiler
6790 1.1 jruoho and the compiler options used during generation.
6791 1.1 jruoho
6792 1.1 jruoho Previous Release:
6793 1.1 jruoho
6794 1.1 jruoho Non-Debug Version: 73.7K Code, 9.7K Data, 83.4K Total
6795 1.1 jruoho Debug Version: 156.9K Code, 64.2K Data, 221.1K Total
6796 1.1 jruoho Current Release:
6797 1.1 jruoho Non-Debug Version: 73.9K Code, 9.7K Data, 83.6K Total
6798 1.1 jruoho Debug Version: 157.3K Code, 64.5K Data, 221.8K Total
6799 1.1 jruoho
6800 1.1 jruoho
6801 1.1 jruoho 2) Linux:
6802 1.1 jruoho
6803 1.1 jruoho Fixed the AcpiOsSleep implementation in osunixxf.c to pass the
6804 1.1 jruoho correct sleep time in seconds.
6805 1.1 jruoho
6806 1.1 jruoho ----------------------------------------
6807 1.1 jruoho 14 July 2003. Summary of changes for version 20030619:
6808 1.1 jruoho
6809 1.1 jruoho 1) ACPI CA Core Subsystem:
6810 1.1 jruoho
6811 1.1 jruoho Parse SSDTs in order discovered, as opposed to reverse order
6812 1.1 jruoho (Hrvoje Habjanic)
6813 1.1 jruoho
6814 1.1 jruoho Fixes from FreeBSD and NetBSD. (Frank van der Linden, Thomas
6815 1.1 jruoho Klausner,
6816 1.1 jruoho Nate Lawson)
6817 1.1 jruoho
6818 1.1 jruoho
6819 1.1 jruoho 2) Linux:
6820 1.1 jruoho
6821 1.1 jruoho Dynamically allocate SDT list (suggested by Andi Kleen)
6822 1.1 jruoho
6823 1.1 jruoho proc function return value cleanups (Andi Kleen)
6824 1.1 jruoho
6825 1.1 jruoho Correctly handle NMI watchdog during long stalls (Andrew Morton)
6826 1.1 jruoho
6827 1.1 jruoho Make it so acpismp=force works (reported by Andrew Morton)
6828 1.1 jruoho
6829 1.1 jruoho
6830 1.1 jruoho ----------------------------------------
6831 1.1 jruoho 19 June 2003. Summary of changes for version 20030619:
6832 1.1 jruoho
6833 1.1 jruoho 1) ACPI CA Core Subsystem:
6834 1.1 jruoho
6835 1.1 jruoho Fix To/FromBCD, eliminating the need for an arch-specific #define.
6836 1.1 jruoho
6837 1.1 jruoho Do not acquire a semaphore in the S5 shutdown path.
6838 1.1 jruoho
6839 1.1 jruoho Fix ex_digits_needed for 0. (Takayoshi Kochi)
6840 1.1 jruoho
6841 1.1 jruoho Fix sleep/stall code reversal. (Andi Kleen)
6842 1.1 jruoho
6843 1.1 jruoho Revert a change having to do with control method calling
6844 1.1 jruoho semantics.
6845 1.1 jruoho
6846 1.1 jruoho 2) Linux:
6847 1.1 jruoho
6848 1.1 jruoho acpiphp update (Takayoshi Kochi)
6849 1.1 jruoho
6850 1.1 jruoho Export acpi_disabled for sonypi (Stelian Pop)
6851 1.1 jruoho
6852 1.1 jruoho Mention acpismp=force in config help
6853 1.1 jruoho
6854 1.1 jruoho Re-add acpitable.c and acpismp=force. This improves backwards
6855 1.1 jruoho
6856 1.1 jruoho compatibility and also cleans up the code to a significant degree.
6857 1.1 jruoho
6858 1.1 jruoho Add ASUS Value-add driver (Karol Kozimor and Julien Lerouge)
6859 1.1 jruoho
6860 1.1 jruoho ----------------------------------------
6861 1.1 jruoho 22 May 2003. Summary of changes for version 20030522:
6862 1.1 jruoho
6863 1.1 jruoho 1) ACPI CA Core Subsystem:
6864 1.1 jruoho
6865 1.1 jruoho Found and fixed a reported problem where an AE_NOT_FOUND error
6866 1.1 jruoho occurred occasionally during _BST evaluation. This turned out to
6867 1.1 jruoho be an Owner ID allocation issue where a called method did not get
6868 1.1 jruoho a new ID assigned to it. Eventually, (after 64k calls), the Owner
6869 1.1 jruoho ID UINT16 would wraparound so that the ID would be the same as the
6870 1.1 jruoho caller's and the called method would delete the caller's
6871 1.1 jruoho namespace.
6872 1.1 jruoho
6873 1.1 jruoho Implemented extended error reporting for control methods that are
6874 1.1 jruoho aborted due to a run-time exception. Output includes the exact
6875 1.1 jruoho AML instruction that caused the method abort, a dump of the method
6876 1.1 jruoho locals and arguments at the time of the abort, and a trace of all
6877 1.1 jruoho nested control method calls.
6878 1.1 jruoho
6879 1.1 jruoho Modified the interpreter to allow the creation of buffers of zero
6880 1.1 jruoho length from the AML code. Implemented new code to ensure that no
6881 1.1 jruoho attempt is made to actually allocate a memory buffer (of length
6882 1.1 jruoho zero) - instead, a simple buffer object with a NULL buffer pointer
6883 1.1 jruoho and length zero is created. A warning is no longer issued when
6884 1.1 jruoho the AML attempts to create a zero-length buffer.
6885 1.1 jruoho
6886 1.1 jruoho Implemented a workaround for the "leading asterisk issue" in
6887 1.1 jruoho _HIDs, _UIDs, and _CIDs in the AML interpreter. One leading
6888 1.1 jruoho asterisk is automatically removed if present in any HID, UID, or
6889 1.1 jruoho CID strings. The iASL compiler will still flag this asterisk as
6890 1.1 jruoho an error, however.
6891 1.1 jruoho
6892 1.1 jruoho Implemented full support for _CID methods that return a package of
6893 1.1 jruoho multiple CIDs (Compatible IDs). The AcpiGetObjectInfo() interface
6894 1.1 jruoho now additionally returns a device _CID list if present. This
6895 1.1 jruoho required a change to the external interface in order to pass an
6896 1.1 jruoho ACPI_BUFFER object as a parameter since the _CID list is of
6897 1.1 jruoho variable length.
6898 1.1 jruoho
6899 1.1 jruoho Fixed a problem with the new AE_SAME_HANDLER exception where
6900 1.1 jruoho handler initialization code did not know about this exception.
6901 1.1 jruoho
6902 1.1 jruoho Code and Data Size: Current and previous core subsystem library
6903 1.1 jruoho sizes are shown below. These are the code and data sizes for the
6904 1.1 jruoho acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
6905 1.1 jruoho these values do not include any ACPI driver or OSPM code. The
6906 1.1 jruoho debug version of the code includes the debug output trace
6907 1.1 jruoho mechanism and has a much larger code and data size. Note that
6908 1.1 jruoho these values will vary depending on the efficiency of the compiler
6909 1.1 jruoho and the compiler options used during generation.
6910 1.1 jruoho
6911 1.1 jruoho Previous Release (20030509):
6912 1.1 jruoho Non-Debug Version: 73.4K Code, 9.7K Data, 83.1K Total
6913 1.1 jruoho Debug Version: 156.1K Code, 63.9K Data, 220.0K Total
6914 1.1 jruoho Current Release:
6915 1.1 jruoho Non-Debug Version: 73.7K Code, 9.7K Data, 83.4K Total
6916 1.1 jruoho Debug Version: 156.9K Code, 64.2K Data, 221.1K Total
6917 1.1 jruoho
6918 1.1 jruoho
6919 1.1 jruoho 2) Linux:
6920 1.1 jruoho
6921 1.1 jruoho Fixed a bug in which we would reinitialize the ACPI interrupt
6922 1.1 jruoho after it was already working, thus disabling all ACPI and the IRQs
6923 1.1 jruoho for any other device sharing the interrupt. (Thanks to Stian
6924 1.1 jruoho Jordet)
6925 1.1 jruoho
6926 1.1 jruoho Toshiba driver update (John Belmonte)
6927 1.1 jruoho
6928 1.1 jruoho Return only 0 or 1 for our interrupt handler status (Andrew
6929 1.1 jruoho Morton)
6930 1.1 jruoho
6931 1.1 jruoho
6932 1.1 jruoho 3) iASL Compiler:
6933 1.1 jruoho
6934 1.1 jruoho Fixed a reported problem where multiple (nested) ElseIf()
6935 1.1 jruoho statements were not handled correctly by the compiler, resulting
6936 1.1 jruoho in incorrect warnings and incorrect AML code. This was a problem
6937 1.1 jruoho in both the ASL parser and the code generator.
6938 1.1 jruoho
6939 1.1 jruoho
6940 1.1 jruoho 4) Documentation:
6941 1.1 jruoho
6942 1.1 jruoho Added changes to existing interfaces, new exception codes, and new
6943 1.1 jruoho text concerning reference count object management versus garbage
6944 1.1 jruoho collection.
6945 1.1 jruoho
6946 1.1 jruoho ----------------------------------------
6947 1.1 jruoho 09 May 2003. Summary of changes for version 20030509.
6948 1.1 jruoho
6949 1.1 jruoho
6950 1.1 jruoho 1) ACPI CA Core Subsystem:
6951 1.1 jruoho
6952 1.1 jruoho Changed the subsystem initialization sequence to hold off
6953 1.1 jruoho installation of address space handlers until the hardware has been
6954 1.1 jruoho initialized and the system has entered ACPI mode. This is because
6955 1.1 jruoho the installation of space handlers can cause _REG methods to be
6956 1.1 jruoho run. Previously, the _REG methods could potentially be run before
6957 1.1 jruoho ACPI mode was enabled.
6958 1.1 jruoho
6959 1.1 jruoho Fixed some memory leak issues related to address space handler and
6960 1.1 jruoho notify handler installation. There were some problems with the
6961 1.1 jruoho reference count mechanism caused by the fact that the handler
6962 1.1 jruoho objects are shared across several namespace objects.
6963 1.1 jruoho
6964 1.1 jruoho Fixed a reported problem where reference counts within the
6965 1.1 jruoho namespace were not properly updated when named objects created by
6966 1.1 jruoho method execution were deleted.
6967 1.1 jruoho
6968 1.1 jruoho Fixed a reported problem where multiple SSDTs caused a deletion
6969 1.1 jruoho issue during subsystem termination. Restructured the table data
6970 1.1 jruoho structures to simplify the linked lists and the related code.
6971 1.1 jruoho
6972 1.1 jruoho Fixed a problem where the table ID associated with secondary
6973 1.1 jruoho tables (SSDTs) was not being propagated into the namespace objects
6974 1.1 jruoho created by those tables. This would only present a problem for
6975 1.1 jruoho tables that are unloaded at run-time, however.
6976 1.1 jruoho
6977 1.1 jruoho Updated AcpiOsReadable and AcpiOsWritable to use the ACPI_SIZE
6978 1.1 jruoho type as the length parameter (instead of UINT32).
6979 1.1 jruoho
6980 1.1 jruoho Solved a long-standing problem where an ALREADY_EXISTS error
6981 1.1 jruoho appears on various systems. This problem could happen when there
6982 1.1 jruoho are multiple PCI_Config operation regions under a single PCI root
6983 1.1 jruoho bus. This doesn't happen very frequently, but there are some
6984 1.1 jruoho systems that do this in the ASL.
6985 1.1 jruoho
6986 1.1 jruoho Fixed a reported problem where the internal DeleteNode function
6987 1.1 jruoho was incorrectly handling the case where a namespace node was the
6988 1.1 jruoho first in the parent's child list, and had additional peers (not
6989 1.1 jruoho the only child, but first in the list of children.)
6990 1.1 jruoho
6991 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
6992 1.1 jruoho below. These are the code and data sizes for the acpica.lib
6993 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
6994 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
6995 1.1 jruoho version of the code includes the debug output trace mechanism and
6996 1.1 jruoho has a much larger code and data size. Note that these values will
6997 1.1 jruoho vary depending on the efficiency of the compiler and the compiler
6998 1.1 jruoho options used during generation.
6999 1.1 jruoho
7000 1.1 jruoho Previous Release
7001 1.1 jruoho Non-Debug Version: 73.7K Code, 9.5K Data, 83.2K Total
7002 1.1 jruoho Debug Version: 156.1K Code, 63.6K Data, 219.7K Total
7003 1.1 jruoho Current Release:
7004 1.1 jruoho Non-Debug Version: 73.4K Code, 9.7K Data, 83.1K Total
7005 1.1 jruoho Debug Version: 156.1K Code, 63.9K Data, 220.0K Total
7006 1.1 jruoho
7007 1.1 jruoho
7008 1.1 jruoho 2) Linux:
7009 1.1 jruoho
7010 1.1 jruoho Allow ":" in OS override string (Ducrot Bruno)
7011 1.1 jruoho
7012 1.1 jruoho Kobject fix (Greg KH)
7013 1.1 jruoho
7014 1.1 jruoho
7015 1.1 jruoho 3 iASL Compiler/Disassembler:
7016 1.1 jruoho
7017 1.1 jruoho Fixed a problem in the generation of the C source code files (AML
7018 1.1 jruoho is emitted in C source statements for BIOS inclusion) where the
7019 1.1 jruoho Ascii dump that appears within a C comment at the end of each line
7020 1.1 jruoho could cause a compile time error if the AML sequence happens to
7021 1.1 jruoho have an open comment or close comment sequence embedded.
7022 1.1 jruoho
7023 1.1 jruoho
7024 1.1 jruoho ----------------------------------------
7025 1.1 jruoho 24 April 2003. Summary of changes for version 20030424.
7026 1.1 jruoho
7027 1.1 jruoho
7028 1.1 jruoho 1) ACPI CA Core Subsystem:
7029 1.1 jruoho
7030 1.1 jruoho Support for big-endian systems has been implemented. Most of the
7031 1.1 jruoho support has been invisibly added behind big-endian versions of the
7032 1.1 jruoho ACPI_MOVE_* macros.
7033 1.1 jruoho
7034 1.1 jruoho Fixed a problem in AcpiHwDisableGpeBlock() and
7035 1.1 jruoho AcpiHwClearGpeBlock() where an incorrect offset was passed to the
7036 1.1 jruoho low level hardware write routine. The offset parameter was
7037 1.1 jruoho actually eliminated from the low level read/write routines because
7038 1.1 jruoho they had become obsolete.
7039 1.1 jruoho
7040 1.1 jruoho Fixed a problem where a handler object was deleted twice during
7041 1.1 jruoho the removal of a fixed event handler.
7042 1.1 jruoho
7043 1.1 jruoho
7044 1.1 jruoho 2) Linux:
7045 1.1 jruoho
7046 1.1 jruoho A fix for SMP systems with link devices was contributed by
7047 1.1 jruoho
7048 1.1 jruoho Compaq's Dan Zink.
7049 1.1 jruoho
7050 1.1 jruoho (2.5) Return whether we handled the interrupt in our IRQ handler.
7051 1.1 jruoho (Linux ISRs no longer return void, so we can propagate the handler
7052 1.1 jruoho return value from the ACPI CA core back to the OS.)
7053 1.1 jruoho
7054 1.1 jruoho
7055 1.1 jruoho
7056 1.1 jruoho 3) Documentation:
7057 1.1 jruoho
7058 1.1 jruoho The ACPI CA Programmer Reference has been updated to reflect new
7059 1.1 jruoho interfaces and changes to existing interfaces.
7060 1.1 jruoho
7061 1.1 jruoho ----------------------------------------
7062 1.1 jruoho 28 March 2003. Summary of changes for version 20030328.
7063 1.1 jruoho
7064 1.1 jruoho 1) ACPI CA Core Subsystem:
7065 1.1 jruoho
7066 1.1 jruoho The GPE Block Device support has been completed. New interfaces
7067 1.1 jruoho are AcpiInstallGpeBlock and AcpiRemoveGpeBlock. The Event
7068 1.1 jruoho interfaces (enable, disable, clear, getstatus) have been split
7069 1.1 jruoho into separate interfaces for Fixed Events and General Purpose
7070 1.1 jruoho Events (GPEs) in order to support GPE Block Devices properly.
7071 1.1 jruoho
7072 1.1 jruoho Fixed a problem where the error message "Failed to acquire
7073 1.1 jruoho semaphore" would appear during operations on the embedded
7074 1.1 jruoho controller (EC).
7075 1.1 jruoho
7076 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
7077 1.1 jruoho below. These are the code and data sizes for the acpica.lib
7078 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
7079 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
7080 1.1 jruoho version of the code includes the debug output trace mechanism and
7081 1.1 jruoho has a much larger code and data size. Note that these values will
7082 1.1 jruoho vary depending on the efficiency of the compiler and the compiler
7083 1.1 jruoho options used during generation.
7084 1.1 jruoho
7085 1.1 jruoho Previous Release
7086 1.1 jruoho Non-Debug Version: 72.3K Code, 9.5K Data, 81.8K Total
7087 1.1 jruoho Debug Version: 154.0K Code, 63.4K Data, 217.4K Total
7088 1.1 jruoho Current Release:
7089 1.1 jruoho Non-Debug Version: 73.7K Code, 9.5K Data, 83.2K Total
7090 1.1 jruoho Debug Version: 156.1K Code, 63.6K Data, 219.7K Total
7091 1.1 jruoho
7092 1.1 jruoho
7093 1.1 jruoho ----------------------------------------
7094 1.1 jruoho 28 February 2003. Summary of changes for version 20030228.
7095 1.1 jruoho
7096 1.1 jruoho
7097 1.1 jruoho 1) ACPI CA Core Subsystem:
7098 1.1 jruoho
7099 1.1 jruoho The GPE handling and dispatch code has been completely overhauled
7100 1.1 jruoho in preparation for support of GPE Block Devices (ID ACPI0006).
7101 1.1 jruoho This affects internal data structures and code only; there should
7102 1.1 jruoho be no differences visible externally. One new file has been
7103 1.1 jruoho added, evgpeblk.c
7104 1.1 jruoho
7105 1.1 jruoho The FADT fields GPE0_BLK_LEN and GPE1_BLK_LEN are now the only
7106 1.1 jruoho fields that are used to determine the GPE block lengths. The
7107 1.1 jruoho REGISTER_BIT_WIDTH field of the X_GPEx_BLK extended address
7108 1.1 jruoho structures are ignored. This is per the ACPI specification but it
7109 1.1 jruoho isn't very clear. The full 256 Block 0/1 GPEs are now supported
7110 1.1 jruoho (the use of REGISTER_BIT_WIDTH limited the number of GPEs to 128).
7111 1.1 jruoho
7112 1.1 jruoho In the SCI interrupt handler, removed the read of the PM1_CONTROL
7113 1.1 jruoho register to look at the SCI_EN bit. On some machines, this read
7114 1.1 jruoho causes an SMI event and greatly slows down SCI events. (This may
7115 1.1 jruoho in fact be the cause of slow battery status response on some
7116 1.1 jruoho systems.)
7117 1.1 jruoho
7118 1.1 jruoho Fixed a problem where a store of a NULL string to a package object
7119 1.1 jruoho could cause the premature deletion of the object. This was seen
7120 1.1 jruoho during execution of the battery _BIF method on some systems,
7121 1.1 jruoho resulting in no battery data being returned.
7122 1.1 jruoho
7123 1.1 jruoho Added AcpiWalkResources interface to simplify parsing of resource
7124 1.1 jruoho lists.
7125 1.1 jruoho
7126 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
7127 1.1 jruoho below. These are the code and data sizes for the acpica.lib
7128 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
7129 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
7130 1.1 jruoho version of the code includes the debug output trace mechanism and
7131 1.1 jruoho has a much larger code and data size. Note that these values will
7132 1.1 jruoho vary depending on the efficiency of the compiler and the compiler
7133 1.1 jruoho options used during generation.
7134 1.1 jruoho
7135 1.1 jruoho Previous Release
7136 1.1 jruoho Non-Debug Version: 72.0K Code, 9.5K Data, 81.5K Total
7137 1.1 jruoho Debug Version: 153.0K Code, 62.9K Data, 215.9K Total
7138 1.1 jruoho Current Release:
7139 1.1 jruoho Non-Debug Version: 72.3K Code, 9.5K Data, 81.8K Total
7140 1.1 jruoho Debug Version: 154.0K Code, 63.4K Data, 217.4K Total
7141 1.1 jruoho
7142 1.1 jruoho
7143 1.1 jruoho 2) Linux
7144 1.1 jruoho
7145 1.1 jruoho S3 fixes (Ole Rohne)
7146 1.1 jruoho
7147 1.1 jruoho Update ACPI PHP driver with to use new acpi_walk_resource API
7148 1.1 jruoho (Bjorn Helgaas)
7149 1.1 jruoho
7150 1.1 jruoho Add S4BIOS support (Pavel Machek)
7151 1.1 jruoho
7152 1.1 jruoho Map in entire table before performing checksum (John Stultz)
7153 1.1 jruoho
7154 1.1 jruoho Expand the mem= cmdline to allow the specification of reserved and
7155 1.1 jruoho ACPI DATA blocks (Pavel Machek)
7156 1.1 jruoho
7157 1.1 jruoho Never use ACPI on VISWS
7158 1.1 jruoho
7159 1.1 jruoho Fix derive_pci_id (Ducrot Bruno, Alvaro Lopez)
7160 1.1 jruoho
7161 1.1 jruoho Revert a change that allowed P_BLK lengths to be 4 or 5. This is
7162 1.1 jruoho causing us to think that some systems support C2 when they really
7163 1.1 jruoho don't.
7164 1.1 jruoho
7165 1.1 jruoho Do not count processor objects for non-present CPUs (Thanks to
7166 1.1 jruoho Dominik Brodowski)
7167 1.1 jruoho
7168 1.1 jruoho
7169 1.1 jruoho 3) iASL Compiler:
7170 1.1 jruoho
7171 1.1 jruoho Fixed a problem where ASL include files could not be found and
7172 1.1 jruoho opened.
7173 1.1 jruoho
7174 1.1 jruoho Added support for the _PDC reserved name.
7175 1.1 jruoho
7176 1.1 jruoho
7177 1.1 jruoho ----------------------------------------
7178 1.1 jruoho 22 January 2003. Summary of changes for version 20030122.
7179 1.1 jruoho
7180 1.1 jruoho
7181 1.1 jruoho 1) ACPI CA Core Subsystem:
7182 1.1 jruoho
7183 1.1 jruoho Added a check for constructs of the form: Store (Local0, Local0)
7184 1.1 jruoho where Local0 is not initialized. Apparently, some BIOS
7185 1.1 jruoho programmers believe that this is a NOOP. Since this store doesn't
7186 1.1 jruoho do anything anyway, the new prototype behavior will ignore this
7187 1.1 jruoho error. This is a case where we can relax the strict checking in
7188 1.1 jruoho the interpreter in the name of compatibility.
7189 1.1 jruoho
7190 1.1 jruoho
7191 1.1 jruoho 2) Linux
7192 1.1 jruoho
7193 1.1 jruoho The AcpiSrc Source Conversion Utility has been released with the
7194 1.1 jruoho Linux package for the first time. This is the utility that is
7195 1.1 jruoho used to convert the ACPI CA base source code to the Linux version.
7196 1.1 jruoho
7197 1.1 jruoho (Both) Handle P_BLK lengths shorter than 6 more gracefully
7198 1.1 jruoho
7199 1.1 jruoho (Both) Move more headers to include/acpi, and delete an unused
7200 1.1 jruoho header.
7201 1.1 jruoho
7202 1.1 jruoho (Both) Move drivers/acpi/include directory to include/acpi
7203 1.1 jruoho
7204 1.1 jruoho (Both) Boot functions don't use cmdline, so don't pass it around
7205 1.1 jruoho
7206 1.1 jruoho (Both) Remove include of unused header (Adrian Bunk)
7207 1.1 jruoho
7208 1.1 jruoho (Both) acpiphp.h includes both linux/acpi.h and acpi_bus.h. Since
7209 1.1 jruoho the
7210 1.1 jruoho former now also includes the latter, acpiphp.h only needs the one,
7211 1.1 jruoho now.
7212 1.1 jruoho
7213 1.1 jruoho (2.5) Make it possible to select method of bios restoring after S3
7214 1.1 jruoho resume. [=> no more ugly ifdefs] (Pavel Machek)
7215 1.1 jruoho
7216 1.1 jruoho (2.5) Make proc write interfaces work (Pavel Machek)
7217 1.1 jruoho
7218 1.1 jruoho (2.5) Properly init/clean up in cpufreq/acpi (Dominik Brodowski)
7219 1.1 jruoho
7220 1.1 jruoho (2.5) Break out ACPI Perf code into its own module, under cpufreq
7221 1.1 jruoho (Dominik Brodowski)
7222 1.1 jruoho
7223 1.1 jruoho (2.4) S4BIOS support (Ducrot Bruno)
7224 1.1 jruoho
7225 1.1 jruoho (2.4) Fix acpiphp_glue.c for latest ACPI struct changes (Sergio
7226 1.1 jruoho Visinoni)
7227 1.1 jruoho
7228 1.1 jruoho
7229 1.1 jruoho 3) iASL Compiler:
7230 1.1 jruoho
7231 1.1 jruoho Added support to disassemble SSDT and PSDTs.
7232 1.1 jruoho
7233 1.1 jruoho Implemented support to obtain SSDTs from the Windows registry if
7234 1.1 jruoho available.
7235 1.1 jruoho
7236 1.1 jruoho
7237 1.1 jruoho ----------------------------------------
7238 1.1 jruoho 09 January 2003. Summary of changes for version 20030109.
7239 1.1 jruoho
7240 1.1 jruoho 1) ACPI CA Core Subsystem:
7241 1.1 jruoho
7242 1.1 jruoho Changed the behavior of the internal Buffer-to-String conversion
7243 1.1 jruoho function. The current ACPI specification states that the contents
7244 1.1 jruoho of the buffer are "converted to a string of two-character
7245 1.1 jruoho hexadecimal numbers, each separated by a space". Unfortunately,
7246 1.1 jruoho this definition is not backwards compatible with existing ACPI 1.0
7247 1.1 jruoho implementations (although the behavior was not defined in the ACPI
7248 1.1 jruoho 1.0 specification). The new behavior simply copies data from the
7249 1.1 jruoho buffer to the string until a null character is found or the end of
7250 1.1 jruoho the buffer is reached. The new String object is always null
7251 1.1 jruoho terminated. This problem was seen during the generation of _BIF
7252 1.1 jruoho battery data where incorrect strings were returned for battery
7253 1.1 jruoho type, etc. This will also require an errata to the ACPI
7254 1.1 jruoho specification.
7255 1.1 jruoho
7256 1.1 jruoho Renamed all instances of NATIVE_UINT and NATIVE_INT to
7257 1.1 jruoho ACPI_NATIVE_UINT and ACPI_NATIVE_INT, respectively.
7258 1.1 jruoho
7259 1.1 jruoho Copyright in all module headers (both Linux and non-Linux) has be
7260 1.1 jruoho updated to 2003.
7261 1.1 jruoho
7262 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
7263 1.1 jruoho below. These are the code and data sizes for the acpica.lib
7264 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
7265 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
7266 1.1 jruoho version of the code includes the debug output trace mechanism and
7267 1.1 jruoho has a much larger code and data size. Note that these values will
7268 1.1 jruoho vary depending on the efficiency of the compiler and the compiler
7269 1.1 jruoho options used during generation.
7270 1.1 jruoho
7271 1.1 jruoho Previous Release
7272 1.1 jruoho Non-Debug Version: 72.0K Code, 9.5K Data, 81.5K Total
7273 1.1 jruoho Debug Version: 153.0K Code, 62.9K Data, 215.9K Total
7274 1.1 jruoho Current Release:
7275 1.1 jruoho Non-Debug Version: 72.0K Code, 9.5K Data, 81.5K Total
7276 1.1 jruoho Debug Version: 153.0K Code, 62.9K Data, 215.9K Total
7277 1.1 jruoho
7278 1.1 jruoho
7279 1.1 jruoho 2) Linux
7280 1.1 jruoho
7281 1.1 jruoho Fixed an oops on module insertion/removal (Matthew Tippett)
7282 1.1 jruoho
7283 1.1 jruoho (2.4) Fix to handle dynamic size of mp_irqs (Joerg Prante)
7284 1.1 jruoho
7285 1.1 jruoho (2.5) Replace pr_debug (Randy Dunlap)
7286 1.1 jruoho
7287 1.1 jruoho (2.5) Remove usage of CPUFREQ_ALL_CPUS (Dominik Brodowski)
7288 1.1 jruoho
7289 1.1 jruoho (Both) Eliminate spawning of thread from timer callback, in favor
7290 1.1 jruoho of schedule_work()
7291 1.1 jruoho
7292 1.1 jruoho (Both) Show Lid status in /proc (Zdenek OGAR Skalak)
7293 1.1 jruoho
7294 1.1 jruoho (Both) Added define for Fixed Function HW region (Matthew Wilcox)
7295 1.1 jruoho
7296 1.1 jruoho (Both) Add missing statics to button.c (Pavel Machek)
7297 1.1 jruoho
7298 1.1 jruoho Several changes have been made to the source code translation
7299 1.1 jruoho utility that generates the Linux Code in order to make the code
7300 1.1 jruoho more "Linux-like":
7301 1.1 jruoho
7302 1.1 jruoho All typedefs on structs and unions have been removed in keeping
7303 1.1 jruoho with the Linux coding style.
7304 1.1 jruoho
7305 1.1 jruoho Removed the non-Linux SourceSafe module revision number from each
7306 1.1 jruoho module header.
7307 1.1 jruoho
7308 1.1 jruoho Completed major overhaul of symbols to be lowercased for linux.
7309 1.1 jruoho Doubled the number of symbols that are lowercased.
7310 1.1 jruoho
7311 1.1 jruoho Fixed a problem where identifiers within procedure headers and
7312 1.1 jruoho within quotes were not fully lower cased (they were left with a
7313 1.1 jruoho starting capital.)
7314 1.1 jruoho
7315 1.1 jruoho Some C macros whose only purpose is to allow the generation of 16-
7316 1.1 jruoho bit code are now completely removed in the Linux code, increasing
7317 1.1 jruoho readability and maintainability.
7318 1.1 jruoho
7319 1.1 jruoho ----------------------------------------
7320 1.1 jruoho
7321 1.1 jruoho 12 December 2002. Summary of changes for version 20021212.
7322 1.1 jruoho
7323 1.1 jruoho
7324 1.1 jruoho 1) ACPI CA Core Subsystem:
7325 1.1 jruoho
7326 1.1 jruoho Fixed a problem where the creation of a zero-length AML Buffer
7327 1.1 jruoho would cause a fault.
7328 1.1 jruoho
7329 1.1 jruoho Fixed a problem where a Buffer object that pointed to a static AML
7330 1.1 jruoho buffer (in an ACPI table) could inadvertently be deleted, causing
7331 1.1 jruoho memory corruption.
7332 1.1 jruoho
7333 1.1 jruoho Fixed a problem where a user buffer (passed in to the external
7334 1.1 jruoho ACPI CA interfaces) could be overwritten if the buffer was too
7335 1.1 jruoho small to complete the operation, causing memory corruption.
7336 1.1 jruoho
7337 1.1 jruoho Fixed a problem in the Buffer-to-String conversion code where a
7338 1.1 jruoho string of length one was always returned, regardless of the size
7339 1.1 jruoho of the input Buffer object.
7340 1.1 jruoho
7341 1.1 jruoho Removed the NATIVE_CHAR data type across the entire source due to
7342 1.1 jruoho lack of need and lack of consistent use.
7343 1.1 jruoho
7344 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
7345 1.1 jruoho below. These are the code and data sizes for the acpica.lib
7346 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
7347 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
7348 1.1 jruoho version of the code includes the debug output trace mechanism and
7349 1.1 jruoho has a much larger code and data size. Note that these values will
7350 1.1 jruoho vary depending on the efficiency of the compiler and the compiler
7351 1.1 jruoho options used during generation.
7352 1.1 jruoho
7353 1.1 jruoho Previous Release
7354 1.1 jruoho Non-Debug Version: 72.1K Code, 9.5K Data, 81.6K Total
7355 1.1 jruoho Debug Version: 152.7K Code, 62.7K Data, 215.4K Total
7356 1.1 jruoho Current Release:
7357 1.1 jruoho Non-Debug Version: 72.0K Code, 9.5K Data, 81.5K Total
7358 1.1 jruoho Debug Version: 153.0K Code, 62.9K Data, 215.9K Total
7359 1.1 jruoho
7360 1.1 jruoho
7361 1.1 jruoho ----------------------------------------
7362 1.1 jruoho 05 December 2002. Summary of changes for version 20021205.
7363 1.1 jruoho
7364 1.1 jruoho 1) ACPI CA Core Subsystem:
7365 1.1 jruoho
7366 1.1 jruoho Fixed a problem where a store to a String or Buffer object could
7367 1.1 jruoho cause corruption of the DSDT if the object type being stored was
7368 1.1 jruoho the same as the target object type and the length of the object
7369 1.1 jruoho being stored was equal to or smaller than the original (existing)
7370 1.1 jruoho target object. This was seen to cause corruption of battery _BIF
7371 1.1 jruoho buffers if the _BIF method modified the buffer on the fly.
7372 1.1 jruoho
7373 1.1 jruoho Fixed a problem where an internal error was generated if a control
7374 1.1 jruoho method invocation was used in an OperationRegion, Buffer, or
7375 1.1 jruoho Package declaration. This was caused by the deferred parsing of
7376 1.1 jruoho the control method and thus the deferred creation of the internal
7377 1.1 jruoho method object. The solution to this problem was to create the
7378 1.1 jruoho internal method object at the moment the method is encountered in
7379 1.1 jruoho the first pass - so that subsequent references to the method will
7380 1.1 jruoho able to obtain the required parameter count and thus properly
7381 1.1 jruoho parse the method invocation. This problem presented itself as an
7382 1.1 jruoho AE_AML_INTERNAL during the pass 1 parse phase during table load.
7383 1.1 jruoho
7384 1.1 jruoho Fixed a problem where the internal String object copy routine did
7385 1.1 jruoho not always allocate sufficient memory for the target String object
7386 1.1 jruoho and caused memory corruption. This problem was seen to cause
7387 1.1 jruoho "Allocation already present in list!" errors as memory allocation
7388 1.1 jruoho became corrupted.
7389 1.1 jruoho
7390 1.1 jruoho Implemented a new function for the evaluation of namespace objects
7391 1.1 jruoho that allows the specification of the allowable return object
7392 1.1 jruoho types. This simplifies a lot of code that checks for a return
7393 1.1 jruoho object of one or more specific objects returned from the
7394 1.1 jruoho evaluation (such as _STA, etc.) This may become and external
7395 1.1 jruoho function if it would be useful to ACPI-related drivers.
7396 1.1 jruoho
7397 1.1 jruoho Completed another round of prefixing #defines with "ACPI_" for
7398 1.1 jruoho clarity.
7399 1.1 jruoho
7400 1.1 jruoho Completed additional code restructuring to allow more modular
7401 1.1 jruoho linking for iASL compiler and AcpiExec. Several files were split
7402 1.1 jruoho creating new files. New files: nsparse.c dsinit.c evgpe.c
7403 1.1 jruoho
7404 1.1 jruoho Implemented an abort mechanism to terminate an executing control
7405 1.1 jruoho method via the AML debugger. This feature is useful for debugging
7406 1.1 jruoho control methods that depend (wait) for specific hardware
7407 1.1 jruoho responses.
7408 1.1 jruoho
7409 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
7410 1.1 jruoho below. These are the code and data sizes for the acpica.lib
7411 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
7412 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
7413 1.1 jruoho version of the code includes the debug output trace mechanism and
7414 1.1 jruoho has a much larger code and data size. Note that these values will
7415 1.1 jruoho vary depending on the efficiency of the compiler and the compiler
7416 1.1 jruoho options used during generation.
7417 1.1 jruoho
7418 1.1 jruoho Previous Release
7419 1.1 jruoho Non-Debug Version: 71.4K Code, 9.0K Data, 80.4K Total
7420 1.1 jruoho Debug Version: 152.9K Code, 63.3K Data, 216.2K Total
7421 1.1 jruoho Current Release:
7422 1.1 jruoho Non-Debug Version: 72.1K Code, 9.5K Data, 81.6K Total
7423 1.1 jruoho Debug Version: 152.7K Code, 62.7K Data, 215.4K Total
7424 1.1 jruoho
7425 1.1 jruoho
7426 1.1 jruoho 2) iASL Compiler/Disassembler
7427 1.1 jruoho
7428 1.1 jruoho Fixed a compiler code generation problem for "Interrupt" Resource
7429 1.1 jruoho Descriptors. If specified in the ASL, the optional "Resource
7430 1.1 jruoho Source Index" and "Resource Source" fields were not inserted into
7431 1.1 jruoho the correct location within the AML resource descriptor, creating
7432 1.1 jruoho an invalid descriptor.
7433 1.1 jruoho
7434 1.1 jruoho Fixed a disassembler problem for "Interrupt" resource descriptors.
7435 1.1 jruoho The optional "Resource Source Index" and "Resource Source" fields
7436 1.1 jruoho were ignored.
7437 1.1 jruoho
7438 1.1 jruoho
7439 1.1 jruoho ----------------------------------------
7440 1.1 jruoho 22 November 2002. Summary of changes for version 20021122.
7441 1.1 jruoho
7442 1.1 jruoho
7443 1.1 jruoho 1) ACPI CA Core Subsystem:
7444 1.1 jruoho
7445 1.1 jruoho Fixed a reported problem where an object stored to a Method Local
7446 1.1 jruoho or Arg was not copied to a new object during the store - the
7447 1.1 jruoho object pointer was simply copied to the Local/Arg. This caused
7448 1.1 jruoho all subsequent operations on the Local/Arg to also affect the
7449 1.1 jruoho original source of the store operation.
7450 1.1 jruoho
7451 1.1 jruoho Fixed a problem where a store operation to a Method Local or Arg
7452 1.1 jruoho was not completed properly if the Local/Arg contained a reference
7453 1.1 jruoho (from RefOf) to a named field. The general-purpose store-to-
7454 1.1 jruoho namespace-node code is now used so that this case is handled
7455 1.1 jruoho automatically.
7456 1.1 jruoho
7457 1.1 jruoho Fixed a problem where the internal object copy routine would cause
7458 1.1 jruoho a protection fault if the object being copied was a Package and
7459 1.1 jruoho contained either 1) a NULL package element or 2) a nested sub-
7460 1.1 jruoho package.
7461 1.1 jruoho
7462 1.1 jruoho Fixed a problem with the GPE initialization that resulted from an
7463 1.1 jruoho ambiguity in the ACPI specification. One section of the
7464 1.1 jruoho specification states that both the address and length of the GPE
7465 1.1 jruoho block must be zero if the block is not supported. Another section
7466 1.1 jruoho implies that only the address need be zero if the block is not
7467 1.1 jruoho supported. The code has been changed so that both the address and
7468 1.1 jruoho the length must be non-zero to indicate a valid GPE block (i.e.,
7469 1.1 jruoho if either the address or the length is zero, the GPE block is
7470 1.1 jruoho invalid.)
7471 1.1 jruoho
7472 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
7473 1.1 jruoho below. These are the code and data sizes for the acpica.lib
7474 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
7475 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
7476 1.1 jruoho version of the code includes the debug output trace mechanism and
7477 1.1 jruoho has a much larger code and data size. Note that these values will
7478 1.1 jruoho vary depending on the efficiency of the compiler and the compiler
7479 1.1 jruoho options used during generation.
7480 1.1 jruoho
7481 1.1 jruoho Previous Release
7482 1.1 jruoho Non-Debug Version: 71.3K Code, 9.0K Data, 80.3K Total
7483 1.1 jruoho Debug Version: 152.7K Code, 63.2K Data, 215.5K Total
7484 1.1 jruoho Current Release:
7485 1.1 jruoho Non-Debug Version: 71.4K Code, 9.0K Data, 80.4K Total
7486 1.1 jruoho Debug Version: 152.9K Code, 63.3K Data, 216.2K Total
7487 1.1 jruoho
7488 1.1 jruoho
7489 1.1 jruoho 2) Linux
7490 1.1 jruoho
7491 1.1 jruoho Cleaned up EC driver. Exported an external EC read/write
7492 1.1 jruoho interface. By going through this, other drivers (most notably
7493 1.1 jruoho sonypi) will be able to serialize access to the EC.
7494 1.1 jruoho
7495 1.1 jruoho
7496 1.1 jruoho 3) iASL Compiler/Disassembler
7497 1.1 jruoho
7498 1.1 jruoho Implemented support to optionally generate include files for both
7499 1.1 jruoho ASM and C (the -i switch). This simplifies BIOS development by
7500 1.1 jruoho automatically creating include files that contain external
7501 1.1 jruoho declarations for the symbols that are created within the
7502 1.1 jruoho
7503 1.1 jruoho (optionally generated) ASM and C AML source files.
7504 1.1 jruoho
7505 1.1 jruoho
7506 1.1 jruoho ----------------------------------------
7507 1.1 jruoho 15 November 2002. Summary of changes for version 20021115.
7508 1.1 jruoho
7509 1.1 jruoho 1) ACPI CA Core Subsystem:
7510 1.1 jruoho
7511 1.1 jruoho Fixed a memory leak problem where an error during resolution of
7512 1.1 jruoho
7513 1.1 jruoho method arguments during a method invocation from another method
7514 1.1 jruoho failed to cleanup properly by deleting all successfully resolved
7515 1.1 jruoho argument objects.
7516 1.1 jruoho
7517 1.1 jruoho Fixed a problem where the target of the Index() operator was not
7518 1.1 jruoho correctly constructed if the source object was a package. This
7519 1.1 jruoho problem has not been detected because the use of a target operand
7520 1.1 jruoho with Index() is very rare.
7521 1.1 jruoho
7522 1.1 jruoho Fixed a problem with the Index() operator where an attempt was
7523 1.1 jruoho made to delete the operand objects twice.
7524 1.1 jruoho
7525 1.1 jruoho Fixed a problem where an attempt was made to delete an operand
7526 1.1 jruoho twice during execution of the CondRefOf() operator if the target
7527 1.1 jruoho did not exist.
7528 1.1 jruoho
7529 1.1 jruoho Implemented the first of perhaps several internal create object
7530 1.1 jruoho functions that create and initialize a specific object type. This
7531 1.1 jruoho consolidates duplicated code wherever the object is created, thus
7532 1.1 jruoho shrinking the size of the subsystem.
7533 1.1 jruoho
7534 1.1 jruoho Implemented improved debug/error messages for errors that occur
7535 1.1 jruoho during nested method invocations. All executing method pathnames
7536 1.1 jruoho are displayed (with the error) as the call stack is unwound - thus
7537 1.1 jruoho simplifying debug.
7538 1.1 jruoho
7539 1.1 jruoho Fixed a problem introduced in the 10/02 release that caused
7540 1.1 jruoho premature deletion of a buffer object if a buffer was used as an
7541 1.1 jruoho ASL operand where an integer operand is required (Thus causing an
7542 1.1 jruoho implicit object conversion from Buffer to Integer.) The change in
7543 1.1 jruoho the 10/02 release was attempting to fix a memory leak (albeit
7544 1.1 jruoho incorrectly.)
7545 1.1 jruoho
7546 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
7547 1.1 jruoho below. These are the code and data sizes for the acpica.lib
7548 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
7549 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
7550 1.1 jruoho version of the code includes the debug output trace mechanism and
7551 1.1 jruoho has a much larger code and data size. Note that these values will
7552 1.1 jruoho vary depending on the efficiency of the compiler and the compiler
7553 1.1 jruoho options used during generation.
7554 1.1 jruoho
7555 1.1 jruoho Previous Release
7556 1.1 jruoho Non-Debug Version: 71.9K Code, 9.1K Data, 81.0K Total
7557 1.1 jruoho Debug Version: 153.1K Code, 63.3K Data, 216.4K Total
7558 1.1 jruoho Current Release:
7559 1.1 jruoho Non-Debug Version: 71.3K Code, 9.0K Data, 80.3K Total
7560 1.1 jruoho Debug Version: 152.7K Code, 63.2K Data, 215.5K Total
7561 1.1 jruoho
7562 1.1 jruoho
7563 1.1 jruoho 2) Linux
7564 1.1 jruoho
7565 1.1 jruoho Changed the implementation of the ACPI semaphores to use down()
7566 1.1 jruoho instead of down_interruptable(). It is important that the
7567 1.1 jruoho execution of ACPI control methods not be interrupted by signals.
7568 1.1 jruoho Methods must run to completion, or the system may be left in an
7569 1.1 jruoho unknown/unstable state.
7570 1.1 jruoho
7571 1.1 jruoho Fixed a compilation error when CONFIG_SOFTWARE_SUSPEND is not set.
7572 1.1 jruoho (Shawn Starr)
7573 1.1 jruoho
7574 1.1 jruoho
7575 1.1 jruoho 3) iASL Compiler/Disassembler
7576 1.1 jruoho
7577 1.1 jruoho
7578 1.1 jruoho Changed the default location of output files. All output files
7579 1.1 jruoho are now placed in the current directory by default instead of in
7580 1.1 jruoho the directory of the source file. This change may affect some
7581 1.1 jruoho existing makefiles, but it brings the behavior of the compiler in
7582 1.1 jruoho line with other similar tools. The location of the output files
7583 1.1 jruoho can be overridden with the -p command line switch.
7584 1.1 jruoho
7585 1.1 jruoho
7586 1.1 jruoho ----------------------------------------
7587 1.1 jruoho 11 November 2002. Summary of changes for version 20021111.
7588 1.1 jruoho
7589 1.1 jruoho
7590 1.1 jruoho 0) ACPI Specification 2.0B is released and is now available at:
7591 1.1 jruoho http://www.acpi.info/index.html
7592 1.1 jruoho
7593 1.1 jruoho
7594 1.1 jruoho 1) ACPI CA Core Subsystem:
7595 1.1 jruoho
7596 1.1 jruoho Implemented support for the ACPI 2.0 SMBus Operation Regions.
7597 1.1 jruoho This includes the early detection and handoff of the request to
7598 1.1 jruoho the SMBus region handler (avoiding all of the complex field
7599 1.1 jruoho support code), and support for the bidirectional return packet
7600 1.1 jruoho from an SMBus write operation. This paves the way for the
7601 1.1 jruoho development of SMBus drivers in each host operating system.
7602 1.1 jruoho
7603 1.1 jruoho Fixed a problem where the semaphore WAIT_FOREVER constant was
7604 1.1 jruoho defined as 32 bits, but must be 16 bits according to the ACPI
7605 1.1 jruoho specification. This had the side effect of causing ASL
7606 1.1 jruoho Mutex/Event timeouts even though the ASL code requested a wait
7607 1.1 jruoho forever. Changed all internal references to the ACPI timeout
7608 1.1 jruoho parameter to 16 bits to prevent future problems. Changed the name
7609 1.1 jruoho of WAIT_FOREVER to ACPI_WAIT_FOREVER.
7610 1.1 jruoho
7611 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
7612 1.1 jruoho below. These are the code and data sizes for the acpica.lib
7613 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
7614 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
7615 1.1 jruoho version of the code includes the debug output trace mechanism and
7616 1.1 jruoho has a much larger code and data size. Note that these values will
7617 1.1 jruoho vary depending on the efficiency of the compiler and the compiler
7618 1.1 jruoho options used during generation.
7619 1.1 jruoho
7620 1.1 jruoho Previous Release
7621 1.1 jruoho Non-Debug Version: 71.4K Code, 9.0K Data, 80.4K Total
7622 1.1 jruoho Debug Version: 152.3K Code, 63.0K Data, 215.3K Total
7623 1.1 jruoho Current Release:
7624 1.1 jruoho Non-Debug Version: 71.9K Code, 9.1K Data, 81.0K Total
7625 1.1 jruoho Debug Version: 153.1K Code, 63.3K Data, 216.4K Total
7626 1.1 jruoho
7627 1.1 jruoho
7628 1.1 jruoho 2) Linux
7629 1.1 jruoho
7630 1.1 jruoho Module loading/unloading fixes (John Cagle)
7631 1.1 jruoho
7632 1.1 jruoho
7633 1.1 jruoho 3) iASL Compiler/Disassembler
7634 1.1 jruoho
7635 1.1 jruoho Added support for the SMBBlockProcessCall keyword (ACPI 2.0)
7636 1.1 jruoho
7637 1.1 jruoho Implemented support for the disassembly of all SMBus protocol
7638 1.1 jruoho keywords (SMBQuick, SMBWord, etc.)
7639 1.1 jruoho
7640 1.1 jruoho ----------------------------------------
7641 1.1 jruoho 01 November 2002. Summary of changes for version 20021101.
7642 1.1 jruoho
7643 1.1 jruoho
7644 1.1 jruoho 1) ACPI CA Core Subsystem:
7645 1.1 jruoho
7646 1.1 jruoho Fixed a problem where platforms that have a GPE1 block but no GPE0
7647 1.1 jruoho block were not handled correctly. This resulted in a "GPE
7648 1.1 jruoho overlap" error message. GPE0 is no longer required.
7649 1.1 jruoho
7650 1.1 jruoho Removed code added in the previous release that inserted nodes
7651 1.1 jruoho into the namespace in alphabetical order. This caused some side-
7652 1.1 jruoho effects on various machines. The root cause of the problem is
7653 1.1 jruoho still under investigation since in theory, the internal ordering
7654 1.1 jruoho of the namespace nodes should not matter.
7655 1.1 jruoho
7656 1.1 jruoho
7657 1.1 jruoho Enhanced error reporting for the case where a named object is not
7658 1.1 jruoho found during control method execution. The full ACPI namepath
7659 1.1 jruoho (name reference) of the object that was not found is displayed in
7660 1.1 jruoho this case.
7661 1.1 jruoho
7662 1.1 jruoho Note: as a result of the overhaul of the namespace object types in
7663 1.1 jruoho the previous release, the namespace nodes for the predefined
7664 1.1 jruoho scopes (_TZ, _PR, etc.) are now of the type ACPI_TYPE_LOCAL_SCOPE
7665 1.1 jruoho instead of ACPI_TYPE_ANY. This simplifies the namespace
7666 1.1 jruoho management code but may affect code that walks the namespace tree
7667 1.1 jruoho looking for specific object types.
7668 1.1 jruoho
7669 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
7670 1.1 jruoho below. These are the code and data sizes for the acpica.lib
7671 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
7672 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
7673 1.1 jruoho version of the code includes the debug output trace mechanism and
7674 1.1 jruoho has a much larger code and data size. Note that these values will
7675 1.1 jruoho vary depending on the efficiency of the compiler and the compiler
7676 1.1 jruoho options used during generation.
7677 1.1 jruoho
7678 1.1 jruoho Previous Release
7679 1.1 jruoho Non-Debug Version: 70.7K Code, 8.6K Data, 79.3K Total
7680 1.1 jruoho Debug Version: 151.7K Code, 62.4K Data, 214.1K Total
7681 1.1 jruoho Current Release:
7682 1.1 jruoho Non-Debug Version: 71.4K Code, 9.0K Data, 80.4K Total
7683 1.1 jruoho Debug Version: 152.3K Code, 63.0K Data, 215.3K Total
7684 1.1 jruoho
7685 1.1 jruoho
7686 1.1 jruoho 2) Linux
7687 1.1 jruoho
7688 1.1 jruoho Fixed a problem introduced in the previous release where the
7689 1.1 jruoho Processor and Thermal objects were not recognized and installed in
7690 1.1 jruoho /proc. This was related to the scope type change described above.
7691 1.1 jruoho
7692 1.1 jruoho
7693 1.1 jruoho 3) iASL Compiler/Disassembler
7694 1.1 jruoho
7695 1.1 jruoho Implemented the -g option to get all of the required ACPI tables
7696 1.1 jruoho from the registry and save them to files (Windows version of the
7697 1.1 jruoho compiler only.) The required tables are the FADT, FACS, and DSDT.
7698 1.1 jruoho
7699 1.1 jruoho Added ACPI table checksum validation during table disassembly in
7700 1.1 jruoho order to catch corrupted tables.
7701 1.1 jruoho
7702 1.1 jruoho
7703 1.1 jruoho ----------------------------------------
7704 1.1 jruoho 22 October 2002. Summary of changes for version 20021022.
7705 1.1 jruoho
7706 1.1 jruoho 1) ACPI CA Core Subsystem:
7707 1.1 jruoho
7708 1.1 jruoho Implemented a restriction on the Scope operator that the target
7709 1.1 jruoho must already exist in the namespace at the time the operator is
7710 1.1 jruoho encountered (during table load or method execution). In other
7711 1.1 jruoho words, forward references are not allowed and Scope() cannot
7712 1.1 jruoho create a new object. This changes the previous behavior where the
7713 1.1 jruoho interpreter would create the name if not found. This new behavior
7714 1.1 jruoho correctly enables the search-to-root algorithm during namespace
7715 1.1 jruoho lookup of the target name. Because of this upsearch, this fixes
7716 1.1 jruoho the known Compaq _SB_.OKEC problem and makes both the AML
7717 1.1 jruoho interpreter and iASL compiler compatible with other ACPI
7718 1.1 jruoho implementations.
7719 1.1 jruoho
7720 1.1 jruoho Completed a major overhaul of the internal ACPI object types for
7721 1.1 jruoho the ACPI Namespace and the associated operand objects. Many of
7722 1.1 jruoho these types had become obsolete with the introduction of the two-
7723 1.1 jruoho pass namespace load. This cleanup simplifies the code and makes
7724 1.1 jruoho the entire namespace load mechanism much clearer and easier to
7725 1.1 jruoho understand.
7726 1.1 jruoho
7727 1.1 jruoho Improved debug output for tracking scope opening/closing to help
7728 1.1 jruoho diagnose scoping issues. The old scope name as well as the new
7729 1.1 jruoho scope name are displayed. Also improved error messages for
7730 1.1 jruoho problems with ASL Mutex objects and error messages for GPE
7731 1.1 jruoho problems.
7732 1.1 jruoho
7733 1.1 jruoho Cleaned up the namespace dump code, removed obsolete code.
7734 1.1 jruoho
7735 1.1 jruoho All string output (for all namespace/object dumps) now uses the
7736 1.1 jruoho common ACPI string output procedure which handles escapes properly
7737 1.1 jruoho and does not emit non-printable characters.
7738 1.1 jruoho
7739 1.1 jruoho Fixed some issues with constants in the 64-bit version of the
7740 1.1 jruoho local C library (utclib.c)
7741 1.1 jruoho
7742 1.1 jruoho
7743 1.1 jruoho 2) Linux
7744 1.1 jruoho
7745 1.1 jruoho EC Driver: No longer attempts to acquire the Global Lock at
7746 1.1 jruoho interrupt level.
7747 1.1 jruoho
7748 1.1 jruoho
7749 1.1 jruoho 3) iASL Compiler/Disassembler
7750 1.1 jruoho
7751 1.1 jruoho Implemented ACPI 2.0B grammar change that disallows all Type 1 and
7752 1.1 jruoho 2 opcodes outside of a control method. This means that the
7753 1.1 jruoho "executable" operators (versus the "namespace" operators) cannot
7754 1.1 jruoho be used at the table level; they can only be used within a control
7755 1.1 jruoho method.
7756 1.1 jruoho
7757 1.1 jruoho Implemented the restriction on the Scope() operator where the
7758 1.1 jruoho target must already exist in the namespace at the time the
7759 1.1 jruoho operator is encountered (during ASL compilation). In other words,
7760 1.1 jruoho forward references are not allowed and Scope() cannot create a new
7761 1.1 jruoho object. This makes the iASL compiler compatible with other ACPI
7762 1.1 jruoho implementations and makes the Scope() implementation adhere to the
7763 1.1 jruoho ACPI specification.
7764 1.1 jruoho
7765 1.1 jruoho Fixed a problem where namepath optimization for the Alias operator
7766 1.1 jruoho was optimizing the wrong path (of the two namepaths.) This caused
7767 1.1 jruoho a "Missing alias link" error message.
7768 1.1 jruoho
7769 1.1 jruoho Fixed a problem where an "unknown reserved name" warning could be
7770 1.1 jruoho incorrectly generated for names like "_SB" when the trailing
7771 1.1 jruoho underscore is not used in the original ASL.
7772 1.1 jruoho
7773 1.1 jruoho Fixed a problem where the reserved name check did not handle
7774 1.1 jruoho NamePaths with multiple NameSegs correctly. The first nameseg of
7775 1.1 jruoho the NamePath was examined instead of the last NameSeg.
7776 1.1 jruoho
7777 1.1 jruoho
7778 1.1 jruoho ----------------------------------------
7779 1.1 jruoho
7780 1.1 jruoho 02 October 2002. Summary of changes for this release.
7781 1.1 jruoho
7782 1.1 jruoho
7783 1.1 jruoho 1) ACPI CA Core Subsystem version 20021002:
7784 1.1 jruoho
7785 1.1 jruoho Fixed a problem where a store/copy of a string to an existing
7786 1.1 jruoho string did not always set the string length properly in the String
7787 1.1 jruoho object.
7788 1.1 jruoho
7789 1.1 jruoho Fixed a reported problem with the ToString operator where the
7790 1.1 jruoho behavior was identical to the ToHexString operator instead of just
7791 1.1 jruoho simply converting a raw buffer to a string data type.
7792 1.1 jruoho
7793 1.1 jruoho Fixed a problem where CopyObject and the other "explicit"
7794 1.1 jruoho conversion operators were not updating the internal namespace node
7795 1.1 jruoho type as part of the store operation.
7796 1.1 jruoho
7797 1.1 jruoho Fixed a memory leak during implicit source operand conversion
7798 1.1 jruoho where the original object was not deleted if it was converted to a
7799 1.1 jruoho new object of a different type.
7800 1.1 jruoho
7801 1.1 jruoho Enhanced error messages for all problems associated with namespace
7802 1.1 jruoho lookups. Common procedure generates and prints the lookup name as
7803 1.1 jruoho well as the formatted status.
7804 1.1 jruoho
7805 1.1 jruoho Completed implementation of a new design for the Alias support
7806 1.1 jruoho within the namespace. The existing design did not handle the case
7807 1.1 jruoho where a new object was assigned to one of the two names due to the
7808 1.1 jruoho use of an explicit conversion operator, resulting in the two names
7809 1.1 jruoho pointing to two different objects. The new design simply points
7810 1.1 jruoho the Alias name to the original name node - not to the object.
7811 1.1 jruoho This results in a level of indirection that must be handled in the
7812 1.1 jruoho name resolution mechanism.
7813 1.1 jruoho
7814 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
7815 1.1 jruoho below. These are the code and data sizes for the acpica.lib
7816 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
7817 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
7818 1.1 jruoho version of the code includes the debug output trace mechanism and
7819 1.1 jruoho has a larger code and data size. Note that these values will vary
7820 1.1 jruoho depending on the efficiency of the compiler and the compiler
7821 1.1 jruoho options used during generation.
7822 1.1 jruoho
7823 1.1 jruoho Previous Release
7824 1.1 jruoho Non-Debug Version: 69.6K Code, 8.3K Data, 77.9K Total
7825 1.1 jruoho Debug Version: 150.0K Code, 61.7K Data, 211.7K Total
7826 1.1 jruoho Current Release:
7827 1.1 jruoho Non-Debug Version: 70.7K Code, 8.6K Data, 79.3K Total
7828 1.1 jruoho Debug Version: 151.7K Code, 62.4K Data, 214.1K Total
7829 1.1 jruoho
7830 1.1 jruoho
7831 1.1 jruoho 2) Linux
7832 1.1 jruoho
7833 1.1 jruoho Initialize thermal driver's timer before it is used. (Knut
7834 1.1 jruoho Neumann)
7835 1.1 jruoho
7836 1.1 jruoho Allow handling negative celsius values. (Kochi Takayoshi)
7837 1.1 jruoho
7838 1.1 jruoho Fix thermal management and make trip points. R/W (Pavel Machek)
7839 1.1 jruoho
7840 1.1 jruoho Fix /proc/acpi/sleep. (P. Christeas)
7841 1.1 jruoho
7842 1.1 jruoho IA64 fixes. (David Mosberger)
7843 1.1 jruoho
7844 1.1 jruoho Fix reversed logic in blacklist code. (Sergio Monteiro Basto)
7845 1.1 jruoho
7846 1.1 jruoho Replace ACPI_DEBUG define with ACPI_DEBUG_OUTPUT. (Dominik
7847 1.1 jruoho Brodowski)
7848 1.1 jruoho
7849 1.1 jruoho
7850 1.1 jruoho 3) iASL Compiler/Disassembler
7851 1.1 jruoho
7852 1.1 jruoho Clarified some warning/error messages.
7853 1.1 jruoho
7854 1.1 jruoho
7855 1.1 jruoho ----------------------------------------
7856 1.1 jruoho 18 September 2002. Summary of changes for this release.
7857 1.1 jruoho
7858 1.1 jruoho
7859 1.1 jruoho 1) ACPI CA Core Subsystem version 20020918:
7860 1.1 jruoho
7861 1.1 jruoho Fixed a reported problem with reference chaining (via the Index()
7862 1.1 jruoho and RefOf() operators) in the ObjectType() and SizeOf() operators.
7863 1.1 jruoho The definition of these operators includes the dereferencing of
7864 1.1 jruoho all chained references to return information on the base object.
7865 1.1 jruoho
7866 1.1 jruoho Fixed a problem with stores to indexed package elements - the
7867 1.1 jruoho existing code would not complete the store if an "implicit
7868 1.1 jruoho conversion" was not performed. In other words, if the existing
7869 1.1 jruoho object (package element) was to be replaced completely, the code
7870 1.1 jruoho didn't handle this case.
7871 1.1 jruoho
7872 1.1 jruoho Relaxed typechecking on the ASL "Scope" operator to allow the
7873 1.1 jruoho target name to refer to an object of type Integer, String, or
7874 1.1 jruoho Buffer, in addition to the scoping object types (Device,
7875 1.1 jruoho predefined Scopes, Processor, PowerResource, and ThermalZone.)
7876 1.1 jruoho This allows existing AML code that has workarounds for a bug in
7877 1.1 jruoho Windows to function properly. A warning is issued, however. This
7878 1.1 jruoho affects both the AML interpreter and the iASL compiler. Below is
7879 1.1 jruoho an example of this type of ASL code:
7880 1.1 jruoho
7881 1.1 jruoho Name(DEB,0x00)
7882 1.1 jruoho Scope(DEB)
7883 1.1 jruoho {
7884 1.1 jruoho
7885 1.1 jruoho Fixed some reported problems with 64-bit integer support in the
7886 1.1 jruoho local implementation of C library functions (clib.c)
7887 1.1 jruoho
7888 1.1 jruoho
7889 1.1 jruoho 2) Linux
7890 1.1 jruoho
7891 1.1 jruoho Use ACPI fix map region instead of IOAPIC region, since it is
7892 1.1 jruoho undefined in non-SMP.
7893 1.1 jruoho
7894 1.1 jruoho Ensure that the SCI has the proper polarity and trigger, even on
7895 1.1 jruoho systems that do not have an interrupt override entry in the MADT.
7896 1.1 jruoho
7897 1.1 jruoho 2.5 big driver reorganization (Pat Mochel)
7898 1.1 jruoho
7899 1.1 jruoho Use early table mapping code from acpitable.c (Andi Kleen)
7900 1.1 jruoho
7901 1.1 jruoho New blacklist entries (Andi Kleen)
7902 1.1 jruoho
7903 1.1 jruoho Blacklist improvements. Split blacklist code out into a separate
7904 1.1 jruoho file. Move checking the blacklist to very early. Previously, we
7905 1.1 jruoho would use ACPI tables, and then halfway through init, check the
7906 1.1 jruoho blacklist -- too late. Now, it's early enough to completely fall-
7907 1.1 jruoho back to non-ACPI.
7908 1.1 jruoho
7909 1.1 jruoho
7910 1.1 jruoho 3) iASL Compiler/Disassembler version 20020918:
7911 1.1 jruoho
7912 1.1 jruoho Fixed a problem where the typechecking code didn't know that an
7913 1.1 jruoho alias could point to a method. In other words, aliases were not
7914 1.1 jruoho being dereferenced during typechecking.
7915 1.1 jruoho
7916 1.1 jruoho
7917 1.1 jruoho ----------------------------------------
7918 1.1 jruoho 29 August 2002. Summary of changes for this release.
7919 1.1 jruoho
7920 1.1 jruoho 1) ACPI CA Core Subsystem Version 20020829:
7921 1.1 jruoho
7922 1.1 jruoho If the target of a Scope() operator already exists, it must be an
7923 1.1 jruoho object type that actually opens a scope -- such as a Device,
7924 1.1 jruoho Method, Scope, etc. This is a fatal runtime error. Similar error
7925 1.1 jruoho check has been added to the iASL compiler also.
7926 1.1 jruoho
7927 1.1 jruoho Tightened up the namespace load to disallow multiple names in the
7928 1.1 jruoho same scope. This previously was allowed if both objects were of
7929 1.1 jruoho the same type. (i.e., a lookup was the same as entering a new
7930 1.1 jruoho name).
7931 1.1 jruoho
7932 1.1 jruoho
7933 1.1 jruoho 2) Linux
7934 1.1 jruoho
7935 1.1 jruoho Ensure that the ACPI interrupt has the proper trigger and
7936 1.1 jruoho polarity.
7937 1.1 jruoho
7938 1.1 jruoho local_irq_disable is extraneous. (Matthew Wilcox)
7939 1.1 jruoho
7940 1.1 jruoho Make "acpi=off" actually do what it says, and not use the ACPI
7941 1.1 jruoho interpreter *or* the tables.
7942 1.1 jruoho
7943 1.1 jruoho Added arch-neutral support for parsing SLIT and SRAT tables (Kochi
7944 1.1 jruoho Takayoshi)
7945 1.1 jruoho
7946 1.1 jruoho
7947 1.1 jruoho 3) iASL Compiler/Disassembler Version 20020829:
7948 1.1 jruoho
7949 1.1 jruoho Implemented namepath optimization for name declarations. For
7950 1.1 jruoho example, a declaration like "Method (\_SB_.ABCD)" would get
7951 1.1 jruoho optimized to "Method (ABCD)" if the declaration is within the
7952 1.1 jruoho \_SB_ scope. This optimization is in addition to the named
7953 1.1 jruoho reference path optimization first released in the previous
7954 1.1 jruoho version. This would seem to complete all possible optimizations
7955 1.1 jruoho for namepaths within the ASL/AML.
7956 1.1 jruoho
7957 1.1 jruoho If the target of a Scope() operator already exists, it must be an
7958 1.1 jruoho object type that actually opens a scope -- such as a Device,
7959 1.1 jruoho Method, Scope, etc.
7960 1.1 jruoho
7961 1.1 jruoho Implemented a check and warning for unreachable code in the same
7962 1.1 jruoho block below a Return() statement.
7963 1.1 jruoho
7964 1.1 jruoho Fixed a problem where the listing file was not generated if the
7965 1.1 jruoho compiler aborted if the maximum error count was exceeded (200).
7966 1.1 jruoho
7967 1.1 jruoho Fixed a problem where the typechecking of method return values was
7968 1.1 jruoho broken. This includes the check for a return value when the
7969 1.1 jruoho method is invoked as a TermArg (a return value is expected.)
7970 1.1 jruoho
7971 1.1 jruoho Fixed a reported problem where EOF conditions during a quoted
7972 1.1 jruoho string or comment caused a fault.
7973 1.1 jruoho
7974 1.1 jruoho
7975 1.1 jruoho ----------------------------------------
7976 1.1 jruoho 15 August 2002. Summary of changes for this release.
7977 1.1 jruoho
7978 1.1 jruoho 1) ACPI CA Core Subsystem Version 20020815:
7979 1.1 jruoho
7980 1.1 jruoho Fixed a reported problem where a Store to a method argument that
7981 1.1 jruoho contains a reference did not perform the indirect store correctly.
7982 1.1 jruoho This problem was created during the conversion to the new
7983 1.1 jruoho reference object model - the indirect store to a method argument
7984 1.1 jruoho code was not updated to reflect the new model.
7985 1.1 jruoho
7986 1.1 jruoho Reworked the ACPI mode change code to better conform to ACPI 2.0,
7987 1.1 jruoho handle corner cases, and improve code legibility (Kochi Takayoshi)
7988 1.1 jruoho
7989 1.1 jruoho Fixed a problem with the pathname parsing for the carat (^)
7990 1.1 jruoho prefix. The heavy use of the carat operator by the new namepath
7991 1.1 jruoho optimization in the iASL compiler uncovered a problem with the AML
7992 1.1 jruoho interpreter handling of this prefix. In the case where one or
7993 1.1 jruoho more carats precede a single nameseg, the nameseg was treated as
7994 1.1 jruoho standalone and the search rule (to root) was inadvertently
7995 1.1 jruoho applied. This could cause both the iASL compiler and the
7996 1.1 jruoho interpreter to find the wrong object or to miss the error that
7997 1.1 jruoho should occur if the object does not exist at that exact pathname.
7998 1.1 jruoho
7999 1.1 jruoho Found and fixed the problem where the HP Pavilion DSDT would not
8000 1.1 jruoho load. This was a relatively minor tweak to the table loading code
8001 1.1 jruoho (a problem caused by the unexpected encounter with a method
8002 1.1 jruoho invocation not within a control method), but it does not solve the
8003 1.1 jruoho overall issue of the execution of AML code at the table level.
8004 1.1 jruoho This investigation is still ongoing.
8005 1.1 jruoho
8006 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
8007 1.1 jruoho below. These are the code and data sizes for the acpica.lib
8008 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
8009 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
8010 1.1 jruoho version of the code includes the debug output trace mechanism and
8011 1.1 jruoho has a larger code and data size. Note that these values will vary
8012 1.1 jruoho depending on the efficiency of the compiler and the compiler
8013 1.1 jruoho options used during generation.
8014 1.1 jruoho
8015 1.1 jruoho Previous Release
8016 1.1 jruoho Non-Debug Version: 69.1K Code, 8.2K Data, 77.3K Total
8017 1.1 jruoho Debug Version: 149.4K Code, 61.6K Data, 211.0K Total
8018 1.1 jruoho Current Release:
8019 1.1 jruoho Non-Debug Version: 69.6K Code, 8.3K Data, 77.9K Total
8020 1.1 jruoho Debug Version: 150.0K Code, 61.7K Data, 211.7K Total
8021 1.1 jruoho
8022 1.1 jruoho
8023 1.1 jruoho 2) Linux
8024 1.1 jruoho
8025 1.1 jruoho Remove redundant slab.h include (Brad Hards)
8026 1.1 jruoho
8027 1.1 jruoho Fix several bugs in thermal.c (Herbert Nachtnebel)
8028 1.1 jruoho
8029 1.1 jruoho Make CONFIG_ACPI_BOOT work properly (Pavel Machek)
8030 1.1 jruoho
8031 1.1 jruoho Change acpi_system_suspend to use updated irq functions (Pavel
8032 1.1 jruoho Machek)
8033 1.1 jruoho
8034 1.1 jruoho Export acpi_get_firmware_table (Matthew Wilcox)
8035 1.1 jruoho
8036 1.1 jruoho Use proper root proc entry for ACPI (Kochi Takayoshi)
8037 1.1 jruoho
8038 1.1 jruoho Fix early-boot table parsing (Bjorn Helgaas)
8039 1.1 jruoho
8040 1.1 jruoho
8041 1.1 jruoho 3) iASL Compiler/Disassembler
8042 1.1 jruoho
8043 1.1 jruoho Reworked the compiler options to make them more consistent and to
8044 1.1 jruoho use two-letter options where appropriate. We were running out of
8045 1.1 jruoho sensible letters. This may break some makefiles, so check the
8046 1.1 jruoho current options list by invoking the compiler with no parameters.
8047 1.1 jruoho
8048 1.1 jruoho Completed the design and implementation of the ASL namepath
8049 1.1 jruoho optimization option for the compiler. This option optimizes all
8050 1.1 jruoho references to named objects to the shortest possible path. The
8051 1.1 jruoho first attempt tries to utilize a single nameseg (4 characters) and
8052 1.1 jruoho the "search-to-root" algorithm used by the interpreter. If that
8053 1.1 jruoho cannot be used (because either the name is not in the search path
8054 1.1 jruoho or there is a conflict with another object with the same name),
8055 1.1 jruoho the pathname is optimized using the carat prefix (usually a
8056 1.1 jruoho shorter string than specifying the entire path from the root.)
8057 1.1 jruoho
8058 1.1 jruoho Implemented support to obtain the DSDT from the Windows registry
8059 1.1 jruoho (when the disassembly option is specified with no input file).
8060 1.1 jruoho Added this code as the implementation for AcpiOsTableOverride in
8061 1.1 jruoho the Windows OSL. Migrated the 16-bit code (used in the AcpiDump
8062 1.1 jruoho utility) to scan memory for the DSDT to the AcpiOsTableOverride
8063 1.1 jruoho function in the DOS OSL to make the disassembler truly OS
8064 1.1 jruoho independent.
8065 1.1 jruoho
8066 1.1 jruoho Implemented a new option to disassemble and compile in one step.
8067 1.1 jruoho When used without an input filename, this option will grab the
8068 1.1 jruoho DSDT from the local machine, disassemble it, and compile it in one
8069 1.1 jruoho step.
8070 1.1 jruoho
8071 1.1 jruoho Added a warning message for invalid escapes (a backslash followed
8072 1.1 jruoho by any character other than the allowable escapes). This catches
8073 1.1 jruoho the quoted string error "\_SB_" (which should be "\\_SB_" ).
8074 1.1 jruoho
8075 1.1 jruoho Also, there are numerous instances in the ACPI specification where
8076 1.1 jruoho this error occurs.
8077 1.1 jruoho
8078 1.1 jruoho Added a compiler option to disable all optimizations. This is
8079 1.1 jruoho basically the "compatibility mode" because by using this option,
8080 1.1 jruoho the AML code will come out exactly the same as other ASL
8081 1.1 jruoho compilers.
8082 1.1 jruoho
8083 1.1 jruoho Added error messages for incorrectly ordered dependent resource
8084 1.1 jruoho functions. This includes: missing EndDependentFn macro at end of
8085 1.1 jruoho dependent resource list, nested dependent function macros (both
8086 1.1 jruoho start and end), and missing StartDependentFn macro. These are
8087 1.1 jruoho common errors that should be caught at compile time.
8088 1.1 jruoho
8089 1.1 jruoho Implemented _OSI support for the disassembler and compiler. _OSI
8090 1.1 jruoho must be included in the namespace for proper disassembly (because
8091 1.1 jruoho the disassembler must know the number of arguments.)
8092 1.1 jruoho
8093 1.1 jruoho Added an "optimization" message type that is optional (off by
8094 1.1 jruoho default). This message is used for all optimizations - including
8095 1.1 jruoho constant folding, integer optimization, and namepath optimization.
8096 1.1 jruoho
8097 1.1 jruoho ----------------------------------------
8098 1.1 jruoho 25 July 2002. Summary of changes for this release.
8099 1.1 jruoho
8100 1.1 jruoho
8101 1.1 jruoho 1) ACPI CA Core Subsystem Version 20020725:
8102 1.1 jruoho
8103 1.1 jruoho The AML Disassembler has been enhanced to produce compilable ASL
8104 1.1 jruoho code and has been integrated into the iASL compiler (see below) as
8105 1.1 jruoho well as the single-step disassembly for the AML debugger and the
8106 1.1 jruoho disassembler for the AcpiDump utility. All ACPI 2.0A opcodes,
8107 1.1 jruoho resource templates and macros are fully supported. The
8108 1.1 jruoho disassembler has been tested on over 30 different AML files,
8109 1.1 jruoho producing identical AML when the resulting disassembled ASL file
8110 1.1 jruoho is recompiled with the same ASL compiler.
8111 1.1 jruoho
8112 1.1 jruoho Modified the Resource Manager to allow zero interrupts and zero
8113 1.1 jruoho dma channels during the GetCurrentResources call. This was
8114 1.1 jruoho causing problems on some platforms.
8115 1.1 jruoho
8116 1.1 jruoho Added the AcpiOsRedirectOutput interface to the OSL to simplify
8117 1.1 jruoho output redirection for the AcpiOsPrintf and AcpiOsVprintf
8118 1.1 jruoho interfaces.
8119 1.1 jruoho
8120 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
8121 1.1 jruoho below. These are the code and data sizes for the acpica.lib
8122 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
8123 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
8124 1.1 jruoho version of the code includes the debug output trace mechanism and
8125 1.1 jruoho has a larger code and data size. Note that these values will vary
8126 1.1 jruoho depending on the efficiency of the compiler and the compiler
8127 1.1 jruoho options used during generation.
8128 1.1 jruoho
8129 1.1 jruoho Previous Release
8130 1.1 jruoho Non-Debug Version: 68.7K Code, 7.4K Data, 76.1K Total
8131 1.1 jruoho Debug Version: 142.9K Code, 58.7K Data, 201.6K Total
8132 1.1 jruoho Current Release:
8133 1.1 jruoho Non-Debug Version: 69.1K Code, 8.2K Data, 77.3K Total
8134 1.1 jruoho Debug Version: 149.4K Code, 61.6K Data, 211.0K Total
8135 1.1 jruoho
8136 1.1 jruoho
8137 1.1 jruoho 2) Linux
8138 1.1 jruoho
8139 1.1 jruoho Fixed a panic in the EC driver (Dominik Brodowski)
8140 1.1 jruoho
8141 1.1 jruoho Implemented checksum of the R/XSDT itself during Linux table scan
8142 1.1 jruoho (Richard Schaal)
8143 1.1 jruoho
8144 1.1 jruoho
8145 1.1 jruoho 3) iASL compiler
8146 1.1 jruoho
8147 1.1 jruoho The AML disassembler is integrated into the compiler. The "-d"
8148 1.1 jruoho option invokes the disassembler to completely disassemble an
8149 1.1 jruoho input AML file, producing as output a text ASL file with the
8150 1.1 jruoho extension ".dsl" (to avoid name collisions with existing .asl
8151 1.1 jruoho source files.) A future enhancement will allow the disassembler
8152 1.1 jruoho to obtain the BIOS DSDT from the registry under Windows.
8153 1.1 jruoho
8154 1.1 jruoho Fixed a problem with the VendorShort and VendorLong resource
8155 1.1 jruoho descriptors where an invalid AML sequence was created.
8156 1.1 jruoho
8157 1.1 jruoho Implemented a fix for BufferData term in the ASL parser. It was
8158 1.1 jruoho inadvertently defined twice, allowing invalid syntax to pass and
8159 1.1 jruoho causing reduction conflicts.
8160 1.1 jruoho
8161 1.1 jruoho Fixed a problem where the Ones opcode could get converted to a
8162 1.1 jruoho value of zero if "Ones" was used where a byte, word or dword value
8163 1.1 jruoho was expected. The 64-bit value is now truncated to the correct
8164 1.1 jruoho size with the correct value.
8165 1.1 jruoho
8166 1.1 jruoho
8167 1.1 jruoho
8168 1.1 jruoho ----------------------------------------
8169 1.1 jruoho 02 July 2002. Summary of changes for this release.
8170 1.1 jruoho
8171 1.1 jruoho
8172 1.1 jruoho 1) ACPI CA Core Subsystem Version 20020702:
8173 1.1 jruoho
8174 1.1 jruoho The Table Manager code has been restructured to add several new
8175 1.1 jruoho features. Tables that are not required by the core subsystem
8176 1.1 jruoho (other than the FADT, DSDT, FACS, PSDTs, etc.) are no longer
8177 1.1 jruoho validated in any way and are returned from AcpiGetFirmwareTable if
8178 1.1 jruoho requested. The AcpiOsTableOverride interface is now called for
8179 1.1 jruoho each table that is loaded by the subsystem in order to allow the
8180 1.1 jruoho host to override any table it chooses. Previously, only the DSDT
8181 1.1 jruoho could be overridden. Added one new files, tbrsdt.c and
8182 1.1 jruoho tbgetall.c.
8183 1.1 jruoho
8184 1.1 jruoho Fixed a problem with the conversion of internal package objects to
8185 1.1 jruoho external objects (when a package is returned from a control
8186 1.1 jruoho method.) The return buffer length was set to zero instead of the
8187 1.1 jruoho proper length of the package object.
8188 1.1 jruoho
8189 1.1 jruoho Fixed a reported problem with the use of the RefOf and DeRefOf
8190 1.1 jruoho operators when passing reference arguments to control methods. A
8191 1.1 jruoho new type of Reference object is used internally for references
8192 1.1 jruoho produced by the RefOf operator.
8193 1.1 jruoho
8194 1.1 jruoho Added additional error messages in the Resource Manager to explain
8195 1.1 jruoho AE_BAD_DATA errors when they occur during resource parsing.
8196 1.1 jruoho
8197 1.1 jruoho Split the AcpiEnableSubsystem into two primitives to enable a
8198 1.1 jruoho finer granularity initialization sequence. These two calls should
8199 1.1 jruoho be called in this order: AcpiEnableSubsystem (flags),
8200 1.1 jruoho AcpiInitializeObjects (flags). The flags parameter remains the
8201 1.1 jruoho same.
8202 1.1 jruoho
8203 1.1 jruoho
8204 1.1 jruoho 2) Linux
8205 1.1 jruoho
8206 1.1 jruoho Updated the ACPI utilities module to understand the new style of
8207 1.1 jruoho fully resolved package objects that are now returned from the core
8208 1.1 jruoho subsystem. This eliminates errors of the form:
8209 1.1 jruoho
8210 1.1 jruoho ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PPB_._PRT]
8211 1.1 jruoho acpi_utils-0430 [145] acpi_evaluate_reference:
8212 1.1 jruoho Invalid element in package (not a device reference)
8213 1.1 jruoho
8214 1.1 jruoho The method evaluation utility uses the new buffer allocation
8215 1.1 jruoho scheme instead of calling AcpiEvaluate Object twice.
8216 1.1 jruoho
8217 1.1 jruoho Added support for ECDT. This allows the use of the Embedded
8218 1.1 jruoho
8219 1.1 jruoho Controller before the namespace has been fully initialized, which
8220 1.1 jruoho is necessary for ACPI 2.0 support, and for some laptops to
8221 1.1 jruoho initialize properly. (Laptops using ECDT are still rare, so only
8222 1.1 jruoho limited testing was performed of the added functionality.)
8223 1.1 jruoho
8224 1.1 jruoho Fixed memory leaks in the EC driver.
8225 1.1 jruoho
8226 1.1 jruoho Eliminated a brittle code structure in acpi_bus_init().
8227 1.1 jruoho
8228 1.1 jruoho Eliminated the acpi_evaluate() helper function in utils.c. It is
8229 1.1 jruoho no longer needed since acpi_evaluate_object can optionally
8230 1.1 jruoho allocate memory for the return object.
8231 1.1 jruoho
8232 1.1 jruoho Implemented fix for keyboard hang when getting battery readings on
8233 1.1 jruoho some systems (Stephen White)
8234 1.1 jruoho
8235 1.1 jruoho PCI IRQ routing update (Dominik Brodowski)
8236 1.1 jruoho
8237 1.1 jruoho Fix an ifdef to allow compilation on UP with LAPIC but no IOAPIC
8238 1.1 jruoho support
8239 1.1 jruoho
8240 1.1 jruoho ----------------------------------------
8241 1.1 jruoho 11 June 2002. Summary of changes for this release.
8242 1.1 jruoho
8243 1.1 jruoho
8244 1.1 jruoho 1) ACPI CA Core Subsystem Version 20020611:
8245 1.1 jruoho
8246 1.1 jruoho Fixed a reported problem where constants such as Zero and One
8247 1.1 jruoho appearing within _PRT packages were not handled correctly within
8248 1.1 jruoho the resource manager code. Originally reported against the ASL
8249 1.1 jruoho compiler because the code generator now optimizes integers to
8250 1.1 jruoho their minimal AML representation (i.e. AML constants if possible.)
8251 1.1 jruoho The _PRT code now handles all AML constant opcodes correctly
8252 1.1 jruoho (Zero, One, Ones, Revision).
8253 1.1 jruoho
8254 1.1 jruoho Fixed a problem with the Concatenate operator in the AML
8255 1.1 jruoho interpreter where a buffer result object was incorrectly marked as
8256 1.1 jruoho not fully evaluated, causing a run-time error of AE_AML_INTERNAL.
8257 1.1 jruoho
8258 1.1 jruoho All package sub-objects are now fully resolved before they are
8259 1.1 jruoho returned from the external ACPI interfaces. This means that name
8260 1.1 jruoho strings are resolved to object handles, and constant operators
8261 1.1 jruoho (Zero, One, Ones, Revision) are resolved to Integers.
8262 1.1 jruoho
8263 1.1 jruoho Implemented immediate resolution of the AML Constant opcodes
8264 1.1 jruoho (Zero, One, Ones, Revision) to Integer objects upon detection
8265 1.1 jruoho within the AML stream. This has simplified and reduced the
8266 1.1 jruoho generated code size of the subsystem by eliminating about 10
8267 1.1 jruoho switch statements for these constants (which previously were
8268 1.1 jruoho contained in Reference objects.) The complicating issues are that
8269 1.1 jruoho the Zero opcode is used as a "placeholder" for unspecified
8270 1.1 jruoho optional target operands and stores to constants are defined to be
8271 1.1 jruoho no-ops.
8272 1.1 jruoho
8273 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
8274 1.1 jruoho below. These are the code and data sizes for the acpica.lib
8275 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
8276 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
8277 1.1 jruoho version of the code includes the debug output trace mechanism and
8278 1.1 jruoho has a larger code and data size. Note that these values will vary
8279 1.1 jruoho depending on the efficiency of the compiler and the compiler
8280 1.1 jruoho options used during generation.
8281 1.1 jruoho
8282 1.1 jruoho Previous Release
8283 1.1 jruoho Non-Debug Version: 69.3K Code, 7.4K Data, 76.7K Total
8284 1.1 jruoho Debug Version: 143.8K Code, 58.8K Data, 202.6K Total
8285 1.1 jruoho Current Release:
8286 1.1 jruoho Non-Debug Version: 68.7K Code, 7.4K Data, 76.1K Total
8287 1.1 jruoho Debug Version: 142.9K Code, 58.7K Data, 201.6K Total
8288 1.1 jruoho
8289 1.1 jruoho
8290 1.1 jruoho 2) Linux
8291 1.1 jruoho
8292 1.1 jruoho
8293 1.1 jruoho Added preliminary support for obtaining _TRA data for PCI root
8294 1.1 jruoho bridges (Bjorn Helgaas).
8295 1.1 jruoho
8296 1.1 jruoho
8297 1.1 jruoho 3) iASL Compiler Version X2046:
8298 1.1 jruoho
8299 1.1 jruoho Fixed a problem where the "_DDN" reserved name was defined to be a
8300 1.1 jruoho control method with one argument. There are no arguments, and
8301 1.1 jruoho _DDN does not have to be a control method.
8302 1.1 jruoho
8303 1.1 jruoho Fixed a problem with the Linux version of the compiler where the
8304 1.1 jruoho source lines printed with error messages were the wrong lines.
8305 1.1 jruoho This turned out to be the "LF versus CR/LF" difference between
8306 1.1 jruoho Windows and Unix. This appears to be the longstanding issue
8307 1.1 jruoho concerning listing output and error messages.
8308 1.1 jruoho
8309 1.1 jruoho Fixed a problem with the Linux version of compiler where opcode
8310 1.1 jruoho names within error messages were wrong. This was caused by a
8311 1.1 jruoho slight difference in the output of the Flex tool on Linux versus
8312 1.1 jruoho Windows.
8313 1.1 jruoho
8314 1.1 jruoho Fixed a problem with the Linux compiler where the hex output files
8315 1.1 jruoho contained some garbage data caused by an internal buffer overrun.
8316 1.1 jruoho
8317 1.1 jruoho
8318 1.1 jruoho ----------------------------------------
8319 1.1 jruoho 17 May 2002. Summary of changes for this release.
8320 1.1 jruoho
8321 1.1 jruoho
8322 1.1 jruoho 1) ACPI CA Core Subsystem Version 20020517:
8323 1.1 jruoho
8324 1.1 jruoho Implemented a workaround to an BIOS bug discovered on the HP
8325 1.1 jruoho OmniBook where the FADT revision number and the table size are
8326 1.1 jruoho inconsistent (ACPI 2.0 revision vs. ACPI 1.0 table size). The new
8327 1.1 jruoho behavior is to fallback to using only the ACPI 1.0 fields of the
8328 1.1 jruoho FADT if the table is too small to be a ACPI 2.0 table as claimed
8329 1.1 jruoho by the revision number. Although this is a BIOS bug, this is a
8330 1.1 jruoho case where the workaround is simple enough and with no side
8331 1.1 jruoho effects, so it seemed prudent to add it. A warning message is
8332 1.1 jruoho issued, however.
8333 1.1 jruoho
8334 1.1 jruoho Implemented minimum size checks for the fixed-length ACPI tables -
8335 1.1 jruoho - the FADT and FACS, as well as consistency checks between the
8336 1.1 jruoho revision number and the table size.
8337 1.1 jruoho
8338 1.1 jruoho Fixed a reported problem in the table override support where the
8339 1.1 jruoho new table pointer was incorrectly treated as a physical address
8340 1.1 jruoho instead of a logical address.
8341 1.1 jruoho
8342 1.1 jruoho Eliminated the use of the AE_AML_ERROR exception and replaced it
8343 1.1 jruoho with more descriptive codes.
8344 1.1 jruoho
8345 1.1 jruoho Fixed a problem where an exception would occur if an ASL Field was
8346 1.1 jruoho defined with no named Field Units underneath it (used by some
8347 1.1 jruoho index fields).
8348 1.1 jruoho
8349 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
8350 1.1 jruoho below. These are the code and data sizes for the acpica.lib
8351 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
8352 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
8353 1.1 jruoho version of the code includes the debug output trace mechanism and
8354 1.1 jruoho has a larger code and data size. Note that these values will vary
8355 1.1 jruoho depending on the efficiency of the compiler and the compiler
8356 1.1 jruoho options used during generation.
8357 1.1 jruoho
8358 1.1 jruoho Previous Release
8359 1.1 jruoho Non-Debug Version: 68.8K Code, 7.1K Data, 75.9K Total
8360 1.1 jruoho Debug Version: 142.9K Code, 58.4K Data, 201.3K Total
8361 1.1 jruoho Current Release:
8362 1.1 jruoho Non-Debug Version: 69.3K Code, 7.4K Data, 76.7K Total
8363 1.1 jruoho Debug Version: 143.8K Code, 58.8K Data, 202.6K Total
8364 1.1 jruoho
8365 1.1 jruoho
8366 1.1 jruoho
8367 1.1 jruoho 2) Linux
8368 1.1 jruoho
8369 1.1 jruoho Much work done on ACPI init (MADT and PCI IRQ routing support).
8370 1.1 jruoho (Paul D. and Dominik Brodowski)
8371 1.1 jruoho
8372 1.1 jruoho Fix PCI IRQ-related panic on boot (Sam Revitch)
8373 1.1 jruoho
8374 1.1 jruoho Set BM_ARB_DIS when entering a sleep state (Ducrot Bruno)
8375 1.1 jruoho
8376 1.1 jruoho Fix "MHz" typo (Dominik Brodowski)
8377 1.1 jruoho
8378 1.1 jruoho Fix RTC year 2000 issue (Dominik Brodowski)
8379 1.1 jruoho
8380 1.1 jruoho Preclude multiple button proc entries (Eric Brunet)
8381 1.1 jruoho
8382 1.1 jruoho Moved arch-specific code out of include/platform/aclinux.h
8383 1.1 jruoho
8384 1.1 jruoho 3) iASL Compiler Version X2044:
8385 1.1 jruoho
8386 1.1 jruoho Implemented error checking for the string used in the EISAID macro
8387 1.1 jruoho (Usually used in the definition of the _HID object.) The code now
8388 1.1 jruoho strictly enforces the PnP format - exactly 7 characters, 3
8389 1.1 jruoho uppercase letters and 4 hex digits.
8390 1.1 jruoho
8391 1.1 jruoho If a raw string is used in the definition of the _HID object
8392 1.1 jruoho (instead of the EISAID macro), the string must contain all
8393 1.1 jruoho alphanumeric characters (e.g., "*PNP0011" is not allowed because
8394 1.1 jruoho of the asterisk.)
8395 1.1 jruoho
8396 1.1 jruoho Implemented checking for invalid use of ACPI reserved names for
8397 1.1 jruoho most of the name creation operators (Name, Device, Event, Mutex,
8398 1.1 jruoho OperationRegion, PowerResource, Processor, and ThermalZone.)
8399 1.1 jruoho Previously, this check was only performed for control methods.
8400 1.1 jruoho
8401 1.1 jruoho Implemented an additional check on the Name operator to emit an
8402 1.1 jruoho error if a reserved name that must be implemented in ASL as a
8403 1.1 jruoho control method is used. We know that a reserved name must be a
8404 1.1 jruoho method if it is defined with input arguments.
8405 1.1 jruoho
8406 1.1 jruoho The warning emitted when a namespace object reference is not found
8407 1.1 jruoho during the cross reference phase has been changed into an error.
8408 1.1 jruoho The "External" directive should be used for names defined in other
8409 1.1 jruoho modules.
8410 1.1 jruoho
8411 1.1 jruoho
8412 1.1 jruoho 4) Tools and Utilities
8413 1.1 jruoho
8414 1.1 jruoho The 16-bit tools (adump16 and aexec16) have been regenerated and
8415 1.1 jruoho tested.
8416 1.1 jruoho
8417 1.1 jruoho Fixed a problem with the output of both acpidump and adump16 where
8418 1.1 jruoho the indentation of closing parentheses and brackets was not
8419 1.1 jruoho
8420 1.1 jruoho aligned properly with the parent block.
8421 1.1 jruoho
8422 1.1 jruoho
8423 1.1 jruoho ----------------------------------------
8424 1.1 jruoho 03 May 2002. Summary of changes for this release.
8425 1.1 jruoho
8426 1.1 jruoho
8427 1.1 jruoho 1) ACPI CA Core Subsystem Version 20020503:
8428 1.1 jruoho
8429 1.1 jruoho Added support a new OSL interface that allows the host operating
8430 1.1 jruoho
8431 1.1 jruoho system software to override the DSDT found in the firmware -
8432 1.1 jruoho AcpiOsTableOverride. With this interface, the OSL can examine the
8433 1.1 jruoho version of the firmware DSDT and replace it with a different one
8434 1.1 jruoho if desired.
8435 1.1 jruoho
8436 1.1 jruoho Added new external interfaces for accessing ACPI registers from
8437 1.1 jruoho device drivers and other system software - AcpiGetRegister and
8438 1.1 jruoho AcpiSetRegister. This was simply an externalization of the
8439 1.1 jruoho existing AcpiHwBitRegister interfaces.
8440 1.1 jruoho
8441 1.1 jruoho Fixed a regression introduced in the previous build where the
8442 1.1 jruoho ASL/AML CreateField operator always returned an error,
8443 1.1 jruoho "destination must be a NS Node".
8444 1.1 jruoho
8445 1.1 jruoho Extended the maximum time (before failure) to successfully enable
8446 1.1 jruoho ACPI mode to 3 seconds.
8447 1.1 jruoho
8448 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
8449 1.1 jruoho below. These are the code and data sizes for the acpica.lib
8450 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
8451 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
8452 1.1 jruoho version of the code includes the debug output trace mechanism and
8453 1.1 jruoho has a larger code and data size. Note that these values will vary
8454 1.1 jruoho depending on the efficiency of the compiler and the compiler
8455 1.1 jruoho options used during generation.
8456 1.1 jruoho
8457 1.1 jruoho Previous Release
8458 1.1 jruoho Non-Debug Version: 68.5K Code, 7.0K Data, 75.5K Total
8459 1.1 jruoho Debug Version: 142.4K Code, 58.3K Data, 200.7K Total
8460 1.1 jruoho Current Release:
8461 1.1 jruoho Non-Debug Version: 68.8K Code, 7.1K Data, 75.9K Total
8462 1.1 jruoho Debug Version: 142.9K Code, 58.4K Data, 201.3K Total
8463 1.1 jruoho
8464 1.1 jruoho
8465 1.1 jruoho 2) Linux
8466 1.1 jruoho
8467 1.1 jruoho Enhanced ACPI init code for SMP. We are now fully MPS and $PIR-
8468 1.1 jruoho free. While 3 out of 4 of our in-house systems work fine, the last
8469 1.1 jruoho one still hangs when testing the LAPIC timer.
8470 1.1 jruoho
8471 1.1 jruoho Renamed many files in 2.5 kernel release to omit "acpi_" from the
8472 1.1 jruoho name.
8473 1.1 jruoho
8474 1.1 jruoho Added warning on boot for Presario 711FR.
8475 1.1 jruoho
8476 1.1 jruoho Sleep improvements (Pavel Machek)
8477 1.1 jruoho
8478 1.1 jruoho ACPI can now be built without CONFIG_PCI enabled.
8479 1.1 jruoho
8480 1.1 jruoho IA64: Fixed memory map functions (JI Lee)
8481 1.1 jruoho
8482 1.1 jruoho
8483 1.1 jruoho 3) iASL Compiler Version X2043:
8484 1.1 jruoho
8485 1.1 jruoho Added support to allow the compiler to be integrated into the MS
8486 1.1 jruoho VC++ development environment for one-button compilation of single
8487 1.1 jruoho files or entire projects -- with error-to-source-line mapping.
8488 1.1 jruoho
8489 1.1 jruoho Implemented support for compile-time constant folding for the
8490 1.1 jruoho Type3, Type4, and Type5 opcodes first defined in the ACPI 2.0
8491 1.1 jruoho specification. This allows the ASL writer to use expressions
8492 1.1 jruoho instead of Integer/Buffer/String constants in terms that must
8493 1.1 jruoho evaluate to constants at compile time and will also simplify the
8494 1.1 jruoho emitted AML in any such sub-expressions that can be folded
8495 1.1 jruoho (evaluated at compile-time.) This increases the size of the
8496 1.1 jruoho compiler significantly because a portion of the ACPI CA AML
8497 1.1 jruoho interpreter is included within the compiler in order to pre-
8498 1.1 jruoho evaluate constant expressions.
8499 1.1 jruoho
8500 1.1 jruoho
8501 1.1 jruoho Fixed a problem with the "Unicode" ASL macro that caused the
8502 1.1 jruoho compiler to fault. (This macro is used in conjunction with the
8503 1.1 jruoho _STR reserved name.)
8504 1.1 jruoho
8505 1.1 jruoho Implemented an AML opcode optimization to use the Zero, One, and
8506 1.1 jruoho Ones opcodes where possible to further reduce the size of integer
8507 1.1 jruoho constants and thus reduce the overall size of the generated AML
8508 1.1 jruoho code.
8509 1.1 jruoho
8510 1.1 jruoho Implemented error checking for new reserved terms for ACPI version
8511 1.1 jruoho 2.0A.
8512 1.1 jruoho
8513 1.1 jruoho Implemented the -qr option to display the current list of ACPI
8514 1.1 jruoho reserved names known to the compiler.
8515 1.1 jruoho
8516 1.1 jruoho Implemented the -qc option to display the current list of ASL
8517 1.1 jruoho operators that are allowed within constant expressions and can
8518 1.1 jruoho therefore be folded at compile time if the operands are constants.
8519 1.1 jruoho
8520 1.1 jruoho
8521 1.1 jruoho 4) Documentation
8522 1.1 jruoho
8523 1.1 jruoho Updated the Programmer's Reference for new interfaces, data types,
8524 1.1 jruoho and memory allocation model options.
8525 1.1 jruoho
8526 1.1 jruoho Updated the iASL Compiler User Reference to apply new format and
8527 1.1 jruoho add information about new features and options.
8528 1.1 jruoho
8529 1.1 jruoho ----------------------------------------
8530 1.1 jruoho 19 April 2002. Summary of changes for this release.
8531 1.1 jruoho
8532 1.1 jruoho 1) ACPI CA Core Subsystem Version 20020419:
8533 1.1 jruoho
8534 1.1 jruoho The source code base for the Core Subsystem has been completely
8535 1.1 jruoho cleaned with PC-lint (FlexLint) for both 32-bit and 64-bit
8536 1.1 jruoho versions. The Lint option files used are included in the
8537 1.1 jruoho /acpi/generate/lint directory.
8538 1.1 jruoho
8539 1.1 jruoho Implemented enhanced status/error checking across the entire
8540 1.1 jruoho Hardware manager subsystem. Any hardware errors (reported from
8541 1.1 jruoho the OSL) are now bubbled up and will abort a running control
8542 1.1 jruoho method.
8543 1.1 jruoho
8544 1.1 jruoho
8545 1.1 jruoho Fixed a problem where the per-ACPI-table integer width (32 or 64)
8546 1.1 jruoho was stored only with control method nodes, causing a fault when
8547 1.1 jruoho non-control method code was executed during table loading. The
8548 1.1 jruoho solution implemented uses a global variable to indicate table
8549 1.1 jruoho width across the entire ACPI subsystem. Therefore, ACPI CA does
8550 1.1 jruoho not support mixed integer widths across different ACPI tables
8551 1.1 jruoho (DSDT, SSDT).
8552 1.1 jruoho
8553 1.1 jruoho Fixed a problem where NULL extended fields (X fields) in an ACPI
8554 1.1 jruoho 2.0 ACPI FADT caused the table load to fail. Although the
8555 1.1 jruoho existing ACPI specification is a bit fuzzy on this topic, the new
8556 1.1 jruoho behavior is to fall back on a ACPI 1.0 field if the corresponding
8557 1.1 jruoho ACPI 2.0 X field is zero (even though the table revision indicates
8558 1.1 jruoho a full ACPI 2.0 table.) The ACPI specification will be updated to
8559 1.1 jruoho clarify this issue.
8560 1.1 jruoho
8561 1.1 jruoho Fixed a problem with the SystemMemory operation region handler
8562 1.1 jruoho where memory was always accessed byte-wise even if the AML-
8563 1.1 jruoho specified access width was larger than a byte. This caused
8564 1.1 jruoho problems on systems with memory-mapped I/O. Memory is now
8565 1.1 jruoho accessed with the width specified. On systems that do not support
8566 1.1 jruoho non-aligned transfers, a check is made to guarantee proper address
8567 1.1 jruoho alignment before proceeding in order to avoid an AML-caused
8568 1.1 jruoho alignment fault within the kernel.
8569 1.1 jruoho
8570 1.1 jruoho
8571 1.1 jruoho Fixed a problem with the ExtendedIrq resource where only one byte
8572 1.1 jruoho of the 4-byte Irq field was extracted.
8573 1.1 jruoho
8574 1.1 jruoho Fixed the AcpiExDigitsNeeded() procedure to support _UID. This
8575 1.1 jruoho function was out of date and required a rewrite.
8576 1.1 jruoho
8577 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
8578 1.1 jruoho below. These are the code and data sizes for the acpica.lib
8579 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
8580 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
8581 1.1 jruoho version of the code includes the debug output trace mechanism and
8582 1.1 jruoho has a larger code and data size. Note that these values will vary
8583 1.1 jruoho depending on the efficiency of the compiler and the compiler
8584 1.1 jruoho options used during generation.
8585 1.1 jruoho
8586 1.1 jruoho Previous Release
8587 1.1 jruoho Non-Debug Version: 66.6K Code, 6.5K Data, 73.1K Total
8588 1.1 jruoho Debug Version: 139.8K Code, 57.4K Data, 197.2K Total
8589 1.1 jruoho Current Release:
8590 1.1 jruoho Non-Debug Version: 68.5K Code, 7.0K Data, 75.5K Total
8591 1.1 jruoho Debug Version: 142.4K Code, 58.3K Data, 200.7K Total
8592 1.1 jruoho
8593 1.1 jruoho
8594 1.1 jruoho 2) Linux
8595 1.1 jruoho
8596 1.1 jruoho PCI IRQ routing fixes (Dominik Brodowski)
8597 1.1 jruoho
8598 1.1 jruoho
8599 1.1 jruoho 3) iASL Compiler Version X2042:
8600 1.1 jruoho
8601 1.1 jruoho Implemented an additional compile-time error check for a field
8602 1.1 jruoho unit whose size + minimum access width would cause a run-time
8603 1.1 jruoho access beyond the end-of-region. Previously, only the field size
8604 1.1 jruoho itself was checked.
8605 1.1 jruoho
8606 1.1 jruoho The Core subsystem and iASL compiler now share a common parse
8607 1.1 jruoho object in preparation for compile-time evaluation of the type
8608 1.1 jruoho 3/4/5 ASL operators.
8609 1.1 jruoho
8610 1.1 jruoho
8611 1.1 jruoho ----------------------------------------
8612 1.1 jruoho Summary of changes for this release: 03_29_02
8613 1.1 jruoho
8614 1.1 jruoho 1) ACPI CA Core Subsystem Version 20020329:
8615 1.1 jruoho
8616 1.1 jruoho Implemented support for late evaluation of TermArg operands to
8617 1.1 jruoho Buffer and Package objects. This allows complex expressions to be
8618 1.1 jruoho used in the declarations of these object types.
8619 1.1 jruoho
8620 1.1 jruoho Fixed an ACPI 1.0 compatibility issue when reading Fields. In ACPI
8621 1.1 jruoho 1.0, if the field was larger than 32 bits, it was returned as a
8622 1.1 jruoho buffer - otherwise it was returned as an integer. In ACPI 2.0,
8623 1.1 jruoho the field is returned as a buffer only if the field is larger than
8624 1.1 jruoho 64 bits. The TableRevision is now considered when making this
8625 1.1 jruoho conversion to avoid incompatibility with existing ASL code.
8626 1.1 jruoho
8627 1.1 jruoho Implemented logical addressing for AcpiOsGetRootPointer. This
8628 1.1 jruoho allows an RSDP with either a logical or physical address. With
8629 1.1 jruoho this support, the host OS can now override all ACPI tables with
8630 1.1 jruoho one logical RSDP. Includes implementation of "typed" pointer
8631 1.1 jruoho support to allow a common data type for both physical and logical
8632 1.1 jruoho pointers internally. This required a change to the
8633 1.1 jruoho AcpiOsGetRootPointer interface.
8634 1.1 jruoho
8635 1.1 jruoho Implemented the use of ACPI 2.0 Generic Address Structures for all
8636 1.1 jruoho GPE, Fixed Event, and PM Timer I/O. This allows the use of memory
8637 1.1 jruoho mapped I/O for these ACPI features.
8638 1.1 jruoho
8639 1.1 jruoho Initialization now ignores not only non-required tables (All
8640 1.1 jruoho tables other than the FADT, FACS, DSDT, and SSDTs), but also does
8641 1.1 jruoho not validate the table headers of unrecognized tables.
8642 1.1 jruoho
8643 1.1 jruoho Fixed a problem where a notify handler could only be
8644 1.1 jruoho installed/removed on an object of type Device. All "notify"
8645 1.1 jruoho
8646 1.1 jruoho objects are now supported -- Devices, Processor, Power, and
8647 1.1 jruoho Thermal.
8648 1.1 jruoho
8649 1.1 jruoho Removed most verbosity from the ACPI_DB_INFO debug level. Only
8650 1.1 jruoho critical information is returned when this debug level is enabled.
8651 1.1 jruoho
8652 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
8653 1.1 jruoho below. These are the code and data sizes for the acpica.lib
8654 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
8655 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
8656 1.1 jruoho version of the code includes the debug output trace mechanism and
8657 1.1 jruoho has a larger code and data size. Note that these values will vary
8658 1.1 jruoho depending on the efficiency of the compiler and the compiler
8659 1.1 jruoho options used during generation.
8660 1.1 jruoho
8661 1.1 jruoho Previous Release
8662 1.1 jruoho Non-Debug Version: 65.4K Code, 6.2K Data, 71.6K Total
8663 1.1 jruoho Debug Version: 138.0K Code, 56.6K Data, 194.6K Total
8664 1.1 jruoho Current Release:
8665 1.1 jruoho Non-Debug Version: 66.6K Code, 6.5K Data, 73.1K Total
8666 1.1 jruoho Debug Version: 139.8K Code, 57.4K Data, 197.2K Total
8667 1.1 jruoho
8668 1.1 jruoho
8669 1.1 jruoho 2) Linux:
8670 1.1 jruoho
8671 1.1 jruoho The processor driver (acpi_processor.c) now fully supports ACPI
8672 1.1 jruoho 2.0-based processor performance control (e.g. Intel(R)
8673 1.1 jruoho SpeedStep(TM) technology) Note that older laptops that only have
8674 1.1 jruoho the Intel "applet" interface are not supported through this. The
8675 1.1 jruoho 'limit' and 'performance' interface (/proc) are fully functional.
8676 1.1 jruoho [Note that basic policy for controlling performance state
8677 1.1 jruoho transitions will be included in the next version of ospmd.] The
8678 1.1 jruoho idle handler was modified to more aggressively use C2, and PIIX4
8679 1.1 jruoho errata handling underwent a complete overhaul (big thanks to
8680 1.1 jruoho Dominik Brodowski).
8681 1.1 jruoho
8682 1.1 jruoho Added support for ACPI-PCI device binding (acpi_pci_root.c). _ADR-
8683 1.1 jruoho based devices in the ACPI namespace are now dynamically bound
8684 1.1 jruoho (associated) with their PCI counterparts (e.g. PCI1->01:00.0).
8685 1.1 jruoho This allows, among other things, ACPI to resolve bus numbers for
8686 1.1 jruoho subordinate PCI bridges.
8687 1.1 jruoho
8688 1.1 jruoho Enhanced PCI IRQ routing to get the proper bus number for _PRT
8689 1.1 jruoho entries defined underneath PCI bridges.
8690 1.1 jruoho
8691 1.1 jruoho Added IBM 600E to bad bios list due to invalid _ADR value for
8692 1.1 jruoho PIIX4 PCI-ISA bridge, resulting in improper PCI IRQ routing.
8693 1.1 jruoho
8694 1.1 jruoho In the process of adding full MADT support (e.g. IOAPIC) for IA32
8695 1.1 jruoho (acpi.c, mpparse.c) -- stay tuned.
8696 1.1 jruoho
8697 1.1 jruoho Added back visual differentiation between fixed-feature and
8698 1.1 jruoho control-method buttons in dmesg. Buttons are also subtyped (e.g.
8699 1.1 jruoho button/power/PWRF) to simplify button identification.
8700 1.1 jruoho
8701 1.1 jruoho We no longer use -Wno-unused when compiling debug. Please ignore
8702 1.1 jruoho any "_THIS_MODULE defined but not used" messages.
8703 1.1 jruoho
8704 1.1 jruoho Can now shut down the system using "magic sysrq" key.
8705 1.1 jruoho
8706 1.1 jruoho
8707 1.1 jruoho 3) iASL Compiler version 2041:
8708 1.1 jruoho
8709 1.1 jruoho Fixed a problem where conversion errors for hex/octal/decimal
8710 1.1 jruoho constants were not reported.
8711 1.1 jruoho
8712 1.1 jruoho Implemented a fix for the General Register template Address field.
8713 1.1 jruoho This field was 8 bits when it should be 64.
8714 1.1 jruoho
8715 1.1 jruoho Fixed a problem where errors/warnings were no longer being emitted
8716 1.1 jruoho within the listing output file.
8717 1.1 jruoho
8718 1.1 jruoho Implemented the ACPI 2.0A restriction on ACPI Table Signatures to
8719 1.1 jruoho exactly 4 characters, alphanumeric only.
8720 1.1 jruoho
8721 1.1 jruoho
8722 1.1 jruoho
8723 1.1 jruoho
8724 1.1 jruoho ----------------------------------------
8725 1.1 jruoho Summary of changes for this release: 03_08_02
8726 1.1 jruoho
8727 1.1 jruoho
8728 1.1 jruoho 1) ACPI CA Core Subsystem Version 20020308:
8729 1.1 jruoho
8730 1.1 jruoho Fixed a problem with AML Fields where the use of the "AccessAny"
8731 1.1 jruoho keyword could cause an interpreter error due to attempting to read
8732 1.1 jruoho or write beyond the end of the parent Operation Region.
8733 1.1 jruoho
8734 1.1 jruoho Fixed a problem in the SystemMemory Operation Region handler where
8735 1.1 jruoho an attempt was made to map memory beyond the end of the region.
8736 1.1 jruoho This was the root cause of the "AE_ERROR" and "AE_NO_MEMORY"
8737 1.1 jruoho errors on some Linux systems.
8738 1.1 jruoho
8739 1.1 jruoho Fixed a problem where the interpreter/namespace "search to root"
8740 1.1 jruoho algorithm was not functioning for some object types. Relaxed the
8741 1.1 jruoho internal restriction on the search to allow upsearches for all
8742 1.1 jruoho external object types as well as most internal types.
8743 1.1 jruoho
8744 1.1 jruoho
8745 1.1 jruoho 2) Linux:
8746 1.1 jruoho
8747 1.1 jruoho We now use safe_halt() macro versus individual calls to sti | hlt.
8748 1.1 jruoho
8749 1.1 jruoho Writing to the processor limit interface should now work. "echo 1"
8750 1.1 jruoho will increase the limit, 2 will decrease, and 0 will reset to the
8751 1.1 jruoho
8752 1.1 jruoho default.
8753 1.1 jruoho
8754 1.1 jruoho
8755 1.1 jruoho 3) ASL compiler:
8756 1.1 jruoho
8757 1.1 jruoho Fixed segfault on Linux version.
8758 1.1 jruoho
8759 1.1 jruoho
8760 1.1 jruoho ----------------------------------------
8761 1.1 jruoho Summary of changes for this release: 02_25_02
8762 1.1 jruoho
8763 1.1 jruoho 1) ACPI CA Core Subsystem:
8764 1.1 jruoho
8765 1.1 jruoho
8766 1.1 jruoho Fixed a problem where the GPE bit masks were not initialized
8767 1.1 jruoho properly, causing erratic GPE behavior.
8768 1.1 jruoho
8769 1.1 jruoho Implemented limited support for multiple calling conventions. The
8770 1.1 jruoho code can be generated with either the VPL (variable parameter
8771 1.1 jruoho list, or "C") convention, or the FPL (fixed parameter list, or
8772 1.1 jruoho "Pascal") convention. The core subsystem is about 3.4% smaller
8773 1.1 jruoho when generated with FPL.
8774 1.1 jruoho
8775 1.1 jruoho
8776 1.1 jruoho 2) Linux
8777 1.1 jruoho
8778 1.1 jruoho Re-add some /proc/acpi/event functionality that was lost during
8779 1.1 jruoho the rewrite
8780 1.1 jruoho
8781 1.1 jruoho Resolved issue with /proc events for fixed-feature buttons showing
8782 1.1 jruoho up as the system device.
8783 1.1 jruoho
8784 1.1 jruoho Fixed checks on C2/C3 latencies to be inclusive of maximum values.
8785 1.1 jruoho
8786 1.1 jruoho Replaced AE_ERRORs in acpi_osl.c with more specific error codes.
8787 1.1 jruoho
8788 1.1 jruoho Changed ACPI PRT option from "pci=noacpi-routing" to "pci=noacpi"
8789 1.1 jruoho
8790 1.1 jruoho Fixed limit interface & usage to fix bugs with passive cooling
8791 1.1 jruoho hysterisis.
8792 1.1 jruoho
8793 1.1 jruoho Restructured PRT support.
8794 1.1 jruoho
8795 1.1 jruoho
8796 1.1 jruoho ----------------------------------------
8797 1.1 jruoho Summary of changes for this label: 02_14_02
8798 1.1 jruoho
8799 1.1 jruoho
8800 1.1 jruoho 1) ACPI CA Core Subsystem:
8801 1.1 jruoho
8802 1.1 jruoho Implemented support in AcpiLoadTable to allow loading of FACS and
8803 1.1 jruoho FADT tables.
8804 1.1 jruoho
8805 1.1 jruoho Suport for the now-obsolete interim 0.71 64-bit ACPI tables has
8806 1.1 jruoho been removed. All 64-bit platforms should be migrated to the ACPI
8807 1.1 jruoho 2.0 tables. The actbl71.h header has been removed from the source
8808 1.1 jruoho tree.
8809 1.1 jruoho
8810 1.1 jruoho All C macros defined within the subsystem have been prefixed with
8811 1.1 jruoho "ACPI_" to avoid collision with other system include files.
8812 1.1 jruoho
8813 1.1 jruoho Removed the return value for the two AcpiOsPrint interfaces, since
8814 1.1 jruoho it is never used and causes lint warnings for ignoring the return
8815 1.1 jruoho value.
8816 1.1 jruoho
8817 1.1 jruoho Added error checking to all internal mutex acquire and release
8818 1.1 jruoho calls. Although a failure from one of these interfaces is
8819 1.1 jruoho probably a fatal system error, these checks will cause the
8820 1.1 jruoho immediate abort of the currently executing method or interface.
8821 1.1 jruoho
8822 1.1 jruoho Fixed a problem where the AcpiSetCurrentResources interface could
8823 1.1 jruoho fault. This was a side effect of the deployment of the new memory
8824 1.1 jruoho allocation model.
8825 1.1 jruoho
8826 1.1 jruoho Fixed a couple of problems with the Global Lock support introduced
8827 1.1 jruoho in the last major build. The "common" (1.0/2.0) internal FACS was
8828 1.1 jruoho being overwritten with the FACS signature and clobbering the
8829 1.1 jruoho Global Lock pointer. Also, the actual firmware FACS was being
8830 1.1 jruoho unmapped after construction of the "common" FACS, preventing
8831 1.1 jruoho access to the actual Global Lock field within it. The "common"
8832 1.1 jruoho internal FACS is no longer installed as an actual ACPI table; it
8833 1.1 jruoho is used simply as a global.
8834 1.1 jruoho
8835 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
8836 1.1 jruoho below. These are the code and data sizes for the acpica.lib
8837 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
8838 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
8839 1.1 jruoho version of the code includes the debug output trace mechanism and
8840 1.1 jruoho has a larger code and data size. Note that these values will vary
8841 1.1 jruoho depending on the efficiency of the compiler and the compiler
8842 1.1 jruoho options used during generation.
8843 1.1 jruoho
8844 1.1 jruoho Previous Release (02_07_01)
8845 1.1 jruoho Non-Debug Version: 65.2K Code, 6.2K Data, 71.4K Total
8846 1.1 jruoho Debug Version: 136.9K Code, 56.4K Data, 193.3K Total
8847 1.1 jruoho Current Release:
8848 1.1 jruoho Non-Debug Version: 65.4K Code, 6.2K Data, 71.6K Total
8849 1.1 jruoho Debug Version: 138.0K Code, 56.6K Data, 194.6K Total
8850 1.1 jruoho
8851 1.1 jruoho
8852 1.1 jruoho 2) Linux
8853 1.1 jruoho
8854 1.1 jruoho Updated Linux-specific code for core macro and OSL interface
8855 1.1 jruoho changes described above.
8856 1.1 jruoho
8857 1.1 jruoho Improved /proc/acpi/event. It now can be opened only once and has
8858 1.1 jruoho proper poll functionality.
8859 1.1 jruoho
8860 1.1 jruoho Fixed and restructured power management (acpi_bus).
8861 1.1 jruoho
8862 1.1 jruoho Only create /proc "view by type" when devices of that class exist.
8863 1.1 jruoho
8864 1.1 jruoho Fixed "charging/discharging" bug (and others) in acpi_battery.
8865 1.1 jruoho
8866 1.1 jruoho Improved thermal zone code.
8867 1.1 jruoho
8868 1.1 jruoho
8869 1.1 jruoho 3) ASL Compiler, version X2039:
8870 1.1 jruoho
8871 1.1 jruoho
8872 1.1 jruoho Implemented the new compiler restriction on ASL String hex/octal
8873 1.1 jruoho escapes to non-null, ASCII values. An error results if an invalid
8874 1.1 jruoho value is used. (This will require an ACPI 2.0 specification
8875 1.1 jruoho change.)
8876 1.1 jruoho
8877 1.1 jruoho AML object labels that are output to the optional C and ASM source
8878 1.1 jruoho are now prefixed with both the ACPI table signature and table ID
8879 1.1 jruoho to help guarantee uniqueness within a large BIOS project.
8880 1.1 jruoho
8881 1.1 jruoho
8882 1.1 jruoho ----------------------------------------
8883 1.1 jruoho Summary of changes for this label: 02_01_02
8884 1.1 jruoho
8885 1.1 jruoho 1) ACPI CA Core Subsystem:
8886 1.1 jruoho
8887 1.1 jruoho ACPI 2.0 support is complete in the entire Core Subsystem and the
8888 1.1 jruoho ASL compiler. All new ACPI 2.0 operators are implemented and all
8889 1.1 jruoho other changes for ACPI 2.0 support are complete. With
8890 1.1 jruoho simultaneous code and data optimizations throughout the subsystem,
8891 1.1 jruoho ACPI 2.0 support has been implemented with almost no additional
8892 1.1 jruoho cost in terms of code and data size.
8893 1.1 jruoho
8894 1.1 jruoho Implemented a new mechanism for allocation of return buffers. If
8895 1.1 jruoho the buffer length is set to ACPI_ALLOCATE_BUFFER, the buffer will
8896 1.1 jruoho be allocated on behalf of the caller. Consolidated all return
8897 1.1 jruoho buffer validation and allocation to a common procedure. Return
8898 1.1 jruoho buffers will be allocated via the primary OSL allocation interface
8899 1.1 jruoho since it appears that a separate pool is not needed by most users.
8900 1.1 jruoho If a separate pool is required for these buffers, the caller can
8901 1.1 jruoho still use the original mechanism and pre-allocate the buffer(s).
8902 1.1 jruoho
8903 1.1 jruoho Implemented support for string operands within the DerefOf
8904 1.1 jruoho operator.
8905 1.1 jruoho
8906 1.1 jruoho Restructured the Hardware and Event managers to be table driven,
8907 1.1 jruoho simplifying the source code and reducing the amount of generated
8908 1.1 jruoho code.
8909 1.1 jruoho
8910 1.1 jruoho Split the common read/write low-level ACPI register bitfield
8911 1.1 jruoho procedure into a separate read and write, simplifying the code
8912 1.1 jruoho considerably.
8913 1.1 jruoho
8914 1.1 jruoho Obsoleted the AcpiOsCallocate OSL interface. This interface was
8915 1.1 jruoho used only a handful of times and didn't have enough critical mass
8916 1.1 jruoho for a separate interface. Replaced with a common calloc procedure
8917 1.1 jruoho in the core.
8918 1.1 jruoho
8919 1.1 jruoho Fixed a reported problem with the GPE number mapping mechanism
8920 1.1 jruoho that allows GPE1 numbers to be non-contiguous with GPE0.
8921 1.1 jruoho Reorganized the GPE information and shrunk a large array that was
8922 1.1 jruoho originally large enough to hold info for all possible GPEs (256)
8923 1.1 jruoho to simply large enough to hold all GPEs up to the largest GPE
8924 1.1 jruoho number on the machine.
8925 1.1 jruoho
8926 1.1 jruoho Fixed a reported problem with resource structure alignment on 64-
8927 1.1 jruoho bit platforms.
8928 1.1 jruoho
8929 1.1 jruoho Changed the AcpiEnableEvent and AcpiDisableEvent external
8930 1.1 jruoho interfaces to not require any flags for the common case of
8931 1.1 jruoho enabling/disabling a GPE.
8932 1.1 jruoho
8933 1.1 jruoho Implemented support to allow a "Notify" on a Processor object.
8934 1.1 jruoho
8935 1.1 jruoho Most TBDs in comments within the source code have been resolved
8936 1.1 jruoho and eliminated.
8937 1.1 jruoho
8938 1.1 jruoho
8939 1.1 jruoho Fixed a problem in the interpreter where a standalone parent
8940 1.1 jruoho prefix (^) was not handled correctly in the interpreter and
8941 1.1 jruoho debugger.
8942 1.1 jruoho
8943 1.1 jruoho Removed obsolete and unnecessary GPE save/restore code.
8944 1.1 jruoho
8945 1.1 jruoho Implemented Field support in the ASL Load operator. This allows a
8946 1.1 jruoho table to be loaded from a named field, in addition to loading a
8947 1.1 jruoho table directly from an Operation Region.
8948 1.1 jruoho
8949 1.1 jruoho Implemented timeout and handle support in the external Global Lock
8950 1.1 jruoho interfaces.
8951 1.1 jruoho
8952 1.1 jruoho Fixed a problem in the AcpiDump utility where pathnames were no
8953 1.1 jruoho longer being generated correctly during the dump of named objects.
8954 1.1 jruoho
8955 1.1 jruoho Modified the AML debugger to give a full display of if/while
8956 1.1 jruoho predicates instead of just one AML opcode at a time. (The
8957 1.1 jruoho predicate can have several nested ASL statements.) The old method
8958 1.1 jruoho was confusing during single stepping.
8959 1.1 jruoho
8960 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
8961 1.1 jruoho below. These are the code and data sizes for the acpica.lib
8962 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
8963 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
8964 1.1 jruoho version of the code includes the debug output trace mechanism and
8965 1.1 jruoho has a larger code and data size. Note that these values will vary
8966 1.1 jruoho depending on the efficiency of the compiler and the compiler
8967 1.1 jruoho options used during generation.
8968 1.1 jruoho
8969 1.1 jruoho Previous Release (12_18_01)
8970 1.1 jruoho Non-Debug Version: 66.1K Code, 5.5K Data, 71.6K Total
8971 1.1 jruoho Debug Version: 138.3K Code, 55.9K Data, 194.2K Total
8972 1.1 jruoho Current Release:
8973 1.1 jruoho Non-Debug Version: 65.2K Code, 6.2K Data, 71.4K Total
8974 1.1 jruoho Debug Version: 136.9K Code, 56.4K Data, 193.3K Total
8975 1.1 jruoho
8976 1.1 jruoho 2) Linux
8977 1.1 jruoho
8978 1.1 jruoho Implemented fix for PIIX reverse throttling errata (Processor
8979 1.1 jruoho driver)
8980 1.1 jruoho
8981 1.1 jruoho Added new Limit interface (Processor and Thermal drivers)
8982 1.1 jruoho
8983 1.1 jruoho New thermal policy (Thermal driver)
8984 1.1 jruoho
8985 1.1 jruoho Many updates to /proc
8986 1.1 jruoho
8987 1.1 jruoho Battery "low" event support (Battery driver)
8988 1.1 jruoho
8989 1.1 jruoho Supports ACPI PCI IRQ routing (PCI Link and PCI root drivers)
8990 1.1 jruoho
8991 1.1 jruoho IA32 - IA64 initialization unification, no longer experimental
8992 1.1 jruoho
8993 1.1 jruoho Menuconfig options redesigned
8994 1.1 jruoho
8995 1.1 jruoho 3) ASL Compiler, version X2037:
8996 1.1 jruoho
8997 1.1 jruoho Implemented several new output features to simplify integration of
8998 1.1 jruoho AML code into firmware: 1) Output the AML in C source code with
8999 1.1 jruoho labels for each named ASL object. The original ASL source code
9000 1.1 jruoho is interleaved as C comments. 2) Output the AML in ASM source code
9001 1.1 jruoho with labels and interleaved ASL source. 3) Output the AML in
9002 1.1 jruoho raw hex table form, in either C or ASM.
9003 1.1 jruoho
9004 1.1 jruoho Implemented support for optional string parameters to the
9005 1.1 jruoho LoadTable operator.
9006 1.1 jruoho
9007 1.1 jruoho Completed support for embedded escape sequences within string
9008 1.1 jruoho literals. The compiler now supports all single character escapes
9009 1.1 jruoho as well as the Octal and Hex escapes. Note: the insertion of a
9010 1.1 jruoho null byte into a string literal (via the hex/octal escape) causes
9011 1.1 jruoho the string to be immediately terminated. A warning is issued.
9012 1.1 jruoho
9013 1.1 jruoho Fixed a problem where incorrect AML was generated for the case
9014 1.1 jruoho where an ASL namepath consists of a single parent prefix (
9015 1.1 jruoho
9016 1.1 jruoho ) with no trailing name segments.
9017 1.1 jruoho
9018 1.1 jruoho The compiler has been successfully generated with a 64-bit C
9019 1.1 jruoho compiler.
9020 1.1 jruoho
9021 1.1 jruoho
9022 1.1 jruoho
9023 1.1 jruoho
9024 1.1 jruoho ----------------------------------------
9025 1.1 jruoho Summary of changes for this label: 12_18_01
9026 1.1 jruoho
9027 1.1 jruoho 1) Linux
9028 1.1 jruoho
9029 1.1 jruoho Enhanced blacklist with reason and severity fields. Any table's
9030 1.1 jruoho signature may now be used to identify a blacklisted system.
9031 1.1 jruoho
9032 1.1 jruoho Call _PIC control method to inform the firmware which interrupt
9033 1.1 jruoho model the OS is using. Turn on any disabled link devices.
9034 1.1 jruoho
9035 1.1 jruoho Cleaned up busmgr /proc error handling (Andreas Dilger)
9036 1.1 jruoho
9037 1.1 jruoho 2) ACPI CA Core Subsystem:
9038 1.1 jruoho
9039 1.1 jruoho Implemented ACPI 2.0 semantics for the "Break" operator (Exit from
9040 1.1 jruoho while loop)
9041 1.1 jruoho
9042 1.1 jruoho Completed implementation of the ACPI 2.0 "Continue",
9043 1.1 jruoho "ConcatenateResTemplate", "DataTableRegion", and "LoadTable"
9044 1.1 jruoho operators. All new ACPI 2.0 operators are now implemented in both
9045 1.1 jruoho the ASL compiler and the AML interpreter. The only remaining ACPI
9046 1.1 jruoho 2.0 task is support for the String data type in the DerefOf
9047 1.1 jruoho operator. Fixed a problem with AcquireMutex where the status code
9048 1.1 jruoho was lost if the caller had to actually wait for the mutex.
9049 1.1 jruoho
9050 1.1 jruoho Increased the maximum ASL Field size from 64K bits to 4G bits.
9051 1.1 jruoho
9052 1.1 jruoho Completed implementation of the external Global Lock interfaces --
9053 1.1 jruoho AcpiAcquireGlobalLock and AcpiReleaseGlobalLock. The Timeout and
9054 1.1 jruoho Handler parameters were added.
9055 1.1 jruoho
9056 1.1 jruoho Completed another pass at removing warnings and issues when
9057 1.1 jruoho compiling with 64-bit compilers. The code now compiles cleanly
9058 1.1 jruoho with the Intel 64-bit C/C++ compiler. Most notably, the pointer
9059 1.1 jruoho add and subtract (diff) macros have changed considerably.
9060 1.1 jruoho
9061 1.1 jruoho
9062 1.1 jruoho Created and deployed a new ACPI_SIZE type that is 64-bits wide on
9063 1.1 jruoho 64-bit platforms, 32-bits on all others. This type is used
9064 1.1 jruoho wherever memory allocation and/or the C sizeof() operator is used,
9065 1.1 jruoho and affects the OSL memory allocation interfaces AcpiOsAllocate
9066 1.1 jruoho and AcpiOsCallocate.
9067 1.1 jruoho
9068 1.1 jruoho Implemented sticky user breakpoints in the AML debugger.
9069 1.1 jruoho
9070 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
9071 1.1 jruoho below. These are the code and data sizes for the acpica.lib
9072 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
9073 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
9074 1.1 jruoho version of the code includes the debug output trace mechanism and
9075 1.1 jruoho has a larger code and data size. Note that these values will vary
9076 1.1 jruoho depending on the efficiency of the compiler and the compiler
9077 1.1 jruoho options used during generation.
9078 1.1 jruoho
9079 1.1 jruoho Previous Release (12_05_01)
9080 1.1 jruoho Non-Debug Version: 64.7K Code, 5.3K Data, 70.0K Total
9081 1.1 jruoho Debug Version: 136.2K Code, 55.6K Data, 191.8K Total
9082 1.1 jruoho Current Release:
9083 1.1 jruoho Non-Debug Version: 66.1K Code, 5.5K Data, 71.6K Total
9084 1.1 jruoho Debug Version: 138.3K Code, 55.9K Data, 194.2K Total
9085 1.1 jruoho
9086 1.1 jruoho 3) ASL Compiler, version X2034:
9087 1.1 jruoho
9088 1.1 jruoho Now checks for (and generates an error if detected) the use of a
9089 1.1 jruoho Break or Continue statement without an enclosing While statement.
9090 1.1 jruoho
9091 1.1 jruoho
9092 1.1 jruoho Successfully generated the compiler with the Intel 64-bit C
9093 1.1 jruoho compiler.
9094 1.1 jruoho
9095 1.1 jruoho ----------------------------------------
9096 1.1 jruoho Summary of changes for this label: 12_05_01
9097 1.1 jruoho
9098 1.1 jruoho 1) ACPI CA Core Subsystem:
9099 1.1 jruoho
9100 1.1 jruoho The ACPI 2.0 CopyObject operator is fully implemented. This
9101 1.1 jruoho operator creates a new copy of an object (and is also used to
9102 1.1 jruoho bypass the "implicit conversion" mechanism of the Store operator.)
9103 1.1 jruoho
9104 1.1 jruoho The ACPI 2.0 semantics for the SizeOf operator are fully
9105 1.1 jruoho implemented. The change is that performing a SizeOf on a
9106 1.1 jruoho reference object causes an automatic dereference of the object to
9107 1.1 jruoho tha actual value before the size is evaluated. This behavior was
9108 1.1 jruoho undefined in ACPI 1.0.
9109 1.1 jruoho
9110 1.1 jruoho The ACPI 2.0 semantics for the Extended IRQ resource descriptor
9111 1.1 jruoho have been implemented. The interrupt polarity and mode are now
9112 1.1 jruoho independently set.
9113 1.1 jruoho
9114 1.1 jruoho Fixed a problem where ASL Constants (Zero, One, Ones, Revision)
9115 1.1 jruoho appearing in Package objects were not properly converted to
9116 1.1 jruoho integers when the internal Package was converted to an external
9117 1.1 jruoho object (via the AcpiEvaluateObject interface.)
9118 1.1 jruoho
9119 1.1 jruoho Fixed a problem with the namespace object deletion mechanism for
9120 1.1 jruoho objects created by control methods. There were two parts to this
9121 1.1 jruoho problem: 1) Objects created during the initialization phase method
9122 1.1 jruoho parse were not being deleted, and 2) The object owner ID mechanism
9123 1.1 jruoho to track objects was broken.
9124 1.1 jruoho
9125 1.1 jruoho Fixed a problem where the use of the ASL Scope operator within a
9126 1.1 jruoho control method would result in an invalid opcode exception.
9127 1.1 jruoho
9128 1.1 jruoho Fixed a problem introduced in the previous label where the buffer
9129 1.1 jruoho length required for the _PRT structure was not being returned
9130 1.1 jruoho correctly.
9131 1.1 jruoho
9132 1.1 jruoho Code and Data Size: Current core subsystem library sizes are shown
9133 1.1 jruoho below. These are the code and data sizes for the acpica.lib
9134 1.1 jruoho produced by the Microsoft Visual C++ 6.0 compiler, and these
9135 1.1 jruoho values do not include any ACPI driver or OSPM code. The debug
9136 1.1 jruoho version of the code includes the debug output trace mechanism and
9137 1.1 jruoho has a larger code and data size. Note that these values will vary
9138 1.1 jruoho depending on the efficiency of the compiler and the compiler
9139 1.1 jruoho options used during generation.
9140 1.1 jruoho
9141 1.1 jruoho Previous Release (11_20_01)
9142 1.1 jruoho Non-Debug Version: 64.1K Code, 5.3K Data, 69.4K Total
9143 1.1 jruoho Debug Version: 135.1K Code, 55.4K Data, 190.5K Total
9144 1.1 jruoho
9145 1.1 jruoho Current Release:
9146 1.1 jruoho Non-Debug Version: 64.7K Code, 5.3K Data, 70.0K Total
9147 1.1 jruoho Debug Version: 136.2K Code, 55.6K Data, 191.8K Total
9148 1.1 jruoho
9149 1.1 jruoho 2) Linux:
9150 1.1 jruoho
9151 1.1 jruoho Updated all files to apply cleanly against 2.4.16.
9152 1.1 jruoho
9153 1.1 jruoho Added basic PCI Interrupt Routing Table (PRT) support for IA32
9154 1.1 jruoho (acpi_pci.c), and unified the PRT code for IA32 and IA64. This
9155 1.1 jruoho version supports both static and dyanmic PRT entries, but dynamic
9156 1.1 jruoho entries are treated as if they were static (not yet
9157 1.1 jruoho reconfigurable). Architecture- specific code to use this data is
9158 1.1 jruoho absent on IA32 but should be available shortly.
9159 1.1 jruoho
9160 1.1 jruoho Changed the initialization sequence to start the ACPI interpreter
9161 1.1 jruoho (acpi_init) prior to initialization of the PCI driver (pci_init)
9162 1.1 jruoho in init/main.c. This ordering is required to support PRT and
9163 1.1 jruoho facilitate other (future) enhancement. A side effect is that the
9164 1.1 jruoho ACPI bus driver and certain device drivers can no longer be loaded
9165 1.1 jruoho as modules.
9166 1.1 jruoho
9167 1.1 jruoho Modified the 'make menuconfig' options to allow PCI Interrupt
9168 1.1 jruoho Routing support to be included without the ACPI Bus and other
9169 1.1 jruoho device drivers.
9170 1.1 jruoho
9171 1.1 jruoho 3) ASL Compiler, version X2033:
9172 1.1 jruoho
9173 1.1 jruoho Fixed some issues with the use of the new CopyObject and
9174 1.1 jruoho DataTableRegion operators. Both are fully functional.
9175 1.1 jruoho
9176 1.1 jruoho ----------------------------------------
9177 1.1 jruoho Summary of changes for this label: 11_20_01
9178 1.1 jruoho
9179 1.1 jruoho 20 November 2001. Summary of changes for this release.
9180 1.1 jruoho
9181 1.1 jruoho 1) ACPI CA Core Subsystem:
9182 1.1 jruoho
9183 1.1 jruoho Updated Index support to match ACPI 2.0 semantics. Storing a
9184 1.1 jruoho Integer, String, or Buffer to an Index of a Buffer will store only
9185 1.1 jruoho the least-significant byte of the source to the Indexed buffer
9186 1.1 jruoho byte. Multiple writes are not performed.
9187 1.1 jruoho
9188 1.1 jruoho Fixed a problem where the access type used in an AccessAs ASL
9189 1.1 jruoho operator was not recorded correctly into the field object.
9190 1.1 jruoho
9191 1.1 jruoho Fixed a problem where ASL Event objects were created in a
9192 1.1 jruoho signalled state. Events are now created in an unsignalled state.
9193 1.1 jruoho
9194 1.1 jruoho The internal object cache is now purged after table loading and
9195 1.1 jruoho initialization to reduce the use of dynamic kernel memory -- on
9196 1.1 jruoho the assumption that object use is greatest during the parse phase
9197 1.1 jruoho of the entire table (versus the run-time use of individual control
9198 1.1 jruoho methods.)
9199 1.1 jruoho
9200 1.1 jruoho ACPI 2.0 variable-length packages are now fully operational.
9201 1.1 jruoho
9202 1.1 jruoho Code and Data Size: Code and Data optimizations have permitted new
9203 1.1 jruoho feature development with an actual reduction in the library size.
9204 1.1 jruoho Current core subsystem library sizes are shown below. These are
9205 1.1 jruoho the code and data sizes for the acpica.lib produced by the
9206 1.1 jruoho Microsoft Visual C++ 6.0 compiler, and these values do not include
9207 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code
9208 1.1 jruoho includes the debug output trace mechanism and has a larger code
9209 1.1 jruoho and data size. Note that these values will vary depending on the
9210 1.1 jruoho efficiency of the compiler and the compiler options used during
9211 1.1 jruoho generation.
9212 1.1 jruoho
9213 1.1 jruoho Previous Release (11_09_01):
9214 1.1 jruoho Non-Debug Version: 63.7K Code, 5.2K Data, 68.9K Total
9215 1.1 jruoho Debug Version: 134.5K Code, 55.4K Data, 189.9K Total
9216 1.1 jruoho
9217 1.1 jruoho Current Release:
9218 1.1 jruoho Non-Debug Version: 64.1K Code, 5.3K Data, 69.4K Total
9219 1.1 jruoho Debug Version: 135.1K Code, 55.4K Data, 190.5K Total
9220 1.1 jruoho
9221 1.1 jruoho 2) Linux:
9222 1.1 jruoho
9223 1.1 jruoho Enhanced the ACPI boot-time initialization code to allow the use
9224 1.1 jruoho of Local APIC tables for processor enumeration on IA-32, and to
9225 1.1 jruoho pave the way for a fully MPS-free boot (on SMP systems) in the
9226 1.1 jruoho near future. This functionality replaces
9227 1.1 jruoho arch/i386/kernel/acpitables.c, which was introduced in an earlier
9228 1.1 jruoho 2.4.15-preX release. To enable this feature you must add
9229 1.1 jruoho "acpi_boot=on" to the kernel command line -- see the help entry
9230 1.1 jruoho for CONFIG_ACPI_BOOT for more information. An IA-64 release is in
9231 1.1 jruoho the works...
9232 1.1 jruoho
9233 1.1 jruoho Restructured the configuration options to allow boot-time table
9234 1.1 jruoho parsing support without inclusion of the ACPI Interpreter (and
9235 1.1 jruoho other) code.
9236 1.1 jruoho
9237 1.1 jruoho NOTE: This release does not include fixes for the reported events,
9238 1.1 jruoho power-down, and thermal passive cooling issues (coming soon).
9239 1.1 jruoho
9240 1.1 jruoho 3) ASL Compiler:
9241 1.1 jruoho
9242 1.1 jruoho Added additional typechecking for Fields within restricted access
9243 1.1 jruoho Operation Regions. All fields within EC and CMOS regions must be
9244 1.1 jruoho declared with ByteAcc. All fields withing SMBus regions must be
9245 1.1 jruoho declared with the BufferAcc access type.
9246 1.1 jruoho
9247 1.1 jruoho Fixed a problem where the listing file output of control methods
9248 1.1 jruoho no longer interleaved the actual AML code with the ASL source
9249 1.1 jruoho code.
9250 1.1 jruoho
9251 1.1 jruoho
9252 1.1 jruoho
9253 1.1 jruoho
9254 1.1 jruoho ----------------------------------------
9255 1.1 jruoho Summary of changes for this label: 11_09_01
9256 1.1 jruoho
9257 1.1 jruoho 1) ACPI CA Core Subsystem:
9258 1.1 jruoho
9259 1.1 jruoho Implemented ACPI 2.0-defined support for writes to fields with a
9260 1.1 jruoho Buffer, String, or Integer source operand that is smaller than the
9261 1.1 jruoho target field. In these cases, the source operand is zero-extended
9262 1.1 jruoho to fill the target field.
9263 1.1 jruoho
9264 1.1 jruoho Fixed a problem where a Field starting bit offset (within the
9265 1.1 jruoho parent operation region) was calculated incorrectly if the
9266 1.1 jruoho
9267 1.1 jruoho alignment of the field differed from the access width. This
9268 1.1 jruoho affected CreateWordField, CreateDwordField, CreateQwordField, and
9269 1.1 jruoho possibly other fields that use the "AccessAny" keyword.
9270 1.1 jruoho
9271 1.1 jruoho Fixed a problem introduced in the 11_02_01 release where indirect
9272 1.1 jruoho stores through method arguments did not operate correctly.
9273 1.1 jruoho
9274 1.1 jruoho 2) Linux:
9275 1.1 jruoho
9276 1.1 jruoho Implemented boot-time ACPI table parsing support
9277 1.1 jruoho (CONFIG_ACPI_BOOT) for IA32 and IA64 UP/SMP systems. This code
9278 1.1 jruoho facilitates the use of ACPI tables (e.g. MADT, SRAT) rather than
9279 1.1 jruoho legacy BIOS interfaces (e.g. MPS) for the configuration of system
9280 1.1 jruoho processors, memory, and interrupts during setup_arch(). Note that
9281 1.1 jruoho this patch does not include the required architecture-specific
9282 1.1 jruoho changes required to apply this information -- subsequent patches
9283 1.1 jruoho will be posted for both IA32 and IA64 to achieve this.
9284 1.1 jruoho
9285 1.1 jruoho Added low-level sleep support for IA32 platforms, courtesy of Pat
9286 1.1 jruoho Mochel. This allows IA32 systems to transition to/from various
9287 1.1 jruoho sleeping states (e.g. S1, S3), although the lack of a centralized
9288 1.1 jruoho driver model and power-manageable drivers will prevent its
9289 1.1 jruoho (successful) use on most systems.
9290 1.1 jruoho
9291 1.1 jruoho Revamped the ACPI 'menuconfig' layout: created new "ACPI Support"
9292 1.1 jruoho submenu, unified IA32 and IA64 options, added new "Boot using ACPI
9293 1.1 jruoho tables" option, etc.
9294 1.1 jruoho
9295 1.1 jruoho Increased the default timeout for the EC driver from 1ms to 10ms
9296 1.1 jruoho (1000 cycles of 10us) to try to address AE_TIME errors during EC
9297 1.1 jruoho transactions.
9298 1.1 jruoho
9299 1.1 jruoho ----------------------------------------
9300 1.1 jruoho Summary of changes for this label: 11_02_01
9301 1.1 jruoho
9302 1.1 jruoho 1) ACPI CA Core Subsystem:
9303 1.1 jruoho
9304 1.1 jruoho ACPI 2.0 Support: Implemented ACPI 2.0 64-bit Field access
9305 1.1 jruoho (QWordAcc keyword). All ACPI 2.0 64-bit support is now
9306 1.1 jruoho implemented.
9307 1.1 jruoho
9308 1.1 jruoho OSL Interfaces: Several of the OSL (AcpiOs*) interfaces required
9309 1.1 jruoho changes to support ACPI 2.0 Qword field access. Read/Write
9310 1.1 jruoho PciConfiguration(), Read/Write Memory(), and Read/Write Port() now
9311 1.1 jruoho accept an ACPI_INTEGER (64 bits) as the value parameter. Also,
9312 1.1 jruoho the value parameter for the address space handler interface is now
9313 1.1 jruoho an ACPI_INTEGER. OSL implementations of these interfaces must now
9314 1.1 jruoho handle the case where the Width parameter is 64.
9315 1.1 jruoho
9316 1.1 jruoho Index Fields: Fixed a problem where unaligned bit assembly and
9317 1.1 jruoho disassembly for IndexFields was not supported correctly.
9318 1.1 jruoho
9319 1.1 jruoho Index and Bank Fields: Nested Index and Bank Fields are now
9320 1.1 jruoho supported. During field access, a check is performed to ensure
9321 1.1 jruoho that the value written to an Index or Bank register is not out of
9322 1.1 jruoho the range of the register. The Index (or Bank) register is
9323 1.1 jruoho written before each access to the field data. Future support will
9324 1.1 jruoho include allowing individual IndexFields to be wider than the
9325 1.1 jruoho DataRegister width.
9326 1.1 jruoho
9327 1.1 jruoho Fields: Fixed a problem where the AML interpreter was incorrectly
9328 1.1 jruoho attempting to write beyond the end of a Field/OpRegion. This was
9329 1.1 jruoho a boundary case that occurred when a DWORD field was written to a
9330 1.1 jruoho BYTE access OpRegion, forcing multiple writes and causing the
9331 1.1 jruoho interpreter to write one datum too many.
9332 1.1 jruoho
9333 1.1 jruoho Fields: Fixed a problem with Field/OpRegion access where the
9334 1.1 jruoho starting bit address of a field was incorrectly calculated if the
9335 1.1 jruoho current access type was wider than a byte (WordAcc, DwordAcc, or
9336 1.1 jruoho QwordAcc).
9337 1.1 jruoho
9338 1.1 jruoho Fields: Fixed a problem where forward references to individual
9339 1.1 jruoho FieldUnits (individual Field names within a Field definition) were
9340 1.1 jruoho not resolved during the AML table load.
9341 1.1 jruoho
9342 1.1 jruoho Fields: Fixed a problem where forward references from a Field
9343 1.1 jruoho definition to the parent Operation Region definition were not
9344 1.1 jruoho resolved during the AML table load.
9345 1.1 jruoho
9346 1.1 jruoho Fields: Duplicate FieldUnit names within a scope are now detected
9347 1.1 jruoho during AML table load.
9348 1.1 jruoho
9349 1.1 jruoho Acpi Interfaces: Fixed a problem where the AcpiGetName() interface
9350 1.1 jruoho returned an incorrect name for the root node.
9351 1.1 jruoho
9352 1.1 jruoho Code and Data Size: Code and Data optimizations have permitted new
9353 1.1 jruoho feature development with an actual reduction in the library size.
9354 1.1 jruoho Current core subsystem library sizes are shown below. These are
9355 1.1 jruoho the code and data sizes for the acpica.lib produced by the
9356 1.1 jruoho Microsoft Visual C++ 6.0 compiler, and these values do not include
9357 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code
9358 1.1 jruoho includes the debug output trace mechanism and has a larger code
9359 1.1 jruoho and data size. Note that these values will vary depending on the
9360 1.1 jruoho efficiency of the compiler and the compiler options used during
9361 1.1 jruoho generation.
9362 1.1 jruoho
9363 1.1 jruoho Previous Release (10_18_01):
9364 1.1 jruoho Non-Debug Version: 63.9K Code, 5.1K Data, 69.0K Total
9365 1.1 jruoho Debug Version: 136.7K Code, 57.4K Data, 194.2K Total
9366 1.1 jruoho
9367 1.1 jruoho Current Release:
9368 1.1 jruoho Non-Debug Version: 63.7K Code, 5.2K Data, 68.9K Total
9369 1.1 jruoho Debug Version: 134.5K Code, 55.4K Data, 189.9K Total
9370 1.1 jruoho
9371 1.1 jruoho 2) Linux:
9372 1.1 jruoho
9373 1.1 jruoho Improved /proc processor output (Pavel Machek) Re-added
9374 1.1 jruoho MODULE_LICENSE("GPL") to all modules.
9375 1.1 jruoho
9376 1.1 jruoho 3) ASL Compiler version X2030:
9377 1.1 jruoho
9378 1.1 jruoho Duplicate FieldUnit names within a scope are now detected and
9379 1.1 jruoho flagged as errors.
9380 1.1 jruoho
9381 1.1 jruoho 4) Documentation:
9382 1.1 jruoho
9383 1.1 jruoho Programmer Reference updated to reflect OSL and address space
9384 1.1 jruoho handler interface changes described above.
9385 1.1 jruoho
9386 1.1 jruoho ----------------------------------------
9387 1.1 jruoho Summary of changes for this label: 10_18_01
9388 1.1 jruoho
9389 1.1 jruoho ACPI CA Core Subsystem:
9390 1.1 jruoho
9391 1.1 jruoho Fixed a problem with the internal object reference count mechanism
9392 1.1 jruoho that occasionally caused premature object deletion. This resolves
9393 1.1 jruoho all of the outstanding problem reports where an object is deleted
9394 1.1 jruoho in the middle of an interpreter evaluation. Although this problem
9395 1.1 jruoho only showed up in rather obscure cases, the solution to the
9396 1.1 jruoho problem involved an adjustment of all reference counts involving
9397 1.1 jruoho objects attached to namespace nodes.
9398 1.1 jruoho
9399 1.1 jruoho Fixed a problem with Field support in the interpreter where
9400 1.1 jruoho writing to an aligned field whose length is an exact multiple (2
9401 1.1 jruoho or greater) of the field access granularity would cause an attempt
9402 1.1 jruoho to write beyond the end of the field.
9403 1.1 jruoho
9404 1.1 jruoho The top level AML opcode execution functions within the
9405 1.1 jruoho interpreter have been renamed with a more meaningful and
9406 1.1 jruoho consistent naming convention. The modules exmonad.c and
9407 1.1 jruoho exdyadic.c were eliminated. New modules are exoparg1.c,
9408 1.1 jruoho exoparg2.c, exoparg3.c, and exoparg6.c.
9409 1.1 jruoho
9410 1.1 jruoho Support for the ACPI 2.0 "Mid" ASL operator has been implemented.
9411 1.1 jruoho
9412 1.1 jruoho Fixed a problem where the AML debugger was causing some internal
9413 1.1 jruoho objects to not be deleted during subsystem termination.
9414 1.1 jruoho
9415 1.1 jruoho Fixed a problem with the external AcpiEvaluateObject interface
9416 1.1 jruoho where the subsystem would fault if the named object to be
9417 1.1 jruoho evaluated refered to a constant such as Zero, Ones, etc.
9418 1.1 jruoho
9419 1.1 jruoho Fixed a problem with IndexFields and BankFields where the
9420 1.1 jruoho subsystem would fault if the index, data, or bank registers were
9421 1.1 jruoho not defined in the same scope as the field itself.
9422 1.1 jruoho
9423 1.1 jruoho Added printf format string checking for compilers that support
9424 1.1 jruoho this feature. Corrected more than 50 instances of issues with
9425 1.1 jruoho format specifiers within invocations of ACPI_DEBUG_PRINT
9426 1.1 jruoho throughout the core subsystem code.
9427 1.1 jruoho
9428 1.1 jruoho The ASL "Revision" operator now returns the ACPI support level
9429 1.1 jruoho implemented in the core - the value "2" since the ACPI 2.0 support
9430 1.1 jruoho is more than 50% implemented.
9431 1.1 jruoho
9432 1.1 jruoho Enhanced the output of the AML debugger "dump namespace" command
9433 1.1 jruoho to output in a more human-readable form.
9434 1.1 jruoho
9435 1.1 jruoho Current core subsystem library code sizes are shown below. These
9436 1.1 jruoho
9437 1.1 jruoho are the code and data sizes for the acpica.lib produced by the
9438 1.1 jruoho Microsoft Visual C++ 6.0 compiler, and these values do not include
9439 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code
9440 1.1 jruoho includes the full debug trace mechanism -- leading to a much
9441 1.1 jruoho
9442 1.1 jruoho larger code and data size. Note that these values will vary
9443 1.1 jruoho depending on the efficiency of the compiler and the compiler
9444 1.1 jruoho options used during generation.
9445 1.1 jruoho
9446 1.1 jruoho Previous Label (09_20_01):
9447 1.1 jruoho Non-Debug Version: 65K Code, 5K Data, 70K Total
9448 1.1 jruoho Debug Version: 138K Code, 58K Data, 196K Total
9449 1.1 jruoho
9450 1.1 jruoho This Label:
9451 1.1 jruoho
9452 1.1 jruoho Non-Debug Version: 63.9K Code, 5.1K Data, 69.0K Total
9453 1.1 jruoho Debug Version: 136.7K Code, 57.4K Data, 194.2K Total
9454 1.1 jruoho
9455 1.1 jruoho Linux:
9456 1.1 jruoho
9457 1.1 jruoho Implemented a "Bad BIOS Blacklist" to track machines that have
9458 1.1 jruoho known ASL/AML problems.
9459 1.1 jruoho
9460 1.1 jruoho Enhanced the /proc interface for the thermal zone driver and added
9461 1.1 jruoho support for _HOT (the critical suspend trip point). The 'info'
9462 1.1 jruoho file now includes threshold/policy information, and allows setting
9463 1.1 jruoho of _SCP (cooling preference) and _TZP (polling frequency) values
9464 1.1 jruoho to the 'info' file. Examples: "echo tzp=5 > info" sets the polling
9465 1.1 jruoho frequency to 5 seconds, and "echo scp=1 > info" sets the cooling
9466 1.1 jruoho preference to the passive/quiet mode (if supported by the ASL).
9467 1.1 jruoho
9468 1.1 jruoho Implemented a workaround for a gcc bug that resuted in an OOPs
9469 1.1 jruoho when loading the control method battery driver.
9470 1.1 jruoho
9471 1.1 jruoho ----------------------------------------
9472 1.1 jruoho Summary of changes for this label: 09_20_01
9473 1.1 jruoho
9474 1.1 jruoho ACPI CA Core Subsystem:
9475 1.1 jruoho
9476 1.1 jruoho The AcpiEnableEvent and AcpiDisableEvent interfaces have been
9477 1.1 jruoho modified to allow individual GPE levels to be flagged as wake-
9478 1.1 jruoho enabled (i.e., these GPEs are to remain enabled when the platform
9479 1.1 jruoho sleeps.)
9480 1.1 jruoho
9481 1.1 jruoho The AcpiEnterSleepState and AcpiLeaveSleepState interfaces now
9482 1.1 jruoho support wake-enabled GPEs. This means that upon entering the
9483 1.1 jruoho sleep state, all GPEs that are not wake-enabled are disabled.
9484 1.1 jruoho When leaving the sleep state, these GPEs are reenabled.
9485 1.1 jruoho
9486 1.1 jruoho A local double-precision divide/modulo module has been added to
9487 1.1 jruoho enhance portability to OS kernels where a 64-bit math library is
9488 1.1 jruoho not available. The new module is "utmath.c".
9489 1.1 jruoho
9490 1.1 jruoho Several optimizations have been made to reduce the use of CPU
9491 1.1 jruoho stack. Originally over 2K, the maximum stack usage is now below
9492 1.1 jruoho 2K at 1860 bytes (1.82k)
9493 1.1 jruoho
9494 1.1 jruoho Fixed a problem with the AcpiGetFirmwareTable interface where the
9495 1.1 jruoho root table pointer was not mapped into a logical address properly.
9496 1.1 jruoho
9497 1.1 jruoho Fixed a problem where a NULL pointer was being dereferenced in the
9498 1.1 jruoho interpreter code for the ASL Notify operator.
9499 1.1 jruoho
9500 1.1 jruoho Fixed a problem where the use of the ASL Revision operator
9501 1.1 jruoho returned an error. This operator now returns the current version
9502 1.1 jruoho of the ACPI CA core subsystem.
9503 1.1 jruoho
9504 1.1 jruoho Fixed a problem where objects passed as control method parameters
9505 1.1 jruoho to AcpiEvaluateObject were always deleted at method termination.
9506 1.1 jruoho However, these objects may end up being stored into the namespace
9507 1.1 jruoho by the called method. The object reference count mechanism was
9508 1.1 jruoho applied to these objects instead of a force delete.
9509 1.1 jruoho
9510 1.1 jruoho Fixed a problem where static strings or buffers (contained in the
9511 1.1 jruoho AML code) that are declared as package elements within the ASL
9512 1.1 jruoho code could cause a fault because the interpreter would attempt to
9513 1.1 jruoho delete them. These objects are now marked with the "static
9514 1.1 jruoho object" flag to prevent any attempt to delete them.
9515 1.1 jruoho
9516 1.1 jruoho Implemented an interpreter optimization to use operands directly
9517 1.1 jruoho from the state object instead of extracting the operands to local
9518 1.1 jruoho variables. This reduces stack use and code size, and improves
9519 1.1 jruoho performance.
9520 1.1 jruoho
9521 1.1 jruoho The module exxface.c was eliminated as it was an unnecessary extra
9522 1.1 jruoho layer of code.
9523 1.1 jruoho
9524 1.1 jruoho Current core subsystem library code sizes are shown below. These
9525 1.1 jruoho are the code and data sizes for the acpica.lib produced by the
9526 1.1 jruoho Microsoft Visual C++ 6.0 compiler, and these values do not include
9527 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code
9528 1.1 jruoho includes the full debug trace mechanism -- leading to a much
9529 1.1 jruoho larger code and data size. Note that these values will vary
9530 1.1 jruoho depending on the efficiency of the compiler and the compiler
9531 1.1 jruoho options used during generation.
9532 1.1 jruoho
9533 1.1 jruoho Non-Debug Version: 65K Code, 5K Data, 70K Total
9534 1.1 jruoho (Previously 69K) Debug Version: 138K Code, 58K Data, 196K
9535 1.1 jruoho Total (Previously 195K)
9536 1.1 jruoho
9537 1.1 jruoho Linux:
9538 1.1 jruoho
9539 1.1 jruoho Support for ACPI 2.0 64-bit integers has been added. All ACPI
9540 1.1 jruoho Integer objects are now 64 bits wide
9541 1.1 jruoho
9542 1.1 jruoho All Acpi data types and structures are now in lower case. Only
9543 1.1 jruoho Acpi macros are upper case for differentiation.
9544 1.1 jruoho
9545 1.1 jruoho Documentation:
9546 1.1 jruoho
9547 1.1 jruoho Changes to the external interfaces as described above.
9548 1.1 jruoho
9549 1.1 jruoho ----------------------------------------
9550 1.1 jruoho Summary of changes for this label: 08_31_01
9551 1.1 jruoho
9552 1.1 jruoho ACPI CA Core Subsystem:
9553 1.1 jruoho
9554 1.1 jruoho A bug with interpreter implementation of the ASL Divide operator
9555 1.1 jruoho was found and fixed. The implicit function return value (not the
9556 1.1 jruoho explicit store operands) was returning the remainder instead of
9557 1.1 jruoho the quotient. This was a longstanding bug and it fixes several
9558 1.1 jruoho known outstanding issues on various platforms.
9559 1.1 jruoho
9560 1.1 jruoho The ACPI_DEBUG_PRINT and function trace entry/exit macros have
9561 1.1 jruoho been further optimized for size. There are 700 invocations of the
9562 1.1 jruoho DEBUG_PRINT macro alone, so each optimization reduces the size of
9563 1.1 jruoho the debug version of the subsystem significantly.
9564 1.1 jruoho
9565 1.1 jruoho A stack trace mechanism has been implemented. The maximum stack
9566 1.1 jruoho usage is about 2K on 32-bit platforms. The debugger command "stat
9567 1.1 jruoho stack" will display the current maximum stack usage.
9568 1.1 jruoho
9569 1.1 jruoho All public symbols and global variables within the subsystem are
9570 1.1 jruoho now prefixed with the string "Acpi". This keeps all of the
9571 1.1 jruoho symbols grouped together in a kernel map, and avoids conflicts
9572 1.1 jruoho with other kernel subsystems.
9573 1.1 jruoho
9574 1.1 jruoho Most of the internal fixed lookup tables have been moved into the
9575 1.1 jruoho code segment via the const operator.
9576 1.1 jruoho
9577 1.1 jruoho Several enhancements have been made to the interpreter to both
9578 1.1 jruoho reduce the code size and improve performance.
9579 1.1 jruoho
9580 1.1 jruoho Current core subsystem library code sizes are shown below. These
9581 1.1 jruoho are the code and data sizes for the acpica.lib produced by the
9582 1.1 jruoho Microsoft Visual C++ 6.0 compiler, and these values do not include
9583 1.1 jruoho any ACPI driver or OSPM code. The debug version of the code
9584 1.1 jruoho includes the full debug trace mechanism which contains over 700
9585 1.1 jruoho invocations of the DEBUG_PRINT macro, 500 function entry macro
9586 1.1 jruoho invocations, and over 900 function exit macro invocations --
9587 1.1 jruoho leading to a much larger code and data size. Note that these
9588 1.1 jruoho values will vary depending on the efficiency of the compiler and
9589 1.1 jruoho the compiler options used during generation.
9590 1.1 jruoho
9591 1.1 jruoho Non-Debug Version: 64K Code, 5K Data, 69K Total
9592 1.1 jruoho Debug Version: 137K Code, 58K Data, 195K Total
9593 1.1 jruoho
9594 1.1 jruoho Linux:
9595 1.1 jruoho
9596 1.1 jruoho Implemented wbinvd() macro, pending a kernel-wide definition.
9597 1.1 jruoho
9598 1.1 jruoho Fixed /proc/acpi/event to handle poll() and short reads.
9599 1.1 jruoho
9600 1.1 jruoho ASL Compiler, version X2026:
9601 1.1 jruoho
9602 1.1 jruoho Fixed a problem introduced in the previous label where the AML
9603 1.1 jruoho
9604 1.1 jruoho code emitted for package objects produced packages with zero
9605 1.1 jruoho length.
9606 1.1 jruoho
9607 1.1 jruoho ----------------------------------------
9608 1.1 jruoho Summary of changes for this label: 08_16_01
9609 1.1 jruoho
9610 1.1 jruoho ACPI CA Core Subsystem:
9611 1.1 jruoho
9612 1.1 jruoho The following ACPI 2.0 ASL operators have been implemented in the
9613 1.1 jruoho AML interpreter (These are already supported by the Intel ASL
9614 1.1 jruoho compiler): ToDecimalString, ToHexString, ToString, ToInteger, and
9615 1.1 jruoho ToBuffer. Support for 64-bit AML constants is implemented in the
9616 1.1 jruoho AML parser, debugger, and disassembler.
9617 1.1 jruoho
9618 1.1 jruoho The internal memory tracking mechanism (leak detection code) has
9619 1.1 jruoho been upgraded to reduce the memory overhead (a separate tracking
9620 1.1 jruoho block is no longer allocated for each memory allocation), and now
9621 1.1 jruoho supports all of the internal object caches.
9622 1.1 jruoho
9623 1.1 jruoho The data structures and code for the internal object caches have
9624 1.1 jruoho been coelesced and optimized so that there is a single cache and
9625 1.1 jruoho memory list data structure and a single group of functions that
9626 1.1 jruoho implement generic cache management. This has reduced the code
9627 1.1 jruoho size in both the debug and release versions of the subsystem.
9628 1.1 jruoho
9629 1.1 jruoho The DEBUG_PRINT macro(s) have been optimized for size and replaced
9630 1.1 jruoho by ACPI_DEBUG_PRINT. The syntax for this macro is slightly
9631 1.1 jruoho different, because it generates a single call to an internal
9632 1.1 jruoho function. This results in a savings of about 90 bytes per
9633 1.1 jruoho invocation, resulting in an overall code and data savings of about
9634 1.1 jruoho 16% in the debug version of the subsystem.
9635 1.1 jruoho
9636 1.1 jruoho Linux:
9637 1.1 jruoho
9638 1.1 jruoho Fixed C3 disk corruption problems and re-enabled C3 on supporting
9639 1.1 jruoho machines.
9640 1.1 jruoho
9641 1.1 jruoho Integrated low-level sleep code by Patrick Mochel.
9642 1.1 jruoho
9643 1.1 jruoho Further tweaked source code Linuxization.
9644 1.1 jruoho
9645 1.1 jruoho Other minor fixes.
9646 1.1 jruoho
9647 1.1 jruoho ASL Compiler:
9648 1.1 jruoho
9649 1.1 jruoho Support for ACPI 2.0 variable length packages is fixed/completed.
9650 1.1 jruoho
9651 1.1 jruoho Fixed a problem where the optional length parameter for the ACPI
9652 1.1 jruoho 2.0 ToString operator.
9653 1.1 jruoho
9654 1.1 jruoho Fixed multiple extraneous error messages when a syntax error is
9655 1.1 jruoho detected within the declaration line of a control method.
9656 1.1 jruoho
9657 1.1 jruoho ----------------------------------------
9658 1.1 jruoho Summary of changes for this label: 07_17_01
9659 1.1 jruoho
9660 1.1 jruoho ACPI CA Core Subsystem:
9661 1.1 jruoho
9662 1.1 jruoho Added a new interface named AcpiGetFirmwareTable to obtain any
9663 1.1 jruoho ACPI table via the ACPI signature. The interface can be called at
9664 1.1 jruoho any time during kernel initialization, even before the kernel
9665 1.1 jruoho virtual memory manager is initialized and paging is enabled. This
9666 1.1 jruoho allows kernel subsystems to obtain ACPI tables very early, even
9667 1.1 jruoho before the ACPI CA subsystem is initialized.
9668 1.1 jruoho
9669 1.1 jruoho Fixed a problem where Fields defined with the AnyAcc attribute
9670 1.1 jruoho could be resolved to the incorrect address under the following
9671 1.1 jruoho conditions: 1) the field width is larger than 8 bits and 2) the
9672 1.1 jruoho parent operation region is not defined on a DWORD boundary.
9673 1.1 jruoho
9674 1.1 jruoho Fixed a problem where the interpreter is not being locked during
9675 1.1 jruoho namespace initialization (during execution of the _INI control
9676 1.1 jruoho methods), causing an error when an attempt is made to release it
9677 1.1 jruoho later.
9678 1.1 jruoho
9679 1.1 jruoho ACPI 2.0 support in the AML Interpreter has begun and will be
9680 1.1 jruoho ongoing throughout the rest of this year. In this label, The Mod
9681 1.1 jruoho operator is implemented.
9682 1.1 jruoho
9683 1.1 jruoho Added a new data type to contain full PCI addresses named
9684 1.1 jruoho ACPI_PCI_ID. This structure contains the PCI Segment, Bus, Device,
9685 1.1 jruoho and Function values.
9686 1.1 jruoho
9687 1.1 jruoho Linux:
9688 1.1 jruoho
9689 1.1 jruoho Enhanced the Linux version of the source code to change most
9690 1.1 jruoho capitalized ACPI type names to lowercase. For example, all
9691 1.1 jruoho instances of ACPI_STATUS are changed to acpi_status. This will
9692 1.1 jruoho result in a large diff, but the change is strictly cosmetic and
9693 1.1 jruoho aligns the CA code closer to the Linux coding standard.
9694 1.1 jruoho
9695 1.1 jruoho OSL Interfaces:
9696 1.1 jruoho
9697 1.1 jruoho The interfaces to the PCI configuration space have been changed to
9698 1.1 jruoho add the PCI Segment number and to split the single 32-bit combined
9699 1.1 jruoho DeviceFunction field into two 16-bit fields. This was
9700 1.1 jruoho accomplished by moving the four values that define an address in
9701 1.1 jruoho PCI configuration space (segment, bus, device, and function) to
9702 1.1 jruoho the new ACPI_PCI_ID structure.
9703 1.1 jruoho
9704 1.1 jruoho The changes to the PCI configuration space interfaces led to a
9705 1.1 jruoho reexamination of the complete set of address space access
9706 1.1 jruoho interfaces for PCI, I/O, and Memory. The previously existing 18
9707 1.1 jruoho interfaces have proven difficult to maintain (any small change
9708 1.1 jruoho must be propagated across at least 6 interfaces) and do not easily
9709 1.1 jruoho allow for future expansion to 64 bits if necessary. Also, on some
9710 1.1 jruoho systems, it would not be appropriate to demultiplex the access
9711 1.1 jruoho width (8, 16, 32,or 64) before calling the OSL if the
9712 1.1 jruoho corresponding native OS interfaces contain a similar access width
9713 1.1 jruoho parameter. For these reasons, the 18 address space interfaces
9714 1.1 jruoho have been replaced by these 6 new ones:
9715 1.1 jruoho
9716 1.1 jruoho AcpiOsReadPciConfiguration
9717 1.1 jruoho AcpiOsWritePciConfiguration
9718 1.1 jruoho AcpiOsReadMemory
9719 1.1 jruoho AcpiOsWriteMemory
9720 1.1 jruoho AcpiOsReadPort
9721 1.1 jruoho AcpiOsWritePort
9722 1.1 jruoho
9723 1.1 jruoho Added a new interface named AcpiOsGetRootPointer to allow the OSL
9724 1.1 jruoho to perform the platform and/or OS-specific actions necessary to
9725 1.1 jruoho obtain the ACPI RSDP table pointer. On IA-32 platforms, this
9726 1.1 jruoho interface will simply call down to the CA core to perform the low-
9727 1.1 jruoho memory search for the table. On IA-64, the RSDP is obtained from
9728 1.1 jruoho EFI. Migrating this interface to the OSL allows the CA core to
9729 1.1 jruoho
9730 1.1 jruoho remain OS and platform independent.
9731 1.1 jruoho
9732 1.1 jruoho Added a new interface named AcpiOsSignal to provide a generic
9733 1.1 jruoho "function code and pointer" interface for various miscellaneous
9734 1.1 jruoho signals and notifications that must be made to the host OS. The
9735 1.1 jruoho first such signals are intended to support the ASL Fatal and
9736 1.1 jruoho Breakpoint operators. In the latter case, the AcpiOsBreakpoint
9737 1.1 jruoho interface has been obsoleted.
9738 1.1 jruoho
9739 1.1 jruoho The definition of the AcpiFormatException interface has been
9740 1.1 jruoho changed to simplify its use. The caller no longer must supply a
9741 1.1 jruoho buffer to the call; A pointer to a const string is now returned
9742 1.1 jruoho directly. This allows the call to be easily used in printf
9743 1.1 jruoho statements, etc. since the caller does not have to manage a local
9744 1.1 jruoho buffer.
9745 1.1 jruoho
9746 1.1 jruoho
9747 1.1 jruoho ASL Compiler, Version X2025:
9748 1.1 jruoho
9749 1.1 jruoho The ACPI 2.0 Switch/Case/Default operators have been implemented
9750 1.1 jruoho and are fully functional. They will work with all ACPI 1.0
9751 1.1 jruoho interpreters, since the operators are simply translated to If/Else
9752 1.1 jruoho pairs.
9753 1.1 jruoho
9754 1.1 jruoho The ACPI 2.0 ElseIf operator is implemented and will also work
9755 1.1 jruoho with 1.0 interpreters, for the same reason.
9756 1.1 jruoho
9757 1.1 jruoho Implemented support for ACPI 2.0 variable-length packages. These
9758 1.1 jruoho packages have a separate opcode, and their size is determined by
9759 1.1 jruoho the interpreter at run-time.
9760 1.1 jruoho
9761 1.1 jruoho Documentation The ACPI CA Programmer Reference has been updated to
9762 1.1 jruoho reflect the new interfaces and changes to existing interfaces.
9763 1.1 jruoho
9764 1.1 jruoho ------------------------------------------
9765 1.1 jruoho Summary of changes for this label: 06_15_01
9766 1.1 jruoho
9767 1.1 jruoho ACPI CA Core Subsystem:
9768 1.1 jruoho
9769 1.1 jruoho Fixed a problem where a DWORD-accessed field within a Buffer
9770 1.1 jruoho object would get its byte address inadvertently rounded down to
9771 1.1 jruoho the nearest DWORD. Buffers are always Byte-accessible.
9772 1.1 jruoho
9773 1.1 jruoho ASL Compiler, version X2024:
9774 1.1 jruoho
9775 1.1 jruoho Fixed a problem where the Switch() operator would either fault or
9776 1.1 jruoho hang the compiler. Note however, that the AML code for this ACPI
9777 1.1 jruoho 2.0 operator is not yet implemented.
9778 1.1 jruoho
9779 1.1 jruoho Compiler uses the new AcpiOsGetTimer interface to obtain compile
9780 1.1 jruoho timings.
9781 1.1 jruoho
9782 1.1 jruoho Implementation of the CreateField operator automatically converts
9783 1.1 jruoho a reference to a named field within a resource descriptor from a
9784 1.1 jruoho byte offset to a bit offset if required.
9785 1.1 jruoho
9786 1.1 jruoho Added some missing named fields from the resource descriptor
9787 1.1 jruoho support. These are the names that are automatically created by the
9788 1.1 jruoho compiler to reference fields within a descriptor. They are only
9789 1.1 jruoho valid at compile time and are not passed through to the AML
9790 1.1 jruoho interpreter.
9791 1.1 jruoho
9792 1.1 jruoho Resource descriptor named fields are now typed as Integers and
9793 1.1 jruoho subject to compile-time typechecking when used in expressions.
9794 1.1 jruoho
9795 1.1 jruoho ------------------------------------------
9796 1.1 jruoho Summary of changes for this label: 05_18_01
9797 1.1 jruoho
9798 1.1 jruoho ACPI CA Core Subsystem:
9799 1.1 jruoho
9800 1.1 jruoho Fixed a couple of problems in the Field support code where bits
9801 1.1 jruoho from adjacent fields could be returned along with the proper field
9802 1.1 jruoho bits. Restructured the field support code to improve performance,
9803 1.1 jruoho readability and maintainability.
9804 1.1 jruoho
9805 1.1 jruoho New DEBUG_PRINTP macro automatically inserts the procedure name
9806 1.1 jruoho into the output, saving hundreds of copies of procedure name
9807 1.1 jruoho strings within the source, shrinking the memory footprint of the
9808 1.1 jruoho debug version of the core subsystem.
9809 1.1 jruoho
9810 1.1 jruoho Source Code Structure:
9811 1.1 jruoho
9812 1.1 jruoho The source code directory tree was restructured to reflect the
9813 1.1 jruoho current organization of the component architecture. Some files
9814 1.1 jruoho and directories have been moved and/or renamed.
9815 1.1 jruoho
9816 1.1 jruoho Linux:
9817 1.1 jruoho
9818 1.1 jruoho Fixed leaking kacpidpc processes.
9819 1.1 jruoho
9820 1.1 jruoho Fixed queueing event data even when /proc/acpi/event is not
9821 1.1 jruoho opened.
9822 1.1 jruoho
9823 1.1 jruoho ASL Compiler, version X2020:
9824 1.1 jruoho
9825 1.1 jruoho Memory allocation performance enhancement - over 24X compile time
9826 1.1 jruoho improvement on large ASL files. Parse nodes and namestring
9827 1.1 jruoho buffers are now allocated from a large internal compiler buffer.
9828 1.1 jruoho
9829 1.1 jruoho The temporary .SRC file is deleted unless the "-s" option is
9830 1.1 jruoho specified
9831 1.1 jruoho
9832 1.1 jruoho The "-d" debug output option now sends all output to the .DBG file
9833 1.1 jruoho instead of the console.
9834 1.1 jruoho
9835 1.1 jruoho "External" second parameter is now optional
9836 1.1 jruoho
9837 1.1 jruoho "ElseIf" syntax now properly allows the predicate
9838 1.1 jruoho
9839 1.1 jruoho Last operand to "Load" now recognized as a Target operand
9840 1.1 jruoho
9841 1.1 jruoho Debug object can now be used anywhere as a normal object.
9842 1.1 jruoho
9843 1.1 jruoho ResourceTemplate now returns an object of type BUFFER
9844 1.1 jruoho
9845 1.1 jruoho EISAID now returns an object of type INTEGER
9846 1.1 jruoho
9847 1.1 jruoho "Index" now works with a STRING operand
9848 1.1 jruoho
9849 1.1 jruoho "LoadTable" now accepts optional parameters
9850 1.1 jruoho
9851 1.1 jruoho "ToString" length parameter is now optional
9852 1.1 jruoho
9853 1.1 jruoho "Interrupt (ResourceType," parse error fixed.
9854 1.1 jruoho
9855 1.1 jruoho "Register" with a user-defined region space parse error fixed
9856 1.1 jruoho
9857 1.1 jruoho Escaped backslash at the end of a string ("\\") scan/parse error
9858 1.1 jruoho fixed
9859 1.1 jruoho
9860 1.1 jruoho "Revision" is now an object of type INTEGER.
9861 1.1 jruoho
9862 1.1 jruoho
9863 1.1 jruoho
9864 1.1 jruoho ------------------------------------------
9865 1.1 jruoho Summary of changes for this label: 05_02_01
9866 1.1 jruoho
9867 1.1 jruoho Linux:
9868 1.1 jruoho
9869 1.1 jruoho /proc/acpi/event now blocks properly.
9870 1.1 jruoho
9871 1.1 jruoho Removed /proc/sys/acpi. You can still dump your DSDT from
9872 1.1 jruoho /proc/acpi/dsdt.
9873 1.1 jruoho
9874 1.1 jruoho ACPI CA Core Subsystem:
9875 1.1 jruoho
9876 1.1 jruoho Fixed a problem introduced in the previous label where some of the
9877 1.1 jruoho "small" resource descriptor types were not recognized.
9878 1.1 jruoho
9879 1.1 jruoho Improved error messages for the case where an ASL Field is outside
9880 1.1 jruoho the range of the parent operation region.
9881 1.1 jruoho
9882 1.1 jruoho ASL Compiler, version X2018:
9883 1.1 jruoho
9884 1.1 jruoho
9885 1.1 jruoho Added error detection for ASL Fields that extend beyond the length
9886 1.1 jruoho of the parent operation region (only if the length of the region
9887 1.1 jruoho is known at compile time.) This includes fields that have a
9888 1.1 jruoho minimum access width that is smaller than the parent region, and
9889 1.1 jruoho individual field units that are partially or entirely beyond the
9890 1.1 jruoho extent of the parent.
9891 1.1 jruoho
9892 1.1 jruoho
9893 1.1 jruoho
9894 1.1 jruoho ------------------------------------------
9895 1.1 jruoho Summary of changes for this label: 04_27_01
9896 1.1 jruoho
9897 1.1 jruoho ACPI CA Core Subsystem:
9898 1.1 jruoho
9899 1.1 jruoho Fixed a problem where the namespace mutex could be released at the
9900 1.1 jruoho wrong time during execution of AcpiRemoveAddressSpaceHandler.
9901 1.1 jruoho
9902 1.1 jruoho Added optional thread ID output for debug traces, to simplify
9903 1.1 jruoho debugging of multiple threads. Added context switch notification
9904 1.1 jruoho when the debug code realizes that a different thread is now
9905 1.1 jruoho executing ACPI code.
9906 1.1 jruoho
9907 1.1 jruoho Some additional external data types have been prefixed with the
9908 1.1 jruoho string "ACPI_" for consistency. This may effect existing code.
9909 1.1 jruoho The data types affected are the external callback typedefs - e.g.,
9910 1.1 jruoho
9911 1.1 jruoho WALK_CALLBACK becomes ACPI_WALK_CALLBACK.
9912 1.1 jruoho
9913 1.1 jruoho Linux:
9914 1.1 jruoho
9915 1.1 jruoho Fixed an issue with the OSL semaphore implementation where a
9916 1.1 jruoho thread was waking up with an error from receiving a SIGCHLD
9917 1.1 jruoho signal.
9918 1.1 jruoho
9919 1.1 jruoho Linux version of ACPI CA now uses the system C library for string
9920 1.1 jruoho manipulation routines instead of a local implementation.
9921 1.1 jruoho
9922 1.1 jruoho Cleaned up comments and removed TBDs.
9923 1.1 jruoho
9924 1.1 jruoho ASL Compiler, version X2017:
9925 1.1 jruoho
9926 1.1 jruoho Enhanced error detection and reporting for all file I/O
9927 1.1 jruoho operations.
9928 1.1 jruoho
9929 1.1 jruoho Documentation:
9930 1.1 jruoho
9931 1.1 jruoho Programmer Reference updated to version 1.06.
9932 1.1 jruoho
9933 1.1 jruoho
9934 1.1 jruoho
9935 1.1 jruoho ------------------------------------------
9936 1.1 jruoho Summary of changes for this label: 04_13_01
9937 1.1 jruoho
9938 1.1 jruoho ACPI CA Core Subsystem:
9939 1.1 jruoho
9940 1.1 jruoho Restructured support for BufferFields and RegionFields.
9941 1.1 jruoho BankFields support is now fully operational. All known 32-bit
9942 1.1 jruoho limitations on field sizes have been removed. Both BufferFields
9943 1.1 jruoho and (Operation) RegionFields are now supported by the same field
9944 1.1 jruoho management code.
9945 1.1 jruoho
9946 1.1 jruoho Resource support now supports QWORD address and IO resources. The
9947 1.1 jruoho 16/32/64 bit address structures and the Extended IRQ structure
9948 1.1 jruoho have been changed to properly handle Source Resource strings.
9949 1.1 jruoho
9950 1.1 jruoho A ThreadId of -1 is now used to indicate a "mutex not acquired"
9951 1.1 jruoho condition internally and must never be returned by AcpiOsThreadId.
9952 1.1 jruoho This reserved value was changed from 0 since Unix systems allow a
9953 1.1 jruoho thread ID of 0.
9954 1.1 jruoho
9955 1.1 jruoho Linux:
9956 1.1 jruoho
9957 1.1 jruoho Driver code reorganized to enhance portability
9958 1.1 jruoho
9959 1.1 jruoho Added a kernel configuration option to control ACPI_DEBUG
9960 1.1 jruoho
9961 1.1 jruoho Fixed the EC driver to honor _GLK.
9962 1.1 jruoho
9963 1.1 jruoho ASL Compiler, version X2016:
9964 1.1 jruoho
9965 1.1 jruoho Fixed support for the "FixedHw" keyword. Previously, the FixedHw
9966 1.1 jruoho address space was set to 0, not 0x7f as it should be.
9967 1.1 jruoho
9968 1.1 jruoho ------------------------------------------
9969 1.1 jruoho Summary of changes for this label: 03_13_01
9970 1.1 jruoho
9971 1.1 jruoho ACPI CA Core Subsystem:
9972 1.1 jruoho
9973 1.1 jruoho During ACPI initialization, the _SB_._INI method is now run if
9974 1.1 jruoho present.
9975 1.1 jruoho
9976 1.1 jruoho Notify handler fix - notifies are deferred until the parent method
9977 1.1 jruoho completes execution. This fixes the "mutex already acquired"
9978 1.1 jruoho issue seen occasionally.
9979 1.1 jruoho
9980 1.1 jruoho Part of the "implicit conversion" rules in ACPI 2.0 have been
9981 1.1 jruoho found to cause compatibility problems with existing ASL/AML. The
9982 1.1 jruoho convert "result-to-target-type" implementation has been removed
9983 1.1 jruoho for stores to method Args and Locals. Source operand conversion
9984 1.1 jruoho is still fully implemented. Possible changes to ACPI 2.0
9985 1.1 jruoho specification pending.
9986 1.1 jruoho
9987 1.1 jruoho Fix to AcpiRsCalculatePciRoutingTableLength to return correct
9988 1.1 jruoho length.
9989 1.1 jruoho
9990 1.1 jruoho Fix for compiler warnings for 64-bit compiles.
9991 1.1 jruoho
9992 1.1 jruoho Linux:
9993 1.1 jruoho
9994 1.1 jruoho /proc output aligned for easier parsing.
9995 1.1 jruoho
9996 1.1 jruoho Release-version compile problem fixed.
9997 1.1 jruoho
9998 1.1 jruoho New kernel configuration options documented in Configure.help.
9999 1.1 jruoho
10000 1.1 jruoho IBM 600E - Fixed Sleep button may generate "Invalid <NULL>
10001 1.1 jruoho context" message.
10002 1.1 jruoho
10003 1.1 jruoho OSPM:
10004 1.1 jruoho
10005 1.1 jruoho Power resource driver integrated with bus manager.
10006 1.1 jruoho
10007 1.1 jruoho Fixed kernel fault during active cooling for thermal zones.
10008 1.1 jruoho
10009 1.1 jruoho Source Code:
10010 1.1 jruoho
10011 1.1 jruoho The source code tree has been restructured.
10012 1.1 jruoho
10013 1.1 jruoho
10014 1.1 jruoho
10015 1.1 jruoho ------------------------------------------
10016 1.1 jruoho Summary of changes for this label: 03_02_01
10017 1.1 jruoho
10018 1.1 jruoho Linux OS Services Layer (OSL):
10019 1.1 jruoho
10020 1.1 jruoho Major revision of all Linux-specific code.
10021 1.1 jruoho
10022 1.1 jruoho Modularized all ACPI-specific drivers.
10023 1.1 jruoho
10024 1.1 jruoho Added new thermal zone and power resource drivers.
10025 1.1 jruoho
10026 1.1 jruoho Revamped /proc interface (new functionality is under /proc/acpi).
10027 1.1 jruoho
10028 1.1 jruoho New kernel configuration options.
10029 1.1 jruoho
10030 1.1 jruoho Linux known issues:
10031 1.1 jruoho
10032 1.1 jruoho New kernel configuration options not documented in Configure.help
10033 1.1 jruoho yet.
10034 1.1 jruoho
10035 1.1 jruoho
10036 1.1 jruoho Module dependencies not currently implemented. If used, they
10037 1.1 jruoho should be loaded in this order: busmgr, power, ec, system,
10038 1.1 jruoho processor, battery, ac_adapter, button, thermal.
10039 1.1 jruoho
10040 1.1 jruoho Modules will not load if CONFIG_MODVERSION is set.
10041 1.1 jruoho
10042 1.1 jruoho IBM 600E - entering S5 may reboot instead of shutting down.
10043 1.1 jruoho
10044 1.1 jruoho IBM 600E - Sleep button may generate "Invalid <NULL> context"
10045 1.1 jruoho message.
10046 1.1 jruoho
10047 1.1 jruoho Some systems may fail with "execution mutex already acquired"
10048 1.1 jruoho message.
10049 1.1 jruoho
10050 1.1 jruoho ACPI CA Core Subsystem:
10051 1.1 jruoho
10052 1.1 jruoho Added a new OSL Interface, AcpiOsGetThreadId. This was required
10053 1.1 jruoho for the deadlock detection code. Defined to return a non-zero, 32-
10054 1.1 jruoho bit thread ID for the currently executing thread. May be a non-
10055 1.1 jruoho zero constant integer on single-thread systems.
10056 1.1 jruoho
10057 1.1 jruoho Implemented deadlock detection for internal subsystem mutexes. We
10058 1.1 jruoho may add conditional compilation for this code (debug only) later.
10059 1.1 jruoho
10060 1.1 jruoho ASL/AML Mutex object semantics are now fully supported. This
10061 1.1 jruoho includes multiple acquires/releases by owner and support for the
10062 1.1 jruoho
10063 1.1 jruoho Mutex SyncLevel parameter.
10064 1.1 jruoho
10065 1.1 jruoho A new "Force Release" mechanism automatically frees all ASL
10066 1.1 jruoho Mutexes that have been acquired but not released when a thread
10067 1.1 jruoho exits the interpreter. This forces conformance to the ACPI spec
10068 1.1 jruoho ("All mutexes must be released when an invocation exits") and
10069 1.1 jruoho prevents deadlocked ASL threads. This mechanism can be expanded
10070 1.1 jruoho (later) to monitor other resource acquisitions if OEM ASL code
10071 1.1 jruoho continues to misbehave (which it will).
10072 1.1 jruoho
10073 1.1 jruoho Several new ACPI exception codes have been added for the Mutex
10074 1.1 jruoho support.
10075 1.1 jruoho
10076 1.1 jruoho Recursive method calls are now allowed and supported (the ACPI
10077 1.1 jruoho spec does in fact allow recursive method calls.) The number of
10078 1.1 jruoho recursive calls is subject to the restrictions imposed by the
10079 1.1 jruoho SERIALIZED method keyword and SyncLevel (ACPI 2.0) method
10080 1.1 jruoho parameter.
10081 1.1 jruoho
10082 1.1 jruoho Implemented support for the SyncLevel parameter for control
10083 1.1 jruoho methods (ACPI 2.0 feature)
10084 1.1 jruoho
10085 1.1 jruoho Fixed a deadlock problem when multiple threads attempted to use
10086 1.1 jruoho the interpreter.
10087 1.1 jruoho
10088 1.1 jruoho Fixed a problem where the string length of a String package
10089 1.1 jruoho element was not always set in a package returned from
10090 1.1 jruoho AcpiEvaluateObject.
10091 1.1 jruoho
10092 1.1 jruoho Fixed a problem where the length of a String package element was
10093 1.1 jruoho not always included in the length of the overall package returned
10094 1.1 jruoho from AcpiEvaluateObject.
10095 1.1 jruoho
10096 1.1 jruoho Added external interfaces (Acpi*) to the ACPI debug memory
10097 1.1 jruoho manager. This manager keeps a list of all outstanding
10098 1.1 jruoho allocations, and can therefore detect memory leaks and attempts to
10099 1.1 jruoho free memory blocks more than once. Useful for code such as the
10100 1.1 jruoho power manager, etc. May not be appropriate for device drivers.
10101 1.1 jruoho Performance with the debug code enabled is slow.
10102 1.1 jruoho
10103 1.1 jruoho The ACPI Global Lock is now an optional hardware element.
10104 1.1 jruoho
10105 1.1 jruoho ASL Compiler Version X2015:
10106 1.1 jruoho
10107 1.1 jruoho Integrated changes to allow the compiler to be generated on
10108 1.1 jruoho multiple platforms.
10109 1.1 jruoho
10110 1.1 jruoho Linux makefile added to generate the compiler on Linux
10111 1.1 jruoho
10112 1.1 jruoho Source Code:
10113 1.1 jruoho
10114 1.1 jruoho All platform-specific headers have been moved to their own
10115 1.1 jruoho subdirectory, Include/Platform.
10116 1.1 jruoho
10117 1.1 jruoho New source file added, Interpreter/ammutex.c
10118 1.1 jruoho
10119 1.1 jruoho New header file, Include/acstruct.h
10120 1.1 jruoho
10121 1.1 jruoho Documentation:
10122 1.1 jruoho
10123 1.1 jruoho The programmer reference has been updated for the following new
10124 1.1 jruoho interfaces: AcpiOsGetThreadId AcpiAllocate AcpiCallocate AcpiFree
10125 1.1 jruoho
10126 1.1 jruoho ------------------------------------------
10127 1.1 jruoho Summary of changes for this label: 02_08_01
10128 1.1 jruoho
10129 1.1 jruoho Core ACPI CA Subsystem: Fixed a problem where an error was
10130 1.1 jruoho incorrectly returned if the return resource buffer was larger than
10131 1.1 jruoho the actual data (in the resource interfaces).
10132 1.1 jruoho
10133 1.1 jruoho References to named objects within packages are resolved to the
10134 1.1 jruoho
10135 1.1 jruoho full pathname string before packages are returned directly (via
10136 1.1 jruoho the AcpiEvaluateObject interface) or indirectly via the resource
10137 1.1 jruoho interfaces.
10138 1.1 jruoho
10139 1.1 jruoho Linux OS Services Layer (OSL):
10140 1.1 jruoho
10141 1.1 jruoho Improved /proc battery interface.
10142 1.1 jruoho
10143 1.1 jruoho
10144 1.1 jruoho Added C-state debugging output and other miscellaneous fixes.
10145 1.1 jruoho
10146 1.1 jruoho ASL Compiler Version X2014:
10147 1.1 jruoho
10148 1.1 jruoho All defined method arguments can now be used as local variables,
10149 1.1 jruoho including the ones that are not actually passed in as parameters.
10150 1.1 jruoho The compiler tracks initialization of the arguments and issues an
10151 1.1 jruoho exception if they are used without prior assignment (just like
10152 1.1 jruoho locals).
10153 1.1 jruoho
10154 1.1 jruoho The -o option now specifies a filename prefix that is used for all
10155 1.1 jruoho output files, including the AML output file. Otherwise, the
10156 1.1 jruoho default behavior is as follows: 1) the AML goes to the file
10157 1.1 jruoho specified in the DSDT. 2) all other output files use the input
10158 1.1 jruoho source filename as the base.
10159 1.1 jruoho
10160 1.1 jruoho ------------------------------------------
10161 1.1 jruoho Summary of changes for this label: 01_25_01
10162 1.1 jruoho
10163 1.1 jruoho Core ACPI CA Subsystem: Restructured the implementation of object
10164 1.1 jruoho store support within the interpreter. This includes support for
10165 1.1 jruoho the Store operator as well as any ASL operators that include a
10166 1.1 jruoho target operand.
10167 1.1 jruoho
10168 1.1 jruoho Partially implemented support for Implicit Result-to-Target
10169 1.1 jruoho conversion. This is when a result object is converted on the fly
10170 1.1 jruoho to the type of an existing target object. Completion of this
10171 1.1 jruoho support is pending further analysis of the ACPI specification
10172 1.1 jruoho concerning this matter.
10173 1.1 jruoho
10174 1.1 jruoho CPU-specific code has been removed from the subsystem (hardware
10175 1.1 jruoho directory).
10176 1.1 jruoho
10177 1.1 jruoho New Power Management Timer functions added
10178 1.1 jruoho
10179 1.1 jruoho Linux OS Services Layer (OSL): Moved system state transition code
10180 1.1 jruoho to the core, fixed it, and modified Linux OSL accordingly.
10181 1.1 jruoho
10182 1.1 jruoho Fixed C2 and C3 latency calculations.
10183 1.1 jruoho
10184 1.1 jruoho
10185 1.1 jruoho We no longer use the compilation date for the version message on
10186 1.1 jruoho initialization, but retrieve the version from AcpiGetSystemInfo().
10187 1.1 jruoho
10188 1.1 jruoho Incorporated for fix Sony VAIO machines.
10189 1.1 jruoho
10190 1.1 jruoho Documentation: The Programmer Reference has been updated and
10191 1.1 jruoho reformatted.
10192 1.1 jruoho
10193 1.1 jruoho
10194 1.1 jruoho ASL Compiler: Version X2013: Fixed a problem where the line
10195 1.1 jruoho numbering and error reporting could get out of sync in the
10196 1.1 jruoho presence of multiple include files.
10197 1.1 jruoho
10198 1.1 jruoho ------------------------------------------
10199 1.1 jruoho Summary of changes for this label: 01_15_01
10200 1.1 jruoho
10201 1.1 jruoho Core ACPI CA Subsystem:
10202 1.1 jruoho
10203 1.1 jruoho Implemented support for type conversions in the execution of the
10204 1.1 jruoho ASL Concatenate operator (The second operand is converted to
10205 1.1 jruoho match the type of the first operand before concatenation.)
10206 1.1 jruoho
10207 1.1 jruoho Support for implicit source operand conversion is partially
10208 1.1 jruoho implemented. The ASL source operand types Integer, Buffer, and
10209 1.1 jruoho String are freely interchangeable for most ASL operators and are
10210 1.1 jruoho converted by the interpreter on the fly as required. Implicit
10211 1.1 jruoho Target operand conversion (where the result is converted to the
10212 1.1 jruoho target type before storing) is not yet implemented.
10213 1.1 jruoho
10214 1.1 jruoho Support for 32-bit and 64-bit BCD integers is implemented.
10215 1.1 jruoho
10216 1.1 jruoho Problem fixed where a field read on an aligned field could cause a
10217 1.1 jruoho read past the end of the field.
10218 1.1 jruoho
10219 1.1 jruoho New exception, AE_AML_NO_RETURN_VALUE, is returned when a method
10220 1.1 jruoho does not return a value, but the caller expects one. (The ASL
10221 1.1 jruoho compiler flags this as a warning.)
10222 1.1 jruoho
10223 1.1 jruoho ASL Compiler:
10224 1.1 jruoho
10225 1.1 jruoho Version X2011:
10226 1.1 jruoho 1. Static typechecking of all operands is implemented. This
10227 1.1 jruoho prevents the use of invalid objects (such as using a Package where
10228 1.1 jruoho an Integer is required) at compile time instead of at interpreter
10229 1.1 jruoho run-time.
10230 1.1 jruoho 2. The ASL source line is printed with ALL errors and warnings.
10231 1.1 jruoho 3. Bug fix for source EOF without final linefeed.
10232 1.1 jruoho 4. Debug option is split into a parse trace and a namespace trace.
10233 1.1 jruoho 5. Namespace output option (-n) includes initial values for
10234 1.1 jruoho integers and strings.
10235 1.1 jruoho 6. Parse-only option added for quick syntax checking.
10236 1.1 jruoho 7. Compiler checks for duplicate ACPI name declarations
10237 1.1 jruoho
10238 1.1 jruoho Version X2012:
10239 1.1 jruoho 1. Relaxed typechecking to allow interchangeability between
10240 1.1 jruoho strings, integers, and buffers. These types are now converted by
10241 1.1 jruoho the interpreter at runtime.
10242 1.1 jruoho 2. Compiler reports time taken by each internal subsystem in the
10243 1.1 jruoho debug output file.
10244 1.1 jruoho
10245 1.1 jruoho
10246 1.1 jruoho ------------------------------------------
10247 1.1 jruoho Summary of changes for this label: 12_14_00
10248 1.1 jruoho
10249 1.1 jruoho ASL Compiler:
10250 1.1 jruoho
10251 1.1 jruoho This is the first official release of the compiler. Since the
10252 1.1 jruoho compiler requires elements of the Core Subsystem, this label
10253 1.1 jruoho synchronizes everything.
10254 1.1 jruoho
10255 1.1 jruoho ------------------------------------------
10256 1.1 jruoho Summary of changes for this label: 12_08_00
10257 1.1 jruoho
10258 1.1 jruoho
10259 1.1 jruoho Fixed a problem where named references within the ASL definition
10260 1.1 jruoho of both OperationRegions and CreateXXXFields did not work
10261 1.1 jruoho properly. The symptom was an AE_AML_OPERAND_TYPE during
10262 1.1 jruoho initialization of the region/field. This is similar (but not
10263 1.1 jruoho related internally) to the problem that was fixed in the last
10264 1.1 jruoho label.
10265 1.1 jruoho
10266 1.1 jruoho Implemented both 32-bit and 64-bit support for the BCD ASL
10267 1.1 jruoho functions ToBCD and FromBCD.
10268 1.1 jruoho
10269 1.1 jruoho Updated all legal headers to include "2000" in the copyright
10270 1.1 jruoho years.
10271 1.1 jruoho
10272 1.1 jruoho ------------------------------------------
10273 1.1 jruoho Summary of changes for this label: 12_01_00
10274 1.1 jruoho
10275 1.1 jruoho Fixed a problem where method invocations within the ASL definition
10276 1.1 jruoho of both OperationRegions and CreateXXXFields did not work
10277 1.1 jruoho properly. The symptom was an AE_AML_OPERAND_TYPE during
10278 1.1 jruoho initialization of the region/field:
10279 1.1 jruoho
10280 1.1 jruoho nsinit-0209: AE_AML_OPERAND_TYPE while getting region arguments
10281 1.1 jruoho [DEBG] ammonad-0284: Exec_monadic2_r/Not: bad operand(s)
10282 1.1 jruoho (0x3005)
10283 1.1 jruoho
10284 1.1 jruoho Fixed a problem where operators with more than one nested
10285 1.1 jruoho subexpression would fail. The symptoms were varied, by mostly
10286 1.1 jruoho AE_AML_OPERAND_TYPE errors. This was actually a rather serious
10287 1.1 jruoho problem that has gone unnoticed until now.
10288 1.1 jruoho
10289 1.1 jruoho Subtract (Add (1,2), Multiply (3,4))
10290 1.1 jruoho
10291 1.1 jruoho Fixed a problem where AcpiGetHandle didn't quite get fixed in the
10292 1.1 jruoho previous build (The prefix part of a relative path was handled
10293 1.1 jruoho incorrectly).
10294 1.1 jruoho
10295 1.1 jruoho Fixed a problem where Operation Region initialization failed if
10296 1.1 jruoho the operation region name was a "namepath" instead of a simple
10297 1.1 jruoho "nameseg". Symptom was an AE_NO_OPERAND error.
10298 1.1 jruoho
10299 1.1 jruoho Fixed a problem where an assignment to a local variable via the
10300 1.1 jruoho indirect RefOf mechanism only worked for the first such
10301 1.1 jruoho assignment. Subsequent assignments were ignored.
10302 1.1 jruoho
10303 1.1 jruoho ------------------------------------------
10304 1.1 jruoho Summary of changes for this label: 11_15_00
10305 1.1 jruoho
10306 1.1 jruoho ACPI 2.0 table support with backwards support for ACPI 1.0 and the
10307 1.1 jruoho 0.71 extensions. Note: although we can read ACPI 2.0 BIOS tables,
10308 1.1 jruoho the AML interpreter does NOT have support for the new 2.0 ASL
10309 1.1 jruoho grammar terms at this time.
10310 1.1 jruoho
10311 1.1 jruoho All ACPI hardware access is via the GAS structures in the ACPI 2.0
10312 1.1 jruoho FADT.
10313 1.1 jruoho
10314 1.1 jruoho All physical memory addresses across all platforms are now 64 bits
10315 1.1 jruoho wide. Logical address width remains dependent on the platform
10316 1.1 jruoho (i.e., "void *").
10317 1.1 jruoho
10318 1.1 jruoho AcpiOsMapMemory interface changed to a 64-bit physical address.
10319 1.1 jruoho
10320 1.1 jruoho The AML interpreter integer size is now 64 bits, as per the ACPI
10321 1.1 jruoho 2.0 specification.
10322 1.1 jruoho
10323 1.1 jruoho For backwards compatibility with ACPI 1.0, ACPI tables with a
10324 1.1 jruoho revision number less than 2 use 32-bit integers only.
10325 1.1 jruoho
10326 1.1 jruoho Fixed a problem where the evaluation of OpRegion operands did not
10327 1.1 jruoho always resolve them to numbers properly.
10328 1.1 jruoho
10329 1.1 jruoho ------------------------------------------
10330 1.1 jruoho Summary of changes for this label: 10_20_00
10331 1.1 jruoho
10332 1.1 jruoho Fix for CBN_._STA issue. This fix will allow correct access to
10333 1.1 jruoho CBN_ OpRegions when the _STA returns 0x8.
10334 1.1 jruoho
10335 1.1 jruoho Support to convert ACPI constants (Ones, Zeros, One) to actual
10336 1.1 jruoho values before a package object is returned
10337 1.1 jruoho
10338 1.1 jruoho Fix for method call as predicate to if/while construct causing
10339 1.1 jruoho incorrect if/while behavior
10340 1.1 jruoho
10341 1.1 jruoho Fix for Else block package lengths sometimes calculated wrong (if
10342 1.1 jruoho block > 63 bytes)
10343 1.1 jruoho
10344 1.1 jruoho Fix for Processor object length field, was always zero
10345 1.1 jruoho
10346 1.1 jruoho Table load abort if FACP sanity check fails
10347 1.1 jruoho
10348 1.1 jruoho Fix for problem with Scope(name) if name already exists
10349 1.1 jruoho
10350 1.1 jruoho Warning emitted if a named object referenced cannot be found
10351 1.1 jruoho (resolved) during method execution.
10352 1.1 jruoho
10353 1.1 jruoho
10354 1.1 jruoho
10355 1.1 jruoho
10356 1.1 jruoho
10357 1.1 jruoho ------------------------------------------
10358 1.1 jruoho Summary of changes for this label: 9_29_00
10359 1.1 jruoho
10360 1.1 jruoho New table initialization interfaces: AcpiInitializeSubsystem no
10361 1.1 jruoho longer has any parameters AcpiFindRootPointer - Find the RSDP (if
10362 1.1 jruoho necessary) AcpiLoadTables (RSDP) - load all tables found at RSDP-
10363 1.1 jruoho >RSDT Obsolete Interfaces AcpiLoadFirmwareTables - replaced by
10364 1.1 jruoho AcpiLoadTables
10365 1.1 jruoho
10366 1.1 jruoho Note: These interface changes require changes to all existing OSDs
10367 1.1 jruoho
10368 1.1 jruoho The PCI_Config default address space handler is always installed
10369 1.1 jruoho at the root namespace object.
10370 1.1 jruoho
10371 1.1 jruoho -------------------------------------------
10372 1.1 jruoho Summary of changes for this label: 09_15_00
10373 1.1 jruoho
10374 1.1 jruoho The new initialization architecture is implemented. New
10375 1.1 jruoho interfaces are: AcpiInitializeSubsystem (replaces AcpiInitialize)
10376 1.1 jruoho AcpiEnableSubsystem Obsolete Interfaces: AcpiLoadNamespace
10377 1.1 jruoho
10378 1.1 jruoho (Namespace is automatically loaded when a table is loaded)
10379 1.1 jruoho
10380 1.1 jruoho The ACPI_OPERAND_OBJECT has been optimized to shrink its size from
10381 1.1 jruoho 52 bytes to 32 bytes. There is usually one of these for every
10382 1.1 jruoho namespace object, so the memory savings is significant.
10383 1.1 jruoho
10384 1.1 jruoho Implemented just-in-time evaluation of the CreateField operators.
10385 1.1 jruoho
10386 1.1 jruoho Bug fixes for IA-64 support have been integrated.
10387 1.1 jruoho
10388 1.1 jruoho Additional code review comments have been implemented
10389 1.1 jruoho
10390 1.1 jruoho The so-called "third pass parse" has been replaced by a final walk
10391 1.1 jruoho through the namespace to initialize all operation regions (address
10392 1.1 jruoho spaces) and fields that have not yet been initialized during the
10393 1.1 jruoho execution of the various _INI and REG methods.
10394 1.1 jruoho
10395 1.1 jruoho New file - namespace/nsinit.c
10396 1.1 jruoho
10397 1.1 jruoho -------------------------------------------
10398 1.1 jruoho Summary of changes for this label: 09_01_00
10399 1.1 jruoho
10400 1.1 jruoho Namespace manager data structures have been reworked to change the
10401 1.1 jruoho primary object from a table to a single object. This has
10402 1.1 jruoho resulted in dynamic memory savings of 3X within the namespace and
10403 1.1 jruoho 2X overall in the ACPI CA subsystem.
10404 1.1 jruoho
10405 1.1 jruoho Fixed problem where the call to AcpiEvFindPciRootBuses was
10406 1.1 jruoho inadvertently left commented out.
10407 1.1 jruoho
10408 1.1 jruoho Reduced the warning count when generating the source with the GCC
10409 1.1 jruoho compiler.
10410 1.1 jruoho
10411 1.1 jruoho Revision numbers added to each module header showing the
10412 1.1 jruoho SourceSafe version of the file. Please refer to this version
10413 1.1 jruoho number when giving us feedback or comments on individual modules.
10414 1.1 jruoho
10415 1.1 jruoho The main object types within the subsystem have been renamed to
10416 1.1 jruoho clarify their purpose:
10417 1.1 jruoho
10418 1.1 jruoho ACPI_INTERNAL_OBJECT -> ACPI_OPERAND_OBJECT
10419 1.1 jruoho ACPI_GENERIC_OP -> ACPI_PARSE_OBJECT
10420 1.1 jruoho ACPI_NAME_TABLE_ENTRY -> ACPI_NAMESPACE_NODE
10421 1.1 jruoho
10422 1.1 jruoho NOTE: no changes to the initialization sequence are included in
10423 1.1 jruoho this label.
10424 1.1 jruoho
10425 1.1 jruoho -------------------------------------------
10426 1.1 jruoho Summary of changes for this label: 08_23_00
10427 1.1 jruoho
10428 1.1 jruoho Fixed problem where TerminateControlMethod was being called
10429 1.1 jruoho multiple times per method
10430 1.1 jruoho
10431 1.1 jruoho Fixed debugger problem where single stepping caused a semaphore to
10432 1.1 jruoho be oversignalled
10433 1.1 jruoho
10434 1.1 jruoho Improved performance through additional parse object caching -
10435 1.1 jruoho added ACPI_EXTENDED_OP type
10436 1.1 jruoho
10437 1.1 jruoho -------------------------------------------
10438 1.1 jruoho Summary of changes for this label: 08_10_00
10439 1.1 jruoho
10440 1.1 jruoho Parser/Interpreter integration: Eliminated the creation of
10441 1.1 jruoho complete parse trees for ACPI tables and control methods.
10442 1.1 jruoho Instead, parse subtrees are created and then deleted as soon as
10443 1.1 jruoho they are processed (Either entered into the namespace or executed
10444 1.1 jruoho by the interpreter). This reduces the use of dynamic kernel
10445 1.1 jruoho memory significantly. (about 10X)
10446 1.1 jruoho
10447 1.1 jruoho Exception codes broken into classes and renumbered. Be sure to
10448 1.1 jruoho recompile all code that includes acexcep.h. Hopefully we won't
10449 1.1 jruoho have to renumber the codes again now that they are split into
10450 1.1 jruoho classes (environment, programmer, AML code, ACPI table, and
10451 1.1 jruoho internal).
10452 1.1 jruoho
10453 1.1 jruoho Fixed some additional alignment issues in the Resource Manager
10454 1.1 jruoho subcomponent
10455 1.1 jruoho
10456 1.1 jruoho Implemented semaphore tracking in the AcpiExec utility, and fixed
10457 1.1 jruoho several places where mutexes/semaphores were being unlocked
10458 1.1 jruoho without a corresponding lock operation. There are no known
10459 1.1 jruoho semaphore or mutex "leaks" at this time.
10460 1.1 jruoho
10461 1.1 jruoho Fixed the case where an ASL Return operator is used to return an
10462 1.1 jruoho unnamed package.
10463 1.1 jruoho
10464 1.1 jruoho -------------------------------------------
10465 1.1 jruoho Summary of changes for this label: 07_28_00
10466 1.1 jruoho
10467 1.1 jruoho Fixed a problem with the way addresses were calculated in
10468 1.1 jruoho AcpiAmlReadFieldData() and AcpiAmlWriteFieldData(). This problem
10469 1.1 jruoho manifested itself when a Field was created with WordAccess or
10470 1.1 jruoho DwordAccess, but the field unit defined within the Field was less
10471 1.1 jruoho
10472 1.1 jruoho than a Word or Dword.
10473 1.1 jruoho
10474 1.1 jruoho Fixed a problem in AmlDumpOperands() module's loop to pull
10475 1.1 jruoho operands off of the operand stack to display information. The
10476 1.1 jruoho problem manifested itself as a TLB error on 64-bit systems when
10477 1.1 jruoho accessing an operand stack with two or more operands.
10478 1.1 jruoho
10479 1.1 jruoho Fixed a problem with the PCI configuration space handlers where
10480 1.1 jruoho context was getting confused between accesses. This required a
10481 1.1 jruoho change to the generic address space handler and address space
10482 1.1 jruoho setup definitions. Handlers now get both a global handler context
10483 1.1 jruoho (this is the one passed in by the user when executing
10484 1.1 jruoho AcpiInstallAddressSpaceHandler() and a specific region context
10485 1.1 jruoho that is unique to each region (For example, the _ADR, _SEG and
10486 1.1 jruoho _BBN values associated with a specific region). The generic
10487 1.1 jruoho function definitions have changed to the following:
10488 1.1 jruoho
10489 1.1 jruoho typedef ACPI_STATUS (*ADDRESS_SPACE_HANDLER) ( UINT32 Function,
10490 1.1 jruoho UINT32 Address, UINT32 BitWidth, UINT32 *Value, void
10491 1.1 jruoho *HandlerContext, // This used to be void *Context void
10492 1.1 jruoho *RegionContext); // This is an additional parameter
10493 1.1 jruoho
10494 1.1 jruoho typedef ACPI_STATUS (*ADDRESS_SPACE_SETUP) ( ACPI_HANDLE
10495 1.1 jruoho RegionHandle, UINT32 Function, void *HandlerContext, void
10496 1.1 jruoho **RegionContext); // This used to be **ReturnContext
10497 1.1 jruoho
10498 1.1 jruoho -------------------------------------------
10499 1.1 jruoho Summary of changes for this label: 07_21_00
10500 1.1 jruoho
10501 1.1 jruoho Major file consolidation and rename. All files within the
10502 1.1 jruoho interpreter have been renamed as well as most header files. This
10503 1.1 jruoho was done to prevent collisions with existing files in the host
10504 1.1 jruoho OSs -- filenames such as "config.h" and "global.h" seem to be
10505 1.1 jruoho quite common. The VC project files have been updated. All
10506 1.1 jruoho makefiles will require modification.
10507 1.1 jruoho
10508 1.1 jruoho The parser/interpreter integration continues in Phase 5 with the
10509 1.1 jruoho implementation of a complete 2-pass parse (the AML is parsed
10510 1.1 jruoho twice) for each table; This avoids the construction of a huge
10511 1.1 jruoho parse tree and therefore reduces the amount of dynamic memory
10512 1.1 jruoho required by the subsystem. Greater use of the parse object cache
10513 1.1 jruoho means that performance is unaffected.
10514 1.1 jruoho
10515 1.1 jruoho Many comments from the two code reviews have been rolled in.
10516 1.1 jruoho
10517 1.1 jruoho The 64-bit alignment support is complete.
10518 1.1 jruoho
10519 1.1 jruoho -------------------------------------------
10520 1.1 jruoho Summary of changes for this label: 06_30_00
10521 1.1 jruoho
10522 1.1 jruoho With a nod and a tip of the hat to the technology of yesteryear,
10523 1.1 jruoho we've added support in the source code for 80 column output
10524 1.1 jruoho devices. The code is now mostly constrained to 80 columns or
10525 1.1 jruoho less to support environments and editors that 1) cannot display
10526 1.1 jruoho or print more than 80 characters on a single line, and 2) cannot
10527 1.1 jruoho disable line wrapping.
10528 1.1 jruoho
10529 1.1 jruoho A major restructuring of the namespace data structure has been
10530 1.1 jruoho completed. The result is 1) cleaner and more
10531 1.1 jruoho understandable/maintainable code, and 2) a significant reduction
10532 1.1 jruoho in the dynamic memory requirement for each named ACPI object
10533 1.1 jruoho (almost half).
10534 1.1 jruoho
10535 1.1 jruoho -------------------------------------------
10536 1.1 jruoho Summary of changes for this label: 06_23_00
10537 1.1 jruoho
10538 1.1 jruoho Linux support has been added. In order to obtain approval to get
10539 1.1 jruoho the ACPI CA subsystem into the Linux kernel, we've had to make
10540 1.1 jruoho quite a few changes to the base subsystem that will affect all
10541 1.1 jruoho users (all the changes are generic and OS- independent). The
10542 1.1 jruoho effects of these global changes have been somewhat far reaching.
10543 1.1 jruoho Files have been merged and/or renamed and interfaces have been
10544 1.1 jruoho renamed. The major changes are described below.
10545 1.1 jruoho
10546 1.1 jruoho Osd* interfaces renamed to AcpiOs* to eliminate namespace
10547 1.1 jruoho pollution/confusion within our target kernels. All OSD
10548 1.1 jruoho interfaces must be modified to match the new naming convention.
10549 1.1 jruoho
10550 1.1 jruoho Files merged across the subsystem. A number of the smaller source
10551 1.1 jruoho and header files have been merged to reduce the file count and
10552 1.1 jruoho increase the density of the existing files. There are too many
10553 1.1 jruoho to list here. In general, makefiles that call out individual
10554 1.1 jruoho files will require rebuilding.
10555 1.1 jruoho
10556 1.1 jruoho Interpreter files renamed. All interpreter files now have the
10557 1.1 jruoho prefix am* instead of ie* and is*.
10558 1.1 jruoho
10559 1.1 jruoho Header files renamed: The acapi.h file is now acpixf.h. The
10560 1.1 jruoho acpiosd.h file is now acpiosxf.h. We are removing references to
10561 1.1 jruoho the acronym "API" since it is somewhat windowsy. The new name is
10562 1.1 jruoho "external interface" or xface or xf in the filenames.j
10563 1.1 jruoho
10564 1.1 jruoho
10565 1.1 jruoho All manifest constants have been forced to upper case (some were
10566 1.1 jruoho mixed case.) Also, the string "ACPI_" has been prepended to many
10567 1.1 jruoho (not all) of the constants, typedefs, and structs.
10568 1.1 jruoho
10569 1.1 jruoho The globals "DebugLevel" and "DebugLayer" have been renamed
10570 1.1 jruoho "AcpiDbgLevel" and "AcpiDbgLayer" respectively.
10571 1.1 jruoho
10572 1.1 jruoho All other globals within the subsystem are now prefixed with
10573 1.1 jruoho "AcpiGbl_" Internal procedures within the subsystem are now
10574 1.1 jruoho prefixed with "Acpi" (with only a few exceptions). The original
10575 1.1 jruoho two-letter abbreviation for the subcomponent remains after "Acpi"
10576 1.1 jruoho - for example, CmCallocate became AcpiCmCallocate.
10577 1.1 jruoho
10578 1.1 jruoho Added a source code translation/conversion utility. Used to
10579 1.1 jruoho generate the Linux source code, it can be modified to generate
10580 1.1 jruoho other types of source as well. Can also be used to cleanup
10581 1.1 jruoho existing source by removing extraneous spaces and blank lines.
10582 1.1 jruoho Found in tools/acpisrc/*
10583 1.1 jruoho
10584 1.1 jruoho OsdUnMapMemory was renamed to OsdUnmapMemory and then
10585 1.1 jruoho AcpiOsUnmapMemory. (UnMap became Unmap).
10586 1.1 jruoho
10587 1.1 jruoho A "MaxUnits" parameter has been added to AcpiOsCreateSemaphore.
10588 1.1 jruoho When set to one, this indicates that the caller wants to use the
10589 1.1 jruoho
10590 1.1 jruoho semaphore as a mutex, not a counting semaphore. ACPI CA uses
10591 1.1 jruoho both types. However, implementers of this call may want to use
10592 1.1 jruoho different OS primitives depending on the type of semaphore
10593 1.1 jruoho requested. For example, some operating systems provide separate
10594 1.1 jruoho
10595 1.1 jruoho "mutex" and "semaphore" interfaces - where the mutex interface is
10596 1.1 jruoho much faster because it doesn't have all the overhead of a full
10597 1.1 jruoho semaphore implementation.
10598 1.1 jruoho
10599 1.1 jruoho Fixed a deadlock problem where a method that accesses the PCI
10600 1.1 jruoho address space can block forever if it is the first access to the
10601 1.1 jruoho space.
10602 1.1 jruoho
10603 1.1 jruoho -------------------------------------------
10604 1.1 jruoho Summary of changes for this label: 06_02_00
10605 1.1 jruoho
10606 1.1 jruoho Support for environments that cannot handle unaligned data
10607 1.1 jruoho accesses (e.g. firmware and OS environments devoid of alignment
10608 1.1 jruoho handler technology namely SAL/EFI and the IA-64 Linux kernel) has
10609 1.1 jruoho been added (via configurable macros) in these three areas: -
10610 1.1 jruoho Transfer of data from the raw AML byte stream is done via byte
10611 1.1 jruoho moves instead of word/dword/qword moves. - External objects are
10612 1.1 jruoho aligned within the user buffer, including package elements (sub-
10613 1.1 jruoho objects). - Conversion of name strings to UINT32 Acpi Names is now
10614 1.1 jruoho done byte-wise.
10615 1.1 jruoho
10616 1.1 jruoho The Store operator was modified to mimic Microsoft's
10617 1.1 jruoho implementation when storing to a Buffer Field.
10618 1.1 jruoho
10619 1.1 jruoho Added a check of the BM_STS bit before entering C3.
10620 1.1 jruoho
10621 1.1 jruoho The methods subdirectory has been obsoleted and removed. A new
10622 1.1 jruoho file, cmeval.c subsumes the functionality.
10623 1.1 jruoho
10624 1.1 jruoho A 16-bit (DOS) version of AcpiExec has been developed. The
10625 1.1 jruoho makefile is under the acpiexec directory.
10626