Commit Graph

603 Commits

Author SHA1 Message Date
Robert Moore
29f4970e2f Tools: Replace low-level I/O with stream I/O functions.
Replace open/read/write/close with the stream I/O equivalents
fopen/fread/fwrite/fclose for portability and performance
Lv Zheng, Bob Moore.
2012-11-08 08:45:29 -08:00
Robert Moore
56037d01c3 AcpiBin: Display compared headers side-by-side.
Improvement over displaying one header after the other.
2012-11-06 13:08:57 -08:00
Robert Moore
3860f05120 AcpiSrc: Add error check after call to write().
Ensure a write error is not missed.
2012-10-25 09:36:08 -07:00
Robert Moore
8e7a875382 AcpiGetObjectInfo: Add support for ACPI 5.0 _SUB method.
Now calls _SUB in addition to the other ID methods: _HID, _CID,
and _UID.
2012-10-17 10:24:40 -07:00
Robert Moore
a889648796 Change ACPI_DEVICE_ID to ACPI_PNP_DEVICE_ID.
Also changed ACPI_DEVICE_ID_LIST to ACPI_PNP_DEVICE_ID_LIST. These
changes prevent name collisions on hosts that reserve the *_DEVICE_ID
(or *DeviceId) names for their various drivers. Affects the
AcpiGetObjectInfo external interface, and other internal interfaces
as well.
2012-10-17 08:04:28 -07:00
Robert Moore
4322675fc9 Add starting offset parameter to common dump buffer routine.
Rename the dump buffer routines. Offset parameter can specify
the buffer starting offset that is used when displaying each
line of the buffer.
2012-10-12 13:44:40 -07:00
Robert Moore
ef898130ec Deploy ACPI_MOVE_NAME across ACPICA source base.
Replaces instances of strncpy(...,4) for ACPI_NAMEs.
ACPI_MOVE_NAME optimizes these to a single 32-bit copy on machines
that support misaligned transfers.
2012-10-12 12:54:03 -07:00
Robert Moore
2406636978 Small fix for standard Intel legal header.
Remove an extraneous space after a comma, for consistency.
2012-09-27 09:36:49 -07:00
Robert Moore
1855422e72 acpibin: Add error check after fwrite invocation.
Always check for write errors.
Feng Tang. ACPICA BZ 977.
2012-09-26 13:46:19 -07:00
Robert Moore
a28a14bc42 Remove extra spaces after periods in the Intel license.
For consistency with the rest of the source code.
2012-09-26 13:17:19 -07:00
Robert Moore
d91aaaf0ae Remove extra spaces after periods within comments.
This makes all comments consistent.
2012-09-26 13:14:58 -07:00
Robert Moore
b6e1206fc1 acpisrc: Add support to remove extra spaces after a period.
Improves the consistency of the source. Invoked using -c option.
2012-09-26 13:04:58 -07:00
Robert Moore
5ad5821df2 Fix for potential filename buffer overflow (osunixdir.c)
Increase size of structure. Colin Ian King.
2012-09-26 10:07:57 -07:00
Robert Moore
c0b396e9a2 iASL/Tools: Cleanup empty lines at file start and end.
Maintenance for source code consistency.
2012-09-21 13:45:48 -07:00
Robert Moore
f4dbc0287a AcpiSrc: Add cleanup function to remove empty lines at file start/end.
To promote consistency, this feature removes all empty lines at the start
of the file and at the end of the file.
2012-09-21 13:42:34 -07:00
Robert Moore
087f252d98 iASL/Tools: return statement audit.
Ensure that all normal return statements surround the return
expression (value) with parens, for consistency.
2012-09-21 09:50:35 -07:00
Robert Moore
ade20e6c9d AcpiExec: Cleanup and restructure main module.
Code maintenance cleanup.
Properly return error on any initialization error during batch
mode.
2012-08-31 10:44:46 -07:00
Robert Moore
12664756d8 Debugger: Improve command help support.
For incorrect argument count, display full help for the command.
For help command itself, allow an argument to specify a command.
2012-08-17 13:43:02 -07:00
Robert Moore
0255f9736c AcpiSrc: Add support for CSRT and DBG2 ACPI tables.
Conversion support.
2012-08-15 08:44:05 -07:00
Robert Moore
83212f2d48 Add struct header support for _FDE, _GRT, _GTM, and _SRT names.
Added structs for the buffers related to these predefined names,
in acbuffer.h
2012-07-19 09:35:03 -07:00
Robert Moore
685d6112d1 Add support for complex _PLD buffers.
_PLD (Physical Location of Device) returns a bit-packed buffer that
is difficult to parse. This change adds a new interface,
AcpiDecodePldBuffer that parses the buffer into a more usable
local struct. Also adds macros to both get and set individual
fields within the packed _PLD buffer. Adds a new include file,
acbuffer.h - which will be expanded to add structs for other
ACPI names that return buffers. ACPICA BZ 954.
2012-07-18 13:09:53 -07:00
Robert Moore
961170c44b Remove use of scanf to read single characters.
Replace heavy scanf with simple getchar.
2012-07-12 14:12:35 -07:00
Robert Moore
1bd56dae3c AcpiExec: Add comment to indicate ASLTS dependency.
ASLTS suite depends on the contents of SSDT1. The AcpiExec
definition of this table must match the ASLTS definition of the
same table, for DataTableRegion tests.
2012-07-09 13:42:58 -07:00
Robert Moore
2e674261e8 AcpiExec: Add option to perform additional tests.
add -ei option to enable additional acpica interface tests.
2012-07-08 13:52:34 -07:00
Robert Moore
f327375776 AcpiExec: Add tests for AcpiLoadTable and AcpiUnloadParentTable.
Exercise these new external interfaces to ACPICA.
2012-06-29 13:19:06 -07:00
Robert Moore
09da667565 Fix some comment fields. No functional change.
Fixes some typos and linux divergences.
2012-06-28 09:15:20 -07:00
Robert Moore
7e563e8c0e AcpiSrc: Add ACPI_ADDRESS_RANGE to types table.
This symbol was missing.
2012-06-28 09:14:16 -07:00
Robert Moore
e5fc16a6e2 AcpiHelp: Add support to decode ACPICA exception codes.
Adds -e option to decode hex status codes to name strings.
2012-06-22 15:00:55 -07:00
Robert Moore
76dfbe9a42 Miscellaneous support for multiple device implicit notify.
Adds support in the various tools and utilities: Debugger,
AcpiSrc, and AcpiExec.
2012-06-19 13:14:57 -07:00
Robert Moore
0bd5c0817e AcpiSrc: Fix some translation issues for Linux conversion.
Fixes issues like this:

i_aSL -> iASL
00-7_f -> 00-7F
local_fADT -> local_FADT
execute_oSI -> execute_OSI

Also, in function headers, the parameters are now translated to
lower case (with underscores if necessary.)
2012-06-15 12:47:35 -07:00
Robert Moore
b71852ab29 AcpiSrc: Prevent two possible div-by-zero conditions.
Ensure statistics display does not divide-by-zero.
2012-06-13 13:50:52 -07:00
Robert Moore
fbff62978e AcpiHelp: Update for source file move (ahpredef.c)
File was moved to the common directory for use by iASL.
2012-05-25 10:06:58 -07:00
Robert Moore
59d78f2a9e iASL: Improved pathname support.
For include files, merge the prefix pathname with the file pathname.
Convert backslashes in all pathnames to forward slashes, for
readability.
Include file pathname changes affect both #include and Include()
type operators.
2012-05-11 13:47:17 -07:00
Robert Moore
c760d1f111 AcpiExec: Update to test multiple notify handler support.
Installs/removes multiple notify handlers. Also update grammar.asl
to test multiple handlers.
2012-04-20 09:19:48 -07:00
Robert Moore
7adabc5479 Add support for multiple notify handlers.
This change adds support to allow multiple notify handlers on
Device, ThermalZone, and Processor objects. Also re-worked and
restructured the entire notify support code for handler installation,
handler removal, notify event queuing, and notify dispatch to handler.
Lin Ming, Bob Moore, Rafael Wysocki.
2012-04-20 09:00:41 -07:00
Robert Moore
7fd09d9935 iASL: Add preprocessor infrastructure and initial implementation.
Adds a standard c-like preprocessor to iASL. Most standard directives
are supported. #define() macros not supported yet.
2012-03-15 13:45:55 -07:00
Robert Moore
746344cb1e AcpiSrc: Update for new structs and function typedefs.
New items added for sleep/wake support.
2012-02-15 08:54:49 -08:00
Robert Moore
f7502f84f2 AcpiExec: Update for dynamic table load testing.
Only signatures SSDT and OEMx are allowed for dynamic table
load, update AcpiExec.
2012-02-09 12:14:02 -08:00
Robert Moore
5539cc3644 AcpiHelp: Add display of ACPI/PNP device IDs.
New -i option displays the IDs that are defined in the ACPI spec.
2012-02-03 13:06:18 -08:00
Robert Moore
3009583f88 Support for custom ACPICA build for ACPI 5.0 reduced hardware.
Add ACPI_REDUCED_HARDWARE flag that removes all hardware-related
code (about 10% code, 5% static data).
2012-02-01 13:18:17 -08:00
Robert Moore
7db43032db Update ACPICA copyrights to 2012.
Standard ACPICA source modules only.
2012-01-03 14:08:42 -08:00
Robert Moore
4e382b9930 Update fields in the V5 FADT.
Integrate some late changes in the V5 (ACPI 5.0) FADT within the
ACPI 5.0 specification. Includes
changes to 2 flags and adds the sleep control/status registers.
Increases the size of the FADT to 0x10C.
2011-11-30 08:28:22 -08:00
Robert Moore
6af66d0b64 ACPI 5.0/AcpiExec: Update to add AcpiBufferToResource calls.
Used for Connection() buffer.
2011-11-16 10:15:28 +08:00
Robert Moore
b8916ef5ff ACPI 5.0/AcpiSrc: Update for new struct names
New ACPI 5 names.
2011-11-16 10:15:28 +08:00
Robert Moore
1b2097a4a1 ACPI 5.0/AcpiHelp: Add RawDataBuffer type to new descriptors.
Also split some very long lines.
2011-11-16 10:15:28 +08:00
Robert Moore
dc8eae0c51 ACPI 5.0/AcpiHelp: Update formatting of AliasAs operator.
Display the new Extended AccessAs attributes automatically.
2011-11-10 10:10:26 +08:00
Robert Moore
d06db1beb0 ACPI 5.0/AcpiExec: Fix GCC generation problem.
Remove // comments.
2011-11-10 10:10:26 +08:00
Robert Moore
f5c6043a1d ACPI 5.0/AcpiExec: Update for new region SpaceIds.
Add additional support for new region IDs.
2011-11-10 10:10:26 +08:00
Robert Moore
642b20401e ACPI 5.0/iASL: Add new I/O restriction keyword (GPIO descriptors)
Late addition of IoRestrictionNoneAndPreserve. Lin Ming.
2011-11-10 10:10:26 +08:00
Robert Moore
6c816840f5 ACPI 5.0/AcpiHelp: Add keyword support for new resource descriptors.
Support for automatic keyword display.
2011-11-10 10:10:26 +08:00
Robert Moore
a039667e48 ACPI 5.0/AcpiHelp: Fix for FixedDMA width keyword.
Had incorrect name for the keyword.
2011-11-10 10:10:26 +08:00
Robert Moore
a4d062c6d0 ACPI 5.0: New predefined names: _DSM,_EVT,_PRE,_PSE.
From last-minute proposals.
2011-11-10 10:10:25 +08:00
Robert Moore
a701de24ea ACPI 5.0/AcpiExec: Test new AML mutex access interfaces.
Acquire/release an AML mutex from acpiexec code using new
interfaces.
2011-11-10 10:10:25 +08:00
Robert Moore
645a16e3d3 ACPI 5.0/AcpiSrc: Update for new structure names.
Note: Includes new structure names, and some previously existing
names that were missing from AcpiSrc utility.
2011-11-10 10:10:25 +08:00
Robert Moore
aee3313af7 Debugger: Support to display user-defined spaceID handlers.
For the handlers command. Display handlers for user-defined
spaceIDs.
2011-11-10 10:10:24 +08:00
Robert Moore
8a8843b3f3 ACPI 5.0/AcpiHelp: Update for DMA keyword changes.
Changes to width keywords. Also added SMB* synonyms for the
acces attribute keywords.
2011-11-10 10:10:24 +08:00
Robert Moore
ec7ea84bfd ACPI 5.0/AcpiHelp: Update for new operators/keywords/predefined-names.
Hopefully this gets all ACPI 5.0 changes in one checkin.
2011-11-10 10:10:24 +08:00
Robert Moore
36916a6068 AcpiExec: Add check for correct context arg in region handler.
Ensure that the correct context is passed to the handler.
2011-11-10 10:10:23 +08:00
Robert Moore
047ab509df ACPI 5.0/AcpiExec: Support for GPIO regions, and GSBus parameters.
Install a GPIO handler, and setup the protocol for parameters
passed to GenericSerialBus handlers.
2011-11-10 10:10:23 +08:00
Robert Moore
c660fcbd56 ACPI 5.0: Support for GenericSerialBus operation region handling.
New keywords for iASL, dispatch to region handler. Lin Ming.
2011-11-10 10:10:23 +08:00
Robert Moore
040bbcabb9 ACPI 5.0/AcpiExec: Add support for hardware-reduced option.
Add support for FADT V5 and HW-reduced option. The -r option
enables use of the FADT V5.
2011-11-10 10:10:23 +08:00
Robert Moore
b2be089f21 AcpiHelp: Display expanded keyword info for all ASL operators.
For any and all keywords associated with an ASL operator, display
the keyword info -- all possible values for the keyword.
2011-10-07 14:32:19 -07:00
Robert Moore
e3f7713188 Update for GCC 4.6
Fixes several issues with GCC 4.6 related to the new checks
for unused variables.
2011-10-04 07:55:35 -07:00
Robert Moore
c7cd1fe110 AcpiXtract: Lowercase all output filenames.
Simplify filenames on systems that are case-sensitive.
2011-09-21 15:19:38 -07:00
Robert Moore
8df82fc77f AcpiHelp: Add missing table terminator.
Fixes possible fault in the -p option.
2011-09-20 09:34:02 -07:00
Robert Moore
62268be19e AcpiExec: ignore non-aml tables.
Don't load non-aml tables that are specified on the command line.
Prevents issues, especially with odd tables like the RSDP.
However, allow loading of the FADT. ACPICA BZ 932.
2011-09-13 08:41:47 -07:00
Robert Moore
bd2e51cfa9 iASL: Check access length for ResourceTag references.
When compiling CreateXxxField operators that access resource descriptor tags,
check that the bit access width matches the actual width of the resource
descriptor field referenced by the tag. ACPICA BZ 930.
2011-09-02 13:53:35 -07:00
Robert Moore
c6e4bc259f AcpiSrc: Fix possible divide-by-zero fault.
Occurred if no files or no lines were processed.
2011-08-19 12:32:12 -07:00
Robert Moore
96376edca3 AcpiHelp: Add AccessAs and Offset operators.
These operators were missing from the ACPI specification and thus
did not get pulled into this utility. ACPI 5.0 spec adds them,
and they are added to AcpiHelp.
2011-07-29 14:01:49 -07:00
Robert Moore
a31ff979a1 AcpiXtract: Port to standard ACPICA environment (adds 64-bit support also.)
Also split out the main() routine to a new file.
2011-06-24 10:36:40 -07:00
Robert Moore
373b57f06d Tools: Standardize usage help messages.
Add new common macros for usage messages.
2011-06-24 08:20:20 -07:00
Robert Moore
c1a4e553db AcpiHelp: Add support to display non-operator ASL keywords.
Adds -k option to display ASL keywords (Space IDs, etc.)
2011-06-23 08:43:57 -07:00
Robert Moore
96e28acc9e AcpiHelp: Add -a (display all) option. Split long lines on output.
-a displays all operators/opcodes of the type selected.
Added function to split all long lines on output.
2011-06-22 13:53:25 -07:00
Robert Moore
8aa1e098b2 AcpiHelp: Major feature update (AML opcodes, predefined names).
Add additional capabilities.
Now finds AML opcode information (by name or by hex opcode),
and finds information about ACPI predefined names.
2011-06-17 12:47:34 -07:00
Robert Moore
08a6614c84 AcpiHelp: Fix a printf formatting warning under Linux. 2011-06-10 10:39:58 -07:00
Robert Moore
b12fcf75c0 Service Layers: Make multi-thread support configurable.
Conditionally compile the multi-thread support so that threading
libraries will not be linked if not necessary. The only tool
that requires multi-thread support is AcpiExec.
2011-06-08 09:42:47 -07:00
Robert Moore
404bf0d166 Tools: Update AcpiBin for MS generation with disabled extensions.
Disable language extensions where possible for maximum portability.
Unfortunately, when MS system includes are used, this option
cannot be used (oswinxf.c)
2011-06-08 08:42:22 -07:00
Robert Moore
e759b02a86 Tools: Fix for systems where O_BINARY is not defined.
Only used for Windows versions of the tools.
2011-06-07 10:35:47 -07:00
Robert Moore
5adfba9805 AcpiBin: Update for correct unix/linux generation.
Fix warnings under GCC 4. Add generic unix makefile.
2011-06-03 14:15:22 -07:00
Robert Moore
29f3832223 New: AcpiHelp utility.
Provides syntax for ASL operators, and input/output requirements
for predefined ACPI names (Names that start with underscore.)
2011-06-01 12:55:50 -07:00
Robert Moore
a4b5938821 Add option to disable method return value validation and repair.
Runtime option can be used to disable return value repair if this
is causing a problem on a particular machine. Also added an option
to AcpiExec (-dr) to set this disable flag.
2011-05-27 12:19:24 -07:00
Robert Moore
564f68cff3 AcpiExec: update for debugger changes for complex arguments
Interface change for DbExecute.
2011-05-17 14:10:45 -07:00
Robert Moore
94191a62fa AcpiXtract: Fix for RSDP and dynamic SSDT extraction.
Update the header validation to support these tables.
Problem introduced in previous version.
2011-03-30 12:46:08 -07:00
Robert Moore
c0febdf30f AcpiExec: Add ECDT table for test purposes.
Added to the default XSDT loaded by AcpiExec.
2011-03-24 14:22:35 -07:00
Robert Moore
baab09e685 AcpiXtract: Fix to handle embedded comments/msgs from acpidump
Apparently some or all versions of acpidump will occasionally drop
a comment like "Wrong checksum", etc., into the dump file. This
was causing problems for AcpiXtract. ACPICA BZ 905.
2011-02-25 15:58:05 -08:00
Robert Moore
f1d615e1bf AcpiExec: restore installation of a single user-defined region.
This region is required by ASLTS suite.
2011-02-15 14:58:00 -08:00
Robert Moore
34bc53edda AcpiExec: Do not override default handler for DataTable regions.
Should not override this handler, the default handler should be used.
Also, ASLTS suite depends on this.
2011-02-11 12:15:41 -08:00
Robert Moore
24b79d93e7 AcpiSrc: Add new struct definition.
ACPI_HANDLER_INFO.
2011-01-28 13:49:08 -08:00
Robert Moore
8ab2602d47 AcpiExec: Split handler installation into early/late phases.
Most handlers should be installed before call to AcpiEnableSubsystem.
However, Event handlers and region handlers should be installed
after AcpiInitializeObjects. Override handlers for the "default"
regions should be installed early, however.
ACPICA BZ 848.
2011-01-28 13:35:10 -08:00
Robert Moore
d41344f1ec Update all ACPICA copyrights and signons to 2011.
Standard ACPICA source modules only.
2011-01-03 14:02:13 -08:00
Robert Moore
21f9129788 Update ordering of include files.
The ACPICA headers should appear before any compiler-specific
headers (stdio.h, etc.) so that acenv.h can set any
necessary compiler-specific defines, etc.
2010-12-17 17:07:16 -08:00
Robert Moore
5d65ffe2ef AcpiSrc: Add option to simply inject dual-license header.
No other transforms performed. -h option.
2010-12-16 13:37:15 -08:00
Robert Moore
818d9a5f31 New: AcpiNames - Example namespace dump utility.
Shows example of ACPICA configuration for a minimal namespace
dump utility. Uses table and namespace managers, but no AML
interpreter.

Does not add any functionality over AcpiExec. It is a subset
of AcpiExec. The purpose is to show how to partition and
configure ACPICA.
2010-12-01 14:33:02 -08:00
Robert Moore
3bc77e86ae GPE support code overhaul and enhancement.
Contains the complete overhaul of the GPE support code including
removal of _PRW execution, improved handling of wake GPEs, new
external interfaces, and implicit notify support. ACPICA BZ 858,
870,877. Matthew Garrett, Lin Ming, Bob Moore, Rafael Wysocki.

Note: This support is committed as a single patch here because
of multiple patch backporting from Linux and the resulting
interdependency issues.

See the ACPICA reference for full documentation.
2010-12-01 12:57:25 -08:00
Robert Moore
1d96aaf67d acpisrc: modify include file paths for linux conversion.
Change all instances of "acpi.h" to <acpi/acpi.h>
2010-11-18 13:40:45 -08:00
Robert Moore
16da8c8163 Deploy common signon/header for all ACPICA tools.
Common signon with version,32/64 width,date,copyright.
2010-09-30 14:47:37 -07:00
Robert Moore
ae36fb6358 AcpiExec: Additional changes for 64-bit build support.
64-bit addresses for DSDT, FACS.
2010-09-30 14:15:57 -07:00
Robert Moore
28b20c5ca6 AcpiExec: Fix for 64-bit build (add XSDT support).
Now uses XSDT exclusively instead of RSDT.
Also, split AML data into new file, aetables.h
2010-09-30 09:59:55 -07:00
Robert Moore
5642c304e4 iASL/tools: Lint changes.
For acpiexec, also add additional error checking in the utility
itself.
2010-09-03 09:54:53 -07:00
Robert Moore
b890ef7b6b Make ACPI_THREAD_ID no longer configurable, always UINT64.
Change definition of ACPI_THREAD_ID to always be a UINT64. This simplifies
the code, especially any printf output. UINT64 is the only common data
type for all thread_id types across all operating systems. We now force
the OSL to cast the native thread_id type to UINT64 before returning
the value to ACPICA (via AcpiOsGetThreadId). Lin Ming, Bob Moore.
2010-08-20 13:37:40 -07:00