9950 Commits

Author SHA1 Message Date
Robert Moore
144e085305 Remove redundant ACPI_BITREG_SLEEP_TYPE_B.
This type is the same as TYPE_A. Removed this and all related instances.
Renamed SLEEP_TYPE_A to simply SLEEP_TYPE.
2009-02-03 14:57:38 -08:00
Robert Moore
26a2eea9f4 Fix parameter validation for AcpiRead/Write.
Now return AE_BAD_PARAMETER if the input register pointer is null,
and AE_BAD_ADDRESS if the register has an address of zero.
Previously, these cases simply returned AE_OK. For optional registers
such as PM1B status/enable/control, the caller should check for a valid
register address before calling.
ACPICA BZ 748.
2009-02-03 14:49:21 -08:00
Robert Moore
753eaf64ea For PM1B registers, do not shift value read or written.
The PM1B registers are mirrors of the PM1A registers with different
bits actually implemented. From the ACPI specification:
"Although the bits can be split between the two register blocks (each
register block has a unique pointer within the FADT), the bit positions
are maintained. The register block with unimplemented bits (that is, those
implemented in the other register block) always returns zeros, and
writes have no side effects"
2009-02-03 14:34:03 -08:00
Robert Moore
bef985b4bd Remove extra write for AcpiHwClearAcpiStatus.
This function was writing an optional PM1B status register twice.
The existing call to the low-level AcpiHwRegisterWrite automatically
handles a possibly split PM1 A/B register.
ACPICA BZ 751.
2009-02-03 09:20:05 -08:00
Robert Moore
599e9589eb Fix writes to optional PM1B registers.
On read, shift B register bits above the A bits. On write, shift B bits
down to zero before writing the B register. New: AcpiHwReadMultiple,
AcpiHwWriteMultiple. These two functions now transparently handle the
(possible) split registers for PM1 Status, Enable, and Control.
2009-02-02 13:47:26 -08:00
Robert Moore
75f66c2008 Update comments in module header.
Enhance the explanations of the various package return types
for clarity.
2009-01-30 12:59:45 -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
5333ae5527 Update version to 20090123.
Update version to 20090123.
2009-01-23 11:02:09 -08:00
Robert Moore
177325af3c Debugger: Automatically pad input names with '_'
For the Find command, automatically pad names that are shorter
than 4 characters with underscores, as they are within the
namespace.
2009-01-23 09:51:28 -08:00
Robert Moore
52485728be Update Windows OSL.
Cleanup the AcpiOsTableOverride function.
2009-01-21 14:04:01 -08:00
Robert Moore
0c7950d576 iASL: Dump RSDT to file for -g option.
Now dumps the RSDT as well as the FADT and DSDT.
2009-01-20 15:13:36 -08:00
Robert Moore
382b7a021d iASL: Split windows table access to new file (-g).
Split the acpi table access (in registry) to a new file.
Prepares for integrating acpidump utility into acpica.
2009-01-20 15:12:24 -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
bddda3d5aa Disassembler: Update handling of FADT flags.
1) Decode all Boot Architecture flags.
2) Decode all flags, regardless of the FADT version. Previously,
only those flags that were actually valid for the FADT version
were displayed. This seemed to omit some information.
2009-01-08 12:56:02 -08:00
Robert Moore
dc767b2527 Update FADT flag definitions.
Add new flags in the Boot Architecture flags field. Update comments
for all FADT flags. Add FADT version when each flag was defined.
2009-01-08 12:53:55 -08:00
Jürg Billeter
81d0f24355 iASL: Fix build error under bison-2.4
Adds the missing type specifiers to fix build with bison 2.4.1
ACPICA BZ 744, Jürg Billeter
2008-12-22 11:28:45 +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
05224d2cf5 Remove extraneous parameter in table manager.
Removed the Flags parameter from several internal functions
since it was not being used.
2008-12-09 10:02:20 -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
7d19af2188 Add error check to debug object dump routine.
Add check for invalid handle in NsDumpOneObject.
2008-12-04 12:39:41 -08:00
Robert Moore
1310e25615 Update version to 20081204.
Update version to 20081204.
2008-12-04 09:19:23 -08:00
Robert Moore
462b1db3db FADT: Update error msgs for consistency.
Update all messages so they look consistent.
2008-12-03 14:59:22 -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
1b61f8b176 Fix interface to AcpiGetGpeDevice.
Incorrectly defined with an extra indirection *
2008-12-03 09:38:53 -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
c9ca3999c4 Fixed two type mismatches.
Fixed type mismatches in dmwalk and evxfevnt for recent changes.
2008-11-21 07:57:17 -08:00
Robert Moore
1d4bf458a8 iASL: Enhancements and fixes for -e option.
1) Clear external list generated by Scope in external tables
2) Set node owner id only if it satisfies all the following conditions
   a. Not a predefined node, _SB_ etc.
   b. Not the root node
   c. Not a node created by Scope
3) Precise object types for External statements, for example
   -    External (\_PR_.CPU0, DeviceObj)
   +    External (\_PR_.CPU0, ProcessorObj)
2008-11-20 19:31:56 -07:00
Robert Moore
3409e43b63 New: AcpiReset interface - write to reset register.
Uses the FADT-defined reset register and reset value. Checks the
FADT flags for the reset register supported bit. Supports reset
register in memory or I/O space, but not in PCI config space since
the host has the information to do it.
2008-11-20 19:31:56 -07:00
Robert Moore
c1fbdac9fc Update prototypes for new public interfaces.
Update acpixf.h. Remove use of name "register" in two prototypes.
2008-11-20 19:31:55 -07: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
8ce404a262 New: AcpiRead and AcpiWrite public interfaces.
Changed the HwLowLevelRead and HwLowLevelWrite functions to the public
AcpiRead and AcpiWrite to allow direct access to ACPI registers.
Removed the "width" parameter since the width can be obtained from the
input GAS structure. Updated the FADT initialization to setup the GAS
structures with the proper widths. Some widths are still hardcoded
because many FADTs have incorrect register lengths.
2008-11-20 19:31:55 -07:00
Robert Moore
73b9a81c06 New: Public GPE group enable/disable interfaces.
Added AcpiDisableAllGpes and AcpeEnableAllRuntimeGpes for
public use.
2008-11-18 14:57:10 -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
4d33d4e392 Fix reference count issue in NsRepairObject.
Fixes a problem where object reference counts were not properly
updated if the original object was an element of a Package object.
Lin Ming.
2008-11-13 13:42:22 -08:00
Robert Moore
6c9b3b5723 Cleanup platform header files.
Cleanup acenv.h; remove unused defines from all platform headers.
added vxworks to acenv.h
2008-11-13 13:35:53 -08:00
Robert Moore
05046496ee GetExternalPathname is no longer debug-only.
Function is used by the predefined validation module.
2008-11-12 15:04:06 -08: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
e747da4ccd iASL: Remove 'named object in loop' error.
Previously did not allow the creation of named objects within a while
loop. However, it is not possible to analyze the loop to determine if
a named object would actually be created twice. Also, compiling
disassembled code with switch statements would raise this error even
though the compiler-emitted while(one) loop only executed once (there
is a break statement at the bottom of the loop. Chalk this one up to
'a nice try'.
2008-11-12 12:40:17 -08:00
Robert Moore
3ff3d1d615 Disassembler: Support for FADT version 2 (MS extension).
Adds support for the the version 2 FADT, which is an MS extension
that was added between ACPI 1.0B and ACPI 2.0.
2008-11-12 09:55:05 -08:00
Robert Moore
c53bf5ab21 Update aclinux.h for ACPI_MUTEX_TYPE.
Only __KERNEL__ case will use actual mutexes. Linux apps will
use the semaphore interfaces.
2008-11-12 09:53:35 -08:00
Robert Moore
f0190b5bdd Add ACPI_MUTEX_TYPE configuration option.
Used to specify whether the OSL mutex interfaces should be used,
or binary semaphores instead.
2008-11-11 15:23:48 -08:00
Robert Moore
560ef13921 Disassembler: Fixes for various ACPI data tables.
Eliminate extraneous "zero length subtable" messages.
Fix subtable output for ERST, MCFG, EINJ tables.
Implement all subtables for HEST.
2008-11-11 14:04:37 -08:00
Robert Moore
705cbfffe2 Update acfreebsd.h header.
Add define for ACPI_THREAD_ID.
2008-11-07 13:49:22 -08:00
Robert Moore
fb210c4daa Update version to 20081031.
Update version to 20081031.
ACPI_CA_VERSION has been moved to acpixf.h so that it is publically
available.
2008-10-31 08:02:10 -07:00
Robert Moore
5bc05cb1b3 Enhance implicit return mechanism.
For Windows compatibility, return an implicit integer of value
zero for methods that have no executable code. A default implicit
value of zero is provided for methods.

Such methods are seen in the field as stubs (presumably), and can
cause drivers to fail if they expect a return value. Lin Ming.
2008-10-30 10:26:41 -07:00
Robert Moore
299f92c264 iASL: Fix compile warning.
Update for external method changes, ACPICA BZ 740 Lin Ming.
2008-10-30 10:17:42 -07:00
Robert Moore
815c680951 Consolidate method arg count validation code.
Merge the code that validates control method argument counts into
the predefined validation module. Eliminates possible multiple
warnings for incorrect counts.
2008-10-30 09:55:05 -07:00
Robert Moore
a0cc21b568 Header restructuring, part two.
Made some globals "public" for ease-of-use, and to preserve
legacy code that uses them.
2008-10-29 14:01:32 -07:00
Robert Moore
12be0af9ef Allow _WAK method to return an Integer.
This can happen if the _WAK method returns nothing (as per ACPI 1.0)
but does return an integer if the implicit return mechanism is enabled.
This is the only method that has this problem, since it is also
defined to return a package of two integers (ACPI 1.0b+). In all
other cases, if a method returns an object when one was not expected,
no warning is issued.
2008-10-29 13:36:59 -07:00
Robert Moore
68f8e613f1 iASL: Additional changes for external methods.
Fixes issues with the methods that are permanently defined
in the namespace (such as _OSI, etc.) ACPICA BZ 740 Lin Ming.
2008-10-29 13:34:15 -07:00