During the linuxizing process, some extra white spaces are added by the
"indent" program at the beginning of the line which is an invocation of a
macro and there is no ";" at the end of the line.
This patch adds new mode to AcpiSrc to remove extra spaces inserted before
invoking such macros and add an empty line between the invocations of such
macros (like the other function declarations). This new mode is executed
after executing "indent" during the Linux release process.
The affected macros and files are:
1. ACPI_HW_DEPENDENT_RETURN (acpixf.h):
This macro is used as a wrapper for hardware dependent APIs to offer a
stub when the reduced hardware is configured during compilation.
2. ACPI_EXPORT_SYMBOL (utglobal.c):
This macro is used by Linux to export symbols to be found by Linux
modules. All such invocations are well formatted except those exported
as global variables.
This can help to reduce the source code differences between Linux and
ACPICA, and also help to automate the release process. Lv Zheng.
Move AcpiGbl_DebugTimeout from AcpiExec to the OSL layer so that
any new utilities linked to the OSL file(s) won't have to define
it in order to link. Lv Zheng.
Adds a portable module to perform line editing via right-arrow,
left-arrow, and the DEL key. Portability is the key here, so
we don't attempt to use readline(), etc.
This change adds full history and limited line editing for Unix and
Linux systems. It does not use readline() because of portability issues.
Instead it uses the POSIX termio interface to put the terminal in raw
input mode so that the various special keys can be trapped (such as
up-arrow and down-arrow for history support).
This change adds a second UEFI table that is installed by AcpiExec,
then AcpiExec retrieves both tables via the AcpiGetTableHeader and
AcpiGetTable interfaces.
Empty lines are ignored by the utility. This change allows AcpiXtract
to correctly handle lines that contain simply one or more spaces as
empty lines. ACPICA BZ 1044.
This change affects windows version only; AcpiExec now is linked
to the windows setargv.obj which implements wildcards. So, all
code related to wildcards is now removed.
This patch adds multiple table instances support for Unix versions.
For AcpiDump, only "-b" options need to handle multiple table instances,
other modes do not need to worry about this as it is handled by external
programs (for example, AcpiXtract).
The call path for "-b" option is:
ApDumpAllTables()
AcpiOsGetTableByIndex()
ApDumpTableBuffer()
ApWriteToBinaryFile()
It is hard for apdump.c to achieve same "instance ID" that used in the OSL
codes, this patch enhances AcpiOsGetTableByIndex() to obtain table
"instance ID" from OSL layer. ACPICA BZ 1027. Lv Zheng.
This patch adds full support of RSDP/RSDT/XSDT support for Linux to make it
compatible with the wide used original one, it includes a UEFI RSDP search
support using /sys/firmware/efi/systab and a '-r' option.
On hardware reduced platforms running Linux, there might only be UEFI boot
service enabled, no UEFI runtime service is available. Thus when the RSDP
is not located in the EBDA window, it is not possible for AcpiDump to find
the RSDP through UEFI sysfs interfaces. This patch also adds '-r' option
to allow RSDP to be extracted from a user specified position to work around
this issue. Lv Zheng.
This patch reduces code redundancy by moving the FACS/S3PT checksum
verification skip logic into AcpiTbVerifyChecksum().
This patch also adds ApIsValidChecksum() to be called by AcpiDump OSL codes
to verify the checksum of RSDP and tables. Lv Zheng.
This change adds support to allow hosts to install System Control
Interrupt handlers. Certain ACPI functionality requires the host
to handle raw SCIs. For example, the "SCI Doorbell" that is defined
for memory power state support requires the host device driver to
handle SCIs to examine if the doorbell has been activated. Multiple
SCI handlers can be installed to allow for future expansion.
Debugger support is included.
Lv Zheng, Bob Moore. ACPICA BZ 1032.
Ensure -v is supported in all of the tools, in an identical manner.
Also cleans up and standardizes the format of the utility names
and supported option strings.
Clean up the interface by making the input argument a char * string
instead of a UINT32 name. This is easier to use for all callers
and eliminates casting to *(UINT32*)
This utility dumps the system ACPI tables in an ascii format suitable
for extraction via the acpixtract utility.
The main code is portable across environments and hosts. To port the
code, only 3 functions need to be written specifically to obtain
the binary tables from the system.
In this version, Windows is supported. Linux support will be
added later.
ACPICA bugzilla 859.
Move the installation of the "late" handlers to just before
AcpiInitializeObjects is executed. This ensures that all region
handlers are installed before the _REG methods are executed.
This change installs operation region handlers for multiple embedded
controllers that the DSDT may support. All EC handlers are now
installed at the individual EC device nodes, instead of a single
EC handler installed at the root. This reflects the typical installation
of EC operation region handler(s) by host operating systems.
1) Check for I/O error after every fopen/fread/fwrite
2) Ensure proper order of size/count params for fread/fwrite
3) Use test of Actual != Requested after all fwrite, most fread
4) Standardize I/O error messages
Improve reliability and maintainability of the code.
Bob Moore, Lv Zheng.