svn commit: r250838 - in head: sys/conf sys/contrib/dev/acpica sys/contrib/dev/acpica/common sys/contrib/dev/acpica/compiler sys/contrib/dev/acpica/components/debugger sys/contrib/dev/acpica/compon...
Jung-uk Kim
jkim at FreeBSD.org
Mon May 20 23:52:52 UTC 2013
Author: jkim
Date: Mon May 20 23:52:49 2013
New Revision: 250838
URL: http://svnweb.freebsd.org/changeset/base/250838
Log:
Merge ACPICA 20130517.
Added:
head/sys/contrib/dev/acpica/compiler/asloptions.c
- copied, changed from r250758, vendor-sys/acpica/dist/source/compiler/asloptions.c
head/sys/contrib/dev/acpica/components/tables/tbprint.c
- copied, changed from r250758, vendor-sys/acpica/dist/source/components/tables/tbprint.c
head/sys/contrib/dev/acpica/components/utilities/utbuffer.c
- copied, changed from r250758, vendor-sys/acpica/dist/source/components/utilities/utbuffer.c
head/sys/contrib/dev/acpica/components/utilities/uterror.c
- copied, changed from r250758, vendor-sys/acpica/dist/source/components/utilities/uterror.c
Modified:
head/sys/conf/files
head/sys/contrib/dev/acpica/acpica_prep.sh
head/sys/contrib/dev/acpica/changes.txt (contents, props changed)
head/sys/contrib/dev/acpica/common/adisasm.c
head/sys/contrib/dev/acpica/common/adwalk.c
head/sys/contrib/dev/acpica/common/dmextern.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/getopt.c
head/sys/contrib/dev/acpica/compiler/aslanalyze.c
head/sys/contrib/dev/acpica/compiler/aslbtypes.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/aslerror.c
head/sys/contrib/dev/acpica/compiler/aslfold.c
head/sys/contrib/dev/acpica/compiler/aslglobal.h
head/sys/contrib/dev/acpica/compiler/aslhex.c
head/sys/contrib/dev/acpica/compiler/asllength.c
head/sys/contrib/dev/acpica/compiler/asllisting.c
head/sys/contrib/dev/acpica/compiler/asllistsup.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/aslmessages.h
head/sys/contrib/dev/acpica/compiler/aslmethod.c
head/sys/contrib/dev/acpica/compiler/aslnamesp.c
head/sys/contrib/dev/acpica/compiler/asloffset.c
head/sys/contrib/dev/acpica/compiler/aslopcodes.c
head/sys/contrib/dev/acpica/compiler/asloperands.c
head/sys/contrib/dev/acpica/compiler/aslpredef.c
head/sys/contrib/dev/acpica/compiler/aslresource.c
head/sys/contrib/dev/acpica/compiler/aslrestype1i.c
head/sys/contrib/dev/acpica/compiler/aslrestype2s.c
head/sys/contrib/dev/acpica/compiler/aslstartup.c
head/sys/contrib/dev/acpica/compiler/aslsupport.l
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/compiler/aslwalks.c
head/sys/contrib/dev/acpica/compiler/aslxref.c
head/sys/contrib/dev/acpica/compiler/dtexpress.c
head/sys/contrib/dev/acpica/compiler/dtfield.c
head/sys/contrib/dev/acpica/compiler/dtio.c
head/sys/contrib/dev/acpica/compiler/dtsubtable.c
head/sys/contrib/dev/acpica/compiler/dttable.c
head/sys/contrib/dev/acpica/compiler/dtutils.c
head/sys/contrib/dev/acpica/compiler/prscan.c
head/sys/contrib/dev/acpica/components/debugger/dbcmds.c
head/sys/contrib/dev/acpica/components/debugger/dbconvert.c
head/sys/contrib/dev/acpica/components/debugger/dbdisply.c
head/sys/contrib/dev/acpica/components/debugger/dbexec.c
head/sys/contrib/dev/acpica/components/debugger/dbhistry.c
head/sys/contrib/dev/acpica/components/debugger/dbinput.c
head/sys/contrib/dev/acpica/components/debugger/dbmethod.c
head/sys/contrib/dev/acpica/components/debugger/dbnames.c
head/sys/contrib/dev/acpica/components/debugger/dbstats.c
head/sys/contrib/dev/acpica/components/debugger/dbutils.c
head/sys/contrib/dev/acpica/components/debugger/dbxface.c
head/sys/contrib/dev/acpica/components/disassembler/dmbuffer.c
head/sys/contrib/dev/acpica/components/disassembler/dmdeferred.c
head/sys/contrib/dev/acpica/components/disassembler/dmnames.c
head/sys/contrib/dev/acpica/components/disassembler/dmobject.c
head/sys/contrib/dev/acpica/components/disassembler/dmopcode.c
head/sys/contrib/dev/acpica/components/disassembler/dmresrc.c
head/sys/contrib/dev/acpica/components/disassembler/dmresrcl.c
head/sys/contrib/dev/acpica/components/disassembler/dmresrcl2.c
head/sys/contrib/dev/acpica/components/disassembler/dmwalk.c
head/sys/contrib/dev/acpica/components/dispatcher/dscontrol.c
head/sys/contrib/dev/acpica/components/dispatcher/dsfield.c
head/sys/contrib/dev/acpica/components/dispatcher/dsinit.c
head/sys/contrib/dev/acpica/components/dispatcher/dsmthdat.c
head/sys/contrib/dev/acpica/components/dispatcher/dsobject.c
head/sys/contrib/dev/acpica/components/dispatcher/dsopcode.c
head/sys/contrib/dev/acpica/components/dispatcher/dsutils.c
head/sys/contrib/dev/acpica/components/dispatcher/dswexec.c
head/sys/contrib/dev/acpica/components/dispatcher/dswload.c
head/sys/contrib/dev/acpica/components/dispatcher/dswload2.c
head/sys/contrib/dev/acpica/components/events/evglock.c
head/sys/contrib/dev/acpica/components/events/evgpe.c
head/sys/contrib/dev/acpica/components/events/evgpeblk.c
head/sys/contrib/dev/acpica/components/events/evgpeinit.c
head/sys/contrib/dev/acpica/components/events/evhandler.c
head/sys/contrib/dev/acpica/components/events/evmisc.c
head/sys/contrib/dev/acpica/components/events/evrgnini.c
head/sys/contrib/dev/acpica/components/events/evxfgpe.c
head/sys/contrib/dev/acpica/components/events/evxfregn.c
head/sys/contrib/dev/acpica/components/executer/exconfig.c
head/sys/contrib/dev/acpica/components/executer/exconvrt.c
head/sys/contrib/dev/acpica/components/executer/excreate.c
head/sys/contrib/dev/acpica/components/executer/exdebug.c
head/sys/contrib/dev/acpica/components/executer/exdump.c
head/sys/contrib/dev/acpica/components/executer/exfield.c
head/sys/contrib/dev/acpica/components/executer/exfldio.c
head/sys/contrib/dev/acpica/components/executer/exmisc.c
head/sys/contrib/dev/acpica/components/executer/exnames.c
head/sys/contrib/dev/acpica/components/executer/exoparg1.c
head/sys/contrib/dev/acpica/components/executer/exoparg2.c
head/sys/contrib/dev/acpica/components/executer/exoparg3.c
head/sys/contrib/dev/acpica/components/executer/exoparg6.c
head/sys/contrib/dev/acpica/components/executer/exprep.c
head/sys/contrib/dev/acpica/components/executer/exregion.c
head/sys/contrib/dev/acpica/components/executer/exresnte.c
head/sys/contrib/dev/acpica/components/executer/exresolv.c
head/sys/contrib/dev/acpica/components/executer/exresop.c
head/sys/contrib/dev/acpica/components/executer/exstore.c
head/sys/contrib/dev/acpica/components/executer/exstoren.c
head/sys/contrib/dev/acpica/components/hardware/hwacpi.c
head/sys/contrib/dev/acpica/components/hardware/hwgpe.c
head/sys/contrib/dev/acpica/components/hardware/hwregs.c
head/sys/contrib/dev/acpica/components/hardware/hwxface.c
head/sys/contrib/dev/acpica/components/hardware/hwxfsleep.c
head/sys/contrib/dev/acpica/components/namespace/nsaccess.c
head/sys/contrib/dev/acpica/components/namespace/nsconvert.c
head/sys/contrib/dev/acpica/components/namespace/nsdump.c
head/sys/contrib/dev/acpica/components/namespace/nsinit.c
head/sys/contrib/dev/acpica/components/namespace/nspredef.c
head/sys/contrib/dev/acpica/components/namespace/nsprepkg.c
head/sys/contrib/dev/acpica/components/namespace/nsrepair.c
head/sys/contrib/dev/acpica/components/namespace/nsrepair2.c
head/sys/contrib/dev/acpica/components/namespace/nsutils.c
head/sys/contrib/dev/acpica/components/namespace/nsxfeval.c
head/sys/contrib/dev/acpica/components/parser/psargs.c
head/sys/contrib/dev/acpica/components/parser/psloop.c
head/sys/contrib/dev/acpica/components/parser/psobject.c
head/sys/contrib/dev/acpica/components/parser/psparse.c
head/sys/contrib/dev/acpica/components/parser/pstree.c
head/sys/contrib/dev/acpica/components/resources/rscalc.c
head/sys/contrib/dev/acpica/components/resources/rscreate.c
head/sys/contrib/dev/acpica/components/resources/rsdump.c
head/sys/contrib/dev/acpica/components/resources/rsmisc.c
head/sys/contrib/dev/acpica/components/resources/rsutils.c
head/sys/contrib/dev/acpica/components/resources/rsxface.c
head/sys/contrib/dev/acpica/components/tables/tbinstal.c
head/sys/contrib/dev/acpica/components/tables/tbutils.c
head/sys/contrib/dev/acpica/components/tables/tbxfload.c
head/sys/contrib/dev/acpica/components/utilities/utcopy.c
head/sys/contrib/dev/acpica/components/utilities/utdebug.c
head/sys/contrib/dev/acpica/components/utilities/utdelete.c
head/sys/contrib/dev/acpica/components/utilities/uteval.c
head/sys/contrib/dev/acpica/components/utilities/utexcep.c
head/sys/contrib/dev/acpica/components/utilities/utids.c
head/sys/contrib/dev/acpica/components/utilities/utmisc.c
head/sys/contrib/dev/acpica/components/utilities/utobject.c
head/sys/contrib/dev/acpica/components/utilities/utstring.c
head/sys/contrib/dev/acpica/components/utilities/uttrack.c
head/sys/contrib/dev/acpica/components/utilities/utxferror.c
head/sys/contrib/dev/acpica/include/acapps.h
head/sys/contrib/dev/acpica/include/acglobal.h
head/sys/contrib/dev/acpica/include/acpiosxf.h
head/sys/contrib/dev/acpica/include/acpixf.h
head/sys/contrib/dev/acpica/include/actypes.h
head/sys/contrib/dev/acpica/include/acutils.h
head/sys/contrib/dev/acpica/include/platform/acenv.h
head/sys/contrib/dev/acpica/os_specific/service_layers/osunixxf.c
head/sys/dev/acpica/Osd/OsdTable.c
head/sys/modules/acpi/acpi/Makefile
head/usr.sbin/acpi/acpidb/Makefile
head/usr.sbin/acpi/iasl/Makefile
Directory Properties:
head/sys/contrib/dev/acpica/ (props changed)
head/sys/contrib/dev/acpica/common/ (props changed)
head/sys/contrib/dev/acpica/compiler/ (props changed)
head/sys/contrib/dev/acpica/components/debugger/ (props changed)
head/sys/contrib/dev/acpica/components/disassembler/ (props changed)
head/sys/contrib/dev/acpica/components/dispatcher/ (props changed)
head/sys/contrib/dev/acpica/components/events/ (props changed)
head/sys/contrib/dev/acpica/components/executer/ (props changed)
head/sys/contrib/dev/acpica/components/hardware/ (props changed)
head/sys/contrib/dev/acpica/components/namespace/ (props changed)
head/sys/contrib/dev/acpica/components/parser/ (props changed)
head/sys/contrib/dev/acpica/components/resources/ (props changed)
head/sys/contrib/dev/acpica/components/tables/ (props changed)
head/sys/contrib/dev/acpica/components/utilities/ (props changed)
head/sys/contrib/dev/acpica/include/ (props changed)
head/sys/contrib/dev/acpica/os_specific/ (props changed)
Modified: head/sys/conf/files
==============================================================================
--- head/sys/conf/files Mon May 20 22:51:11 2013 (r250837)
+++ head/sys/conf/files Mon May 20 23:52:49 2013 (r250838)
@@ -421,17 +421,20 @@ contrib/dev/acpica/components/resources/
contrib/dev/acpica/components/tables/tbfadt.c optional acpi
contrib/dev/acpica/components/tables/tbfind.c optional acpi
contrib/dev/acpica/components/tables/tbinstal.c optional acpi
+contrib/dev/acpica/components/tables/tbprint.c optional acpi
contrib/dev/acpica/components/tables/tbutils.c optional acpi
contrib/dev/acpica/components/tables/tbxface.c optional acpi
contrib/dev/acpica/components/tables/tbxfload.c optional acpi
contrib/dev/acpica/components/tables/tbxfroot.c optional acpi
contrib/dev/acpica/components/utilities/utaddress.c optional acpi
contrib/dev/acpica/components/utilities/utalloc.c optional acpi
+contrib/dev/acpica/components/utilities/utbuffer.c optional acpi
contrib/dev/acpica/components/utilities/utcache.c optional acpi
contrib/dev/acpica/components/utilities/utcopy.c optional acpi
contrib/dev/acpica/components/utilities/utdebug.c optional acpi
contrib/dev/acpica/components/utilities/utdecode.c optional acpi
contrib/dev/acpica/components/utilities/utdelete.c optional acpi
+contrib/dev/acpica/components/utilities/uterror.c optional acpi
contrib/dev/acpica/components/utilities/uteval.c optional acpi
contrib/dev/acpica/components/utilities/utexcep.c optional acpi
contrib/dev/acpica/components/utilities/utglobal.c optional acpi
Modified: head/sys/contrib/dev/acpica/acpica_prep.sh
==============================================================================
--- head/sys/contrib/dev/acpica/acpica_prep.sh Mon May 20 22:51:11 2013 (r250837)
+++ head/sys/contrib/dev/acpica/acpica_prep.sh Mon May 20 23:52:49 2013 (r250838)
@@ -19,9 +19,9 @@ fulldirs="common compiler components inc
# files to remove
stripdirs="generate libraries tests tools"
stripfiles="Makefile README accygwin.h acefi.h achaiku.h acintel.h \
- aclinux.h acmsvc.h acnetbsd.h acos2.h acwin.h acwin64.h \
- new_table.txt osunixdir.c oswindir.c oswintbl.c oswinxf.c \
- readme.txt utclib.c"
+ aclinux.h acmacosx.h acmsvc.h acnetbsd.h acos2.h acwin.h \
+ acwin64.h new_table.txt oslinuxtbl.c osunixdir.c oswindir.c \
+ oswintbl.c oswinxf.c readme.txt utclib.c"
# include files to canonify
src_headers="acapps.h acbuffer.h accommon.h acconfig.h acdebug.h \
Modified: head/sys/contrib/dev/acpica/changes.txt
==============================================================================
--- head/sys/contrib/dev/acpica/changes.txt Mon May 20 22:51:11 2013 (r250837)
+++ head/sys/contrib/dev/acpica/changes.txt Mon May 20 23:52:49 2013 (r250838)
@@ -1,8 +1,108 @@
----------------------------------------
-18 April 2013. Summary of changes for version 20130418:
+17 May 2013. Summary of changes for version 20130517:
+
+1) ACPICA kernel-resident subsystem:
-This release is available at https://acpica.org/downloads
+Fixed a regression introduced in version 20130328 for _INI methods. This
+change fixes a problem introduced in 20130328 where _INI methods are no
+longer executed properly because of a memory block that was not
+initialized correctly. ACPICA BZ 1016. Tomasz Nowicki
+<tomasz.nowicki at linaro.org>.
+
+Fixed a possible problem with the new extended sleep registers in the ACPI
+5.0 FADT. Do not use these registers (even if populated) unless the HW-
+reduced bit is set in the FADT (as per the ACPI specification). ACPICA BZ
+1020. Lv Zheng.
+
+Implemented return value repair code for _CST predefined objects: Sort the
+list and detect/remove invalid entries. ACPICA BZ 890. Lv Zheng.
+
+Implemented a debug-only option to disable loading of SSDTs from the
+RSDT/XSDT during ACPICA initialization. This can be useful for debugging
+ACPI problems on some machines. Set AcpiGbl_DisableSsdtTableLoad in
+acglobal.h - ACPICA BZ 1005. Lv Zheng.
+
+Fixed some issues in the ACPICA initialization and termination code:
+Tomasz Nowicki <tomasz.nowicki at linaro.org>
+1) Clear events initialized flag upon event component termination. ACPICA
+BZ 1013.
+2) Fixed a possible memory leak in GPE init error path. ACPICA BZ 1018.
+3) Delete global lock pending lock during termination. ACPICA BZ 1012.
+4) Clear debug buffer global on termination to prevent possible multiple
+delete. ACPICA BZ 1010.
+
+Standardized all switch() blocks across the entire source base. After many
+years, different formatting for switch() had crept in. This change makes
+the formatting of every switch block identical. ACPICA BZ 997. Chao Guan.
+
+Split some files to enhance ACPICA modularity and configurability:
+1) Split buffer dump routines into utilities/utbuffer.c
+2) Split internal error message routines into utilities/uterror.c
+3) Split table print utilities into tables/tbprint.c
+4) Split iASL command-line option processing into asloptions.c
+
+Makefile enhancements:
+1) Support for all new files above.
+2) Abort make on errors from any subcomponent. Chao Guan.
+3) Add build support for Apple Mac OS X. Liang Qi.
+
+Example Code and Data Size: These are the sizes for the OS-independent
+acpica.lib produced by the Microsoft Visual C++ 9.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.
+ Current Release:
+ Non-Debug Version: 96.0K Code, 27.0K Data, 123.0K Total
+ Debug Version: 184.1K Code, 76.8K Data, 260.9K Total
+ Previous Release:
+ Non-Debug Version: 95.6K Code, 26.8K Data, 122.4K Total
+ Debug Version: 183.5K Code, 76.6K Data, 260.1K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+New utility: Implemented an easily portable version of the acpidump
+utility to extract ACPI tables from the system (or a file) in an ASCII hex
+dump format. The top-level code implements the various command line
+options, file I/O, and table dump routines. To port to a new host, only
+three functions need to be implemented to get tables -- since this
+functionality is OS-dependent. See the tools/acpidump/apmain.c module and
+the ACPICA reference for porting instructions. ACPICA BZ 859. Notes:
+1) The Windows version obtains the ACPI tables from the Registry.
+2) The Linux version is under development.
+3) Other hosts - If an OS-dependent module is submitted, it will be
+distributed with ACPICA.
+
+iASL: Fixed a regression for -D preprocessor option (define symbol). A
+restructuring/change to the initialization sequence caused this option to
+no longer work properly.
+
+iASL: Implemented a mechanism to disable specific warnings and remarks.
+Adds a new command line option, "-vw <messageid> as well as "#pragma
+disable <messageid>". ACPICA BZ 989. Chao Guan, Bob Moore.
+
+iASL: Fix for too-strict package object validation. The package object
+validation for return values from the predefined names is a bit too
+strict, it does not allow names references within the package (which will
+be resolved at runtime.) These types of references cannot be validated at
+compile time. This change ignores named references within package objects
+for names that return or define static packages.
+
+Debugger: Fixed the 80-character command line limitation for the History
+command. Now allows lines of arbitrary length. ACPICA BZ 1000. Chao Guan.
+
+iASL: Added control method and package support for the -so option
+(generates AML offset table for BIOS support.)
+
+iASL: issue a remark if a non-serialized method creates named objects. If
+a thread blocks within the method for any reason, and another thread
+enters the method, the method will fail because an attempt will be made to
+create the same (named) object twice. In this case, issue a remark that
+the method should be marked serialized. NOTE: may become a warning later.
+ACPICA BZ 909.
+
+----------------------------------------
+18 April 2013. Summary of changes for version 20130418:
1) ACPICA kernel-resident subsystem:
Modified: head/sys/contrib/dev/acpica/common/adisasm.c
==============================================================================
--- head/sys/contrib/dev/acpica/common/adisasm.c Mon May 20 22:51:11 2013 (r250837)
+++ head/sys/contrib/dev/acpica/common/adisasm.c Mon May 20 23:52:49 2013 (r250838)
@@ -628,10 +628,12 @@ AdCreateTableHeader (
switch (Table->Revision)
{
case 0:
+
AcpiOsPrintf (" **** Invalid Revision");
break;
case 1:
+
/* Revision of DSDT controls the ACPI integer width */
if (ACPI_COMPARE_NAME (Table->Signature, ACPI_SIG_DSDT))
@@ -641,6 +643,7 @@ AdCreateTableHeader (
break;
default:
+
break;
}
AcpiOsPrintf ("\n");
Modified: head/sys/contrib/dev/acpica/common/adwalk.c
==============================================================================
--- head/sys/contrib/dev/acpica/common/adwalk.c Mon May 20 22:51:11 2013 (r250837)
+++ head/sys/contrib/dev/acpica/common/adwalk.c Mon May 20 23:52:49 2013 (r250838)
@@ -375,14 +375,17 @@ AcpiDmDumpDescending (
case AML_BYTE_OP:
case AML_WORD_OP:
case AML_DWORD_OP:
+
AcpiOsPrintf ("%X", (UINT32) Op->Common.Value.Integer);
break;
case AML_QWORD_OP:
+
AcpiOsPrintf ("%8.8X%8.8X", ACPI_FORMAT_UINT64 (Op->Common.Value.Integer));
break;
case AML_INT_NAMEPATH_OP:
+
if (Op->Common.Value.String)
{
AcpiNsExternalizeName (ACPI_UINT32_MAX, Op->Common.Value.String,
@@ -400,10 +403,12 @@ AcpiDmDumpDescending (
case AML_METHOD_OP:
case AML_DEVICE_OP:
case AML_INT_NAMEDFIELD_OP:
+
AcpiOsPrintf ("%4.4s", ACPI_CAST_PTR (char, &Op->Named.Name));
break;
default:
+
break;
}
@@ -450,6 +455,7 @@ AcpiDmFindOrphanDescending (
{
#ifdef ACPI_UNDER_DEVELOPMENT
case AML_ADD_OP:
+
ChildOp = Op->Common.Value.Arg;
if ((ChildOp->Common.AmlOpcode == AML_INT_NAMEPATH_OP) &&
!ChildOp->Common.Node)
@@ -556,6 +562,7 @@ AcpiDmFindOrphanDescending (
break;
default:
+
break;
}
Modified: head/sys/contrib/dev/acpica/common/dmextern.c
==============================================================================
--- head/sys/contrib/dev/acpica/common/dmextern.c Mon May 20 22:51:11 2013 (r250837)
+++ head/sys/contrib/dev/acpica/common/dmextern.c Mon May 20 23:52:49 2013 (r250838)
@@ -594,6 +594,7 @@ AcpiDmAddExternalsToNamespace (
break;
default:
+
break;
}
Modified: head/sys/contrib/dev/acpica/common/dmrestag.c
==============================================================================
--- head/sys/contrib/dev/acpica/common/dmrestag.c Mon May 20 22:51:11 2013 (r250837)
+++ head/sys/contrib/dev/acpica/common/dmrestag.c Mon May 20 23:52:49 2013 (r250838)
@@ -798,7 +798,6 @@ AcpiDmGetResourceTag (
case ACPI_RESOURCE_NAME_ADDRESS32:
case ACPI_RESOURCE_NAME_ADDRESS64:
case ACPI_RESOURCE_NAME_EXTENDED_ADDRESS64:
-
/*
* Subtype differentiation is the flags.
* Kindof brute force, but just blindly search for an index match
@@ -846,6 +845,7 @@ AcpiDmGetResourceTag (
break;
default:
+
break;
}
Modified: head/sys/contrib/dev/acpica/common/dmtable.c
==============================================================================
--- head/sys/contrib/dev/acpica/common/dmtable.c Mon May 20 22:51:11 2013 (r250837)
+++ head/sys/contrib/dev/acpica/common/dmtable.c Mon May 20 23:52:49 2013 (r250838)
@@ -697,48 +697,71 @@ AcpiDmDumpTable (
case ACPI_DMT_EINJINST:
case ACPI_DMT_ERSTACT:
case ACPI_DMT_ERSTINST:
+
ByteLength = 1;
break;
+
case ACPI_DMT_UINT16:
case ACPI_DMT_DMAR:
case ACPI_DMT_HEST:
+
ByteLength = 2;
break;
+
case ACPI_DMT_UINT24:
+
ByteLength = 3;
break;
+
case ACPI_DMT_UINT32:
case ACPI_DMT_NAME4:
case ACPI_DMT_SIG:
case ACPI_DMT_SLIC:
+
ByteLength = 4;
break;
+
case ACPI_DMT_UINT40:
+
ByteLength = 5;
break;
+
case ACPI_DMT_UINT48:
case ACPI_DMT_NAME6:
+
ByteLength = 6;
break;
+
case ACPI_DMT_UINT56:
case ACPI_DMT_BUF7:
+
ByteLength = 7;
break;
+
case ACPI_DMT_UINT64:
case ACPI_DMT_NAME8:
+
ByteLength = 8;
break;
+
case ACPI_DMT_BUF16:
case ACPI_DMT_UUID:
+
ByteLength = 16;
break;
+
case ACPI_DMT_BUF128:
+
ByteLength = 128;
break;
+
case ACPI_DMT_STRING:
+
ByteLength = ACPI_STRLEN (ACPI_CAST_PTR (char, Target)) + 1;
break;
+
case ACPI_DMT_GAS:
+
if (!LastOutputBlankLine)
{
AcpiOsPrintf ("\n");
@@ -746,7 +769,9 @@ AcpiDmDumpTable (
}
ByteLength = sizeof (ACPI_GENERIC_ADDRESS);
break;
+
case ACPI_DMT_HESTNTFY:
+
if (!LastOutputBlankLine)
{
AcpiOsPrintf ("\n");
@@ -754,7 +779,9 @@ AcpiDmDumpTable (
}
ByteLength = sizeof (ACPI_HEST_NOTIFY);
break;
+
default:
+
ByteLength = 0;
break;
}
@@ -837,7 +864,6 @@ AcpiDmDumpTable (
case ACPI_DMT_BUF7:
case ACPI_DMT_BUF16:
case ACPI_DMT_BUF128:
-
/*
* Buffer: Size depends on the opcode and was set above.
* Each hex byte is separated with a space.
@@ -1146,16 +1172,19 @@ AcpiDmDumpTable (
switch (Temp8)
{
case ACPI_IVRS_TYPE_HARDWARE:
+
Name = AcpiDmIvrsSubnames[0];
break;
case ACPI_IVRS_TYPE_MEMORY1:
case ACPI_IVRS_TYPE_MEMORY2:
case ACPI_IVRS_TYPE_MEMORY3:
+
Name = AcpiDmIvrsSubnames[1];
break;
default:
+
Name = AcpiDmIvrsSubnames[2];
break;
}
@@ -1164,9 +1193,11 @@ AcpiDmDumpTable (
break;
case ACPI_DMT_EXIT:
+
return (AE_OK);
default:
+
ACPI_ERROR ((AE_INFO,
"**** Invalid table opcode [0x%X] ****\n", Info->Opcode));
return (AE_SUPPORT);
Modified: head/sys/contrib/dev/acpica/common/dmtbdump.c
==============================================================================
--- head/sys/contrib/dev/acpica/common/dmtbdump.c Mon May 20 22:51:11 2013 (r250837)
+++ head/sys/contrib/dev/acpica/common/dmtbdump.c Mon May 20 23:52:49 2013 (r250838)
@@ -349,27 +349,33 @@ AcpiDmValidateFadtLength (
switch (Revision)
{
case 0:
+
AcpiOsPrintf ("// ACPI Warning: Invalid FADT revision: 0\n");
return;
case 1:
+
ExpectedLength = ACPI_FADT_V1_SIZE;
break;
case 2:
+
ExpectedLength = ACPI_FADT_V2_SIZE;
break;
case 3:
case 4:
+
ExpectedLength = ACPI_FADT_V3_SIZE;
break;
case 5:
+
ExpectedLength = ACPI_FADT_V5_SIZE;
break;
default:
+
return;
}
@@ -434,10 +440,12 @@ AcpiDmDumpAsf (
switch (Type)
{
case ACPI_ASF_TYPE_INFO:
+
InfoTable = AcpiDmTableInfoAsf0;
break;
case ACPI_ASF_TYPE_ALERT:
+
InfoTable = AcpiDmTableInfoAsf1;
DataInfoTable = AcpiDmTableInfoAsf1a;
DataTable = ACPI_ADD_PTR (UINT8, SubTable, sizeof (ACPI_ASF_ALERT));
@@ -447,6 +455,7 @@ AcpiDmDumpAsf (
break;
case ACPI_ASF_TYPE_CONTROL:
+
InfoTable = AcpiDmTableInfoAsf2;
DataInfoTable = AcpiDmTableInfoAsf2a;
DataTable = ACPI_ADD_PTR (UINT8, SubTable, sizeof (ACPI_ASF_REMOTE));
@@ -456,10 +465,12 @@ AcpiDmDumpAsf (
break;
case ACPI_ASF_TYPE_BOOT:
+
InfoTable = AcpiDmTableInfoAsf3;
break;
case ACPI_ASF_TYPE_ADDRESS:
+
InfoTable = AcpiDmTableInfoAsf4;
DataTable = ACPI_ADD_PTR (UINT8, SubTable, sizeof (ACPI_ASF_ADDRESS));
DataLength = ACPI_CAST_PTR (ACPI_ASF_ADDRESS, SubTable)->Devices;
@@ -467,6 +478,7 @@ AcpiDmDumpAsf (
break;
default:
+
AcpiOsPrintf ("\n**** Unknown ASF sub-table type 0x%X\n", SubTable->Header.Type);
return;
}
@@ -523,6 +535,7 @@ AcpiDmDumpAsf (
break;
default:
+
break;
}
@@ -863,22 +876,31 @@ AcpiDmDumpDmar (
switch (SubTable->Type)
{
case ACPI_DMAR_TYPE_HARDWARE_UNIT:
+
InfoTable = AcpiDmTableInfoDmar0;
ScopeOffset = sizeof (ACPI_DMAR_HARDWARE_UNIT);
break;
+
case ACPI_DMAR_TYPE_RESERVED_MEMORY:
+
InfoTable = AcpiDmTableInfoDmar1;
ScopeOffset = sizeof (ACPI_DMAR_RESERVED_MEMORY);
break;
+
case ACPI_DMAR_TYPE_ATSR:
+
InfoTable = AcpiDmTableInfoDmar2;
ScopeOffset = sizeof (ACPI_DMAR_ATSR);
break;
+
case ACPI_DMAR_HARDWARE_AFFINITY:
+
InfoTable = AcpiDmTableInfoDmar3;
ScopeOffset = sizeof (ACPI_DMAR_RHSA);
break;
+
default:
+
AcpiOsPrintf ("\n**** Unknown DMAR sub-table type 0x%X\n\n", SubTable->Type);
return;
}
@@ -1086,12 +1108,17 @@ AcpiDmDumpFpdt (
switch (SubTable->Type)
{
case ACPI_FPDT_TYPE_BOOT:
+
InfoTable = AcpiDmTableInfoFpdt0;
break;
+
case ACPI_FPDT_TYPE_S3PERF:
+
InfoTable = AcpiDmTableInfoFpdt1;
break;
+
default:
+
AcpiOsPrintf ("\n**** Unknown FPDT sub-table type 0x%X\n\n", SubTable->Type);
/* Attempt to continue */
@@ -1164,6 +1191,7 @@ AcpiDmDumpHest (
switch (SubTable->Type)
{
case ACPI_HEST_TYPE_IA32_CHECK:
+
InfoTable = AcpiDmTableInfoHest0;
SubTableLength = sizeof (ACPI_HEST_IA_MACHINE_CHECK);
BankCount = (ACPI_CAST_PTR (ACPI_HEST_IA_MACHINE_CHECK,
@@ -1171,6 +1199,7 @@ AcpiDmDumpHest (
break;
case ACPI_HEST_TYPE_IA32_CORRECTED_CHECK:
+
InfoTable = AcpiDmTableInfoHest1;
SubTableLength = sizeof (ACPI_HEST_IA_CORRECTED);
BankCount = (ACPI_CAST_PTR (ACPI_HEST_IA_CORRECTED,
@@ -1178,31 +1207,37 @@ AcpiDmDumpHest (
break;
case ACPI_HEST_TYPE_IA32_NMI:
+
InfoTable = AcpiDmTableInfoHest2;
SubTableLength = sizeof (ACPI_HEST_IA_NMI);
break;
case ACPI_HEST_TYPE_AER_ROOT_PORT:
+
InfoTable = AcpiDmTableInfoHest6;
SubTableLength = sizeof (ACPI_HEST_AER_ROOT);
break;
case ACPI_HEST_TYPE_AER_ENDPOINT:
+
InfoTable = AcpiDmTableInfoHest7;
SubTableLength = sizeof (ACPI_HEST_AER);
break;
case ACPI_HEST_TYPE_AER_BRIDGE:
+
InfoTable = AcpiDmTableInfoHest8;
SubTableLength = sizeof (ACPI_HEST_AER_BRIDGE);
break;
case ACPI_HEST_TYPE_GENERIC_ERROR:
+
InfoTable = AcpiDmTableInfoHest9;
SubTableLength = sizeof (ACPI_HEST_GENERIC);
break;
default:
+
/* Cannot continue on unknown type - no length */
AcpiOsPrintf ("\n**** Unknown HEST sub-table type 0x%X\n", SubTable->Type);
@@ -1304,14 +1339,19 @@ AcpiDmDumpIvrs (
switch (SubTable->Type)
{
case ACPI_IVRS_TYPE_HARDWARE:
+
InfoTable = AcpiDmTableInfoIvrs0;
break;
+
case ACPI_IVRS_TYPE_MEMORY1:
case ACPI_IVRS_TYPE_MEMORY2:
case ACPI_IVRS_TYPE_MEMORY3:
+
InfoTable = AcpiDmTableInfoIvrs1;
break;
+
default:
+
AcpiOsPrintf ("\n**** Unknown IVRS sub-table type 0x%X\n",
SubTable->Type);
@@ -1473,45 +1513,72 @@ AcpiDmDumpMadt (
switch (SubTable->Type)
{
case ACPI_MADT_TYPE_LOCAL_APIC:
+
InfoTable = AcpiDmTableInfoMadt0;
break;
+
case ACPI_MADT_TYPE_IO_APIC:
+
InfoTable = AcpiDmTableInfoMadt1;
break;
+
case ACPI_MADT_TYPE_INTERRUPT_OVERRIDE:
+
InfoTable = AcpiDmTableInfoMadt2;
break;
+
case ACPI_MADT_TYPE_NMI_SOURCE:
+
InfoTable = AcpiDmTableInfoMadt3;
break;
+
case ACPI_MADT_TYPE_LOCAL_APIC_NMI:
+
InfoTable = AcpiDmTableInfoMadt4;
break;
+
case ACPI_MADT_TYPE_LOCAL_APIC_OVERRIDE:
+
InfoTable = AcpiDmTableInfoMadt5;
break;
+
case ACPI_MADT_TYPE_IO_SAPIC:
+
InfoTable = AcpiDmTableInfoMadt6;
break;
+
case ACPI_MADT_TYPE_LOCAL_SAPIC:
+
InfoTable = AcpiDmTableInfoMadt7;
break;
+
case ACPI_MADT_TYPE_INTERRUPT_SOURCE:
+
InfoTable = AcpiDmTableInfoMadt8;
break;
+
case ACPI_MADT_TYPE_LOCAL_X2APIC:
+
InfoTable = AcpiDmTableInfoMadt9;
break;
+
case ACPI_MADT_TYPE_LOCAL_X2APIC_NMI:
+
InfoTable = AcpiDmTableInfoMadt10;
break;
+
case ACPI_MADT_TYPE_GENERIC_INTERRUPT:
+
InfoTable = AcpiDmTableInfoMadt11;
break;
+
case ACPI_MADT_TYPE_GENERIC_DISTRIBUTOR:
+
InfoTable = AcpiDmTableInfoMadt12;
break;
+
default:
+
AcpiOsPrintf ("\n**** Unknown MADT sub-table type 0x%X\n\n", SubTable->Type);
/* Attempt to continue */
@@ -2152,12 +2219,17 @@ AcpiDmDumpS3pt (
switch (SubTable->Type)
{
case ACPI_S3PT_TYPE_RESUME:
+
InfoTable = AcpiDmTableInfoS3pt0;
break;
+
case ACPI_S3PT_TYPE_SUSPEND:
+
InfoTable = AcpiDmTableInfoS3pt1;
break;
+
default:
+
AcpiOsPrintf ("\n**** Unknown S3PT sub-table type 0x%X\n", SubTable->Type);
/* Attempt to continue */
@@ -2229,12 +2301,17 @@ AcpiDmDumpSlic (
switch (SubTable->Type)
{
case ACPI_SLIC_TYPE_PUBLIC_KEY:
+
InfoTable = AcpiDmTableInfoSlic0;
break;
+
case ACPI_SLIC_TYPE_WINDOWS_MARKER:
+
InfoTable = AcpiDmTableInfoSlic1;
break;
+
default:
+
AcpiOsPrintf ("\n**** Unknown SLIC sub-table type 0x%X\n", SubTable->Type);
/* Attempt to continue */
@@ -2390,14 +2467,20 @@ AcpiDmDumpSrat (
switch (SubTable->Type)
{
case ACPI_SRAT_TYPE_CPU_AFFINITY:
+
InfoTable = AcpiDmTableInfoSrat0;
break;
+
case ACPI_SRAT_TYPE_MEMORY_AFFINITY:
+
InfoTable = AcpiDmTableInfoSrat1;
break;
+
case ACPI_SRAT_TYPE_X2APIC_CPU_AFFINITY:
+
InfoTable = AcpiDmTableInfoSrat2;
break;
+
default:
AcpiOsPrintf ("\n**** Unknown SRAT sub-table type 0x%X\n", SubTable->Type);
Modified: head/sys/contrib/dev/acpica/common/getopt.c
==============================================================================
--- head/sys/contrib/dev/acpica/common/getopt.c Mon May 20 22:51:11 2013 (r250837)
+++ head/sys/contrib/dev/acpica/common/getopt.c Mon May 20 23:52:49 2013 (r250838)
@@ -41,6 +41,15 @@
* POSSIBILITY OF SUCH DAMAGES.
*/
+/*
+ * ACPICA getopt() implementation
+ *
+ * Option strings:
+ * "f" - Option has no arguments
+ * "f:" - Option requires an argument
+ * "f^" - Option has optional single-char sub-options
+ * "f|" - Option has required single-char sub-options
+ */
#include <stdio.h>
#include <string.h>
@@ -52,9 +61,59 @@
if (AcpiGbl_Opterr) {fprintf (stderr, "%s%c\n", msg, badchar);}
-int AcpiGbl_Opterr = 1;
-int AcpiGbl_Optind = 1;
-char *AcpiGbl_Optarg;
+int AcpiGbl_Opterr = 1;
+int AcpiGbl_Optind = 1;
+int AcpiGbl_SubOptChar = 0;
+char *AcpiGbl_Optarg;
+
+static int CurrentCharPtr = 1;
+
+
+/*******************************************************************************
+ *
+ * FUNCTION: AcpiGetoptArgument
+ *
+ * PARAMETERS: argc, argv - from main
+ *
+ * RETURN: 0 if an argument was found, -1 otherwise. Sets AcpiGbl_Optarg
+ * to point to the next argument.
+ *
+ * DESCRIPTION: Get the next argument. Used to obtain arguments for the
+ * two-character options after the original call to AcpiGetopt.
+ * Note: Either the argument starts at the next character after
+ * the option, or it is pointed to by the next argv entry.
+ * (After call to AcpiGetopt, we need to backup to the previous
+ * argv entry).
+ *
+ ******************************************************************************/
+
+int
+AcpiGetoptArgument (
+ int argc,
+ char **argv)
+{
+ AcpiGbl_Optind--;
+ CurrentCharPtr++;
+
+ if (argv[AcpiGbl_Optind][(int) (CurrentCharPtr+1)] != '\0')
+ {
+ AcpiGbl_Optarg = &argv[AcpiGbl_Optind++][(int) (CurrentCharPtr+1)];
+ }
+ else if (++AcpiGbl_Optind >= argc)
+ {
+ ACPI_OPTION_ERROR ("Option requires an argument: -", 'v');
+
+ CurrentCharPtr = 1;
+ return (-1);
+ }
+ else
+ {
+ AcpiGbl_Optarg = argv[AcpiGbl_Optind++];
+ }
+
+ CurrentCharPtr = 1;
+ return (0);
+}
/*******************************************************************************
@@ -76,7 +135,6 @@ AcpiGetopt(
char **argv,
char *opts)
{
- static int CurrentCharPtr = 1;
int CurrentChar;
char *OptsPtr;
@@ -152,6 +210,7 @@ AcpiGetopt(
AcpiGbl_Optarg = "^";
}
+ AcpiGbl_SubOptChar = AcpiGbl_Optarg[0];
AcpiGbl_Optind++;
CurrentCharPtr = 1;
}
@@ -172,6 +231,7 @@ AcpiGetopt(
return ('?');
}
+ AcpiGbl_SubOptChar = AcpiGbl_Optarg[0];
AcpiGbl_Optind++;
CurrentCharPtr = 1;
}
Modified: head/sys/contrib/dev/acpica/compiler/aslanalyze.c
==============================================================================
--- head/sys/contrib/dev/acpica/compiler/aslanalyze.c Mon May 20 22:51:11 2013 (r250837)
+++ head/sys/contrib/dev/acpica/compiler/aslanalyze.c Mon May 20 23:52:49 2013 (r250838)
@@ -381,6 +381,7 @@ AnIsResultUsed (
return (TRUE);
default:
+
break;
}
@@ -411,6 +412,7 @@ AnIsResultUsed (
return (FALSE);
default:
+
/* Any other type of parent means that the result is used */
return (TRUE);
Modified: head/sys/contrib/dev/acpica/compiler/aslbtypes.c
==============================================================================
--- head/sys/contrib/dev/acpica/compiler/aslbtypes.c Mon May 20 22:51:11 2013 (r250837)
+++ head/sys/contrib/dev/acpica/compiler/aslbtypes.c Mon May 20 23:52:49 2013 (r250838)
@@ -83,15 +83,19 @@ AnMapArgTypeToBtype (
/* Simple types */
case ARGI_ANYTYPE:
+
return (ACPI_BTYPE_OBJECTS_AND_REFS);
case ARGI_PACKAGE:
+
return (ACPI_BTYPE_PACKAGE);
case ARGI_EVENT:
+
return (ACPI_BTYPE_EVENT);
case ARGI_MUTEX:
+
return (ACPI_BTYPE_MUTEX);
case ARGI_DDBHANDLE:
@@ -111,31 +115,36 @@ AnMapArgTypeToBtype (
case ARGI_BUFFER:
case ARGI_BUFFER_OR_STRING:
case ARGI_COMPUTEDATA:
+
return (ACPI_BTYPE_COMPUTE_DATA);
/* References */
case ARGI_INTEGER_REF:
+
return (ACPI_BTYPE_INTEGER);
case ARGI_OBJECT_REF:
+
return (ACPI_BTYPE_ALL_OBJECTS);
case ARGI_DEVICE_REF:
+
return (ACPI_BTYPE_DEVICE_OBJECTS);
case ARGI_REFERENCE:
+
return (ACPI_BTYPE_REFERENCE);
case ARGI_TARGETREF:
case ARGI_FIXED_TARGET:
case ARGI_SIMPLE_TARGET:
+
return (ACPI_BTYPE_OBJECTS_AND_REFS);
/* Complex types */
case ARGI_DATAOBJECT:
-
/*
* Buffer, string, package or reference to a Op -
* Used only by SizeOf operator
@@ -150,6 +159,7 @@ AnMapArgTypeToBtype (
return (ACPI_BTYPE_STRING | ACPI_BTYPE_BUFFER | ACPI_BTYPE_PACKAGE);
case ARGI_REF_OR_STRING:
+
return (ACPI_BTYPE_STRING | ACPI_BTYPE_REFERENCE);
case ARGI_REGION_OR_BUFFER:
@@ -159,10 +169,12 @@ AnMapArgTypeToBtype (
return (ACPI_BTYPE_REGION | ACPI_BTYPE_BUFFER | ACPI_BTYPE_FIELD_UNIT);
case ARGI_DATAREFOBJ:
+
return (ACPI_BTYPE_INTEGER |ACPI_BTYPE_STRING | ACPI_BTYPE_BUFFER |
ACPI_BTYPE_PACKAGE | ACPI_BTYPE_REFERENCE | ACPI_BTYPE_DDB_HANDLE);
default:
+
break;
}
@@ -207,22 +219,28 @@ AnMapEtypeToBtype (
switch (Etype)
{
case ACPI_TYPE_INTEGER:
+
return (ACPI_BTYPE_COMPUTE_DATA | ACPI_BTYPE_DDB_HANDLE);
case ACPI_TYPE_STRING:
case ACPI_TYPE_BUFFER:
+
return (ACPI_BTYPE_COMPUTE_DATA);
case ACPI_TYPE_PACKAGE:
+
return (ACPI_BTYPE_PACKAGE);
case ACPI_TYPE_FIELD_UNIT:
+
return (ACPI_BTYPE_COMPUTE_DATA | ACPI_BTYPE_FIELD_UNIT);
case ACPI_TYPE_BUFFER_FIELD:
+
return (ACPI_BTYPE_COMPUTE_DATA | ACPI_BTYPE_BUFFER_FIELD);
case ACPI_TYPE_DDB_HANDLE:
+
return (ACPI_BTYPE_INTEGER | ACPI_BTYPE_DDB_HANDLE);
case ACPI_BTYPE_DEBUG_OBJECT:
@@ -232,6 +250,7 @@ AnMapEtypeToBtype (
return (0);
default:
+
return (1 << (Etype - 1));
}
}
@@ -259,6 +278,7 @@ AnMapEtypeToBtype (
return (ACPI_BTYPE_REFERENCE);
default:
+
printf ("Unhandled encoded type: %X\n", Etype);
return (0);
}
@@ -438,51 +458,67 @@ AnMapObjTypeToBtype (
switch (Op->Asl.ParseOpcode)
{
case PARSEOP_OBJECTTYPE_BFF: /* "BuffFieldObj" */
+
return (ACPI_BTYPE_BUFFER_FIELD);
case PARSEOP_OBJECTTYPE_BUF: /* "BuffObj" */
+
return (ACPI_BTYPE_BUFFER);
case PARSEOP_OBJECTTYPE_DDB: /* "DDBHandleObj" */
+
return (ACPI_BTYPE_DDB_HANDLE);
case PARSEOP_OBJECTTYPE_DEV: /* "DeviceObj" */
+
return (ACPI_BTYPE_DEVICE);
case PARSEOP_OBJECTTYPE_EVT: /* "EventObj" */
+
return (ACPI_BTYPE_EVENT);
case PARSEOP_OBJECTTYPE_FLD: /* "FieldUnitObj" */
+
return (ACPI_BTYPE_FIELD_UNIT);
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-all
mailing list