The table header validation was intended for AML tables rather than
data tables. This caused an error when disassembling tables with
unusual table signatures such as the RSDP table.
Signed-off-by: Erik Schmauss <erik.schmauss@intel.com>
Forward references have never been allowed within control methods,
and now there are illegal from module-level code (This makes
ACPICA compatible with "other" acpi implementations).
Both types of fwd refs now generate an error message (this is
also a new addition to iASL).
For debugging of acpiexec. Upon a fault, this allows control to
be passed to a debugger instead of the local (acpiexec) fault
handler - which simply aborts acpiexec.
There is a potenial infinite loop if AcpiRsDumpByteList is
called with a Length greater than 255 since the current loop
counter is just a UINT8 and will wrap to zero and never reach
the desired value in Length. Fix this by making the loop
counter the size type as Length.
Signed-off-by: Colin Ian King <colin.king@canonical.com>
This change improves the -tc option by:
1) Creates a unique symbol for the hex table, to simplify
creation of multiple tables (DSDT/SSDT).
2) Adds a protection #ifdef, similar to a .h file.
With assistance from:
Sami Mujawar, sami.mujawar@arm.com
Evan Lloyd, evan.lloyd@arm.com
This ensures that AcpiEvFixedEventDetect does not use FixedStatus and
and FixedEnable as uninitialized variables.
Signed-off-by: Erik Schmauss <erik.schmauss@intel.com>
This change adds parallelization of ASLTS execution via xargs. This
results in a performance gain of 2.3x (14m 22sec to 6m 7sec).
Various functions and variables are exported so that they can be used
in each run_test_case execution.
Signed-off-by: Erik Schmauss <erik.schmauss@intel.com>
This fix also involves putting some ACPI_ERROR_NAMESPACE parameters inside
macros. By doing so, we avoid compilation errors from unused variables.
Signed-off-by: Erik Schmauss <erik.schmauss@intel.com>
As the documentatuon above its declaration indicates, AcpiGetObjectInfo()
is intended for early probe usage and as such should not call any methods
which may rely on OpRegions, before this commit it was also calling _STA,
which on some systems does rely on OpRegions.
Calling _STA before things are ready leads to errors such as these
(under Linux, on some hardware):
[ 0.123579] ACPI Error: No handler for Region [ECRM] (00000000ba9edc4c)
[GenericSerialBus] (20170831/evregion-166)
[ 0.123601] ACPI Error: Region GenericSerialBus (ID=9) has no handler
(20170831/exfldio-299)
[ 0.123618] ACPI Error: Method parse/execution failed
\_SB.I2C1.BAT1._STA, AE_NOT_EXIST (20170831/psparse-550)
End 2015 support for the _SUB method was removed for exactly the same
reason. Removing CurrentStatus from ACPI_DEVICE_INFO only has a limited
impact. Within ACPICA it is only used by 2 debug messages, both
of which are modified to no longer print it with this commit.
Outside of ACPICA, there was one user in Linux, which has been patched to
no longer use CurrentStatus in Torvald's current master.
I've not checked if FreeBSD or others are using the CurrentStatus field.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>