Commit Graph

603 Commits

Author SHA1 Message Date
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
Robert Moore
87bdbc7ec8 Tools: update some printfs for ansi warnings on size_t.
handle width change of size_t on 32 versus 64 bit.
Lin Ming.
2010-08-20 12:57:31 -07:00
Robert Moore
a598d63bbe Add ACPI_INLINE configuration parameter.
The C inline keyword is not standardized, ACPI_INLINE allows this
to be configured on a per-compiler basis. Lin Ming.
2010-08-20 12:25:54 -07:00
Robert Moore
efc2bd2b61 acpisrc: Add new struct for recent PCI changes.
PCI_DEVICE.
2010-08-19 09:30:38 -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
7782d737f3 iASL: Allow multiple invocations of -e option.
This change allows multiple uses of -e on the command line:
-e ssdt1.dat -e ssdt2.dat
ACPICA bugzilla 834. Lin Ming.
2010-07-20 14:34:32 -07:00
Robert Moore
837ccbd58d Additional GPE cleanup.
After the previous patch that introduced acpi_gpe_wakeup() and
modified the ACPI suspend and wakeup code to use it, the third
argument of acpi_{enable|disable}_gpe() and the GPE wakeup
reference counter are not necessary any more.  Remove them and
modify all of the users of acpi_{enable|disable}_gpe()
accordingly.  Also drop GPE type constants that aren't used
any more. Rafael J. Wysocki.
2010-06-29 13:35:07 -07:00
Robert Moore
04b4bfd74a acpisrc: update for data table compiler.
new structs.
2010-06-11 10:01:29 -07:00
Robert Moore
648799e494 Disassembler: Add checksum validation for RSDP.
Verify both RSDP checksums during disassembly.
Also, fix checksum generation during RSDP compile.
2010-06-08 12:45:36 -07:00
Robert Moore
1af8b94914 iASL/Tools: Replace all %d format specifiers with %u (unsigned).
With only a few exceptions, ACPICA does not use signed integers.
Therefore, %d is incorrect.
2010-05-20 12:12:23 -07:00
Robert Moore
d90488f435 acpiexec: add option to disable memory tracking mechanism.
-dt option will disable the tracking mechanism, which improves performance
considerably. Also restructured the options into -d (disable) and -e (enable) options.
2010-05-19 13:53:55 -07:00
Robert Moore
85fa1f3470 acpiexec: add source ASL for ACPI tables used within.
2 tests added.
2010-04-08 15:29:16 -07:00
Robert Moore
d764104bff Add GPE support for dynamically loaded ACPI tables.
For all GPEs, including FADT-based and GPE Block Devices, execute
any _PRW methods in the new table, and process any _Lxx/_Exx GPE
methods in the new table. Any runtime GPE that is referred to by
an _Lxx/_Exx method in the new table is immediately enabled.
ACPICA BZ 833. Lin Ming, Bob Moore.
2010-04-08 14:59:22 -07:00
Robert Moore
66525d7384 Clarify/rename some root table descriptor fields.
Original fields were not very descriptive and led to maintenance problems.
New fields should help to understand the existing code.
2010-04-05 10:19:39 -07:00
Robert Moore
45f0b38a92 Major update for GPE support code for shared GPEs.
Adds a reference count mechanism to simplify support of shared GPEs that
require multiple device drivers. Several external interfaces have changed.
One external interface has been removed.

Changed:
AcpiEnableGpe
AcpiDisableGpe
AcpiClearGpe
AcpiGetGpeStatus

Removed:
AcpiSetGpeType

New:
AcpiSetGpe

See the ACPICA Programmer Reference for details.
Matthew Garrett
Bob Moore
Rafael Wysocki
2010-03-26 15:54:55 -07:00
Robert Moore
23367dc568 Standardize integer output for ACPICA warnings/errors.
Always use 0x prefix for hex output, use %u for integer output (all
integers are unsigned.)

Affects ACPI_INFO, ACPI_ERROR, ACPI_WARNING, and ACPI_EXCEPTION.
ACPICA BZ 835.
2010-03-02 15:09:46 -08:00
Robert Moore
ab686ff50c Add support for MCHI table.
Disassembler and header file support for MCHI -
Managment Controller Host Interface table.
2010-03-02 10:53:43 -08:00
Robert Moore
9061775a81 Remove unused UINT32_STRUCT type.
This type is not used in ACPICA and thus removed.
2010-01-19 14:28:21 -08:00
Robert Moore
bce1fbe326 Remove obsolete ACPI_INTEGER (acpi_integer) type.
This type was introduced as the code was migrated from ACPI 1.0 (with 32-bit
AML integers) to ACPI 2.0 (with 64-bit integers). It is now obsolete and
this change removes it from the ACPICA code base, replaced by UINT64.
The original typedef has been retained for now for compatibility with
existing device driver code.
2010-01-19 13:39:26 -08:00
Robert Moore
c7dd20b0d7 Update all ACPICA copyrights and signons to 2010.
Add 2010 copyright to all module headers and signons, including the Linux
header. This affects virtually every file in the ACPICA core subsystem,
iASL compiler, and all utilities.
2010-01-08 08:49:11 -08:00
Robert Moore
cdfcc7cfce Update for new gcc-4 warning options.
Added several new options for the gcc-4 generation, and updated the source
accordingly. This includes some code restructuring to eliminate unreachable
code, elimination of some gotos, elimination of unused return values, and
some additional casting.
2010-01-08 08:14:05 -08:00
Robert Moore
6f5d3dce4f acpiexec: Add -f option to specify default region fill value.
This option specifies the value used to initialize buffers used to
simulate operation regions. Default is zero. Useful for debugging
problems that depend on a specific initial value for a region or
field.
2009-12-03 09:07:48 -08:00
Robert Moore
453386a16b Automated cleanup - no functional change.
acpisrc -c cleanup.
2009-11-20 09:16:42 -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
f85e95cf59 acpixtract: Fix possible warning for pointer cast.
Fixes a possible warning if warnings set very high.
2009-10-29 08:43:44 -07:00
Robert Moore
b876e438fc acpixtract: Lint/formatting changes.
Update headers, Lint changes, add struct for ACPI table header.
2009-10-02 13:20:21 -07:00
Robert Moore
9ee7239fe9 acpixtract: Close all open files.
Add better cleanup of open files.
2009-10-02 09:26:40 -07:00
Robert Moore
2551bea592 Debugger: Add max count argument for Batch command.
Allows a maximum number of predefined methods to be executed.
2009-09-29 12:31:58 -07:00
Robert Moore
460c5ec626 acpiexec: completion of wildcard support.
Needed for Windows version, where wilcard expansion must be performed
by the application.
2009-09-03 09:33:32 -07:00
Robert Moore
a8bd1a5691 acpiexec: update usage message.
Now supports multiple AML input files.
2009-09-02 13:25:11 -07:00
Robert Moore
11a8d55d19 AcpiExec: Support for multiple tables and wildcards.
Adds the ability to load more than one table from the command line,
as well as wildcards. ACPICA BZ 804.
2009-09-01 13:10:46 -07:00
Robert Moore
a1206bab23 AcpiSrc: Fix missing newlines in multi-line macros.
Fix a problem where newlines can be incorrectly removed from some
multi-line macros during conversion to Linux.
2009-07-24 13:55:13 -07:00
Robert Moore
d2bd4b79ea AcpiSrc: Update for ACPI 4.0 tables.
New tables and changes to existing tables.
2009-07-23 12:27:23 -07:00
Robert Moore
8997e8ccd1 Fix: Predefined object repair executed only once.
This fixes a problem where the code that attempts to repair/convert an
object of incorrect type is only executed on the first time the
predefined method is called. The mechanism that disables warnings
on subsequent calls was interfering with the repair mechanism.
ACPICA BZ 781.
2009-06-23 13:33:48 -07:00
Robert Moore
ace198676c Fix several AcpiAttachData problems.
Handler was never invoked. Now invoked if/when host node is deleted.
Data object was not automatically deleted when host node was deleted.
Interface to handler had an unused parameter, removed it.
ACPICA BZ 778.
2009-06-19 13:23:34 -07:00
Robert Moore
64a735c120 ACPI 4.0: Interpreter support for IPMI.
Adds support for IPMI which is similar to SMBus and uses a bi-directional
data buffer. ACPICA BZ 773. Lin Ming.
2009-06-19 09:17:58 -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
c63f4ddb0f Add 64-bit support to AcpiRead and AcpiWrite.
Needed by drivers for new ACPi tables.
Internal versions of these functions still use 32-bit max transfers,
in order to minimize disruption and stack use for the standard ACPI
registers (FADT-based).
2009-05-27 13:06:39 -07:00
Robert Moore
7abcc2ea10 New: AcpiInstallMethod - install a single control method.
This interface enables the override or creation of a single control
method. Useful to repair a bug or install a missing method.
2009-05-13 13:04:01 -07:00
Robert Moore
4feeacbe2a Remove use of a couple non-ANSI C library functions.
Removed calls to isascii and stricmp/strcasecmp for iASL and acpisrc.
2009-04-16 13:38:00 -07:00
Robert Moore
47481d6ad7 Add missing switch/defaults and prototypes.
Mostly empty default statements to pass lint/strict compiler warnings.
2009-04-15 12:57:02 -07:00
Robert Moore
78c5f575d4 Add missing function prototypes.
Mostly local prototypes that were missing.
2009-04-15 09:56:33 -07:00
Robert Moore
f19dd6aefd acpisrc: fix some non-ansi constructs.
Non-ansi comments, etc.
2009-04-14 14:11:44 -07:00
Robert Moore
e47bc1fea2 Fix miscellaneous warnings under gcc 4+
Some possible warnings with gcc 4+, especially with extended warnings
enabled.
2009-04-13 14:05:16 -07:00
Robert Moore
0a69fa967a Fix printf format warnings for 64-bit build.
Fix warnings caused by size_t and ACPI_SIZE changing to 64 bits.
2009-04-09 14:56:10 -07:00
Robert Moore
56c5c56229 acpiexec: Fix possible compile warning in aeexec.c
A 64-bit constant was causing warnings on some compilers since it
does not have a 'LL' suffix. Since 'LL' is not fully portable,
changed the constant to 32-bit since the value is not important to
acpiexec operation. The messy alternative might involve a new
macro to token-past the 'LL' for some compilers.
2009-04-08 12:29:03 -07:00
Robert Moore
26c4a8e708 Fix a few warnings for gcc 3.4.4
Mostly for acpiexec, one in the core subsystem.
2009-03-27 13:41:59 -07:00
Robert Moore
7db238d714 acpiexec: Add option for debug semaphore timeout (-z).
This option will cause all semaphores/mutexes to timeout after
30 seconds with an error message. Used to help diagnose hang conditions.
2009-03-26 13:47:29 -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
703a1afbbe acpisrc: add total size, average size statistic.
For statitics display.
2009-03-13 12:42:28 -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
44bf030e27 AcpiExec: Add function to exercise H/W interfaces.
Added calls to WriteBitRegister and ReadBitRegister.
2009-02-10 13:42:08 -08:00
Robert Moore
dccd61004e Split out PM1 status registers from the FADT.
Add new globals for the PM1 status registers (A/B), similar to the
way the PM1 enable registers are handled. Instead of overloading the
FADT Event Register blocks. This makes the code clearer and less prone
to error.
2009-01-30 09:35:26 -08:00
Robert Moore
416eb5461f Update all copyrights and signons to 2009.
Add 2009 copyright to all module headers and signons, including the Linux
header. This affects virtually every file in the ACPICA core subsystem,
iASL compiler, and all utilities.
2009-01-08 13:17:27 -08:00
Robert Moore
409f5b644f Add override for dynamic tables.
Add a call to AcpiOsTableOverride during the installation of
a dynamic table (loaded via the Load or LoadTable AML operators).
2008-12-11 12:58:42 -08:00
Robert Moore
2d8f95c694 Allow OS override of all ACPI tables.
Previously, the table override mechanism was implemented for the
DSDT only. Now, any table in the RSDT/XSDT can be replaced by the
host OS. (including the DSDT).
2008-12-09 09:37:48 -08:00
Robert Moore
abcfc51e45 FADT: set UseDefaultRegisterWidths to TRUE by default.
This returns the FADT support to the original behavior, which is to
use default register widths. However, now check each register
definition and report a warning if it differs from the default.
This is a first step to moving away from the default widths, rather
than outright believing the widths in all FADTs for all machines,
considered rather dangerous until more data is obtained.
2008-12-03 09:41:09 -08:00
Robert Moore
09058e5daf FADT parsing changes and fixes.
1) Update the register lengths for the PM1 event blocks. The length
must be divided by two in order to use these to access the status
registers.
2) Add run-time option to use default register lengths to override a
faulty FADT.
3) Add warning message if any of the X64 address structures contain a
length that does not match the legacy length earlier in the FADT.
4) Move all FADT warning messages into the ValidateFadt function.
2008-11-21 13:45:49 -08:00
Robert Moore
320b444e76 New: AcpiGetGpeDevice interface.
This function maps an input GPE index to a GPE block device. Also
Added AcpiCurrentGpeCount to track the current number of GPEs that
are being managed by the ACPICA core (both FADT-based GPEs and the GPEs
contained in GPE block devices.)
2008-11-18 14:02:50 -08:00
Robert Moore
7723fbcee1 New: ACPICA example code.
Includes code for ACPICA initialization, handler installation,
calling a control method.
2008-10-28 14:41:48 -07:00
Robert Moore
28da268b28 Add support to externally execute _OSI method.
The current implemenation of _OSI within ACPICA only allows other
control methods to execute _OSI. This change allows the host OS
to execute _OSI via the AcpiEvaluateObject interface. _OSI is a
special method -- it does not exist in the AML code, it is
implemented within ACPICA.
2008-10-23 10:28:17 -07:00
Robert Moore
085ae7362c Restructure includes into public/private.
acpi.h now includes only the "public" acpica headers. All other
acpica headers are "private" and should not be included by acpica
users. One new file, accommon.h is used to include the commonly
used private headers for acpica code generation. Future plans are
to move all private headers to a new subdirectory.
2008-10-22 14:31:40 -07:00
Robert Moore
77f5bcb46f AcpiExec: Add example ACPICA initialization code.
Added two initialization examples (within a comment block) that
show how to init ACPI for early table access and for a normal
initialization. Same code will appear in the ACPICA reference
manual.
2008-10-16 15:18:36 -07:00
Robert Moore
8b97ef8273 Add global pointer for FACS table to simplify FACS access.
Use a global pointer instead of using AcpiGetTableByIndex for each
FACS access. This simplifies the code for the Global Lock and the
Firmware Waking Vector(s).
2008-10-16 15:03:46 -07:00
Robert Moore
0b09da4ebd Remove obsolete version number in module headers.
Removed the "$Revision" number that appeared in each module header.
This version number was useful under SourceSafe and CVS, but has no
meaning under git. It is not only incorrect, it could also be
misleading.
2008-09-25 12:56:30 -07: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
86b0a69e1f acpisrc: Improve comment counting mechanism.
Count first and last lines of multi-line comments as whitespace, not
comment lines. Handle Linux legal header in addition to standard
acpica header.
2008-08-25 13:50:34 -07:00
Robert Moore
5d63569294 x2APIC support: changes for MADT and SRAT ACPI tables.
Support for the x2APIC. There are 2 new subtables for the MADT and one new
subtable for the SRAT. Includes disassembler and AcpiSrc support. Data from
the Intel 64 Architecture x2APIC Specification, June 2008.
2008-07-24 12:57:13 -07:00
Robert Moore
cb2d41704e AcpiXtract: Handle EOF while extracting data.
Correctly handle the case where the EOF happens immediately after
the last table in the input file. Print completion message. Previously,
no message was displayed in this case.
2008-07-24 10:21:33 -07:00
Robert Moore
913669b792 AcpiExec: Add support for dynamic table load/unload.
Now calls _CFG method to pass address of table to the AML. Added option
to disable opregion simulation to allow creation of opregion with real
address that was passed to _CFG. All of this allows testing of the Load
and Unload operators from AcpiExec.
2008-06-13 13:46:31 -07:00
Robert Moore
10e9550130 Eliminate ACPI_NATIVE_UINT type.
No longer needed; replaced mostly with UINT32, but also ACPI_SIZE where a
type that changes 32/64 bit on 32/64-bit platforms is required.
2008-05-08 13:22:20 -07:00
rmoore1
54e0b736ff Changes for notify handling.
Update for new ACPICA interface; cleanup output for received notifies.
2008-03-21 18:05:54 +00:00
rmoore1
cf488d4ed8 Add test for using external buffer as argument to a method 2008-02-13 18:13:18 +00:00
rmoore1
c02ce8378a *** empty log message *** 2008-02-12 21:27:37 +00:00
rmoore1
96af461e5c Include file support for new ACPI tables.
Implemented header file support for new ACPI tables - BERT, ERST, EINJ, HEST, IBFT, UEFI, WDAT. Disassembler support is forthcoming.
2008-01-23 22:11:31 +00:00
rmoore1
fd55360349 Added the 2008 copyright to all module headers and signons.
This affects  virtually every file in the ACPICA core subsystem, the iASL compiler, and the tools/utilities.
2008-01-09 22:52:49 +00:00
rmoore1
a417391ec6 Update copyright to 2008.
Added 2008 copyright to all module headers and signons. This affects virtually every file in the ACPICA core subsystem, iASL compiler, and the utilities.
2008-01-09 21:27:10 +00:00
rmoore1
dc7e4c5bc3 2008 Copyright support added.
2008 copyright for base code and Linux version. Also, removed R. Byron Moore copyright and replaced with Intel Corp.
2008-01-09 21:25:54 +00:00
rmoore1
413ebb3f59 Automated cleanup 2007-12-11 22:11:54 +00:00
rmoore1
5c57d6bdc7 Update to allow .ASL files (statistics only) 2007-11-20 22:37:34 +00:00
rmoore1
a6fb3de887 Add support for 64-bit DSDT and FACS addresses in local FADT.
Use XDsdt and XFacs fields.
2007-11-14 20:35:24 +00:00
rmoore1
ecc59ccc5d New struct 2007-11-14 20:34:19 +00:00
rmoore1
0d94265e6e Added handler support for additional regions.
Now supports PCI_Config, CMOS, and PCI_BAR.
2007-11-08 22:47:37 +00:00
rmoore1
734499d890 Fixed a couple compiler warnings.
Warnings with gcc.
2007-11-01 15:06:45 +00:00
rmoore1
2e172dd565 Improved output for the table event handler.
Add text for table event, print signature.
2007-10-19 20:29:24 +00:00
rmoore1
6f8d4544e7 Update internal Notify Handler.
Calls the "_NOT" method for test suite purposes only.
2007-10-16 22:32:07 +00:00
rmoore1
7fe84263e1 Automated cleanup.
Automated cleanup.
2007-09-28 15:56:34 +00:00
rmoore1
5e9a716dee New interfaces for table event handlers.
Designed and implemented new external interfaces to install and remove handlers for ACPI table-related events. Current events that are defined are LOAD and UNLOAD. These interfaces allow the host to track ACPI tables as they are dynamically loaded and unloaded. See AcpiInstallTableHandler and AcpiRemoveTableHandler. (Lin Ming and Bob Moore)
2007-09-19 20:00:31 +00:00
rmoore1
9ec5027828 Added new error message.
Added an error message to AcpiExec when the _ERR method invocation fails for
any reason other than AE_NOT_FOUND.
2007-04-20 22:09:20 +00:00
rmoore1
b9f4577515 Support for external package objects as method arguments.
Implemented support to allow Package objects to be passed as method arguments to the AcpiEvaluateObject interface. Previously, this would return an AE_NOT_IMPLEMENTED exception.
2007-04-03 19:59:37 +00:00
rmoore1
05d312d1e6 Implemented quiet mode to stop excess output. 2007-03-28 18:51:21 +00:00
rmoore1
4e5756416b Remove extraneous output when running on unix 2007-03-27 21:12:41 +00:00
rmoore1
34e1a4c900 Changes for Cygwin compatibility.
Allow generation of ACPICA apps on Cygwin.
2007-03-27 20:25:46 +00:00
rmoore1
7c7d01c61e Update for mutiple global lock acquisitions by same thread.
Allows AcpiAcquireGlobalLock external interface to be called multiple times by the
 same thread. Allows use of AML fields that require the global lock while the running
 AML is already holding the global lock.
2007-03-14 19:22:11 +00:00
rmoore1
3ef7f97afd Automatically convert LF-only files to LF/CR (windows only) 2007-03-08 20:27:47 +00:00
rmoore1
6e075f8871 Update copyright to 2007.
Added 2007 copyright to all module headers and signons. This affects virtually every file in the ACPICA core subsystem, iASL compiler, and the utilities.
2007-01-09 20:01:19 +00:00
rmoore1
dc0474fb52 Added option to display memory statistics upon termination. 2006-12-14 22:29:21 +00:00
rmoore1
fc76ab00f6 Support for ThreadId parameter to _ERR method.
Enhanced debugging for multithread test support.
2006-12-12 22:02:16 +00:00
rmoore1
b2f39803f4 Debugger multithreading enhancements.
Implemented enhancements to the multithreading support within the debugger to enable better multithreading evaluation of the subsystem.
2006-12-08 22:50:46 +00:00