svn commit: r193529 - in head/sys/contrib/dev/acpica: . common
compiler debugger disassembler dispatcher events executer
hardware include namespace parser resources tables tools utilities
Jung-uk Kim
jkim at FreeBSD.org
Fri Jun 5 18:43:14 UTC 2009
Author: jkim
Date: Fri Jun 5 18:43:13 2009
New Revision: 193529
URL: http://svn.freebsd.org/changeset/base/193529
Log:
Import ACPICA 20090521.
Added:
head/sys/contrib/dev/acpica/changes.txt
- copied unchanged from r193525, projects/acpica_20090521/sys/contrib/dev/acpica/changes.txt
head/sys/contrib/dev/acpica/compiler/aslstartup.c
- copied unchanged from r193525, projects/acpica_20090521/sys/contrib/dev/acpica/compiler/aslstartup.c
head/sys/contrib/dev/acpica/debugger/
- copied from r193525, projects/acpica_20090521/sys/contrib/dev/acpica/debugger/
head/sys/contrib/dev/acpica/disassembler/
- copied from r193525, projects/acpica_20090521/sys/contrib/dev/acpica/disassembler/
head/sys/contrib/dev/acpica/dispatcher/
- copied from r193525, projects/acpica_20090521/sys/contrib/dev/acpica/dispatcher/
head/sys/contrib/dev/acpica/events/
- copied from r193525, projects/acpica_20090521/sys/contrib/dev/acpica/events/
head/sys/contrib/dev/acpica/executer/
- copied from r193525, projects/acpica_20090521/sys/contrib/dev/acpica/executer/
head/sys/contrib/dev/acpica/hardware/
- copied from r193525, projects/acpica_20090521/sys/contrib/dev/acpica/hardware/
head/sys/contrib/dev/acpica/include/
- copied from r193525, projects/acpica_20090521/sys/contrib/dev/acpica/include/
head/sys/contrib/dev/acpica/namespace/
- copied from r193525, projects/acpica_20090521/sys/contrib/dev/acpica/namespace/
head/sys/contrib/dev/acpica/parser/
- copied from r193525, projects/acpica_20090521/sys/contrib/dev/acpica/parser/
head/sys/contrib/dev/acpica/resources/
- copied from r193525, projects/acpica_20090521/sys/contrib/dev/acpica/resources/
head/sys/contrib/dev/acpica/tables/
- copied from r193525, projects/acpica_20090521/sys/contrib/dev/acpica/tables/
head/sys/contrib/dev/acpica/tools/
- copied from r193525, projects/acpica_20090521/sys/contrib/dev/acpica/tools/
head/sys/contrib/dev/acpica/utilities/
- copied from r193525, projects/acpica_20090521/sys/contrib/dev/acpica/utilities/
Deleted:
head/sys/contrib/dev/acpica/CHANGES.txt
head/sys/contrib/dev/acpica/acapps.h
head/sys/contrib/dev/acpica/acconfig.h
head/sys/contrib/dev/acpica/acdebug.h
head/sys/contrib/dev/acpica/acdisasm.h
head/sys/contrib/dev/acpica/acdispat.h
head/sys/contrib/dev/acpica/acefi.h
head/sys/contrib/dev/acpica/acenv.h
head/sys/contrib/dev/acpica/acevents.h
head/sys/contrib/dev/acpica/acexcep.h
head/sys/contrib/dev/acpica/acfreebsd.h
head/sys/contrib/dev/acpica/acgcc.h
head/sys/contrib/dev/acpica/acglobal.h
head/sys/contrib/dev/acpica/achware.h
head/sys/contrib/dev/acpica/acinterp.h
head/sys/contrib/dev/acpica/aclocal.h
head/sys/contrib/dev/acpica/acmacros.h
head/sys/contrib/dev/acpica/acnames.h
head/sys/contrib/dev/acpica/acnamesp.h
head/sys/contrib/dev/acpica/acobject.h
head/sys/contrib/dev/acpica/acopcode.h
head/sys/contrib/dev/acpica/acoutput.h
head/sys/contrib/dev/acpica/acparser.h
head/sys/contrib/dev/acpica/acpi.h
head/sys/contrib/dev/acpica/acpiosxf.h
head/sys/contrib/dev/acpica/acpixf.h
head/sys/contrib/dev/acpica/acresrc.h
head/sys/contrib/dev/acpica/acstruct.h
head/sys/contrib/dev/acpica/actables.h
head/sys/contrib/dev/acpica/actbl.h
head/sys/contrib/dev/acpica/actbl1.h
head/sys/contrib/dev/acpica/actbl2.h
head/sys/contrib/dev/acpica/actypes.h
head/sys/contrib/dev/acpica/acutils.h
head/sys/contrib/dev/acpica/aecommon.h
head/sys/contrib/dev/acpica/amlcode.h
head/sys/contrib/dev/acpica/amlresrc.h
head/sys/contrib/dev/acpica/dbcmds.c
head/sys/contrib/dev/acpica/dbdisply.c
head/sys/contrib/dev/acpica/dbexec.c
head/sys/contrib/dev/acpica/dbfileio.c
head/sys/contrib/dev/acpica/dbhistry.c
head/sys/contrib/dev/acpica/dbinput.c
head/sys/contrib/dev/acpica/dbstats.c
head/sys/contrib/dev/acpica/dbutils.c
head/sys/contrib/dev/acpica/dbxface.c
head/sys/contrib/dev/acpica/dmbuffer.c
head/sys/contrib/dev/acpica/dmnames.c
head/sys/contrib/dev/acpica/dmobject.c
head/sys/contrib/dev/acpica/dmopcode.c
head/sys/contrib/dev/acpica/dmresrc.c
head/sys/contrib/dev/acpica/dmresrcl.c
head/sys/contrib/dev/acpica/dmresrcs.c
head/sys/contrib/dev/acpica/dmutils.c
head/sys/contrib/dev/acpica/dmwalk.c
head/sys/contrib/dev/acpica/dsfield.c
head/sys/contrib/dev/acpica/dsinit.c
head/sys/contrib/dev/acpica/dsmethod.c
head/sys/contrib/dev/acpica/dsmthdat.c
head/sys/contrib/dev/acpica/dsobject.c
head/sys/contrib/dev/acpica/dsopcode.c
head/sys/contrib/dev/acpica/dsutils.c
head/sys/contrib/dev/acpica/dswexec.c
head/sys/contrib/dev/acpica/dswload.c
head/sys/contrib/dev/acpica/dswscope.c
head/sys/contrib/dev/acpica/dswstate.c
head/sys/contrib/dev/acpica/evevent.c
head/sys/contrib/dev/acpica/evgpe.c
head/sys/contrib/dev/acpica/evgpeblk.c
head/sys/contrib/dev/acpica/evmisc.c
head/sys/contrib/dev/acpica/evregion.c
head/sys/contrib/dev/acpica/evrgnini.c
head/sys/contrib/dev/acpica/evsci.c
head/sys/contrib/dev/acpica/evxface.c
head/sys/contrib/dev/acpica/evxfevnt.c
head/sys/contrib/dev/acpica/evxfregn.c
head/sys/contrib/dev/acpica/exconfig.c
head/sys/contrib/dev/acpica/exconvrt.c
head/sys/contrib/dev/acpica/excreate.c
head/sys/contrib/dev/acpica/exdump.c
head/sys/contrib/dev/acpica/exfield.c
head/sys/contrib/dev/acpica/exfldio.c
head/sys/contrib/dev/acpica/exmisc.c
head/sys/contrib/dev/acpica/exmutex.c
head/sys/contrib/dev/acpica/exnames.c
head/sys/contrib/dev/acpica/exoparg1.c
head/sys/contrib/dev/acpica/exoparg2.c
head/sys/contrib/dev/acpica/exoparg3.c
head/sys/contrib/dev/acpica/exoparg6.c
head/sys/contrib/dev/acpica/exprep.c
head/sys/contrib/dev/acpica/exregion.c
head/sys/contrib/dev/acpica/exresnte.c
head/sys/contrib/dev/acpica/exresolv.c
head/sys/contrib/dev/acpica/exresop.c
head/sys/contrib/dev/acpica/exstore.c
head/sys/contrib/dev/acpica/exstoren.c
head/sys/contrib/dev/acpica/exstorob.c
head/sys/contrib/dev/acpica/exsystem.c
head/sys/contrib/dev/acpica/exutils.c
head/sys/contrib/dev/acpica/hwacpi.c
head/sys/contrib/dev/acpica/hwgpe.c
head/sys/contrib/dev/acpica/hwregs.c
head/sys/contrib/dev/acpica/hwsleep.c
head/sys/contrib/dev/acpica/hwtimer.c
head/sys/contrib/dev/acpica/nsaccess.c
head/sys/contrib/dev/acpica/nsalloc.c
head/sys/contrib/dev/acpica/nsdump.c
head/sys/contrib/dev/acpica/nsdumpdv.c
head/sys/contrib/dev/acpica/nseval.c
head/sys/contrib/dev/acpica/nsinit.c
head/sys/contrib/dev/acpica/nsload.c
head/sys/contrib/dev/acpica/nsnames.c
head/sys/contrib/dev/acpica/nsobject.c
head/sys/contrib/dev/acpica/nsparse.c
head/sys/contrib/dev/acpica/nssearch.c
head/sys/contrib/dev/acpica/nsutils.c
head/sys/contrib/dev/acpica/nswalk.c
head/sys/contrib/dev/acpica/nsxfeval.c
head/sys/contrib/dev/acpica/nsxfname.c
head/sys/contrib/dev/acpica/nsxfobj.c
head/sys/contrib/dev/acpica/psargs.c
head/sys/contrib/dev/acpica/psloop.c
head/sys/contrib/dev/acpica/psopcode.c
head/sys/contrib/dev/acpica/psparse.c
head/sys/contrib/dev/acpica/psscope.c
head/sys/contrib/dev/acpica/pstree.c
head/sys/contrib/dev/acpica/psutils.c
head/sys/contrib/dev/acpica/pswalk.c
head/sys/contrib/dev/acpica/psxface.c
head/sys/contrib/dev/acpica/rsaddr.c
head/sys/contrib/dev/acpica/rscalc.c
head/sys/contrib/dev/acpica/rscreate.c
head/sys/contrib/dev/acpica/rsdump.c
head/sys/contrib/dev/acpica/rsinfo.c
head/sys/contrib/dev/acpica/rsio.c
head/sys/contrib/dev/acpica/rsirq.c
head/sys/contrib/dev/acpica/rslist.c
head/sys/contrib/dev/acpica/rsmemory.c
head/sys/contrib/dev/acpica/rsmisc.c
head/sys/contrib/dev/acpica/rsutils.c
head/sys/contrib/dev/acpica/rsxface.c
head/sys/contrib/dev/acpica/tbfadt.c
head/sys/contrib/dev/acpica/tbfind.c
head/sys/contrib/dev/acpica/tbinstal.c
head/sys/contrib/dev/acpica/tbutils.c
head/sys/contrib/dev/acpica/tbxface.c
head/sys/contrib/dev/acpica/tbxfroot.c
head/sys/contrib/dev/acpica/utalloc.c
head/sys/contrib/dev/acpica/utcache.c
head/sys/contrib/dev/acpica/utclib.c
head/sys/contrib/dev/acpica/utcopy.c
head/sys/contrib/dev/acpica/utdebug.c
head/sys/contrib/dev/acpica/utdelete.c
head/sys/contrib/dev/acpica/uteval.c
head/sys/contrib/dev/acpica/utglobal.c
head/sys/contrib/dev/acpica/utinit.c
head/sys/contrib/dev/acpica/utmath.c
head/sys/contrib/dev/acpica/utmisc.c
head/sys/contrib/dev/acpica/utmutex.c
head/sys/contrib/dev/acpica/utobject.c
head/sys/contrib/dev/acpica/utresrc.c
head/sys/contrib/dev/acpica/utstate.c
head/sys/contrib/dev/acpica/uttrack.c
head/sys/contrib/dev/acpica/utxface.c
Modified:
head/sys/contrib/dev/acpica/ (props changed)
head/sys/contrib/dev/acpica/acpica_prep.sh
head/sys/contrib/dev/acpica/common/adfile.c
head/sys/contrib/dev/acpica/common/adisasm.c
head/sys/contrib/dev/acpica/common/adwalk.c
head/sys/contrib/dev/acpica/common/dmrestag.c
head/sys/contrib/dev/acpica/common/dmtable.c
head/sys/contrib/dev/acpica/common/dmtbdump.c
head/sys/contrib/dev/acpica/common/dmtbinfo.c
head/sys/contrib/dev/acpica/common/getopt.c
head/sys/contrib/dev/acpica/compiler/aslanalyze.c
head/sys/contrib/dev/acpica/compiler/aslcodegen.c
head/sys/contrib/dev/acpica/compiler/aslcompile.c
head/sys/contrib/dev/acpica/compiler/aslcompiler.h
head/sys/contrib/dev/acpica/compiler/aslcompiler.l
head/sys/contrib/dev/acpica/compiler/aslcompiler.y
head/sys/contrib/dev/acpica/compiler/asldefine.h
head/sys/contrib/dev/acpica/compiler/aslerror.c
head/sys/contrib/dev/acpica/compiler/aslfiles.c
head/sys/contrib/dev/acpica/compiler/aslfold.c
head/sys/contrib/dev/acpica/compiler/aslglobal.h
head/sys/contrib/dev/acpica/compiler/asllength.c
head/sys/contrib/dev/acpica/compiler/asllisting.c
head/sys/contrib/dev/acpica/compiler/aslload.c
head/sys/contrib/dev/acpica/compiler/asllookup.c
head/sys/contrib/dev/acpica/compiler/aslmain.c
head/sys/contrib/dev/acpica/compiler/aslmap.c
head/sys/contrib/dev/acpica/compiler/aslopcodes.c
head/sys/contrib/dev/acpica/compiler/asloperands.c
head/sys/contrib/dev/acpica/compiler/aslopt.c
head/sys/contrib/dev/acpica/compiler/aslresource.c
head/sys/contrib/dev/acpica/compiler/aslrestype1.c
head/sys/contrib/dev/acpica/compiler/aslrestype2.c
head/sys/contrib/dev/acpica/compiler/aslstubs.c
head/sys/contrib/dev/acpica/compiler/asltransform.c
head/sys/contrib/dev/acpica/compiler/asltree.c
head/sys/contrib/dev/acpica/compiler/asltypes.h
head/sys/contrib/dev/acpica/compiler/aslutils.c
head/sys/contrib/dev/acpica/osunixxf.c
Modified: head/sys/contrib/dev/acpica/acpica_prep.sh
==============================================================================
--- head/sys/contrib/dev/acpica/acpica_prep.sh Fri Jun 5 18:14:51 2009 (r193528)
+++ head/sys/contrib/dev/acpica/acpica_prep.sh Fri Jun 5 18:43:13 2009 (r193529)
@@ -10,33 +10,35 @@ if [ ! $# -eq 1 ]; then
fi
src=$1
-wrk=./_acpi_ca_unpack
-dst=./acpi_ca_destination
+wrk=`realpath ./_acpi_ca_unpack`
+dst=`realpath ./acpi_ca_destination`
# files that should keep their full directory path
-fulldirs="common compiler"
+fulldirs="common compiler debugger disassembler dispatcher events \
+ executer hardware include namespace parser resources tables \
+ tools utilities"
+
# files to remove
-stripdirs="generate acpisrc"
-stripfiles="16bit.h Makefile README a16find.c a16utils.asm a16utils.obj \
- acdos16.h acintel.h aclinux.h acmsvc.h acnetbsd.h acpixtract.c \
- acwin.h acwin64.h aeexec.c aemain.c osdosxf.c osunixdir.c \
- oswindir.c oswinxf.c readme.txt"
+stripdirs="acpisrc acpixtract examples generate os_specific"
+stripfiles="Makefile README acintel.h aclinux.h acmsvc.h acnetbsd.h \
+ acos2.h accygwin.h acefi.h actbl2.h acwin.h acwin64.h aeexec.c \
+ aehandlers.c aemain.c aetables.c osunixdir.c readme.txt \
+ utclib.c"
+
# include files to canonify
-src_headers="acapps.h acconfig.h acdebug.h acdisasm.h acdispat.h \
- acenv.h acevents.h acexcep.h acfreebsd.h acgcc.h acglobal.h \
- achware.h acinterp.h aclocal.h acmacros.h acnames.h acnamesp.h \
- acobject.h acopcode.h acoutput.h acparser.h acpi.h acpiosxf.h \
- acpixf.h acresrc.h acstruct.h actables.h actbl.h actbl1.h \
- actbl2.h actypes.h acutils.h aecommon.h amlcode.h amlresrc.h"
+src_headers="acapps.h accommon.h acconfig.h acdebug.h acdisasm.h \
+ acdispat.h acevents.h acexcep.h acglobal.h achware.h acinterp.h \
+ aclocal.h acmacros.h acnames.h acnamesp.h acobject.h acopcode.h \
+ acoutput.h acparser.h acpi.h acpiosxf.h acpixf.h acpredef.h \
+ acresrc.h acrestyp.h acstruct.h actables.h actbl.h actbl1.h \
+ actypes.h acutils.h amlcode.h amlresrc.h platform/acenv.h \
+ platform/acfreebsd.h platform/acgcc.h"
comp_headers="aslcompiler.h asldefine.h aslglobal.h asltypes.h"
-
-# files to update paths in
-src_update_files="acpi.h acpiosxf.h"
+platform_headers="acfreebsd.h acgcc.h"
# pre-clean
echo pre-clean
-rm -rf ${wrk}
-rm -rf ${dst}
+rm -rf ${wrk} ${dst}
mkdir -p ${wrk}
mkdir -p ${dst}
@@ -53,32 +55,27 @@ for i in ${stripfiles}; do
find ${wrk} -name ${i} -type f -delete
done
+# copy files
echo copying full dirs
for i in ${fulldirs}; do
find ${wrk} -name ${i} -type d | xargs -J % mv % ${dst}
done
-
-# move files to destination
-echo copying flat dirs
+echo copying remaining files
find ${wrk} -type f | xargs -J % mv % ${dst}
-mv ${dst}/changes.txt ${dst}/CHANGES.txt
-
-# update src/headers for appropriate paths
-echo updating paths
-for i in ${src_update_files}; do
- i=${dst}/$i
- sed -e 's/platform\///' $i > $i.new && mv $i.new $i
-done
# canonify include paths
for H in ${src_headers}; do
find ${dst} -name "*.[chy]" -type f | \
- xargs sed -i "" -e "s|[\"<]$H[\">]|\<contrib/dev/acpica/$H\>|g"
+ xargs sed -i "" -e "s|[\"<]$H[\">]|\<contrib/dev/acpica/include/$H\>|g"
done
for H in ${comp_headers}; do
find ${dst}/compiler -name "*.[chly]" -type f | \
xargs sed -i "" -e "s|[\"<]$H[\">]|\<contrib/dev/acpica/compiler/$H\>|g"
done
+for H in ${platform_headers}; do
+ find ${dst}/include/platform -name "*.h" -type f | \
+ xargs sed -i "" -e "s|[\"<]$H[\">]|\<contrib/dev/acpica/include/platform/$H\>|g"
+done
# post-clean
echo post-clean
Copied: head/sys/contrib/dev/acpica/changes.txt (from r193525, projects/acpica_20090521/sys/contrib/dev/acpica/changes.txt)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/sys/contrib/dev/acpica/changes.txt Fri Jun 5 18:43:13 2009 (r193529, copy of r193525, projects/acpica_20090521/sys/contrib/dev/acpica/changes.txt)
@@ -0,0 +1,9235 @@
+----------------------------------------
+21 May 2009. Summary of changes for version 20090521:
+
+This release is available at www.acpica.org/downloads
+
+1) ACPI CA Core Subsystem:
+
+Disabled the preservation of the SCI enable bit in the PM1 control register.
+The SCI enable bit (bit 0, SCI_EN) is defined by the ACPI specification to be
+a "preserved" bit - "OSPM always preserves this bit position", section
+4.7.3.2.1. However, some machines fail if this bit is in fact preserved
+because the bit needs to be explicitly set by the OS as a workaround. No
+machines fail if the bit is not preserved. Therefore, ACPICA no longer
+attempts to preserve this bit.
+
+Fixed a problem in AcpiRsGetPciRoutingTableLength where an invalid or
+incorrectly formed _PRT package could cause a fault. Added validation to
+ensure that each package element is actually a sub-package.
+
+Implemented a new interface to install or override a single control method,
+AcpiInstallMethod. This interface is useful when debugging in order to repair
+an existing method or to install a missing method without having to override
+the entire ACPI table. See the ACPICA Programmer Reference for use and
+examples. Lin Ming, Bob Moore.
+
+Fixed several reference count issues with the DdbHandle object that is
+created from a Load or LoadTable operator. Prevent premature deletion of the
+object. Also, mark the object as invalid once the table has been unloaded.
+This is needed because the handle itself may not be deleted after the table
+unload, depending on whether it has been stored in a named object by the
+caller. Lin Ming.
+
+Fixed a problem with Mutex Sync Levels. Fixed a problem where if multiple
+mutexes of the same sync level are acquired but then not released in strict
+opposite order, the internally maintained Current Sync Level becomes confused
+and can cause subsequent execution errors. ACPICA BZ 471.
+
+Changed the allowable release order for ASL mutex objects. The ACPI 4.0
+specification has been changed to make the SyncLevel for mutex objects more
+useful. When releasing a mutex, the SyncLevel of the mutex must now be the
+same as the current sync level. This makes more sense than the previous rule
+(SyncLevel less than or equal). This change updates the code to match the
+specification.
+
+Fixed a problem with the local version of the AcpiOsPurgeCache function. The
+(local) cache must be locked during all cache object deletions. Andrew
+Baumann.
+
+Updated the Load operator to use operation region interfaces. This replaces
+direct memory mapping with region access calls. Now, all region accesses go
+through the installed region handler as they should.
+
+Simplified and optimized the NsGetNextNode function. Reduced parameter count
+and reduced code for this frequently used function.
+
+Example Code and Data Size: These are the sizes for the OS-independent
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
+debug version of the code includes the debug output trace mechanism and has a
+much larger code and data size.
+
+ Previous Release:
+ Non-Debug Version: 82.8K Code, 17.5K Data, 100.3K Total
+ Debug Version: 158.0K Code, 49.9K Data, 207.9K Total
+ Current Release:
+ Non-Debug Version: 83.4K Code, 17.5K Data, 100.9K Total
+ Debug Version: 158.9K Code, 50.0K Data, 208.9K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+Disassembler: Fixed some issues with DMAR, HEST, MADT tables. Some problems
+with sub-table disassembly and handling invalid sub-tables. Attempt recovery
+after an invalid sub-table ID.
+
+----------------------------------------
+22 April 2009. Summary of changes for version 20090422:
+
+This release is available at www.acpica.org/downloads
+
+1) ACPI CA Core Subsystem:
+
+Fixed a compatibility issue with the recently released I/O port protection
+mechanism. For windows compatibility, 1) On a port protection violation,
+simply ignore the request and do not return an exception (allow the control
+method to continue execution.) 2) If only part of the request overlaps a
+protected port, read/write the individual ports that are not protected. Linux
+BZ 13036. Lin Ming
+
+Enhanced the execution of the ASL/AML BreakPoint operator so that it actually
+breaks into the AML debugger if the debugger is present. This matches the
+ACPI-defined behavior.
+
+Fixed several possible warnings related to the use of the configurable
+ACPI_THREAD_ID. This type can now be configured as either an integer or a
+pointer with no warnings. Also fixes several warnings in printf-like
+statements for the 64-bit build when the type is configured as a pointer.
+ACPICA BZ 766, 767.
+
+Fixed a number of possible warnings when compiling with gcc 4+ (depending on
+warning options.) Examples include printf formats, aliasing, unused globals,
+missing prototypes, missing switch default statements, use of non-ANSI
+library functions, use of non-ANSI constructs. See generate/unix/Makefile for
+a list of warning options used with gcc 3 and 4. ACPICA BZ 735.
+
+Example Code and Data Size: These are the sizes for the OS-independent
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
+debug version of the code includes the debug output trace mechanism and has a
+much larger code and data size.
+
+ Previous Release:
+ Non-Debug Version: 82.6K Code, 17.6K Data, 100.2K Total
+ Debug Version: 157.7K Code, 49.9K Data, 207.6K Total
+ Current Release:
+ Non-Debug Version: 82.8K Code, 17.5K Data, 100.3K Total
+ Debug Version: 158.0K Code, 49.9K Data, 207.9K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+iASL: Fixed a generation warning from Bison 2.3 and fixed several warnings on
+the 64-bit build.
+
+iASL: Fixed a problem where the Unix/Linux versions of the compiler could not
+correctly digest Windows/DOS formatted files (with CR/LF).
+
+iASL: Added a new option for "quiet mode" (-va) that produces only the
+compilation summary, not individual errors and warnings. Useful for large
+batch compilations.
+
+AcpiExec: Implemented a new option (-z) to enable a forced semaphore/mutex
+timeout that can be used to detect hang conditions during execution of AML
+code (includes both internal semaphores and AML-defined mutexes and events.)
+
+Added new makefiles for the generation of acpica in a generic unix-like
+environment. These makefiles are intended to generate the acpica tools and
+utilities from the original acpica git source tree structure.
+
+Test Suites: Updated and cleaned up the documentation files. Updated the
+copyrights to 2009, affecting all source files. Use the new version of iASL
+with quiet mode. Increased the number of available semaphores in the Windows
+OSL, allowing the aslts to execute fully on Windows. For the Unix OSL, added
+an alternate implementation of the semaphore timeout to allow aslts to
+execute fully on Cygwin.
+
+----------------------------------------
+20 March 2009. Summary of changes for version 20090320:
+
+1) ACPI CA Core Subsystem:
+
+Fixed a possible race condition between AcpiWalkNamespace and dynamic table
+unloads. Added a reader/writer locking mechanism to allow multiple concurrent
+namespace walks (readers), but block a dynamic table unload until it can gain
+exclusive write access to the namespace. This fixes a problem where a table
+unload could (possibly catastrophically) delete the portion of the namespace
+that is currently being examined by a walk. Adds a new file, utlock.c, that
+implements the reader/writer lock mechanism. ACPICA BZ 749.
+
+Fixed a regression introduced in version 20090220 where a change to the FADT
+handling could cause the ACPICA subsystem to access non-existent I/O ports.
+
+Modified the handling of FADT register and table (FACS/DSDT) addresses. The
+FADT can contain both 32-bit and 64-bit versions of these addresses.
+Previously, the 64-bit versions were favored, meaning that if both 32 and 64
+versions were valid, but not equal, the 64-bit version was used. This was
+found to cause some machines to fail. Now, in this case, the 32-bit version
+is used instead. This now matches the Windows behavior.
+
+Implemented a new mechanism to protect certain I/O ports. Provides Microsoft
+compatibility and protects the standard PC I/O ports from access via AML
+code. Adds a new file, hwvalid.c
+
+Fixed a possible extraneous warning message from the FADT support. The
+message warns of a 32/64 length mismatch between the legacy and GAS
+definitions for a register.
+
+Removed the obsolete AcpiOsValidateAddress OSL interface. This interface is
+made obsolete by the port protection mechanism above. It was previously used
+to validate the entire address range of an operation region, which could be
+incorrect if the range included illegal ports, but fields within the
+operation region did not actually access those ports. Validation is now
+performed on a per-field basis instead of the entire region.
+
+Modified the handling of the PM1 Status Register ignored bit (bit 11.)
+Ignored bits must be "preserved" according to the ACPI spec. Usually, this
+means a read/modify/write when writing to the register. However, for status
+registers, writing a one means clear the event. Writing a zero means preserve
+the event (do not clear.) This behavior is clarified in the ACPI 4.0 spec,
+and the ACPICA code now simply always writes a zero to the ignored bit.
+
+Modified the handling of ignored bits for the PM1 A/B Control Registers. As
+per the ACPI specification, for the control registers, preserve
+(read/modify/write) all bits that are defined as either reserved or ignored.
+
+Updated the handling of write-only bits in the PM1 A/B Control Registers.
+When reading the register, zero the write-only bits as per the ACPI spec.
+ACPICA BZ 443. Lin Ming.
+
+Removed "Linux" from the list of supported _OSI strings. Linux no longer
+wants to reply true to this request. The Windows strings are the only paths
+through the AML that are tested and known to work properly.
+
+ Previous Release:
+ Non-Debug Version: 82.0K Code, 17.5K Data, 99.5K Total
+ Debug Version: 156.9K Code, 49.8K Data, 206.7K Total
+ Current Release:
+ Non-Debug Version: 82.6K Code, 17.6K Data, 100.2K Total
+ Debug Version: 157.7K Code, 49.9K Data, 207.6K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+Acpiexec: Split the large aeexec.c file into two new files, aehandlers.c and
+aetables.c
+
+----------------------------------------
+20 February 2009. Summary of changes for version 20090220:
+
+1) ACPI CA Core Subsystem:
+
+Optimized the ACPI register locking. Removed locking for reads from the ACPI
+bit registers in PM1 Status, Enable, Control, and PM2 Control. The lock is
+not required when reading the single-bit registers. The
+AcpiGetRegisterUnlocked function is no longer needed and has been removed.
+This will improve performance for reads on these registers. ACPICA BZ 760.
+
+Fixed the parameter validation for AcpiRead/Write. Now return
+AE_BAD_PARAMETER if the input register pointer is null, and AE_BAD_ADDRESS if
+the register has an address of zero. Previously, these cases simply returned
+AE_OK. For optional registers such as PM1B status/enable/control, the caller
+should check for a valid register address before calling. ACPICA BZ 748.
+
+Renamed the external ACPI bit register access functions. Renamed
+AcpiGetRegister and AcpiSetRegister to clarify the purpose of these
+functions. The new names are AcpiReadBitRegister and AcpiWriteBitRegister.
+Also, restructured the code for these functions by simplifying the code path
+and condensing duplicate code to reduce code size.
+
+Added new functions to transparently handle the possibly split PM1 A/B
+registers. AcpiHwReadMultiple and AcpiHwWriteMultiple. These two functions
+now handle the split registers for PM1 Status, Enable, and Control. ACPICA BZ
+746.
+
+Added a function to handle the PM1 control registers, AcpiHwWritePm1Control.
+This function writes both of the PM1 control registers (A/B). These registers
+are different than the PM1 A/B status and enable registers in that different
+values can be written to the A/B registers. Most notably, the SLP_TYP bits
+can be different, as per the values returned from the _Sx predefined methods.
+
+Removed an extra register write within AcpiHwClearAcpiStatus. This function
+was writing an optional PM1B status register twice. The existing call to the
+low-level AcpiHwRegisterWrite automatically handles a possibly split PM1 A/B
+register. ACPICA BZ 751.
+
+Split out the PM1 Status registers from the FADT. Added new globals for these
+registers (A/B), similar to the way the PM1 Enable registers are handled.
+Instead of overloading the FADT Event Register blocks. This makes the code
+clearer and less prone to error.
+
+Fixed the warning message for when the platform contains too many ACPI tables
+for the default size of the global root table data structure. The calculation
+for the truncation value was incorrect.
+
+Removed the ACPI_GET_OBJECT_TYPE macro. Removed all instances of this
+obsolete macro, since it is now a simple reference to ->common.type. There
+were about 150 invocations of the macro across 41 files. ACPICA BZ 755.
+
+Removed the redundant ACPI_BITREG_SLEEP_TYPE_B. This type is the same as
+TYPE_A. Removed this and all related instances. Renamed SLEEP_TYPE_A to
+simply SLEEP_TYPE. ACPICA BZ 754.
+
+Conditionally compile the AcpiSetFirmwareWakingVector64 function. This
+function is only needed on 64-bit host operating systems and is thus not
+included for 32-bit hosts.
+
+Debug output: print the input and result for invocations of the _OSI reserved
+control method via the ACPI_LV_INFO debug level. Also, reduced some of the
+verbosity of this debug level. Len Brown.
+
+Example Code and Data Size: These are the sizes for the OS-independent
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
+debug version of the code includes the debug output trace mechanism and has a
+much larger code and data size.
+
+ Previous Release:
+ Non-Debug Version: 82.3K Code, 17.5K Data, 99.8K Total
+ Debug Version: 157.3K Code, 49.8K Data, 207.1K Total
+ Current Release:
+ Non-Debug Version: 82.0K Code, 17.5K Data, 99.5K Total
+ Debug Version: 156.9K Code, 49.8K Data, 206.7K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+Disassembler: Decode the FADT PM_Profile field. Emit ascii names for the
+various legal performance profiles.
+
+----------------------------------------
+23 January 2009. Summary of changes for version 20090123:
+
+1) ACPI CA Core Subsystem:
+
+Added the 2009 copyright to all module headers and signons. This affects
+virtually every file in the ACPICA core subsystem, the iASL compiler, and
+the tools/utilities.
+
+Implemented a change to allow the host to override any ACPI table, including
+dynamically loaded tables. Previously, only the DSDT could be replaced by the
+host. With this change, the AcpiOsTableOverride interface is called for each
+table found in the RSDT/XSDT during ACPICA initialization, and also whenever
+a table is dynamically loaded via the AML Load operator.
+
+Updated FADT flag definitions, especially the Boot Architecture flags.
+
+Debugger: For the Find command, automatically pad the input ACPI name with
+underscores if the name is shorter than 4 characters. This enables a match
+with the actual namespace entry which is itself padded with underscores.
+
+Example Code and Data Size: These are the sizes for the OS-independent
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
+debug version of the code includes the debug output trace mechanism and has a
+much larger code and data size.
+
+ Previous Release:
+ Non-Debug Version: 82.3K Code, 17.4K Data, 99.7K Total
+ Debug Version: 157.1K Code, 49.7K Data, 206.8K Total
+ Current Release:
+ Non-Debug Version: 82.3K Code, 17.5K Data, 99.8K Total
+ Debug Version: 157.3K Code, 49.8K Data, 207.1K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+Fix build error under Bison-2.4.
+
+Dissasembler: Enhanced FADT support. Added decoding of the Boot Architecture
+flags. Now decode all flags, regardless of the FADT version. Flag output
+includes the FADT version which first defined each flag.
+
+The iASL -g option now dumps the RSDT to a file (in addition to the FADT and
+DSDT). Windows only.
+
+----------------------------------------
+04 December 2008. Summary of changes for version 20081204:
+
+1) ACPI CA Core Subsystem:
+
+The ACPICA Programmer Reference has been completely updated and revamped for
+this release. This includes updates to the external interfaces, OSL
+interfaces, the overview sections, and the debugger reference.
+
+Several new ACPICA interfaces have been implemented and documented in the
+programmer reference:
+AcpiReset - Writes the reset value to the FADT-defined reset register.
+AcpiDisableAllGpes - Disable all available GPEs.
+AcpiEnableAllRuntimeGpes - Enable all available runtime GPEs.
+AcpiGetGpeDevice - Get the GPE block device associated with a GPE.
+AcpiGbl_CurrentGpeCount - Tracks the current number of available GPEs.
+AcpiRead - Low-level read ACPI register (was HwLowLevelRead.)
+AcpiWrite - Low-level write ACPI register (was HwLowLevelWrite.)
+
+Most of the public ACPI hardware-related interfaces have been moved to a new
+file, components/hardware/hwxface.c
+
+Enhanced the FADT parsing and low-level ACPI register access: The ACPI
+register lengths within the FADT are now used, and the low level ACPI
+register access no longer hardcodes the ACPI register lengths. Given that
+there may be some risk in actually trusting the FADT register lengths, a run-
+time option was added to fall back to the default hardcoded lengths if the
+FADT proves to contain incorrect values - UseDefaultRegisterWidths. This
+option is set to true for now, and a warning is issued if a suspicious FADT
+register length is overridden with the default value.
+
+Fixed a reference count issue in NsRepairObject. This problem was introduced
+in version 20081031 as part of a fix to repair Buffer objects within
+Packages. Lin Ming.
+
+Added semaphore support to the Linux/Unix application OS-services layer
+(OSL). ACPICA BZ 448. Lin Ming.
+
+Added the ACPI_MUTEX_TYPE configuration option to select whether mutexes will
+be implemented in the OSL, or will binary semaphores be used instead.
+
+Example Code and Data Size: These are the sizes for the OS-independent
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
+debug version of the code includes the debug output trace mechanism and has a
+much larger code and data size.
+
+ Previous Release:
+ Non-Debug Version: 81.7K Code, 17.3K Data, 99.0K Total
+ Debug Version: 156.4K Code, 49.4K Data, 205.8K Total
+ Current Release:
+ Non-Debug Version: 82.3K Code, 17.4K Data, 99.7K Total
+ Debug Version: 157.1K Code, 49.7K Data, 206.8K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+iASL: Completed the '-e' option to include additional ACPI tables in order to
+aid with disassembly and External statement generation. ACPICA BZ 742. Lin
+Ming.
+
+iASL: Removed the "named object in while loop" error. The compiler cannot
+determine how many times a loop will execute. ACPICA BZ 730.
+
+Disassembler: Implemented support for FADT revision 2 (MS extension). ACPICA
+BZ 743.
+
+Disassembler: Updates for several ACPI data tables (HEST, EINJ, and MCFG).
+
+----------------------------------------
+31 October 2008. Summary of changes for version 20081031:
+
+1) ACPI CA Core Subsystem:
+
+Restructured the ACPICA header files into public/private. acpi.h now includes
+only the "public" acpica headers. All other acpica headers are "private" and
+should not be included by acpica users. One new file, accommon.h is used to
+include the commonly used private headers for acpica code generation. Future
+plans include moving all private headers to a new subdirectory.
+
+Implemented an automatic Buffer->String return value conversion for
+predefined ACPI methods. For these methods (such as _BIF), added automatic
+conversion for return objects that are required to be a String, but a Buffer
+was found instead. This can happen when reading string battery data from an
+operation region, because it used to be difficult to convert the data from
+buffer to string from within the ASL. Ensures that the host OS is provided
+with a valid null-terminated string. Linux BZ 11822.
+
+Updated the FACS waking vector interfaces. Split AcpiSetFirmwareWakingVector
+into two: one for the 32-bit vector, another for the 64-bit vector. This is
+required because the host OS must setup the wake much differently for each
+vector (real vs. protected mode, etc.) and the interface itself should not be
+deciding which vector to use. Also, eliminated the GetFirmwareWakingVector
+interface, as it served no purpose (only the firmware reads the vector, OS
+only writes the vector.) ACPICA BZ 731.
+
+Implemented a mechanism to escape infinite AML While() loops. Added a loop
+counter to force exit from AML While loops if the count becomes too large.
+This can occur in poorly written AML when the hardware does not respond
+within a while loop and the loop does not implement a timeout. The maximum
+loop count is configurable. A new exception code is returned when a loop is
+broken, AE_AML_INFINITE_LOOP. Alexey Starikovskiy, Bob Moore.
+
+Optimized the execution of AML While loops. Previously, a control state
+object was allocated and freed for each execution of the loop. The
+optimization is to simply reuse the control state for each iteration. This
+speeds up the raw loop execution time by about 5%.
+
+Enhanced the implicit return mechanism. For Windows compatibility, return an
+implicit integer of value zero for methods that contain no executable code.
+Such methods are seen in the field as stubs (presumably), and can cause
+drivers to fail if they expect a return value. Lin Ming.
+
+Allow multiple backslashes as root prefixes in namepaths. In a fully
+qualified namepath, allow multiple backslash prefixes. This can happen (and
+is seen in the field) because of the use of a double-backslash in strings
+(since backslash is the escape character) causing confusion. ACPICA BZ 739
+Lin Ming.
+
+Emit a warning if two different FACS or DSDT tables are discovered in the
+FADT. Checks if there are two valid but different addresses for the FACS and
+DSDT within the FADT (mismatch between the 32-bit and 64-bit fields.)
+
+Consolidated the method argument count validation code. Merged the code that
+validates control method argument counts into the predefined validation
+module. Eliminates possible multiple warnings for incorrect argument counts.
+
+Implemented ACPICA example code. Includes code for ACPICA initialization,
+handler installation, and calling a control method. Available at
+source/tools/examples.
+
+Added a global pointer for FACS table to simplify internal FACS access. Use
+the global pointer instead of using AcpiGetTableByIndex for each FACS access.
+This simplifies the code for the Global Lock and the Firmware Waking
+Vector(s).
+
+Example Code and Data Size: These are the sizes for the OS-independent
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
+debug version of the code includes the debug output trace mechanism and has a
+much larger code and data size.
+
+ Previous Release:
+ Non-Debug Version: 81.2K Code, 17.0K Data, 98.2K Total
+ Debug Version: 155.8K Code, 49.1K Data, 204.9K Total
+ Current Release:
+ Non-Debug Version: 81.7K Code, 17.3K Data, 99.0K Total
+ Debug Version: 156.4K Code, 49.4K Data, 205.8K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+iASL: Improved disassembly of external method calls. Added the -e option to
+allow the inclusion of additional ACPI tables to help with the disassembly of
+method invocations and the generation of external declarations during the
+disassembly. Certain external method invocations cannot be disassembled
+properly without the actual declaration of the method. Use the -e option to
+include the table where the external method(s) are actually declared. Most
+useful for disassembling SSDTs that make method calls back to the master
+DSDT. Lin Ming. Example: To disassemble an SSDT with calls to DSDT: iasl -d
+-e dsdt.aml ssdt1.aml
+
+iASL: Fix to allow references to aliases within ASL namepaths. Fixes a
+problem where the use of an alias within a namepath would result in a not
+found error or cause the compiler to fault. Also now allows forward
+references from the Alias operator itself. ACPICA BZ 738.
+
+----------------------------------------
+26 September 2008. Summary of changes for version 20080926:
+
+1) ACPI CA Core Subsystem:
+
+Designed and implemented a mechanism to validate predefined ACPI methods and
+objects. This code validates the predefined ACPI objects (objects whose names
+start with underscore) that appear in the namespace, at the time they are
+evaluated. The argument count and the type of the returned object are
+validated against the ACPI specification. The purpose of this validation is
+to detect problems with the BIOS-implemented predefined ACPI objects before
+the results are returned to the ACPI-related drivers. Future enhancements may
+include actual repair of incorrect return objects where possible. Two new
+files are nspredef.c and acpredef.h.
+
+Fixed a fault in the AML parser if a memory allocation fails during the Op
+completion routine AcpiPsCompleteThisOp. Lin Ming. ACPICA BZ 492.
+
+Fixed an issue with implicit return compatibility. This change improves the
+implicit return mechanism to be more compatible with the MS interpreter. Lin
+Ming, ACPICA BZ 349.
+
+Implemented support for zero-length buffer-to-string conversions. Allow zero
+length strings during interpreter buffer-to-string conversions. For example,
+during the ToDecimalString and ToHexString operators, as well as implicit
+conversions. Fiodor Suietov, ACPICA BZ 585.
+
+Fixed two possible memory leaks in the error exit paths of
+AcpiUtUpdateObjectReference and AcpiUtWalkPackageTree. These functions are
+similar in that they use a stack of state objects in order to eliminate
+recursion. The stack must be fully unwound and deallocated if an error
+occurs. Lin Ming. ACPICA BZ 383.
+
+Removed the unused ACPI_BITREG_WAKE_ENABLE definition and entry in the global
+ACPI register table. This bit does not exist and is unused. Lin Ming, Bob
+Moore ACPICA BZ 442.
+
+Removed the obsolete version number in module headers. Removed the
+"$Revision" number that appeared in each module header. This version number
+was useful under SourceSafe and CVS, but has no meaning under git. It is not
+only incorrect, it could also be misleading.
+
+Example Code and Data Size: These are the sizes for the OS-independent
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
+debug version of the code includes the debug output trace mechanism and has a
+much larger code and data size.
+
+ Previous Release:
+ Non-Debug Version: 79.7K Code, 16.4K Data, 96.1K Total
+ Debug Version: 153.7K Code, 48.2K Data, 201.9K Total
+ Current Release:
+ Non-Debug Version: 81.2K Code, 17.0K Data, 98.2K Total
+ Debug Version: 155.8K Code, 49.1K Data, 204.9K Total
+
+----------------------------------------
+29 August 2008. Summary of changes for version 20080829:
+
+1) ACPI CA Core Subsystem:
+
+Completed a major cleanup of the internal ACPI_OPERAND_OBJECT of type
+Reference. Changes include the elimination of cheating on the Object field
+for the DdbHandle subtype, addition of a reference class field to
+differentiate the various reference types (instead of an AML opcode), and the
+cleanup of debug output for this object. Lin Ming, Bob Moore. BZ 723
+
+Reduce an error to a warning for an incorrect method argument count.
+Previously aborted with an error if too few arguments were passed to a
+control method via the external ACPICA interface. Now issue a warning instead
+and continue. Handles the case where the method inadvertently declares too
+many arguments, but does not actually use the extra ones. Applies mainly to
+the predefined methods. Lin Ming. Linux BZ 11032.
+
+Disallow the evaluation of named object types with no intrinsic value. Return
+AE_TYPE for objects that have no value and therefore evaluation is undefined:
+Device, Event, Mutex, Region, Thermal, and Scope. Previously, evaluation of
+these types were allowed, but an exception would be generated at some point
+during the evaluation. Now, the error is generated up front.
+
+Fixed a possible memory leak in the AcpiNsGetExternalPathname function
+(nsnames.c). Fixes a leak in the error exit path.
+
+Removed the obsolete debug levels ACPI_DB_WARN and ACPI_DB_ERROR. These debug
+levels were made obsolete by the ACPI_WARNING, ACPI_ERROR, and ACPI_EXCEPTION
+interfaces. Also added ACPI_DB_EVENTS to correspond with the existing
+ACPI_LV_EVENTS.
+
+Removed obsolete and/or unused exception codes from the acexcep.h header.
+There is the possibility that certain device drivers may be affected if they
+use any of these exceptions.
+
+The ACPICA documentation has been added to the public git source tree, under
+acpica/documents. Included are the ACPICA programmer reference, the iASL
+compiler reference, and the changes.txt release logfile.
+
+Example Code and Data Size: These are the sizes for the OS-independent
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
+debug version of the code includes the debug output trace mechanism and has a
+much larger code and data size.
+
+ Previous Release:
+ Non-Debug Version: 79.7K Code, 16.4K Data, 96.1K Total
+ Debug Version: 153.9K Code, 48.4K Data, 202.3K Total
+ Current Release:
+ Non-Debug Version: 79.7K Code, 16.4K Data, 96.1K Total
+ Debug Version: 153.7K Code, 48.2K Data, 201.9K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+Allow multiple argument counts for the predefined _SCP method. ACPI 3.0
+defines _SCP with 3 arguments. Previous versions defined it with only 1
+argument. iASL now allows both definitions.
+
+iASL/disassembler: avoid infinite loop on bad ACPI tables. Check for zero-
+length subtables when disassembling ACPI tables. Also fixed a couple of
+errors where a full 16-bit table type field was not extracted from the input
+properly.
+
+acpisrc: Improve comment counting mechanism for generating source code
+statistics. Count first and last lines of multi-line comments as whitespace,
+not comment lines. Handle Linux legal header in addition to standard acpica
+header.
+
+----------------------------------------
+
+29 July 2008. Summary of changes for version 20080729:
+
+This release is available at http://acpica.org/downloads
+Direct git access via http://www.acpica.org/repos/acpica.git
+
+1) ACPI CA Core Subsystem:
+
+Fix a possible deadlock in the GPE dispatch. Remove call to
+AcpiHwDisableAllGpes during wake in AcpiEvGpeDispatch. This call will attempt
+to acquire the GPE lock but can deadlock since the GPE lock is already held
+at dispatch time. This code was introduced in version 20060831 as a response
+to Linux BZ 6881 and has since been removed from Linux.
+
+Add a function to dereference returned reference objects. Examines the return
+object from a call to AcpiEvaluateObject. Any Index or RefOf references are
+automatically dereferenced in an attempt to return something useful (these
+reference types cannot be converted into an external ACPI_OBJECT.) Provides
+MS compatibility. Lin Ming, Bob Moore. Linux BZ 11105
+
+x2APIC support: changes for MADT and SRAT ACPI tables. There are 2 new
+subtables for the MADT and one new subtable for the SRAT. Includes
+disassembler and AcpiSrc support. Data from the Intel 64 Architecture x2APIC
+Specification, June 2008.
+
+Additional error checking for pathname utilities. Add error check after all
+calls to AcpiNsGetPathnameLength. Add status return from
+AcpiNsBuildExternalPath and check after all calls. Add parameter validation
+to AcpiUtInitializeBuffer. Reported by and initial patch by Ingo Molnar.
+
+Return status from the global init function AcpiUtGlobalInitialize. This is
+used by both the kernel subsystem and the utilities such as iASL compiler.
+The function could possibly fail when the caches are initialized. Yang Yi.
+
+Add a function to decode reference object types to strings. Created for
+improved error messages.
+
+Improve object conversion error messages. Better error messages during object
+conversion from internal to the external ACPI_OBJECT. Used for external calls
+to AcpiEvaluateObject.
+
+Example Code and Data Size: These are the sizes for the OS-independent
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
+debug version of the code includes the debug output trace mechanism and has a
+much larger code and data size.
+
+ Previous Release:
+ Non-Debug Version: 79.6K Code, 16.2K Data, 95.8K Total
+ Debug Version: 153.5K Code, 48.2K Data, 201.7K Total
+ Current Release:
+ Non-Debug Version: 79.7K Code, 16.4K Data, 96.1K Total
+ Debug Version: 153.9K Code, 48.4K Data, 202.3K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+Debugger: fix a possible hang when evaluating non-methods. Fixes a problem
+introduced in version 20080701. If the object being evaluated (via execute
+command) is not a method, the debugger can hang while trying to obtain non-
+existent parameters.
+
+iASL: relax error for using reserved "_T_x" identifiers. These names can
+appear in a disassembled ASL file if they were emitted by the original
+compiler. Instead of issuing an error or warning and forcing the user to
+manually change these names, issue a remark instead.
+
+iASL: error if named object created in while loop. Emit an error if any named
+object is created within a While loop. If allowed, this code will generate a
+run-time error on the second iteration of the loop when an attempt is made to
+create the same named object twice. ACPICA bugzilla 730.
+
+iASL: Support absolute pathnames for include files. Add support for absolute
+pathnames within the Include operator. previously, only relative pathnames
+were supported.
+
+iASL: Enforce minimum 1 interrupt in interrupt macro and Resource Descriptor.
+The ACPI spec requires one interrupt minimum. BZ 423
+
+iASL: Handle a missing ResourceSource arg, with a present SourceIndex.
+Handles the case for the Interrupt Resource Descriptor where
+the ResourceSource argument is omitted but ResourceSourceIndex
+is present. Now leave room for the Index. BZ 426
+
+iASL: Prevent error message if CondRefOf target does not exist. Fixes cases
+where an error message is emitted if the target does not exist. BZ 516
+
+iASL: Fix broken -g option (get Windows ACPI tables). Fixes the -g option
+(get ACPI tables on Windows). This was apparently broken in version 20070919.
+
+AcpiXtract: Handle EOF while extracting data. Correctly handle the case where
+the EOF happens immediately after the last table in the input file. Print
+completion message. Previously, no message was displayed in this case.
+
+----------------------------------------
+01 July 2008. Summary of changes for version 20080701:
+
+This release is available at http://acpica.org/downloads
+Direct git access via http://www.acpica.org/repos/acpica.git
+
+0) Git source tree / acpica.org
+
+Fixed a problem where a git-clone from http would not transfer the entire
+source tree.
+
+1) ACPI CA Core Subsystem:
+
+Implemented a "careful" GPE disable in AcpiEvDisableGpe, only modify one
+enable bit. Now performs a read-change-write of the enable register instead
+of simply writing out the cached enable mask. This will prevent inadvertent
+enabling of GPEs if a rogue GPE is received during initialization (before GPE
+handlers are installed.)
+
+Implemented a copy for dynamically loaded tables. Previously, dynamically
+loaded tables were simply mapped - but on some machines this memory is
+corrupted after suspend. Now copy the table to a local buffer. For the
+OpRegion case, added checksum verify. Use the table length from the table
+header, not the region length. For the Buffer case, use the table length
+also. Dennis Noordsij, Bob Moore. BZ 10734
+
+Fixed a problem where the same ACPI table could not be dynamically loaded and
+unloaded more than once. Without this change, a table cannot be loaded again
+once it has been loaded/unloaded one time. The current mechanism does not
+unregister a table upon an unload. During a load, if the same table is found,
+this no longer returns an exception. BZ 722
+
+Fixed a problem where the wrong descriptor length was calculated for the
+EndTag descriptor in 64-bit mode. The "minimal" descriptors such as EndTag
+are calculated as 12 bytes long, but the actual length in the internal
+descriptor is 16 because of the round-up to 8 on the 64-bit build. Reported
+by Linn Crosetto. BZ 728
+
+Fixed a possible memory leak in the Unload operator. The DdbHandle returned
+by Load() did not have its reference count decremented during unload, leading
+to a memory leak. Lin Ming. BZ 727
+
+Fixed a possible memory leak when deleting thermal/processor objects. Any
+associated notify handlers (and objects) were not being deleted. Fiodor
+Suietov. BZ 506
+
+Fixed the ordering of the ASCII names in the global mutex table to match the
+actual mutex IDs. Used by AcpiUtGetMutexName, a function used for debug only.
+Vegard Nossum. BZ 726
+
+Enhanced the AcpiGetObjectInfo interface to return the number of required
+arguments if the object is a control method. Added this call to the debugger
+so the proper number of default arguments are passed to a method. This
+prevents a warning when executing methods from AcpiExec.
+
+Added a check for an invalid handle in AcpiGetObjectInfo. Return
+AE_BAD_PARAMETER if input handle is invalid. BZ 474
+
+Fixed an extraneous warning from exconfig.c on the 64-bit build.
+
+Example Code and Data Size: These are the sizes for the OS-independent
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
+debug version of the code includes the debug output trace mechanism and has a
+much larger code and data size.
+
+ Previous Release:
+ Non-Debug Version: 79.3K Code, 16.2K Data, 95.5K Total
+ Debug Version: 153.0K Code, 48.2K Data, 201.2K Total
+ Current Release:
+ Non-Debug Version: 79.6K Code, 16.2K Data, 95.8K Total
+ Debug Version: 153.5K Code, 48.2K Data, 201.7K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+iASL: Added two missing ACPI reserved names. Added _MTP and _ASZ, both
+resource descriptor names.
+
+iASL: Detect invalid ASCII characters in input (windows version). Removed the
+"-CF" flag from the flex compile, enables correct detection of non-ASCII
+characters in the input. BZ 441
+
+iASL: Eliminate warning when result of LoadTable is not used. Eliminate the
+"result of operation not used" warning when the DDB handle returned from
+LoadTable is not used. The warning is not needed. BZ 590
+
+AcpiExec: Add support for dynamic table load/unload. Now calls _CFG method to
+pass address of table to the AML. Added option to disable OpRegion simulation
+to allow creation of an OpRegion with a real address that was passed to _CFG.
+All of this allows testing of the Load and Unload operators from AcpiExec.
+
+Debugger: update tables command for unloaded tables. Handle unloaded tables
+and use the standard table header output routine.
+
+----------------------------------------
+09 June 2008. Summary of changes for version 20080609:
+
+1) ACPI CA Core Subsystem:
+
+Implemented a workaround for reversed _PRT entries. A significant number of
+BIOSs erroneously reverse the _PRT SourceName and the SourceIndex. This
+change dynamically detects and repairs this problem. Provides compatibility
+with MS ACPI. BZ 6859
+
+Simplified the internal ACPI hardware interfaces to eliminate the locking
+flag parameter from Register Read/Write. Added a new external interface,
+AcpiGetRegisterUnlocked.
+
+Fixed a problem where the invocation of a GPE control method could hang. This
+was a regression introduced in 20080514. The new method argument count
+validation mechanism can enter an infinite loop when a GPE method is
+dispatched. Problem fixed by removing the obsolete code that passed GPE block
+information to the notify handler via the control method parameter pointer.
+
+Fixed a problem where the _SST execution status was incorrectly returned to
+the caller of AcpiEnterSleepStatePrep. This was a regression introduced in
+20080514. _SST is optional and a NOT_FOUND exception should never be
+returned. BZ 716
+
+Fixed a problem where a deleted object could be accessed from within the AML
+parser. This was a regression introduced in version 20080123 as a fix for the
+Unload operator. Lin Ming. BZ 10669
+
+Cleaned up the debug operand dump mechanism. Eliminated unnecessary operands
+and eliminated the use of a negative index in a loop. Operands are now
+displayed in the correct order, not backwards. This also fixes a regression
+introduced in 20080514 on 64-bit systems where the elimination of
+ACPI_NATIVE_UINT caused the negative index to go large and positive. BZ 715
+
+Fixed a possible memory leak in EvPciConfigRegionSetup where the error exit
+path did not delete a locally allocated structure.
+
+Updated definitions for the DMAR and SRAT tables to synchronize with the
+current specifications. Includes disassembler support.
+
+Fixed a problem in the mutex debug code (in utmutex.c) where an incorrect
+loop termination value was used. Loop terminated on iteration early, missing
+one mutex. Linn Crosetto
+
+Example Code and Data Size: These are the sizes for the OS-independent
+acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The
+debug version of the code includes the debug output trace mechanism and has a
+much larger code and data size.
+
+ Previous Release:
+ Non-Debug Version: 79.5K Code, 16.2K Data, 95.7K Total
+ Debug Version: 153.3K Code, 48.3K Data, 201.6K Total
+ Current Release:
+ Non-Debug Version: 79.3K Code, 16.2K Data, 95.5K Total
+ Debug Version: 153.0K Code, 48.2K Data, 201.2K Total
+
+2) iASL Compiler/Disassembler and Tools:
+
+Disassembler: Implemented support for EisaId() within _CID objects. Now
+disassemble integer _CID objects back to EisaId invocations, including
+multiple integers within _CID packages. Includes single-step support for
+debugger also.
+
+Disassembler: Added support for DMAR and SRAT table definition changes.
+
+----------------------------------------
+14 May 2008. Summary of changes for version 20080514:
+
+1) ACPI CA Core Subsystem:
+
+Fixed a problem where GPEs were enabled too early during the ACPICA
+initialization. This could lead to "handler not installed" errors on some
+machines. Moved GPE enable until after _REG/_STA/_INI methods are run. This
+ensures that all operation regions and devices throughout the namespace have
+been initialized before GPEs are enabled. Alexey Starikovskiy, BZ 9916.
+
+Implemented a change to the enter sleep code. Moved execution of the _GTS
+method to just before setting sleep enable bit. The execution was moved from
+AcpiEnterSleepStatePrep to AcpiEnterSleepState. _GTS is now executed
+immediately before the SLP_EN bit is set, as per the ACPI specification.
+Luming Yu, BZ 1653.
+
+Implemented a fix to disable unknown GPEs (2nd version). Now always disable
+the GPE, even if ACPICA thinks that that it is already disabled. It is
+possible that the AML or some other code has enabled the GPE unbeknownst to
+the ACPICA code.
+
+Fixed a problem with the Field operator where zero-length fields would return
+an AE_AML_NO_OPERAND exception during table load. Fix enables zero-length ASL
+field declarations in Field(), BankField(), and IndexField(). BZ 10606.
+
+Implemented a fix for the Load operator, now load the table at the namespace
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-all
mailing list