Deleted Added
full compact
changes.txt (128212) changes.txt (129684)
1----------------------------------------
1----------------------------------------
214 May 2004. Summary of changes for version 20040514:
3
41) ACPI CA Core Subsystem:
5
6Fixed a problem where hardware GPE enable bits sometimes not set
7properly during and after GPE method execution. Result of 04/27
8changes.
9
10Removed extra "clear all GPEs" when sleeping/waking.
11
12Removed AcpiHwEnableGpe and AcpiHwDisableGpe, replaced by the
13single AcpiHwWriteGpeEnableReg. Changed a couple of calls to the
14functions above to the new AcpiEv* calls as appropriate.
15
16ACPI_OS_NAME was removed from the OS-specific headers. The
17default name is now "Microsoft Windows NT" for maximum
18compatibility. However this can be changed by modifying the
19acconfig.h file.
20
21Allow a single invocation of AcpiInstallNotifyHandler for a
22handler that traps both types of notifies (System, Device). Use
23ACPI_ALL_NOTIFY flag.
24
25Run _INI methods on ThermalZone objects. This is against the
26ACPI specification, but there is apparently ASL code in the field
27that has these _INI methods, and apparently "other" AML
28interpreters execute them.
29
30Performed a full 16/32/64 bit lint that resulted in some small
31changes.
32
33Added a sleep simulation command to the AML debugger to test
34sleep code.
35
36Code and Data Size: Current and previous core subsystem library
37sizes are shown below. These are the code and data sizes for the
38acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
39these values do not include any ACPI driver or OSPM code. The
40debug version of the code includes the debug output trace
41mechanism and has a much larger code and data size. Note that
42these values will vary depending on the efficiency of the
43compiler and the compiler options used during generation.
44
45 Previous Release:
46 Non-Debug Version: 77.6K Code, 11.5K Data, 89.1K Total
47 Debug Version: 162.9K Code, 67.0K Data, 229.9K Total
48 Current Release:
49 Non-Debug Version: 77.6K Code, 11.5K Data, 89.1K Total
50 Debug Version: 163.2K Code, 67.2K Data, 230.4K Total
51
52----------------------------------------
5327 April 2004. Summary of changes for version 20040427:
54
551) ACPI CA Core Subsystem:
56
57Completed a major overhaul of the GPE handling within ACPI CA.
58There are now three types of GPEs: wake-only, runtime-only, and
59combination wake/run. The only GPEs allowed to be combination
60wake/run are for button-style devices such as a control-method
61power button, control-method sleep button, or a notebook lid
62switch. GPEs that have an _Lxx or _Exx method and are not
63referenced by any _PRW methods are marked for "runtime" and
64hardware enabled. Any GPE that is referenced by a _PRW method is
65marked for "wake" (and disabled at runtime). However, at sleep
66time, only those GPEs that have been specifically enabled for
67wake via the AcpiEnableGpe interface will actually be hardware
68enabled.
69
70A new external interface has been added, AcpiSetGpeType(), that
71is meant to be used by device drivers to force a GPE to a
72particular type. It will be especially useful for the drivers
73for the button devices mentioned above.
74
75Completed restructuring of the ACPI CA initialization sequence so
76that default operation region handlers are installed before GPEs
77are initialized and the _PRW methods are executed. This will
78prevent errors when the _PRW methods attempt to access system
79memory or I/O space.
80
81GPE enable/disable no longer reads the GPE enable register. We
82now keep the enable info for runtime and wake separate and in the
83GPE_EVENT_INFO. We thus no longer depend on the hardware to
84maintain these bits.
85
86Always clear the wake status and fixed/GPE status bits before
87sleep, even for state S5.
88
89Improved the AML debugger output for displaying the GPE blocks
90and their current status.
91
92Added new strings for the _OSI method, of the form "Windows 2001
93SPx" where x = 0,1,2,3,4.
94
95Fixed a problem where the physical address was incorrectly
96calculated when the Load() operator was used to directly load
97from an Operation Region (vs. loading from a Field object.) Also
98added check for minimum table length for this case.
99
100Fix for multiple mutex acquisition. Restore original thread
101SyncLevel on mutex release.
102
103Added ACPI_VALID_SXDS flag to the AcpiGetObjectInfo interface for
104consistency with the other fields returned.
105
106Shrunk the ACPI_GPE_EVENT_INFO structure by 40%. There is one
107such structure for each GPE in the system, so the size of this
108structure is important.
109
110CPU stack requirement reduction: Cleaned up the method execution
111and object evaluation paths so that now a parameter structure is
112passed, instead of copying the various method parameters over and
113over again.
114
115In evregion.c: Correctly exit and reenter the interpreter region
116if and only if dispatching an operation region request to a user-
117installed handler. Do not exit/reenter when dispatching to a
118default handler (e.g., default system memory or I/O handlers)
119
120
121Notes for updating drivers for the new GPE support. The
122following changes must be made to ACPI-related device drivers
123that are attached to one or more GPEs: (This information will be
124added to the ACPI CA Programmer Reference.)
125
1261) AcpiInstallGpeHandler no longer automatically enables the GPE,
127you must explicitly call AcpiEnableGpe.
1282) There is a new interface called AcpiSetGpeType. This should be
129called before enabling the GPE. Also, this interface will
130automatically disable the GPE if it is currently enabled.
1313) AcpiEnableGpe no longer supports a GPE type flag.
132
133Specific drivers that must be changed:
1341) EC driver:
135 AcpiInstallGpeHandler (NULL, GpeNum, ACPI_GPE_EDGE_TRIGGERED,
136AeGpeHandler, NULL);
137 AcpiSetGpeType (NULL, GpeNum, ACPI_GPE_TYPE_RUNTIME);
138 AcpiEnableGpe (NULL, GpeNum, ACPI_NOT_ISR);
139
1402) Button Drivers (Power, Lid, Sleep):
141Run _PRW method under parent device
142If _PRW exists: /* This is a control-method button */
143 Extract GPE number and possibly GpeDevice
144 AcpiSetGpeType (GpeDevice, GpeNum, ACPI_GPE_TYPE_WAKE_RUN);
145 AcpiEnableGpe (GpeDevice, GpeNum, ACPI_NOT_ISR);
146
147For all other devices that have _PRWs, we automatically set the
148GPE type to ACPI_GPE_TYPE_WAKE, but the GPE is NOT automatically
149(wake) enabled. This must be done on a selective basis, usually
150requiring some kind of user app to allow the user to pick the
151wake devices.
152
153
154Code and Data Size: Current and previous core subsystem library
155sizes are shown below. These are the code and data sizes for the
156acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
157these values do not include any ACPI driver or OSPM code. The
158debug version of the code includes the debug output trace
159mechanism and has a much larger code and data size. Note that
160these values will vary depending on the efficiency of the
161compiler and the compiler options used during generation.
162
163 Previous Release:
164 Non-Debug Version: 77.0K Code, 11.4K Data, 88.4K Total
165 Debug Version: 161.0K Code, 66.3K Data, 227.3K Total
166 Current Release:
167 Non-Debug Version: 77.6K Code, 11.5K Data, 89.1K Total
168 Debug Version: 162.9K Code, 67.0K Data, 229.9K Total
169
170
171
172----------------------------------------
202 April 2004. Summary of changes for version 20040402:
3
41) ACPI CA Core Subsystem:
5
6Fixed an interpreter problem where an indirect store through an
7ArgX parameter was incorrectly applying the "implicit conversion
8rules" during the store. From the ACPI specification: "If the
9target is a method local or argument (LocalX or ArgX), no

--- 4577 unchanged lines hidden ---
17302 April 2004. Summary of changes for version 20040402:
174
1751) ACPI CA Core Subsystem:
176
177Fixed an interpreter problem where an indirect store through an
178ArgX parameter was incorrectly applying the "implicit conversion
179rules" during the store. From the ACPI specification: "If the
180target is a method local or argument (LocalX or ArgX), no

--- 4577 unchanged lines hidden ---