2969 Commits

Author SHA1 Message Date
Robert Moore
c99436593b Add table-driven dispatch for sleep/wake functions.
Simplifies the code, especially the compile-time
ACPI_REDUCED_HARDWARE option.
2012-02-10 13:09:25 -08:00
Robert Moore
aa4b5c6cfa Split sleep/wake functions into two files.
The functions for the original/legacy sleep/wake registers are
in hwsleep.c, and the functions for the new extended FADT V5
sleep registers are in hwesleep.c
2012-02-10 09:51:30 -08:00
Robert Moore
b524692bc1 Distill multiple sleep method functions to a single function.
Adds AcpiHwExecuteSleepMethod to handle the various sleep
methods such as _GTS, _BFS, _WAK, and _SST. Removes the specialized
functions previously used for each of these methods.
2012-02-10 09:26:59 -08:00
Robert Moore
31b81721aa Move invocations of _GTS and _BFS during sleep/wake.
The execution of ACPI global control methods _GTS and _BFS is
currently tied to the preparation to enter a sleep state and to the
leaving of the sleep state, respectively.  However, these functions
are called before disabling the nonboot CPUs and after enabling
them, respectively (in fact, on ACPI 1.0x systems the first of them
ought to be called before suspending devices), while according to the
ACPI specification, _GTS is to be executed right prior to entering
the system sleep state and _BFS is to be executed right after the
platform firmware has returned control to the OS on wake up.

Move the execution of _GTS and _BFS to the right places.
Adds a new external function, AcpiEnterSleepStatePrep.
Rafael Wysocki.
2012-02-10 09:01:13 -08:00
Robert Moore
cca073748b Add AcpiOsPhysicalTableOverride interface.
This interface allows the host to override a table via a physical
address, instead of the logical address required by
AcpiOsTableOverride. This simplifies the host implementation.
Initial implementation by Thomas Renninger. ACPICA implementation
creates a single function for table overrides that attempts
both a logical and a physical override.
2012-02-09 12:29:19 -08:00
Robert Moore
5765628fd3 ACPI 5.0: Update debug output for new notify values.
Add new notify values, add support for "hardware specific" notifies.
2012-02-03 08:34:00 -08:00
Robert Moore
558ddb1021 Expand OSL memory read/write interfaces to 64 bits.
This change expands AcpiOsReadMemory and AcpiOsWriteMemory to
a full 64 bits. This allows 64 bit transfers via the AcpiRead
and AcpiWrite interfaces. Note: The internal AcpiHwRead and
AcpiHwWrite interfaces remain at 32 bits, because 64 bits is not
needed to access the standard ACPI registers.
2012-02-02 13:39:57 -08:00
Robert Moore
d58abe67a9 Set default for ACPI_REDUCED_HARDWARE to FALSE.
Removes ACPI hardware access code.
2012-02-01 13:28: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
4057b51341 Move ACPI timer prototypes to public acpixf.h file.
These prototypes were incorrectly declared in achware.h.
2012-02-01 08:48:53 -08:00
Robert Moore
fe9c654a34 ACPI 5.0: Support for new FADT SleepStatus, SleepControl registers.
Adds sleep and wake support for systems with these registers.
One new file, hwxfsleep.c
2012-01-26 14:01:20 -08:00
Robert Moore
7d9691b431 Update _REV return value to 5.
_REV returns the supported ACPI revision level, which is now 5.
2012-01-19 15:00:25 -08:00
Robert Moore
0755aba3b6 Update to version 20120111.
Version 20120111.
2012-01-11 09:05:01 -08:00
Robert Moore
21eb935e54 Update ACPICA utility signon copyrights to 2012.
All tools use a common signon, including iASL. Updated
this signon to 2012.
2012-01-03 14:11:16 -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
4bbeebf0a9 Add support for region address conflict checking.
Allows drivers to determine if any memory or I/O addresses will
conflict with addresses used by ACPI operation regions.
Introduces a new interface, AcpiCheckAddressRange.
2011-12-21 13:25:52 -08:00
Robert Moore
cf4709a255 iASL/TableCompiler: Add caseless compare for generic operators.
Makes the "generic" operators (UINT8, String, etc.) case insensitive,
improving ease-of-use.
2011-11-30 09:11:00 -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
e66283286c Update to version 20111123.
Version 20111123.
2011-11-23 08:08:14 -08:00
Robert Moore
653c82dea0 ACPI 5.0: Changes for Connection() object.
Add length field to the struct passed to handlers.
2011-11-16 10:15:28 +08:00
Robert Moore
551dae6c43 Fix declaration of AcpiGbl_NoResourceDisassembly.
Was incorrectly declared in acglobal.h
2011-11-16 10:15:28 +08:00
Robert Moore
7fa01ce507 Add new interface: AcpiBufferToResource.
This interface converts an AML buffer to an internal
ACPI_RESOURCE.
2011-11-16 10:15:28 +08:00
Robert Moore
e202312d55 Update table signatures
And add version numbers to table struct headers
2011-11-10 10:10:26 +08:00
Robert Moore
212d9864b2 Add new flag types for data table disassembler 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
a673cc5676 ACPI 5.0: Update comment in actypes header.
Add GPIO to comment.
2011-11-10 10:10:26 +08:00
Robert Moore
e9c848604d Update version for internal release - 20111019.
Version 20111019.
2011-11-10 10:10:26 +08:00
Robert Moore
ba236eec5f ACPI 5.0/headers: Update definition of new _CLS method.
Updated late in the ACPI 5.0 proposal cycle.
2011-11-10 10:10:26 +08:00
Robert Moore
ff775a2336 ACPI 5.0: Add field/value defines for new resource descriptors.
In the public header.
2011-11-10 10:10:26 +08:00
Robert Moore
48a3d67954 Update version to 20110926 for internal release.
Internal use only.
2011-11-10 10:10:25 +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
d23d77966a ACPI 5.0: Make global "reduced hardware" flag global.
Add external in the acpixf.h public header, move global in
acglobal.h
2011-11-10 10:10:25 +08:00
Robert Moore
b44790a296 ACPI 5.0: Update for change to PMTT table.
Adds a new reserved field.
2011-11-10 10:10:25 +08:00
Robert Moore
a440cb215b ACPI 5.0: New interfaces to allow driver access to AML mutex objects.
Adds AcpiAcquireMutex, AcpiReleaseMutex external interfaces.
New file, utilities/utxfmutex.c.
Lin Ming, Bob Moore.
2011-11-10 10:10:25 +08:00
Robert Moore
73be451eee ACPI 5.0/ResourceMgr: New interface, AcpiGetEventResources.
Executes _AEI and formats the result, similar to AcpiGetCurrentResources,
etc.
2011-11-10 10:10:25 +08:00
Robert Moore
d1e378a75f ACPI 5.0/ResourceMgr: Add subtype constants for GPIO/Serial descriptors.
Subtypes for new descriptors for use by drivers.
2011-11-10 10:10:25 +08:00
Robert Moore
f5bac5a6db ACPI 5.0/ResourceMgr: Allow _AEI method in walk resources.
_AEI contains a resource template, this change adds support for
the walk resources function. Zhang Rui.
2011-11-10 10:10:25 +08:00
Robert Moore
d0ccbcf3c6 Header/Disassembler support for GTDT and PMTT tables.
New ACPI tables.
2011-11-10 10:10:25 +08:00
Robert Moore
f0e727a998 ACPI 5.0/TableCompiler: Support for MPST table.
New ACPI 5.0 table. Lin Ming.
2011-11-10 10:10:25 +08:00
Robert Moore
d33607f143 ACPI 5.0/ResourceMgr: Remove unused dispatch table.
Table for "common serial bus" is no longer used.
Lin Ming.
2011-11-10 10:10:25 +08:00
Robert Moore
b95f057c9e ACPI 5.0/Disassembler: Support for new resource descriptor tags.
Allow the disassembly of code that accesses resource tags to the
original symbolic name (instead of simply a numeric offset.) This
change adds additional support for the new resource descriptors.
2011-11-10 10:10:25 +08:00
Robert Moore
8d1f539c1d Update some files to disable linux source conversion.
Found a couple files that needed some code areas disabled from
AcpiSrc linux conversion.
2011-11-10 10:10:25 +08:00
Robert Moore
554f0d60d6 ACPI 5.0: Harden support for serial bus descriptors.
Do not allow bustypes other than I2C, SPI, or UART.
2011-11-10 10:10:25 +08:00
Robert Moore
2cf7c4e658 ACPI 5.0/Disassembler: Support for MPST table, plus template
Added disassembler and template support for ACPI 5 MPST.
2011-11-10 10:10:25 +08:00
Robert Moore
7c0ea9332c ACPI 5.0/ResourceManager: Support for all new resource descriptors.
FixedDMA, GPIO descriptors, SerialBus descriptors.
Lin Ming.
2011-11-10 10:10:25 +08:00
Robert Moore
e153aa277c ACPI 5.0: Add full support for new FPDT and S3PT tables.
Disassembler, data table compiler, and template support.
Lin Ming.
2011-11-10 10:10:24 +08:00
Robert Moore
543f278f0a iASL: Do not abort table load on invalid space ID, FFixedHW support.
Ignore an invalid space ID during a table load. Instead, detect it
if a control method attempts access - then abort the method.
Also, fix support for FFixedHW address space.
2011-11-10 10:10:24 +08:00
Robert Moore
05473e052a Fix case issue with DMA resource typedef.
Small fix for incorrect upper case typedef.
Lin Ming.
2011-11-10 10:10:24 +08:00
Robert Moore
aa551d40ba Disassembler: Update decode opcodes and simplify.
Use an enum to simplify the opcodes and restructure the table
for clarity and ease of maintenance.
2011-11-10 10:10:24 +08:00
Robert Moore
3cd82f4043 ACPI 5.0/iASL: Disassembler support for BGRT/FPDT/PCCT/MADT.
Three new tables, and two new subtables for the MADT.
2011-11-10 10:10:24 +08:00