Fix some sloppiness in the Reference object. No longer use AML opcodes to
differentiate the types, introduce new reference Class. Cleanup the debug
output code.
1) Add new field for use by DdbHandle (Value)
2) Use ACPI_CAST_INDIRECT_PTR to eliminate strict type warnings
3) Cleanup debug output
Lin Ming, Bob Moore
Previously aborted with error if too few arguments were passed to a
control method via the external ACPICA interface. Now issue a warning
instead and continue. Handles the case where the method inadvertently
declares too many arguments, but does not actually use the extra ones.
Applies mainly to the predefined methods. Lin Ming. Linux BZ 11032.
Check for zero-length subtables when disassembling ACPI tables.
Also fixes a couple of errors where a full 16-bit table type
was not extracted from the input properly.
Add ACPI_NAMESPACE_NODE to the ACPI_OPERAND_OBJECT in order to simplify
code that accepts both of these objects. A common type field is used
to differentiate them.
Removed ACPI_DB_WARN and ACPI_DB_ERROR. These debug levels were made
obsolete by the ACPI_WARNING and ACPI_ERROR/ACPI_EXCEPTION interfaces.
Also added ACPI_DB_EVENTS to correspond with the existing
ACPI_LV_EVENTS.
These changes affected the tests:
iASL: error if named object created in while loop
iASL: minimum 1 interrupt in interrupt macro
Table Load: table is now loaded at namespace root
Restricted the error case to allow the use of the Scope, Buffer, and
Package operators within a loop since these operators do not actually
create new objects.
Add error check after all calls to AcpiNsGetPathnameLength.
Add status return from AcpiNsBuildExternalPath and check after all calls.
Add parameter validation to AcpiUtInitializeBuffer.
Reported by and initial patch by Ingo Molnar.
Examines the return object from a call to AcpiEvaluateObject. Any
Index or RefOf references are automatically dereferenced in an attempt
to return something useful (these reference types cannot be converted
into an external ACPI_OBJECT.) Lin Ming, Bob Moore. Linux BZ 11105
Support for the x2APIC. There are 2 new subtables for the MADT and one new
subtable for the SRAT. Includes disassembler and AcpiSrc support. Data from
the Intel 64 Architecture x2APIC Specification, June 2008.
Correctly handle the case where the EOF happens immediately after
the last table in the input file. Print completion message. Previously,
no message was displayed in this case.
Emit an error if any named object is created within a While loop.
If allowed, this code will generate a run-time error on the second
iteration of the loop when an attempt is made to create the same
named object twice. ACPICA bugzilla 730.
Remove call to AcpiHwDisableAllGpes in AcpiEvGpeDispatch. This call will
attempt to acquire the GPE lock but can deadlock since the GPE lock is
already held at dispatch time. This code was introduced in version
20060831 as a response to Linux BZ 6881 and has since been removed from
Linux.
These names can appear in a disassembled ASL file if they were emitted
by the original compiler. Instead of issuing an error or warning and
forcing the user to manually change these names, issue a remark instead.
Return status from AcpiUtGlobalInitialize. This is used by both
the kernel subsystem and the utilities such as iASL compiler.
The function could possibly fail when the caches are initialized.
Yang Yi.
Fixes a problem introduced in 20080701. If the object being evaluated
(via execute command) is not a method, the debugger can hang while
trying to get non-existent parameters.
Handle the case for the Interrupt resource descriptor where
the ResourceSource argument is omitted but ResourceSourceIndex
is present. Leave room for the Index. BZ 426
The "minimal" descriptors such as EndTag are calculated as 12 bytes
long, but the actual length in the internal descriptor is 16 because
of the round-up to 8 on 64-bit build. BZ 728
Without this change, a table cannot be loaded again once it has been
loaded/unloaded one time. The current mechanism does not unregister
a table upon an unload. During a load, if the same table is found, this
no longer returns an exception. BZ 722