Fixes a problem where some resource descriptors are created with
most fields set to zero, because the intent is that these
descriptors will be updated at runtime via a BufferField.
These "null" resource desriptors are now allowed iff the desrcriptor
is created with a resource tag -- meaning that the descriptor
can be referenced by a BufferField. ACPICA BZ 873.
Now that the nsrepair code automatically repairs _HID-related
strings, this type of code is no longer needed in Execute_HID,
Execute_CID, and Execute_UID. ACPICA BZ 878.
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.
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.
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.
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.
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.
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.
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.
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
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.
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