aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNate Lawson <njl@FreeBSD.org>2004-02-28 20:23:30 +0000
committerNate Lawson <njl@FreeBSD.org>2004-02-28 20:23:30 +0000
commit2a2a3f2735dfec74d2659f5fc38b52b452558f86 (patch)
tree885c1ceace8766961e3a5baedf4ef67ce438b844
parentb88cf1027b33273df8d01033831414f8edff9021 (diff)
downloadsrc-2a2a3f2735dfec74d2659f5fc38b52b452558f86.tar.gz
src-2a2a3f2735dfec74d2659f5fc38b52b452558f86.zip
Vendor import of ACPICA 20040220
Notes
Notes: svn path=/vendor-sys/acpica/dist/; revision=126372
-rw-r--r--sys/contrib/dev/acpica/CHANGES.txt1676
-rw-r--r--sys/contrib/dev/acpica/acapps.h2
-rw-r--r--sys/contrib/dev/acpica/acconfig.h6
-rw-r--r--sys/contrib/dev/acpica/acdebug.h4
-rw-r--r--sys/contrib/dev/acpica/acdisasm.h4
-rw-r--r--sys/contrib/dev/acpica/acdispat.h4
-rw-r--r--sys/contrib/dev/acpica/acefi.h4
-rw-r--r--sys/contrib/dev/acpica/acenv.h4
-rw-r--r--sys/contrib/dev/acpica/acevents.h4
-rw-r--r--sys/contrib/dev/acpica/acexcep.h4
-rw-r--r--sys/contrib/dev/acpica/acfreebsd.h26
-rw-r--r--sys/contrib/dev/acpica/acgcc.h4
-rw-r--r--sys/contrib/dev/acpica/acglobal.h29
-rw-r--r--sys/contrib/dev/acpica/achware.h4
-rw-r--r--sys/contrib/dev/acpica/acinterp.h4
-rw-r--r--sys/contrib/dev/acpica/aclocal.h4
-rw-r--r--sys/contrib/dev/acpica/acmacros.h4
-rw-r--r--sys/contrib/dev/acpica/acnamesp.h4
-rw-r--r--sys/contrib/dev/acpica/acobject.h4
-rw-r--r--sys/contrib/dev/acpica/acoutput.h4
-rw-r--r--sys/contrib/dev/acpica/acparser.h4
-rw-r--r--sys/contrib/dev/acpica/acpi.h4
-rw-r--r--sys/contrib/dev/acpica/acpiosxf.h2
-rw-r--r--sys/contrib/dev/acpica/acpixf.h2
-rw-r--r--sys/contrib/dev/acpica/acresrc.h4
-rw-r--r--sys/contrib/dev/acpica/acstruct.h4
-rw-r--r--sys/contrib/dev/acpica/actables.h4
-rw-r--r--sys/contrib/dev/acpica/actbl.h16
-rw-r--r--sys/contrib/dev/acpica/actbl1.h4
-rw-r--r--sys/contrib/dev/acpica/actbl2.h5
-rw-r--r--sys/contrib/dev/acpica/actypes.h7
-rw-r--r--sys/contrib/dev/acpica/acutils.h8
-rw-r--r--sys/contrib/dev/acpica/amlcode.h4
-rw-r--r--sys/contrib/dev/acpica/amlresrc.h4
-rw-r--r--sys/contrib/dev/acpica/common/adisasm.c4
-rw-r--r--sys/contrib/dev/acpica/common/getopt.c4
-rw-r--r--sys/contrib/dev/acpica/compiler/aslanalyze.c4
-rw-r--r--sys/contrib/dev/acpica/compiler/aslcodegen.c4
-rw-r--r--sys/contrib/dev/acpica/compiler/aslcompile.c4
-rw-r--r--sys/contrib/dev/acpica/compiler/aslcompiler.h8
-rw-r--r--sys/contrib/dev/acpica/compiler/aslcompiler.l2
-rw-r--r--sys/contrib/dev/acpica/compiler/aslcompiler.y2
-rw-r--r--sys/contrib/dev/acpica/compiler/aslerror.c4
-rw-r--r--sys/contrib/dev/acpica/compiler/aslfiles.c4
-rw-r--r--sys/contrib/dev/acpica/compiler/aslfold.c4
-rw-r--r--sys/contrib/dev/acpica/compiler/aslglobal.h4
-rw-r--r--sys/contrib/dev/acpica/compiler/asllength.c4
-rw-r--r--sys/contrib/dev/acpica/compiler/asllisting.c4
-rw-r--r--sys/contrib/dev/acpica/compiler/aslload.c4
-rw-r--r--sys/contrib/dev/acpica/compiler/asllookup.c4
-rw-r--r--sys/contrib/dev/acpica/compiler/aslmain.c4
-rw-r--r--sys/contrib/dev/acpica/compiler/aslmap.c4
-rw-r--r--sys/contrib/dev/acpica/compiler/aslopcodes.c4
-rw-r--r--sys/contrib/dev/acpica/compiler/asloperands.c4
-rw-r--r--sys/contrib/dev/acpica/compiler/aslopt.c4
-rw-r--r--sys/contrib/dev/acpica/compiler/aslresource.c4
-rw-r--r--sys/contrib/dev/acpica/compiler/aslrestype1.c4
-rw-r--r--sys/contrib/dev/acpica/compiler/aslrestype2.c4
-rw-r--r--sys/contrib/dev/acpica/compiler/aslstubs.c4
-rw-r--r--sys/contrib/dev/acpica/compiler/asltransform.c4
-rw-r--r--sys/contrib/dev/acpica/compiler/asltree.c4
-rw-r--r--sys/contrib/dev/acpica/compiler/asltypes.h4
-rw-r--r--sys/contrib/dev/acpica/compiler/aslutils.c6
-rw-r--r--sys/contrib/dev/acpica/dbcmds.c4
-rw-r--r--sys/contrib/dev/acpica/dbdisply.c12
-rw-r--r--sys/contrib/dev/acpica/dbexec.c6
-rw-r--r--sys/contrib/dev/acpica/dbfileio.c4
-rw-r--r--sys/contrib/dev/acpica/dbhistry.c4
-rw-r--r--sys/contrib/dev/acpica/dbinput.c4
-rw-r--r--sys/contrib/dev/acpica/dbstats.c4
-rw-r--r--sys/contrib/dev/acpica/dbutils.c4
-rw-r--r--sys/contrib/dev/acpica/dbxface.c4
-rw-r--r--sys/contrib/dev/acpica/dmbuffer.c4
-rw-r--r--sys/contrib/dev/acpica/dmnames.c4
-rw-r--r--sys/contrib/dev/acpica/dmobject.c49
-rw-r--r--sys/contrib/dev/acpica/dmopcode.c4
-rw-r--r--sys/contrib/dev/acpica/dmresrc.c18
-rw-r--r--sys/contrib/dev/acpica/dmresrcl.c4
-rw-r--r--sys/contrib/dev/acpica/dmresrcs.c4
-rw-r--r--sys/contrib/dev/acpica/dmutils.c4
-rw-r--r--sys/contrib/dev/acpica/dmwalk.c4
-rw-r--r--sys/contrib/dev/acpica/dsfield.c4
-rw-r--r--sys/contrib/dev/acpica/dsinit.c4
-rw-r--r--sys/contrib/dev/acpica/dsmethod.c4
-rw-r--r--sys/contrib/dev/acpica/dsmthdat.c23
-rw-r--r--sys/contrib/dev/acpica/dsobject.c9
-rw-r--r--sys/contrib/dev/acpica/dsopcode.c10
-rw-r--r--sys/contrib/dev/acpica/dsutils.c7
-rw-r--r--sys/contrib/dev/acpica/dswexec.c4
-rw-r--r--sys/contrib/dev/acpica/dswload.c4
-rw-r--r--sys/contrib/dev/acpica/dswscope.c4
-rw-r--r--sys/contrib/dev/acpica/dswstate.c6
-rw-r--r--sys/contrib/dev/acpica/evevent.c4
-rw-r--r--sys/contrib/dev/acpica/evgpe.c6
-rw-r--r--sys/contrib/dev/acpica/evgpeblk.c4
-rw-r--r--sys/contrib/dev/acpica/evmisc.c4
-rw-r--r--sys/contrib/dev/acpica/evregion.c13
-rw-r--r--sys/contrib/dev/acpica/evrgnini.c4
-rw-r--r--sys/contrib/dev/acpica/evsci.c4
-rw-r--r--sys/contrib/dev/acpica/evxface.c4
-rw-r--r--sys/contrib/dev/acpica/evxfevnt.c4
-rw-r--r--sys/contrib/dev/acpica/evxfregn.c6
-rw-r--r--sys/contrib/dev/acpica/exconfig.c4
-rw-r--r--sys/contrib/dev/acpica/exconvrt.c39
-rw-r--r--sys/contrib/dev/acpica/excreate.c4
-rw-r--r--sys/contrib/dev/acpica/exdump.c4
-rw-r--r--sys/contrib/dev/acpica/exfield.c4
-rw-r--r--sys/contrib/dev/acpica/exfldio.c10
-rw-r--r--sys/contrib/dev/acpica/exmisc.c12
-rw-r--r--sys/contrib/dev/acpica/exmutex.c4
-rw-r--r--sys/contrib/dev/acpica/exnames.c4
-rw-r--r--sys/contrib/dev/acpica/exoparg1.c4
-rw-r--r--sys/contrib/dev/acpica/exoparg2.c8
-rw-r--r--sys/contrib/dev/acpica/exoparg3.c4
-rw-r--r--sys/contrib/dev/acpica/exoparg6.c4
-rw-r--r--sys/contrib/dev/acpica/exprep.c6
-rw-r--r--sys/contrib/dev/acpica/exregion.c4
-rw-r--r--sys/contrib/dev/acpica/exresnte.c4
-rw-r--r--sys/contrib/dev/acpica/exresolv.c10
-rw-r--r--sys/contrib/dev/acpica/exresop.c8
-rw-r--r--sys/contrib/dev/acpica/exstore.c36
-rw-r--r--sys/contrib/dev/acpica/exstoren.c13
-rw-r--r--sys/contrib/dev/acpica/exstorob.c4
-rw-r--r--sys/contrib/dev/acpica/exsystem.c4
-rw-r--r--sys/contrib/dev/acpica/exutils.c4
-rw-r--r--sys/contrib/dev/acpica/hwacpi.c4
-rw-r--r--sys/contrib/dev/acpica/hwgpe.c27
-rw-r--r--sys/contrib/dev/acpica/hwregs.c10
-rw-r--r--sys/contrib/dev/acpica/hwsleep.c155
-rw-r--r--sys/contrib/dev/acpica/hwtimer.c4
-rw-r--r--sys/contrib/dev/acpica/nsaccess.c6
-rw-r--r--sys/contrib/dev/acpica/nsalloc.c4
-rw-r--r--sys/contrib/dev/acpica/nsdump.c4
-rw-r--r--sys/contrib/dev/acpica/nsdumpdv.c4
-rw-r--r--sys/contrib/dev/acpica/nseval.c8
-rw-r--r--sys/contrib/dev/acpica/nsinit.c4
-rw-r--r--sys/contrib/dev/acpica/nsload.c4
-rw-r--r--sys/contrib/dev/acpica/nsnames.c4
-rw-r--r--sys/contrib/dev/acpica/nsobject.c4
-rw-r--r--sys/contrib/dev/acpica/nsparse.c4
-rw-r--r--sys/contrib/dev/acpica/nssearch.c4
-rw-r--r--sys/contrib/dev/acpica/nsutils.c10
-rw-r--r--sys/contrib/dev/acpica/nswalk.c4
-rw-r--r--sys/contrib/dev/acpica/nsxfeval.c4
-rw-r--r--sys/contrib/dev/acpica/nsxfname.c12
-rw-r--r--sys/contrib/dev/acpica/nsxfobj.c4
-rw-r--r--sys/contrib/dev/acpica/osunixxf.c4
-rw-r--r--sys/contrib/dev/acpica/psargs.c8
-rw-r--r--sys/contrib/dev/acpica/psopcode.c4
-rw-r--r--sys/contrib/dev/acpica/psparse.c4
-rw-r--r--sys/contrib/dev/acpica/psscope.c4
-rw-r--r--sys/contrib/dev/acpica/pstree.c4
-rw-r--r--sys/contrib/dev/acpica/psutils.c4
-rw-r--r--sys/contrib/dev/acpica/pswalk.c4
-rw-r--r--sys/contrib/dev/acpica/psxface.c5
-rw-r--r--sys/contrib/dev/acpica/rsaddr.c4
-rw-r--r--sys/contrib/dev/acpica/rscalc.c4
-rw-r--r--sys/contrib/dev/acpica/rscreate.c4
-rw-r--r--sys/contrib/dev/acpica/rsdump.c4
-rw-r--r--sys/contrib/dev/acpica/rsio.c4
-rw-r--r--sys/contrib/dev/acpica/rsirq.c4
-rw-r--r--sys/contrib/dev/acpica/rslist.c4
-rw-r--r--sys/contrib/dev/acpica/rsmemory.c4
-rw-r--r--sys/contrib/dev/acpica/rsmisc.c4
-rw-r--r--sys/contrib/dev/acpica/rsutils.c4
-rw-r--r--sys/contrib/dev/acpica/rsxface.c23
-rw-r--r--sys/contrib/dev/acpica/tbconvrt.c12
-rw-r--r--sys/contrib/dev/acpica/tbget.c4
-rw-r--r--sys/contrib/dev/acpica/tbgetall.c4
-rw-r--r--sys/contrib/dev/acpica/tbinstal.c4
-rw-r--r--sys/contrib/dev/acpica/tbrsdt.c17
-rw-r--r--sys/contrib/dev/acpica/tbutils.c4
-rw-r--r--sys/contrib/dev/acpica/tbxface.c4
-rw-r--r--sys/contrib/dev/acpica/tbxfroot.c8
-rw-r--r--sys/contrib/dev/acpica/utalloc.c4
-rw-r--r--sys/contrib/dev/acpica/utclib.c4
-rw-r--r--sys/contrib/dev/acpica/utcopy.c4
-rw-r--r--sys/contrib/dev/acpica/utdebug.c4
-rw-r--r--sys/contrib/dev/acpica/utdelete.c4
-rw-r--r--sys/contrib/dev/acpica/uteval.c68
-rw-r--r--sys/contrib/dev/acpica/utglobal.c11
-rw-r--r--sys/contrib/dev/acpica/utinit.c4
-rw-r--r--sys/contrib/dev/acpica/utmath.c4
-rw-r--r--sys/contrib/dev/acpica/utmisc.c16
-rw-r--r--sys/contrib/dev/acpica/utobject.c6
-rw-r--r--sys/contrib/dev/acpica/utxface.c4
186 files changed, 1968 insertions, 1070 deletions
diff --git a/sys/contrib/dev/acpica/CHANGES.txt b/sys/contrib/dev/acpica/CHANGES.txt
index 816c8ba0e9a2..e3f7151f3d96 100644
--- a/sys/contrib/dev/acpica/CHANGES.txt
+++ b/sys/contrib/dev/acpica/CHANGES.txt
@@ -1,4 +1,369 @@
----------------------------------------
+20 February 2004. Summary of changes for version 20040220:
+
+1) ACPI CA Core Subsystem:
+
+Implemented execution of _SxD methods for Device objects in the
+GetObjectInfo interface.
+
+Fixed calls to _SST method to pass the correct arguments.
+
+Added a call to _SST on wake to restore to "working" state.
+
+Check for End-Of-Buffer failure case in the WalkResources
+interface.
+
+Integrated fix for 64-bit alignment issue in acglobal.h by moving
+two structures to the beginning of the file.
+
+After wake, clear GPE status register(s) before enabling GPEs.
+
+After wake, clear/enable power button. (Perhaps we should
+clear/enable all fixed events upon wake.)
+
+Fixed a couple of possible memory leaks in the Namespace manager.
+
+Integrated latest acnetbsd.h file.
+
+----------------------------------------
+11 February 2004. Summary of changes for version 20040211:
+
+1) ACPI CA Core Subsystem:
+
+Completed investigation and implementation of the call-by-
+reference mechanism for control method arguments.
+
+Fixed a problem where a store of an object into an indexed
+package could fail if the store occurs within a different method
+than the method that created the package.
+
+Fixed a problem where the ToDecimal operator could return
+incorrect results.
+
+Fixed a problem where the CopyObject operator could fail on some
+of the more obscure objects (e.g., Reference objects.)
+
+Improved the output of the Debug object to display buffer,
+package, and index objects.
+
+Fixed a problem where constructs of the form "RefOf (ArgX)" did
+not return the expected result.
+
+Added permanent ACPI_REPORT_ERROR macros for all instances of the
+ACPI_AML_INTERNAL exception.
+
+Integrated latest version of acfreebsd.h
+
+----------------------------------------
+16 January 2004. Summary of changes for version 20040116:
+
+The purpose of this release is primarily to update the copyright
+years in each module, thus causing a huge number of diffs. There
+are a few small functional changes, however.
+
+1) ACPI CA Core Subsystem:
+
+Improved error messages when there is a problem finding one or
+more of the required base ACPI tables
+
+Reintroduced the definition of APIC_HEADER in actbl.h
+
+Changed definition of MADT_ADDRESS_OVERRIDE to 64 bits (actbl.h)
+
+Removed extraneous reference to NewObj in dsmthdat.c
+
+2) iASL compiler
+
+Fixed a problem introduced in December that disabled the correct
+disassembly of Resource Templates
+
+
+----------------------------------------
+03 December 2003. Summary of changes for version 20031203:
+
+1) ACPI CA Core Subsystem:
+
+Changed the initialization of Operation Regions during subsystem
+init to perform two entire walks of the ACPI namespace; The first
+to initialize the regions themselves, the second to execute the
+_REG methods. This fixed some interdependencies across _REG
+methods found on some machines.
+
+Fixed a problem where a Store(Local0, Local1) could simply update
+the object reference count, and not create a new copy of the
+object if the Local1 is uninitialized.
+
+Implemented support for the _SST reserved method during sleep
+transitions.
+
+Implemented support to clear the SLP_TYP and SLP_EN bits when
+waking up, this is apparently required by some machines.
+
+When sleeping, clear the wake status only if SleepState is not
+S5.
+
+Fixed a problem in AcpiRsExtendedIrqResource() where an incorrect
+pointer arithmetic advanced a string pointer too far.
+
+Fixed a problem in AcpiTbGetTablePtr() where a garbage pointer
+could be returned if the requested table has not been loaded.
+
+Within the support for IRQ resources, restructured the handling
+of
+the active and edge/level bits.
+
+Fixed a few problems in AcpiPsxExecute() where memory could be
+leaked under certain error conditions.
+
+Improved error messages for the cases where the ACPI mode could
+not be entered.
+
+Code and Data Size: Current and previous core subsystem library
+sizes are shown below. These are the code and data sizes for the
+acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
+these values do not include any ACPI driver or OSPM code. The
+debug version of the code includes the debug output trace
+mechanism and has a much larger code and data size. Note that
+these values will vary depending on the efficiency of the
+compiler
+and the compiler options used during generation.
+
+ Previous Release (20031029):
+ Non-Debug Version: 74.4K Code, 10.1K Data, 84.5K Total
+ Debug Version: 158.3K Code, 65.0K Data, 223.3K Total
+ Current Release:
+ Non-Debug Version: 74.8K Code, 10.1K Data, 84.9K Total
+ Debug Version: 158.7K Code, 65.1K Data, 223.8K Total
+
+2) iASL Compiler/Disassembler:
+
+Implemented a fix for the iASL disassembler where a bad index was
+generated. This was most noticeable on 64-bit platforms
+
+
+----------------------------------------
+29 October 2003. Summary of changes for version 20031029:
+
+1) ACPI CA Core Subsystem:
+
+Fixed a problem where a level-triggered GPE with an associated
+_Lxx control method was incorrectly cleared twice.
+
+Fixed a problem with the Field support code where an access can
+occur beyond the end-of-region if the field is non-aligned but
+extends to the very end of the parent region (resulted in an
+AE_AML_REGION_LIMIT exception.)
+
+Fixed a problem with ACPI Fixed Events where an RT Clock handler
+would not get invoked on an RTC event. The RTC event bitmasks
+for
+the PM1 registers were not being initialized properly.
+
+Implemented support for executing _STA and _INI methods for
+Processor objects. Although this is currently not part of the
+ACPI specification, there is existing ASL code that depends on
+the
+init-time execution of these methods.
+
+Implemented and deployed a GetDescriptorName function to decode
+the various types of internal descriptors. Guards against null
+descriptors during debug output also.
+
+Implemented and deployed a GetNodeName function to extract the 4-
+character namespace node name. This function simplifies the
+debug
+and error output, as well as guarding against null pointers
+during
+output.
+
+Implemented and deployed the ACPI_FORMAT_UINT64 helper macro to
+simplify the debug and error output of 64-bit integers. This
+macro replaces the HIDWORD and LODWORD macros for dumping these
+integers.
+
+Updated the implementation of the Stall() operator to only call
+AcpiOsStall(), and also return an error if the operand is larger
+than 255. This preserves the required behavior of not
+relinquishing the processor, as would happen if AcpiOsSleep() was
+called for "long stalls".
+
+Constructs of the form "Store(LocalX,LocalX)" where LocalX is not
+initialized are now treated as NOOPs.
+
+Cleaned up a handful of warnings during 64-bit generation.
+
+Fixed a reported error where and incorrect GPE number was passed
+to the GPE dispatch handler. This value is only used for error
+output, however. Used this opportunity to clean up and
+streamline
+the GPE dispatch code.
+
+Code and Data Size: Current and previous core subsystem library
+sizes are shown below. These are the code and data sizes for the
+acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
+these values do not include any ACPI driver or OSPM code. The
+debug version of the code includes the debug output trace
+mechanism and has a much larger code and data size. Note that
+these values will vary depending on the efficiency of the
+compiler
+and the compiler options used during generation.
+
+ Previous Release (20031002):
+ Non-Debug Version: 74.1K Code, 9.7K Data, 83.8K Total
+ Debug Version: 157.9K Code, 64.8K Data, 222.7K Total
+ Current Release:
+ Non-Debug Version: 74.4K Code, 10.1K Data, 84.5K Total
+ Debug Version: 158.3K Code, 65.0K Data, 223.3K Total
+
+
+2) iASL Compiler/Disassembler:
+
+Updated the iASL compiler to return an error if the operand to
+the
+Stall() operator is larger than 255.
+
+
+----------------------------------------
+02 October 2003. Summary of changes for version 20031002:
+
+
+1) ACPI CA Core Subsystem:
+
+Fixed a problem with Index Fields where the index was not
+incremented for fields that require multiple writes to the
+index/data registers (Fields that are wider than the data
+register.)
+
+Fixed a problem with all Field objects where a write could go
+beyond the end-of-field if the field was larger than the access
+granularity and therefore required multiple writes to complete
+the
+request. An extra write beyond the end of the field could happen
+inadvertently.
+
+Fixed a problem with Index Fields where a BUFFER_OVERFLOW error
+would incorrectly be returned if the width of the Data Register
+was larger than the specified field access width.
+
+Completed fixes for LoadTable() and Unload() and verified their
+operation. Implemented full support for the "DdbHandle" object
+throughout the ACPI CA subsystem.
+
+Implemented full support for the MADT and ECDT tables in the ACPI
+CA header files. Even though these tables are not directly
+consumed by ACPI CA, the header definitions are useful for ACPI
+device drivers.
+
+Integrated resource descriptor fixes posted to the Linux ACPI
+list. This included checks for minimum descriptor length, and
+support for trailing NULL strings within descriptors that have
+optional string elements.
+
+Code and Data Size: Current and previous core subsystem library
+sizes are shown below. These are the code and data sizes for the
+acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
+these values do not include any ACPI driver or OSPM code. The
+debug version of the code includes the debug output trace
+mechanism and has a much larger code and data size. Note that
+these values will vary depending on the efficiency of the
+compiler
+and the compiler options used during generation.
+
+ Previous Release (20030918):
+ Non-Debug Version: 73.9K Code, 9.7K Data, 83.6K Total
+ Debug Version: 157.3K Code, 64.5K Data, 221.8K Total
+ Current Release:
+ Non-Debug Version: 74.1K Code, 9.7K Data, 83.8K Total
+ Debug Version: 157.9K Code, 64.8K Data, 222.7K Total
+
+
+2) iASL Compiler:
+
+Implemented detection of non-ASCII characters within the input
+source ASL file. This catches attempts to compile binary (AML)
+files early in the compile, with an informative error message.
+
+Fixed a problem where the disassembler would fault if the output
+filename could not be generated or if the output file could not
+be
+opened.
+
+----------------------------------------
+18 September 2003. Summary of changes for version 20030918:
+
+
+1) ACPI CA Core Subsystem:
+
+Found and fixed a longstanding problem with the late execution of
+the various deferred AML opcodes (such as Operation Regions,
+Buffer Fields, Buffers, and Packages). If the name string
+specified for the name of the new object placed the object in a
+scope other than the current scope, the initialization/execution
+of the opcode failed. The solution to this problem was to
+implement a mechanism where the late execution of such opcodes
+does not attempt to lookup/create the name a second time in an
+incorrect scope. This fixes the "region size computed
+incorrectly" problem.
+
+Fixed a call to AcpiHwRegisterWrite in hwregs.c that was causing
+a
+Global Lock AE_BAD_PARAMETER error.
+
+Fixed several 64-bit issues with prototypes, casting and data
+types.
+
+Removed duplicate prototype from acdisasm.h
+
+Fixed an issue involving EC Operation Region Detach (Shaohua Li)
+
+Code and Data Size: Current and previous core subsystem library
+sizes are shown below. These are the code and data sizes for the
+acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
+these values do not include any ACPI driver or OSPM code. The
+debug version of the code includes the debug output trace
+mechanism and has a much larger code and data size. Note that
+these values will vary depending on the efficiency of the
+compiler
+and the compiler options used during generation.
+
+ Previous Release:
+ Non-Debug Version: 73.7K Code, 9.7K Data, 83.4K Total
+ Debug Version: 156.9K Code, 64.2K Data, 221.1K Total
+ Current Release:
+ Non-Debug Version: 73.9K Code, 9.7K Data, 83.6K Total
+ Debug Version: 157.3K Code, 64.5K Data, 221.8K Total
+
+
+2) Linux:
+
+Fixed the AcpiOsSleep implementation in osunixxf.c to pass the
+correct sleep time in seconds.
+
+----------------------------------------
+14 July 2003. Summary of changes for version 20030619:
+
+1) ACPI CA Core Subsystem:
+
+Parse SSDTs in order discovered, as opposed to reverse order
+(Hrvoje Habjanic)
+
+Fixes from FreeBSD and NetBSD. (Frank van der Linden, Thomas
+Klausner,
+ Nate Lawson)
+
+
+2) Linux:
+
+Dynamically allocate SDT list (suggested by Andi Kleen)
+
+proc function return value cleanups (Andi Kleen)
+
+Correctly handle NMI watchdog during long stalls (Andrew Morton)
+
+Make it so acpismp=force works (reported by Andrew Morton)
+
+
+----------------------------------------
19 June 2003. Summary of changes for version 20030619:
1) ACPI CA Core Subsystem:
@@ -29,8 +394,6 @@ degree.
Add ASUS Value-add driver (Karol Kozimor and Julien Lerouge)
-
-
----------------------------------------
22 May 2003. Summary of changes for version 20030522:
@@ -40,22 +403,26 @@ Found and fixed a reported problem where an AE_NOT_FOUND error
occurred occasionally during _BST evaluation. This turned out to
be an Owner ID allocation issue where a called method did not get
a new ID assigned to it. Eventually, (after 64k calls), the
-Owner ID UINT16 would wraparound so that the ID would be the same
-as the caller's and the called method would delete the caller's
+Owner
+ID UINT16 would wraparound so that the ID would be the same as
+the
+caller's and the called method would delete the caller's
namespace.
Implemented extended error reporting for control methods that are
aborted due to a run-time exception. Output includes the exact
AML instruction that caused the method abort, a dump of the
-method locals and arguments at the time of the abort, and a trace
-of all nested control method calls.
+method
+locals and arguments at the time of the abort, and a trace of all
+nested control method calls.
Modified the interpreter to allow the creation of buffers of zero
length from the AML code. Implemented new code to ensure that no
attempt is made to actually allocate a memory buffer (of length
zero) - instead, a simple buffer object with a NULL buffer
-pointer and length zero is created. A warning is no longer
-issued when the AML attempts to create a zero-length buffer.
+pointer
+and length zero is created. A warning is no longer issued when
+the AML attempts to create a zero-length buffer.
Implemented a workaround for the "leading asterisk issue" in
_HIDs, _UIDs, and _CIDs in the AML interpreter. One leading
@@ -64,10 +431,12 @@ CID strings. The iASL compiler will still flag this asterisk as
an error, however.
Implemented full support for _CID methods that return a package
-of multiple CIDs (Compatible IDs). The AcpiGetObjectInfo()
-interface now additionally returns a device _CID list if present.
-This required a change to the external interface in order to pass
-an ACPI_BUFFER object as a parameter since the _CID list is of
+of
+multiple CIDs (Compatible IDs). The AcpiGetObjectInfo()
+interface
+now additionally returns a device _CID list if present. This
+required a change to the external interface in order to pass an
+ACPI_BUFFER object as a parameter since the _CID list is of
variable length.
Fixed a problem with the new AE_SAME_HANDLER exception where
@@ -80,7 +449,8 @@ these values do not include any ACPI driver or OSPM code. The
debug version of the code includes the debug output trace
mechanism and has a much larger code and data size. Note that
these values will vary depending on the efficiency of the
-compiler and the compiler options used during generation.
+compiler
+and the compiler options used during generation.
Previous Release (20030509):
Non-Debug Version: 73.4K Code, 9.7K Data, 83.1K Total
@@ -94,7 +464,8 @@ compiler and the compiler options used during generation.
Fixed a bug in which we would reinitialize the ACPI interrupt
after it was already working, thus disabling all ACPI and the
-IRQs for any other device sharing the interrupt. (Thanks to Stian
+IRQs
+for any other device sharing the interrupt. (Thanks to Stian
Jordet)
Toshiba driver update (John Belmonte)
@@ -114,8 +485,9 @@ in both the ASL parser and the code generator.
4) Documentation:
Added changes to existing interfaces, new exception codes, and
-new text concerning reference count object management versus
-garbage collection.
+new
+text concerning reference count object management versus garbage
+collection.
----------------------------------------
09 May 2003. Summary of changes for version 20030509.
@@ -125,14 +497,18 @@ garbage collection.
Changed the subsystem initialization sequence to hold off
installation of address space handlers until the hardware has
-been initialized and the system has entered ACPI mode. This is
-because the installation of space handlers can cause _REG methods
-to be run. Previously, the _REG methods could potentially be run
-before ACPI mode was enabled.
+been
+initialized and the system has entered ACPI mode. This is
+because
+the installation of space handlers can cause _REG methods to be
+run. Previously, the _REG methods could potentially be run
+before
+ACPI mode was enabled.
Fixed some memory leak issues related to address space handler
-and notify handler installation. There were some problems with
-the reference count mechanism caused by the fact that the handler
+and
+notify handler installation. There were some problems with the
+reference count mechanism caused by the fact that the handler
objects are shared across several namespace objects.
Fixed a reported problem where reference counts within the
@@ -145,8 +521,9 @@ structures to simplify the linked lists and the related code.
Fixed a problem where the table ID associated with secondary
tables (SSDTs) was not being propagated into the namespace
-objects created by those tables. This would only present a
-problem for tables that are unloaded at run-time, however.
+objects
+created by those tables. This would only present a problem for
+tables that are unloaded at run-time, however.
Updated AcpiOsReadable and AcpiOsWritable to use the ACPI_SIZE
type as the length parameter (instead of UINT32).
@@ -163,13 +540,15 @@ first in the parent's child list, and had additional peers (not
the only child, but first in the list of children.)
Code and Data Size: Current core subsystem library sizes are
-shown below. These are the code and data sizes for the
-acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
-these values do not include any ACPI driver or OSPM code. The
-debug version of the code includes the debug output trace
-mechanism and has a much larger code and data size. Note that
-these values will vary depending on the efficiency of the
-compiler and the compiler options used during generation.
+shown
+below. These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code. The debug
+version of the code includes the debug output trace mechanism and
+has a much larger code and data size. Note that these values
+will
+vary depending on the efficiency of the compiler and the compiler
+options used during generation.
Previous Release
Non-Debug Version: 73.7K Code, 9.5K Data, 83.2K Total
@@ -191,8 +570,9 @@ Kobject fix (Greg KH)
Fixed a problem in the generation of the C source code files (AML
is emitted in C source statements for BIOS inclusion) where the
Ascii dump that appears within a C comment at the end of each
-line could cause a compile time error if the AML sequence happens
-to have an open comment or close comment sequence embedded.
+line
+could cause a compile time error if the AML sequence happens to
+have an open comment or close comment sequence embedded.
----------------------------------------
@@ -203,13 +583,15 @@ to have an open comment or close comment sequence embedded.
Support for big-endian systems has been implemented. Most of the
support has been invisibly added behind big-endian versions of
-the ACPI_MOVE_* macros.
+the
+ACPI_MOVE_* macros.
Fixed a problem in AcpiHwDisableGpeBlock() and
AcpiHwClearGpeBlock() where an incorrect offset was passed to the
low level hardware write routine. The offset parameter was
actually eliminated from the low level read/write routines
-because they had become obsolete.
+because
+they had become obsolete.
Fixed a problem where a handler object was deleted twice during
the removal of a fixed event handler.
@@ -222,7 +604,8 @@ Compaq's Dan Zink.
(2.5) Return whether we handled the interrupt in our IRQ handler.
(Linux ISRs no longer return void, so we can propagate the
-handler return value from the ACPI CA core back to the OS.)
+handler
+return value from the ACPI CA core back to the OS.)
3) Documentation:
@@ -246,13 +629,15 @@ semaphore" would appear during operations on the embedded
controller (EC).
Code and Data Size: Current core subsystem library sizes are
-shown below. These are the code and data sizes for the
-acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
-these values do not include any ACPI driver or OSPM code. The
-debug version of the code includes the debug output trace
-mechanism and has a much larger code and data size. Note that
-these values will vary depending on the efficiency of the
-compiler and the compiler options used during generation.
+shown
+below. These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code. The debug
+version of the code includes the debug output trace mechanism and
+has a much larger code and data size. Note that these values
+will
+vary depending on the efficiency of the compiler and the compiler
+options used during generation.
Previous Release
Non-Debug Version: 72.3K Code, 9.5K Data, 81.8K Total
@@ -278,9 +663,10 @@ The FADT fields GPE0_BLK_LEN and GPE1_BLK_LEN are now the only
fields that are used to determine the GPE block lengths. The
REGISTER_BIT_WIDTH field of the X_GPEx_BLK extended address
structures are ignored. This is per the ACPI specification but
-it isn't very clear. The full 256 Block 0/1 GPEs are now
-supported (the use of REGISTER_BIT_WIDTH limited the number of
-GPEs to 128).
+it
+isn't very clear. The full 256 Block 0/1 GPEs are now supported
+(the use of REGISTER_BIT_WIDTH limited the number of GPEs to
+128).
In the SCI interrupt handler, removed the read of the PM1_CONTROL
register to look at the SCI_EN bit. On some machines, this read
@@ -289,21 +675,24 @@ in fact be the cause of slow battery status response on some
systems.)
Fixed a problem where a store of a NULL string to a package
-object could cause the premature deletion of the object. This
-was seen during execution of the battery _BIF method on some
-systems, resulting in no battery data being returned.
+object
+could cause the premature deletion of the object. This was seen
+during execution of the battery _BIF method on some systems,
+resulting in no battery data being returned.
Added AcpiWalkResources interface to simplify parsing of resource
lists.
Code and Data Size: Current core subsystem library sizes are
-shown below. These are the code and data sizes for the
-acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
-these values do not include any ACPI driver or OSPM code. The
-debug version of the code includes the debug output trace
-mechanism and has a much larger code and data size. Note that
-these values will vary depending on the efficiency of the
-compiler and the compiler options used during generation.
+shown
+below. These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code. The debug
+version of the code includes the debug output trace mechanism and
+has a much larger code and data size. Note that these values
+will
+vary depending on the efficiency of the compiler and the compiler
+options used during generation.
Previous Release
Non-Debug Version: 72.0K Code, 9.5K Data, 81.5K Total
@@ -325,7 +714,8 @@ Add S4BIOS support (Pavel Machek)
Map in entire table before performing checksum (John Stultz)
Expand the mem= cmdline to allow the specification of reserved
-and ACPI DATA blocks (Pavel Machek)
+and
+ACPI DATA blocks (Pavel Machek)
Never use ACPI on VISWS
@@ -356,9 +746,10 @@ Added support for the _PDC reserved name.
Added a check for constructs of the form: Store (Local0, Local0)
where Local0 is not initialized. Apparently, some BIOS
programmers believe that this is a NOOP. Since this store
-doesn't do anything anyway, the new prototype behavior will
-ignore this error. This is a case where we can relax the strict
-checking in the interpreter in the name of compatibility.
+doesn't
+do anything anyway, the new prototype behavior will ignore this
+error. This is a case where we can relax the strict checking in
+the interpreter in the name of compatibility.
2) Linux
@@ -382,7 +773,8 @@ header.
(Both) acpiphp.h includes both linux/acpi.h and acpi_bus.h. Since
the
former now also includes the latter, acpiphp.h only needs the
-one, now.
+one,
+now.
(2.5) Make it possible to select method of bios restoring after
S3
@@ -416,17 +808,21 @@ available.
Changed the behavior of the internal Buffer-to-String conversion
function. The current ACPI specification states that the
-contents of the buffer are "converted to a string of two-
-character hexadecimal numbers, each separated by a space".
-Unfortunately, this definition is not backwards compatible with
-existing ACPI 1.0 implementations (although the behavior was not
-defined in the ACPI 1.0 specification). The new behavior simply
-copies data from the buffer to the string until a null character
-is found or the end of the buffer is reached. The new String
-object is always null terminated. This problem was seen during
-the generation of _BIF battery data where incorrect strings were
-returned for battery type, etc. This will also require an errata
-to the ACPI specification.
+contents
+of the buffer are "converted to a string of two-character
+hexadecimal numbers, each separated by a space". Unfortunately,
+this definition is not backwards compatible with existing ACPI
+1.0
+implementations (although the behavior was not defined in the
+ACPI
+1.0 specification). The new behavior simply copies data from the
+buffer to the string until a null character is found or the end
+of
+the buffer is reached. The new String object is always null
+terminated. This problem was seen during the generation of _BIF
+battery data where incorrect strings were returned for battery
+type, etc. This will also require an errata to the ACPI
+specification.
Renamed all instances of NATIVE_UINT and NATIVE_INT to
ACPI_NATIVE_UINT and ACPI_NATIVE_INT, respectively.
@@ -435,13 +831,15 @@ Copyright in all module headers (both Linux and non-Linux) has be
updated to 2003.
Code and Data Size: Current core subsystem library sizes are
-shown below. These are the code and data sizes for the
-acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
-these values do not include any ACPI driver or OSPM code. The
-debug version of the code includes the debug output trace
-mechanism and has a much larger code and data size. Note that
-these values will vary depending on the efficiency of the
-compiler and the compiler options used during generation.
+shown
+below. These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code. The debug
+version of the code includes the debug output trace mechanism and
+has a much larger code and data size. Note that these values
+will
+vary depending on the efficiency of the compiler and the compiler
+options used during generation.
Previous Release
Non-Debug Version: 72.0K Code, 9.5K Data, 81.5K Total
@@ -502,8 +900,9 @@ Fixed a problem where the creation of a zero-length AML Buffer
would cause a fault.
Fixed a problem where a Buffer object that pointed to a static
-AML buffer (in an ACPI table) could inadvertently be deleted,
-causing memory corruption.
+AML
+buffer (in an ACPI table) could inadvertently be deleted, causing
+memory corruption.
Fixed a problem where a user buffer (passed in to the external
ACPI CA interfaces) could be overwritten if the buffer was too
@@ -517,13 +916,15 @@ Removed the NATIVE_CHAR data type across the entire source due to
lack of need and lack of consistent use.
Code and Data Size: Current core subsystem library sizes are
-shown below. These are the code and data sizes for the
-acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
-these values do not include any ACPI driver or OSPM code. The
-debug version of the code includes the debug output trace
-mechanism and has a much larger code and data size. Note that
-these values will vary depending on the efficiency of the
-compiler and the compiler options used during generation.
+shown
+below. These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code. The debug
+version of the code includes the debug output trace mechanism and
+has a much larger code and data size. Note that these values
+will
+vary depending on the efficiency of the compiler and the compiler
+options used during generation.
Previous Release
Non-Debug Version: 72.1K Code, 9.5K Data, 81.6K Total
@@ -546,27 +947,29 @@ target object. This was seen to cause corruption of battery _BIF
buffers if the _BIF method modified the buffer on the fly.
Fixed a problem where an internal error was generated if a
-control method invocation was used in an OperationRegion, Buffer,
-or Package declaration. This was caused by the deferred parsing
-of the control method and thus the deferred creation of the
-internal method object. The solution to this problem was to
-create the internal method object at the moment the method is
-encountered in the first pass - so that subsequent references to
-the method will able to obtain the required parameter count and
-thus properly parse the method invocation. This problem
-presented itself as an AE_AML_INTERNAL during the pass 1 parse
-phase during table load.
+control
+method invocation was used in an OperationRegion, Buffer, or
+Package declaration. This was caused by the deferred parsing of
+the control method and thus the deferred creation of the internal
+method object. The solution to this problem was to create the
+internal method object at the moment the method is encountered in
+the first pass - so that subsequent references to the method will
+able to obtain the required parameter count and thus properly
+parse the method invocation. This problem presented itself as an
+AE_AML_INTERNAL during the pass 1 parse phase during table load.
Fixed a problem where the internal String object copy routine did
not always allocate sufficient memory for the target String
-object and caused memory corruption. This problem was seen to
-cause "Allocation already present in list!" errors as memory
-allocation became corrupted.
+object
+and caused memory corruption. This problem was seen to cause
+"Allocation already present in list!" errors as memory allocation
+became corrupted.
Implemented a new function for the evaluation of namespace
-objects that allows the specification of the allowable return
-object types. This simplifies a lot of code that checks for a
-return object of one or more specific objects returned from the
+objects
+that allows the specification of the allowable return object
+types. This simplifies a lot of code that checks for a return
+object of one or more specific objects returned from the
evaluation (such as _STA, etc.) This may become and external
function if it would be useful to ACPI-related drivers.
@@ -579,17 +982,20 @@ creating new files. New files: nsparse.c dsinit.c evgpe.c
Implemented an abort mechanism to terminate an executing control
method via the AML debugger. This feature is useful for
-debugging control methods that depend (wait) for specific
-hardware responses.
+debugging
+control methods that depend (wait) for specific hardware
+responses.
Code and Data Size: Current core subsystem library sizes are
-shown below. These are the code and data sizes for the
-acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
-these values do not include any ACPI driver or OSPM code. The
-debug version of the code includes the debug output trace
-mechanism and has a much larger code and data size. Note that
-these values will vary depending on the efficiency of the
-compiler and the compiler options used during generation.
+shown
+below. These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code. The debug
+version of the code includes the debug output trace mechanism and
+has a much larger code and data size. Note that these values
+will
+vary depending on the efficiency of the compiler and the compiler
+options used during generation.
Previous Release
Non-Debug Version: 71.4K Code, 9.0K Data, 80.4K Total
@@ -608,8 +1014,9 @@ the correct location within the AML resource descriptor, creating
an invalid descriptor.
Fixed a disassembler problem for "Interrupt" resource
-descriptors. The optional "Resource Source Index" and "Resource
-Source" fields were ignored.
+descriptors.
+The optional "Resource Source Index" and "Resource Source" fields
+were ignored.
----------------------------------------
@@ -631,28 +1038,33 @@ namespace-node code is now used so that this case is handled
automatically.
Fixed a problem where the internal object copy routine would
-cause a protection fault if the object being copied was a Package
-and contained either 1) a NULL package element or 2) a nested sub-
+cause
+a protection fault if the object being copied was a Package and
+contained either 1) a NULL package element or 2) a nested sub-
package.
Fixed a problem with the GPE initialization that resulted from an
ambiguity in the ACPI specification. One section of the
specification states that both the address and length of the GPE
block must be zero if the block is not supported. Another
-section implies that only the address need be zero if the block
-is not supported. The code has been changed so that both the
-address and the length must be non-zero to indicate a valid GPE
-block (i.e., if either the address or the length is zero, the GPE
-block is invalid.)
+section
+implies that only the address need be zero if the block is not
+supported. The code has been changed so that both the address
+and
+the length must be non-zero to indicate a valid GPE block (i.e.,
+if either the address or the length is zero, the GPE block is
+invalid.)
Code and Data Size: Current core subsystem library sizes are
-shown below. These are the code and data sizes for the
-acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
-these values do not include any ACPI driver or OSPM code. The
-debug version of the code includes the debug output trace
-mechanism and has a much larger code and data size. Note that
-these values will vary depending on the efficiency of the
-compiler and the compiler options used during generation.
+shown
+below. These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code. The debug
+version of the code includes the debug output trace mechanism and
+has a much larger code and data size. Note that these values
+will
+vary depending on the efficiency of the compiler and the compiler
+options used during generation.
Previous Release
Non-Debug Version: 71.3K Code, 9.0K Data, 80.3K Total
@@ -702,29 +1114,34 @@ did not exist.
Implemented the first of perhaps several internal create object
functions that create and initialize a specific object type.
-This consolidates duplicated code wherever the object is created,
-thus shrinking the size of the subsystem.
+This
+consolidates duplicated code wherever the object is created, thus
+shrinking the size of the subsystem.
Implemented improved debug/error messages for errors that occur
during nested method invocations. All executing method pathnames
are displayed (with the error) as the call stack is unwound -
-thus simplifying debug.
+thus
+simplifying debug.
Fixed a problem introduced in the 10/02 release that caused
premature deletion of a buffer object if a buffer was used as an
ASL operand where an integer operand is required (Thus causing an
implicit object conversion from Buffer to Integer.) The change
-in the 10/02 release was attempting to fix a memory leak (albeit
+in
+the 10/02 release was attempting to fix a memory leak (albeit
incorrectly.)
Code and Data Size: Current core subsystem library sizes are
-shown below. These are the code and data sizes for the
-acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
-these values do not include any ACPI driver or OSPM code. The
-debug version of the code includes the debug output trace
-mechanism and has a much larger code and data size. Note that
-these values will vary depending on the efficiency of the
-compiler and the compiler options used during generation.
+shown
+below. These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code. The debug
+version of the code includes the debug output trace mechanism and
+has a much larger code and data size. Note that these values
+will
+vary depending on the efficiency of the compiler and the compiler
+options used during generation.
Previous Release
Non-Debug Version: 71.9K Code, 9.1K Data, 81.0K Total
@@ -743,7 +1160,8 @@ Methods must run to completion, or the system may be left in an
unknown/unstable state.
Fixed a compilation error when CONFIG_SOFTWARE_SUSPEND is not
-set. (Shawn Starr)
+set.
+(Shawn Starr)
3) iASL Compiler/Disassembler
@@ -780,16 +1198,19 @@ specification. This had the side effect of causing ASL
Mutex/Event timeouts even though the ASL code requested a wait
forever. Changed all internal references to the ACPI timeout
parameter to 16 bits to prevent future problems. Changed the
-name of WAIT_FOREVER to ACPI_WAIT_FOREVER.
+name
+of WAIT_FOREVER to ACPI_WAIT_FOREVER.
Code and Data Size: Current core subsystem library sizes are
-shown below. These are the code and data sizes for the
-acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
-these values do not include any ACPI driver or OSPM code. The
-debug version of the code includes the debug output trace
-mechanism and has a much larger code and data size. Note that
-these values will vary depending on the efficiency of the
-compiler and the compiler options used during generation.
+shown
+below. These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code. The debug
+version of the code includes the debug output trace mechanism and
+has a much larger code and data size. Note that these values
+will
+vary depending on the efficiency of the compiler and the compiler
+options used during generation.
Previous Release
Non-Debug Version: 71.4K Code, 9.0K Data, 80.4K Total
@@ -818,7 +1239,8 @@ keywords (SMBQuick, SMBWord, etc.)
1) ACPI CA Core Subsystem:
Fixed a problem where platforms that have a GPE1 block but no
-GPE0 block were not handled correctly. This resulted in a "GPE
+GPE0
+block were not handled correctly. This resulted in a "GPE
overlap" error message. GPE0 is no longer required.
Removed code added in the previous release that inserted nodes
@@ -834,20 +1256,23 @@ found during control method execution. The full ACPI namepath
this case.
Note: as a result of the overhaul of the namespace object types
-in the previous release, the namespace nodes for the predefined
+in
+the previous release, the namespace nodes for the predefined
scopes (_TZ, _PR, etc.) are now of the type ACPI_TYPE_LOCAL_SCOPE
instead of ACPI_TYPE_ANY. This simplifies the namespace
management code but may affect code that walks the namespace tree
looking for specific object types.
Code and Data Size: Current core subsystem library sizes are
-shown below. These are the code and data sizes for the
-acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
-these values do not include any ACPI driver or OSPM code. The
-debug version of the code includes the debug output trace
-mechanism and has a much larger code and data size. Note that
-these values will vary depending on the efficiency of the
-compiler and the compiler options used during generation.
+shown
+below. These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code. The debug
+version of the code includes the debug output trace mechanism and
+has a much larger code and data size. Note that these values
+will
+vary depending on the efficiency of the compiler and the compiler
+options used during generation.
Previous Release
Non-Debug Version: 70.7K Code, 8.6K Data, 79.3K Total
@@ -861,7 +1286,8 @@ compiler and the compiler options used during generation.
Fixed a problem introduced in the previous release where the
Processor and Thermal objects were not recognized and installed
-in /proc. This was related to the scope type change described
+in
+/proc. This was related to the scope type change described
above.
@@ -887,10 +1313,11 @@ encountered (during table load or method execution). In other
words, forward references are not allowed and Scope() cannot
create a new object. This changes the previous behavior where the
interpreter would create the name if not found. This new
-behavior correctly enables the search-to-root algorithm during
-namespace lookup of the target name. Because of this upsearch,
-this fixes the known Compaq _SB_.OKEC problem and makes both the
-AML interpreter and iASL compiler compatible with other ACPI
+behavior
+correctly enables the search-to-root algorithm during namespace
+lookup of the target name. Because of this upsearch, this fixes
+the known Compaq _SB_.OKEC problem and makes both the AML
+interpreter and iASL compiler compatible with other ACPI
implementations.
Completed a major overhaul of the internal ACPI object types for
@@ -910,7 +1337,8 @@ Cleaned up the namespace dump code, removed obsolete code.
All string output (for all namespace/object dumps) now uses the
common ACPI string output procedure which handles escapes
-properly and does not emit non-printable characters.
+properly
+and does not emit non-printable characters.
Fixed some issues with constants in the 64-bit version of the
local C library (utclib.c)
@@ -925,22 +1353,28 @@ interrupt level.
3) iASL Compiler/Disassembler
Implemented ACPI 2.0B grammar change that disallows all Type 1
-and 2 opcodes outside of a control method. This means that the
+and
+2 opcodes outside of a control method. This means that the
"executable" operators (versus the "namespace" operators) cannot
be used at the table level; they can only be used within a
-control method.
+control
+method.
Implemented the restriction on the Scope() operator where the
target must already exist in the namespace at the time the
operator is encountered (during ASL compilation). In other words,
forward references are not allowed and Scope() cannot create a
-new object. This makes the iASL compiler compatible with other
-ACPI implementations and makes the Scope() implementation adhere
-to the ACPI specification.
+new
+object. This makes the iASL compiler compatible with other ACPI
+implementations and makes the Scope() implementation adhere to
+the
+ACPI specification.
Fixed a problem where namepath optimization for the Alias
-operator was optimizing the wrong path (of the two namepaths.)
-This caused a "Missing alias link" error message.
+operator
+was optimizing the wrong path (of the two namepaths.) This
+caused
+a "Missing alias link" error message.
Fixed a problem where an "unknown reserved name" warning could be
incorrectly generated for names like "_SB" when the trailing
@@ -960,41 +1394,53 @@ the NamePath was examined instead of the last NameSeg.
Fixed a problem where a store/copy of a string to an existing
string did not always set the string length properly in the
-String object.
+String
+object.
Fixed a reported problem with the ToString operator where the
behavior was identical to the ToHexString operator instead of
-just simply converting a raw buffer to a string data type.
+just
+simply converting a raw buffer to a string data type.
Fixed a problem where CopyObject and the other "explicit"
conversion operators were not updating the internal namespace
-node type as part of the store operation.
+node
+type as part of the store operation.
Fixed a memory leak during implicit source operand conversion
where the original object was not deleted if it was converted to
-a new object of a different type.
+a
+new object of a different type.
Enhanced error messages for all problems associated with
-namespace lookups. Common procedure generates and prints the
-lookup name as well as the formatted status.
+namespace
+lookups. Common procedure generates and prints the lookup name
+as
+well as the formatted status.
Completed implementation of a new design for the Alias support
within the namespace. The existing design did not handle the
-case where a new object was assigned to one of the two names due
-to the use of an explicit conversion operator, resulting in the
-two names pointing to two different objects. The new design
-simply points the Alias name to the original name node - not to
-the object. This results in a level of indirection that must be
-handled in the name resolution mechanism.
+case
+where a new object was assigned to one of the two names due to
+the
+use of an explicit conversion operator, resulting in the two
+names
+pointing to two different objects. The new design simply points
+the Alias name to the original name node - not to the object.
+This results in a level of indirection that must be handled in
+the
+name resolution mechanism.
Code and Data Size: Current core subsystem library sizes are
-shown below. These are the code and data sizes for the
-acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
-these values do not include any ACPI driver or OSPM code. The
-debug version of the code includes the debug output trace
-mechanism and has a larger code and data size. Note that these
-values will vary depending on the efficiency of the compiler and
-the compiler options used during generation.
+shown
+below. These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code. The debug
+version of the code includes the debug output trace mechanism and
+has a larger code and data size. Note that these values will
+vary
+depending on the efficiency of the compiler and the compiler
+options used during generation.
Previous Release
Non-Debug Version: 69.6K Code, 8.3K Data, 77.9K Total
@@ -1036,9 +1482,9 @@ Clarified some warning/error messages.
Fixed a reported problem with reference chaining (via the Index()
and RefOf() operators) in the ObjectType() and SizeOf()
-operators. The definition of these operators includes the
-dereferencing of all chained references to return information on
-the base object.
+operators.
+The definition of these operators includes the dereferencing of
+all chained references to return information on the base object.
Fixed a problem with stores to indexed package elements - the
existing code would not complete the store if an "implicit
@@ -1052,8 +1498,9 @@ Buffer, in addition to the scoping object types (Device,
predefined Scopes, Processor, PowerResource, and ThermalZone.)
This allows existing AML code that has workarounds for a bug in
Windows to function properly. A warning is issued, however.
-This affects both the AML interpreter and the iASL compiler.
-Below is an example of this type of ASL code:
+This
+affects both the AML interpreter and the iASL compiler. Below is
+an example of this type of ASL code:
Name(DEB,0x00)
Scope(DEB)
@@ -1099,7 +1546,8 @@ being dereferenced during typechecking.
If the target of a Scope() operator already exists, it must be an
object type that actually opens a scope -- such as a Device,
Method, Scope, etc. This is a fatal runtime error. Similar
-error check has been added to the iASL compiler also.
+error
+check has been added to the iASL compiler also.
Tightened up the namespace load to disallow multiple names in the
same scope. This previously was allowed if both objects were of
@@ -1118,7 +1566,8 @@ Make "acpi=off" actually do what it says, and not use the ACPI
interpreter *or* the tables.
Added arch-neutral support for parsing SLIT and SRAT tables
-(Kochi Takayoshi)
+(Kochi
+Takayoshi)
3) iASL Compiler/Disassembler Version 20020829:
@@ -1142,7 +1591,8 @@ Fixed a problem where the listing file was not generated if the
compiler aborted if the maximum error count was exceeded (200).
Fixed a problem where the typechecking of method return values
-was broken. This includes the check for a return value when the
+was
+broken. This includes the check for a return value when the
method is invoked as a TermArg (a return value is expected.)
Fixed a reported problem where EOF conditions during a quoted
@@ -1156,9 +1606,10 @@ string or comment caused a fault.
Fixed a reported problem where a Store to a method argument that
contains a reference did not perform the indirect store
-correctly. This problem was created during the conversion to the
-new reference object model - the indirect store to a method
-argument code was not updated to reflect the new model.
+correctly.
+This problem was created during the conversion to the new
+reference object model - the indirect store to a method argument
+code was not updated to reflect the new model.
Reworked the ACPI mode change code to better conform to ACPI 2.0,
handle corner cases, and improve code legibility (Kochi
@@ -1167,28 +1618,33 @@ Takayoshi)
Fixed a problem with the pathname parsing for the carat (^)
prefix. The heavy use of the carat operator by the new namepath
optimization in the iASL compiler uncovered a problem with the
-AML interpreter handling of this prefix. In the case where one
-or more carats precede a single nameseg, the nameseg was treated
-as standalone and the search rule (to root) was inadvertently
+AML
+interpreter handling of this prefix. In the case where one or
+more carats precede a single nameseg, the nameseg was treated as
+standalone and the search rule (to root) was inadvertently
applied. This could cause both the iASL compiler and the
interpreter to find the wrong object or to miss the error that
should occur if the object does not exist at that exact pathname.
Found and fixed the problem where the HP Pavilion DSDT would not
load. This was a relatively minor tweak to the table loading
-code (a problem caused by the unexpected encounter with a method
+code
+(a problem caused by the unexpected encounter with a method
invocation not within a control method), but it does not solve
-the overall issue of the execution of AML code at the table
-level. This investigation is still ongoing.
+the
+overall issue of the execution of AML code at the table level.
+This investigation is still ongoing.
Code and Data Size: Current core subsystem library sizes are
-shown below. These are the code and data sizes for the
-acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
-these values do not include any ACPI driver or OSPM code. The
-debug version of the code includes the debug output trace
-mechanism and has a larger code and data size. Note that these
-values will vary depending on the efficiency of the compiler and
-the compiler options used during generation.
+shown
+below. These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code. The debug
+version of the code includes the debug output trace mechanism and
+has a larger code and data size. Note that these values will
+vary
+depending on the efficiency of the compiler and the compiler
+options used during generation.
Previous Release
Non-Debug Version: 69.1K Code, 8.2K Data, 77.3K Total
@@ -1227,11 +1683,12 @@ Completed the design and implementation of the ASL namepath
optimization option for the compiler. This option optimizes all
references to named objects to the shortest possible path. The
first attempt tries to utilize a single nameseg (4 characters)
-and the "search-to-root" algorithm used by the interpreter. If
-that cannot be used (because either the name is not in the search
-path or there is a conflict with another object with the same
-name), the pathname is optimized using the carat prefix (usually
-a shorter string than specifying the entire path from the root.)
+and
+the "search-to-root" algorithm used by the interpreter. If that
+cannot be used (because either the name is not in the search path
+or there is a conflict with another object with the same name),
+the pathname is optimized using the carat prefix (usually a
+shorter string than specifying the entire path from the root.)
Implemented support to obtain the DSDT from the Windows registry
(when the disassembly option is specified with no input file).
@@ -1244,13 +1701,15 @@ independent.
Implemented a new option to disassemble and compile in one step.
When used without an input filename, this option will grab the
DSDT from the local machine, disassemble it, and compile it in
-one step.
+one
+step.
Added a warning message for invalid escapes (a backslash followed
by any character other than the allowable escapes). This catches
the quoted string error "\_SB_" (which should be "\\_SB_" ).
Also, there are numerous instances in the ACPI specification
-where this error occurs.
+where
+this error occurs.
Added a compiler option to disable all optimizations. This is
basically the "compatibility mode" because by using this option,
@@ -1280,9 +1739,10 @@ optimization.
The AML Disassembler has been enhanced to produce compilable ASL
code and has been integrated into the iASL compiler (see below)
-as well as the single-step disassembly for the AML debugger and
-the disassembler for the AcpiDump utility. All ACPI 2.0A
-opcodes, resource templates and macros are fully supported. The
+as
+well as the single-step disassembly for the AML debugger and the
+disassembler for the AcpiDump utility. All ACPI 2.0A opcodes,
+resource templates and macros are fully supported. The
disassembler has been tested on over 30 different AML files,
producing identical AML when the resulting disassembled ASL file
is recompiled with the same ASL compiler.
@@ -1296,13 +1756,15 @@ output redirection for the AcpiOsPrintf and AcpiOsVprintf
interfaces.
Code and Data Size: Current core subsystem library sizes are
-shown below. These are the code and data sizes for the
-acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
-these values do not include any ACPI driver or OSPM code. The
-debug version of the code includes the debug output trace
-mechanism and has a larger code and data size. Note that these
-values will vary depending on the efficiency of the compiler and
-the compiler options used during generation.
+shown
+below. These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code. The debug
+version of the code includes the debug output trace mechanism and
+has a larger code and data size. Note that these values will
+vary
+depending on the efficiency of the compiler and the compiler
+options used during generation.
Previous Release
Non-Debug Version: 68.7K Code, 7.4K Data, 76.1K Total
@@ -1338,8 +1800,9 @@ causing reduction conflicts.
Fixed a problem where the Ones opcode could get converted to a
value of zero if "Ones" was used where a byte, word or dword
-value was expected. The 64-bit value is now truncated to the
-correct size with the correct value.
+value
+was expected. The 64-bit value is now truncated to the correct
+size with the correct value.
----------------------------------------
@@ -1352,14 +1815,16 @@ The Table Manager code has been restructured to add several new
features. Tables that are not required by the core subsystem
(other than the FADT, DSDT, FACS, PSDTs, etc.) are no longer
validated in any way and are returned from AcpiGetFirmwareTable
-if requested. The AcpiOsTableOverride interface is now called
-for each table that is loaded by the subsystem in order to allow
-the host to override any table it chooses. Previously, only the
-DSDT could be overridden. Added one new files, tbrsdt.c and
+if
+requested. The AcpiOsTableOverride interface is now called for
+each table that is loaded by the subsystem in order to allow the
+host to override any table it chooses. Previously, only the DSDT
+could be overridden. Added one new files, tbrsdt.c and
tbgetall.c.
Fixed a problem with the conversion of internal package objects
-to external objects (when a package is returned from a control
+to
+external objects (when a package is returned from a control
method.) The return buffer length was set to zero instead of the
proper length of the package object.
@@ -1369,12 +1834,13 @@ new type of Reference object is used internally for references
produced by the RefOf operator.
Added additional error messages in the Resource Manager to
-explain AE_BAD_DATA errors when they occur during resource
-parsing.
+explain
+AE_BAD_DATA errors when they occur during resource parsing.
Split the AcpiEnableSubsystem into two primitives to enable a
finer granularity initialization sequence. These two calls
-should be called in this order: AcpiEnableSubsystem (flags),
+should
+be called in this order: AcpiEnableSubsystem (flags),
AcpiInitializeObjects (flags). The flags parameter remains the
same.
@@ -1383,7 +1849,8 @@ same.
Updated the ACPI utilities module to understand the new style of
fully resolved package objects that are now returned from the
-core subsystem. This eliminates errors of the form:
+core
+subsystem. This eliminates errors of the form:
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PPB_._PRT]
acpi_utils-0430 [145] acpi_evaluate_reference:
@@ -1407,7 +1874,8 @@ no longer needed since acpi_evaluate_object can optionally
allocate memory for the return object.
Implemented fix for keyboard hang when getting battery readings
-on some systems (Stephen White)
+on
+some systems (Stephen White)
PCI IRQ routing update (Dominik Brodowski)
@@ -1425,13 +1893,14 @@ appearing within _PRT packages were not handled correctly within
the resource manager code. Originally reported against the ASL
compiler because the code generator now optimizes integers to
their minimal AML representation (i.e. AML constants if
-possible.) The _PRT code now handles all AML constant opcodes
-correctly (Zero, One, Ones, Revision).
+possible.)
+The _PRT code now handles all AML constant opcodes correctly
+(Zero, One, Ones, Revision).
Fixed a problem with the Concatenate operator in the AML
interpreter where a buffer result object was incorrectly marked
-as not fully evaluated, causing a run-time error of
-AE_AML_INTERNAL.
+as
+not fully evaluated, causing a run-time error of AE_AML_INTERNAL.
All package sub-objects are now fully resolved before they are
returned from the external ACPI interfaces. This means that name
@@ -1444,17 +1913,21 @@ within the AML stream. This has simplified and reduced the
generated code size of the subsystem by eliminating about 10
switch statements for these constants (which previously were
contained in Reference objects.) The complicating issues are
-that the Zero opcode is used as a "placeholder" for unspecified
+that
+the Zero opcode is used as a "placeholder" for unspecified
optional target operands and stores to constants are defined to
-be no-ops.
+be
+no-ops.
Code and Data Size: Current core subsystem library sizes are
-shown below. These are the code and data sizes for the acpica.lib
+shown
+below. These are the code and data sizes for the acpica.lib
produced by the Microsoft Visual C++ 6.0 compiler, and these
values do not include any ACPI driver or OSPM code. The debug
version of the code includes the debug output trace mechanism and
has a larger code and data size. Note that these values will
-vary depending on the efficiency of the compiler and the compiler
+vary
+depending on the efficiency of the compiler and the compiler
options used during generation.
Previous Release
@@ -1474,7 +1947,8 @@ bridges (Bjorn Helgaas).
3) iASL Compiler Version X2046:
Fixed a problem where the "_DDN" reserved name was defined to be
-a control method with one argument. There are no arguments, and
+a
+control method with one argument. There are no arguments, and
_DDN does not have to be a control method.
Fixed a problem with the Linux version of the compiler where the
@@ -1489,8 +1963,8 @@ slight difference in the output of the Flex tool on Linux versus
Windows.
Fixed a problem with the Linux compiler where the hex output
-files contained some garbage data caused by an internal buffer
-overrun.
+files
+contained some garbage data caused by an internal buffer overrun.
----------------------------------------
@@ -1502,15 +1976,17 @@ overrun.
Implemented a workaround to an BIOS bug discovered on the HP
OmniBook where the FADT revision number and the table size are
inconsistent (ACPI 2.0 revision vs. ACPI 1.0 table size). The
-new behavior is to fallback to using only the ACPI 1.0 fields of
-the FADT if the table is too small to be a ACPI 2.0 table as
-claimed by the revision number. Although this is a BIOS bug,
-this is a case where the workaround is simple enough and with no
-side effects, so it seemed prudent to add it. A warning message
-is issued, however.
+new
+behavior is to fallback to using only the ACPI 1.0 fields of the
+FADT if the table is too small to be a ACPI 2.0 table as claimed
+by the revision number. Although this is a BIOS bug, this is a
+case where the workaround is simple enough and with no side
+effects, so it seemed prudent to add it. A warning message is
+issued, however.
Implemented minimum size checks for the fixed-length ACPI tables
--- the FADT and FACS, as well as consistency checks between the
+-
+- the FADT and FACS, as well as consistency checks between the
revision number and the table size.
Fixed a reported problem in the table override support where the
@@ -1521,17 +1997,20 @@ Eliminated the use of the AE_AML_ERROR exception and replaced it
with more descriptive codes.
Fixed a problem where an exception would occur if an ASL Field
-was defined with no named Field Units underneath it (used by some
+was
+defined with no named Field Units underneath it (used by some
index fields).
Code and Data Size: Current core subsystem library sizes are
-shown below. These are the code and data sizes for the
-acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
-these values do not include any ACPI driver or OSPM code. The
-debug version of the code includes the debug output trace
-mechanism and has a larger code and data size. Note that these
-values will vary depending on the efficiency of the compiler and
-the compiler options used during generation.
+shown
+below. These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code. The debug
+version of the code includes the debug output trace mechanism and
+has a larger code and data size. Note that these values will
+vary
+depending on the efficiency of the compiler and the compiler
+options used during generation.
Previous Release
Non-Debug Version: 68.8K Code, 7.1K Data, 75.9K Total
@@ -1562,9 +2041,11 @@ Moved arch-specific code out of include/platform/aclinux.h
3) iASL Compiler Version X2044:
Implemented error checking for the string used in the EISAID
-macro (Usually used in the definition of the _HID object.) The
-code now strictly enforces the PnP format - exactly 7 characters,
-3 uppercase letters and 4 hex digits.
+macro
+(Usually used in the definition of the _HID object.) The code
+now
+strictly enforces the PnP format - exactly 7 characters, 3
+uppercase letters and 4 hex digits.
If a raw string is used in the definition of the _HID object
(instead of the EISAID macro), the string must contain all
@@ -1582,9 +2063,11 @@ control method is used. We know that a reserved name must be a
method if it is defined with input arguments.
The warning emitted when a namespace object reference is not
-found during the cross reference phase has been changed into an
-error. The "External" directive should be used for names defined
-in other modules.
+found
+during the cross reference phase has been changed into an error.
+The "External" directive should be used for names defined in
+other
+modules.
4) Tools and Utilities
@@ -1593,7 +2076,8 @@ The 16-bit tools (adump16 and aexec16) have been regenerated and
tested.
Fixed a problem with the output of both acpidump and adump16
-where the indentation of closing parentheses and brackets was not
+where
+the indentation of closing parentheses and brackets was not
aligned properly with the parent block.
@@ -1606,8 +2090,9 @@ aligned properly with the parent block.
Added support a new OSL interface that allows the host operating
system software to override the DSDT found in the firmware -
AcpiOsTableOverride. With this interface, the OSL can examine
-the version of the firmware DSDT and replace it with a different
-one if desired.
+the
+version of the firmware DSDT and replace it with a different one
+if desired.
Added new external interfaces for accessing ACPI registers from
device drivers and other system software - AcpiGetRegister and
@@ -1622,13 +2107,15 @@ Extended the maximum time (before failure) to successfully enable
ACPI mode to 3 seconds.
Code and Data Size: Current core subsystem library sizes are
-shown below. These are the code and data sizes for the
-acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
-these values do not include any ACPI driver or OSPM code. The
-debug version of the code includes the debug output trace
-mechanism and has a larger code and data size. Note that these
-values will vary depending on the efficiency of the compiler and
-the compiler options used during generation.
+shown
+below. These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code. The debug
+version of the code includes the debug output trace mechanism and
+has a larger code and data size. Note that these values will
+vary
+depending on the efficiency of the compiler and the compiler
+options used during generation.
Previous Release
Non-Debug Version: 68.5K Code, 7.0K Data, 75.5K Total
@@ -1642,7 +2129,8 @@ the compiler options used during generation.
Enhanced ACPI init code for SMP. We are now fully MPS and $PIR-
free. While 3 out of 4 of our in-house systems work fine, the
-last one still hangs when testing the LAPIC timer.
+last
+one still hangs when testing the LAPIC timer.
Renamed many files in 2.5 kernel release to omit "acpi_" from the
name.
@@ -1684,7 +2172,8 @@ constants and thus reduce the overall size of the generated AML
code.
Implemented error checking for new reserved terms for ACPI
-version 2.0A.
+version
+2.0A.
Implemented the -qr option to display the current list of ACPI
reserved names known to the compiler.
@@ -1698,7 +2187,8 @@ constants.
4) Documentation
Updated the Programmer's Reference for new interfaces, data
-types, and memory allocation model options.
+types,
+and memory allocation model options.
Updated the iASL Compiler User Reference to apply new format and
add information about new features and options.
@@ -1731,17 +2221,21 @@ Fixed a problem where NULL extended fields (X fields) in an ACPI
existing ACPI specification is a bit fuzzy on this topic, the new
behavior is to fall back on a ACPI 1.0 field if the corresponding
ACPI 2.0 X field is zero (even though the table revision
-indicates a full ACPI 2.0 table.) The ACPI specification will be
-updated to clarify this issue.
+indicates
+a full ACPI 2.0 table.) The ACPI specification will be updated
+to
+clarify this issue.
Fixed a problem with the SystemMemory operation region handler
where memory was always accessed byte-wise even if the AML-
specified access width was larger than a byte. This caused
problems on systems with memory-mapped I/O. Memory is now
accessed with the width specified. On systems that do not
-support non-aligned transfers, a check is made to guarantee
-proper address alignment before proceeding in order to avoid an
-AML-caused alignment fault within the kernel.
+support
+non-aligned transfers, a check is made to guarantee proper
+address
+alignment before proceeding in order to avoid an AML-caused
+alignment fault within the kernel.
Fixed a problem with the ExtendedIrq resource where only one byte
@@ -1751,13 +2245,15 @@ Fixed the AcpiExDigitsNeeded() procedure to support _UID. This
function was out of date and required a rewrite.
Code and Data Size: Current core subsystem library sizes are
-shown below. These are the code and data sizes for the
-acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
-these values do not include any ACPI driver or OSPM code. The
-debug version of the code includes the debug output trace
-mechanism and has a larger code and data size. Note that these
-values will vary depending on the efficiency of the compiler and
-the compiler options used during generation.
+shown
+below. These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code. The debug
+version of the code includes the debug output trace mechanism and
+has a larger code and data size. Note that these values will
+vary
+depending on the efficiency of the compiler and the compiler
+options used during generation.
Previous Release
Non-Debug Version: 66.6K Code, 6.5K Data, 73.1K Total
@@ -1791,15 +2287,17 @@ Summary of changes for this release: 03_29_02
Implemented support for late evaluation of TermArg operands to
Buffer and Package objects. This allows complex expressions to
-be used in the declarations of these object types.
+be
+used in the declarations of these object types.
Fixed an ACPI 1.0 compatibility issue when reading Fields. In
-ACPI 1.0, if the field was larger than 32 bits, it was returned
-as a buffer - otherwise it was returned as an integer. In ACPI
-2.0, the field is returned as a buffer only if the field is
-larger than 64 bits. The TableRevision is now considered when
-making this conversion to avoid incompatibility with existing ASL
-code.
+ACPI
+1.0, if the field was larger than 32 bits, it was returned as a
+buffer - otherwise it was returned as an integer. In ACPI 2.0,
+the field is returned as a buffer only if the field is larger
+than
+64 bits. The TableRevision is now considered when making this
+conversion to avoid incompatibility with existing ASL code.
Implemented logical addressing for AcpiOsGetRootPointer. This
allows an RSDP with either a logical or physical address. With
@@ -1810,8 +2308,10 @@ pointers internally. This required a change to the
AcpiOsGetRootPointer interface.
Implemented the use of ACPI 2.0 Generic Address Structures for
-all GPE, Fixed Event, and PM Timer I/O. This allows the use of
-memory mapped I/O for these ACPI features.
+all
+GPE, Fixed Event, and PM Timer I/O. This allows the use of
+memory
+mapped I/O for these ACPI features.
Initialization now ignores not only non-required tables (All
tables other than the FADT, FACS, DSDT, and SSDTs), but also does
@@ -1827,13 +2327,15 @@ critical information is returned when this debug level is
enabled.
Code and Data Size: Current core subsystem library sizes are
-shown below. These are the code and data sizes for the
-acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
-these values do not include any ACPI driver or OSPM code. The
-debug version of the code includes the debug output trace
-mechanism and has a larger code and data size. Note that these
-values will vary depending on the efficiency of the compiler and
-the compiler options used during generation.
+shown
+below. These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code. The debug
+version of the code includes the debug output trace mechanism and
+has a larger code and data size. Note that these values will
+vary
+depending on the efficiency of the compiler and the compiler
+options used during generation.
Previous Release
Non-Debug Version: 65.4K Code, 6.2K Data, 71.6K Total
@@ -1887,10 +2389,12 @@ Fixed a problem where conversion errors for hex/octal/decimal
constants were not reported.
Implemented a fix for the General Register template Address
-field. This field was 8 bits when it should be 64.
+field.
+This field was 8 bits when it should be 64.
Fixed a problem where errors/warnings were no longer being
-emitted within the listing output file.
+emitted
+within the listing output file.
Implemented the ACPI 2.0A restriction on ACPI Table Signatures to
exactly 4 characters, alphanumeric only.
@@ -1906,12 +2410,14 @@ Summary of changes for this release: 03_08_02
Fixed a problem with AML Fields where the use of the "AccessAny"
keyword could cause an interpreter error due to attempting to
-read or write beyond the end of the parent Operation Region.
+read
+or write beyond the end of the parent Operation Region.
Fixed a problem in the SystemMemory Operation Region handler
-where an attempt was made to map memory beyond the end of the
-region. This was the root cause of the "AE_ERROR" and
-"AE_NO_MEMORY" errors on some Linux systems.
+where
+an attempt was made to map memory beyond the end of the region.
+This was the root cause of the "AE_ERROR" and "AE_NO_MEMORY"
+errors on some Linux systems.
Fixed a problem where the interpreter/namespace "search to root"
algorithm was not functioning for some object types. Relaxed the
@@ -1925,8 +2431,9 @@ We now use safe_halt() macro versus individual calls to sti |
hlt.
Writing to the processor limit interface should now work. "echo
-1" will increase the limit, 2 will decrease, and 0 will reset to
-the default.
+1"
+will increase the limit, 2 will decrease, and 0 will reset to the
+default.
3) ASL compiler:
@@ -1944,7 +2451,8 @@ Fixed a problem where the GPE bit masks were not initialized
properly, causing erratic GPE behavior.
Implemented limited support for multiple calling conventions.
-The code can be generated with either the VPL (variable parameter
+The
+code can be generated with either the VPL (variable parameter
list, or "C") convention, or the FPL (fixed parameter list, or
"Pascal") convention. The core subsystem is about 3.4% smaller
when generated with FPL.
@@ -1956,7 +2464,8 @@ Re-add some /proc/acpi/event functionality that was lost during
the rewrite
Resolved issue with /proc events for fixed-feature buttons
-showing up as the system device.
+showing
+up as the system device.
Fixed checks on C2/C3 latencies to be inclusive of maximum
values.
@@ -1982,15 +2491,18 @@ FADT tables.
Suport for the now-obsolete interim 0.71 64-bit ACPI tables has
been removed. All 64-bit platforms should be migrated to the
-ACPI 2.0 tables. The actbl71.h header has been removed from the
-source tree.
+ACPI
+2.0 tables. The actbl71.h header has been removed from the
+source
+tree.
All C macros defined within the subsystem have been prefixed with
"ACPI_" to avoid collision with other system include files.
Removed the return value for the two AcpiOsPrint interfaces,
-since it is never used and causes lint warnings for ignoring the
-return value.
+since
+it is never used and causes lint warnings for ignoring the return
+value.
Added error checking to all internal mutex acquire and release
calls. Although a failure from one of these interfaces is
@@ -1999,25 +2511,30 @@ immediate abort of the currently executing method or interface.
Fixed a problem where the AcpiSetCurrentResources interface could
fault. This was a side effect of the deployment of the new
-memory allocation model.
+memory
+allocation model.
Fixed a couple of problems with the Global Lock support
-introduced in the last major build. The "common" (1.0/2.0)
-internal FACS was being overwritten with the FACS signature and
-clobbering the Global Lock pointer. Also, the actual firmware
-FACS was being unmapped after construction of the "common" FACS,
-preventing access to the actual Global Lock field within it. The
-"common" internal FACS is no longer installed as an actual ACPI
-table; it is used simply as a global.
+introduced
+in the last major build. The "common" (1.0/2.0) internal FACS
+was
+being overwritten with the FACS signature and clobbering the
+Global Lock pointer. Also, the actual firmware FACS was being
+unmapped after construction of the "common" FACS, preventing
+access to the actual Global Lock field within it. The "common"
+internal FACS is no longer installed as an actual ACPI table; it
+is used simply as a global.
Code and Data Size: Current core subsystem library sizes are
-shown below. These are the code and data sizes for the
-acpica.lib produced by the Microsoft Visual C++ 6.0 compiler, and
-these values do not include any ACPI driver or OSPM code. The
-debug version of the code includes the debug output trace
-mechanism and has a larger code and data size. Note that these
-values will vary depending on the efficiency of the compiler and
-the compiler options used during generation.
+shown
+below. These are the code and data sizes for the acpica.lib
+produced by the Microsoft Visual C++ 6.0 compiler, and these
+values do not include any ACPI driver or OSPM code. The debug
+version of the code includes the debug output trace mechanism and
+has a larger code and data size. Note that these values will
+vary
+depending on the efficiency of the compiler and the compiler
+options used during generation.
Previous Release (02_07_01)
Non-Debug Version: 65.2K Code, 6.2K Data, 71.4K Total
@@ -2050,13 +2567,14 @@ Improved thermal zone code.
Implemented the new compiler restriction on ASL String hex/octal
escapes to non-null, ASCII values. An error results if an
-invalid value is used. (This will require an ACPI 2.0
-specification change.)
+invalid
+value is used. (This will require an ACPI 2.0 specification
+change.)
AML object labels that are output to the optional C and ASM
-source are now prefixed with both the ACPI table signature and
-table ID to help guarantee uniqueness within a large BIOS
-project.
+source
+are now prefixed with both the ACPI table signature and table ID
+to help guarantee uniqueness within a large BIOS project.
----------------------------------------
@@ -2068,18 +2586,20 @@ ACPI 2.0 support is complete in the entire Core Subsystem and the
ASL compiler. All new ACPI 2.0 operators are implemented and all
other changes for ACPI 2.0 support are complete. With
simultaneous code and data optimizations throughout the
-subsystem, ACPI 2.0 support has been implemented with almost no
-additional cost in terms of code and data size.
+subsystem,
+ACPI 2.0 support has been implemented with almost no additional
+cost in terms of code and data size.
Implemented a new mechanism for allocation of return buffers. If
the buffer length is set to ACPI_ALLOCATE_BUFFER, the buffer will
be allocated on behalf of the caller. Consolidated all return
buffer validation and allocation to a common procedure. Return
buffers will be allocated via the primary OSL allocation
-interface since it appears that a separate pool is not needed by
-most users. If a separate pool is required for these buffers,
-the caller can still use the original mechanism and pre-allocate
-the buffer(s).
+interface
+since it appears that a separate pool is not needed by most
+users.
+If a separate pool is required for these buffers, the caller can
+still use the original mechanism and pre-allocate the buffer(s).
Implemented support for string operands within the DerefOf
operator.
@@ -2095,7 +2615,8 @@ considerably.
Obsoleted the AcpiOsCallocate OSL interface. This interface was
used only a handful of times and didn't have enough critical mass
for a separate interface. Replaced with a common calloc
-procedure in the core.
+procedure
+in the core.
Fixed a reported problem with the GPE number mapping mechanism
that allows GPE1 numbers to be non-contiguous with GPE0.
@@ -2123,11 +2644,13 @@ debugger.
Removed obsolete and unnecessary GPE save/restore code.
Implemented Field support in the ASL Load operator. This allows
-a table to be loaded from a named field, in addition to loading a
+a
+table to be loaded from a named field, in addition to loading a
table directly from an Operation Region.
Implemented timeout and handle support in the external Global
-Lock interfaces.
+Lock
+interfaces.
Fixed a problem in the AcpiDump utility where pathnames were no
longer being generated correctly during the dump of named
@@ -2136,15 +2659,18 @@ objects.
Modified the AML debugger to give a full display of if/while
predicates instead of just one AML opcode at a time. (The
predicate can have several nested ASL statements.) The old
-method was confusing during single stepping.
+method
+was confusing during single stepping.
Code and Data Size: Current core subsystem library sizes are
-shown below. These are the code and data sizes for the acpica.lib
+shown
+below. These are the code and data sizes for the acpica.lib
produced by the Microsoft Visual C++ 6.0 compiler, and these
values do not include any ACPI driver or OSPM code. The debug
version of the code includes the debug output trace mechanism and
has a larger code and data size. Note that these values will
-vary depending on the efficiency of the compiler and the compiler
+vary
+depending on the efficiency of the compiler and the compiler
options used during generation.
Previous Release (12_18_01)
@@ -2176,11 +2702,14 @@ Menuconfig options redesigned
3) ASL Compiler, version X2037:
Implemented several new output features to simplify integration
-of AML code into firmware: 1) Output the AML in C source code
-with labels for each named ASL object. The original ASL
-source code is interleaved as C comments. 2) Output the AML in
-ASM source code with labels and interleaved ASL source. 3)
-Output the AML in raw hex table form, in either C or ASM.
+of
+AML code into firmware: 1) Output the AML in C source code with
+labels for each named ASL object. The original ASL source
+code
+is interleaved as C comments. 2) Output the AML in ASM source
+code
+with labels and interleaved ASL source. 3) Output the AML in
+raw hex table form, in either C or ASM.
Implemented support for optional string parameters to the
LoadTable operator.
@@ -2218,22 +2747,26 @@ Cleaned up busmgr /proc error handling (Andreas Dilger)
2) ACPI CA Core Subsystem:
Implemented ACPI 2.0 semantics for the "Break" operator (Exit
-from while loop)
+from
+while loop)
Completed implementation of the ACPI 2.0 "Continue",
"ConcatenateResTemplate", "DataTableRegion", and "LoadTable"
operators. All new ACPI 2.0 operators are now implemented in
-both the ASL compiler and the AML interpreter. The only
-remaining ACPI 2.0 task is support for the String data type in
-the DerefOf operator. Fixed a problem with AcquireMutex where
-the status code was lost if the caller had to actually wait for
-the mutex.
+both
+the ASL compiler and the AML interpreter. The only remaining
+ACPI
+2.0 task is support for the String data type in the DerefOf
+operator. Fixed a problem with AcquireMutex where the status
+code
+was lost if the caller had to actually wait for the mutex.
Increased the maximum ASL Field size from 64K bits to 4G bits.
Completed implementation of the external Global Lock interfaces -
-- AcpiAcquireGlobalLock and AcpiReleaseGlobalLock. The Timeout
-and Handler parameters were added.
+-
+AcpiAcquireGlobalLock and AcpiReleaseGlobalLock. The Timeout and
+Handler parameters were added.
Completed another pass at removing warnings and issues when
compiling with 64-bit compilers. The code now compiles cleanly
@@ -2243,13 +2776,15 @@ add and subtract (diff) macros have changed considerably.
Created and deployed a new ACPI_SIZE type that is 64-bits wide on
64-bit platforms, 32-bits on all others. This type is used
wherever memory allocation and/or the C sizeof() operator is
-used, and affects the OSL memory allocation interfaces
-AcpiOsAllocate and AcpiOsCallocate.
+used,
+and affects the OSL memory allocation interfaces AcpiOsAllocate
+and AcpiOsCallocate.
Implemented sticky user breakpoints in the AML debugger.
Code and Data Size: Current core subsystem library sizes are
-shown below. These are the code and data sizes for the acpica.lib
+shown
+below. These are the code and data sizes for the acpica.lib
produced by the Microsoft Visual C++ 6.0 compiler, and these
values do not include any ACPI driver or OSPM code. The debug
version of the code includes the debug output trace mechanism and
@@ -2300,8 +2835,10 @@ object (via the AcpiEvaluateObject interface.)
Fixed a problem with the namespace object deletion mechanism for
objects created by control methods. There were two parts to this
problem: 1) Objects created during the initialization phase
-method parse were not being deleted, and 2) The object owner ID
-mechanism to track objects was broken.
+method
+parse were not being deleted, and 2) The object owner ID
+mechanism
+to track objects was broken.
Fixed a problem where the use of the ASL Scope operator within a
control method would result in an invalid opcode exception.
@@ -2311,12 +2848,14 @@ length required for the _PRT structure was not being returned
correctly.
Code and Data Size: Current core subsystem library sizes are
-shown below. These are the code and data sizes for the acpica.lib
+shown
+below. These are the code and data sizes for the acpica.lib
produced by the Microsoft Visual C++ 6.0 compiler, and these
values do not include any ACPI driver or OSPM code. The debug
version of the code includes the debug output trace mechanism and
has a larger code and data size. Note that these values will
-vary depending on the efficiency of the compiler and the compiler
+vary
+depending on the efficiency of the compiler and the compiler
options used during generation.
Previous Release (11_20_01)
@@ -2343,7 +2882,8 @@ Changed the initialization sequence to start the ACPI interpreter
in init/main.c. This ordering is required to support PRT and
facilitate other (future) enhancement. A side effect is that the
ACPI bus driver and certain device drivers can no longer be
-loaded as modules.
+loaded
+as modules.
Modified the 'make menuconfig' options to allow PCI Interrupt
Routing support to be included without the ACPI Bus and other
@@ -2363,8 +2903,9 @@ Summary of changes for this label: 11_20_01
Updated Index support to match ACPI 2.0 semantics. Storing a
Integer, String, or Buffer to an Index of a Buffer will store
-only the least-significant byte of the source to the Indexed
-buffer byte. Multiple writes are not performed.
+only
+the least-significant byte of the source to the Indexed buffer
+byte. Multiple writes are not performed.
Fixed a problem where the access type used in an AccessAs ASL
operator was not recorded correctly into the field object.
@@ -2376,20 +2917,23 @@ The internal object cache is now purged after table loading and
initialization to reduce the use of dynamic kernel memory -- on
the assumption that object use is greatest during the parse phase
of the entire table (versus the run-time use of individual
-control methods.)
+control
+methods.)
ACPI 2.0 variable-length packages are now fully operational.
Code and Data Size: Code and Data optimizations have permitted
-new feature development with an actual reduction in the library
-size. Current core subsystem library sizes are shown below.
-These are the code and data sizes for the acpica.lib produced by
-the Microsoft Visual C++ 6.0 compiler, and these values do not
-include any ACPI driver or OSPM code. The debug version of the
-code includes the debug output trace mechanism and has a larger
-code and data size. Note that these values will vary depending
-on the efficiency of the compiler and the compiler options used
-during generation.
+new
+feature development with an actual reduction in the library size.
+Current core subsystem library sizes are shown below. These are
+the code and data sizes for the acpica.lib produced by the
+Microsoft Visual C++ 6.0 compiler, and these values do not
+include
+any ACPI driver or OSPM code. The debug version of the code
+includes the debug output trace mechanism and has a larger code
+and data size. Note that these values will vary depending on the
+efficiency of the compiler and the compiler options used during
+generation.
Previous Release (11_09_01):
Non-Debug Version: 63.7K Code, 5.2K Data, 68.9K Total
@@ -2409,15 +2953,16 @@ arch/i386/kernel/acpitables.c, which was introduced in an earlier
2.4.15-preX release. To enable this feature you must add
"acpi_boot=on" to the kernel command line -- see the help entry
for CONFIG_ACPI_BOOT for more information. An IA-64 release is
-in the works...
+in
+the works...
Restructured the configuration options to allow boot-time table
parsing support without inclusion of the ACPI Interpreter (and
other) code.
NOTE: This release does not include fixes for the reported
-events, power-down, and thermal passive cooling issues (coming
-soon).
+events,
+power-down, and thermal passive cooling issues (coming soon).
3) ASL Compiler:
@@ -2439,8 +2984,9 @@ Summary of changes for this label: 11_09_01
Implemented ACPI 2.0-defined support for writes to fields with a
Buffer, String, or Integer source operand that is smaller than
-the target field. In these cases, the source operand is zero-
-extended to fill the target field.
+the
+target field. In these cases, the source operand is zero-extended
+to fill the target field.
Fixed a problem where a Field starting bit offset (within the
parent operation region) was calculated incorrectly if the
@@ -2458,9 +3004,10 @@ Implemented boot-time ACPI table parsing support
facilitates the use of ACPI tables (e.g. MADT, SRAT) rather than
legacy BIOS interfaces (e.g. MPS) for the configuration of system
processors, memory, and interrupts during setup_arch(). Note
-that this patch does not include the required architecture-
-specific changes required to apply this information -- subsequent
-patches will be posted for both IA32 and IA64 to achieve this.
+that
+this patch does not include the required architecture-specific
+changes required to apply this information -- subsequent patches
+will be posted for both IA32 and IA64 to achieve this.
Added low-level sleep support for IA32 platforms, courtesy of Pat
Mochel. This allows IA32 systems to transition to/from various
@@ -2470,7 +3017,8 @@ driver model and power-manageable drivers will prevent its
Revamped the ACPI 'menuconfig' layout: created new "ACPI Support"
submenu, unified IA32 and IA64 options, added new "Boot using
-ACPI tables" option, etc.
+ACPI
+tables" option, etc.
Increased the default timeout for the EC driver from 1ms to 10ms
(1000 cycles of 10us) to try to address AE_TIME errors during EC
@@ -2488,10 +3036,13 @@ implemented.
OSL Interfaces: Several of the OSL (AcpiOs*) interfaces required
changes to support ACPI 2.0 Qword field access. Read/Write
PciConfiguration(), Read/Write Memory(), and Read/Write Port()
-now accept an ACPI_INTEGER (64 bits) as the value parameter.
-Also, the value parameter for the address space handler interface
-is now an ACPI_INTEGER. OSL implementations of these interfaces
-must now handle the case where the Width parameter is 64.
+now
+accept an ACPI_INTEGER (64 bits) as the value parameter. Also,
+the value parameter for the address space handler interface is
+now
+an ACPI_INTEGER. OSL implementations of these interfaces must
+now
+handle the case where the Width parameter is 64.
Index Fields: Fixed a problem where unaligned bit assembly and
disassembly for IndexFields was not supported correctly.
@@ -2517,7 +3068,8 @@ QwordAcc).
Fields: Fixed a problem where forward references to individual
FieldUnits (individual Field names within a Field definition)
-were not resolved during the AML table load.
+were
+not resolved during the AML table load.
Fields: Fixed a problem where forward references from a Field
definition to the parent Operation Region definition were not
@@ -2527,18 +3079,21 @@ Fields: Duplicate FieldUnit names within a scope are now detected
during AML table load.
Acpi Interfaces: Fixed a problem where the AcpiGetName()
-interface returned an incorrect name for the root node.
+interface
+returned an incorrect name for the root node.
Code and Data Size: Code and Data optimizations have permitted
-new feature development with an actual reduction in the library
-size. Current core subsystem library sizes are shown below.
-These are the code and data sizes for the acpica.lib produced by
-the Microsoft Visual C++ 6.0 compiler, and these values do not
-include any ACPI driver or OSPM code. The debug version of the
-code includes the debug output trace mechanism and has a larger
-code and data size. Note that these values will vary depending
-on the efficiency of the compiler and the compiler options used
-during generation.
+new
+feature development with an actual reduction in the library size.
+Current core subsystem library sizes are shown below. These are
+the code and data sizes for the acpica.lib produced by the
+Microsoft Visual C++ 6.0 compiler, and these values do not
+include
+any ACPI driver or OSPM code. The debug version of the code
+includes the debug output trace mechanism and has a larger code
+and data size. Note that these values will vary depending on the
+efficiency of the compiler and the compiler options used during
+generation.
Previous Release (10_18_01):
Non-Debug Version: 63.9K Code, 5.1K Data, 69.0K Total
@@ -2569,17 +3124,20 @@ Summary of changes for this label: 10_18_01
ACPI CA Core Subsystem:
Fixed a problem with the internal object reference count
-mechanism that occasionally caused premature object deletion.
-This resolves all of the outstanding problem reports where an
-object is deleted in the middle of an interpreter evaluation.
-Although this problem only showed up in rather obscure cases, the
-solution to the problem involved an adjustment of all reference
-counts involving objects attached to namespace nodes.
+mechanism
+that occasionally caused premature object deletion. This resolves
+all of the outstanding problem reports where an object is deleted
+in the middle of an interpreter evaluation. Although this
+problem
+only showed up in rather obscure cases, the solution to the
+problem involved an adjustment of all reference counts involving
+objects attached to namespace nodes.
Fixed a problem with Field support in the interpreter where
writing to an aligned field whose length is an exact multiple (2
or greater) of the field access granularity would cause an
-attempt to write beyond the end of the field.
+attempt
+to write beyond the end of the field.
The top level AML opcode execution functions within the
interpreter have been renamed with a more meaningful and
@@ -2607,7 +3165,8 @@ throughout the core subsystem code.
The ASL "Revision" operator now returns the ACPI support level
implemented in the core - the value "2" since the ACPI 2.0
-support is more than 50% implemented.
+support
+is more than 50% implemented.
Enhanced the output of the AML debugger "dump namespace" command
to output in a more human-readable form.
@@ -2615,8 +3174,9 @@ to output in a more human-readable form.
Current core subsystem library code sizes are shown below. These
are the code and data sizes for the acpica.lib produced by the
Microsoft Visual C++ 6.0 compiler, and these values do not
-include any ACPI driver or OSPM code. The debug version of the
-code includes the full debug trace mechanism -- leading to a much
+include
+any ACPI driver or OSPM code. The debug version of the code
+includes the full debug trace mechanism -- leading to a much
larger code and data size. Note that these values will vary
depending on the efficiency of the compiler and the compiler
options used during generation.
@@ -2636,13 +3196,15 @@ Implemented a "Bad BIOS Blacklist" to track machines that have
known ASL/AML problems.
Enhanced the /proc interface for the thermal zone driver and
-added support for _HOT (the critical suspend trip point). The
-'info' file now includes threshold/policy information, and allows
-setting of _SCP (cooling preference) and _TZP (polling frequency)
-values to the 'info' file. Examples: "echo tzp=5 > info" sets the
-polling frequency to 5 seconds, and "echo scp=1 > info" sets the
-cooling preference to the passive/quiet mode (if supported by the
-ASL).
+added
+support for _HOT (the critical suspend trip point). The 'info'
+file now includes threshold/policy information, and allows
+setting
+of _SCP (cooling preference) and _TZP (polling frequency) values
+to the 'info' file. Examples: "echo tzp=5 > info" sets the
+polling
+frequency to 5 seconds, and "echo scp=1 > info" sets the cooling
+preference to the passive/quiet mode (if supported by the ASL).
Implemented a workaround for a gcc bug that resuted in an OOPs
when loading the control method battery driver.
@@ -2675,7 +3237,8 @@ root table pointer was not mapped into a logical address
properly.
Fixed a problem where a NULL pointer was being dereferenced in
-the interpreter code for the ASL Notify operator.
+the
+interpreter code for the ASL Notify operator.
Fixed a problem where the use of the ASL Revision operator
returned an error. This operator now returns the current version
@@ -2699,13 +3262,15 @@ variables. This reduces stack use and code size, and improves
performance.
The module exxface.c was eliminated as it was an unnecessary
-extra layer of code.
+extra
+layer of code.
Current core subsystem library code sizes are shown below. These
are the code and data sizes for the acpica.lib produced by the
Microsoft Visual C++ 6.0 compiler, and these values do not
-include any ACPI driver or OSPM code. The debug version of the
-code includes the full debug trace mechanism -- leading to a much
+include
+any ACPI driver or OSPM code. The debug version of the code
+includes the full debug trace mechanism -- leading to a much
larger code and data size. Note that these values will vary
depending on the efficiency of the compiler and the compiler
options used during generation.
@@ -2739,12 +3304,14 @@ known outstanding issues on various platforms.
The ACPI_DEBUG_PRINT and function trace entry/exit macros have
been further optimized for size. There are 700 invocations of
-the DEBUG_PRINT macro alone, so each optimization reduces the
-size of the debug version of the subsystem significantly.
+the
+DEBUG_PRINT macro alone, so each optimization reduces the size of
+the debug version of the subsystem significantly.
A stack trace mechanism has been implemented. The maximum stack
usage is about 2K on 32-bit platforms. The debugger command
-"stat stack" will display the current maximum stack usage.
+"stat
+stack" will display the current maximum stack usage.
All public symbols and global variables within the subsystem are
now prefixed with the string "Acpi". This keeps all of the
@@ -2760,11 +3327,12 @@ reduce the code size and improve performance.
Current core subsystem library code sizes are shown below. These
are the code and data sizes for the acpica.lib produced by the
Microsoft Visual C++ 6.0 compiler, and these values do not
-include any ACPI driver or OSPM code. The debug version of the
-code includes the full debug trace mechanism which contains over
-700 invocations of the DEBUG_PRINT macro, 500 function entry
-macro invocations, and over 900 function exit macro invocations -
-- leading to a much larger code and data size. Note that these
+include
+any ACPI driver or OSPM code. The debug version of the code
+includes the full debug trace mechanism which contains over 700
+invocations of the DEBUG_PRINT macro, 500 function entry macro
+invocations, and over 900 function exit macro invocations --
+leading to a much larger code and data size. Note that these
values will vary depending on the efficiency of the compiler and
the compiler options used during generation.
@@ -2791,8 +3359,9 @@ ACPI CA Core Subsystem:
The following ACPI 2.0 ASL operators have been implemented in the
AML interpreter (These are already supported by the Intel ASL
compiler): ToDecimalString, ToHexString, ToString, ToInteger,
-and ToBuffer. Support for 64-bit AML constants is implemented in
-the AML parser, debugger, and disassembler.
+and
+ToBuffer. Support for 64-bit AML constants is implemented in the
+AML parser, debugger, and disassembler.
The internal memory tracking mechanism (leak detection code) has
been upgraded to reduce the memory overhead (a separate tracking
@@ -2806,11 +3375,13 @@ implement generic cache management. This has reduced the code
size in both the debug and release versions of the subsystem.
The DEBUG_PRINT macro(s) have been optimized for size and
-replaced by ACPI_DEBUG_PRINT. The syntax for this macro is
-slightly different, because it generates a single call to an
-internal function. This results in a savings of about 90 bytes
-per invocation, resulting in an overall code and data savings of
-about 16% in the debug version of the subsystem.
+replaced
+by ACPI_DEBUG_PRINT. The syntax for this macro is slightly
+different, because it generates a single call to an internal
+function. This results in a savings of about 90 bytes per
+invocation, resulting in an overall code and data savings of
+about
+16% in the debug version of the subsystem.
Linux:
@@ -2840,10 +3411,12 @@ ACPI CA Core Subsystem:
Added a new interface named AcpiGetFirmwareTable to obtain any
ACPI table via the ACPI signature. The interface can be called
-at any time during kernel initialization, even before the kernel
+at
+any time during kernel initialization, even before the kernel
virtual memory manager is initialized and paging is enabled.
-This allows kernel subsystems to obtain ACPI tables very early,
-even before the ACPI CA subsystem is initialized.
+This
+allows kernel subsystems to obtain ACPI tables very early, even
+before the ACPI CA subsystem is initialized.
Fixed a problem where Fields defined with the AnyAcc attribute
could be resolved to the incorrect address under the following
@@ -2861,7 +3434,8 @@ operator is implemented.
Added a new data type to contain full PCI addresses named
ACPI_PCI_ID. This structure contains the PCI Segment, Bus,
-Device, and Function values.
+Device,
+and Function values.
Linux:
@@ -2874,8 +3448,10 @@ aligns the CA code closer to the Linux coding standard.
OSL Interfaces:
The interfaces to the PCI configuration space have been changed
-to add the PCI Segment number and to split the single 32-bit
-combined DeviceFunction field into two 16-bit fields. This was
+to
+add the PCI Segment number and to split the single 32-bit
+combined
+DeviceFunction field into two 16-bit fields. This was
accomplished by moving the four values that define an address in
PCI configuration space (segment, bus, device, and function) to
the new ACPI_PCI_ID structure.
@@ -2885,9 +3461,11 @@ reexamination of the complete set of address space access
interfaces for PCI, I/O, and Memory. The previously existing 18
interfaces have proven difficult to maintain (any small change
must be propagated across at least 6 interfaces) and do not
-easily allow for future expansion to 64 bits if necessary. Also,
-on some systems, it would not be appropriate to demultiplex the
-access width (8, 16, 32,or 64) before calling the OSL if the
+easily
+allow for future expansion to 64 bits if necessary. Also, on
+some
+systems, it would not be appropriate to demultiplex the access
+width (8, 16, 32,or 64) before calling the OSL if the
corresponding native OS interfaces contain a similar access width
parameter. For these reasons, the 18 address space interfaces
have been replaced by these 6 new ones:
@@ -2927,7 +3505,8 @@ buffer.
The ACPI 2.0 Switch/Case/Default operators have been implemented
and are fully functional. They will work with all ACPI 1.0
interpreters, since the operators are simply translated to
-If/Else pairs.
+If/Else
+pairs.
The ACPI 2.0 ElseIf operator is implemented and will also work
with 1.0 interpreters, for the same reason.
@@ -2937,7 +3516,8 @@ packages have a separate opcode, and their size is determined by
the interpreter at run-time.
Documentation The ACPI CA Programmer Reference has been updated
-to reflect the new interfaces and changes to existing interfaces.
+to
+reflect the new interfaces and changes to existing interfaces.
------------------------------------------
Summary of changes for this label: 06_15_01
@@ -2963,8 +3543,9 @@ byte offset to a bit offset if required.
Added some missing named fields from the resource descriptor
support. These are the names that are automatically created by
-the compiler to reference fields within a descriptor. They are
-only valid at compile time and are not passed through to the AML
+the
+compiler to reference fields within a descriptor. They are only
+valid at compile time and are not passed through to the AML
interpreter.
Resource descriptor named fields are now typed as Integers and
@@ -2977,8 +3558,9 @@ Summary of changes for this label: 05_18_01
Fixed a couple of problems in the Field support code where bits
from adjacent fields could be returned along with the proper
-field bits. Restructured the field support code to improve
-performance, readability and maintainability.
+field
+bits. Restructured the field support code to improve performance,
+readability and maintainability.
New DEBUG_PRINTP macro automatically inserts the procedure name
into the output, saving hundreds of copies of procedure name
@@ -3008,7 +3590,8 @@ The temporary .SRC file is deleted unless the "-s" option is
specified
The "-d" debug output option now sends all output to the .DBG
-file instead of the console.
+file
+instead of the console.
"External" second parameter is now optional
@@ -3052,19 +3635,22 @@ Removed /proc/sys/acpi. You can still dump your DSDT from
ACPI CA Core Subsystem:
Fixed a problem introduced in the previous label where some of
-the "small" resource descriptor types were not recognized.
+the
+"small" resource descriptor types were not recognized.
Improved error messages for the case where an ASL Field is
-outside the range of the parent operation region.
+outside
+the range of the parent operation region.
ASL Compiler, version X2018:
Added error detection for ASL Fields that extend beyond the
-length of the parent operation region (only if the length of the
-region is known at compile time.) This includes fields that have
-a minimum access width that is smaller than the parent region,
-and individual field units that are partially or entirely beyond
-the extent of the parent.
+length
+of the parent operation region (only if the length of the region
+is known at compile time.) This includes fields that have a
+minimum access width that is smaller than the parent region, and
+individual field units that are partially or entirely beyond the
+extent of the parent.
@@ -3074,7 +3660,8 @@ Summary of changes for this label: 04_27_01
ACPI CA Core Subsystem:
Fixed a problem where the namespace mutex could be released at
-the wrong time during execution of AcpiRemoveAddressSpaceHandler.
+the
+wrong time during execution of AcpiRemoveAddressSpaceHandler.
Added optional thread ID output for debug traces, to simplify
debugging of multiple threads. Added context switch notification
@@ -3084,7 +3671,8 @@ executing ACPI code.
Some additional external data types have been prefixed with the
string "ACPI_" for consistency. This may effect existing code.
The data types affected are the external callback typedefs -
-e.g., WALK_CALLBACK becomes ACPI_WALK_CALLBACK.
+e.g.,
+WALK_CALLBACK becomes ACPI_WALK_CALLBACK.
Linux:
@@ -3125,8 +3713,9 @@ have been changed to properly handle Source Resource strings.
A ThreadId of -1 is now used to indicate a "mutex not acquired"
condition internally and must never be returned by
-AcpiOsThreadId. This reserved value was changed from 0 since Unix
-systems allow a thread ID of 0.
+AcpiOsThreadId.
+This reserved value was changed from 0 since Unix systems allow a
+thread ID of 0.
Linux:
@@ -3150,8 +3739,9 @@ During ACPI initialization, the _SB_._INI method is now run if
present.
Notify handler fix - notifies are deferred until the parent
-method completes execution. This fixes the "mutex already
-acquired" issue seen occasionally.
+method
+completes execution. This fixes the "mutex already acquired"
+issue seen occasionally.
Part of the "implicit conversion" rules in ACPI 2.0 have been
found to cause compatibility problems with existing ASL/AML. The
@@ -3227,12 +3817,13 @@ message.
Added a new OSL Interface, AcpiOsGetThreadId. This was required
for the deadlock detection code. Defined to return a non-zero,
-32-bit thread ID for the currently executing thread. May be a
-non-zero constant integer on single-thread systems.
+32-
+bit thread ID for the currently executing thread. May be a non-
+zero constant integer on single-thread systems.
Implemented deadlock detection for internal subsystem mutexes.
-We may add conditional compilation for this code (debug only)
-later.
+We
+may add conditional compilation for this code (debug only) later.
ASL/AML Mutex object semantics are now fully supported. This
includes multiple acquires/releases by owner and support for the
@@ -3272,7 +3863,8 @@ from AcpiEvaluateObject.
Added external interfaces (Acpi*) to the ACPI debug memory
manager. This manager keeps a list of all outstanding
allocations, and can therefore detect memory leaks and attempts
-to free memory blocks more than once. Useful for code such as the
+to
+free memory blocks more than once. Useful for code such as the
power manager, etc. May not be appropriate for device drivers.
Performance with the debug code enabled is slow.
@@ -3304,7 +3896,8 @@ Summary of changes for this label: 02_08_01
Core ACPI CA Subsystem: Fixed a problem where an error was
incorrectly returned if the return resource buffer was larger
-than the actual data (in the resource interfaces).
+than
+the actual data (in the resource interfaces).
References to named objects within packages are resolved to the
full pathname string before packages are returned directly (via
@@ -3327,7 +3920,8 @@ exception if they are used without prior assignment (just like
locals).
The -o option now specifies a filename prefix that is used for
-all output files, including the AML output file. Otherwise, the
+all
+output files, including the AML output file. Otherwise, the
default behavior is as follows: 1) the AML goes to the file
specified in the DSDT. 2) all other output files use the input
source filename as the base.
@@ -3390,7 +3984,8 @@ target type before storing) is not yet implemented.
Support for 32-bit and 64-bit BCD integers is implemented.
Problem fixed where a field read on an aligned field could cause
-a read past the end of the field.
+a
+read past the end of the field.
New exception, AE_AML_NO_RETURN_VALUE, is returned when a method
does not return a value, but the caller expects one. (The ASL
@@ -3401,8 +3996,9 @@ ASL Compiler:
Version X2011:
1. Static typechecking of all operands is implemented. This
prevents the use of invalid objects (such as using a Package
-where an Integer is required) at compile time instead of at
-interpreter run-time.
+where
+an Integer is required) at compile time instead of at interpreter
+run-time.
2. The ASL source line is printed with ALL errors and warnings.
3. Bug fix for source EOF without final linefeed.
4. Debug option is split into a parse trace and a namespace
@@ -3450,8 +4046,9 @@ years.
Summary of changes for this label: 12_01_00
Fixed a problem where method invocations within the ASL
-definition of both OperationRegions and CreateXXXFields did not
-work properly. The symptom was an AE_AML_OPERAND_TYPE during
+definition
+of both OperationRegions and CreateXXXFields did not work
+properly. The symptom was an AE_AML_OPERAND_TYPE during
initialization of the region/field:
nsinit-0209: AE_AML_OPERAND_TYPE while getting region arguments
@@ -3481,16 +4078,20 @@ assignment. Subsequent assignments were ignored.
Summary of changes for this label: 11_15_00
ACPI 2.0 table support with backwards support for ACPI 1.0 and
-the 0.71 extensions. Note: although we can read ACPI 2.0 BIOS
-tables, the AML interpreter does NOT have support for the new
-2.0 ASL grammar terms at this time.
+the
+0.71 extensions. Note: although we can read ACPI 2.0 BIOS
+tables,
+the AML interpreter does NOT have support for the new 2.0 ASL
+grammar terms at this time.
All ACPI hardware access is via the GAS structures in the ACPI
-2.0 FADT.
+2.0
+FADT.
All physical memory addresses across all platforms are now 64
-bits wide. Logical address width remains dependent on the
-platform (i.e., "void *").
+bits
+wide. Logical address width remains dependent on the platform
+(i.e., "void *").
AcpiOsMapMemory interface changed to a 64-bit physical address.
@@ -3555,8 +4156,9 @@ AcpiEnableSubsystem Obsolete Interfaces: AcpiLoadNamespace
(Namespace is automatically loaded when a table is loaded)
The ACPI_OPERAND_OBJECT has been optimized to shrink its size
-from 52 bytes to 32 bytes. There is usually one of these for
-every namespace object, so the memory savings is significant.
+from
+52 bytes to 32 bytes. There is usually one of these for every
+namespace object, so the memory savings is significant.
Implemented just-in-time evaluation of the CreateField operators.
@@ -3565,9 +4167,11 @@ Bug fixes for IA-64 support have been integrated.
Additional code review comments have been implemented
The so-called "third pass parse" has been replaced by a final
-walk through the namespace to initialize all operation regions
-(address spaces) and fields that have not yet been initialized
-during the execution of the various _INI and REG methods.
+walk
+through the namespace to initialize all operation regions
+(address
+spaces) and fields that have not yet been initialized during the
+execution of the various _INI and REG methods.
New file - namespace/nsinit.c
@@ -3575,9 +4179,11 @@ New file - namespace/nsinit.c
Summary of changes for this label: 09_01_00
Namespace manager data structures have been reworked to change
-the primary object from a table to a single object. This has
+the
+primary object from a table to a single object. This has
resulted in dynamic memory savings of 3X within the namespace
-and 2X overall in the ACPI CA subsystem.
+and
+2X overall in the ACPI CA subsystem.
Fixed problem where the call to AcpiEvFindPciRootBuses was
inadvertently left commented out.
@@ -3606,7 +4212,8 @@ Fixed problem where TerminateControlMethod was being called
multiple times per method
Fixed debugger problem where single stepping caused a semaphore
-to be oversignalled
+to
+be oversignalled
Improved performance through additional parse object caching -
added ACPI_EXTENDED_OP type
@@ -3618,8 +4225,9 @@ Parser/Interpreter integration: Eliminated the creation of
complete parse trees for ACPI tables and control methods.
Instead, parse subtrees are created and then deleted as soon as
they are processed (Either entered into the namespace or
-executed by the interpreter). This reduces the use of dynamic
-kernel memory significantly. (about 10X)
+executed
+by the interpreter). This reduces the use of dynamic kernel
+memory significantly. (about 10X)
Exception codes broken into classes and renumbered. Be sure to
recompile all code that includes acexcep.h. Hopefully we won't
@@ -3645,7 +4253,8 @@ Fixed a problem with the way addresses were calculated in
AcpiAmlReadFieldData() and AcpiAmlWriteFieldData(). This problem
manifested itself when a Field was created with WordAccess or
DwordAccess, but the field unit defined within the Field was
-less than a Word or Dword.
+less
+than a Word or Dword.
Fixed a problem in AmlDumpOperands() module's loop to pull
operands off of the operand stack to display information. The
@@ -3656,7 +4265,8 @@ Fixed a problem with the PCI configuration space handlers where
context was getting confused between accesses. This required a
change to the generic address space handler and address space
setup definitions. Handlers now get both a global handler
-context (this is the one passed in by the user when executing
+context
+(this is the one passed in by the user when executing
AcpiInstallAddressSpaceHandler() and a specific region context
that is unique to each region (For example, the _ADR, _SEG and
_BBN values associated with a specific region). The generic
@@ -3676,9 +4286,10 @@ Summary of changes for this label: 07_21_00
Major file consolidation and rename. All files within the
interpreter have been renamed as well as most header files.
-This was done to prevent collisions with existing files in the
-host OSs -- filenames such as "config.h" and "global.h" seem to
-be quite common. The VC project files have been updated. All
+This
+was done to prevent collisions with existing files in the host
+OSs -- filenames such as "config.h" and "global.h" seem to be
+quite common. The VC project files have been updated. All
makefiles will require modification.
The parser/interpreter integration continues in Phase 5 with the
@@ -3724,10 +4335,11 @@ pollution/confusion within our target kernels. All OSD
interfaces must be modified to match the new naming convention.
Files merged across the subsystem. A number of the smaller
-source and header files have been merged to reduce the file
-count and increase the density of the existing files. There are
-too many to list here. In general, makefiles that call out
-individual files will require rebuilding.
+source
+and header files have been merged to reduce the file count and
+increase the density of the existing files. There are too many
+to list here. In general, makefiles that call out individual
+files will require rebuilding.
Interpreter files renamed. All interpreter files now have the
prefix am* instead of ie* and is*.
@@ -3740,7 +4352,8 @@ the acronym "API" since it is somewhat windowsy. The new name is
All manifest constants have been forced to upper case (some were
mixed case.) Also, the string "ACPI_" has been prepended to
-many (not all) of the constants, typedefs, and structs.
+many
+(not all) of the constants, typedefs, and structs.
The globals "DebugLevel" and "DebugLayer" have been renamed
"AcpiDbgLevel" and "AcpiDbgLayer" respectively.
@@ -3749,7 +4362,8 @@ All other globals within the subsystem are now prefixed with
"AcpiGbl_" Internal procedures within the subsystem are now
prefixed with "Acpi" (with only a few exceptions). The original
two-letter abbreviation for the subcomponent remains after
-"Acpi" - for example, CmCallocate became AcpiCmCallocate.
+"Acpi"
+- for example, CmCallocate became AcpiCmCallocate.
Added a source code translation/conversion utility. Used to
generate the Linux source code, it can be modified to generate
@@ -3767,8 +4381,9 @@ both types. However, implementers of this call may want to use
different OS primitives depending on the type of semaphore
requested. For example, some operating systems provide separate
"mutex" and "semaphore" interfaces - where the mutex interface
-is much faster because it doesn't have all the overhead of a
-full semaphore implementation.
+is
+much faster because it doesn't have all the overhead of a full
+semaphore implementation.
Fixed a deadlock problem where a method that accesses the PCI
address space can block forever if it is the first access to the
@@ -3780,12 +4395,15 @@ Summary of changes for this label: 06_02_00
Support for environments that cannot handle unaligned data
accesses (e.g. firmware and OS environments devoid of alignment
handler technology namely SAL/EFI and the IA-64 Linux kernel)
-has been added (via configurable macros) in these three areas: -
+has
+been added (via configurable macros) in these three areas: -
Transfer of data from the raw AML byte stream is done via byte
moves instead of word/dword/qword moves. - External objects
-are aligned within the user buffer, including package elements
-(sub-objects). - Conversion of name strings to UINT32 Acpi Names
-is now done byte-wise.
+are
+aligned within the user buffer, including package elements (sub-
+objects). - Conversion of name strings to UINT32 Acpi Names is
+now
+done byte-wise.
The Store operator was modified to mimic Microsoft's
implementation when storing to a Buffer Field.
diff --git a/sys/contrib/dev/acpica/acapps.h b/sys/contrib/dev/acpica/acapps.h
index 154593f8f3db..8e5b85442405 100644
--- a/sys/contrib/dev/acpica/acapps.h
+++ b/sys/contrib/dev/acpica/acapps.h
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/acconfig.h b/sys/contrib/dev/acpica/acconfig.h
index 47ea169288d4..fcbeffd05ef2 100644
--- a/sys/contrib/dev/acpica/acconfig.h
+++ b/sys/contrib/dev/acpica/acconfig.h
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Name: acconfig.h - Global configuration constants
- * $Revision: 145 $
+ * $Revision: 149 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -137,7 +137,7 @@
/* Version string */
-#define ACPI_CA_VERSION 0x20031203
+#define ACPI_CA_VERSION 0x20040220
/* Maximum objects in the various object caches */
diff --git a/sys/contrib/dev/acpica/acdebug.h b/sys/contrib/dev/acpica/acdebug.h
index ac4bd5f51293..45e3defc6d40 100644
--- a/sys/contrib/dev/acpica/acdebug.h
+++ b/sys/contrib/dev/acpica/acdebug.h
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Name: acdebug.h - ACPI/AML debugger
- * $Revision: 72 $
+ * $Revision: 73 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/acdisasm.h b/sys/contrib/dev/acpica/acdisasm.h
index c7aee64f268e..488f48b8d2d6 100644
--- a/sys/contrib/dev/acpica/acdisasm.h
+++ b/sys/contrib/dev/acpica/acdisasm.h
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Name: acdisasm.h - AML disassembler
- * $Revision: 10 $
+ * $Revision: 11 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/acdispat.h b/sys/contrib/dev/acpica/acdispat.h
index bd14a6a4b413..63593540d1da 100644
--- a/sys/contrib/dev/acpica/acdispat.h
+++ b/sys/contrib/dev/acpica/acdispat.h
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Name: acdispat.h - dispatcher (parser to interpreter interface)
- * $Revision: 56 $
+ * $Revision: 57 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/acefi.h b/sys/contrib/dev/acpica/acefi.h
index a7d7bb0fbc4d..55ef0c3feca2 100644
--- a/sys/contrib/dev/acpica/acefi.h
+++ b/sys/contrib/dev/acpica/acefi.h
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Name: acefi.h - OS specific defines, etc.
- * $Revision: 13 $
+ * $Revision: 14 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/acenv.h b/sys/contrib/dev/acpica/acenv.h
index 6352e3a67956..373d7ac133bf 100644
--- a/sys/contrib/dev/acpica/acenv.h
+++ b/sys/contrib/dev/acpica/acenv.h
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Name: acenv.h - Generation environment specific items
- * $Revision: 105 $
+ * $Revision: 106 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/acevents.h b/sys/contrib/dev/acpica/acevents.h
index 70202811fe43..f8bb079ba290 100644
--- a/sys/contrib/dev/acpica/acevents.h
+++ b/sys/contrib/dev/acpica/acevents.h
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Name: acevents.h - Event subcomponent prototypes and defines
- * $Revision: 92 $
+ * $Revision: 93 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/acexcep.h b/sys/contrib/dev/acpica/acexcep.h
index dc5f6e07ef3f..3546bf3c1e98 100644
--- a/sys/contrib/dev/acpica/acexcep.h
+++ b/sys/contrib/dev/acpica/acexcep.h
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Name: acexcep.h - Exception codes returned by the ACPI subsystem
- * $Revision: 69 $
+ * $Revision: 70 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/acfreebsd.h b/sys/contrib/dev/acpica/acfreebsd.h
index e1589820b033..9edbe390dbd1 100644
--- a/sys/contrib/dev/acpica/acfreebsd.h
+++ b/sys/contrib/dev/acpica/acfreebsd.h
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Name: acfreebsd.h - OS specific defines, etc.
- * $Revision: 11 $
+ * $Revision: 13 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -118,8 +118,9 @@
#define __ACFREEBSD_H__
/*
- * XXX this is technically correct, but will cause problems with some ASL
- * which only works if the string names a Microsoft operating system.
+ * Some systems' ASL may have problems because they look for names
+ * of Microsoft operating systems. To override this, set hw.acpi.os_name
+ * to the appropriate string.
*/
#define ACPI_OS_NAME "FreeBSD"
@@ -129,21 +130,26 @@
#include <machine/acpica_machdep.h>
#ifdef _KERNEL
+#include "opt_acpi.h"
+#endif
+
+#ifdef ACPI_DEBUG
+#define ACPI_DEBUG_OUTPUT /* for backward compatibility */
+#define ACPI_DISASSEMBLER
+#endif
+
+#ifdef _KERNEL
#include <sys/ctype.h>
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/libkern.h>
#include <machine/stdarg.h>
-#define asm __asm
-#define __cli() disable_intr()
-#define __sti() enable_intr()
-
-#ifdef ACPI_DEBUG_OUTPUT
#ifdef DEBUGGER_THREADING
#undef DEBUGGER_THREADING
#endif /* DEBUGGER_THREADING */
#define DEBUGGER_THREADING 0 /* integrated with DDB */
+#ifdef ACPI_DEBUG_OUTPUT
#include "opt_ddb.h"
#ifdef DDB
#define ACPI_DEBUGGER
@@ -154,6 +160,8 @@
/* Not building kernel code, so use libc */
#define ACPI_USE_STANDARD_HEADERS
+#define ACPI_FLUSH_CPU_CACHE()
+#include <sys/types.h>
#define __cli()
#define __sti()
diff --git a/sys/contrib/dev/acpica/acgcc.h b/sys/contrib/dev/acpica/acgcc.h
index af60e3aa7e67..35bb95148140 100644
--- a/sys/contrib/dev/acpica/acgcc.h
+++ b/sys/contrib/dev/acpica/acgcc.h
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Name: acgcc.h - GCC specific defines, etc.
- * $Revision: 25 $
+ * $Revision: 26 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/acglobal.h b/sys/contrib/dev/acpica/acglobal.h
index 287906b4ba9a..d80bf7d05612 100644
--- a/sys/contrib/dev/acpica/acglobal.h
+++ b/sys/contrib/dev/acpica/acglobal.h
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Name: acglobal.h - Declarations for global variables
- * $Revision: 144 $
+ * $Revision: 147 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -130,6 +130,12 @@
#define ACPI_EXTERN extern
#endif
+/*
+ * Keep local copies of these FADT-based registers. NOTE: These globals
+ * are first in this file for alignment reasons on 64-bit systems.
+ */
+ACPI_EXTERN ACPI_GENERIC_ADDRESS AcpiGbl_XPm1aEnable;
+ACPI_EXTERN ACPI_GENERIC_ADDRESS AcpiGbl_XPm1bEnable;
/*****************************************************************************
*
@@ -170,6 +176,11 @@ ACPI_EXTERN FADT_DESCRIPTOR *AcpiGbl_FADT;
ACPI_EXTERN ACPI_TABLE_HEADER *AcpiGbl_DSDT;
ACPI_EXTERN FACS_DESCRIPTOR *AcpiGbl_FACS;
ACPI_EXTERN ACPI_COMMON_FACS AcpiGbl_CommonFACS;
+/*
+ * Since there may be multiple SSDTs and PSDTS, a single pointer is not
+ * sufficient; Therefore, there isn't one!
+ */
+
/*
* Handle both ACPI 1.0 and ACPI 2.0 Integer widths
@@ -180,17 +191,6 @@ ACPI_EXTERN UINT8 AcpiGbl_IntegerBitWidth;
ACPI_EXTERN UINT8 AcpiGbl_IntegerByteWidth;
ACPI_EXTERN UINT8 AcpiGbl_IntegerNybbleWidth;
-/* Keep local copies of these FADT-based registers */
-
-ACPI_EXTERN ACPI_GENERIC_ADDRESS AcpiGbl_XPm1aEnable;
-ACPI_EXTERN ACPI_GENERIC_ADDRESS AcpiGbl_XPm1bEnable;
-
-/*
- * Since there may be multiple SSDTs and PSDTS, a single pointer is not
- * sufficient; Therefore, there isn't one!
- */
-
-
/*
* ACPI Table info arrays
*/
@@ -238,7 +238,8 @@ ACPI_EXTERN BOOLEAN AcpiGbl_EventsInitialized;
extern BOOLEAN AcpiGbl_Shutdown;
extern UINT32 AcpiGbl_StartupFlags;
extern const UINT8 AcpiGbl_DecodeTo8bit[8];
-extern const char *AcpiGbl_DbSleepStates[ACPI_S_STATE_COUNT];
+extern const char *AcpiGbl_SleepStateNames[ACPI_S_STATE_COUNT];
+extern const char *AcpiGbl_HighestDstateNames[4];
extern const ACPI_OPCODE_INFO AcpiGbl_AmlOpInfo[AML_NUM_OPCODES];
extern const char *AcpiGbl_RegionTypes[ACPI_NUM_PREDEFINED_REGIONS];
diff --git a/sys/contrib/dev/acpica/achware.h b/sys/contrib/dev/acpica/achware.h
index 459848eb6b55..96ceb8e5c04c 100644
--- a/sys/contrib/dev/acpica/achware.h
+++ b/sys/contrib/dev/acpica/achware.h
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Name: achware.h -- hardware specific interfaces
- * $Revision: 67 $
+ * $Revision: 68 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/acinterp.h b/sys/contrib/dev/acpica/acinterp.h
index 1756b8dd9b21..d4b7a7172366 100644
--- a/sys/contrib/dev/acpica/acinterp.h
+++ b/sys/contrib/dev/acpica/acinterp.h
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Name: acinterp.h - Interpreter subcomponent prototypes and defines
- * $Revision: 146 $
+ * $Revision: 147 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/aclocal.h b/sys/contrib/dev/acpica/aclocal.h
index e867e09fac83..5d3425332f2b 100644
--- a/sys/contrib/dev/acpica/aclocal.h
+++ b/sys/contrib/dev/acpica/aclocal.h
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Name: aclocal.h - Internal data types used across the ACPI subsystem
- * $Revision: 197 $
+ * $Revision: 198 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/acmacros.h b/sys/contrib/dev/acpica/acmacros.h
index 5cc8d18cda95..670fe7434e19 100644
--- a/sys/contrib/dev/acpica/acmacros.h
+++ b/sys/contrib/dev/acpica/acmacros.h
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Name: acmacros.h - C macros for the entire subsystem.
- * $Revision: 147 $
+ * $Revision: 148 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/acnamesp.h b/sys/contrib/dev/acpica/acnamesp.h
index ed1ec33b246e..1437aa334d13 100644
--- a/sys/contrib/dev/acpica/acnamesp.h
+++ b/sys/contrib/dev/acpica/acnamesp.h
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Name: acnamesp.h - Namespace subcomponent prototypes and defines
- * $Revision: 134 $
+ * $Revision: 135 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/acobject.h b/sys/contrib/dev/acpica/acobject.h
index 4955b06dac34..b31eed87f747 100644
--- a/sys/contrib/dev/acpica/acobject.h
+++ b/sys/contrib/dev/acpica/acobject.h
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Name: acobject.h - Definition of ACPI_OPERAND_OBJECT (Internal object only)
- * $Revision: 122 $
+ * $Revision: 123 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/acoutput.h b/sys/contrib/dev/acpica/acoutput.h
index 74f7aeb13ba2..2ca34be5b625 100644
--- a/sys/contrib/dev/acpica/acoutput.h
+++ b/sys/contrib/dev/acpica/acoutput.h
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Name: acoutput.h -- debug output
- * $Revision: 93 $
+ * $Revision: 94 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/acparser.h b/sys/contrib/dev/acpica/acparser.h
index d3f6727d53c9..96c23342008c 100644
--- a/sys/contrib/dev/acpica/acparser.h
+++ b/sys/contrib/dev/acpica/acparser.h
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: acparser.h - AML Parser subcomponent prototypes and defines
- * $Revision: 65 $
+ * $Revision: 66 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/acpi.h b/sys/contrib/dev/acpica/acpi.h
index 11fdb6930f23..2b6f2fb3dade 100644
--- a/sys/contrib/dev/acpica/acpi.h
+++ b/sys/contrib/dev/acpica/acpi.h
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Name: acpi.h - Master include file, Publics and external data.
- * $Revision: 56 $
+ * $Revision: 57 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/acpiosxf.h b/sys/contrib/dev/acpica/acpiosxf.h
index d0e82b26871d..eeedeaedd9f6 100644
--- a/sys/contrib/dev/acpica/acpiosxf.h
+++ b/sys/contrib/dev/acpica/acpiosxf.h
@@ -12,7 +12,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/acpixf.h b/sys/contrib/dev/acpica/acpixf.h
index c30c94e0eb5f..d836f58b9e50 100644
--- a/sys/contrib/dev/acpica/acpixf.h
+++ b/sys/contrib/dev/acpica/acpixf.h
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/acresrc.h b/sys/contrib/dev/acpica/acresrc.h
index f1b1729558ef..369452be9247 100644
--- a/sys/contrib/dev/acpica/acresrc.h
+++ b/sys/contrib/dev/acpica/acresrc.h
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Name: acresrc.h - Resource Manager function prototypes
- * $Revision: 37 $
+ * $Revision: 38 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/acstruct.h b/sys/contrib/dev/acpica/acstruct.h
index 0e8c5fdbd341..2b9e6c08847b 100644
--- a/sys/contrib/dev/acpica/acstruct.h
+++ b/sys/contrib/dev/acpica/acstruct.h
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Name: acstruct.h - Internal structs
- * $Revision: 26 $
+ * $Revision: 27 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/actables.h b/sys/contrib/dev/acpica/actables.h
index b40588adeabc..c7acca0aa8eb 100644
--- a/sys/contrib/dev/acpica/actables.h
+++ b/sys/contrib/dev/acpica/actables.h
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Name: actables.h - ACPI table management
- * $Revision: 45 $
+ * $Revision: 46 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/actbl.h b/sys/contrib/dev/acpica/actbl.h
index 87609d3671f5..b16e2f7719ab 100644
--- a/sys/contrib/dev/acpica/actbl.h
+++ b/sys/contrib/dev/acpica/actbl.h
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Name: actbl.h - Table data structures defined in ACPI specification
- * $Revision: 60 $
+ * $Revision: 64 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -235,21 +235,19 @@ typedef struct multiple_apic_table
#define APIC_XRUPT_SOURCE 8
#define APIC_RESERVED 9 /* 9 and greater are reserved */
-/*
+/*
* MADT sub-structures (Follow MULTIPLE_APIC_DESCRIPTION_TABLE)
*/
#define APIC_HEADER_DEF /* Common APIC sub-structure header */\
UINT8 Type; \
UINT8 Length;
-
-typedef struct apic_header /* APIC common table header */
+typedef struct apic_header
{
APIC_HEADER_DEF
} APIC_HEADER;
-
/* Values for MPS INTI flags */
#define POLARITY_CONFORMS 0
@@ -364,8 +362,8 @@ typedef struct madt_interrupt_source
} MADT_INTERRUPT_SOURCE;
-/*
- * Smart Battery
+/*
+ * Smart Battery
*/
typedef struct smart_battery_table
{
@@ -377,7 +375,7 @@ typedef struct smart_battery_table
} SMART_BATTERY_TABLE;
-/*
+/*
* High performance timer
*/
typedef struct hpet_table
diff --git a/sys/contrib/dev/acpica/actbl1.h b/sys/contrib/dev/acpica/actbl1.h
index 7bdd38c23c77..bbb317038cc5 100644
--- a/sys/contrib/dev/acpica/actbl1.h
+++ b/sys/contrib/dev/acpica/actbl1.h
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Name: actbl1.h - ACPI 1.0 tables
- * $Revision: 27 $
+ * $Revision: 28 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/actbl2.h b/sys/contrib/dev/acpica/actbl2.h
index f60c99e49e57..6aa1d93ccfcf 100644
--- a/sys/contrib/dev/acpica/actbl2.h
+++ b/sys/contrib/dev/acpica/actbl2.h
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Name: actbl2.h - ACPI Specification Revision 2.0 Tables
- * $Revision: 33 $
+ * $Revision: 35 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -285,7 +285,6 @@ typedef struct ec_boot_resources
} EC_BOOT_RESOURCES;
-
#pragma pack()
#endif /* __ACTBL2_H__ */
diff --git a/sys/contrib/dev/acpica/actypes.h b/sys/contrib/dev/acpica/actypes.h
index 730a2b52057a..bffcf6bf2994 100644
--- a/sys/contrib/dev/acpica/actypes.h
+++ b/sys/contrib/dev/acpica/actypes.h
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Name: actypes.h - Common data types for the entire ACPI subsystem
- * $Revision: 262 $
+ * $Revision: 264 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -968,7 +968,8 @@ typedef struct acpi_device_info
{
ACPI_COMMON_OBJ_INFO;
- UINT32 Valid; /* Indicates which fields are valid */
+ UINT8 HighestDstates[4]; /* _SxD values 0xFF indicates not valid */
+ UINT32 Valid; /* Indicates which fields below are valid */
UINT32 CurrentStatus; /* _STA value */
ACPI_INTEGER Address; /* _ADR value if any */
ACPI_DEVICE_ID HardwareId; /* _HID value if any */
diff --git a/sys/contrib/dev/acpica/acutils.h b/sys/contrib/dev/acpica/acutils.h
index db94284534f8..9f9b6d11cfa7 100644
--- a/sys/contrib/dev/acpica/acutils.h
+++ b/sys/contrib/dev/acpica/acutils.h
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Name: acutils.h -- prototypes for the common (subsystem-wide) procedures
- * $Revision: 157 $
+ * $Revision: 159 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -582,6 +582,10 @@ AcpiUtExecute_UID (
ACPI_NAMESPACE_NODE *DeviceNode,
ACPI_DEVICE_ID *Uid);
+ACPI_STATUS
+AcpiUtExecute_Sxds (
+ ACPI_NAMESPACE_NODE *DeviceNode,
+ UINT8 *Highest);
/*
* UtMutex - mutual exclusion interfaces
diff --git a/sys/contrib/dev/acpica/amlcode.h b/sys/contrib/dev/acpica/amlcode.h
index fba83b2e4a5a..bb1b6e03a202 100644
--- a/sys/contrib/dev/acpica/amlcode.h
+++ b/sys/contrib/dev/acpica/amlcode.h
@@ -3,7 +3,7 @@
* Name: amlcode.h - Definitions for AML, as included in "definition blocks"
* Declarations and definitions contained herein are derived
* directly from the ACPI specification.
- * $Revision: 73 $
+ * $Revision: 74 $
*
*****************************************************************************/
@@ -11,7 +11,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/amlresrc.h b/sys/contrib/dev/acpica/amlresrc.h
index 6ca797853493..d56efcc34937 100644
--- a/sys/contrib/dev/acpica/amlresrc.h
+++ b/sys/contrib/dev/acpica/amlresrc.h
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: amlresrc.h - AML resource descriptors
- * $Revision: 23 $
+ * $Revision: 24 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/common/adisasm.c b/sys/contrib/dev/acpica/common/adisasm.c
index e54480ed34bc..e2c6f1b70fe2 100644
--- a/sys/contrib/dev/acpica/common/adisasm.c
+++ b/sys/contrib/dev/acpica/common/adisasm.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: adisasm - Application-level disassembler routines
- * $Revision: 63 $
+ * $Revision: 64 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/common/getopt.c b/sys/contrib/dev/acpica/common/getopt.c
index 05d22b322299..36ab4cdb210b 100644
--- a/sys/contrib/dev/acpica/common/getopt.c
+++ b/sys/contrib/dev/acpica/common/getopt.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: getopt
- * $Revision: 6 $
+ * $Revision: 7 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/compiler/aslanalyze.c b/sys/contrib/dev/acpica/compiler/aslanalyze.c
index ee3563fb5723..9f5dd555e041 100644
--- a/sys/contrib/dev/acpica/compiler/aslanalyze.c
+++ b/sys/contrib/dev/acpica/compiler/aslanalyze.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: aslanalyze.c - check for semantic errors
- * $Revision: 79 $
+ * $Revision: 80 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/compiler/aslcodegen.c b/sys/contrib/dev/acpica/compiler/aslcodegen.c
index 2b3c57095057..fc5ddbd563de 100644
--- a/sys/contrib/dev/acpica/compiler/aslcodegen.c
+++ b/sys/contrib/dev/acpica/compiler/aslcodegen.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: aslcodegen - AML code generation
- * $Revision: 49 $
+ * $Revision: 50 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/compiler/aslcompile.c b/sys/contrib/dev/acpica/compiler/aslcompile.c
index dbcd94acd4f3..73bcfcb12b63 100644
--- a/sys/contrib/dev/acpica/compiler/aslcompile.c
+++ b/sys/contrib/dev/acpica/compiler/aslcompile.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: aslcompile - top level compile module
- * $Revision: 72 $
+ * $Revision: 73 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/compiler/aslcompiler.h b/sys/contrib/dev/acpica/compiler/aslcompiler.h
index 5e6724b12ce7..0172e4717580 100644
--- a/sys/contrib/dev/acpica/compiler/aslcompiler.h
+++ b/sys/contrib/dev/acpica/compiler/aslcompiler.h
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: aslcompiler.h - common include file
- * $Revision: 127 $
+ * $Revision: 129 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -154,8 +154,8 @@
#define IntelAcpiCA "Intel ACPI Component Architecture"
#define CompilerId "ASL Optimizing Compiler / AML Disassembler"
-#define CompilerCopyright "Copyright (C) 2000 - 2003 Intel Corporation"
-#define CompilerCompliance "ACPI 2.0b"
+#define CompilerCopyright "Copyright (C) 2000 - 2004 Intel Corporation"
+#define CompilerCompliance "ACPI 2.0c"
#define CompilerName "iasl"
#define CompilerCreatorId "INTL"
diff --git a/sys/contrib/dev/acpica/compiler/aslcompiler.l b/sys/contrib/dev/acpica/compiler/aslcompiler.l
index a7598e606645..c2b25819ed3a 100644
--- a/sys/contrib/dev/acpica/compiler/aslcompiler.l
+++ b/sys/contrib/dev/acpica/compiler/aslcompiler.l
@@ -11,7 +11,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/compiler/aslcompiler.y b/sys/contrib/dev/acpica/compiler/aslcompiler.y
index 49f17b60fa4f..99b89ed5e991 100644
--- a/sys/contrib/dev/acpica/compiler/aslcompiler.y
+++ b/sys/contrib/dev/acpica/compiler/aslcompiler.y
@@ -11,7 +11,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/compiler/aslerror.c b/sys/contrib/dev/acpica/compiler/aslerror.c
index 6ab54ffa0b73..ebc622f0adc0 100644
--- a/sys/contrib/dev/acpica/compiler/aslerror.c
+++ b/sys/contrib/dev/acpica/compiler/aslerror.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: aslerror - Error handling and statistics
- * $Revision: 82 $
+ * $Revision: 83 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/compiler/aslfiles.c b/sys/contrib/dev/acpica/compiler/aslfiles.c
index 35c3122d65ed..a8a7f05b1edb 100644
--- a/sys/contrib/dev/acpica/compiler/aslfiles.c
+++ b/sys/contrib/dev/acpica/compiler/aslfiles.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: aslfiles - file I/O suppoert
- * $Revision: 46 $
+ * $Revision: 47 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/compiler/aslfold.c b/sys/contrib/dev/acpica/compiler/aslfold.c
index 17636fd5fd59..73d100e5b5c2 100644
--- a/sys/contrib/dev/acpica/compiler/aslfold.c
+++ b/sys/contrib/dev/acpica/compiler/aslfold.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: aslfold - Constant folding
- * $Revision: 8 $
+ * $Revision: 9 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/compiler/aslglobal.h b/sys/contrib/dev/acpica/compiler/aslglobal.h
index 4ffd5c54c668..199178fc9eb5 100644
--- a/sys/contrib/dev/acpica/compiler/aslglobal.h
+++ b/sys/contrib/dev/acpica/compiler/aslglobal.h
@@ -3,7 +3,7 @@
/******************************************************************************
*
* Module Name: aslglobal.h - Global variable definitions
- * $Revision: 42 $
+ * $Revision: 43 $
*
*****************************************************************************/
@@ -11,7 +11,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/compiler/asllength.c b/sys/contrib/dev/acpica/compiler/asllength.c
index 5bf81ef6cec2..d624b88e963d 100644
--- a/sys/contrib/dev/acpica/compiler/asllength.c
+++ b/sys/contrib/dev/acpica/compiler/asllength.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: asllength - Tree walk to determine package and opcode lengths
- * $Revision: 30 $
+ * $Revision: 31 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/compiler/asllisting.c b/sys/contrib/dev/acpica/compiler/asllisting.c
index 8d3d09cf88bb..3410d8d6be0d 100644
--- a/sys/contrib/dev/acpica/compiler/asllisting.c
+++ b/sys/contrib/dev/acpica/compiler/asllisting.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: asllisting - Listing file generation
- * $Revision: 50 $
+ * $Revision: 51 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/compiler/aslload.c b/sys/contrib/dev/acpica/compiler/aslload.c
index cafbbfb320bb..79e79bf0b031 100644
--- a/sys/contrib/dev/acpica/compiler/aslload.c
+++ b/sys/contrib/dev/acpica/compiler/aslload.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: dswload - Dispatcher namespace load callbacks
- * $Revision: 59 $
+ * $Revision: 60 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/compiler/asllookup.c b/sys/contrib/dev/acpica/compiler/asllookup.c
index 1981012eb00d..b9a0cfe370a9 100644
--- a/sys/contrib/dev/acpica/compiler/asllookup.c
+++ b/sys/contrib/dev/acpica/compiler/asllookup.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: asllookup- Namespace lookup
- * $Revision: 82 $
+ * $Revision: 83 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/compiler/aslmain.c b/sys/contrib/dev/acpica/compiler/aslmain.c
index 37fb5a0fa656..203a6e76e728 100644
--- a/sys/contrib/dev/acpica/compiler/aslmain.c
+++ b/sys/contrib/dev/acpica/compiler/aslmain.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: aslmain - compiler main and utilities
- * $Revision: 75 $
+ * $Revision: 76 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/compiler/aslmap.c b/sys/contrib/dev/acpica/compiler/aslmap.c
index a770c39cb0fc..d631dd43419a 100644
--- a/sys/contrib/dev/acpica/compiler/aslmap.c
+++ b/sys/contrib/dev/acpica/compiler/aslmap.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: aslmap - parser to AML opcode mapping table
- * $Revision: 70 $
+ * $Revision: 71 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/compiler/aslopcodes.c b/sys/contrib/dev/acpica/compiler/aslopcodes.c
index c9581e62d2f3..e838d7bfb3f2 100644
--- a/sys/contrib/dev/acpica/compiler/aslopcodes.c
+++ b/sys/contrib/dev/acpica/compiler/aslopcodes.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: aslopcode - AML opcode generation
- * $Revision: 54 $
+ * $Revision: 55 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/compiler/asloperands.c b/sys/contrib/dev/acpica/compiler/asloperands.c
index a92d0cc14d25..71b879c2d243 100644
--- a/sys/contrib/dev/acpica/compiler/asloperands.c
+++ b/sys/contrib/dev/acpica/compiler/asloperands.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: asloperands - AML operand processing
- * $Revision: 45 $
+ * $Revision: 46 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/compiler/aslopt.c b/sys/contrib/dev/acpica/compiler/aslopt.c
index 73435c5f6978..5aeea27fdfff 100644
--- a/sys/contrib/dev/acpica/compiler/aslopt.c
+++ b/sys/contrib/dev/acpica/compiler/aslopt.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: aslopt- Compiler optimizations
- * $Revision: 12 $
+ * $Revision: 13 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/compiler/aslresource.c b/sys/contrib/dev/acpica/compiler/aslresource.c
index 36d8070957da..304d798657bb 100644
--- a/sys/contrib/dev/acpica/compiler/aslresource.c
+++ b/sys/contrib/dev/acpica/compiler/aslresource.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: aslresource - Resource templates and descriptors
- * $Revision: 31 $
+ * $Revision: 32 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/compiler/aslrestype1.c b/sys/contrib/dev/acpica/compiler/aslrestype1.c
index 33193f63ef3e..975a8e58ea22 100644
--- a/sys/contrib/dev/acpica/compiler/aslrestype1.c
+++ b/sys/contrib/dev/acpica/compiler/aslrestype1.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: aslrestype1 - Short (type1) resource templates and descriptors
- * $Revision: 25 $
+ * $Revision: 26 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/compiler/aslrestype2.c b/sys/contrib/dev/acpica/compiler/aslrestype2.c
index a8818a7a3393..ef1615070d2c 100644
--- a/sys/contrib/dev/acpica/compiler/aslrestype2.c
+++ b/sys/contrib/dev/acpica/compiler/aslrestype2.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: aslrestype2 - Long (type2) resource templates and descriptors
- * $Revision: 25 $
+ * $Revision: 26 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/compiler/aslstubs.c b/sys/contrib/dev/acpica/compiler/aslstubs.c
index 1224c196d59f..cb1838560b64 100644
--- a/sys/contrib/dev/acpica/compiler/aslstubs.c
+++ b/sys/contrib/dev/acpica/compiler/aslstubs.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: aslstubs - Stubs used to link to Aml interpreter
- * $Revision: 11 $
+ * $Revision: 12 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/compiler/asltransform.c b/sys/contrib/dev/acpica/compiler/asltransform.c
index ca5225d7d077..fc771d5c4c6c 100644
--- a/sys/contrib/dev/acpica/compiler/asltransform.c
+++ b/sys/contrib/dev/acpica/compiler/asltransform.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: asltransform - Parse tree transforms
- * $Revision: 19 $
+ * $Revision: 20 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/compiler/asltree.c b/sys/contrib/dev/acpica/compiler/asltree.c
index b2ac72b7fc65..5ae70836d382 100644
--- a/sys/contrib/dev/acpica/compiler/asltree.c
+++ b/sys/contrib/dev/acpica/compiler/asltree.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: asltree - parse tree management
- * $Revision: 54 $
+ * $Revision: 55 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/compiler/asltypes.h b/sys/contrib/dev/acpica/compiler/asltypes.h
index cc8da389318f..5f1bcb34499f 100644
--- a/sys/contrib/dev/acpica/compiler/asltypes.h
+++ b/sys/contrib/dev/acpica/compiler/asltypes.h
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: asltypes.h - compiler data types and struct definitions
- * $Revision: 61 $
+ * $Revision: 62 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/compiler/aslutils.c b/sys/contrib/dev/acpica/compiler/aslutils.c
index 18d0ec8c34d0..2bbc2705817b 100644
--- a/sys/contrib/dev/acpica/compiler/aslutils.c
+++ b/sys/contrib/dev/acpica/compiler/aslutils.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: aslutils -- compiler utilities
- * $Revision: 56 $
+ * $Revision: 57 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -126,7 +126,7 @@
#ifdef _USE_BERKELEY_YACC
extern const char * const AslCompilername[];
-static const char * const *yytname = &AslCompilername[254];
+static const char * const *yytname = &AslCompilername[255];
#else
extern const char * const yytname[];
#endif
diff --git a/sys/contrib/dev/acpica/dbcmds.c b/sys/contrib/dev/acpica/dbcmds.c
index 3e72daf3e730..75bb091b2686 100644
--- a/sys/contrib/dev/acpica/dbcmds.c
+++ b/sys/contrib/dev/acpica/dbcmds.c
@@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: dbcmds - debug commands and output routines
- * $Revision: 109 $
+ * $Revision: 110 $
*
******************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/dbdisply.c b/sys/contrib/dev/acpica/dbdisply.c
index faaff168eb69..363bcfe81fa4 100644
--- a/sys/contrib/dev/acpica/dbdisply.c
+++ b/sys/contrib/dev/acpica/dbdisply.c
@@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: dbdisply - debug display commands
- * $Revision: 98 $
+ * $Revision: 101 $
*
******************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -677,8 +677,10 @@ AcpiDbDisplayObjectType (
if (ACPI_SUCCESS (Status))
{
Info = Buffer.Pointer;
- AcpiOsPrintf ("HID: %s, ADR: %8.8X%8.8X, Status %8.8X\n",
- &Info->HardwareId,
+ AcpiOsPrintf ("S1D-%2.2X S2D-%2.2X S3D-%2.2X S4D-%2.2X HID: %s, ADR: %8.8X%8.8X, Status %8.8X\n",
+ Info->HighestDstates[0], Info->HighestDstates[1],
+ Info->HighestDstates[2], Info->HighestDstates[3],
+ Info->HardwareId.Value,
ACPI_FORMAT_UINT64 (Info->Address),
Info->CurrentStatus);
@@ -686,7 +688,7 @@ AcpiDbDisplayObjectType (
{
for (i = 0; i < Info->CompatibilityId.Count; i++)
{
- AcpiOsPrintf ("CID #%d: %s\n", i, &Info->CompatibilityId.Id[i]);
+ AcpiOsPrintf ("CID #%d: %s\n", (UINT32) i, Info->CompatibilityId.Id[i].Value);
}
}
diff --git a/sys/contrib/dev/acpica/dbexec.c b/sys/contrib/dev/acpica/dbexec.c
index 8b746c222262..5397ef4aceb1 100644
--- a/sys/contrib/dev/acpica/dbexec.c
+++ b/sys/contrib/dev/acpica/dbexec.c
@@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: dbexec - debugger control method execution
- * $Revision: 55 $
+ * $Revision: 57 $
*
******************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -408,7 +408,7 @@ AcpiDbExecute (
if (Allocations > 0)
{
- AcpiOsPrintf ("Outstanding: %ld allocations after execution\n",
+ AcpiOsPrintf ("Outstanding: %u allocations after execution\n",
Allocations);
}
#endif
diff --git a/sys/contrib/dev/acpica/dbfileio.c b/sys/contrib/dev/acpica/dbfileio.c
index 58b11b74d945..73ce52a82405 100644
--- a/sys/contrib/dev/acpica/dbfileio.c
+++ b/sys/contrib/dev/acpica/dbfileio.c
@@ -2,7 +2,7 @@
*
* Module Name: dbfileio - Debugger file I/O commands. These can't usually
* be used when running the debugger in Ring 0 (Kernel mode)
- * $Revision: 75 $
+ * $Revision: 76 $
*
******************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/dbhistry.c b/sys/contrib/dev/acpica/dbhistry.c
index bbdaa25ba75f..54df16f34789 100644
--- a/sys/contrib/dev/acpica/dbhistry.c
+++ b/sys/contrib/dev/acpica/dbhistry.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: dbhistry - debugger HISTORY command
- * $Revision: 28 $
+ * $Revision: 29 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/dbinput.c b/sys/contrib/dev/acpica/dbinput.c
index 66c4c088fb2f..003e18c7df56 100644
--- a/sys/contrib/dev/acpica/dbinput.c
+++ b/sys/contrib/dev/acpica/dbinput.c
@@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: dbinput - user front-end to the AML debugger
- * $Revision: 97 $
+ * $Revision: 98 $
*
******************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/dbstats.c b/sys/contrib/dev/acpica/dbstats.c
index a13301049408..33808bf4450a 100644
--- a/sys/contrib/dev/acpica/dbstats.c
+++ b/sys/contrib/dev/acpica/dbstats.c
@@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: dbstats - Generation and display of ACPI table statistics
- * $Revision: 69 $
+ * $Revision: 70 $
*
******************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/dbutils.c b/sys/contrib/dev/acpica/dbutils.c
index 1c34edc9a27e..a74ddda5c6fe 100644
--- a/sys/contrib/dev/acpica/dbutils.c
+++ b/sys/contrib/dev/acpica/dbutils.c
@@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: dbutils - AML debugger utilities
- * $Revision: 65 $
+ * $Revision: 66 $
*
******************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/dbxface.c b/sys/contrib/dev/acpica/dbxface.c
index 74542bd7d609..e78d76aae923 100644
--- a/sys/contrib/dev/acpica/dbxface.c
+++ b/sys/contrib/dev/acpica/dbxface.c
@@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: dbxface - AML Debugger external interfaces
- * $Revision: 70 $
+ * $Revision: 71 $
*
******************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/dmbuffer.c b/sys/contrib/dev/acpica/dmbuffer.c
index e78b6ced3e1e..4e3a468c0110 100644
--- a/sys/contrib/dev/acpica/dmbuffer.c
+++ b/sys/contrib/dev/acpica/dmbuffer.c
@@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: dmbuffer - AML disassembler, buffer and string support
- * $Revision: 12 $
+ * $Revision: 13 $
*
******************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/dmnames.c b/sys/contrib/dev/acpica/dmnames.c
index c9a006997202..f689f117e4be 100644
--- a/sys/contrib/dev/acpica/dmnames.c
+++ b/sys/contrib/dev/acpica/dmnames.c
@@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: dmnames - AML disassembler, names, namestrings, pathnames
- * $Revision: 6 $
+ * $Revision: 7 $
*
******************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/dmobject.c b/sys/contrib/dev/acpica/dmobject.c
index 5ddb1144b93b..89b20922dc60 100644
--- a/sys/contrib/dev/acpica/dmobject.c
+++ b/sys/contrib/dev/acpica/dmobject.c
@@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: dmobject - ACPI object decode and display
- * $Revision: 6 $
+ * $Revision: 11 $
*
******************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -265,7 +265,7 @@ AcpiDmDecodeInternalObject (
{
case ACPI_TYPE_INTEGER:
- AcpiOsPrintf (" %8.8X%8.8X",
+ AcpiOsPrintf (" %8.8X%8.8X",
ACPI_FORMAT_UINT64 (ObjDesc->Integer.Value));
break;
@@ -432,14 +432,30 @@ AcpiDmDisplayInternalObject (
case AML_INDEX_OP:
- AcpiOsPrintf ("[Index] ");
- if (!ObjDesc->Reference.Where)
+ AcpiOsPrintf ("[Index] ");
+ switch (ObjDesc->Reference.TargetType)
{
- AcpiOsPrintf ("Uninitialized WHERE ptr");
- }
- else
- {
- AcpiDmDecodeInternalObject (*(ObjDesc->Reference.Where));
+ case ACPI_TYPE_BUFFER_FIELD:
+ AcpiOsPrintf ("%p", ObjDesc->Reference.Object);
+ AcpiDmDecodeInternalObject (ObjDesc->Reference.Object);
+ break;
+
+ case ACPI_TYPE_PACKAGE:
+
+ AcpiOsPrintf ("%p", ObjDesc->Reference.Where);
+ if (!ObjDesc->Reference.Where)
+ {
+ AcpiOsPrintf (" Uninitialized WHERE ptr");
+ }
+ else
+ {
+ AcpiDmDecodeInternalObject (*(ObjDesc->Reference.Where));
+ }
+ break;
+
+ default:
+ AcpiOsPrintf ("Unknown index target type");
+ break;
}
break;
@@ -450,10 +466,16 @@ AcpiDmDisplayInternalObject (
break;
- case AML_REF_OF_OP:
+ case AML_REF_OF_OP:
AcpiOsPrintf ("[RefOf] ");
+ if (!ObjDesc->Reference.Object)
+ {
+ AcpiOsPrintf ("Uninitialized reference subobject ptr");
+ break;
+ }
+
/* Reference can be to a Node or an Operand object */
switch (ACPI_GET_DESCRIPTOR_TYPE (ObjDesc->Reference.Object))
@@ -483,8 +505,7 @@ AcpiDmDisplayInternalObject (
default:
- AcpiOsPrintf ("<Obj> ");
- AcpiOsPrintf (" ");
+ AcpiOsPrintf ("<Obj> ");
AcpiDmDecodeInternalObject (ObjDesc);
break;
}
@@ -493,7 +514,7 @@ AcpiDmDisplayInternalObject (
default:
- AcpiOsPrintf ("<Not a valid ACPI Object Descriptor> [%s]",
+ AcpiOsPrintf ("<Not a valid ACPI Object Descriptor> [%s]",
AcpiUtGetDescriptorName (ObjDesc));
break;
}
diff --git a/sys/contrib/dev/acpica/dmopcode.c b/sys/contrib/dev/acpica/dmopcode.c
index 3b6b6f186ef5..ec941b07e661 100644
--- a/sys/contrib/dev/acpica/dmopcode.c
+++ b/sys/contrib/dev/acpica/dmopcode.c
@@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: dmopcode - AML disassembler, specific AML opcodes
- * $Revision: 84 $
+ * $Revision: 85 $
*
******************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/dmresrc.c b/sys/contrib/dev/acpica/dmresrc.c
index 437bf5c54e77..ce89d0830529 100644
--- a/sys/contrib/dev/acpica/dmresrc.c
+++ b/sys/contrib/dev/acpica/dmresrc.c
@@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: dmresrc.c - Resource Descriptor disassembly
- * $Revision: 10 $
+ * $Revision: 13 $
*
******************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -433,9 +433,16 @@ AcpiDmIsResourceDescriptor (
ByteCount = (UINT32) NextOp->Common.Value.Integer;
ByteData = NextOp->Named.Data;
- /* The list must have a valid END_TAG */
+ /* Absolute minimum descriptor is an END_TAG (2 bytes) */
- if (ByteData[ByteCount-1] != (ACPI_RDESC_TYPE_END_TAG | 1))
+ if (ByteCount < 2)
+ {
+ return (FALSE);
+ }
+
+ /* The list must have a valid 2-byte END_TAG */
+
+ if (ByteData[ByteCount-2] != (ACPI_RDESC_TYPE_END_TAG | 1))
{
return FALSE;
}
@@ -444,7 +451,7 @@ AcpiDmIsResourceDescriptor (
* Walk the byte list. Abort on any invalid descriptor ID or
* or length
*/
- for (CurrentByteOffset = 0; CurrentByteOffset < ByteCount; )
+ for (CurrentByteOffset = 0; CurrentByteOffset < ByteCount;)
{
CurrentByte = ByteData[CurrentByteOffset];
@@ -479,6 +486,7 @@ AcpiDmIsResourceDescriptor (
case ACPI_RDESC_TYPE_IO_PORT:
case ACPI_RDESC_TYPE_FIXED_IO_PORT:
case ACPI_RDESC_TYPE_SMALL_VENDOR:
+
/*
* "Large" type descriptors
*/
diff --git a/sys/contrib/dev/acpica/dmresrcl.c b/sys/contrib/dev/acpica/dmresrcl.c
index 491415054334..8f30e88ea610 100644
--- a/sys/contrib/dev/acpica/dmresrcl.c
+++ b/sys/contrib/dev/acpica/dmresrcl.c
@@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: dmresrcl.c - "Large" Resource Descriptor disassembly
- * $Revision: 11 $
+ * $Revision: 12 $
*
******************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/dmresrcs.c b/sys/contrib/dev/acpica/dmresrcs.c
index 3c12a374c0dc..42a50399d97e 100644
--- a/sys/contrib/dev/acpica/dmresrcs.c
+++ b/sys/contrib/dev/acpica/dmresrcs.c
@@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: dmresrcs.c - "Small" Resource Descriptor disassembly
- * $Revision: 4 $
+ * $Revision: 5 $
*
******************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/dmutils.c b/sys/contrib/dev/acpica/dmutils.c
index 02d2072caecb..d65fded0574b 100644
--- a/sys/contrib/dev/acpica/dmutils.c
+++ b/sys/contrib/dev/acpica/dmutils.c
@@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: dmutils - AML disassembler utilities
- * $Revision: 8 $
+ * $Revision: 9 $
*
******************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/dmwalk.c b/sys/contrib/dev/acpica/dmwalk.c
index 23dec95ccbbf..8a19023be8b5 100644
--- a/sys/contrib/dev/acpica/dmwalk.c
+++ b/sys/contrib/dev/acpica/dmwalk.c
@@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: dmwalk - AML disassembly tree walk
- * $Revision: 10 $
+ * $Revision: 11 $
*
******************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/dsfield.c b/sys/contrib/dev/acpica/dsfield.c
index ed4920d6e9be..759084b59c98 100644
--- a/sys/contrib/dev/acpica/dsfield.c
+++ b/sys/contrib/dev/acpica/dsfield.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: dsfield - Dispatcher field routines
- * $Revision: 73 $
+ * $Revision: 74 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/dsinit.c b/sys/contrib/dev/acpica/dsinit.c
index 6905547306f1..3628d4533292 100644
--- a/sys/contrib/dev/acpica/dsinit.c
+++ b/sys/contrib/dev/acpica/dsinit.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: dsinit - Object initialization namespace walk
- * $Revision: 9 $
+ * $Revision: 10 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/dsmethod.c b/sys/contrib/dev/acpica/dsmethod.c
index 46510034dd0d..12275cca459b 100644
--- a/sys/contrib/dev/acpica/dsmethod.c
+++ b/sys/contrib/dev/acpica/dsmethod.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: dsmethod - Parser/Interpreter interface - control method parsing
- * $Revision: 92 $
+ * $Revision: 93 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/dsmthdat.c b/sys/contrib/dev/acpica/dsmthdat.c
index 30bb0a2ec5b0..2a49357ef7ec 100644
--- a/sys/contrib/dev/acpica/dsmthdat.c
+++ b/sys/contrib/dev/acpica/dsmthdat.c
@@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: dsmthdat - control method arguments and local variables
- * $Revision: 74 $
+ * $Revision: 77 $
*
******************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -285,10 +285,10 @@ AcpiDsMethodDataInitArgs (
{
/*
* A valid parameter.
- * Store the argument in the method/walk descriptor
+ * Store the argument in the method/walk descriptor.
+ * Do not copy the arg in order to implement call by reference
*/
- Status = AcpiDsStoreObjectToLocal (AML_ARG_OP, Index, Params[Index],
- WalkState);
+ Status = AcpiDsMethodDataSetValue (AML_ARG_OP, Index, Params[Index], WalkState);
if (ACPI_FAILURE (Status))
{
return_ACPI_STATUS (Status);
@@ -557,6 +557,7 @@ AcpiDsMethodDataGetValue (
return_ACPI_STATUS (AE_AML_UNINITIALIZED_LOCAL);
default:
+ ACPI_REPORT_ERROR (("Not Arg/Local opcode: %X\n", Opcode));
return_ACPI_STATUS (AE_AML_INTERNAL);
}
}
@@ -663,7 +664,6 @@ AcpiDsStoreObjectToLocal (
ACPI_NAMESPACE_NODE *Node;
ACPI_OPERAND_OBJECT *CurrentObjDesc;
ACPI_OPERAND_OBJECT *NewObjDesc;
- UINT8 ObjType;
ACPI_FUNCTION_TRACE ("DsStoreObjectToLocal");
@@ -695,14 +695,13 @@ AcpiDsStoreObjectToLocal (
/*
* If the reference count on the object is more than one, we must
- * take a copy of the object before we store.
+ * take a copy of the object before we store. A reference count
+ * of exactly 1 means that the object was just created during the
+ * evaluation of an expression, and we can safely use it since it
+ * is not used anywhere else.
*/
NewObjDesc = ObjDesc;
- ObjType = ACPI_GET_OBJECT_TYPE(ObjDesc);
- if (ObjDesc->Common.ReferenceCount > 1 &&
- ObjType != ACPI_TYPE_BUFFER &&
- ObjType != ACPI_TYPE_PACKAGE &&
- ObjType != ACPI_TYPE_REGION)
+ if (ObjDesc->Common.ReferenceCount > 1)
{
Status = AcpiUtCopyIobjectToIobject (ObjDesc, &NewObjDesc, WalkState);
if (ACPI_FAILURE (Status))
diff --git a/sys/contrib/dev/acpica/dsobject.c b/sys/contrib/dev/acpica/dsobject.c
index 0f91fcded3f0..aed69d95845b 100644
--- a/sys/contrib/dev/acpica/dsobject.c
+++ b/sys/contrib/dev/acpica/dsobject.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: dsobject - Dispatcher object management routines
- * $Revision: 117 $
+ * $Revision: 119 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -689,6 +689,11 @@ AcpiDsInitObjectFromOp (
ObjDesc->Reference.Opcode = AML_ARG_OP;
ObjDesc->Reference.Offset = Opcode - AML_ARG_OP;
+
+#ifndef ACPI_NO_METHOD_EXECUTION
+ Status = AcpiDsMethodDataGetNode (AML_ARG_OP, ObjDesc->Reference.Offset,
+ WalkState, (ACPI_NAMESPACE_NODE **) &ObjDesc->Reference.Object);
+#endif
break;
default: /* Other literals, etc.. */
diff --git a/sys/contrib/dev/acpica/dsopcode.c b/sys/contrib/dev/acpica/dsopcode.c
index 82d72c236c2d..dd0f064bc92a 100644
--- a/sys/contrib/dev/acpica/dsopcode.c
+++ b/sys/contrib/dev/acpica/dsopcode.c
@@ -2,7 +2,7 @@
*
* Module Name: dsopcode - Dispatcher Op Region support and handling of
* "control" opcodes
- * $Revision: 91 $
+ * $Revision: 93 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -327,8 +327,8 @@ AcpiDsGetBufferArguments (
Node = ObjDesc->Buffer.Node;
if (!Node)
{
- ACPI_DEBUG_PRINT ((ACPI_DB_ERROR,
- "No pointer back to NS node in buffer %p\n", ObjDesc));
+ ACPI_REPORT_ERROR ((
+ "No pointer back to NS node in buffer obj %p\n", ObjDesc));
return_ACPI_STATUS (AE_AML_INTERNAL);
}
@@ -376,7 +376,7 @@ AcpiDsGetPackageArguments (
Node = ObjDesc->Package.Node;
if (!Node)
{
- ACPI_DEBUG_PRINT ((ACPI_DB_ERROR,
+ ACPI_REPORT_ERROR ((
"No pointer back to NS node in package %p\n", ObjDesc));
return_ACPI_STATUS (AE_AML_INTERNAL);
}
diff --git a/sys/contrib/dev/acpica/dsutils.c b/sys/contrib/dev/acpica/dsutils.c
index b6291fb0d42c..e968e476acb0 100644
--- a/sys/contrib/dev/acpica/dsutils.c
+++ b/sys/contrib/dev/acpica/dsutils.c
@@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: dsutils - Dispatcher utilities
- * $Revision: 100 $
+ * $Revision: 102 $
*
******************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -365,7 +365,8 @@ AcpiDsResolveOperands (
/*
* Attempt to resolve each of the valid operands
- * Method arguments are passed by value, not by reference
+ * Method arguments are passed by reference, not by value. This means
+ * that the actual objects are passed, not copies of the objects.
*/
for (i = 0; i < WalkState->NumOperands; i++)
{
diff --git a/sys/contrib/dev/acpica/dswexec.c b/sys/contrib/dev/acpica/dswexec.c
index 33ae710342a4..276514c0173d 100644
--- a/sys/contrib/dev/acpica/dswexec.c
+++ b/sys/contrib/dev/acpica/dswexec.c
@@ -2,7 +2,7 @@
*
* Module Name: dswexec - Dispatcher method execution callbacks;
* dispatch to interpreter.
- * $Revision: 105 $
+ * $Revision: 106 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/dswload.c b/sys/contrib/dev/acpica/dswload.c
index c8f324ac6272..7af6bc9dc78b 100644
--- a/sys/contrib/dev/acpica/dswload.c
+++ b/sys/contrib/dev/acpica/dswload.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: dswload - Dispatcher namespace load callbacks
- * $Revision: 85 $
+ * $Revision: 86 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/dswscope.c b/sys/contrib/dev/acpica/dswscope.c
index 4ff6ed74ef06..f9a54261147b 100644
--- a/sys/contrib/dev/acpica/dswscope.c
+++ b/sys/contrib/dev/acpica/dswscope.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: dswscope - Scope stack manipulation
- * $Revision: 59 $
+ * $Revision: 60 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/dswstate.c b/sys/contrib/dev/acpica/dswstate.c
index af595afa8cf3..ae4fea6d8c2c 100644
--- a/sys/contrib/dev/acpica/dswstate.c
+++ b/sys/contrib/dev/acpica/dswstate.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: dswstate - Dispatcher parse tree walk management routines
- * $Revision: 76 $
+ * $Revision: 78 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -418,7 +418,7 @@ AcpiDsResultPush (
State = WalkState->Results;
if (!State)
{
- ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "No result stack frame\n"));
+ ACPI_REPORT_ERROR (("No result stack frame during push\n"));
return (AE_AML_INTERNAL);
}
diff --git a/sys/contrib/dev/acpica/evevent.c b/sys/contrib/dev/acpica/evevent.c
index f2a852f0442b..ff7c98758577 100644
--- a/sys/contrib/dev/acpica/evevent.c
+++ b/sys/contrib/dev/acpica/evevent.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: evevent - Fixed Event handling and dispatch
- * $Revision: 111 $
+ * $Revision: 112 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/evgpe.c b/sys/contrib/dev/acpica/evgpe.c
index 925d0327102d..4391d83d5001 100644
--- a/sys/contrib/dev/acpica/evgpe.c
+++ b/sys/contrib/dev/acpica/evgpe.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: evgpe - General Purpose Event handling and dispatch
- * $Revision: 31 $
+ * $Revision: 33 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -487,7 +487,7 @@ AcpiEvGpeDispatch (
return_VALUE (ACPI_INTERRUPT_NOT_HANDLED);
}
- /*
+ /*
* Execute the method associated with the GPE
* NOTE: Level-triggered GPEs are cleared after the method completes.
*/
diff --git a/sys/contrib/dev/acpica/evgpeblk.c b/sys/contrib/dev/acpica/evgpeblk.c
index 232726f15102..75eed44f5028 100644
--- a/sys/contrib/dev/acpica/evgpeblk.c
+++ b/sys/contrib/dev/acpica/evgpeblk.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: evgpeblk - GPE block creation and initialization.
- * $Revision: 26 $
+ * $Revision: 27 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/evmisc.c b/sys/contrib/dev/acpica/evmisc.c
index ec301c2a1235..5cfad40ef05a 100644
--- a/sys/contrib/dev/acpica/evmisc.c
+++ b/sys/contrib/dev/acpica/evmisc.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: evmisc - Miscellaneous event manager support functions
- * $Revision: 69 $
+ * $Revision: 70 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/evregion.c b/sys/contrib/dev/acpica/evregion.c
index 4a15e7fd4137..aefd35358526 100644
--- a/sys/contrib/dev/acpica/evregion.c
+++ b/sys/contrib/dev/acpica/evregion.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: evregion - ACPI AddressSpace (OpRegion) handler dispatch
- * $Revision: 146 $
+ * $Revision: 149 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -127,7 +127,7 @@
#define ACPI_NUM_DEFAULT_SPACES 4
-UINT8 AcpiGbl_DefaultAddressSpaces[ACPI_NUM_DEFAULT_SPACES] = {
+static UINT8 AcpiGbl_DefaultAddressSpaces[ACPI_NUM_DEFAULT_SPACES] = {
ACPI_ADR_SPACE_SYSTEM_MEMORY,
ACPI_ADR_SPACE_SYSTEM_IO,
ACPI_ADR_SPACE_PCI_CONFIG,
@@ -329,7 +329,7 @@ AcpiEvAddressSpaceDispatch (
HandlerDesc = RegionObj->Region.Handler;
if (!HandlerDesc)
{
- ACPI_DEBUG_PRINT ((ACPI_DB_ERROR,
+ ACPI_DEBUG_PRINT ((ACPI_DB_ERROR,
"No handler for Region [%4.4s] (%p) [%s]\n",
AcpiUtGetNodeName (RegionObj->Region.Node),
RegionObj, AcpiUtGetRegionName (RegionObj->Region.SpaceId)));
@@ -630,7 +630,7 @@ AcpiEvAttachRegion (
ACPI_DEBUG_PRINT ((ACPI_DB_OPREGION,
"Adding Region [%4.4s] %p to address handler %p [%s]\n",
AcpiUtGetNodeName (RegionObj->Region.Node),
- RegionObj, HandlerObj,
+ RegionObj, HandlerObj,
AcpiUtGetRegionName (RegionObj->Region.SpaceId)));
/* Link this region to the front of the handler's list */
@@ -813,9 +813,6 @@ AcpiEvRegRun (
ACPI_STATUS Status;
- ACPI_FUNCTION_NAME ("EvRegRun");
-
-
HandlerObj = (ACPI_OPERAND_OBJECT *) Context;
/* Parameter validation */
diff --git a/sys/contrib/dev/acpica/evrgnini.c b/sys/contrib/dev/acpica/evrgnini.c
index 499559715138..45b05c5575af 100644
--- a/sys/contrib/dev/acpica/evrgnini.c
+++ b/sys/contrib/dev/acpica/evrgnini.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: evrgnini- ACPI AddressSpace (OpRegion) init
- * $Revision: 72 $
+ * $Revision: 73 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/evsci.c b/sys/contrib/dev/acpica/evsci.c
index 8397fdd150e1..83d8622bffd0 100644
--- a/sys/contrib/dev/acpica/evsci.c
+++ b/sys/contrib/dev/acpica/evsci.c
@@ -2,7 +2,7 @@
*
* Module Name: evsci - System Control Interrupt configuration and
* legacy to ACPI mode state transition functions
- * $Revision: 93 $
+ * $Revision: 94 $
*
******************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/evxface.c b/sys/contrib/dev/acpica/evxface.c
index 3c3db78cd947..9d5534f6b6cc 100644
--- a/sys/contrib/dev/acpica/evxface.c
+++ b/sys/contrib/dev/acpica/evxface.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: evxface - External interfaces for ACPI events
- * $Revision: 141 $
+ * $Revision: 142 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/evxfevnt.c b/sys/contrib/dev/acpica/evxfevnt.c
index 668ecfd67e2c..1ae6d5c6bcf2 100644
--- a/sys/contrib/dev/acpica/evxfevnt.c
+++ b/sys/contrib/dev/acpica/evxfevnt.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: evxfevnt - External Interfaces, ACPI event disable/enable
- * $Revision: 73 $
+ * $Revision: 74 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/evxfregn.c b/sys/contrib/dev/acpica/evxfregn.c
index ebfb04818a7b..2023550deeee 100644
--- a/sys/contrib/dev/acpica/evxfregn.c
+++ b/sys/contrib/dev/acpica/evxfregn.c
@@ -2,7 +2,7 @@
*
* Module Name: evxfregn - External Interfaces, ACPI Operation Regions and
* Address Spaces.
- * $Revision: 59 $
+ * $Revision: 61 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -384,7 +384,7 @@ AcpiInstallAddressSpaceHandler (
ACPI_NS_WALK_UNLOCK, AcpiEvInstallHandler,
HandlerObj, NULL);
- /*
+ /*
* Now we can run the _REG methods for all Regions for this
* space ID. This is a separate walk in order to handle any
* interdependencies between regions and _REG methods. (i.e. handlers
diff --git a/sys/contrib/dev/acpica/exconfig.c b/sys/contrib/dev/acpica/exconfig.c
index 46bade82ced0..99c93fcc0a4e 100644
--- a/sys/contrib/dev/acpica/exconfig.c
+++ b/sys/contrib/dev/acpica/exconfig.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: exconfig - Namespace reconfiguration (Load/Unload opcodes)
- * $Revision: 74 $
+ * $Revision: 75 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/exconvrt.c b/sys/contrib/dev/acpica/exconvrt.c
index 3b175ae95b29..42ca183d2fd2 100644
--- a/sys/contrib/dev/acpica/exconvrt.c
+++ b/sys/contrib/dev/acpica/exconvrt.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: exconvrt - Object conversion routines
- * $Revision: 49 $
+ * $Revision: 53 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -130,8 +130,9 @@
*
* FUNCTION: AcpiExConvertToInteger
*
- * PARAMETERS: *ObjDesc - Object to be converted. Must be an
+ * PARAMETERS: ObjDesc - Object to be converted. Must be an
* Integer, Buffer, or String
+ * ResultDesc - Where the new Integer object is returned
* WalkState - Current method state
*
* RETURN: Status
@@ -272,8 +273,9 @@ AcpiExConvertToInteger (
*
* FUNCTION: AcpiExConvertToBuffer
*
- * PARAMETERS: *ObjDesc - Object to be converted. Must be an
+ * PARAMETERS: ObjDesc - Object to be converted. Must be an
* Integer, Buffer, or String
+ * ResultDesc - Where the new buffer object is returned
* WalkState - Current method state
*
* RETURN: Status
@@ -408,6 +410,7 @@ AcpiExConvertToAscii (
ACPI_FUNCTION_ENTRY ();
+
if (DataWidth < sizeof (ACPI_INTEGER))
{
LeadingZero = FALSE;
@@ -419,25 +422,24 @@ AcpiExConvertToAscii (
Length = sizeof (ACPI_INTEGER);
}
-
switch (Base)
{
case 10:
Remainder = 0;
- for (i = ACPI_MAX_DECIMAL_DIGITS; i > 0 ; i--)
+ for (i = ACPI_MAX_DECIMAL_DIGITS; i > 0; i--)
{
/* Divide by nth factor of 10 */
Digit = Integer;
- for (j = 1; j < i; j++)
+ for (j = 0; j < i; j++)
{
(void) AcpiUtShortDivide (&Digit, 10, &Digit, &Remainder);
}
/* Create the decimal digit */
- if (Digit != 0)
+ if (Remainder != 0)
{
LeadingZero = FALSE;
}
@@ -450,6 +452,7 @@ AcpiExConvertToAscii (
}
break;
+
case 16:
/* Copy the integer to the buffer */
@@ -471,13 +474,14 @@ AcpiExConvertToAscii (
}
break;
+
default:
break;
}
/*
* Since leading zeros are supressed, we must check for the case where
- * the integer equals 0.
+ * the integer equals 0
*
* Finally, null terminate the string and return the length
*/
@@ -496,8 +500,11 @@ AcpiExConvertToAscii (
*
* FUNCTION: AcpiExConvertToString
*
- * PARAMETERS: *ObjDesc - Object to be converted. Must be an
- * Integer, Buffer, or String
+ * PARAMETERS: ObjDesc - Object to be converted. Must be an
+ * Integer, Buffer, or String
+ * ResultDesc - Where the string object is returned
+ * Base - 10 or 16
+ * MaxLength - Max length of the returned string
* WalkState - Current method state
*
* RETURN: Status
@@ -515,10 +522,10 @@ AcpiExConvertToString (
ACPI_WALK_STATE *WalkState)
{
ACPI_OPERAND_OBJECT *RetDesc;
- UINT32 i;
- UINT32 StringLength;
UINT8 *NewBuf;
UINT8 *Pointer;
+ UINT32 StringLength;
+ UINT32 i;
ACPI_FUNCTION_TRACE_PTR ("ExConvertToString", ObjDesc);
@@ -654,7 +661,6 @@ AcpiExConvertToString (
return_ACPI_STATUS (AE_TYPE);
}
-
/*
* If we are about to overwrite the original object on the operand stack,
* we must remove a reference on the original object because we are
@@ -679,6 +685,7 @@ AcpiExConvertToString (
*
* PARAMETERS: DestinationType - Current type of the destination
* SourceDesc - Source object to be converted.
+ * ResultDesc - Where the converted object is returned
* WalkState - Current method state
*
* RETURN: Status
@@ -774,6 +781,8 @@ AcpiExConvertToTargetType (
default:
+ ACPI_REPORT_ERROR (("Bad destination type during conversion: %X\n",
+ DestinationType));
Status = AE_AML_INTERNAL;
break;
}
@@ -793,6 +802,8 @@ AcpiExConvertToTargetType (
GET_CURRENT_ARG_TYPE (WalkState->OpInfo->RuntimeArgs),
WalkState->OpInfo->Name, AcpiUtGetTypeName (DestinationType)));
+ ACPI_REPORT_ERROR (("Bad Target Type (ARGI): %X\n",
+ GET_CURRENT_ARG_TYPE (WalkState->OpInfo->RuntimeArgs)))
Status = AE_AML_INTERNAL;
}
diff --git a/sys/contrib/dev/acpica/excreate.c b/sys/contrib/dev/acpica/excreate.c
index 53613ffc1e87..b0162df6ba7c 100644
--- a/sys/contrib/dev/acpica/excreate.c
+++ b/sys/contrib/dev/acpica/excreate.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: excreate - Named object creation
- * $Revision: 100 $
+ * $Revision: 101 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/exdump.c b/sys/contrib/dev/acpica/exdump.c
index 587f75ede0f5..0ce82141c138 100644
--- a/sys/contrib/dev/acpica/exdump.c
+++ b/sys/contrib/dev/acpica/exdump.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: exdump - Interpreter debug output routines
- * $Revision: 171 $
+ * $Revision: 172 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/exfield.c b/sys/contrib/dev/acpica/exfield.c
index 882aa0e4443e..4cd9a8ec2b2a 100644
--- a/sys/contrib/dev/acpica/exfield.c
+++ b/sys/contrib/dev/acpica/exfield.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: exfield - ACPI AML (p-code) execution - field manipulation
- * $Revision: 119 $
+ * $Revision: 120 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/exfldio.c b/sys/contrib/dev/acpica/exfldio.c
index cb3f713eeddc..bc97ace1c681 100644
--- a/sys/contrib/dev/acpica/exfldio.c
+++ b/sys/contrib/dev/acpica/exfldio.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: exfldio - Aml Field I/O
- * $Revision: 100 $
+ * $Revision: 103 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -577,8 +577,8 @@ AcpiExFieldDatumIo (
default:
- ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "%p, Wrong object type - %s\n",
- ObjDesc, AcpiUtGetObjectTypeName (ObjDesc)));
+ ACPI_REPORT_ERROR (("Wrong object type in field I/O %X\n",
+ ACPI_GET_OBJECT_TYPE (ObjDesc)));
Status = AE_AML_INTERNAL;
break;
}
@@ -964,7 +964,7 @@ AcpiExExtractFromField (
{
/*
* This is the last iteration of the loop. We need to clear
- * any unused bits (bits that are not part of this field) before
+ * any unused bits (bits that are not part of this field) before
* we store the final merged datum into the caller buffer.
*/
ThisRawDatum &=
diff --git a/sys/contrib/dev/acpica/exmisc.c b/sys/contrib/dev/acpica/exmisc.c
index e55b6cc1cdf0..ae24c5d71715 100644
--- a/sys/contrib/dev/acpica/exmisc.c
+++ b/sys/contrib/dev/acpica/exmisc.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: exmisc - ACPI AML (p-code) execution - specific opcodes
- * $Revision: 116 $
+ * $Revision: 118 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -181,7 +181,7 @@ AcpiExGetObjectReference (
default:
- ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "Unknown Reference subtype %X\n",
+ ACPI_REPORT_ERROR (("Unknown Reference subtype in get ref %X\n",
ObjDesc->Reference.Opcode));
return_ACPI_STATUS (AE_AML_INTERNAL);
}
@@ -199,8 +199,8 @@ AcpiExGetObjectReference (
default:
- ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "%p has invalid descriptor [%s]\n",
- ObjDesc, AcpiUtGetDescriptorName (ObjDesc)));
+ ACPI_REPORT_ERROR (("Invalid descriptor type in get ref: %X\n",
+ ACPI_GET_DESCRIPTOR_TYPE (ObjDesc)));
return_ACPI_STATUS (AE_TYPE);
}
@@ -437,6 +437,8 @@ AcpiExDoConcatenate (
/* Invalid object type, should not happen here */
+ ACPI_REPORT_ERROR (("Concat - invalid obj type: %X\n",
+ ACPI_GET_OBJECT_TYPE (ObjDesc1)));
Status = AE_AML_INTERNAL;
ReturnDesc = NULL;
}
diff --git a/sys/contrib/dev/acpica/exmutex.c b/sys/contrib/dev/acpica/exmutex.c
index a8f0ab441acf..cd96da31b3be 100644
--- a/sys/contrib/dev/acpica/exmutex.c
+++ b/sys/contrib/dev/acpica/exmutex.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: exmutex - ASL Mutex Acquire/Release functions
- * $Revision: 19 $
+ * $Revision: 20 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/exnames.c b/sys/contrib/dev/acpica/exnames.c
index 7eb8e4fc06ef..dab3417f162b 100644
--- a/sys/contrib/dev/acpica/exnames.c
+++ b/sys/contrib/dev/acpica/exnames.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: exnames - interpreter/scanner name load/execute
- * $Revision: 94 $
+ * $Revision: 95 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/exoparg1.c b/sys/contrib/dev/acpica/exoparg1.c
index e4e9f363e590..d52f945366bb 100644
--- a/sys/contrib/dev/acpica/exoparg1.c
+++ b/sys/contrib/dev/acpica/exoparg1.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: exoparg1 - AML execution - opcodes with 1 argument
- * $Revision: 151 $
+ * $Revision: 152 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/exoparg2.c b/sys/contrib/dev/acpica/exoparg2.c
index 624470abc7fb..a39320e0fdc0 100644
--- a/sys/contrib/dev/acpica/exoparg2.c
+++ b/sys/contrib/dev/acpica/exoparg2.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: exoparg2 - AML execution - opcodes with 2 arguments
- * $Revision: 117 $
+ * $Revision: 119 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -418,6 +418,8 @@ AcpiExOpcode_2A_1T_1R (
break;
default:
+ ACPI_REPORT_ERROR (("Concat - invalid obj type: %X\n",
+ ACPI_GET_OBJECT_TYPE (Operand[0])));
Status = AE_AML_INTERNAL;
}
@@ -532,7 +534,7 @@ AcpiExOpcode_2A_1T_1R (
}
ReturnDesc->Reference.TargetType = ACPI_TYPE_PACKAGE;
- ReturnDesc->Reference.Object = Operand[0]->Package.Elements [Index];
+ ReturnDesc->Reference.Object = Operand[0];
ReturnDesc->Reference.Where = &Operand[0]->Package.Elements [Index];
}
else
diff --git a/sys/contrib/dev/acpica/exoparg3.c b/sys/contrib/dev/acpica/exoparg3.c
index 454cb127b612..8f6607c20816 100644
--- a/sys/contrib/dev/acpica/exoparg3.c
+++ b/sys/contrib/dev/acpica/exoparg3.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: exoparg3 - AML execution - opcodes with 3 arguments
- * $Revision: 18 $
+ * $Revision: 19 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/exoparg6.c b/sys/contrib/dev/acpica/exoparg6.c
index 5676835d1925..33f3e72d3bbb 100644
--- a/sys/contrib/dev/acpica/exoparg6.c
+++ b/sys/contrib/dev/acpica/exoparg6.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: exoparg6 - AML execution - opcodes with 6 arguments
- * $Revision: 12 $
+ * $Revision: 13 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/exprep.c b/sys/contrib/dev/acpica/exprep.c
index 6ed7cd4ad582..71e48c42cf87 100644
--- a/sys/contrib/dev/acpica/exprep.c
+++ b/sys/contrib/dev/acpica/exprep.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: exprep - ACPI AML (p-code) execution - field prep utilities
- * $Revision: 125 $
+ * $Revision: 127 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -598,7 +598,7 @@ AcpiExPrepFieldValue (
if (!ObjDesc->IndexField.DataObj || !ObjDesc->IndexField.IndexObj)
{
- ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "Null Index Object\n"));
+ ACPI_REPORT_ERROR (("Null Index Object during field prep\n"));
return_ACPI_STATUS (AE_AML_INTERNAL);
}
diff --git a/sys/contrib/dev/acpica/exregion.c b/sys/contrib/dev/acpica/exregion.c
index fc62ca937361..6c799f05448a 100644
--- a/sys/contrib/dev/acpica/exregion.c
+++ b/sys/contrib/dev/acpica/exregion.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: exregion - ACPI default OpRegion (address space) handlers
- * $Revision: 85 $
+ * $Revision: 86 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/exresnte.c b/sys/contrib/dev/acpica/exresnte.c
index 2267ef44719b..6ca27ed74059 100644
--- a/sys/contrib/dev/acpica/exresnte.c
+++ b/sys/contrib/dev/acpica/exresnte.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: exresnte - AML Interpreter object resolution
- * $Revision: 63 $
+ * $Revision: 64 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/exresolv.c b/sys/contrib/dev/acpica/exresolv.c
index b4c1944d60e8..3da3d426fd10 100644
--- a/sys/contrib/dev/acpica/exresolv.c
+++ b/sys/contrib/dev/acpica/exresolv.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: exresolv - AML Interpreter object resolution
- * $Revision: 121 $
+ * $Revision: 123 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -323,8 +323,8 @@ AcpiExResolveObjectToValue (
/* Invalid reference object */
- ACPI_DEBUG_PRINT ((ACPI_DB_ERROR,
- "Unknown TargetType %X in Index/Reference obj %p\n",
+ ACPI_REPORT_ERROR ((
+ "During resolve, Unknown TargetType %X in Index/Reference obj %p\n",
StackDesc->Reference.TargetType, StackDesc));
Status = AE_AML_INTERNAL;
break;
@@ -343,7 +343,7 @@ AcpiExResolveObjectToValue (
default:
- ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "Unknown Reference opcode %X (%s) in %p\n",
+ ACPI_REPORT_ERROR (("During resolve, Unknown Reference opcode %X (%s) in %p\n",
Opcode, AcpiPsGetOpcodeName (Opcode), StackDesc));
Status = AE_AML_INTERNAL;
break;
diff --git a/sys/contrib/dev/acpica/exresop.c b/sys/contrib/dev/acpica/exresop.c
index 23125ba0ffc0..8458dfc54340 100644
--- a/sys/contrib/dev/acpica/exresop.c
+++ b/sys/contrib/dev/acpica/exresop.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: exresop - AML Interpreter operand/object resolution
- * $Revision: 65 $
+ * $Revision: 67 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -234,7 +234,7 @@ AcpiExResolveOperands (
ArgTypes = OpInfo->RuntimeArgs;
if (ArgTypes == ARGI_INVALID_OPCODE)
{
- ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "Internal - %X is not a valid AML opcode\n",
+ ACPI_REPORT_ERROR (("ResolveOperands: %X is not a valid AML opcode\n",
Opcode));
return_ACPI_STATUS (AE_AML_INTERNAL);
@@ -254,7 +254,7 @@ AcpiExResolveOperands (
{
if (!StackPtr || !*StackPtr)
{
- ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "Internal - null stack entry at %p\n",
+ ACPI_REPORT_ERROR (("ResolveOperands: Null stack entry at %p\n",
StackPtr));
return_ACPI_STATUS (AE_AML_INTERNAL);
diff --git a/sys/contrib/dev/acpica/exstore.c b/sys/contrib/dev/acpica/exstore.c
index 4f5511768d20..a86d17ad812f 100644
--- a/sys/contrib/dev/acpica/exstore.c
+++ b/sys/contrib/dev/acpica/exstore.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: exstore - AML Interpreter object store support
- * $Revision: 177 $
+ * $Revision: 180 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -203,7 +203,7 @@ AcpiExStore (
default:
- /* Destination is not an Reference */
+ /* Destination is not a Reference object */
ACPI_DEBUG_PRINT ((ACPI_DB_ERROR,
"Destination is not a Reference or Constant object [%p]\n", DestDesc));
@@ -269,35 +269,38 @@ AcpiExStore (
{
case ACPI_TYPE_INTEGER:
- ACPI_DEBUG_PRINT_RAW ((ACPI_DB_DEBUG_OBJECT, "%8.8X%8.8X\n",
+ ACPI_DEBUG_PRINT_RAW ((ACPI_DB_DEBUG_OBJECT, "0x%8.8X%8.8X\n",
ACPI_FORMAT_UINT64 (SourceDesc->Integer.Value)));
break;
case ACPI_TYPE_BUFFER:
- ACPI_DEBUG_PRINT_RAW ((ACPI_DB_DEBUG_OBJECT, "Length %.2X\n",
+ ACPI_DEBUG_PRINT_RAW ((ACPI_DB_DEBUG_OBJECT, "Length 0x%.2X",
(UINT32) SourceDesc->Buffer.Length));
+ ACPI_DUMP_BUFFER (SourceDesc->Buffer.Pointer,
+ (SourceDesc->Buffer.Length < 32) ? SourceDesc->Buffer.Length : 32);
break;
case ACPI_TYPE_STRING:
- ACPI_DEBUG_PRINT_RAW ((ACPI_DB_DEBUG_OBJECT, "%s\n", SourceDesc->String.Pointer));
+ ACPI_DEBUG_PRINT_RAW ((ACPI_DB_DEBUG_OBJECT, "Length 0x%.2X, \"%s\"\n",
+ SourceDesc->String.Length, SourceDesc->String.Pointer));
break;
case ACPI_TYPE_PACKAGE:
- ACPI_DEBUG_PRINT_RAW ((ACPI_DB_DEBUG_OBJECT, "Elements Ptr - %p\n",
- SourceDesc->Package.Elements));
+ ACPI_DEBUG_PRINT_RAW ((ACPI_DB_DEBUG_OBJECT, "Size 0x%.2X Elements Ptr - %p\n",
+ SourceDesc->Package.Count, SourceDesc->Package.Elements));
break;
default:
- ACPI_DEBUG_PRINT_RAW ((ACPI_DB_DEBUG_OBJECT, "Type %s %p\n",
- AcpiUtGetObjectTypeName (SourceDesc), SourceDesc));
+ ACPI_DEBUG_PRINT_RAW ((ACPI_DB_DEBUG_OBJECT, "%p\n",
+ SourceDesc));
break;
}
@@ -307,7 +310,7 @@ AcpiExStore (
default:
- ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "Unknown Reference opcode %X\n",
+ ACPI_REPORT_ERROR (("ExStore: Unknown Reference opcode %X\n",
RefDesc->Reference.Opcode));
ACPI_DUMP_ENTRY (RefDesc, ACPI_LV_ERROR);
@@ -343,6 +346,7 @@ AcpiExStoreObjectToIndex (
ACPI_OPERAND_OBJECT *ObjDesc;
ACPI_OPERAND_OBJECT *NewDesc;
UINT8 Value = 0;
+ UINT32 i;
ACPI_FUNCTION_TRACE ("ExStoreObjectToIndex");
@@ -364,6 +368,7 @@ AcpiExStoreObjectToIndex (
/*
* The object at *(IndexDesc->Reference.Where) is the
* element within the package that is to be modified.
+ * The parent package object is at IndexDesc->Reference.Object
*/
ObjDesc = *(IndexDesc->Reference.Where);
@@ -389,7 +394,14 @@ AcpiExStoreObjectToIndex (
/* If same as the original source, add a reference */
- if (NewDesc == SourceDesc || ObjDesc == NULL)
+ if (NewDesc == SourceDesc)
+ {
+ AcpiUtAddReference (NewDesc);
+ }
+
+ /* Increment reference count by the ref count of the parent package -1 */
+
+ for (i = 1; i < ((ACPI_OPERAND_OBJECT *) IndexDesc->Reference.Object)->Common.ReferenceCount; i++)
{
AcpiUtAddReference (NewDesc);
}
diff --git a/sys/contrib/dev/acpica/exstoren.c b/sys/contrib/dev/acpica/exstoren.c
index 0f380d8ed61c..92fc07c003c3 100644
--- a/sys/contrib/dev/acpica/exstoren.c
+++ b/sys/contrib/dev/acpica/exstoren.c
@@ -3,7 +3,7 @@
*
* Module Name: exstoren - AML Interpreter object store support,
* Store to Node (namespace object)
- * $Revision: 56 $
+ * $Revision: 58 $
*
*****************************************************************************/
@@ -11,7 +11,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -189,6 +189,13 @@ AcpiExResolveObject (
}
}
+ /* For CopyObject, no further validation necessary */
+
+ if (WalkState->Opcode == AML_COPY_OP)
+ {
+ break;
+ }
+
/*
* Must have a Integer, Buffer, or String
*/
@@ -214,7 +221,7 @@ AcpiExResolveObject (
/*
* Aliases are resolved by AcpiExPrepOperands
*/
- ACPI_DEBUG_PRINT ((ACPI_DB_WARN, "Store into Alias - should never happen\n"));
+ ACPI_REPORT_ERROR (("Store into Alias - should never happen\n"));
Status = AE_AML_INTERNAL;
break;
diff --git a/sys/contrib/dev/acpica/exstorob.c b/sys/contrib/dev/acpica/exstorob.c
index 360ab5c00c05..56ee8b5413b5 100644
--- a/sys/contrib/dev/acpica/exstorob.c
+++ b/sys/contrib/dev/acpica/exstorob.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: exstorob - AML Interpreter object store support, store to object
- * $Revision: 50 $
+ * $Revision: 51 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/exsystem.c b/sys/contrib/dev/acpica/exsystem.c
index ba4ef4ed0133..f74de0795729 100644
--- a/sys/contrib/dev/acpica/exsystem.c
+++ b/sys/contrib/dev/acpica/exsystem.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: exsystem - Interface to OS services
- * $Revision: 79 $
+ * $Revision: 80 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/exutils.c b/sys/contrib/dev/acpica/exutils.c
index e9c270db912f..4f0c3bf7e6eb 100644
--- a/sys/contrib/dev/acpica/exutils.c
+++ b/sys/contrib/dev/acpica/exutils.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: exutils - interpreter/scanner utilities
- * $Revision: 110 $
+ * $Revision: 111 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/hwacpi.c b/sys/contrib/dev/acpica/hwacpi.c
index e69ff83e7904..1e2338a9bee0 100644
--- a/sys/contrib/dev/acpica/hwacpi.c
+++ b/sys/contrib/dev/acpica/hwacpi.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: hwacpi - ACPI Hardware Initialization/Mode Interface
- * $Revision: 65 $
+ * $Revision: 66 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/hwgpe.c b/sys/contrib/dev/acpica/hwgpe.c
index 547acbba8eac..27d94ae24eb2 100644
--- a/sys/contrib/dev/acpica/hwgpe.c
+++ b/sys/contrib/dev/acpica/hwgpe.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Module Name: hwgpe - Low level GPE enable/disable/clear functions
- * $Revision: 53 $
+ * $Revision: 56 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -433,18 +433,15 @@ AcpiHwDisableGpeBlock (
ACPI_GPE_BLOCK_INFO *GpeBlock)
{
UINT32 i;
- ACPI_GPE_REGISTER_INFO *GpeRegisterInfo;
ACPI_STATUS Status;
- /* Get the register info for the entire GPE block */
-
- GpeRegisterInfo = GpeBlock->RegisterInfo;
-
/* Examine each GPE Register within the block */
for (i = 0; i < GpeBlock->RegisterCount; i++)
{
+ /* Disable all GPEs in this register */
+
Status = AcpiHwLowLevelWrite (8, 0x00,
&GpeBlock->RegisterInfo[i].EnableAddress);
if (ACPI_FAILURE (Status))
@@ -476,18 +473,15 @@ AcpiHwClearGpeBlock (
ACPI_GPE_BLOCK_INFO *GpeBlock)
{
UINT32 i;
- ACPI_GPE_REGISTER_INFO *GpeRegisterInfo;
ACPI_STATUS Status;
- /* Get the register info for the entire GPE block */
-
- GpeRegisterInfo = GpeBlock->RegisterInfo;
-
/* Examine each GPE Register within the block */
for (i = 0; i < GpeBlock->RegisterCount; i++)
{
+ /* Clear all GPEs in this register */
+
Status = AcpiHwLowLevelWrite (8, 0xFF,
&GpeBlock->RegisterInfo[i].StatusAddress);
if (ACPI_FAILURE (Status))
@@ -627,6 +621,15 @@ AcpiHwEnableNonWakeupGpeBlock (
for (i = 0; i < GpeBlock->RegisterCount; i++)
{
+ /* Clear the entire status register */
+
+ Status = AcpiHwLowLevelWrite (8, 0xFF,
+ &GpeBlock->RegisterInfo[i].StatusAddress);
+ if (ACPI_FAILURE (Status))
+ {
+ return (Status);
+ }
+
/*
* We previously stored the enabled status of all GPEs.
* Blast them back in.
diff --git a/sys/contrib/dev/acpica/hwregs.c b/sys/contrib/dev/acpica/hwregs.c
index 6997d293d91c..240b6a7ba1dd 100644
--- a/sys/contrib/dev/acpica/hwregs.c
+++ b/sys/contrib/dev/acpica/hwregs.c
@@ -3,7 +3,7 @@
*
* Module Name: hwregs - Read/write access functions for the various ACPI
* control and status registers.
- * $Revision: 152 $
+ * $Revision: 154 $
*
******************************************************************************/
@@ -11,7 +11,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -233,12 +233,12 @@ AcpiGetSleepTypeData (
/*
* Evaluate the namespace object containing the values for this state
*/
- Status = AcpiNsEvaluateByName ((char *) AcpiGbl_DbSleepStates[SleepState],
+ Status = AcpiNsEvaluateByName ((char *) AcpiGbl_SleepStateNames[SleepState],
NULL, &ObjDesc);
if (ACPI_FAILURE (Status))
{
ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, "%s while evaluating SleepState [%s]\n",
- AcpiFormatException (Status), AcpiGbl_DbSleepStates[SleepState]));
+ AcpiFormatException (Status), AcpiGbl_SleepStateNames[SleepState]));
return_ACPI_STATUS (Status);
}
@@ -289,7 +289,7 @@ AcpiGetSleepTypeData (
if (ACPI_FAILURE (Status))
{
ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "While evaluating SleepState [%s], bad Sleep object %p type %s\n",
- AcpiGbl_DbSleepStates[SleepState], ObjDesc, AcpiUtGetObjectTypeName (ObjDesc)));
+ AcpiGbl_SleepStateNames[SleepState], ObjDesc, AcpiUtGetObjectTypeName (ObjDesc)));
}
AcpiUtRemoveReference (ObjDesc);
diff --git a/sys/contrib/dev/acpica/hwsleep.c b/sys/contrib/dev/acpica/hwsleep.c
index 137a4771999c..1c0ba84c8dc6 100644
--- a/sys/contrib/dev/acpica/hwsleep.c
+++ b/sys/contrib/dev/acpica/hwsleep.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Name: hwsleep.c - ACPI Hardware Sleep/Wake Interface
- * $Revision: 58 $
+ * $Revision: 65 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -121,6 +121,19 @@
ACPI_MODULE_NAME ("hwsleep")
+#define METHOD_NAME__BFS "\\_BFS"
+#define METHOD_NAME__GTS "\\_GTS"
+#define METHOD_NAME__PTS "\\_PTS"
+#define METHOD_NAME__SST "\\_SI._SST"
+#define METHOD_NAME__WAK "\\_WAK"
+
+#define ACPI_SST_INDICATOR_OFF 0
+#define ACPI_SST_WORKING 1
+#define ACPI_SST_WAKING 2
+#define ACPI_SST_SLEEPING 3
+#define ACPI_SST_SLEEP_CONTEXT 4
+
+
/******************************************************************************
*
* FUNCTION: AcpiSetFirmwareWakingVector
@@ -250,21 +263,44 @@ AcpiEnterSleepStatePrep (
/* Run the _PTS and _GTS methods */
- Status = AcpiEvaluateObject (NULL, "\\_PTS", &ArgList, NULL);
+ Status = AcpiEvaluateObject (NULL, METHOD_NAME__PTS, &ArgList, NULL);
if (ACPI_FAILURE (Status) && Status != AE_NOT_FOUND)
{
return_ACPI_STATUS (Status);
}
- Status = AcpiEvaluateObject (NULL, "\\_GTS", &ArgList, NULL);
+ Status = AcpiEvaluateObject (NULL, METHOD_NAME__GTS, &ArgList, NULL);
if (ACPI_FAILURE (Status) && Status != AE_NOT_FOUND)
{
return_ACPI_STATUS (Status);
}
+ /* Setup the argument to _SST */
+
+ switch (SleepState)
+ {
+ case ACPI_STATE_S0:
+ Arg.Integer.Value = ACPI_SST_WORKING;
+ break;
+
+ case ACPI_STATE_S1:
+ case ACPI_STATE_S2:
+ case ACPI_STATE_S3:
+ Arg.Integer.Value = ACPI_SST_SLEEPING;
+ break;
+
+ case ACPI_STATE_S4:
+ Arg.Integer.Value = ACPI_SST_SLEEP_CONTEXT;
+ break;
+
+ default:
+ Arg.Integer.Value = ACPI_SST_INDICATOR_OFF; /* Default is indicator off */
+ break;
+ }
+
/* Set the system indicators to show the desired sleep state. */
- Status = AcpiEvaluateObject (NULL, "\\_SI._SST", &ArgList, NULL);
+ Status = AcpiEvaluateObject (NULL, METHOD_NAME__SST, &ArgList, NULL);
if (ACPI_FAILURE (Status) && Status != AE_NOT_FOUND)
{
ACPI_REPORT_ERROR (("Method _SST failed, %s\n", AcpiFormatException (Status)));
@@ -338,7 +374,7 @@ AcpiEnterSleepState (
}
}
- Status = AcpiHwDisableNonWakeupGpes();
+ Status = AcpiHwDisableNonWakeupGpes ();
if (ACPI_FAILURE (Status))
{
return_ACPI_STATUS (Status);
@@ -363,6 +399,11 @@ AcpiEnterSleepState (
PM1AControl |= (AcpiGbl_SleepTypeA << SleepTypeRegInfo->BitPosition);
PM1BControl |= (AcpiGbl_SleepTypeB << SleepTypeRegInfo->BitPosition);
+ /*
+ * We split the writes of SLP_TYP and SLP_EN to workaround
+ * poorly implemented hardware.
+ */
+
/* Write #1: fill in SLP_TYP data */
Status = AcpiHwRegisterWrite (ACPI_MTX_DO_NOT_LOCK, ACPI_REGISTER_PM1A_CONTROL, PM1AControl);
@@ -407,7 +448,7 @@ AcpiEnterSleepState (
* Wait ten seconds, then try again. This is to get S4/S5 to work on all machines.
*
* We wait so long to allow chipsets that poll this reg very slowly to
- * still read the right value. Ideally, this entire block would go
+ * still read the right value. Ideally, this block would go
* away entirely.
*/
AcpiOsStall (10000000);
@@ -462,12 +503,25 @@ AcpiEnterSleepStateS4bios (
ACPI_FUNCTION_TRACE ("AcpiEnterSleepStateS4bios");
- AcpiSetRegister (ACPI_BITREG_WAKE_STATUS, 1, ACPI_MTX_DO_NOT_LOCK);
- AcpiHwClearAcpiStatus(ACPI_MTX_DO_NOT_LOCK);
+ Status = AcpiSetRegister (ACPI_BITREG_WAKE_STATUS, 1, ACPI_MTX_DO_NOT_LOCK);
+ if (ACPI_FAILURE (Status))
+ {
+ return_ACPI_STATUS (Status);
+ }
- AcpiHwDisableNonWakeupGpes();
+ Status = AcpiHwClearAcpiStatus (ACPI_MTX_DO_NOT_LOCK);
+ if (ACPI_FAILURE (Status))
+ {
+ return_ACPI_STATUS (Status);
+ }
- ACPI_FLUSH_CPU_CACHE();
+ Status = AcpiHwDisableNonWakeupGpes ();
+ if (ACPI_FAILURE (Status))
+ {
+ return_ACPI_STATUS (Status);
+ }
+
+ ACPI_FLUSH_CPU_CACHE ();
Status = AcpiOsWritePort (AcpiGbl_FADT->SmiCmd, (UINT32) AcpiGbl_FADT->S4BiosReq, 8);
@@ -505,31 +559,49 @@ AcpiLeaveSleepState (
ACPI_STATUS Status;
ACPI_BIT_REGISTER_INFO *SleepTypeRegInfo;
ACPI_BIT_REGISTER_INFO *SleepEnableRegInfo;
- UINT32 PM1xControl;
+ UINT32 PM1AControl;
+ UINT32 PM1BControl;
ACPI_FUNCTION_TRACE ("AcpiLeaveSleepState");
- /* Some machines require SLP_TYPE and SLP_EN to be cleared */
- SleepTypeRegInfo = AcpiHwGetBitRegisterInfo (ACPI_BITREG_SLEEP_TYPE_A);
- SleepEnableRegInfo = AcpiHwGetBitRegisterInfo (ACPI_BITREG_SLEEP_ENABLE);
-
- /* Get current value of PM1A control */
-
- Status = AcpiHwRegisterRead (ACPI_MTX_DO_NOT_LOCK,
- ACPI_REGISTER_PM1_CONTROL, &PM1xControl);
+ /*
+ * Set SLP_TYPE and SLP_EN to state S0.
+ * This is unclear from the ACPI Spec, but it is required
+ * by some machines.
+ */
+ Status = AcpiGetSleepTypeData (ACPI_STATE_S0,
+ &AcpiGbl_SleepTypeA, &AcpiGbl_SleepTypeB);
if (ACPI_SUCCESS (Status))
{
- /* Clear SLP_TYP and SLP_EN */
+ SleepTypeRegInfo = AcpiHwGetBitRegisterInfo (ACPI_BITREG_SLEEP_TYPE_A);
+ SleepEnableRegInfo = AcpiHwGetBitRegisterInfo (ACPI_BITREG_SLEEP_ENABLE);
+
+ /* Get current value of PM1A control */
+
+ Status = AcpiHwRegisterRead (ACPI_MTX_DO_NOT_LOCK,
+ ACPI_REGISTER_PM1_CONTROL, &PM1AControl);
+ if (ACPI_SUCCESS (Status))
+ {
+ /* Clear SLP_EN and SLP_TYP fields */
+
+ PM1AControl &= ~(SleepTypeRegInfo->AccessBitMask |
+ SleepEnableRegInfo->AccessBitMask);
+ PM1BControl = PM1AControl;
+
+ /* Insert SLP_TYP bits */
+
+ PM1AControl |= (AcpiGbl_SleepTypeA << SleepTypeRegInfo->BitPosition);
+ PM1BControl |= (AcpiGbl_SleepTypeB << SleepTypeRegInfo->BitPosition);
- PM1xControl &= ~(SleepTypeRegInfo->AccessBitMask |
- SleepEnableRegInfo->AccessBitMask);
+ /* Just ignore any errors */
- AcpiHwRegisterWrite (ACPI_MTX_DO_NOT_LOCK,
- ACPI_REGISTER_PM1A_CONTROL, PM1xControl);
- AcpiHwRegisterWrite (ACPI_MTX_DO_NOT_LOCK,
- ACPI_REGISTER_PM1B_CONTROL, PM1xControl);
+ (void) AcpiHwRegisterWrite (ACPI_MTX_DO_NOT_LOCK,
+ ACPI_REGISTER_PM1A_CONTROL, PM1AControl);
+ (void) AcpiHwRegisterWrite (ACPI_MTX_DO_NOT_LOCK,
+ ACPI_REGISTER_PM1B_CONTROL, PM1BControl);
+ }
}
/* Ensure EnterSleepStatePrep -> EnterSleepState ordering */
@@ -544,21 +616,21 @@ AcpiLeaveSleepState (
/* Ignore any errors from these methods */
- Arg.Integer.Value = 0;
- Status = AcpiEvaluateObject (NULL, "\\_SI._SST", &ArgList, NULL);
+ Arg.Integer.Value = ACPI_SST_WAKING;
+ Status = AcpiEvaluateObject (NULL, METHOD_NAME__SST, &ArgList, NULL);
if (ACPI_FAILURE (Status) && Status != AE_NOT_FOUND)
{
ACPI_REPORT_ERROR (("Method _SST failed, %s\n", AcpiFormatException (Status)));
}
Arg.Integer.Value = SleepState;
- Status = AcpiEvaluateObject (NULL, "\\_BFS", &ArgList, NULL);
+ Status = AcpiEvaluateObject (NULL, METHOD_NAME__BFS, &ArgList, NULL);
if (ACPI_FAILURE (Status) && Status != AE_NOT_FOUND)
{
ACPI_REPORT_ERROR (("Method _BFS failed, %s\n", AcpiFormatException (Status)));
}
- Status = AcpiEvaluateObject (NULL, "\\_WAK", &ArgList, NULL);
+ Status = AcpiEvaluateObject (NULL, METHOD_NAME__WAK, &ArgList, NULL);
if (ACPI_FAILURE (Status) && Status != AE_NOT_FOUND)
{
ACPI_REPORT_ERROR (("Method _WAK failed, %s\n", AcpiFormatException (Status)));
@@ -566,14 +638,33 @@ AcpiLeaveSleepState (
/* _WAK returns stuff - do we want to look at it? */
- Status = AcpiHwEnableNonWakeupGpes();
+ Status = AcpiHwEnableNonWakeupGpes ();
if (ACPI_FAILURE (Status))
{
return_ACPI_STATUS (Status);
}
+ /* Enable power button */
+
+ AcpiSetRegister(AcpiGbl_FixedEventInfo[ACPI_EVENT_POWER_BUTTON].EnableRegisterId,
+ 1, ACPI_MTX_DO_NOT_LOCK);
+ AcpiSetRegister(AcpiGbl_FixedEventInfo[ACPI_EVENT_POWER_BUTTON].StatusRegisterId,
+ 1, ACPI_MTX_DO_NOT_LOCK);
+
/* Enable BM arbitration */
Status = AcpiSetRegister (ACPI_BITREG_ARB_DISABLE, 0, ACPI_MTX_LOCK);
+ if (ACPI_FAILURE (Status))
+ {
+ return_ACPI_STATUS (Status);
+ }
+
+ Arg.Integer.Value = ACPI_SST_WORKING;
+ Status = AcpiEvaluateObject (NULL, METHOD_NAME__SST, &ArgList, NULL);
+ if (ACPI_FAILURE (Status) && Status != AE_NOT_FOUND)
+ {
+ ACPI_REPORT_ERROR (("Method _SST failed, %s\n", AcpiFormatException (Status)));
+ }
+
return_ACPI_STATUS (Status);
}
diff --git a/sys/contrib/dev/acpica/hwtimer.c b/sys/contrib/dev/acpica/hwtimer.c
index 5e4cb26c6cfb..fa037ff00418 100644
--- a/sys/contrib/dev/acpica/hwtimer.c
+++ b/sys/contrib/dev/acpica/hwtimer.c
@@ -2,7 +2,7 @@
/******************************************************************************
*
* Name: hwtimer.c - ACPI Power Management Timer Interface
- * $Revision: 25 $
+ * $Revision: 26 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/nsaccess.c b/sys/contrib/dev/acpica/nsaccess.c
index 2ab0b9079f6f..e6554c75b692 100644
--- a/sys/contrib/dev/acpica/nsaccess.c
+++ b/sys/contrib/dev/acpica/nsaccess.c
@@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: nsaccess - Top-level functions for accessing ACPI namespace
- * $Revision: 175 $
+ * $Revision: 177 $
*
******************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -406,7 +406,7 @@ AcpiNsLookup (
PrefixNode = ScopeInfo->Scope.Node;
if (ACPI_GET_DESCRIPTOR_TYPE (PrefixNode) != ACPI_DESC_TYPE_NAMED)
{
- ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "%p Not a namespace node [%s]\n",
+ ACPI_REPORT_ERROR (("NsLookup: %p is not a namespace node [%s]\n",
PrefixNode, AcpiUtGetDescriptorName (PrefixNode)));
return_ACPI_STATUS (AE_AML_INTERNAL);
}
diff --git a/sys/contrib/dev/acpica/nsalloc.c b/sys/contrib/dev/acpica/nsalloc.c
index 26ddd8551d6f..4736829f6159 100644
--- a/sys/contrib/dev/acpica/nsalloc.c
+++ b/sys/contrib/dev/acpica/nsalloc.c
@@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: nsalloc - Namespace allocation and deletion utilities
- * $Revision: 83 $
+ * $Revision: 84 $
*
******************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/nsdump.c b/sys/contrib/dev/acpica/nsdump.c
index a71b913ff33c..1558421c688c 100644
--- a/sys/contrib/dev/acpica/nsdump.c
+++ b/sys/contrib/dev/acpica/nsdump.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: nsdump - table dumping routines for debug
- * $Revision: 156 $
+ * $Revision: 157 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/nsdumpdv.c b/sys/contrib/dev/acpica/nsdumpdv.c
index ac259b04fa06..0ea37d3bf1dd 100644
--- a/sys/contrib/dev/acpica/nsdumpdv.c
+++ b/sys/contrib/dev/acpica/nsdumpdv.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: nsdump - table dumping routines for debug
- * $Revision: 9 $
+ * $Revision: 10 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/nseval.c b/sys/contrib/dev/acpica/nseval.c
index e325a7bb6cb2..e464f8cb1ab1 100644
--- a/sys/contrib/dev/acpica/nseval.c
+++ b/sys/contrib/dev/acpica/nseval.c
@@ -2,7 +2,7 @@
*
* Module Name: nseval - Object evaluation interfaces -- includes control
* method lookup and execution.
- * $Revision: 121 $
+ * $Revision: 123 $
*
******************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -188,7 +188,7 @@ AcpiNsEvaluateRelative (
Status = AcpiUtAcquireMutex (ACPI_MTX_NAMESPACE);
if (ACPI_FAILURE (Status))
{
- return_ACPI_STATUS (Status);
+ goto Cleanup;
}
PrefixNode = AcpiNsMapHandleToNode (Handle);
@@ -279,7 +279,7 @@ AcpiNsEvaluateByName (
Status = AcpiUtAcquireMutex (ACPI_MTX_NAMESPACE);
if (ACPI_FAILURE (Status))
{
- return_ACPI_STATUS (Status);
+ goto Cleanup;
}
/* Lookup the name in the namespace */
diff --git a/sys/contrib/dev/acpica/nsinit.c b/sys/contrib/dev/acpica/nsinit.c
index 16f05b0c10af..a4a0ac85321d 100644
--- a/sys/contrib/dev/acpica/nsinit.c
+++ b/sys/contrib/dev/acpica/nsinit.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: nsinit - namespace initialization
- * $Revision: 57 $
+ * $Revision: 58 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/nsload.c b/sys/contrib/dev/acpica/nsload.c
index 5cd5d43686b1..766706ce8223 100644
--- a/sys/contrib/dev/acpica/nsload.c
+++ b/sys/contrib/dev/acpica/nsload.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: nsload - namespace loading/expanding/contracting procedures
- * $Revision: 66 $
+ * $Revision: 67 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/nsnames.c b/sys/contrib/dev/acpica/nsnames.c
index f7f3528e0075..0696b16da19d 100644
--- a/sys/contrib/dev/acpica/nsnames.c
+++ b/sys/contrib/dev/acpica/nsnames.c
@@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: nsnames - Name manipulation and search
- * $Revision: 83 $
+ * $Revision: 84 $
*
******************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/nsobject.c b/sys/contrib/dev/acpica/nsobject.c
index 35749e533f12..0ac480c7ebd2 100644
--- a/sys/contrib/dev/acpica/nsobject.c
+++ b/sys/contrib/dev/acpica/nsobject.c
@@ -2,7 +2,7 @@
*
* Module Name: nsobject - Utilities for objects attached to namespace
* table entries
- * $Revision: 89 $
+ * $Revision: 90 $
*
******************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/nsparse.c b/sys/contrib/dev/acpica/nsparse.c
index 54fd0c150ac6..824fe63f8b29 100644
--- a/sys/contrib/dev/acpica/nsparse.c
+++ b/sys/contrib/dev/acpica/nsparse.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: nsparse - namespace interface to AML parser
- * $Revision: 4 $
+ * $Revision: 5 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/nssearch.c b/sys/contrib/dev/acpica/nssearch.c
index 945f42664ccd..8616277a80e7 100644
--- a/sys/contrib/dev/acpica/nssearch.c
+++ b/sys/contrib/dev/acpica/nssearch.c
@@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: nssearch - Namespace search
- * $Revision: 99 $
+ * $Revision: 100 $
*
******************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/nsutils.c b/sys/contrib/dev/acpica/nsutils.c
index 7cbfdf8fdf6f..b06ab99d1b8a 100644
--- a/sys/contrib/dev/acpica/nsutils.c
+++ b/sys/contrib/dev/acpica/nsutils.c
@@ -2,7 +2,7 @@
*
* Module Name: nsutils - Utilities for accessing ACPI namespace, accessing
* parents and siblings and Scope manipulation
- * $Revision: 131 $
+ * $Revision: 133 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -1053,7 +1053,7 @@ AcpiNsGetNodeByPath (
Status = AcpiUtAcquireMutex (ACPI_MTX_NAMESPACE);
if (ACPI_FAILURE (Status))
{
- return_ACPI_STATUS (Status);
+ goto Cleanup;
}
/* Setup lookup scope (search starting point) */
@@ -1072,10 +1072,10 @@ AcpiNsGetNodeByPath (
InternalPath, AcpiFormatException (Status)));
}
- /* Cleanup */
-
(void) AcpiUtReleaseMutex (ACPI_MTX_NAMESPACE);
+Cleanup:
+ /* Cleanup */
if (InternalPath)
{
ACPI_MEM_FREE (InternalPath);
diff --git a/sys/contrib/dev/acpica/nswalk.c b/sys/contrib/dev/acpica/nswalk.c
index b1dad486eee9..dab326424558 100644
--- a/sys/contrib/dev/acpica/nswalk.c
+++ b/sys/contrib/dev/acpica/nswalk.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: nswalk - Functions for walking the ACPI namespace
- * $Revision: 35 $
+ * $Revision: 36 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/nsxfeval.c b/sys/contrib/dev/acpica/nsxfeval.c
index e779c440675c..cc75b68c98da 100644
--- a/sys/contrib/dev/acpica/nsxfeval.c
+++ b/sys/contrib/dev/acpica/nsxfeval.c
@@ -2,7 +2,7 @@
*
* Module Name: nsxfeval - Public interfaces to the ACPI subsystem
* ACPI Object evaluation interfaces
- * $Revision: 10 $
+ * $Revision: 11 $
*
******************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/nsxfname.c b/sys/contrib/dev/acpica/nsxfname.c
index b26db60bf44e..8b0d7a4dac3f 100644
--- a/sys/contrib/dev/acpica/nsxfname.c
+++ b/sys/contrib/dev/acpica/nsxfname.c
@@ -2,7 +2,7 @@
*
* Module Name: nsxfname - Public interfaces to the ACPI subsystem
* ACPI Namespace oriented interfaces
- * $Revision: 98 $
+ * $Revision: 100 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -424,6 +424,14 @@ AcpiGetObjectInfo (
Info.Valid |= ACPI_VALID_ADR;
}
+ /* Execute the Device._SxD methods */
+
+ Status = AcpiUtExecute_Sxds (Node, Info.HighestDstates);
+ if (ACPI_SUCCESS (Status))
+ {
+ Info.Valid |= ACPI_VALID_STA;
+ }
+
Status = AE_OK;
}
diff --git a/sys/contrib/dev/acpica/nsxfobj.c b/sys/contrib/dev/acpica/nsxfobj.c
index 49310caf11af..53bad7a05bd4 100644
--- a/sys/contrib/dev/acpica/nsxfobj.c
+++ b/sys/contrib/dev/acpica/nsxfobj.c
@@ -2,7 +2,7 @@
*
* Module Name: nsxfobj - Public interfaces to the ACPI subsystem
* ACPI Object oriented interfaces
- * $Revision: 116 $
+ * $Revision: 117 $
*
******************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/osunixxf.c b/sys/contrib/dev/acpica/osunixxf.c
index eb42b9238d93..d536f8f5d750 100644
--- a/sys/contrib/dev/acpica/osunixxf.c
+++ b/sys/contrib/dev/acpica/osunixxf.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -822,7 +822,7 @@ AcpiOsSleep (
sleep (seconds + (milliseconds / 1000)); /* Sleep for whole seconds */
- /*
+ /*
* Arg to usleep() must be less than 1,000,000 (1 second)
*/
usleep ((milliseconds % 1000) * 1000); /* Sleep for remaining usecs */
diff --git a/sys/contrib/dev/acpica/psargs.c b/sys/contrib/dev/acpica/psargs.c
index 7b1b69baf944..3c855fc89a3e 100644
--- a/sys/contrib/dev/acpica/psargs.c
+++ b/sys/contrib/dev/acpica/psargs.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: psargs - Parse AML opcode arguments
- * $Revision: 74 $
+ * $Revision: 76 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -399,8 +399,8 @@ AcpiPsGetNextNamepath (
if (!MethodDesc)
{
- ACPI_DEBUG_PRINT ((ACPI_DB_PARSE,
- "Control Method - %p has no attached object\n",
+ ACPI_REPORT_ERROR ((
+ "PsGetNextNamepath: Control Method %p has no attached object\n",
Node));
return_ACPI_STATUS (AE_AML_INTERNAL);
}
diff --git a/sys/contrib/dev/acpica/psopcode.c b/sys/contrib/dev/acpica/psopcode.c
index 4a94a3aace0d..8debf2e78cd5 100644
--- a/sys/contrib/dev/acpica/psopcode.c
+++ b/sys/contrib/dev/acpica/psopcode.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: psopcode - Parser/Interpreter opcode information table
- * $Revision: 77 $
+ * $Revision: 78 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/psparse.c b/sys/contrib/dev/acpica/psparse.c
index fd65fb9b53be..44b129306741 100644
--- a/sys/contrib/dev/acpica/psparse.c
+++ b/sys/contrib/dev/acpica/psparse.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: psparse - Parser top level AML parse routines
- * $Revision: 142 $
+ * $Revision: 143 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/psscope.c b/sys/contrib/dev/acpica/psscope.c
index 4c64aa632556..bc1781898019 100644
--- a/sys/contrib/dev/acpica/psscope.c
+++ b/sys/contrib/dev/acpica/psscope.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: psscope - Parser scope stack management routines
- * $Revision: 36 $
+ * $Revision: 37 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/pstree.c b/sys/contrib/dev/acpica/pstree.c
index f4f1d482a655..1acfffc5a55d 100644
--- a/sys/contrib/dev/acpica/pstree.c
+++ b/sys/contrib/dev/acpica/pstree.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: pstree - Parser op tree manipulation/traversal/search
- * $Revision: 41 $
+ * $Revision: 42 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/psutils.c b/sys/contrib/dev/acpica/psutils.c
index 78a005b3d101..6c9e2b4de084 100644
--- a/sys/contrib/dev/acpica/psutils.c
+++ b/sys/contrib/dev/acpica/psutils.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: psutils - Parser miscellaneous utilities (Parser only)
- * $Revision: 55 $
+ * $Revision: 56 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/pswalk.c b/sys/contrib/dev/acpica/pswalk.c
index 74813c2e718a..373b46681155 100644
--- a/sys/contrib/dev/acpica/pswalk.c
+++ b/sys/contrib/dev/acpica/pswalk.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: pswalk - Parser routines to walk parsed op tree(s)
- * $Revision: 69 $
+ * $Revision: 70 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/psxface.c b/sys/contrib/dev/acpica/psxface.c
index 05ad58a59e78..4a153a8f0dab 100644
--- a/sys/contrib/dev/acpica/psxface.c
+++ b/sys/contrib/dev/acpica/psxface.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: psxface - Parser external interfaces
- * $Revision: 69 $
+ * $Revision: 71 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -289,7 +289,6 @@ AcpiPsxExecute (
goto Cleanup2; /* Walk state already deleted */
-
Cleanup3:
AcpiDsDeleteWalkState (WalkState);
diff --git a/sys/contrib/dev/acpica/rsaddr.c b/sys/contrib/dev/acpica/rsaddr.c
index b6a5e8211dd0..50fdec399caa 100644
--- a/sys/contrib/dev/acpica/rsaddr.c
+++ b/sys/contrib/dev/acpica/rsaddr.c
@@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: rsaddr - Address resource descriptors (16/32/64)
- * $Revision: 33 $
+ * $Revision: 34 $
*
******************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/rscalc.c b/sys/contrib/dev/acpica/rscalc.c
index aabf837a1f84..1b36dbd973a3 100644
--- a/sys/contrib/dev/acpica/rscalc.c
+++ b/sys/contrib/dev/acpica/rscalc.c
@@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: rscalc - Calculate stream and list lengths
- * $Revision: 49 $
+ * $Revision: 50 $
*
******************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/rscreate.c b/sys/contrib/dev/acpica/rscreate.c
index 168fd6c7135b..7e1bbb4dd975 100644
--- a/sys/contrib/dev/acpica/rscreate.c
+++ b/sys/contrib/dev/acpica/rscreate.c
@@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: rscreate - Create resource lists/tables
- * $Revision: 65 $
+ * $Revision: 66 $
*
******************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/rsdump.c b/sys/contrib/dev/acpica/rsdump.c
index cd177d847877..d37dc02e2223 100644
--- a/sys/contrib/dev/acpica/rsdump.c
+++ b/sys/contrib/dev/acpica/rsdump.c
@@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: rsdump - Functions to display the resource structures.
- * $Revision: 37 $
+ * $Revision: 38 $
*
******************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/rsio.c b/sys/contrib/dev/acpica/rsio.c
index d3219095b257..439f380675c1 100644
--- a/sys/contrib/dev/acpica/rsio.c
+++ b/sys/contrib/dev/acpica/rsio.c
@@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: rsio - IO and DMA resource descriptors
- * $Revision: 24 $
+ * $Revision: 25 $
*
******************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/rsirq.c b/sys/contrib/dev/acpica/rsirq.c
index 7b2d66819317..b3d947d83790 100644
--- a/sys/contrib/dev/acpica/rsirq.c
+++ b/sys/contrib/dev/acpica/rsirq.c
@@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: rsirq - IRQ resource descriptors
- * $Revision: 37 $
+ * $Revision: 38 $
*
******************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/rslist.c b/sys/contrib/dev/acpica/rslist.c
index 1920e20e7d1e..2c9d580995c9 100644
--- a/sys/contrib/dev/acpica/rslist.c
+++ b/sys/contrib/dev/acpica/rslist.c
@@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: rslist - Linked list utilities
- * $Revision: 33 $
+ * $Revision: 34 $
*
******************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/rsmemory.c b/sys/contrib/dev/acpica/rsmemory.c
index 7462de4d7deb..8f78c5f0b980 100644
--- a/sys/contrib/dev/acpica/rsmemory.c
+++ b/sys/contrib/dev/acpica/rsmemory.c
@@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: rsmem24 - Memory resource descriptors
- * $Revision: 24 $
+ * $Revision: 25 $
*
******************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/rsmisc.c b/sys/contrib/dev/acpica/rsmisc.c
index 0aca8a6d6e39..293e62676ee1 100644
--- a/sys/contrib/dev/acpica/rsmisc.c
+++ b/sys/contrib/dev/acpica/rsmisc.c
@@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: rsmisc - Miscellaneous resource descriptors
- * $Revision: 26 $
+ * $Revision: 27 $
*
******************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/rsutils.c b/sys/contrib/dev/acpica/rsutils.c
index e4e35a9bea2d..42cd2c845ebd 100644
--- a/sys/contrib/dev/acpica/rsutils.c
+++ b/sys/contrib/dev/acpica/rsutils.c
@@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: rsutils - Utilities for the resource manager
- * $Revision: 37 $
+ * $Revision: 38 $
*
******************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/rsxface.c b/sys/contrib/dev/acpica/rsxface.c
index 2785898be7ef..b63d49a70914 100644
--- a/sys/contrib/dev/acpica/rsxface.c
+++ b/sys/contrib/dev/acpica/rsxface.c
@@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: rsxface - Public interfaces to the resource manager
- * $Revision: 27 $
+ * $Revision: 29 $
*
******************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -320,6 +320,7 @@ AcpiWalkResources (
ACPI_STATUS Status;
ACPI_BUFFER Buffer = {ACPI_ALLOCATE_BUFFER, NULL};
ACPI_RESOURCE *Resource;
+ ACPI_RESOURCE *BufferEnd;
ACPI_FUNCTION_TRACE ("AcpiWalkResources");
@@ -338,7 +339,13 @@ AcpiWalkResources (
return_ACPI_STATUS (Status);
}
- Resource = (ACPI_RESOURCE *) Buffer.Pointer;
+ /* Setup pointers */
+
+ Resource = (ACPI_RESOURCE *) Buffer.Pointer;
+ BufferEnd = (ACPI_RESOURCE *) ((UINT8 *) Buffer.Pointer + Buffer.Length);
+
+ /* Walk the resource list */
+
for (;;)
{
if (!Resource || Resource->Id == ACPI_RSTYPE_END_TAG)
@@ -354,6 +361,7 @@ AcpiWalkResources (
case AE_CTRL_DEPTH:
/* Just keep going */
+
Status = AE_OK;
break;
@@ -371,7 +379,16 @@ AcpiWalkResources (
goto Cleanup;
}
+ /* Get the next resource descriptor */
+
Resource = ACPI_NEXT_RESOURCE (Resource);
+
+ /* Check for end-of-buffer */
+
+ if (Resource >= BufferEnd)
+ {
+ goto Cleanup;
+ }
}
Cleanup:
diff --git a/sys/contrib/dev/acpica/tbconvrt.c b/sys/contrib/dev/acpica/tbconvrt.c
index 502fb6dee04c..7b6fb0b2111d 100644
--- a/sys/contrib/dev/acpica/tbconvrt.c
+++ b/sys/contrib/dev/acpica/tbconvrt.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: tbconvrt - ACPI Table conversion utilities
- * $Revision: 54 $
+ * $Revision: 56 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -217,12 +217,12 @@ AcpiTbConvertToXsdt (
if (AcpiGbl_RSDP->Revision < 2)
{
ACPI_STORE_ADDRESS (NewTable->TableOffsetEntry[i],
- ((RSDT_DESCRIPTOR_REV1 *) TableInfo->Pointer)->TableOffsetEntry[i]);
+ (ACPI_CAST_PTR (RSDT_DESCRIPTOR_REV1, TableInfo->Pointer))->TableOffsetEntry[i]);
}
else
{
NewTable->TableOffsetEntry[i] =
- ((XSDT_DESCRIPTOR *) TableInfo->Pointer)->TableOffsetEntry[i];
+ (ACPI_CAST_PTR (XSDT_DESCRIPTOR, TableInfo->Pointer))->TableOffsetEntry[i];
}
}
@@ -232,7 +232,7 @@ AcpiTbConvertToXsdt (
/* Point the table descriptor to the new table */
- TableInfo->Pointer = (ACPI_TABLE_HEADER *) NewTable;
+ TableInfo->Pointer = ACPI_CAST_PTR (ACPI_TABLE_HEADER, NewTable);
TableInfo->Length = TableSize;
TableInfo->Allocation = ACPI_MEM_ALLOCATED;
@@ -567,7 +567,7 @@ AcpiTbConvertTableFadt (void)
/* Install the new table */
- TableDesc->Pointer = (ACPI_TABLE_HEADER *) AcpiGbl_FADT;
+ TableDesc->Pointer = ACPI_CAST_PTR (ACPI_TABLE_HEADER, AcpiGbl_FADT);
TableDesc->Allocation = ACPI_MEM_ALLOCATED;
TableDesc->Length = sizeof (FADT_DESCRIPTOR_REV2);
diff --git a/sys/contrib/dev/acpica/tbget.c b/sys/contrib/dev/acpica/tbget.c
index 0850f5fd6358..d270334768ad 100644
--- a/sys/contrib/dev/acpica/tbget.c
+++ b/sys/contrib/dev/acpica/tbget.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: tbget - ACPI Table get* routines
- * $Revision: 87 $
+ * $Revision: 88 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/tbgetall.c b/sys/contrib/dev/acpica/tbgetall.c
index ef20eb835311..cceecefeac95 100644
--- a/sys/contrib/dev/acpica/tbgetall.c
+++ b/sys/contrib/dev/acpica/tbgetall.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: tbgetall - Get all required ACPI tables
- * $Revision: 8 $
+ * $Revision: 9 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/tbinstal.c b/sys/contrib/dev/acpica/tbinstal.c
index 691ef715a462..ab13c765a8b4 100644
--- a/sys/contrib/dev/acpica/tbinstal.c
+++ b/sys/contrib/dev/acpica/tbinstal.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: tbinstal - ACPI table installation and removal
- * $Revision: 72 $
+ * $Revision: 73 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/tbrsdt.c b/sys/contrib/dev/acpica/tbrsdt.c
index 90da4431ea87..47e5f866c3f0 100644
--- a/sys/contrib/dev/acpica/tbrsdt.c
+++ b/sys/contrib/dev/acpica/tbrsdt.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: tbrsdt - ACPI RSDT table utilities
- * $Revision: 9 $
+ * $Revision: 12 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -320,6 +320,17 @@ AcpiTbValidateRsdt (
AcpiGbl_RSDP->RsdtPhysicalAddress,
(void *) (ACPI_NATIVE_UINT) AcpiGbl_RSDP->RsdtPhysicalAddress));
+ if (AcpiGbl_RSDP->Revision < 2)
+ {
+ ACPI_REPORT_ERROR (("Looking for RSDT (RSDP->Rev < 2)\n"))
+ }
+ else
+ {
+ ACPI_REPORT_ERROR (("Looking for XSDT (RSDP->Rev >= 2)\n"))
+ }
+
+ ACPI_DUMP_BUFFER ((char *) TablePtr, 48);
+
return (AE_BAD_SIGNATURE);
}
@@ -396,7 +407,7 @@ AcpiTbGetTableRsdt (
return_ACPI_STATUS (Status);
}
- AcpiGbl_XSDT = (XSDT_DESCRIPTOR *) TableInfo.Pointer;
+ AcpiGbl_XSDT = ACPI_CAST_PTR (XSDT_DESCRIPTOR, TableInfo.Pointer);
ACPI_DEBUG_PRINT ((ACPI_DB_INFO, "XSDT located at %p\n", AcpiGbl_XSDT));
return_ACPI_STATUS (Status);
diff --git a/sys/contrib/dev/acpica/tbutils.c b/sys/contrib/dev/acpica/tbutils.c
index c006a5b6147c..8860c55a83c1 100644
--- a/sys/contrib/dev/acpica/tbutils.c
+++ b/sys/contrib/dev/acpica/tbutils.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: tbutils - Table manipulation utilities
- * $Revision: 60 $
+ * $Revision: 61 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/tbxface.c b/sys/contrib/dev/acpica/tbxface.c
index b5ebb793c0d5..79479d9d4643 100644
--- a/sys/contrib/dev/acpica/tbxface.c
+++ b/sys/contrib/dev/acpica/tbxface.c
@@ -2,7 +2,7 @@
*
* Module Name: tbxface - Public interfaces to the ACPI subsystem
* ACPI table oriented interfaces
- * $Revision: 63 $
+ * $Revision: 64 $
*
*****************************************************************************/
@@ -10,7 +10,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/tbxfroot.c b/sys/contrib/dev/acpica/tbxfroot.c
index 55624cf4b278..01b9dd31ee12 100644
--- a/sys/contrib/dev/acpica/tbxfroot.c
+++ b/sys/contrib/dev/acpica/tbxfroot.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: tbxfroot - Find the root ACPI table (RSDT)
- * $Revision: 70 $
+ * $Revision: 72 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -330,12 +330,12 @@ AcpiGetFirmwareTable (
if (AcpiGbl_RSDP->Revision < 2)
{
- Address.Pointer.Value = ((RSDT_DESCRIPTOR *) RsdtInfo.Pointer)->TableOffsetEntry[i];
+ Address.Pointer.Value = (ACPI_CAST_PTR (RSDT_DESCRIPTOR, RsdtInfo.Pointer))->TableOffsetEntry[i];
}
else
{
Address.Pointer.Value = ACPI_GET_ADDRESS (
- ((XSDT_DESCRIPTOR *) RsdtInfo.Pointer)->TableOffsetEntry[i]);
+ (ACPI_CAST_PTR (XSDT_DESCRIPTOR, RsdtInfo.Pointer))->TableOffsetEntry[i]);
}
/* Get the table header */
diff --git a/sys/contrib/dev/acpica/utalloc.c b/sys/contrib/dev/acpica/utalloc.c
index 9234fe6e8fe7..ce036fed619d 100644
--- a/sys/contrib/dev/acpica/utalloc.c
+++ b/sys/contrib/dev/acpica/utalloc.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: utalloc - local cache and memory allocation routines
- * $Revision: 134 $
+ * $Revision: 135 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/utclib.c b/sys/contrib/dev/acpica/utclib.c
index 42b642236955..338a08bde498 100644
--- a/sys/contrib/dev/acpica/utclib.c
+++ b/sys/contrib/dev/acpica/utclib.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: cmclib - Local implementation of C library functions
- * $Revision: 51 $
+ * $Revision: 52 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/utcopy.c b/sys/contrib/dev/acpica/utcopy.c
index d3856780a104..370f22cfc0f0 100644
--- a/sys/contrib/dev/acpica/utcopy.c
+++ b/sys/contrib/dev/acpica/utcopy.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: utcopy - Internal to external object translation utilities
- * $Revision: 113 $
+ * $Revision: 114 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/utdebug.c b/sys/contrib/dev/acpica/utdebug.c
index cca5f5dd1942..e5792552f04b 100644
--- a/sys/contrib/dev/acpica/utdebug.c
+++ b/sys/contrib/dev/acpica/utdebug.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: utdebug - Debug print routines
- * $Revision: 110 $
+ * $Revision: 111 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/utdelete.c b/sys/contrib/dev/acpica/utdelete.c
index 50a5bb461010..39c5bd2024bc 100644
--- a/sys/contrib/dev/acpica/utdelete.c
+++ b/sys/contrib/dev/acpica/utdelete.c
@@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: utdelete - object deletion and reference count utilities
- * $Revision: 98 $
+ * $Revision: 99 $
*
******************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/uteval.c b/sys/contrib/dev/acpica/uteval.c
index 6ca97a2acc06..cf457869b497 100644
--- a/sys/contrib/dev/acpica/uteval.c
+++ b/sys/contrib/dev/acpica/uteval.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: uteval - Object evaluation
- * $Revision: 49 $
+ * $Revision: 51 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -664,3 +664,67 @@ AcpiUtExecute_STA (
AcpiUtRemoveReference (ObjDesc);
return_ACPI_STATUS (Status);
}
+
+
+/*******************************************************************************
+ *
+ * FUNCTION: AcpiUtExecute_Sxds
+ *
+ * PARAMETERS: DeviceNode - Node for the device
+ * *Flags - Where the status flags are returned
+ *
+ * RETURN: Status
+ *
+ * DESCRIPTION: Executes _STA for selected device and stores results in
+ * *Flags.
+ *
+ * NOTE: Internal function, no parameter validation
+ *
+ ******************************************************************************/
+
+ACPI_STATUS
+AcpiUtExecute_Sxds (
+ ACPI_NAMESPACE_NODE *DeviceNode,
+ UINT8 *Highest)
+{
+ ACPI_OPERAND_OBJECT *ObjDesc;
+ ACPI_STATUS Status;
+ UINT32 i;
+
+
+ ACPI_FUNCTION_TRACE ("UtExecute_Sxds");
+
+
+ for (i = 0; i < 4; i++)
+ {
+ Highest[i] = 0xFF;
+ Status = AcpiUtEvaluateObject (DeviceNode,
+ (char *) AcpiGbl_HighestDstateNames[i],
+ ACPI_BTYPE_INTEGER, &ObjDesc);
+ if (ACPI_FAILURE (Status))
+ {
+ if (Status != AE_NOT_FOUND)
+ {
+ ACPI_DEBUG_PRINT ((ACPI_DB_EXEC,
+ "%s on Device %4.4s, %s\n",
+ (char *) AcpiGbl_HighestDstateNames[i],
+ AcpiUtGetNodeName (DeviceNode),
+ AcpiFormatException (Status)));
+
+ return_ACPI_STATUS (Status);
+ }
+ }
+ else
+ {
+ /* Extract the Dstate value */
+
+ Highest[i] = (UINT8) ObjDesc->Integer.Value;
+
+ /* Delete the return object */
+
+ AcpiUtRemoveReference (ObjDesc);
+ }
+ }
+
+ return_ACPI_STATUS (AE_OK);
+}
diff --git a/sys/contrib/dev/acpica/utglobal.c b/sys/contrib/dev/acpica/utglobal.c
index 1a88f7c33862..39ebd58a269e 100644
--- a/sys/contrib/dev/acpica/utglobal.c
+++ b/sys/contrib/dev/acpica/utglobal.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: utglobal - Global variables for the ACPI subsystem
- * $Revision: 191 $
+ * $Revision: 193 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -251,7 +251,7 @@ BOOLEAN AcpiGbl_Shutdown = TRUE;
const UINT8 AcpiGbl_DecodeTo8bit [8] = {1,2,4,8,16,32,64,128};
-const char *AcpiGbl_DbSleepStates[ACPI_S_STATE_COUNT] = {
+const char *AcpiGbl_SleepStateNames[ACPI_S_STATE_COUNT] = {
"\\_S0_",
"\\_S1_",
"\\_S2_",
@@ -259,6 +259,11 @@ const char *AcpiGbl_DbSleepStates[ACPI_S_STATE_COUNT] = {
"\\_S4_",
"\\_S5_"};
+const char *AcpiGbl_HighestDstateNames[4] = {
+ "_S1D",
+ "_S2D",
+ "_S3D",
+ "_S4D"};
/******************************************************************************
*
diff --git a/sys/contrib/dev/acpica/utinit.c b/sys/contrib/dev/acpica/utinit.c
index dca1f7898490..2d4aaab7d2aa 100644
--- a/sys/contrib/dev/acpica/utinit.c
+++ b/sys/contrib/dev/acpica/utinit.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: utinit - Common ACPI subsystem initialization
- * $Revision: 117 $
+ * $Revision: 118 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/utmath.c b/sys/contrib/dev/acpica/utmath.c
index f519cd2b74fd..5d81a98990ec 100644
--- a/sys/contrib/dev/acpica/utmath.c
+++ b/sys/contrib/dev/acpica/utmath.c
@@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: utmath - Integer math support routines
- * $Revision: 12 $
+ * $Revision: 13 $
*
******************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/sys/contrib/dev/acpica/utmisc.c b/sys/contrib/dev/acpica/utmisc.c
index 7d927bc22eda..3c4f19eba02f 100644
--- a/sys/contrib/dev/acpica/utmisc.c
+++ b/sys/contrib/dev/acpica/utmisc.c
@@ -1,7 +1,7 @@
/*******************************************************************************
*
* Module Name: utmisc - common utility procedures
- * $Revision: 97 $
+ * $Revision: 99 $
*
******************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -391,7 +391,8 @@ AcpiUtValidAcpiName (
UINT32 Name)
{
char *NamePtr = (char *) &Name;
- UINT32 i;
+ char Character;
+ ACPI_NATIVE_UINT i;
ACPI_FUNCTION_ENTRY ();
@@ -399,9 +400,12 @@ AcpiUtValidAcpiName (
for (i = 0; i < ACPI_NAME_SIZE; i++)
{
- if (!((NamePtr[i] == '_') ||
- (NamePtr[i] >= 'A' && NamePtr[i] <= 'Z') ||
- (NamePtr[i] >= '0' && NamePtr[i] <= '9')))
+ Character = *NamePtr;
+ NamePtr++;
+
+ if (!((Character == '_') ||
+ (Character >= 'A' && Character <= 'Z') ||
+ (Character >= '0' && Character <= '9')))
{
return (FALSE);
}
diff --git a/sys/contrib/dev/acpica/utobject.c b/sys/contrib/dev/acpica/utobject.c
index e652524b23da..f9e42833b5b2 100644
--- a/sys/contrib/dev/acpica/utobject.c
+++ b/sys/contrib/dev/acpica/utobject.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: utobject - ACPI object create/delete/size/cache routines
- * $Revision: 84 $
+ * $Revision: 86 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -307,7 +307,7 @@ AcpiUtValidInternalObject (
default:
ACPI_DEBUG_PRINT ((ACPI_DB_INFO,
- "%p is not not an ACPI operand obj [%s]\n",
+ "%p is not not an ACPI operand obj [%s]\n",
Object, AcpiUtGetDescriptorName (Object)));
break;
}
diff --git a/sys/contrib/dev/acpica/utxface.c b/sys/contrib/dev/acpica/utxface.c
index e0d85004336f..9eae1c1c9c9c 100644
--- a/sys/contrib/dev/acpica/utxface.c
+++ b/sys/contrib/dev/acpica/utxface.c
@@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: utxface - External interfaces for "global" ACPI functions
- * $Revision: 104 $
+ * $Revision: 105 $
*
*****************************************************************************/
@@ -9,7 +9,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2003, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
* All rights reserved.
*
* 2. License