| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Version 20190108
|
|
|
|
| |
Version 20190108
|
|
|
|
| |
including tool signons.
|
|
|
|
| |
All ASL code in the test suite.
|
|\
| |
| | |
iASL: update tpm2 template to revision 4
|
| |
| |
| |
| | |
Signed-off-by: Erik Schmauss <erik.schmauss@intel.com>
|
|/
|
|
|
| |
Dump entire object/buffer for any memory leaks detected by
the object/cache tracking mechanism.
|
|
|
|
| |
Also adds a new firmware error function, AcpiBiosException.
|
|
|
|
| |
Version 20181213.
|
|
|
|
| |
Version 20181213.
|
|\ |
|
| |\
| | |
| | | |
iASL: remove obsolete AcpiGbl_DoExternals flag
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This was meant to be a debug flag during the development of external
opcode. This flag is no longer needed because generation of external
opcodes are stable.
Signed-off-by: Erik Schmauss <erik.schmauss@intel.com>
|
| |\ \
| | |/
| |/| |
iASL: add ability to report specific warnings or remarks as errors
|
| |/
| |
| |
| | |
Signed-off-by: Erik Schmauss <erik.schmauss@intel.com>
|
|/
|
|
| |
dangling open file.
|
|
|
|
|
|
| |
In the case where the parse tree is ill-formed. This can
happen with unresolved symbols and a complex operator such
as "switch".
|
|\
| |
| | |
ACPICA: Fix handling of buffer-size in acpi_ex_write_data_to_field()
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is a back-port of Hans de Goede's patch.
Generic Serial Bus transfers use a data struct like this:
struct gsb_buffer {
u8 status;
u8 len;
u8 data[0];
};
acpi_ex_write_data_to_field() copies the data which is to be written from
the source-buffer to a temp-buffer. This is done because the OpReg-handler
overwrites the status field and some transfers do a write + read-back.
Commit f99b89eefeb6 ("ACPICA: Update for generic_serial_bus and
attrib_raw_process_bytes protocol") acpi_ex_write_data_to_field()
introduces a number of problems with this:
1) It drops a "length += 2" statement used to calculate the temp-buffer
size causing the temp-buffer to only be 1/2 bytes large for byte/word
transfers while it should be 3/4 bytes (taking the status and len field
into account). This is already fixed in commit e324e10109fc ("ACPICA:
Update for field unit access") which refactors the code.
The ACPI 6.0 spec (ACPI_6.0.pdf) "5.5.2.4.5.2 Declaring and Using a
GenericSerialBusData Buffer" (page 232) states that the GenericSerialBus
Data Buffer Length field is only valid when doing a Read/Write Block
(AttribBlock) transfer, but since the troublesome commit we unconditionally
use the len field to determine how much data to copy from the source-buffer
into the temp-buffer passed to the OpRegion.
This causes 3 further issues:
2) This may lead to not copying enough data to the temp-buffer causing the
OpRegion handler for the serial-bus to write garbage to the hardware.
3) The temp-buffer passed to the OpRegion is allocated to the size
returned by acpi_ex_get_serial_access_length(), which may be as little
as 1, so potentially this may lead to a write overflow of the temp-buffer.
4) Commit e324e10109fc ("ACPICA: Update for field unit access") drops a
length check on the source-buffer, leading to a potential read overflow
of the source-buffer.
This commit fixes all 3 remaining issues by not looking at the len field at
all (the interpretation of this field is left up to the OpRegion handler),
and copying the minimum of the source- and temp-buffer sizes from the
source-buffer to the temp-buffer.
This fixes e.g. an Acer S1003 no longer booting since the troublesome
commit.
Fixes: f99b89eefeb6 (ACPICA: Update for generic_serial_bus and ...)
Fixes: e324e10109fc (ACPICA: Update for field unit access)
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Erik Schmauss <erik.schmauss@intel.com>
|
| |
| |
| |
| | |
handle errors from fseek. Reported by Colin Ian King.
|
|/
|
|
| |
with assistance from Colin Ian King.
|
|\
| |
| | |
Remove defines that use deprecated ACPI_NO_METHOD_EXECUTE flag
|
| |
| |
| |
| | |
Signed-off-by: Erik Schmauss <erik.schmauss@intel.com>
|
|\ \
| | |
| | | |
disassembler: disassemble OEMx tables as AML
|
| | | |
|
|\ \ \
| |/ / |
|
| |\ \
| | | |
| | | | |
Add "Windows 2018.2" string in the _OSI support
|
| |/ / |
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
Adds entry/exit messages for all objects that are evaluated.
Works for the kernel-level code as well as acpiexec. The "-eo"
flag enables acpiexec to display these messages.
The messages are very useful when debugging the flow of table
initialization.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Return AE_SUPPORT if encountered, fixes a previous fault if
encountered.
Note: Other ACPI implementations do not support this type of
construct.
|
| |
| |
| |
| |
| | |
Add "0x" prefix for hex values.
Provides compatibility with other ACPI implementations.
|
|/
|
|
| |
Names such as _Lxx, Exx, EJx, etc.
|
|
|
|
| |
Latest windows string.
|
|
|
|
| |
Version 20181031.
|
|
|
|
| |
Version 20181031.
|
|
|
|
|
|
|
| |
elements within a NamePatch actually exist. The previous behavior
was spotty at best, and such errors could be improperly ignored
at compiler time (never at runtime, however. There are two
new error messages.
|
|\
| |
| | |
iASL: properly detect continuation on dos files
|
| |
| |
| |
| |
| |
| | |
parsing
Signed-off-by: Erik Schmauss <erik.schmauss@intel.com>
|
|\ \
| | |
| | | |
iASL: add tpm2 rev 3 support
|
| | |
| | |
| | |
| | | |
Signed-off-by: Erik Schmauss <erik.schmauss@intel.com>
|
| |/
| |
| |
| | |
Signed-off-by: Erik Schmauss <erik.schmauss@intel.com>
|
|\ \
| |/
|/| |
ASLTS: Region: get rid of comments that cause converter error
|
|/
|
|
| |
Signed-off-by: Erik Schmauss <erik.schmauss@intel.com>
|
|
|
|
|
|
| |
Leftover from converting the proprocessor to use the local memory
cache. Individual allocations cannot use ACPI_FREE, this will
cause a fault. Seen immediately with the #endif directive.
|
|\
| |
| | |
iASL: add additional check for strings with length zero
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Without this check there is a bounds violation that occurs when
DtTrim attempts to remove a double quote charater later in the
function. The End gets set to 1 byte before Start.
Suggested-by: Steven Noonan
Signed-off-by: Erik Schmauss <erik.schmauss@intel.com>
|
|\ \
| | |
| | | |
Fix parse loop to correctly skip extended opcodes and minor acpiexec cleanup
|
| | |
| | |
| | |
| | |
| | | |
Signed-off-by: Robert Moore <robert.moore@intel.com>
Signed-off-by: Erik Schmauss <erik.schmauss@intel.com>
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
AML opcodes come in two lengths: 1-byte opcodes and 2-byte, extended opcodes.
If an error occurs due to illegal opcodes during table load, the AML parser
needs to continue loading the table. In order to do this, it needs to skip
parsing of the offending opcode and operands associated with that opcode.
This change fixes the AML parse loop to correctly skip parsing of incorrect
extended opcodes. Previously, only the short opcodes were skipped correctly.
Signed-off-by: Erik Schmauss <erik.schmauss@intel.com>
|
|\ \
| | |
| | | |
Remove AcpiGbl_GroupModuleLevelCode and only use AcpiGbl_ExecuteTable…
|