Commit Graph

93 Commits

Author SHA1 Message Date
Robert Moore
1d6a2cb464 Linux makefiles: add helper scripts to run linux makefiles from git tree.
The final linux tree is slightly different, these scripts allow testing
of the makefiles.
2011-06-22 14:02:00 -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
4bcdec146b All makefiles: Remove optimize flags and unneeded defines.
Optimizations like -O2 are seen to cause issues with some compilers.
Remove unneeded defines like DEBUG, _CONSOLE, etc.
Add _GNU_SOURCE to the Linux makefiles.
2011-06-10 10:36:49 -07:00
Robert Moore
6f0bc401ca All makefiles: Cleanup use of command-line #defines.
Common defines now all appear in acenv.h. Simplifies all makefiles.
2011-06-08 15:00:21 -07:00
Robert Moore
fd3949f488 Unix/Linux makefiles: cleanup multithread support.
The only acpica tool that requires multithread support is
acpiexec. Along with previous changes to the actual source code,
this change removes unnecessary use of threading libraries.
2011-06-08 10:11:12 -07:00
Robert Moore
a94cd4cb17 Update linux/unix makefile readme files.
Update for new utilities and new information.
2011-06-07 12:43:15 -07:00
Robert Moore
c30da62310 Linux makefiles: rework and reformat the tool generation makefiles.
Add the same warning flags as the unix makefiles (except for
gcc4-specific warnings.) reformat the files.
2011-06-03 14:19:27 -07:00
Robert Moore
3697135d47 Linux makefiles: Update makefile headers.
Update purpose of the makefile and add a warning that the makefiles
are only suitable for use on Linux, with the Linux directory
structure (different than the native ACPICA directory structure.)
2011-06-01 14:29:54 -07:00
Robert Moore
1adcf06bb3 iASL: Linux makefile: Add -Wstrict-aliasing=0 flag for GCC-4.
GCC-4 is much stricter about aliasing, disable it.
2011-06-01 13:58:33 -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
16c9bbd6a3 iASL: Changes to cleanup support for Berkeley yacc.
A general cleanup of code and various options to simplify the
support for two parser generators, Bison and yacc.
2011-04-15 10:03:35 -07:00
Robert Moore
369c0f165c iASL/DTC: Finish support for expression evaluation.
Added a new expression parser that implements c-style operator
precedence and parenthesization. ACPICA bugzilla 908.
2011-04-08 12:27:17 -07:00
Robert Moore
8b3f242f8d AcpiExec: Fix Linux makefile.
Had two inclusions of utdebug.c
2011-03-22 08:15:19 -07:00
Robert Moore
a831d91d07 Split all internal Global Lock functions to new file - evglock.c
These functions were moved from evmisc.c
2011-03-17 14:41:54 -07:00
Robert Moore
a2a71802ae iASL: Linux makefile - remove double file inclusion.
aslbtypes.o was inadvertently specified twice.
2011-03-08 08:05:10 -08:00
Robert Moore
25f99e9523 iASL: Split large file aslanalyze.c into three files.
Split into two new files, aslbtypes.c and aslwalks.c.
2011-02-01 13:10:47 -08:00
Robert Moore
26e99b0d83 Split large dsopcode.c and dsload.c files.
split dsopcode.c into dsargs.c and dscontrol.c
split dsload.c into dsload2.c
2011-01-27 10:28:18 -08:00
Robert Moore
cee9d3462c Debugger: Split large dbcmds.c file.
Split into 2 new additional files:
dbmethod.c - control method commands.
dbnames.c - namespace commands.
2011-01-26 13:03:41 -08:00
Robert Moore
73dbf922ac Split large utglobal.c into utdecode.c.
Utglobal.c contained a lot of code not related to global variables.
These utility decode functions are moved to utdecode.c
2011-01-21 15:10:19 -08:00
Robert Moore
fd430272ca iASL/DTC: Add support for integer expressions and labels.
Support for full expressions for all integer fields in all tables.
Support for labels in "generic" portions of tables such as UEFI.
2011-01-21 08:42:11 -08:00
Robert Moore
71ef3a82d8 iASL: Merge duplicate UUID support code into single module.
Merged duplicated UUID functions. Adds one new file,
compiler/asluuid.c. Lin Ming, Bob Moore.
2011-01-11 14:44:08 -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
ecc57b86d9 Replace _MULTI_THREADED with ACPI_SINGLE_THREADED and cleanup.
Cleanup the optional multi/single threaded code for semaphores.
2010-09-24 14:32:44 -07:00
Robert Moore
e833f7b424 iASL/Disassembler: Write ACPI errors to stderr instead of output file.
This keeps the output files clean of random error messages that may
originate from within the namespace/interpreter code.

Used this opportunity to merge all ACPI:-style messages into a single
new module, utxferror.c. ACPICA bugzilla 866.
2010-09-10 12:48:36 -07:00
Robert Moore
08fd52445b Obsolete the AcpiOsDerivePciId OSL interface.
This function is not OS-dependent and has been replaced by
AcpiHwDerivePciId, which is now in the ACPICA core code.
Local implementations of AcpiOsDerivePciId are no longer
necessary and may be removed. ACPICA BZ 857.
2010-08-17 10:22:06 -07:00
Robert Moore
8ad66eb93a Add new host interfaces for _OSI support.
Adds install/remove interfaces so that the host can dynamically
alter the global _OSI table. Also adds support for _OSI handlers.
Additional support: new debugger command (osi), and test support
in the acpiexec utility. Adds new file, utilities/utosi.c.
Lin Ming, Bob Moore. ACPICA bugzilla 836.
2010-08-05 14:18:28 -07:00
Robert Moore
b87ffc0b38 Update Linux makefiles.
Fix a few path problems with the new makefiles.
2010-07-13 13:08:44 -07:00
Robert Moore
cfb8976152 Update Linux makefiles to prevent object file collisions.
Update the iASL and AcpiExec makefiles so that the objects are
generated in the local directory. This prevents collisions due to
the generation of the common ACPICA code (which is compiled with
different options for both.) ACPICA BZ 864.
2010-06-11 13:22:39 -07:00
Robert Moore
1ad056a79f iASL: Add support to generate ACPI Data Table Template files.
These files can be used as the starting point for an actual ACPI
table, to be compiled via the iASL Data Table Compiler.
2010-06-02 13:45:39 -07:00
Robert Moore
b5dc1a48a1 iASL: Fix some issues with data table compiler integration.
Fixes a fault when using wildcards, Fixes linux generation makefile,
adds support for multi-line buffers in the SLIT table.
2010-05-24 10:18:16 -07:00
Robert Moore
09f8e27f3c iASL: Update makefiles and project files for data table compiler.
Update the Linux and Unix makefiles, plus the Windows project
file for iASL.
2010-05-21 14:20:46 -07:00
Robert Moore
f9c241317d Update linux makefile for iASL changes.
New files added, makefile cleaned up.
2010-04-23 14:45:57 -07:00
Robert Moore
8e3a28a487 iASL: Split large aslrestype1.c and aslrestype2.c files.
New files are aslrestype1i.c, aslrestype2d.c, aslrestype2e.c,
aslrestype2q.c, and aslrestype2w.c
2010-04-22 09:36:27 -07:00
Robert Moore
b0a99f238c Split large file, evgpeblk.c.
Create two new files, evgpeinit.c and evgpeutil.c. Updated unix and
linux makefiles.
2010-04-09 09:01:59 -07:00
Robert Moore
eeb88574ee iASL: Add predefined name checking for static names.
Adds typechecking for static (non-control-method) predefined names.
Migrates compiler to use the common predefined name table (acpredef.h).
Adds a single new file, aslpredef.c. ACPICA BZ 832.
2010-03-02 13:43:56 -08:00
Robert Moore
e51c2639b6 Enhance configuration for output of AML Debug Object.
This change will enable debug object output via a global variable,
AcpiGbl_EnableAmlDebugObject. This will help with remote machine
debugging. Also, moved all debug object support code to a new file,
executer/exdebug.c. Entire debug object module can now be configured
out of the ACPICA build if desired. Lin Ming, Bob Moore.
2010-02-26 13:48:18 -08:00
Robert Moore
829c0044e5 Add repair for predefined methods that must return sorted lists.
This change will repair (by sorting) packages returned by _ALR,
_PSS, and _TSS. Drivers can now assume that the packages are
correctly sorted. Adds one new file, namespace/nsrepair2.c
ACPICA BZ 784. Lin Ming, Bob Moore.
2009-11-04 13:57:17 -08:00
Robert Moore
ecea3cc012 Disassembler: Restructure code for externals, no functional change.
Add new file for handling of ASL External() statements. Consolidates
all such code, it is used only for iASL disassembler (not kernel code
or acpiexec.)
2009-10-01 13:33:07 -07:00
Robert Moore
4811ab66f4 Move predefined repair code to new file, no functional change.
New file is nsrepair.c. This is in preparation for additional
errror correcting code.
2009-06-26 09:36:18 -07:00
Robert Moore
95dd0f01c6 Major update for AcpiGetObjectInfo external interface.
Completed a major update for the AcpiGetObjectInfo external interface.
Changes include:
 - Support for variable, unlimited length HID, UID, and CID strings
 - Support Processor objects the same as Devices (HID,UID,CID,ADR,STA, etc.)
 - Call the _SxW power methods on behalf of a device object
 - Determine if a device is a PCI root bridge
 - Change the ACPI_BUFFER parameter to ACPI_DEVICE_INFO.
These changes will require an update to all callers of this interface.
See the ACPICA Programmer Reference for details.
2009-06-10 14:07:55 -07:00
Robert Moore
847f19b87f Update iASL/Linux makefile.
Change ordering of linker flags.
2009-05-08 12:47:59 -07:00
Robert Moore
e03f3cac16 acpiexec: split large source file.
Split aeexec.c, adding new files aehandlers.c and aetables.c
2009-03-13 13:03:43 -07:00
Robert Moore
491a1e7ae0 New: I/O port protection.
Protect certain I/O ports from reads/writes. Provides MS
compatibility. New module, hwvalid.c
2009-03-13 08:08:55 -07:00
Robert Moore
b1c943d6c2 Fix AcpiWalkNamespace race condition with table unload.
Added a reader/writer locking mechanism to allow multiple
concurrent namespace walks (readers), but a dynamic table
unload will have exclusive access to the namespace. This fixes
a problem where a table unload could delete the portion of
the namespace that is currently being examined by a walk.
Adds a new file, utlock.c that implements the reader/writer
lock mechanism. ACPICA BZ 749.
2009-03-06 08:54:39 -08:00
Robert Moore
4fa895bc2f Move all public H/W interfaces to new hwxface.c
Move public interfaces from hwregs.c to new file, hwxface.c -
similar to the structure of the other ACPICA components.
2008-11-20 19:31:55 -07:00
Robert Moore
186aaca9a7 Add semaphores to Linux/Unix application OSL.
Use libsemaphore and libpthread to implement OSL synchronization
interfaces for Linux/Unix.
2008-11-12 13:03:01 -08:00
Robert Moore
1ff11b4819 New: Validation for predefined ACPI methods/objects.
Validates predefined ACPI objects that appear in the namespace, at the
time they are evaluated. The argument count and the type of the returned
object are validated. The purpose of this validation is to detect problems
with the BIOS-exposed predefined ACPI objects before the results are
returned to the ACPI-related drivers.
2008-09-24 13:34:08 -07:00
Robert Moore
5c55a3aed7 Update linux patchgen scripts for git.
Update for use with CVS to use for git.
2008-07-01 09:05:25 -07:00
Robert Moore
9cad41144b Update linux patch generation files.
Additional automation and other changes.
2008-05-21 15:33:06 -07:00