svn commit: r246849 - 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
Fri Feb 15 20:36:32 UTC 2013
Author: jkim
Date: Fri Feb 15 20:36:28 2013
New Revision: 246849
URL: http://svnweb.freebsd.org/changeset/base/246849
Log:
Merge ACPICA 20130214.
Added:
head/sys/contrib/dev/acpica/compiler/aslprepkg.c
- copied, changed from r246848, vendor-sys/acpica/dist/source/compiler/aslprepkg.c
head/sys/contrib/dev/acpica/components/namespace/nsconvert.c
- copied, changed from r246848, vendor-sys/acpica/dist/source/components/namespace/nsconvert.c
Modified:
head/sys/conf/files
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/dmtable.c
head/sys/contrib/dev/acpica/common/dmtbdump.c
head/sys/contrib/dev/acpica/common/dmtbinfo.c
head/sys/contrib/dev/acpica/compiler/aslcompile.c
head/sys/contrib/dev/acpica/compiler/aslcompiler.h
head/sys/contrib/dev/acpica/compiler/asldefine.h
head/sys/contrib/dev/acpica/compiler/aslfiles.c
head/sys/contrib/dev/acpica/compiler/aslmain.c
head/sys/contrib/dev/acpica/compiler/aslmessages.h
head/sys/contrib/dev/acpica/compiler/aslpredef.c
head/sys/contrib/dev/acpica/compiler/aslstartup.c
head/sys/contrib/dev/acpica/compiler/aslsupport.l
head/sys/contrib/dev/acpica/compiler/dtcompiler.h
head/sys/contrib/dev/acpica/compiler/dttable.c
head/sys/contrib/dev/acpica/compiler/dttemplate.h
head/sys/contrib/dev/acpica/components/debugger/dbcmds.c
head/sys/contrib/dev/acpica/components/debugger/dbinput.c
head/sys/contrib/dev/acpica/components/dispatcher/dsutils.c
head/sys/contrib/dev/acpica/components/events/evevent.c
head/sys/contrib/dev/acpica/components/events/evgpe.c
head/sys/contrib/dev/acpica/components/events/evsci.c
head/sys/contrib/dev/acpica/components/events/evxface.c
head/sys/contrib/dev/acpica/components/events/evxfevnt.c
head/sys/contrib/dev/acpica/components/executer/exprep.c
head/sys/contrib/dev/acpica/components/executer/exutils.c
head/sys/contrib/dev/acpica/components/hardware/hwacpi.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/parser/psargs.c
head/sys/contrib/dev/acpica/components/resources/rscalc.c
head/sys/contrib/dev/acpica/components/resources/rsdump.c
head/sys/contrib/dev/acpica/components/resources/rslist.c
head/sys/contrib/dev/acpica/components/resources/rsxface.c
head/sys/contrib/dev/acpica/components/utilities/utaddress.c
head/sys/contrib/dev/acpica/components/utilities/utexcep.c
head/sys/contrib/dev/acpica/components/utilities/utglobal.c
head/sys/contrib/dev/acpica/include/acdisasm.h
head/sys/contrib/dev/acpica/include/acexcep.h
head/sys/contrib/dev/acpica/include/acglobal.h
head/sys/contrib/dev/acpica/include/aclocal.h
head/sys/contrib/dev/acpica/include/acnamesp.h
head/sys/contrib/dev/acpica/include/acoutput.h
head/sys/contrib/dev/acpica/include/acpixf.h
head/sys/contrib/dev/acpica/include/actbl2.h
head/sys/contrib/dev/acpica/include/actbl3.h
head/sys/contrib/dev/acpica/include/acutils.h
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/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/utilities/ (props changed)
head/sys/contrib/dev/acpica/include/ (props changed)
Modified: head/sys/conf/files
==============================================================================
--- head/sys/conf/files Fri Feb 15 19:13:35 2013 (r246848)
+++ head/sys/conf/files Fri Feb 15 20:36:28 2013 (r246849)
@@ -371,6 +371,7 @@ contrib/dev/acpica/components/hardware/h
contrib/dev/acpica/components/hardware/hwxfsleep.c optional acpi
contrib/dev/acpica/components/namespace/nsaccess.c optional acpi
contrib/dev/acpica/components/namespace/nsalloc.c optional acpi
+contrib/dev/acpica/components/namespace/nsconvert.c optional acpi
contrib/dev/acpica/components/namespace/nsdump.c optional acpi
contrib/dev/acpica/components/namespace/nseval.c optional acpi
contrib/dev/acpica/components/namespace/nsinit.c optional acpi
Modified: head/sys/contrib/dev/acpica/changes.txt
==============================================================================
--- head/sys/contrib/dev/acpica/changes.txt Fri Feb 15 19:13:35 2013 (r246848)
+++ head/sys/contrib/dev/acpica/changes.txt Fri Feb 15 20:36:28 2013 (r246849)
@@ -1,6 +1,100 @@
----------------------------------------
-17 January 2013. Summary of changes for version 20130117:
+14 February 2013. Summary of changes for version 20130214:
+
+1) ACPICA Kernel-resident Subsystem:
+Fixed a possible regression on some hosts: Reinstated the safe return
+macros (return_ACPI_STATUS, etc.) that ensure that the argument is
+evaluated only once. Although these macros are not needed for the ACPICA
+code itself, they are often used by ACPI-related host device drivers where
+the safe feature may be necessary.
+
+Fixed several issues related to the ACPI 5.0 reduced hardware support
+(SOC): Now ensure that if the platform declares itself as hardware-reduced
+via the FADT, the following functions become NOOPs (and always return
+AE_OK) because ACPI is always enabled by definition on these machines:
+ AcpiEnable
+ AcpiDisable
+ AcpiHwGetMode
+ AcpiHwSetMode
+
+Dynamic Object Repair: Implemented additional runtime repairs for
+predefined name return values. Both of these repairs can simplify code in
+the related device drivers that invoke these methods:
+1) For the _STR and _MLS names, automatically repair/convert an ASCII
+string to a Unicode buffer.
+2) For the _CRS, _PRS, and _DMA names, return a resource descriptor with a
+lone end tag descriptor in the following cases: A Return(0) was executed,
+a null buffer was returned, or no object at all was returned (non-slack
+mode only). Adds a new file, nsconvert.c
+ACPICA BZ 998. Bob Moore, Lv Zheng.
+
+Resource Manager: Added additional code to prevent possible infinite loops
+while traversing corrupted or ill-formed resource template buffers. Check
+for zero-length resource descriptors in all code that loops through
+resource templates (the length field is used to index through the
+template). This change also hardens the external AcpiWalkResources and
+AcpiWalkResourceBuffer interfaces.
+
+Local Cache Manager: Enhanced the main data structure to eliminate an
+unnecessary mechanism to access the next object in the list. Actually
+provides a small performance enhancement for hosts that use the local
+ACPICA cache manager. Jung-uk Kim.
+
+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.
+
+ Previous Release:
+ Non-Debug Version: 94.5K Code, 25.4K Data, 119.9K Total
+ Debug Version: 182.3K Code, 75.0K Data, 257.3K Total
+ Current Release:
+ Non-Debug Version: 95.0K Code, 25.9K Data, 120.9K Total
+ Debug Version: 182.9K Code, 75.6K Data, 258.5K Total
+
+
+2) iASL Compiler/Disassembler and Tools:
+
+iASL/Disassembler: Fixed several issues with the definition of the ACPI
+5.0 RASF table (RAS Feature Table). This change incorporates late changes
+that were made to the ACPI 5.0 specification.
+
+iASL/Disassembler: Added full support for the following new ACPI tables:
+ 1) The MTMR table (MID Timer Table)
+ 2) The VRTC table (Virtual Real Time Clock Table).
+Includes header file, disassembler, table compiler, and template support
+for both tables.
+
+iASL: Implemented compile-time validation of package objects returned by
+predefined names. This new feature validates static package objects
+returned by the various predefined names defined to return packages. Both
+object types and package lengths are validated, for both parent packages
+and sub-packages, if any. The code is similar in structure and behavior to
+the runtime repair mechanism within the AML interpreter and uses the
+existing predefined name information table. Adds a new file, aslprepkg.c.
+ACPICA BZ 938.
+
+iASL: Implemented auto-detection of binary ACPI tables for disassembly.
+This feature detects a binary file with a valid ACPI table header and
+invokes the disassembler automatically. Eliminates the need to
+specifically invoke the disassembler with the -d option. ACPICA BZ 862.
+
+iASL/Disassembler: Added several warnings for the case where there are
+unresolved control methods during the disassembly. This can potentially
+cause errors when the output file is compiled, because the disassembler
+assumes zero method arguments in these cases (it cannot determine the
+actual number of arguments without resolution/definition of the method).
+
+Debugger: Added support to display all resources with a single command.
+Invocation of the resources command with no arguments will now display all
+resources within the current namespace.
+
+AcpiHelp: Added descriptive text for each ACPICA exception code displayed
+via the -e option.
+
+----------------------------------------
+17 January 2013. Summary of changes for version 20130117:
1) ACPICA Kernel-resident Subsystem:
Modified: head/sys/contrib/dev/acpica/common/adisasm.c
==============================================================================
--- head/sys/contrib/dev/acpica/common/adisasm.c Fri Feb 15 19:13:35 2013 (r246848)
+++ head/sys/contrib/dev/acpica/common/adisasm.c Fri Feb 15 20:36:28 2013 (r246849)
@@ -372,7 +372,7 @@ AdAmlDisassemble (
}
/*
- * Output: ASL code. Redirect to a file if requested
+ * Output: ASL code. Redirect to a file if requested
*/
if (OutToFile)
{
@@ -540,11 +540,6 @@ Cleanup:
ACPI_FREE (Table);
}
- if (DisasmFilename)
- {
- ACPI_FREE (DisasmFilename);
- }
-
if (OutToFile && File)
{
if (AslCompilerdebug) /* Display final namespace, with transforms */
@@ -667,7 +662,7 @@ AdCreateTableHeader (
AcpiOsPrintf (" * OEM Revision 0x%8.8X (%u)\n", Table->OemRevision, Table->OemRevision);
AcpiOsPrintf (" * Compiler ID \"%.4s\"\n", Table->AslCompilerId);
AcpiOsPrintf (" * Compiler Version 0x%8.8X (%u)\n", Table->AslCompilerRevision, Table->AslCompilerRevision);
- AcpiOsPrintf (" */\n\n");
+ AcpiOsPrintf (" */\n");
/* Create AML output filename based on input filename */
Modified: head/sys/contrib/dev/acpica/common/adwalk.c
==============================================================================
--- head/sys/contrib/dev/acpica/common/adwalk.c Fri Feb 15 19:13:35 2013 (r246848)
+++ head/sys/contrib/dev/acpica/common/adwalk.c Fri Feb 15 20:36:28 2013 (r246849)
@@ -837,7 +837,7 @@ AcpiDmXrefDescendingOp (
}
}
- AcpiDmAddToExternalList (Op, Path, (UINT8) ObjectType2, ParamCount);
+ AcpiDmAddToExternalList (Op, Path, (UINT8) ObjectType2, ParamCount | 0x80);
Op->Common.Node = Node;
}
else
Modified: head/sys/contrib/dev/acpica/common/dmextern.c
==============================================================================
--- head/sys/contrib/dev/acpica/common/dmextern.c Fri Feb 15 19:13:35 2013 (r246848)
+++ head/sys/contrib/dev/acpica/common/dmextern.c Fri Feb 15 20:36:28 2013 (r246849)
@@ -46,6 +46,7 @@
#include <contrib/dev/acpica/include/amlcode.h>
#include <contrib/dev/acpica/include/acnamesp.h>
#include <contrib/dev/acpica/include/acdisasm.h>
+#include <stdio.h>
/*
@@ -373,6 +374,7 @@ AcpiDmAddToExternalList (
ACPI_EXTERNAL_LIST *NextExternal;
ACPI_EXTERNAL_LIST *PrevExternal = NULL;
ACPI_STATUS Status;
+ BOOLEAN Resolved = FALSE;
if (!Path)
@@ -380,6 +382,15 @@ AcpiDmAddToExternalList (
return;
}
+ if (Type == ACPI_TYPE_METHOD)
+ {
+ if (Value & 0x80)
+ {
+ Resolved = TRUE;
+ }
+ Value &= 0x07;
+ }
+
/*
* We don't want External() statements to contain a leading '\'.
* This prevents duplicate external statements of the form:
@@ -464,6 +475,7 @@ AcpiDmAddToExternalList (
NewExternal->Path = ExternalPath;
NewExternal->Type = Type;
NewExternal->Value = Value;
+ NewExternal->Resolved = Resolved;
NewExternal->Length = (UINT16) ACPI_STRLEN (ExternalPath);
/* Was the external path with parent prefix normalized to a fullpath? */
@@ -684,6 +696,29 @@ AcpiDmEmitExternals (
}
/*
+ * Determine the number of control methods in the external list, and
+ * also how many of those externals were resolved via the namespace.
+ */
+ NextExternal = AcpiGbl_ExternalList;
+ while (NextExternal)
+ {
+ if (NextExternal->Type == ACPI_TYPE_METHOD)
+ {
+ AcpiGbl_NumExternalMethods++;
+ if (NextExternal->Resolved)
+ {
+ AcpiGbl_ResolvedExternalMethods++;
+ }
+ }
+
+ NextExternal = NextExternal->Next;
+ }
+
+ /* Check if any control methods were unresolved */
+
+ AcpiDmUnresolvedWarning (1);
+
+ /*
* Walk the list of externals (unresolved references)
* found during the AML parsing
*/
@@ -695,8 +730,17 @@ AcpiDmEmitExternals (
if (AcpiGbl_ExternalList->Type == ACPI_TYPE_METHOD)
{
- AcpiOsPrintf (") // %u Arguments\n",
- AcpiGbl_ExternalList->Value);
+ if (AcpiGbl_ExternalList->Resolved)
+ {
+ AcpiOsPrintf (") // %u Arguments\n",
+ AcpiGbl_ExternalList->Value);
+ }
+ else
+ {
+ AcpiOsPrintf (") // Warning: unresolved Method, "
+ "assuming %u arguments (may be incorrect, see warning above)\n",
+ AcpiGbl_ExternalList->Value);
+ }
}
else
{
@@ -718,3 +762,173 @@ AcpiDmEmitExternals (
AcpiOsPrintf ("\n");
}
+
+
+/*******************************************************************************
+ *
+ * FUNCTION: AcpiDmUnresolvedWarning
+ *
+ * PARAMETERS: Type - Where to output the warning.
+ * 0 means write to stderr
+ * 1 means write to AcpiOsPrintf
+ *
+ * RETURN: None
+ *
+ * DESCRIPTION: Issue warning message if there are unresolved external control
+ * methods within the disassembly.
+ *
+ ******************************************************************************/
+
+#if 0
+Summary of the external control method problem:
+
+When the -e option is used with disassembly, the various SSDTs are simply
+loaded into a global namespace for the disassembler to use in order to
+resolve control method references (invocations).
+
+The disassembler tracks any such references, and will emit an External()
+statement for these types of methods, with the proper number of arguments .
+
+Without the SSDTs, the AML does not contain enough information to properly
+disassemble the control method invocation -- because the disassembler does
+not know how many arguments to parse.
+
+An example: Assume we have two control methods. ABCD has one argument, and
+EFGH has zero arguments. Further, we have two additional control methods
+that invoke ABCD and EFGH, named T1 and T2:
+
+ Method (ABCD, 1)
+ {
+ }
+ Method (EFGH, 0)
+ {
+ }
+ Method (T1)
+ {
+ ABCD (Add (2, 7, Local0))
+ }
+ Method (T2)
+ {
+ EFGH ()
+ Add (2, 7, Local0)
+ }
+
+Here is the AML code that is generated for T1 and T2:
+
+ 185: Method (T1)
+
+0000034C: 14 10 54 31 5F 5F 00 ... "..T1__."
+
+ 186: {
+ 187: ABCD (Add (2, 7, Local0))
+
+00000353: 41 42 43 44 ............ "ABCD"
+00000357: 72 0A 02 0A 07 60 ...... "r....`"
+
+ 188: }
+
+ 190: Method (T2)
+
+0000035D: 14 10 54 32 5F 5F 00 ... "..T2__."
+
+ 191: {
+ 192: EFGH ()
+
+00000364: 45 46 47 48 ............ "EFGH"
+
+ 193: Add (2, 7, Local0)
+
+00000368: 72 0A 02 0A 07 60 ...... "r....`"
+ 194: }
+
+Note that the AML code for T1 and T2 is essentially identical. When
+disassembling this code, the methods ABCD and EFGH must be known to the
+disassembler, otherwise it does not know how to handle the method invocations.
+
+In other words, if ABCD and EFGH are actually external control methods
+appearing in an SSDT, the disassembler does not know what to do unless
+the owning SSDT has been loaded via the -e option.
+#endif
+
+void
+AcpiDmUnresolvedWarning (
+ UINT8 Type)
+{
+
+ if (!AcpiGbl_NumExternalMethods)
+ {
+ return;
+ }
+
+ if (Type)
+ {
+ if (!AcpiGbl_ExternalFileList)
+ {
+ /* The -e option was not specified */
+
+ AcpiOsPrintf (" /*\n"
+ " * iASL Warning: There were %u external control methods found during\n"
+ " * disassembly, but additional ACPI tables to resolve these externals\n"
+ " * were not specified. This resulting disassembler output file may not\n"
+ " * compile because the disassembler did not know how many arguments\n"
+ " * to assign to these methods. To specify the tables needed to resolve\n"
+ " * external control method references, use the one of the following\n"
+ " * example iASL invocations:\n"
+ " * iasl -e <ssdt1.aml,ssdt2.aml...> -d <dsdt.aml>\n"
+ " * iasl -e <dsdt.aml,ssdt2.aml...> -d <ssdt1.aml>\n"
+ " */\n",
+ AcpiGbl_NumExternalMethods);
+ }
+ else if (AcpiGbl_NumExternalMethods != AcpiGbl_ResolvedExternalMethods)
+ {
+ /* The -e option was specified, but there are still some unresolved externals */
+
+ AcpiOsPrintf (" /*\n"
+ " * iASL Warning: There were %u external control methods found during\n"
+ " * disassembly, but only %u %s resolved (%u unresolved). Additional\n"
+ " * ACPI tables are required to properly disassemble the code. This\n"
+ " * resulting disassembler output file may not compile because the\n"
+ " * disassembler did not know how many arguments to assign to the\n"
+ " * unresolved methods.\n"
+ " */\n",
+ AcpiGbl_NumExternalMethods, AcpiGbl_ResolvedExternalMethods,
+ (AcpiGbl_ResolvedExternalMethods > 1 ? "were" : "was"),
+ (AcpiGbl_NumExternalMethods - AcpiGbl_ResolvedExternalMethods));
+ }
+ }
+ else
+ {
+ if (!AcpiGbl_ExternalFileList)
+ {
+ /* The -e option was not specified */
+
+ fprintf (stderr, "\n"
+ "iASL Warning: There were %u external control methods found during\n"
+ "disassembly, but additional ACPI tables to resolve these externals\n"
+ "were not specified. The resulting disassembler output file may not\n"
+ "compile because the disassembler did not know how many arguments\n"
+ "to assign to these methods. To specify the tables needed to resolve\n"
+ "external control method references, use the one of the following\n"
+ "example iASL invocations:\n"
+ " iasl -e <ssdt1.aml,ssdt2.aml...> -d <dsdt.aml>\n"
+ " iasl -e <dsdt.aml,ssdt2.aml...> -d <ssdt1.aml>\n",
+ AcpiGbl_NumExternalMethods);
+ }
+ else if (AcpiGbl_NumExternalMethods != AcpiGbl_ResolvedExternalMethods)
+ {
+ /* The -e option was specified, but there are still some unresolved externals */
+
+ fprintf (stderr, "\n"
+ "iASL Warning: There were %u external control methods found during\n"
+ "disassembly, but only %u %s resolved (%u unresolved). Additional\n"
+ "ACPI tables are required to properly disassemble the code. The\n"
+ "resulting disassembler output file may not compile because the\n"
+ "disassembler did not know how many arguments to assign to the\n"
+ "unresolved methods.\n",
+ AcpiGbl_NumExternalMethods, AcpiGbl_ResolvedExternalMethods,
+ (AcpiGbl_ResolvedExternalMethods > 1 ? "were" : "was"),
+ (AcpiGbl_NumExternalMethods - AcpiGbl_ResolvedExternalMethods));
+ }
+ }
+
+}
Modified: head/sys/contrib/dev/acpica/common/dmtable.c
==============================================================================
--- head/sys/contrib/dev/acpica/common/dmtable.c Fri Feb 15 19:13:35 2013 (r246848)
+++ head/sys/contrib/dev/acpica/common/dmtable.c Fri Feb 15 20:36:28 2013 (r246849)
@@ -299,6 +299,7 @@ ACPI_DMTABLE_DATA AcpiDmTableData[] =
{ACPI_SIG_MCHI, AcpiDmTableInfoMchi, NULL, NULL, TemplateMchi, "Management Controller Host Interface table"},
{ACPI_SIG_MPST, AcpiDmTableInfoMpst, AcpiDmDumpMpst, DtCompileMpst, TemplateMpst, "Memory Power State Table"},
{ACPI_SIG_MSCT, NULL, AcpiDmDumpMsct, DtCompileMsct, TemplateMsct, "Maximum System Characteristics Table"},
+ {ACPI_SIG_MTMR, NULL, AcpiDmDumpMtmr, DtCompileMtmr, TemplateMtmr, "MID Timer Table"},
{ACPI_SIG_PCCT, NULL, AcpiDmDumpPcct, NULL, NULL, "Platform Communications Channel Table"},
{ACPI_SIG_PMTT, NULL, AcpiDmDumpPmtt, DtCompilePmtt, TemplatePmtt, "Platform Memory Topology Table"},
{ACPI_SIG_RSDT, NULL, AcpiDmDumpRsdt, DtCompileRsdt, TemplateRsdt, "Root System Description Table"},
@@ -312,6 +313,7 @@ ACPI_DMTABLE_DATA AcpiDmTableData[] =
{ACPI_SIG_TCPA, AcpiDmTableInfoTcpa, NULL, NULL, TemplateTcpa, "Trusted Computing Platform Alliance table"},
{ACPI_SIG_TPM2, AcpiDmTableInfoTpm2, NULL, NULL, TemplateTpm2, "Trusted Platform Module hardware interface table"},
{ACPI_SIG_UEFI, AcpiDmTableInfoUefi, NULL, DtCompileUefi, TemplateUefi, "UEFI Boot Optimization Table"},
+ {ACPI_SIG_VRTC, AcpiDmTableInfoVrtc, AcpiDmDumpVrtc, DtCompileVrtc, TemplateVrtc, "Virtual Real-Time Clock Table"},
{ACPI_SIG_WAET, AcpiDmTableInfoWaet, NULL, NULL, TemplateWaet, "Windows ACPI Emulated Devices Table"},
{ACPI_SIG_WDAT, NULL, AcpiDmDumpWdat, DtCompileWdat, TemplateWdat, "Watchdog Action Table"},
{ACPI_SIG_WDDT, AcpiDmTableInfoWddt, NULL, NULL, TemplateWddt, "Watchdog Description Table"},
@@ -475,6 +477,8 @@ AcpiDmDumpDataTable (
{
AcpiOsPrintf ("\n**** Unknown ACPI table type [%4.4s]\n\n",
Table->Signature);
+ fprintf (stderr, "Unknown ACPI table signature [%4.4s], decoding header only\n",
+ Table->Signature);
}
}
else if (TableData->TableHandler)
Modified: head/sys/contrib/dev/acpica/common/dmtbdump.c
==============================================================================
--- head/sys/contrib/dev/acpica/common/dmtbdump.c Fri Feb 15 19:13:35 2013 (r246848)
+++ head/sys/contrib/dev/acpica/common/dmtbdump.c Fri Feb 15 20:36:28 2013 (r246849)
@@ -1796,6 +1796,58 @@ AcpiDmDumpMsct (
/*******************************************************************************
*
+ * FUNCTION: AcpiDmDumpMtmr
+ *
+ * PARAMETERS: Table - A MTMR table
+ *
+ * RETURN: None
+ *
+ * DESCRIPTION: Format the contents of a MTMR
+ *
+ ******************************************************************************/
+
+void
+AcpiDmDumpMtmr (
+ ACPI_TABLE_HEADER *Table)
+{
+ ACPI_STATUS Status;
+ UINT32 Offset = sizeof (ACPI_TABLE_MTMR);
+ ACPI_MTMR_ENTRY *SubTable;
+
+
+ /* Main table */
+
+ Status = AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoMtmr);
+ if (ACPI_FAILURE (Status))
+ {
+ return;
+ }
+
+ /* Sub-tables */
+
+ SubTable = ACPI_ADD_PTR (ACPI_MTMR_ENTRY, Table, Offset);
+ while (Offset < Table->Length)
+ {
+ /* Common sub-table header */
+
+ AcpiOsPrintf ("\n");
+ Status = AcpiDmDumpTable (Table->Length, Offset, SubTable,
+ sizeof (ACPI_MTMR_ENTRY), AcpiDmTableInfoMtmr0);
+ if (ACPI_FAILURE (Status))
+ {
+ return;
+ }
+
+ /* Point to next sub-table */
+
+ Offset += sizeof (ACPI_MTMR_ENTRY);
+ SubTable = ACPI_ADD_PTR (ACPI_MTMR_ENTRY, SubTable, sizeof (ACPI_MTMR_ENTRY));
+ }
+}
+
+
+/*******************************************************************************
+ *
* FUNCTION: AcpiDmDumpPcct
*
* PARAMETERS: Table - A PCCT table
@@ -2378,6 +2430,58 @@ NextSubTable:
/*******************************************************************************
*
+ * FUNCTION: AcpiDmDumpVrtc
+ *
+ * PARAMETERS: Table - A VRTC table
+ *
+ * RETURN: None
+ *
+ * DESCRIPTION: Format the contents of a VRTC
+ *
+ ******************************************************************************/
+
+void
+AcpiDmDumpVrtc (
+ ACPI_TABLE_HEADER *Table)
+{
+ ACPI_STATUS Status;
+ UINT32 Offset = sizeof (ACPI_TABLE_VRTC);
+ ACPI_VRTC_ENTRY *SubTable;
+
+
+ /* Main table */
+
+ Status = AcpiDmDumpTable (Table->Length, 0, Table, 0, AcpiDmTableInfoVrtc);
+ if (ACPI_FAILURE (Status))
+ {
+ return;
+ }
+
+ /* Sub-tables */
+
+ SubTable = ACPI_ADD_PTR (ACPI_VRTC_ENTRY, Table, Offset);
+ while (Offset < Table->Length)
+ {
+ /* Common sub-table header */
+
+ AcpiOsPrintf ("\n");
+ Status = AcpiDmDumpTable (Table->Length, Offset, SubTable,
+ sizeof (ACPI_VRTC_ENTRY), AcpiDmTableInfoVrtc0);
+ if (ACPI_FAILURE (Status))
+ {
+ return;
+ }
+
+ /* Point to next sub-table */
+
+ Offset += sizeof (ACPI_VRTC_ENTRY);
+ SubTable = ACPI_ADD_PTR (ACPI_VRTC_ENTRY, SubTable, sizeof (ACPI_VRTC_ENTRY));
+ }
+}
+
+
+/*******************************************************************************
+ *
* FUNCTION: AcpiDmDumpWdat
*
* PARAMETERS: Table - A WDAT table
Modified: head/sys/contrib/dev/acpica/common/dmtbinfo.c
==============================================================================
--- head/sys/contrib/dev/acpica/common/dmtbinfo.c Fri Feb 15 19:13:35 2013 (r246848)
+++ head/sys/contrib/dev/acpica/common/dmtbinfo.c Fri Feb 15 20:36:28 2013 (r246849)
@@ -179,6 +179,7 @@
#define ACPI_MPST1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPST_DATA_HDR,f)
#define ACPI_MPST2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPST_POWER_DATA,f)
#define ACPI_MSCT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MSCT_PROXIMITY,f)
+#define ACPI_MTMR0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MTMR_ENTRY,f)
#define ACPI_PCCT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PCCT_SUBSPACE,f)
#define ACPI_PMTT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PMTT_SOCKET,f)
#define ACPI_PMTT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PMTT_CONTROLLER,f)
@@ -195,6 +196,7 @@
#define ACPI_SRAT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SRAT_CPU_AFFINITY,f)
#define ACPI_SRAT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SRAT_MEM_AFFINITY,f)
#define ACPI_SRAT2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SRAT_X2APIC_CPU_AFFINITY,f)
+#define ACPI_VRTC0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_VRTC_ENTRY,f)
#define ACPI_WDAT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_WDAT_ENTRY,f)
/*
@@ -1644,6 +1646,28 @@ ACPI_DMTABLE_INFO AcpiDmTableI
/*******************************************************************************
*
+ * MTMR - MID Timer Table
+ *
+ ******************************************************************************/
+
+ACPI_DMTABLE_INFO AcpiDmTableInfoMtmr[] =
+{
+ ACPI_DMT_TERMINATOR
+};
+
+/* MTMR Subtables - MTMR Entry */
+
+ACPI_DMTABLE_INFO AcpiDmTableInfoMtmr0[] =
+{
+ {ACPI_DMT_GAS, ACPI_MTMR0_OFFSET (PhysicalAddress), "PhysicalAddress", 0},
+ {ACPI_DMT_UINT32, ACPI_MTMR0_OFFSET (Frequency), "Frequency", 0},
+ {ACPI_DMT_UINT32, ACPI_MTMR0_OFFSET (Irq), "IRQ", 0},
+ ACPI_DMT_TERMINATOR
+};
+
+
+/*******************************************************************************
+ *
* PCCT - Platform Communications Channel Table (ACPI 5.0)
*
******************************************************************************/
@@ -2035,6 +2059,27 @@ ACPI_DMTABLE_INFO AcpiDmTableI
/*******************************************************************************
*
+ * VRTC - Virtual Real Time Clock Table
+ *
+ ******************************************************************************/
+
+ACPI_DMTABLE_INFO AcpiDmTableInfoVrtc[] =
+{
+ ACPI_DMT_TERMINATOR
+};
+
+/* VRTC Subtables - VRTC Entry */
+
+ACPI_DMTABLE_INFO AcpiDmTableInfoVrtc0[] =
+{
+ {ACPI_DMT_GAS, ACPI_VRTC0_OFFSET (PhysicalAddress), "PhysicalAddress", 0},
+ {ACPI_DMT_UINT32, ACPI_VRTC0_OFFSET (Irq), "IRQ", 0},
+ ACPI_DMT_TERMINATOR
+};
+
+
+/*******************************************************************************
+ *
* WAET - Windows ACPI Emulated devices Table
*
******************************************************************************/
Modified: head/sys/contrib/dev/acpica/compiler/aslcompile.c
==============================================================================
--- head/sys/contrib/dev/acpica/compiler/aslcompile.c Fri Feb 15 19:13:35 2013 (r246848)
+++ head/sys/contrib/dev/acpica/compiler/aslcompile.c Fri Feb 15 20:36:28 2013 (r246849)
@@ -42,6 +42,7 @@
*/
#include <contrib/dev/acpica/compiler/aslcompiler.h>
+#include <contrib/dev/acpica/compiler/dtcompiler.h>
#include <stdio.h>
#include <time.h>
@@ -343,6 +344,89 @@ FlConsumeNewComment (
/*******************************************************************************
*
+ * FUNCTION: FlCheckForAcpiTable
+ *
+ * PARAMETERS: Handle - Open input file
+ *
+ * RETURN: Status
+ *
+ * DESCRIPTION: Determine if a file seems to be a binary ACPI table, via the
+ * following checks on what would be the table header:
+ * 0) File must be at least as long as an ACPI_TABLE_HEADER
+ * 1) The header length field must match the file size
+ * 2) Signature, OemId, OemTableId, AslCompilerId must be ASCII
+ *
+ ******************************************************************************/
+
+ACPI_STATUS
+FlCheckForAcpiTable (
+ FILE *Handle)
+{
+ ACPI_TABLE_HEADER Table;
+ UINT32 FileSize;
+ size_t Actual;
+ UINT32 i;
+
+
+ /* Read a potential table header */
+
+ Actual = fread (&Table, 1, sizeof (ACPI_TABLE_HEADER), Handle);
+ fseek (Handle, 0, SEEK_SET);
+
+ if (Actual < sizeof (ACPI_TABLE_HEADER))
+ {
+ return (AE_ERROR);
+ }
+
+ /* Header length field must match the file size */
+
+ FileSize = DtGetFileSize (Handle);
+ if (Table.Length != FileSize)
+ {
+ return (AE_ERROR);
+ }
+
+ /*
+ * These fields must be ASCII:
+ * Signature, OemId, OemTableId, AslCompilerId.
+ * We allow a NULL terminator in OemId and OemTableId.
+ */
+ for (i = 0; i < ACPI_NAME_SIZE; i++)
+ {
+ if (!ACPI_IS_ASCII ((UINT8) Table.Signature[i]))
+ {
+ return (AE_ERROR);
+ }
+
+ if (!ACPI_IS_ASCII ((UINT8) Table.AslCompilerId[i]))
+ {
+ return (AE_ERROR);
+ }
+ }
+
+ for (i = 0; (i < ACPI_OEM_ID_SIZE) && (Table.OemId[i]); i++)
+ {
+ if (!ACPI_IS_ASCII ((UINT8) Table.OemId[i]))
+ {
+ return (AE_ERROR);
+ }
+ }
+
+ for (i = 0; (i < ACPI_OEM_TABLE_ID_SIZE) && (Table.OemTableId[i]); i++)
+ {
+ if (!ACPI_IS_ASCII ((UINT8) Table.OemTableId[i]))
+ {
+ return (AE_ERROR);
+ }
+ }
+
+ printf ("Binary file appears to be a valid ACPI table, disassembling\n");
+ return (AE_OK);
+}
+
+
+/*******************************************************************************
+ *
* FUNCTION: FlCheckForAscii
*
* PARAMETERS: Handle - Open input file
Modified: head/sys/contrib/dev/acpica/compiler/aslcompiler.h
==============================================================================
--- head/sys/contrib/dev/acpica/compiler/aslcompiler.h Fri Feb 15 19:13:35 2013 (r246848)
+++ head/sys/contrib/dev/acpica/compiler/aslcompiler.h Fri Feb 15 20:36:28 2013 (r246849)
@@ -160,6 +160,10 @@ CmCleanupAndExit (
void);
ACPI_STATUS
+FlCheckForAcpiTable (
+ FILE *Handle);
+
+ACPI_STATUS
FlCheckForAscii (
FILE *Handle,
char *Filename,
@@ -509,12 +513,28 @@ ApCheckForPredefinedObject (
ACPI_PARSE_OBJECT *Op,
char *Name);
+ACPI_STATUS
+ApCheckObjectType (
+ const char *PredefinedName,
+ ACPI_PARSE_OBJECT *Op,
+ UINT32 ExpectedBtypes,
+ UINT32 PackageIndex);
+
void
ApDisplayReservedNames (
void);
/*
+ * aslprepkg - ACPI predefined names support for packages
+ */
+void
+ApCheckPackage (
+ ACPI_PARSE_OBJECT *ParentOp,
+ const ACPI_PREDEFINED_INFO *Predefined);
+
+
+/*
* asltransform - parse tree transformations
*/
ACPI_STATUS
Modified: head/sys/contrib/dev/acpica/compiler/asldefine.h
==============================================================================
--- head/sys/contrib/dev/acpica/compiler/asldefine.h Fri Feb 15 19:13:35 2013 (r246848)
+++ head/sys/contrib/dev/acpica/compiler/asldefine.h Fri Feb 15 20:36:28 2013 (r246849)
@@ -125,8 +125,9 @@
/* Types for input files */
#define ASL_INPUT_TYPE_BINARY 0
-#define ASL_INPUT_TYPE_ASCII_ASL 1
-#define ASL_INPUT_TYPE_ASCII_DATA 2
+#define ASL_INPUT_TYPE_ACPI_TABLE 1
+#define ASL_INPUT_TYPE_ASCII_ASL 2
+#define ASL_INPUT_TYPE_ASCII_DATA 3
/* Misc */
Modified: head/sys/contrib/dev/acpica/compiler/aslfiles.c
==============================================================================
--- head/sys/contrib/dev/acpica/compiler/aslfiles.c Fri Feb 15 19:13:35 2013 (r246848)
+++ head/sys/contrib/dev/acpica/compiler/aslfiles.c Fri Feb 15 20:36:28 2013 (r246849)
@@ -513,6 +513,13 @@ FlOpenMiscOutputFiles (
char *Filename;
+ /* All done for disassembler */
+
+ if (Gbl_FileType == ASL_INPUT_TYPE_ACPI_TABLE)
+ {
+ return (AE_OK);
+ }
+
/* Create/Open a hex output file if asked */
if (Gbl_HexOutputFlag)
Modified: head/sys/contrib/dev/acpica/compiler/aslmain.c
==============================================================================
--- head/sys/contrib/dev/acpica/compiler/aslmain.c Fri Feb 15 19:13:35 2013 (r246848)
+++ head/sys/contrib/dev/acpica/compiler/aslmain.c Fri Feb 15 20:36:28 2013 (r246849)
@@ -111,7 +111,8 @@ AslDoResponseFile (
*
* RETURN: None
*
- * DESCRIPTION: Display option help message
+ * DESCRIPTION: Display option help message.
+ * Optional items in square brackets.
*
******************************************************************************/
@@ -132,7 +133,7 @@ Options (
ACPI_OPTION ("-P", "Preprocess only and create preprocessor output file (*.i)");
ACPI_OPTION ("-Pn", "Disable preprocessor");
- printf ("\nGeneral Output:\n");
+ printf ("\nGeneral Processing:\n");
ACPI_OPTION ("-p <prefix>", "Specify path/filename prefix for all output files");
ACPI_OPTION ("-va", "Disable all errors and warnings (summary only)");
ACPI_OPTION ("-vi", "Less verbose errors and warnings for use with IDEs");
@@ -142,12 +143,7 @@ Options (
ACPI_OPTION ("-w1 -w2 -w3", "Set warning reporting level");
ACPI_OPTION ("-we", "Report warnings as errors");
- printf ("\nAML and Data Output Files:\n");
- ACPI_OPTION ("-sa -sc", "Create assembler or C source file (*.asm or *.c)");
- ACPI_OPTION ("-ia -ic", "Create assembler or C include file (*.inc or *.h)");
- ACPI_OPTION ("-ta -tc -ts", "Create assembler, C, or ASL hex table (*.hex)");
-
- printf ("\nAML Code Generation:\n");
+ printf ("\nAML Code Generation (*.aml):\n");
ACPI_OPTION ("-oa", "Disable all optimizations (compatibility mode)");
ACPI_OPTION ("-of", "Disable constant folding");
ACPI_OPTION ("-oi", "Disable integer optimization to Zero/One/Ones");
@@ -156,22 +152,28 @@ Options (
ACPI_OPTION ("-in", "Ignore NoOp operators");
ACPI_OPTION ("-r <revision>", "Override table header Revision (1-255)");
- printf ("\nASL Listing Files:\n");
+ printf ("\nOptional Source Code Output Files:\n");
+ ACPI_OPTION ("-sc -sa", "Create source file in C or assembler (*.c or *.asm)");
+ ACPI_OPTION ("-ic -ia", "Create include file in C or assembler (*.h or *.inc)");
+ ACPI_OPTION ("-tc -ta -ts", "Create hex AML table in C, assembler, or ASL (*.hex)");
+
+ printf ("\nOptional Listing Files:\n");
ACPI_OPTION ("-l", "Create mixed listing file (ASL source and AML) (*.lst)");
ACPI_OPTION ("-ln", "Create namespace file (*.nsp)");
ACPI_OPTION ("-ls", "Create combined source file (expanded includes) (*.src)");
- printf ("\nACPI Data Tables:\n");
- ACPI_OPTION ("-G", "Compile custom table containing generic operators");
- ACPI_OPTION ("-vt", "Create verbose templates (full disassembly)");
+ printf ("\nData Table Compiler:\n");
+ ACPI_OPTION ("-G", "Compile custom table that contains generic operators");
+ ACPI_OPTION ("-vt", "Create verbose template files (full disassembly)");
printf ("\nAML Disassembler:\n");
- ACPI_OPTION ("-d [file]", "Disassemble or decode binary ACPI table to file (*.dsl)");
- ACPI_OPTION ("-da [f1,f2]", "Disassemble multiple tables from single namespace");
+ ACPI_OPTION ("-d <f1,f2>", "Disassemble or decode binary ACPI tables to file (*.dsl)");
+ ACPI_OPTION ("", " (Optional, file type is automatically detected)");
+ ACPI_OPTION ("-da <f1,f2>", "Disassemble multiple tables from single namespace");
ACPI_OPTION ("-db", "Do not translate Buffers to Resource Templates");
- ACPI_OPTION ("-dc [file]", "Disassemble AML and immediately compile it");
- ACPI_OPTION ("", "(Obtain DSDT from current system if no input file)");
- ACPI_OPTION ("-e [f1,f2]", "Include ACPI table(s) for external symbol resolution");
+ ACPI_OPTION ("-dc <f1,f2>", "Disassemble AML and immediately compile it");
+ ACPI_OPTION ("", " (Obtain DSDT from current system if no input file)");
+ ACPI_OPTION ("-e <f1,f2>", "Include ACPI table(s) for external symbol resolution");
ACPI_OPTION ("-g", "Get ACPI tables and write to files (*.dat)");
ACPI_OPTION ("-in", "Ignore NoOp opcodes");
ACPI_OPTION ("-vt", "Dump binary table data in hex format within output file");
@@ -186,6 +188,7 @@ Options (
printf ("\nDebug Options:\n");
ACPI_OPTION ("-bf -bt", "Create debug file (full or parse tree only) (*.txt)");
ACPI_OPTION ("-f", "Ignore errors, force creation of AML output file(s)");
+ ACPI_OPTION ("-m <size>", "Set internal line buffer size (in Kbytes)");
ACPI_OPTION ("-n", "Parse only, no output generation");
ACPI_OPTION ("-ot", "Display compile times and statistics");
ACPI_OPTION ("-x <level>", "Set debug level for trace output");
Modified: head/sys/contrib/dev/acpica/compiler/aslmessages.h
==============================================================================
--- head/sys/contrib/dev/acpica/compiler/aslmessages.h Fri Feb 15 19:13:35 2013 (r246848)
+++ head/sys/contrib/dev/acpica/compiler/aslmessages.h Fri Feb 15 20:36:28 2013 (r246849)
@@ -166,6 +166,7 @@ typedef enum
ASL_MSG_RESERVED_METHOD,
ASL_MSG_RESERVED_NO_RETURN_VAL,
ASL_MSG_RESERVED_OPERAND_TYPE,
+ ASL_MSG_RESERVED_PACKAGE_LENGTH,
ASL_MSG_RESERVED_RETURN_VALUE,
ASL_MSG_RESERVED_USE,
ASL_MSG_RESERVED_WORD,
@@ -343,6 +344,7 @@ char *AslMessages
/* ASL_MSG_RESERVED_METHOD */ "Reserved name must be a control method",
/* ASL_MSG_RESERVED_NO_RETURN_VAL */ "Reserved method should not return a value",
/* ASL_MSG_RESERVED_OPERAND_TYPE */ "Invalid object type for reserved name",
+/* ASL_MSG_RESERVED_PACKAGE_LENGTH */ "Invalid package length for reserved name",
/* ASL_MSG_RESERVED_RETURN_VALUE */ "Reserved method must return a value",
/* ASL_MSG_RESERVED_USE */ "Invalid use of reserved name",
/* ASL_MSG_RESERVED_WORD */ "Use of reserved name",
Modified: head/sys/contrib/dev/acpica/compiler/aslpredef.c
==============================================================================
--- head/sys/contrib/dev/acpica/compiler/aslpredef.c Fri Feb 15 19:13:35 2013 (r246848)
+++ head/sys/contrib/dev/acpica/compiler/aslpredef.c Fri Feb 15 20:36:28 2013 (r246849)
@@ -46,6 +46,7 @@
#include <contrib/dev/acpica/compiler/aslcompiler.h>
#include "aslcompiler.y.h"
#include <contrib/dev/acpica/include/acpredef.h>
+#include <contrib/dev/acpica/include/acnamesp.h>
#define _COMPONENT ACPI_COMPILER
@@ -65,12 +66,6 @@ ApCheckForSpecialName (
char *Name);
static void
-ApCheckObjectType (
- const char *PredefinedName,
- ACPI_PARSE_OBJECT *Op,
- UINT32 ExpectedBtypes);
-
-static void
ApGetExpectedTypes (
char *Buffer,
UINT32 ExpectedBtypes);
@@ -386,7 +381,15 @@ ApCheckPredefinedReturnValue (
ApCheckObjectType (PredefinedNames[Index].Info.Name,
ReturnValueOp,
- PredefinedNames[Index].Info.ExpectedBtypes);
+ PredefinedNames[Index].Info.ExpectedBtypes,
+ ACPI_NOT_PACKAGE_ELEMENT);
+
+ /* For packages, check the individual package elements */
+
+ if (ReturnValueOp->Asl.ParseOpcode == PARSEOP_PACKAGE)
+ {
+ ApCheckPackage (ReturnValueOp, &PredefinedNames[Index]);
+ }
break;
default:
@@ -428,6 +431,7 @@ ApCheckForPredefinedObject (
char *Name)
{
UINT32 Index;
+ ACPI_PARSE_OBJECT *ObjectOp;
/*
@@ -456,39 +460,50 @@ ApCheckForPredefinedObject (
"with zero arguments");
return;
- default: /* A standard predefined ACPI name */
-
- /*
- * If this predefined name requires input arguments, then
- * it must be implemented as a control method
- */
- if (PredefinedNames[Index].Info.ParamCount > 0)
- {
- AslError (ASL_ERROR, ASL_MSG_RESERVED_METHOD, Op,
- "with arguments");
- return;
- }
+ default:
+ break;
+ }
- /*
- * If no return value is expected from this predefined name, then
- * it follows that it must be implemented as a control method
- * (with zero args, because the args > 0 case was handled above)
- * Examples are: _DIS, _INI, _IRC, _OFF, _ON, _PSx
- */
- if (!PredefinedNames[Index].Info.ExpectedBtypes)
- {
- AslError (ASL_ERROR, ASL_MSG_RESERVED_METHOD, Op,
- "with zero arguments");
- return;
- }
+ /* A standard predefined ACPI name */
- /* Typecheck the actual object, it is the next argument */
+ /*
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-all
mailing list