This reverts commit 1f49c3b8d0c3ff477b8ecf1f82e6967fdb4550ff.
The mechanism is not needed, method execution/deletion is
already optimized, and the Unload() operator is never used.
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>
PMCG nodes were added by IORT revision C, with the unfortunate oversight
that it only defined a single base address, and thus was incapable of
properly describing PMCG implementations with PMCG_CFGR.RELOC_CTRS = 1,
where the counters are in a separate page from the control registers.
Revision D corrects this by clarifying the existing field as the page 0
base address and adding a second field to describe the page 1 address
when implemented. With the spec now fit for purpose, let's support it.
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
IORT revision D contains a few additions and fixes to
currently-supported tables:
- SMMUv3 proximity domain field is enlarged to 4 bytes for consistency
with SRAT
- Root complex nodes gain an address size limit field equivalent to that
of named components
- Named component nodes gain a way to describe PASID (SubstreamID)
support, encoded in their flags
Additionally, we fix a couple of outstanding points in passing:
- Add the stall support flag for named components defined in revision C
- Fix SMMUv3 HTTU override mask, which should always have been 2 bits
Signed-off-by: Robin Murphy <robin.murphy@arm.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>