10691 Commits

Author SHA1 Message Date
Robert Moore
0845205248 Update header for Intel 64-bit C compiler.
Remove unused macros.
2010-08-26 10:05:19 -07:00
Robert Moore
3b9da14964 Update iASL generic unix makefile.
-lrt option is not necessary.
2010-08-26 09:37:00 -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
40ac8b3ff3 Update generic unix makefiles
remove.exe extension, add define for _GNU_SOURCE, add
-lpthread and -lrt loader flags for iasl.
Lin Ming.
2010-08-20 12:41:45 -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
f3a6e65d76 Remove obsolete/unused AcpiGbl_SystemAwakeAndRunning global.
No longer used or needed.
2010-08-19 15:11:58 -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
b2fcc4330a iASL: Reformat/cleanup error output.
Ensure a space is left between filename and line number.
2010-08-11 09:27:00 -07:00
Robert Moore
1b23040ed8 Update version to 20100806.
Version 20100806.
2010-08-06 09:27:54 -07:00
Robert Moore
c6a96fadd8 Logfile: Changes for version 20100806.
Version 20100806.
2010-08-06 09:27:12 -07:00
Robert Moore
e3f066f1eb Windows binaries: Update for version 20100806.
Version 20100806.
2010-08-06 09:26:29 -07:00
Robert Moore
cd18a057a9 Tests: Update aapits for interface changes.
Also add new file (utosi.c) to project file.
2010-08-06 09:03:32 -07:00
Robert Moore
acddd41e9f Documents: Update ACPICA reference for new _OSI interfaces.
Three new external interfaces. Removed obsolete OSL interface,
AcpiOsValidateInterface.
2010-08-06 08:01: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
a615f17bad Automated cleanup - no functional change.
acpisrc cleanup.
2010-08-05 13:58:20 -07:00
Robert Moore
89cfbf859b Revert "Revert "Enable multi-byte EC transfers.""
This reverts commit f23b9c7d4928dca89d0e93f0683caf094c4a74d0.
The problem with this change was determined to be a problem with
the FreeBSD host OSL (OS services layer), not with this patch
itself. Therefore, re-introducing this change into the main
ACPICA code. See ACPICA bugzilla 863.
2010-08-04 14:20:18 -07:00
Robert Moore
c59dd0a836 iASL: Update main help/usage message.
Add -da option.
2010-07-20 14:58:38 -07:00
Robert Moore
9b3dfcc9e0 iASL/Disassembler: Implement -da (disassemble all) option.
This option allows a group of ACPI tables to be loaded into a
common namespace and then disassembled. Useful for loading
all of the AML tables for a given machine (DSDT, SSDT1...SSDTn)
and disassembling with one simple command. ACPICA BZ 865.
Lin Ming.
2010-07-20 14:46:57 -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
450e9850a4 Fix AcpiOsReadPciConfiguration prototype.
Prototype in acpiosxf.h had the output value pointer as a (void *).
Should be a (UINT64 *).
2010-07-16 08:43:24 -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
5815db2cec Update version to 20100702.
Version 20100702.
2010-07-02 09:09:12 -07:00
Robert Moore
8acbe2a975 Logfile: Changes for version 20200702.
Version 20100702.
2010-07-02 09:08:09 -07:00
Robert Moore
6f8c184498 Windows binaries: Update for version 20100702.
Version 20100702.
2010-07-02 09:05:54 -07:00
Robert Moore
139ed8b13d Tests: Update aapits for interface changes.
Also add new files to project file.
2010-07-02 08:45:07 -07:00
Robert Moore
3af3e5692d Fix for Alias references within Package objects.
This fixes a problem where a reference to an Alias within the definition
of a Package was not always resolved properly. Aliases to objects
like Processors, ThermalZones, etc. were resolved to the actual
object instead of a reference to the object as it should be.
Package objects are only allowed to contain integer, string, buffer,
package, and reference objects. Redhat bugzilla 608648.
2010-07-01 12:40:43 -07:00
Robert Moore
6b4d87d0b1 Documents: Update acpica reference for GPE changes.
One new interface, changes to existing interfaces.
2010-07-01 12:37:55 -07:00
Robert Moore
32543d6eab Fix lint warning for 64-bit constant.
cast to UINT64.
2010-06-30 14:22:45 -07:00
Robert Moore
8211930a35 Update GPE initialization.
The GPE block initialization code in acpi_ev_initialize_gpe_block()
uses acpi_set_gpe() to make sure that the GPEs with nonzero
runtime counter will remain enabled, but since it already has
a struct acpi_gpe_event_info object for each GPE, it might use
the low-level GPE enabling function, acpi_clear_and_enable_gpe(),
for this purpose.

Rename acpi_clear_and_enable_gpe() to acpi_ev_enable_gpe(),
modify the two existing users of it accordingly and modify
acpi_ev_initialize_gpe_block() to use it instead of acpi_set_gpe()
and to check its return value.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>

he commit message for your changes. Lines starting
2010-06-29 13:54:46 -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
5fd2f4c6d3 New GPE function, AcpiGpeWakeup.
ACPICA uses reference counters to avoid disabling GPEs too early in
case they have been enabled for many times.  This is done separately
for run time and for wakeup, but the wakeup GPE reference counter is
not really necessary, because GPEs are only enabled to wake up the
system at the hardware level by acpi_enter_sleep_state().  Thus it
only is necessary to set the corresponding bits in the wakeup enable
masks of these GPEs' registers right before the system enters a sleep
state.  Moreover, the GPE wakeup enable bits can only be set when the
target sleep state of the system is known and they need to be cleared
immediately after wakeup regardless of how many wakeup devices are
associated with a given GPE.

On the basis of the above observations, introduce function
acpi_gpe_wakeup() to be used for setting or clearing the enable bit
corresponding to a given GPE in its enable register's enable_for_wake
mask. Rafael J. Wysocki
2010-06-29 13:03:38 -07:00
Robert Moore
c263afd280 Obsolete directory. 2010-06-22 19:31:18 -07:00
Robert Moore
c3488db89c Documents: Update for Data Table Compiler.
Major update to iASL user guide.
2010-06-22 14:26:41 -07:00
Robert Moore
f6f6ae643e Do not disable GPE during handler install/remove.
This causes problems on some machines, in conjunction with the
new reference counting mechanism.
2010-06-22 14:05:53 -07:00
Robert Moore
24d29441f1 Fix bug in GPE backport.
Fix use of GPE constant.
2010-06-22 13:35:42 -07:00
Robert Moore
b64e486fb7 Remove obsolete GPE function.
Remove AcpiHwWriteGpeEnableReg, it had been reduced down to a single
line of code, and called from only one place.
2010-06-22 10:28:57 -07:00
Robert Moore
b32838e06c Ensure GPEs are not enabled twice.
While developing the GPE reference counting code we overlooked the
fact that acpi_ev_update_gpes() could have enabled GPEs before
acpi_ev_initialize_gpe_block() was called.  As a result, some GPEs
are enabled twice during the initialization.

To fix this issue avoid calling acpi_enable_gpe() from
acpi_ev_initialize_gpe_block() for the GPEs that have nonzero
runtime reference counters.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Patch : https://patchwork.kernel.org/patch/104911/
2010-06-21 14:53:58 -07:00
Robert Moore
1e514e60e8 Update for GPE enable masking.
ACPICA uses acpi_hw_write_gpe_enable_reg() to re-enable a GPE after
an event signaled by it has been handled.  However, this function
writes the entire GPE enable mask to the GPE's enable register which
may not be correct.  Namely, if one of the other GPEs in the same
register was previously enabled by acpi_enable_gpe() and subsequently
disabled using acpi_set_gpe(), acpi_hw_write_gpe_enable_reg() will
re-enable it along with the target GPE.

To fix this issue rework acpi_hw_write_gpe_enable_reg() so that it
calls acpi_hw_low_set_gpe() with a special action value,
ACPI_GPE_CONDITIONAL_ENABLE, that will make it only enable the GPE if the
corresponding bit in its register's enable_for_run mask is set.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Patch : https://patchwork.kernel.org/patch/104909/
2010-06-21 14:42:52 -07:00
Robert Moore
56ab559769 Update for GPE enabling/disabling.
ACPICA uses acpi_ev_enable_gpe() for enabling GPEs at the low level,
which is incorrect, because this function only enables the GPE if the
corresponding bit in its enable register's enable_for_run mask is set.
This causes acpi_set_gpe() to work incorrectly if used for enabling
GPEs that were not previously enabled with acpi_enable_gpe().  As a
result, among other things, wakeup-only GPEs are never enabled by
acpi_enable_wakeup_device(), so the devices that use them are unable
to wake up the system.

To fix this issue remove acpi_ev_enable_gpe() and its counterpart
acpi_ev_disable_gpe() and replace acpi_hw_low_disable_gpe() with
acpi_hw_low_set_gpe() that will be used instead to manipulate GPE
enable bits at the low level.  Make the users of acpi_ev_enable_gpe()
and acpi_ev_disable_gpe() call acpi_hw_low_set_gpe() instead and
make sure that GPE enable masks are only updated by acpi_enable_gpe()
and acpi_disable_gpe() when GPE reference counters change from 0
to 1 and from 1 to 0, respectively.
Rafael Wysocki. Corresponds to:
Patch : https://patchwork.kernel.org/patch/104912/
2010-06-21 14:28:04 -07:00
Robert Moore
8b4c46906a Add new function to compute GPE register masks.
In quite a few places ACPICA needs to compute a GPE enable mask with
only one bit set, corresponding to a given GPE. Currently, that
computation is always open coded which leads to unnecessary code
duplication. Fix this by introducing a helper function for computing
one-bit GPE enable masks and using it where appropriate.
Rafael Wysocki. corresponds to:
Patch : https://patchwork.kernel.org/patch/104903/
2010-06-21 13:30:30 -07:00
Robert Moore
cd3f1db755 iASL: Fully enable Data Table Compiler (DTC).
No option needed to invoke DTC. Compiler auto-detects ASl code
versus DT code.
2010-06-18 14:52:34 -07:00
Robert Moore
65652115cc iASL: DTC/Disassembler: Standardize buffer format.
Make all buffer values have the same format, rather than three
different formats.
2010-06-18 10:33:18 -07:00
Robert Moore
42cf3e7371 iASL-DTC: Fix a couple issues with subtable and header lengths.
EINJ, ERST.
2010-06-16 15:04:15 -07:00
Robert Moore
452c206f89 Update release build script.
For new test/template directory.
2010-06-11 14:58:12 -07:00
Robert Moore
2992688b8f Tests: new test for template generator and data table compiler.
in tests/templates.
2010-06-11 14:13:21 -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
8a35bee324 iASL: Add help message that displays all supported ACPI table names.
Added -ht help function. Simply displays currently supported ACPI
table names.
2010-06-11 12:52:24 -07:00
Robert Moore
7cf3243436 iASL-DTC: Add comment support, fix error messages.
Adds full support for comments within input source files.
Fixed a couple error messages one for unknown table signature,
another for unrecognized source file (not asl or data table source.)
Also, reduced verbosity of the standard templates, but added
option (-vt) to make the output look exactly like the disassembler.
2010-06-11 10:05:28 -07:00