Use absolute paths to all project directories. Previously, used paths
relative to the project root, but there is a bug in VC++ that then
creates project directories all over the disk.
Add 2009 copyright to all module headers and signons, including the Linux
header. This affects virtually every file in the ACPICA core subsystem,
iASL compiler, and all utilities.
1) Decode all Boot Architecture flags.
2) Decode all flags, regardless of the FADT version. Previously,
only those flags that were actually valid for the FADT version
were displayed. This seemed to omit some information.
Previously, the table override mechanism was implemented for the
DSDT only. Now, any table in the RSDT/XSDT can be replaced by the
host OS. (including the DSDT).
This returns the FADT support to the original behavior, which is to
use default register widths. However, now check each register
definition and report a warning if it differs from the default.
This is a first step to moving away from the default widths, rather
than outright believing the widths in all FADTs for all machines,
considered rather dangerous until more data is obtained.
1) Update the register lengths for the PM1 event blocks. The length
must be divided by two in order to use these to access the status
registers.
2) Add run-time option to use default register lengths to override a
faulty FADT.
3) Add warning message if any of the X64 address structures contain a
length that does not match the legacy length earlier in the FADT.
4) Move all FADT warning messages into the ValidateFadt function.
1) Clear external list generated by Scope in external tables
2) Set node owner id only if it satisfies all the following conditions
a. Not a predefined node, _SB_ etc.
b. Not the root node
c. Not a node created by Scope
3) Precise object types for External statements, for example
- External (\_PR_.CPU0, DeviceObj)
+ External (\_PR_.CPU0, ProcessorObj)
Uses the FADT-defined reset register and reset value. Checks the
FADT flags for the reset register supported bit. Supports reset
register in memory or I/O space, but not in PCI config space since
the host has the information to do it.
Changed the HwLowLevelRead and HwLowLevelWrite functions to the public
AcpiRead and AcpiWrite to allow direct access to ACPI registers.
Removed the "width" parameter since the width can be obtained from the
input GAS structure. Updated the FADT initialization to setup the GAS
structures with the proper widths. Some widths are still hardcoded
because many FADTs have incorrect register lengths.
This function maps an input GPE index to a GPE block device. Also
Added AcpiCurrentGpeCount to track the current number of GPEs that
are being managed by the ACPICA core (both FADT-based GPEs and the GPEs
contained in GPE block devices.)
Previously did not allow the creation of named objects within a while
loop. However, it is not possible to analyze the loop to determine if
a named object would actually be created twice. Also, compiling
disassembled code with switch statements would raise this error even
though the compiler-emitted while(one) loop only executed once (there
is a break statement at the bottom of the loop. Chalk this one up to
'a nice try'.
For Windows compatibility, return an implicit integer of value
zero for methods that have no executable code. A default implicit
value of zero is provided for methods.
Such methods are seen in the field as stubs (presumably), and can
cause drivers to fail if they expect a return value. Lin Ming.
Merge the code that validates control method argument counts into
the predefined validation module. Eliminates possible multiple
warnings for incorrect counts.
This can happen if the _WAK method returns nothing (as per ACPI 1.0)
but does return an integer if the implicit return mechanism is enabled.
This is the only method that has this problem, since it is also
defined to return a package of two integers (ACPI 1.0b+). In all
other cases, if a method returns an object when one was not expected,
no warning is issued.