Subversion Repositories Kolibri OS

Rev

Rev 1498 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1498 Rev 2216
Line 1... Line 1...
1
----------------------------------------
1
----------------------------------------
-
 
2
23 June 2011. Summary of changes for version 20110623:
-
 
3
 
-
 
4
1) ACPI CA Core Subsystem:
-
 
5
 
-
 
6
Updated the predefined name repair mechanism to not attempt repair of a _TSS 
-
 
7
return object if a _PSS object is present. We can only sort the _TSS return 
-
 
8
package if there is no _PSS within the same scope. This is because if _PSS is 
-
 
9
present, the ACPI specification dictates that the _TSS Power Dissipation field 
-
 
10
is to be ignored, and therefore some BIOSs leave garbage values in the _TSS 
-
 
11
Power field(s). In this case, it is best to just return the _TSS package as-
-
 
12
is. Reported by, and fixed with assistance from Fenghua Yu.
-
 
13
 
-
 
14
Added an option to globally disable the control method return value validation 
-
 
15
and repair. This runtime option can be used to disable return value repair if 
-
 
16
this is causing a problem on a particular machine. Also added an option to 
-
 
17
AcpiExec (-dr) to set this disable flag.
-
 
18
 
-
 
19
All makefiles and project files: Major changes to improve generation of ACPICA 
-
 
20
tools. ACPICA BZ 912:
-
 
21
    Reduce default optimization levels to improve compatibility
-
 
22
    For Linux, add strict-aliasing=0 for gcc 4
-
 
23
    Cleanup and simplify use of command line defines
-
 
24
    Cleanup multithread library support
-
 
25
    Improve usage messages
-
 
26
 
-
 
27
Linux-specific header: update handling of THREAD_ID and pthread. For the 32-
-
 
28
bit case, improve casting to eliminate possible warnings, especially with the 
-
 
29
acpica tools.
-
 
30
 
-
 
31
Example Code and Data Size: These are the sizes for the OS-independent 
-
 
32
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The debug 
-
 
33
version of the code includes the debug output trace mechanism and has a much 
-
 
34
larger code and data size.
-
 
35
 
-
 
36
  Previous Release (VC 9.0):
-
 
37
    Non-Debug Version:  90.1K Code, 23.9K Data, 114.0K Total
-
 
38
    Debug Version:     165.6K Code, 68.4K Data, 234.0K Total
-
 
39
  Current Release (VC 9.0):
-
 
40
    Non-Debug Version:  90.2K Code, 23.9K Data, 114.1K Total
-
 
41
    Debug Version:     165.6K Code, 68.4K Data, 234.0K Total
-
 
42
 
-
 
43
2) iASL Compiler/Disassembler and Tools:
-
 
44
 
-
 
45
With this release, a new utility named "acpihelp" has been added to the ACPICA 
-
 
46
package. This utility summarizes the ACPI specification chapters for the ASL 
-
 
47
and AML languages. It generates under Linux/Unix as well as Windows, and 
-
 
48
provides the following functionality:
-
 
49
    Find/display ASL operator(s) -- with description and syntax.
-
 
50
    Find/display ASL keyword(s) -- with exact spelling and descriptions.
-
 
51
    Find/display ACPI predefined name(s) -- with description, number
-
 
52
        of arguments, and the return value data type.
-
 
53
    Find/display AML opcode name(s) -- with opcode, arguments, and grammar.
-
 
54
    Decode/display AML opcode -- with opcode name, arguments, and grammar.
-
 
55
 
-
 
56
Service Layers: Make multi-thread support configurable. Conditionally compile 
-
 
57
the multi-thread support so that threading libraries will not be linked if not 
-
 
58
necessary. The only tool that requires multi-thread support is AcpiExec.
-
 
59
 
-
 
60
iASL: Update yyerrror/AslCompilerError for "const" errors. Newer versions of 
-
 
61
Bison appear to want the interface to yyerror to be a const char * (or at 
-
 
62
least this is a problem when generating iASL on some systems.) ACPICA BZ 923 
-
 
63
Pierre Lejeune.
-
 
64
 
-
 
65
Tools: Fix for systems where O_BINARY is not defined. Only used for Windows 
-
 
66
versions of the tools.
-
 
67
 
-
 
68
----------------------------------------
2
28 May 2010. Summary of changes for version 20100528:
69
27 May 2011. Summary of changes for version 20110527:
-
 
70
 
-
 
71
1) ACPI CA Core Subsystem:
-
 
72
 
-
 
73
ASL Load() operator: Reinstate most restrictions on the incoming ACPI table 
-
 
74
signature. Now, only allow SSDT, OEMx, and a null signature. History:
-
 
75
    1) Originally, we checked the table signature for "SSDT" or "PSDT".
-
 
76
       (PSDT is now obsolete.)
-
 
77
    2) We added support for OEMx tables, signature "OEM" plus a fourth
-
 
78
       "don't care" character.
-
 
79
    3) Valid tables were encountered with a null signature, so we just
-
 
80
       gave up on validating the signature, (05/2008).
-
 
81
    4) We encountered non-AML tables such as the MADT, which caused
-
 
82
       interpreter errors and kernel faults. So now, we once again allow
-
 
83
       only SSDT, OEMx, and now, also a null signature. (05/2011).
-
 
84
 
-
 
85
Added the missing _TDL predefined name to the global name list in order to 
-
 
86
enable validation. Affects both the core ACPICA code and the iASL compiler.
-
 
87
 
-
 
88
Example Code and Data Size: These are the sizes for the OS-independent 
-
 
89
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The debug 
-
 
90
version of the code includes the debug output trace mechanism and has a much 
-
 
91
larger code and data size.
-
 
92
 
-
 
93
  Previous Release (VC 9.0):
-
 
94
    Non-Debug Version:  90.0K Code, 23.8K Data, 113.8K Total
-
 
95
    Debug Version:     164.5K Code, 68.0K Data, 232.5K Total
-
 
96
  Current Release (VC 9.0):
-
 
97
    Non-Debug Version:  90.1K Code, 23.9K Data, 114.0K Total
-
 
98
    Debug Version:     165.6K Code, 68.4K Data, 234.0K Total
-
 
99
 
-
 
100
2) iASL Compiler/Disassembler and Tools:
-
 
101
 
-
 
102
Debugger/AcpiExec: Implemented support for "complex" method arguments on the 
-
 
103
debugger command line. This adds support beyond simple integers -- including 
-
 
104
Strings, Buffers, and Packages. Includes support for nested packages. 
-
 
105
Increased the default command line buffer size to accommodate these arguments. 
-
 
106
See the ACPICA reference for details and syntax. ACPICA BZ 917.
-
 
107
 
-
 
108
Debugger/AcpiExec: Implemented support for "default" method arguments for the 
-
 
109
Execute/Debug command. Now, the debugger will always invoke a control method 
-
 
110
with the required number of arguments -- even if the command line specifies 
-
 
111
none or insufficient arguments. It uses default integer values for any missing 
-
 
112
arguments. Also fixes a bug where only six method arguments maximum were 
-
 
113
supported instead of the required seven.
-
 
114
 
-
 
115
Debugger/AcpiExec: Add a maximum buffer length parameter to AcpiOsGetLine and 
-
 
116
also return status in order to prevent buffer overruns. See the ACPICA 
-
 
117
reference for details and syntax. ACPICA BZ 921
-
 
118
 
-
 
119
iASL: Cleaned up support for Berkeley yacc. A general cleanup of code and 
-
 
120
makefiles to simplify support for the two different but similar parser 
-
 
121
generators, bison and yacc.
-
 
122
 
-
 
123
Updated the generic unix makefile for gcc 4. The default gcc version is now 
-
 
124
expected to be 4 or greater, since options specific to gcc 4 are used.
-
 
125
 
-
 
126
----------------------------------------
-
 
127
13 April 2011. Summary of changes for version 20110413:
-
 
128
 
-
 
129
1) ACPI CA Core Subsystem:
-
 
130
 
-
 
131
Implemented support to execute a so-called "orphan" _REG method under the EC 
-
 
132
device. This change will force the execution of a _REG method underneath the 
-
 
133
EC 
-
 
134
device even if there is no corresponding operation region of type 
-
 
135
EmbeddedControl. Fixes a problem seen on some machines and apparently is 
-
 
136
compatible with Windows behavior. ACPICA BZ 875.
-
 
137
 
-
 
138
Added more predefined methods that are eligible for automatic NULL package 
-
 
139
element removal. This change adds another group of predefined names to the 
-
 
140
list 
-
 
141
of names that can be repaired by having NULL package elements dynamically 
-
 
142
removed. This group are those methods that return a single variable-length 
-
 
143
package containing simple data types such as integers, buffers, strings. This 
-
 
144
includes: _ALx, _BCL, _CID,_ DOD, _EDL, _FIX, _PCL, _PLD, _PMD, _PRx, _PSL, 
-
 
145
_Sx, 
-
 
146
and _TZD. ACPICA BZ 914.
-
 
147
 
-
 
148
Split and segregated all internal global lock functions to a new file, 
-
 
149
evglock.c.
-
 
150
 
-
 
151
Updated internal address SpaceID for DataTable regions. Moved this internal 
-
 
152
space 
-
 
153
id in preparation for ACPI 5.0 changes that will include some new space IDs. 
-
 
154
This 
-
 
155
change should not affect user/host code.
-
 
156
 
-
 
157
Example Code and Data Size: These are the sizes for the OS-independent 
-
 
158
acpica.lib 
-
 
159
produced by the Microsoft Visual C++ 9.0 32-bit compiler. The debug version of 
-
 
160
the code includes the debug output trace mechanism and has a much larger code 
-
 
161
and 
-
 
162
data size.
-
 
163
 
-
 
164
  Previous Release (VC 9.0):
-
 
165
    Non-Debug Version:  89.8K Code, 23.8K Data, 113.6K Total
-
 
166
    Debug Version:     164.2K Code, 67.9K Data, 232.1K Total
-
 
167
  Current Release (VC 9.0):
-
 
168
    Non-Debug Version:  90.0K Code, 23.8K Data, 113.8K Total
-
 
169
    Debug Version:     164.5K Code, 68.0K Data, 232.5K Total
-
 
170
 
-
 
171
2) iASL Compiler/Disassembler and Tools:
-
 
172
 
-
 
173
iASL/DTC: Major update for new grammar features. Allow generic data types in 
-
 
174
custom ACPI tables. Field names are now optional. Any line can be split to 
-
 
175
multiple lines using the continuation char (\). Large buffers now use line-
-
 
176
continuation character(s) and no colon on the continuation lines. See the 
-
 
177
grammar 
-
 
178
update in the iASL compiler reference. ACPI BZ 910,911. Lin Ming, Bob Moore.
-
 
179
 
-
 
180
iASL: Mark ASL "Return()" and the simple "Return" as "Null" return statements. 
-
 
181
Since the parser stuffs a "zero" as the return value for these statements (due 
-
 
182
to 
-
 
183
the underlying AML grammar), they were seen as "return with value" by the iASL 
-
 
184
semantic checking. They are now seen correctly as "null" return statements.
-
 
185
 
-
 
186
iASL: Check if a_REG declaration has a corresponding Operation Region. Adds a 
-
 
187
check for each _REG to ensure that there is in fact a corresponding operation 
-
 
188
region declaration in the same scope. If not, the _REG method is not very 
-
 
189
useful 
-
 
190
since it probably won't be executed. ACPICA BZ 915.
-
 
191
 
-
 
192
iASL/DTC: Finish support for expression evaluation. Added a new expression 
-
 
193
parser 
-
 
194
that implements c-style operator precedence and parenthesization. ACPICA 
-
 
195
bugzilla 
-
 
196
908.
-
 
197
 
-
 
198
Disassembler/DTC: Remove support for () and <> style comments in data tables. 
-
 
199
Now 
-
 
200
that DTC has full expression support, we don't want to have comment strings 
-
 
201
that 
-
 
202
start with a parentheses or a less-than symbol. Now, only the standard /* and 
-
 
203
// 
-
 
204
comments are supported, as well as the bracket [] comments.
-
 
205
 
-
 
206
AcpiXtract: Fix for RSDP and dynamic SSDT extraction. These tables have 
-
 
207
"unusual" 
-
 
208
headers in the acpidump file. Update the header validation to support these 
-
 
209
tables. Problem introduced in previous AcpiXtract version in the change to 
-
 
210
support "wrong checksum" error messages emitted by acpidump utility.
-
 
211
 
-
 
212
iASL: Add a * option to generate all template files (as a synonym for ALL) as 
-
 
213
in 
-
 
214
"iasl -T *" or "iasl -T ALL".
-
 
215
 
-
 
216
iASL/DTC: Do not abort compiler on fatal errors. We do not want to completely 
-
 
217
abort the compiler on "fatal" errors, simply should abort the current compile. 
-
 
218
This allows multiple compiles with a single (possibly wildcard) compiler 
-
 
219
invocation.
-
 
220
 
-
 
221
----------------------------------------
-
 
222
16 March 2011. Summary of changes for version 20110316:
-
 
223
 
-
 
224
1) ACPI CA Core Subsystem:
-
 
225
 
-
 
226
Fixed a problem caused by a _PRW method appearing at the namespace root scope 
-
 
227
during the setup of wake GPEs. A fault could occur if a _PRW directly under 
-
 
228
the 
-
 
229
root object was passed to the AcpiSetupGpeForWake interface. Lin Ming.
-
 
230
 
-
 
231
Implemented support for "spurious" Global Lock interrupts. On some systems, a 
-
 
232
global lock interrupt can occur without the pending flag being set. Upon a GL 
-
 
233
interrupt, we now ensure that a thread is actually waiting for the lock before 
-
 
234
signaling GL availability. Rafael Wysocki, Bob Moore.
-
 
235
 
-
 
236
Example Code and Data Size: These are the sizes for the OS-independent 
-
 
237
acpica.lib 
-
 
238
produced by the Microsoft Visual C++ 9.0 32-bit compiler. The debug version of 
-
 
239
the code includes the debug output trace mechanism and has a much larger code 
-
 
240
and 
-
 
241
data size.
-
 
242
 
-
 
243
  Previous Release (VC 9.0):
-
 
244
    Non-Debug Version:  89.7K Code, 23.7K Data, 113.4K Total
-
 
245
    Debug Version:     163.9K Code, 67.5K Data, 231.4K Total
-
 
246
  Current Release (VC 9.0):
-
 
247
    Non-Debug Version:  89.8K Code, 23.8K Data, 113.6K Total
-
 
248
    Debug Version:     164.2K Code, 67.9K Data, 232.1K Total
-
 
249
 
-
 
250
2) iASL Compiler/Disassembler and Tools:
-
 
251
 
-
 
252
Implemented full support for the "SLIC" ACPI table. Includes support in the 
-
 
253
header files, disassembler, table compiler, and template generator. Bob Moore, 
-
 
254
Lin Ming.
-
 
255
 
-
 
256
AcpiXtract: Correctly handle embedded comments and messages from AcpiDump. 
-
 
257
Apparently some or all versions of acpidump will occasionally emit a comment 
-
 
258
like 
-
 
259
"Wrong checksum", etc., into the dump file. This was causing problems for 
-
 
260
AcpiXtract. ACPICA BZ 905.
-
 
261
 
-
 
262
iASL: Fix the Linux makefile by removing an inadvertent double file inclusion. 
-
 
263
ACPICA BZ 913.
-
 
264
 
-
 
265
AcpiExec: Update installation of operation region handlers. Install one 
-
 
266
handler 
-
 
267
for a user-defined address space. This is used by the ASL test suite (ASLTS).
-
 
268
 
-
 
269
----------------------------------------
-
 
270
11 February 2011. Summary of changes for version 20110211:
-
 
271
 
-
 
272
1) ACPI CA Core Subsystem:
-
 
273
 
-
 
274
Added a mechanism to defer _REG methods for some early-installed handlers. 
-
 
275
Most user handlers should be installed before call to AcpiEnableSubsystem. 
-
 
276
However, Event handlers and region handlers should be installed after 
-
 
277
AcpiInitializeObjects. Override handlers for the "default" regions should be 
-
 
278
installed early, however. This change executes all _REG methods for the 
-
 
279
default regions (Memory/IO/PCI/DataTable) simultaneously to prevent any 
-
 
280
chicken/egg issues between them. ACPICA BZ 848.
-
 
281
 
-
 
282
Implemented an optimization for GPE detection. This optimization will simply 
-
 
283
ignore GPE registers that contain no enabled GPEs -- there is no need to 
-
 
284
read the register since this information is available internally. This 
-
 
285
becomes more important on machines with a large GPE space. ACPICA bugzilla 
-
 
286
884. Lin Ming. Suggestion from Joe Liu.
-
 
287
 
-
 
288
Removed all use of the highly unreliable FADT revision field. The revision 
-
 
289
number in the FADT has been found to be completely unreliable and cannot be 
-
 
290
trusted. Only the actual table length can be used to infer the version. This 
-
 
291
change updates the ACPICA core and the disassembler so that both no longer 
-
 
292
even look at the FADT version and instead depend solely upon the FADT 
-
 
293
length.
-
 
294
 
-
 
295
Fix an unresolved name issue for the no-debug and no-error-message source 
-
 
296
generation cases. The _AcpiModuleName was left undefined in these cases, but 
-
 
297
it is actually needed as a parameter to some interfaces. Define 
-
 
298
_AcpiModuleName as a null string in these cases. ACPICA Bugzilla 888.
-
 
299
 
-
 
300
Split several large files (makefiles and project files updated)
-
 
301
  utglobal.c   -> utdecode.c
-
 
302
  dbcomds.c    -> dbmethod.c dbnames.c
-
 
303
  dsopcode.c   -> dsargs.c dscontrol.c
-
 
304
  dsload.c     -> dsload2.c
-
 
305
  aslanalyze.c -> aslbtypes.c aslwalks.c
-
 
306
 
-
 
307
Example Code and Data Size: These are the sizes for the OS-independent 
-
 
308
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The 
-
 
309
debug version of the code includes the debug output trace mechanism and has 
-
 
310
a much larger code and data size.
-
 
311
 
-
 
312
  Previous Release (VC 9.0):
-
 
313
    Non-Debug Version:  89.7K Code, 23.7K Data, 113.4K Total
-
 
314
    Debug Version:     163.9K Code, 67.5K Data, 231.4K Total
-
 
315
  Current Release (VC 9.0):
-
 
316
    Non-Debug Version:  89.7K Code, 23.7K Data, 113.4K Total
-
 
317
    Debug Version:     163.9K Code, 67.5K Data, 231.4K Total
-
 
318
 
-
 
319
2) iASL Compiler/Disassembler and Tools:
-
 
320
 
-
 
321
iASL: Implemented the predefined macros __LINE__, __FILE__, and __DATE__. 
-
 
322
These are useful C-style macros with the standard definitions. ACPICA 
-
 
323
bugzilla 898.
-
 
324
 
-
 
325
iASL/DTC: Added support for integer expressions and labels. Support for full 
-
 
326
expressions for all integer fields in all ACPI tables. Support for labels in 
-
 
327
"generic" portions of tables such as UEFI. See the iASL reference manual.
-
 
328
 
-
 
329
Debugger: Added a command to display the status of global handlers. The 
-
 
330
"handlers" command will display op region, fixed event, and miscellaneous 
-
 
331
global handlers. installation status -- and for op regions, whether default 
-
 
332
or user-installed handler will be used.
-
 
333
 
-
 
334
iASL: Warn if reserved method incorrectly returns a value. Many predefined 
-
 
335
names are defined such that they do not return a value. If implemented as a 
-
 
336
method, issue a warning if such a name explicitly returns a value. ACPICA 
-
 
337
Bugzilla 855.
-
 
338
 
-
 
339
iASL: Added detection of GPE method name conflicts. Detects a conflict where 
-
 
340
there are two GPE methods of the form _Lxy and _Exy in the same scope. (For 
-
 
341
example, _L1D and _E1D in the same scope.) ACPICA bugzilla 848.
-
 
342
 
-
 
343
iASL/DTC: Fixed a couple input scanner issues with comments and line 
-
 
344
numbers. Comment remover could get confused and miss a comment ending. Fixed 
-
 
345
a problem with line counter maintenance.
-
 
346
 
-
 
347
iASL/DTC: Reduced the severity of some errors from fatal to error. There is 
-
 
348
no need to abort on simple errors within a field definition.
-
 
349
 
-
 
350
Debugger: Simplified the output of the help command. All help output now in 
-
 
351
a single screen, instead of help subcommands. ACPICA Bugzilla 897.
-
 
352
 
-
 
353
----------------------------------------
-
 
354
12 January 2011. Summary of changes for version 20110112:
-
 
355
 
-
 
356
1) ACPI CA Core Subsystem:
-
 
357
 
-
 
358
Fixed a race condition between method execution and namespace walks that can 
-
 
359
possibly cause a fault. The problem was apparently introduced in version 
-
 
360
20100528 as a result of a performance optimization that reduces the number of 
-
 
361
namespace walks upon method exit by using the delete_namespace_subtree 
-
 
362
function instead of the delete_namespace_by_owner function used previously. 
-
 
363
Bug is a missing namespace lock in the delete_namespace_subtree function. 
-
 
364
dana.myers@oracle.com
-
 
365
 
-
 
366
Fixed several issues and a possible fault with the automatic "serialized" 
-
 
367
method support. History: This support changes a method to "serialized" on the 
-
 
368
fly if the method generates an AE_ALREADY_EXISTS error, indicating the 
-
 
369
possibility that it cannot handle reentrancy. This fix repairs a couple of 
-
 
370
issues seen in the field, especially on machines with many cores:
-
 
371
 
-
 
372
    1) Delete method children only upon the exit of the last thread,
-
 
373
       so as to not delete objects out from under other running threads
-
 
374
      (and possibly causing a fault.)
-
 
375
    2) Set the "serialized" bit for the method only upon the exit of the
-
 
376
       Last thread, so as to not cause deadlock when running threads
-
 
377
       attempt to exit.
-
 
378
    3) Cleanup the use of the AML "MethodFlags" and internal method flags
-
 
379
       so that there is no longer any confusion between the two.
-
 
380
 
-
 
381
    Lin Ming, Bob Moore. Reported by dana.myers@oracle.com.
-
 
382
 
-
 
383
Debugger: Now lock the namespace for duration of a namespace dump. Prevents 
-
 
384
issues if the namespace is changing dynamically underneath the debugger. 
-
 
385
Especially affects temporary namespace nodes, since the debugger displays 
-
 
386
these also.
Line -... Line 387...
-
 
387
 
-
 
388
Updated the ordering of include files. The ACPICA headers should appear 
-
 
389
before any compiler-specific headers (stdio.h, etc.) so that acenv.h can set 
-
 
390
any necessary compiler-specific defines, etc. Affects the ACPI-related tools 
-
 
391
and utilities.
-
 
392
 
-
 
393
Updated all ACPICA copyrights and signons to 2011. Added the 2011 copyright 
-
 
394
to all module headers and signons, including the Linux header. This affects 
-
 
395
virtually every file in the ACPICA core subsystem, iASL compiler, and all 
-
 
396
utilities.
-
 
397
 
-
 
398
Added project files for MS Visual Studio 2008 (VC++ 9.0). The original 
-
 
399
project files for VC++ 6.0 are now obsolete. New project files can be found 
-
 
400
under acpica/generate/msvc9. See acpica/generate/msvc9/readme.txt for 
-
 
401
details.
-
 
402
 
-
 
403
Example Code and Data Size: These are the sizes for the OS-independent 
-
 
404
acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The 
-
 
405
debug version of the code includes the debug output trace mechanism and has a 
-
 
406
much larger code and data size.
-
 
407
 
-
 
408
  Previous Release (VC 6.0):
-
 
409
    Non-Debug Version:  89.8K Code, 18.9K Data, 108.7K Total
-
 
410
    Debug Version:     166.6K Code, 52.1K Data, 218.7K Total
-
 
411
  Current Release (VC 9.0):
-
 
412
    Non-Debug Version:  89.7K Code, 23.7K Data, 113.4K Total
-
 
413
    Debug Version:     163.9K Code, 67.5K Data, 231.4K Total
-
 
414
 
-
 
415
2) iASL Compiler/Disassembler and Tools:
-
 
416
 
-
 
417
iASL: Added generic data types to the Data Table compiler. Add "generic" data 
-
 
418
types such as UINT32, String, Unicode, etc., to simplify the generation of 
-
 
419
platform-defined tables such as UEFI. Lin Ming.
-
 
420
 
-
 
421
iASL: Added listing support for the Data Table Compiler. Adds listing support 
-
 
422
(-l) to display actual binary output for each line of input code.
-
 
423
 
-
 
424
----------------------------------------
-
 
425
09 December 2010. Summary of changes for version 20101209:
-
 
426
 
-
 
427
1) ACPI CA Core Subsystem:
-
 
428
 
-
 
429
Completed the major overhaul of the GPE support code that was begun in July 
-
 
430
2010. Major features include: removal of _PRW execution in ACPICA (host 
-
 
431
executes _PRWs anyway), cleanup of "wake" GPE interfaces and processing, 
-
 
432
changes to existing interfaces, simplification of GPE handler operation, and 
-
 
433
a handful of new interfaces:
-
 
434
 
-
 
435
    AcpiUpdateAllGpes
-
 
436
    AcpiFinishGpe
-
 
437
    AcpiSetupGpeForWake
-
 
438
    AcpiSetGpeWakeMask
-
 
439
    One new file, evxfgpe.c to consolidate all external GPE interfaces.
-
 
440
 
-
 
441
See the ACPICA Programmer Reference for full details and programming 
-
 
442
information. See the new section 4.4 "General Purpose Event (GPE) Support" 
-
 
443
for a full overview, and section 8.7 "ACPI General Purpose Event Management" 
-
 
444
for programming details. ACPICA BZ 858,870,877. Matthew Garrett, Lin Ming, 
-
 
445
Bob Moore, Rafael Wysocki.
-
 
446
 
-
 
447
Implemented a new GPE feature for Windows compatibility, the "Implicit Wake 
-
 
448
GPE Notify". This feature will automatically issue a Notify(2) on a device 
-
 
449
when a Wake GPE is received if there is no corresponding GPE method or 
-
 
450
handler. ACPICA BZ 870.
-
 
451
 
-
 
452
Fixed a problem with the Scope() operator during table parse and load phase. 
-
 
453
During load phase (table load or method execution), the scope operator should 
-
 
454
not enter the target into the namespace. Instead, it should open a new scope 
-
 
455
at the target location. Linux BZ 19462, ACPICA BZ 882.
-
 
456
 
-
 
457
Example Code and Data Size: These are the sizes for the OS-independent 
-
 
458
acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-
 
459
debug version of the code includes the debug output trace mechanism and has a 
-
 
460
much larger code and data size.
-
 
461
 
-
 
462
  Previous Release:
-
 
463
    Non-Debug Version:  89.8K Code, 18.9K Data, 108.7K Total
-
 
464
    Debug Version:     166.6K Code, 52.1K Data, 218.7K Total
-
 
465
  Current Release:
-
 
466
    Non-Debug Version:  89.9K Code, 19.0K Data, 108.9K Total
-
 
467
    Debug Version:     166.3K Code, 52.1K Data, 218.4K Total
-
 
468
 
-
 
469
2) iASL Compiler/Disassembler and Tools:
-
 
470
 
-
 
471
iASL: Relax the alphanumeric restriction on _CID strings. These strings are 
-
 
472
"bus-specific" per the ACPI specification, and therefore any characters are 
-
 
473
acceptable. The only checks that can be performed are for a null string and 
-
 
474
perhaps for a leading asterisk. ACPICA BZ 886.
-
 
475
 
-
 
476
iASL: Fixed a problem where a syntax error that caused a premature EOF 
-
 
477
condition on the source file emitted a very confusing error message. The 
-
 
478
premature EOF is now detected correctly. ACPICA BZ 891.
-
 
479
 
-
 
480
Disassembler: Decode the AccessSize within a Generic Address Structure (byte 
3
 
481
access, word access, etc.) Note, this field does not allow arbitrary bit 
-
 
482
access, the size is encoded as 1=byte, 2=word, 3=dword, and 4=qword.
-
 
483
 
-
 
484
New: AcpiNames utility - Example namespace dump utility. Shows an example of 
-
 
485
ACPICA configuration for a minimal namespace dump utility. Uses table and 
-
 
486
namespace managers, but no AML interpreter. Does not add any functionality 
-
 
487
over AcpiExec, it is a subset of AcpiExec. The purpose is to show how to 
-
 
488
partition and configure ACPICA. ACPICA BZ 883.
-
 
489
 
-
 
490
AML Debugger: Increased the debugger buffer size for method return objects. 
-
 
491
Was 4K, increased to 16K. Also enhanced error messages for debugger method 
-
 
492
execution, including the buffer overflow case.
-
 
493
 
-
 
494
----------------------------------------
-
 
495
13 October 2010. Summary of changes for version 20101013:
-
 
496
 
-
 
497
1) ACPI CA Core Subsystem:
-
 
498
 
-
 
499
Added support to clear the PCIEXP_WAKE event. When clearing ACPI events, now 
-
 
500
clear the PCIEXP_WAKE_STS bit in the ACPI PM1 Status Register, via 
-
 
501
HwClearAcpiStatus. Original change from Colin King. ACPICA BZ 880.
-
 
502
 
-
 
503
Changed the type of the predefined namespace object _TZ from ThermalZone to 
-
 
504
Device. This was found to be confusing to the host software that processes 
-
 
505
the various thermal zones, since _TZ is not really a ThermalZone. However, a 
-
 
506
Notify() can still be performed on it. ACPICA BZ 876. Suggestion from Rui 
-
 
507
Zhang.
-
 
508
 
-
 
509
Added Windows Vista SP2 to the list of supported _OSI strings. The actual 
-
 
510
string is "Windows 2006 SP2".
-
 
511
 
-
 
512
Eliminated duplicate code in AcpiUtExecute* functions. Now that the nsrepair 
-
 
513
code automatically repairs _HID-related strings, this type of code is no 
-
 
514
longer needed in Execute_HID, Execute_CID, and Execute_UID. ACPICA BZ 878.
-
 
515
 
-
 
516
Example Code and Data Size: These are the sizes for the OS-independent 
-
 
517
acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-
 
518
debug version of the code includes the debug output trace mechanism and has a 
-
 
519
much larger code and data size.
-
 
520
 
-
 
521
  Previous Release:
-
 
522
    Non-Debug Version:  89.9K Code, 19.0K Data, 108.9K Total
-
 
523
    Debug Version:     166.3K Code, 52.1K Data, 218.4K Total
-
 
524
  Current Release:
-
 
525
    Non-Debug Version:  89.9K Code, 19.0K Data, 108.9K Total
-
 
526
    Debug Version:     166.3K Code, 52.1K Data, 218.4K Total
-
 
527
 
-
 
528
2) iASL Compiler/Disassembler and Tools:
-
 
529
 
-
 
530
iASL: Implemented additional compile-time validation for _HID strings. The 
-
 
531
non-hex prefix (such as "PNP" or "ACPI") must be uppercase, and the length of 
-
 
532
the string must be exactly seven or eight characters. For both _HID and _CID 
-
 
533
strings, all characters must be alphanumeric. ACPICA BZ 874.
-
 
534
 
-
 
535
iASL: Allow certain "null" resource descriptors. Some BIOS code creates 
-
 
536
descriptors that are mostly or all zeros, with the expectation that they will 
-
 
537
be filled in at runtime. iASL now allows this as long as there is a "resource 
-
 
538
tag" (name) associated with the descriptor, which gives the ASL a handle 
-
 
539
needed to modify the descriptor. ACPICA BZ 873.
-
 
540
 
-
 
541
Added single-thread support to the generic Unix application OSL. Primarily 
-
 
542
for iASL support, this change removes the use of semaphores in the single-
-
 
543
threaded ACPICA tools/applications - increasing performance. The 
-
 
544
_MULTI_THREADED option was replaced by the (reverse) ACPI_SINGLE_THREADED 
-
 
545
option. ACPICA BZ 879.
-
 
546
 
-
 
547
AcpiExec: several fixes for the 64-bit version. Adds XSDT support and support 
-
 
548
for 64-bit DSDT/FACS addresses in the FADT. Lin Ming.
-
 
549
 
-
 
550
iASL: Moved all compiler messages to a new file, aslmessages.h.
-
 
551
 
-
 
552
----------------------------------------
-
 
553
15 September 2010. Summary of changes for version 20100915:
-
 
554
 
-
 
555
1) ACPI CA Core Subsystem:
-
 
556
 
-
 
557
Removed the AcpiOsDerivePciId OSL interface. The various host implementations 
-
 
558
of this function were not OS-dependent and are now obsolete and can be 
-
 
559
removed from all host OSLs. This function has been replaced by 
-
 
560
AcpiHwDerivePciId, which is now part of the ACPICA core code. 
-
 
561
AcpiHwDerivePciId has been implemented without recursion. Adds one new 
-
 
562
module, hwpci.c. ACPICA BZ 857.
-
 
563
 
-
 
564
Implemented a dynamic repair for _HID and _CID strings. The following 
-
 
565
problems are now repaired at runtime: 1) Remove a leading asterisk in the 
-
 
566
string, and 2) the entire string is uppercased. Both repairs are in 
-
 
567
accordance with the ACPI specification and will simplify host driver code. 
-
 
568
ACPICA BZ 871.
-
 
569
 
-
 
570
The ACPI_THREAD_ID type is no longer configurable, internally it is now 
-
 
571
always UINT64. This simplifies the ACPICA code, especially any printf output. 
-
 
572
UINT64 is the only common data type for all thread_id types across all 
-
 
573
operating systems. It is now up to the host OSL to cast the native thread_id 
-
 
574
type to UINT64 before returning the value to ACPICA (via AcpiOsGetThreadId). 
-
 
575
Lin Ming, Bob Moore.
-
 
576
 
-
 
577
Added the ACPI_INLINE type to enhance the ACPICA configuration. The "inline" 
-
 
578
keyword is not standard across compilers, and this type allows inline to be 
-
 
579
configured on a per-compiler basis. Lin Ming.
-
 
580
 
-
 
581
Made the system global AcpiGbl_SystemAwakeAndRunning publically available. 
-
 
582
Added an extern for this boolean in acpixf.h. Some hosts utilize this value 
-
 
583
during suspend/restore operations. ACPICA BZ 869.
-
 
584
 
-
 
585
All code that implements error/warning messages with the "ACPI:" prefix has 
-
 
586
been moved to a new module, utxferror.c.
-
 
587
 
-
 
588
The UINT64_OVERLAY was moved to utmath.c, which is the only module where it 
-
 
589
is used. ACPICA BZ 829. Lin Ming, Bob Moore.
-
 
590
 
-
 
591
Example Code and Data Size: These are the sizes for the OS-independent 
-
 
592
acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-
 
593
debug version of the code includes the debug output trace mechanism and has a 
-
 
594
much larger code and data size.
-
 
595
 
-
 
596
  Previous Release:
-
 
597
    Non-Debug Version:  89.1K Code, 19.0K Data, 108.1K Total
-
 
598
    Debug Version:     165.1K Code, 51.9K Data, 217.0K Total
-
 
599
  Current Release:
-
 
600
    Non-Debug Version:  89.9K Code, 19.0K Data, 108.9K Total
-
 
601
    Debug Version:     166.3K Code, 52.1K Data, 218.4K Total
-
 
602
 
-
 
603
2) iASL Compiler/Disassembler and Tools:
-
 
604
 
-
 
605
iASL/Disassembler: Write ACPI errors to stderr instead of the output file. 
-
 
606
This keeps the output files free of random error messages that may originate 
-
 
607
from within the namespace/interpreter code. Used this opportunity to merge 
-
 
608
all ACPI:-style messages into a single new module, utxferror.c. ACPICA BZ 
-
 
609
866. Lin Ming, Bob Moore.
-
 
610
 
-
 
611
Tools: update some printfs for ansi warnings on size_t. Handle width change 
-
 
612
of size_t on 32-bit versus 64-bit generations. Lin Ming.
-
 
613
 
-
 
614
----------------------------------------
-
 
615
06 August 2010. Summary of changes for version 20100806:
-
 
616
 
-
 
617
1) ACPI CA Core Subsystem:
-
 
618
 
-
 
619
Designed and implemented a new host interface to the _OSI support code. This 
-
 
620
will allow the host to dynamically add or remove multiple _OSI strings, as 
-
 
621
well as install an optional handler that is called for each _OSI invocation. 
-
 
622
Also added a new AML debugger command, 'osi' to display and modify the global 
-
 
623
_OSI string table, and test support in the AcpiExec utility. See the ACPICA 
-
 
624
reference manual for full details. Lin Ming, Bob Moore. ACPICA BZ 836.
-
 
625
New Functions:
-
 
626
    AcpiInstallInterface - Add an _OSI string.
-
 
627
    AcpiRemoveInterface - Delete an _OSI string.
-
 
628
    AcpiInstallInterfaceHandler - Install optional _OSI handler.
-
 
629
Obsolete Functions:
-
 
630
    AcpiOsValidateInterface - no longer used.
-
 
631
New Files:
-
 
632
    source/components/utilities/utosi.c
-
 
633
 
-
 
634
Re-introduced the support to enable multi-byte transfers for Embedded 
-
 
635
Controller (EC) operation regions. A reported problem was found to be a bug 
-
 
636
in the host OS, not in the multi-byte support. Previously, the maximum data 
-
 
637
size passed to the EC operation region handler was a single byte. There are 
-
 
638
often EC Fields larger than one byte that need to be transferred, and it is 
-
 
639
useful for the EC driver to lock these as a single transaction. This change 
-
 
640
enables single transfers larger than 8 bits. This effectively changes the 
-
 
641
access to the EC space from ByteAcc to AnyAcc, and will probably require 
-
 
642
changes to the host OS Embedded Controller driver to enable 16/32/64/256-bit 
-
 
643
transfers in addition to 8-bit transfers. Alexey Starikovskiy, Lin Ming.
-
 
644
 
-
 
645
Fixed a problem with the prototype for AcpiOsReadPciConfiguration. The 
-
 
646
prototype in acpiosxf.h had the output value pointer as a (void *).
-
 
647
It should be a (UINT64 *). This may affect some host OSL code.
-
 
648
 
-
 
649
Fixed a couple problems with the recently modified Linux makefiles for iASL 
-
 
650
and AcpiExec. These new makefiles place the generated object files in the 
-
 
651
local directory so that there can be no collisions between the files that are 
-
 
652
shared between them that are compiled with different options.
-
 
653
 
-
 
654
Example Code and Data Size: These are the sizes for the OS-independent 
-
 
655
acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-
 
656
debug version of the code includes the debug output trace mechanism and has a 
-
 
657
much larger code and data size.
-
 
658
 
-
 
659
  Previous Release:
-
 
660
    Non-Debug Version:  88.3K Code, 18.8K Data, 107.1K Total
-
 
661
    Debug Version:     164.0K Code, 51.5K Data, 215.5K Total
-
 
662
  Current Release:
-
 
663
    Non-Debug Version:  89.1K Code, 19.0K Data, 108.1K Total
-
 
664
    Debug Version:     165.1K Code, 51.9K Data, 217.0K Total
-
 
665
 
-
 
666
2) iASL Compiler/Disassembler and Tools:
-
 
667
 
-
 
668
iASL/Disassembler: Added a new option (-da, "disassemble all") to load the 
-
 
669
namespace from and disassemble an entire group of AML files. Useful for 
-
 
670
loading all of the AML tables for a given machine (DSDT, SSDT1...SSDTn) and 
-
 
671
disassembling with one simple command. ACPICA BZ 865. Lin Ming.
-
 
672
 
-
 
673
iASL: Allow multiple invocations of -e option. This change allows multiple 
-
 
674
uses of -e on the command line: "-e ssdt1.dat -e ssdt2.dat". ACPICA BZ 834. 
-
 
675
Lin Ming.
-
 
676
 
-
 
677
----------------------------------------
-
 
678
02 July 2010. Summary of changes for version 20100702:
-
 
679
 
-
 
680
1) ACPI CA Core Subsystem:
-
 
681
 
-
 
682
Implemented several updates to the recently added GPE reference count 
-
 
683
support. The model for "wake" GPEs is changing to give the host OS complete 
-
 
684
control of these GPEs. Eventually, the ACPICA core will not execute any _PRW 
-
 
685
methods, since the host already must execute them. Also, additional changes 
-
 
686
were made to help ensure that the reference counts are kept in proper 
-
 
687
synchronization with reality. Rafael J. Wysocki.
-
 
688
 
-
 
689
1) Ensure that GPEs are not enabled twice during initialization.
-
 
690
2) Ensure that GPE enable masks stay in sync with the reference count.
-
 
691
3) Do not inadvertently enable GPEs when writing GPE registers.
-
 
692
4) Remove the internal wake reference counter and add new AcpiGpeWakeup 
-
 
693
interface. This interface will set or clear individual GPEs for wakeup.
-
 
694
5) Remove GpeType argument from AcpiEnable and AcpiDisable. These interfaces 
-
 
695
are now used for "runtime" GPEs only.
-
 
696
 
-
 
697
Changed the behavior of the GPE install/remove handler interfaces. The GPE is 
-
 
698
no longer disabled during this process, as it was found to cause problems on 
-
 
699
some machines. Rafael J. Wysocki.
-
 
700
 
-
 
701
Reverted a change introduced in version 20100528 to enable Embedded 
-
 
702
Controller multi-byte transfers. This change was found to cause problems with 
-
 
703
Index Fields and possibly Bank Fields. It will be reintroduced when these 
-
 
704
problems have been resolved.
-
 
705
 
-
 
706
Fixed a problem with references to Alias objects within Package Objects. A 
-
 
707
reference to an Alias within the definition of a Package was not always 
-
 
708
resolved properly. Aliases to objects like Processors, Thermal zones, etc. 
-
 
709
were resolved to the actual object instead of a reference to the object as it 
-
 
710
should be. Package objects are only allowed to contain integer, string, 
-
 
711
buffer, package, and reference objects. Redhat bugzilla 608648.
-
 
712
 
-
 
713
Example Code and Data Size: These are the sizes for the OS-independent 
-
 
714
acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
-
 
715
debug version of the code includes the debug output trace mechanism and has a 
-
 
716
much larger code and data size.
-
 
717
 
-
 
718
  Previous Release:
-
 
719
    Non-Debug Version:  88.3K Code, 18.8K Data, 107.1K Total
-
 
720
    Debug Version:     164.1K Code, 51.5K Data, 215.6K Total
-
 
721
  Current Release:
-
 
722
    Non-Debug Version:  88.3K Code, 18.8K Data, 107.1K Total
-
 
723
    Debug Version:     164.0K Code, 51.5K Data, 215.5K Total
-
 
724
 
-
 
725
2) iASL Compiler/Disassembler and Tools:
-
 
726
 
-
 
727
iASL: Implemented a new compiler subsystem to allow definition and 
-
 
728
compilation of the non-AML ACPI tables such as FADT, MADT, SRAT, etc. These 
-
 
729
are called "ACPI Data Tables", and the new compiler is the "Data Table 
-
 
730
Compiler". This compiler is intended to simplify the existing error-prone 
-
 
731
process of creating these tables for the BIOS, as well as allowing the 
-
 
732
disassembly, modification, recompilation, and override of existing ACPI data 
-
 
733
tables. See the iASL User Guide for detailed information.
-
 
734
 
-
 
735
iASL: Implemented a new Template Generator option in support of the new Data 
-
 
736
Table Compiler. This option will create examples of all known ACPI tables 
-
 
737
that can be used as the basis for table development. See the iASL 
-
 
738
documentation and the -T option.
-
 
739
 
-
 
740
Disassembler and headers: Added support for the WDDT ACPI table (Watchdog 
-
 
741
Descriptor Table).
-
 
742
 
-
 
743
Updated the Linux makefiles for iASL and AcpiExec to place the generated 
-
 
744
object files in the local directory so that there can be no collisions 
-
 
745
between the shared files between them that are generated with different 
-
 
746
options.
-
 
747
 
-
 
748
Added support for Mac OS X in the Unix OSL used for iASL and AcpiExec. Use 
-
 
749
the #define __APPLE__ to enable this support.
-
 
750
 
-
 
751
----------------------------------------
Line 4... Line 752...
4
This release is available at www.acpica.org/downloads
752
28 May 2010. Summary of changes for version 20100528:
5
 
753
 
Line 6... Line 754...
6
Note: The ACPI 4.0a specification was released on April 5, 2010 and is 
754
Note: The ACPI 4.0a specification was released on April 5, 2010 and is