Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 5 Jun 2009 18:43:14 +0000 (UTC)
From:      Jung-uk Kim <jkim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r193529 - in head/sys/contrib/dev/acpica: . common compiler debugger disassembler dispatcher events executer hardware include namespace parser resources tables tools utilities
Message-ID:  <200906051843.n55IhEgT034583@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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 ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906051843.n55IhEgT034583>