svn commit: r353735 - in vendor-sys/acpica/dist: . generate/unix/acpinames source/common source/compiler source/components/debugger source/components/disassembler source/components/dispatcher sourc...
Jung-uk Kim
jkim at FreeBSD.org
Fri Oct 18 18:00:48 UTC 2019
Author: jkim
Date: Fri Oct 18 18:00:41 2019
New Revision: 353735
URL: https://svnweb.freebsd.org/changeset/base/353735
Log:
Import ACPICA 20191018.
Modified:
vendor-sys/acpica/dist/changes.txt
vendor-sys/acpica/dist/generate/unix/acpinames/Makefile
vendor-sys/acpica/dist/source/common/acgetline.c
vendor-sys/acpica/dist/source/common/adisasm.c
vendor-sys/acpica/dist/source/common/adwalk.c
vendor-sys/acpica/dist/source/common/dmtables.c
vendor-sys/acpica/dist/source/common/dmtbdump1.c
vendor-sys/acpica/dist/source/common/dmtbdump2.c
vendor-sys/acpica/dist/source/common/dmtbdump3.c
vendor-sys/acpica/dist/source/compiler/aslanalyze.c
vendor-sys/acpica/dist/source/compiler/aslbtypes.c
vendor-sys/acpica/dist/source/compiler/aslkeywords.y
vendor-sys/acpica/dist/source/compiler/aslload.c
vendor-sys/acpica/dist/source/compiler/aslmessages.c
vendor-sys/acpica/dist/source/compiler/aslmessages.h
vendor-sys/acpica/dist/source/compiler/aslmethod.c
vendor-sys/acpica/dist/source/compiler/aslnamesp.c
vendor-sys/acpica/dist/source/compiler/aslprepkg.c
vendor-sys/acpica/dist/source/compiler/aslresource.c
vendor-sys/acpica/dist/source/compiler/aslrestype2.c
vendor-sys/acpica/dist/source/compiler/aslrestype2s.c
vendor-sys/acpica/dist/source/compiler/aslutils.c
vendor-sys/acpica/dist/source/compiler/cvdisasm.c
vendor-sys/acpica/dist/source/compiler/cvparser.c
vendor-sys/acpica/dist/source/compiler/dtcompile.c
vendor-sys/acpica/dist/source/compiler/dtcompiler.h
vendor-sys/acpica/dist/source/compiler/dtcompilerparser.l
vendor-sys/acpica/dist/source/compiler/dtcompilerparser.y
vendor-sys/acpica/dist/source/compiler/dtfield.c
vendor-sys/acpica/dist/source/compiler/dtio.c
vendor-sys/acpica/dist/source/compiler/dttable2.c
vendor-sys/acpica/dist/source/components/debugger/dbconvert.c
vendor-sys/acpica/dist/source/components/debugger/dbdisply.c
vendor-sys/acpica/dist/source/components/debugger/dbfileio.c
vendor-sys/acpica/dist/source/components/debugger/dbinput.c
vendor-sys/acpica/dist/source/components/debugger/dbmethod.c
vendor-sys/acpica/dist/source/components/debugger/dbnames.c
vendor-sys/acpica/dist/source/components/debugger/dbobject.c
vendor-sys/acpica/dist/source/components/disassembler/dmdeferred.c
vendor-sys/acpica/dist/source/components/disassembler/dmresrc.c
vendor-sys/acpica/dist/source/components/disassembler/dmwalk.c
vendor-sys/acpica/dist/source/components/dispatcher/dscontrol.c
vendor-sys/acpica/dist/source/components/dispatcher/dsfield.c
vendor-sys/acpica/dist/source/components/events/evgpeblk.c
vendor-sys/acpica/dist/source/components/events/evgpeinit.c
vendor-sys/acpica/dist/source/components/events/evmisc.c
vendor-sys/acpica/dist/source/components/events/evregion.c
vendor-sys/acpica/dist/source/components/events/evrgnini.c
vendor-sys/acpica/dist/source/components/hardware/hwxfsleep.c
vendor-sys/acpica/dist/source/components/namespace/nsconvert.c
vendor-sys/acpica/dist/source/components/namespace/nsdump.c
vendor-sys/acpica/dist/source/components/namespace/nsxfname.c
vendor-sys/acpica/dist/source/components/parser/psobject.c
vendor-sys/acpica/dist/source/components/resources/rscreate.c
vendor-sys/acpica/dist/source/components/tables/tbdata.c
vendor-sys/acpica/dist/source/components/tables/tbxfload.c
vendor-sys/acpica/dist/source/components/utilities/utbuffer.c
vendor-sys/acpica/dist/source/components/utilities/utids.c
vendor-sys/acpica/dist/source/components/utilities/uttrack.c
vendor-sys/acpica/dist/source/include/acdebug.h
vendor-sys/acpica/dist/source/include/acpixf.h
vendor-sys/acpica/dist/source/include/acstruct.h
vendor-sys/acpica/dist/source/include/acutils.h
vendor-sys/acpica/dist/source/include/platform/acfreebsd.h
vendor-sys/acpica/dist/source/os_specific/service_layers/oswinxf.c
vendor-sys/acpica/dist/source/tools/acpiexec/aecommon.h
vendor-sys/acpica/dist/source/tools/acpiexec/aehandlers.c
vendor-sys/acpica/dist/source/tools/acpiexec/aeinitfile.c
vendor-sys/acpica/dist/source/tools/acpiexec/aemain.c
vendor-sys/acpica/dist/source/tools/acpiexec/aetests.c
vendor-sys/acpica/dist/source/tools/acpihelp/ahdecode.c
vendor-sys/acpica/dist/source/tools/acpinames/anstubs.c
vendor-sys/acpica/dist/source/tools/acpisrc/asfile.c
vendor-sys/acpica/dist/source/tools/acpisrc/asremove.c
vendor-sys/acpica/dist/tests/templates/Makefile
Modified: vendor-sys/acpica/dist/changes.txt
==============================================================================
--- vendor-sys/acpica/dist/changes.txt Fri Oct 18 17:36:42 2019 (r353734)
+++ vendor-sys/acpica/dist/changes.txt Fri Oct 18 18:00:41 2019 (r353735)
@@ -1,4 +1,51 @@
----------------------------------------
+18 October 2019. Summary of changes for version 20191018:
+
+
+1) ACPICA kernel-resident subsystem:
+
+Debugger: added a new command: ?Fields [address space ID]?. This command
+dumps the contents of all field units that are defined within the
+namespace with a particular address space ID.
+
+Modified the external interface AcpiLoadTable() to return a table index.
+This table index can be used for unloading a table for debugging.
+ ACPI_STATUS
+ AcpiLoadTable (
+ ACPI_TABLE_HEADER *Table,
+ UINT32 *TableIndex))
+
+Implemented a new external interface: AcpiUnloadTable() This new function
+takes a table index as an argument and unloads the table. Useful for
+debugging only.
+ ACPI_STATUS
+ AcpiUnloadTable (
+ UINT32 TableIndex))
+
+Ported the AcpiNames utility to use the new table initialization
+sequence. The utility was broken before this change. Also, it was
+required to include most of the AML interpreter into the utility in order
+to process table initialization (module-level code execution.)
+
+Update for results from running Clang V8.0.1. This fixes all "dead
+assignment" warnings. There are still several "Dereference of NULL
+pointer" warnings, but these have been found to be false positive
+warnings.
+
+
+2) iASL Compiler/Disassembler and ACPICA tools:
+
+iASL: numerous table compiler changes to ensure that the usage of
+yacc/bison syntax is POSIX-compliant.
+
+iASL/disassembler: several simple bug fixes in the data table
+disassembler.
+
+Acpiexec: expanded the initialization file (the -fi option) to initialize
+strings, buffers, packages, and field units.
+
+
+----------------------------------------
16 August 2019. Summary of changes for version 20190816:
This release is available at https://acpica.org/downloads
Modified: vendor-sys/acpica/dist/generate/unix/acpinames/Makefile
==============================================================================
--- vendor-sys/acpica/dist/generate/unix/acpinames/Makefile Fri Oct 18 17:36:42 2019 (r353734)
+++ vendor-sys/acpica/dist/generate/unix/acpinames/Makefile Fri Oct 18 18:00:41 2019 (r353735)
@@ -22,7 +22,9 @@ PROG = $(OBJDIR)/acpinames
vpath %.c \
$(ACPINAMES)\
$(ACPICA_DISPATCHER)\
+ $(ACPICA_EVENTS)\
$(ACPICA_EXECUTER)\
+ $(ACPICA_HARDWARE)\
$(ACPICA_NAMESPACE)\
$(ACPICA_PARSER)\
$(ACPICA_TABLES)\
@@ -39,34 +41,69 @@ OBJECTS = \
$(OBJDIR)/anstubs.o\
$(OBJDIR)/antables.o\
$(OBJDIR)/cmfsize.o\
+ $(OBJDIR)/dscontrol.o\
+ $(OBJDIR)/dsdebug.o\
$(OBJDIR)/dsfield.o\
$(OBJDIR)/dsinit.o\
+ $(OBJDIR)/dsmethod.o\
$(OBJDIR)/dsmthdat.o\
$(OBJDIR)/dsobject.o\
+ $(OBJDIR)/dsopcode.o\
$(OBJDIR)/dspkginit.o\
$(OBJDIR)/dsutils.o\
+ $(OBJDIR)/dswexec.o\
$(OBJDIR)/dswload.o\
$(OBJDIR)/dswload2.o\
$(OBJDIR)/dswscope.o\
$(OBJDIR)/dswstate.o\
+ $(OBJDIR)/evhandler.o\
+ $(OBJDIR)/evmisc.o\
+ $(OBJDIR)/evregion.o\
+ $(OBJDIR)/evrgnini.o\
+ $(OBJDIR)/evxfregn.o\
+ $(OBJDIR)/exconcat.o\
+ $(OBJDIR)/exconfig.o\
+ $(OBJDIR)/exconvrt.o\
$(OBJDIR)/excreate.o\
$(OBJDIR)/exdump.o\
+ $(OBJDIR)/exfield.o\
+ $(OBJDIR)/exfldio.o\
+ $(OBJDIR)/exmisc.o\
$(OBJDIR)/exmutex.o\
$(OBJDIR)/exnames.o\
+ $(OBJDIR)/exoparg1.o\
+ $(OBJDIR)/exoparg2.o\
+ $(OBJDIR)/exoparg3.o\
+ $(OBJDIR)/exoparg6.o\
$(OBJDIR)/exprep.o\
+ $(OBJDIR)/exregion.o\
$(OBJDIR)/exresnte.o\
$(OBJDIR)/exresolv.o\
+ $(OBJDIR)/exresop.o\
+ $(OBJDIR)/exserial.o\
+ $(OBJDIR)/exstore.o\
+ $(OBJDIR)/exstoren.o\
+ $(OBJDIR)/exstorob.o\
$(OBJDIR)/exsystem.o\
$(OBJDIR)/exutils.o\
$(OBJDIR)/getopt.o\
+ $(OBJDIR)/hwpci.o\
+ $(OBJDIR)/hwvalid.o\
$(OBJDIR)/nsaccess.o\
$(OBJDIR)/nsalloc.o\
+ $(OBJDIR)/nsarguments.o\
+ $(OBJDIR)/nsconvert.o\
$(OBJDIR)/nsdump.o\
+ $(OBJDIR)/nseval.o\
$(OBJDIR)/nsinit.o\
$(OBJDIR)/nsload.o\
$(OBJDIR)/nsnames.o\
$(OBJDIR)/nsobject.o\
$(OBJDIR)/nsparse.o\
+ $(OBJDIR)/nspredef.o\
+ $(OBJDIR)/nsprepkg.o\
+ $(OBJDIR)/nsrepair.o\
+ $(OBJDIR)/nsrepair2.o\
$(OBJDIR)/nssearch.o\
$(OBJDIR)/nsutils.o\
$(OBJDIR)/nswalk.o\
@@ -99,6 +136,7 @@ OBJECTS = \
$(OBJDIR)/utascii.o\
$(OBJDIR)/utbuffer.o\
$(OBJDIR)/utcache.o\
+ $(OBJDIR)/utcopy.o\
$(OBJDIR)/utdebug.o\
$(OBJDIR)/utdecode.o\
$(OBJDIR)/utdelete.o\
@@ -117,8 +155,12 @@ OBJECTS = \
$(OBJDIR)/utobject.o\
$(OBJDIR)/utosi.o\
$(OBJDIR)/utownerid.o\
+ $(OBJDIR)/utpredef.o\
+ $(OBJDIR)/utresrc.o\
$(OBJDIR)/utstate.o\
$(OBJDIR)/utstring.o\
+ $(OBJDIR)/utstrsuppt.o\
+ $(OBJDIR)/utstrtoul64.o\
$(OBJDIR)/utxface.o\
$(OBJDIR)/utxferror.o\
$(OBJDIR)/utxfinit.o
Modified: vendor-sys/acpica/dist/source/common/acgetline.c
==============================================================================
--- vendor-sys/acpica/dist/source/common/acgetline.c Fri Oct 18 17:36:42 2019 (r353734)
+++ vendor-sys/acpica/dist/source/common/acgetline.c Fri Oct 18 18:00:41 2019 (r353735)
@@ -532,7 +532,7 @@ AcpiOsGetLine (
* Ignore the various keys like insert/delete/home/end, etc.
* But we must eat the final character of the ESC sequence.
*/
- InputChar = getchar ();
+ (void) getchar ();
continue;
default:
Modified: vendor-sys/acpica/dist/source/common/adisasm.c
==============================================================================
--- vendor-sys/acpica/dist/source/common/adisasm.c Fri Oct 18 17:36:42 2019 (r353734)
+++ vendor-sys/acpica/dist/source/common/adisasm.c Fri Oct 18 18:00:41 2019 (r353735)
@@ -746,7 +746,6 @@ AdDoExternalFileList (
{
ExternalFileList = ExternalFileList->Next;
GlobalStatus = AE_TYPE;
- Status = AE_OK;
continue;
}
Modified: vendor-sys/acpica/dist/source/common/adwalk.c
==============================================================================
--- vendor-sys/acpica/dist/source/common/adwalk.c Fri Oct 18 17:36:42 2019 (r353734)
+++ vendor-sys/acpica/dist/source/common/adwalk.c Fri Oct 18 18:00:41 2019 (r353735)
@@ -601,7 +601,9 @@ AcpiDmFindOrphanDescending (
return (AE_OK);
}
+#ifdef ACPI_UNDER_DEVELOPMENT
OpInfo = AcpiPsGetOpcodeInfo (Op->Common.AmlOpcode);
+#endif
switch (Op->Common.AmlOpcode)
{
@@ -1100,7 +1102,7 @@ AcpiDmCommonDescendingOp (
/* Switch/Case conversion */
Status = AcpiDmProcessSwitch (Op);
- return (AE_OK);
+ return (Status);
}
Modified: vendor-sys/acpica/dist/source/common/dmtables.c
==============================================================================
--- vendor-sys/acpica/dist/source/common/dmtables.c Fri Oct 18 17:36:42 2019 (r353734)
+++ vendor-sys/acpica/dist/source/common/dmtables.c Fri Oct 18 18:00:41 2019 (r353735)
@@ -327,7 +327,7 @@ AdCreateTableHeader (
* makes it easier to rename the disassembled ASL file if needed.
*/
AcpiOsPrintf (
- "DefinitionBlock (\"\", \"%4.4s\", %hu, \"%.6s\", \"%.8s\", 0x%8.8X)\n",
+ "DefinitionBlock (\"\", \"%4.4s\", %u, \"%.6s\", \"%.8s\", 0x%8.8X)\n",
Table->Signature, Table->Revision,
Table->OemId, Table->OemTableId, Table->OemRevision);
}
@@ -601,7 +601,7 @@ AdParseTable (
fprintf (stderr,
"Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions)\n");
- Status = AcpiDmParseDeferredOps (AcpiGbl_ParseOpRoot);
+ (void) AcpiDmParseDeferredOps (AcpiGbl_ParseOpRoot);
fprintf (stderr, "\n");
/* Process Resource Templates */
Modified: vendor-sys/acpica/dist/source/common/dmtbdump1.c
==============================================================================
--- vendor-sys/acpica/dist/source/common/dmtbdump1.c Fri Oct 18 17:36:42 2019 (r353734)
+++ vendor-sys/acpica/dist/source/common/dmtbdump1.c Fri Oct 18 18:00:41 2019 (r353735)
@@ -474,7 +474,6 @@ AcpiDmDumpCsrt (
{
return;
}
- SubSubOffset += InfoLength;
}
/* Point to next sub-subtable */
@@ -1401,7 +1400,6 @@ AcpiDmDumpHmat (
while (Offset < Table->Length)
{
AcpiOsPrintf ("\n");
- SubtableOffset = 0;
/* Dump HMAT structure header */
@@ -1484,6 +1482,11 @@ AcpiDmDumpHmat (
Status = AcpiDmDumpTable (Table->Length, Offset + SubtableOffset,
ACPI_ADD_PTR (ACPI_HMAT_STRUCTURE, HmatStruct, SubtableOffset),
4, AcpiDmTableInfoHmat1a);
+ if (ACPI_FAILURE (Status))
+ {
+ return;
+ }
+
SubtableOffset += 4;
}
@@ -1500,6 +1503,11 @@ AcpiDmDumpHmat (
Status = AcpiDmDumpTable (Table->Length, Offset + SubtableOffset,
ACPI_ADD_PTR (ACPI_HMAT_STRUCTURE, HmatStruct, SubtableOffset),
4, AcpiDmTableInfoHmat1b);
+ if (ACPI_FAILURE (Status))
+ {
+ return;
+ }
+
SubtableOffset += 4;
}
@@ -1519,6 +1527,11 @@ AcpiDmDumpHmat (
Status = AcpiDmDumpTable (Table->Length, Offset + SubtableOffset,
ACPI_ADD_PTR (ACPI_HMAT_STRUCTURE, HmatStruct, SubtableOffset),
2, AcpiDmTableInfoHmat1c);
+ if (ACPI_FAILURE(Status))
+ {
+ return;
+ }
+
SubtableOffset += 2;
}
}
@@ -1542,6 +1555,11 @@ AcpiDmDumpHmat (
Status = AcpiDmDumpTable (Table->Length, Offset + SubtableOffset,
ACPI_ADD_PTR (ACPI_HMAT_STRUCTURE, HmatStruct, SubtableOffset),
2, AcpiDmTableInfoHmat2a);
+ if (ACPI_FAILURE (Status))
+ {
+ return;
+ }
+
SubtableOffset += 2;
}
break;
Modified: vendor-sys/acpica/dist/source/common/dmtbdump2.c
==============================================================================
--- vendor-sys/acpica/dist/source/common/dmtbdump2.c Fri Oct 18 17:36:42 2019 (r353734)
+++ vendor-sys/acpica/dist/source/common/dmtbdump2.c Fri Oct 18 18:00:41 2019 (r353735)
@@ -187,6 +187,7 @@ AcpiDmDumpIort (
ACPI_DMTABLE_INFO *InfoTable;
char *String;
UINT32 i;
+ UINT32 MappingByteLength;
/* Main table */
@@ -314,6 +315,11 @@ AcpiDmDumpIort (
Status = AcpiDmDumpTable (Table->Length, Offset + NodeOffset,
ACPI_ADD_PTR (ACPI_IORT_NODE, IortNode, NodeOffset),
4, AcpiDmTableInfoIort0a);
+ if (ACPI_FAILURE (Status))
+ {
+ return;
+ }
+
NodeOffset += 4;
}
}
@@ -325,8 +331,10 @@ AcpiDmDumpIort (
if (IortNode->Length > NodeOffset)
{
+ MappingByteLength =
+ IortNode->MappingCount * sizeof (ACPI_IORT_ID_MAPPING);
Status = AcpiDmDumpTable (Table->Length, Offset + NodeOffset,
- Table, IortNode->Length - NodeOffset,
+ Table, IortNode->Length - NodeOffset - MappingByteLength,
AcpiDmTableInfoIort1a);
if (ACPI_FAILURE (Status))
{
@@ -410,7 +418,6 @@ NextSubtable:
/* Point to next node subtable */
Offset += IortNode->Length;
- IortNode = ACPI_ADD_PTR (ACPI_IORT_NODE, IortNode, IortNode->Length);
}
}
@@ -1211,7 +1218,6 @@ AcpiDmDumpNfit (
/* Has a variable number of 32-bit values at the end */
InfoTable = AcpiDmTableInfoNfit2;
- Interleave = ACPI_CAST_PTR (ACPI_NFIT_INTERLEAVE, Subtable);
FieldOffset = sizeof (ACPI_NFIT_INTERLEAVE);
break;
@@ -1236,7 +1242,6 @@ AcpiDmDumpNfit (
/* Has a variable number of 64-bit addresses at the end */
InfoTable = AcpiDmTableInfoNfit6;
- Hint = ACPI_CAST_PTR (ACPI_NFIT_FLUSH_ADDRESS, Subtable);
FieldOffset = sizeof (ACPI_NFIT_FLUSH_ADDRESS) - sizeof (UINT64);
break;
@@ -1273,6 +1278,7 @@ AcpiDmDumpNfit (
{
case ACPI_NFIT_TYPE_INTERLEAVE:
+ Interleave = ACPI_CAST_PTR (ACPI_NFIT_INTERLEAVE, Subtable);
for (i = 0; i < Interleave->LineCount; i++)
{
Status = AcpiDmDumpTable (Table->Length, Offset + FieldOffset,
@@ -1308,6 +1314,7 @@ AcpiDmDumpNfit (
case ACPI_NFIT_TYPE_FLUSH_ADDRESS:
+ Hint = ACPI_CAST_PTR (ACPI_NFIT_FLUSH_ADDRESS, Subtable);
for (i = 0; i < Hint->HintCount; i++)
{
Status = AcpiDmDumpTable (Table->Length, Offset + FieldOffset,
@@ -1806,6 +1813,11 @@ AcpiDmDumpPptt (
Status = AcpiDmDumpTable (Table->Length, Offset + SubtableOffset,
ACPI_ADD_PTR (ACPI_SUBTABLE_HEADER, Subtable, SubtableOffset),
4, AcpiDmTableInfoPptt0a);
+ if (ACPI_FAILURE (Status))
+ {
+ return;
+ }
+
SubtableOffset += 4;
}
break;
@@ -2063,6 +2075,10 @@ AcpiDmDumpSdev (
Status = AcpiDmDumpTable (Table->Length, 0,
ACPI_ADD_PTR (UINT8, Pcie, VendorDataOffset),
VendorDataLength, AcpiDmTableInfoSdev1b);
+ if (ACPI_FAILURE (Status))
+ {
+ return;
+ }
}
break;
Modified: vendor-sys/acpica/dist/source/common/dmtbdump3.c
==============================================================================
--- vendor-sys/acpica/dist/source/common/dmtbdump3.c Fri Oct 18 17:36:42 2019 (r353734)
+++ vendor-sys/acpica/dist/source/common/dmtbdump3.c Fri Oct 18 18:00:41 2019 (r353735)
@@ -410,7 +410,7 @@ AcpiDmDumpStao (
Namepath = ACPI_ADD_PTR (char, Table, Offset);
StringLength = strlen (Namepath) + 1;
- AcpiDmLineHeader (Offset, StringLength, "Namestring");
+ AcpiDmLineHeader (Offset, StringLength, "Namepath");
AcpiOsPrintf ("\"%s\"\n", Namepath);
/* Point to next namepath */
@@ -526,7 +526,7 @@ AcpiDmDumpTpm2Rev3 (
{
case ACPI_TPM23_ACPI_START_METHOD:
- Status = AcpiDmDumpTable (Table->Length, Offset, Subtable,
+ (void) AcpiDmDumpTable (Table->Length, Offset, Subtable,
Table->Length - Offset, AcpiDmTableInfoTpm23a);
break;
@@ -591,7 +591,7 @@ AcpiDmDumpTpm2 (
Offset += sizeof (ACPI_TPM2_TRAILER);
AcpiOsPrintf ("\n");
- Status = AcpiDmDumpTable (Table->Length, Offset, ArmSubtable,
+ (void) AcpiDmDumpTable (Table->Length, Offset, ArmSubtable,
Table->Length - Offset, AcpiDmTableInfoTpm211);
break;
Modified: vendor-sys/acpica/dist/source/compiler/aslanalyze.c
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/aslanalyze.c Fri Oct 18 17:36:42 2019 (r353734)
+++ vendor-sys/acpica/dist/source/compiler/aslanalyze.c Fri Oct 18 18:00:41 2019 (r353735)
@@ -569,7 +569,7 @@ ApCheckForGpeNameConflict (
/* Need a null-terminated string version of NameSeg */
- ACPI_MOVE_32_TO_32 (Name, &Op->Asl.NameSeg);
+ ACPI_MOVE_32_TO_32 (Name, Op->Asl.NameSeg);
Name[ACPI_NAMESEG_SIZE] = 0;
/*
Modified: vendor-sys/acpica/dist/source/compiler/aslbtypes.c
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/aslbtypes.c Fri Oct 18 17:36:42 2019 (r353734)
+++ vendor-sys/acpica/dist/source/compiler/aslbtypes.c Fri Oct 18 18:00:41 2019 (r353735)
@@ -474,7 +474,6 @@ AnFormatBtype (
strcat (Buffer, "|");
}
- First = FALSE;
strcat (Buffer, "Resource");
}
}
Modified: vendor-sys/acpica/dist/source/compiler/aslkeywords.y
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/aslkeywords.y Fri Oct 18 17:36:42 2019 (r353734)
+++ vendor-sys/acpica/dist/source/compiler/aslkeywords.y Fri Oct 18 18:00:41 2019 (r353735)
@@ -202,7 +202,7 @@ AddressKeyword
;
AddressSpaceKeyword
- : ByteConst {$$ = UtCheckIntegerRange ($1, 0x0A, 0xFF);}
+ : ByteConst {$$ = UtCheckIntegerRange ($1, ACPI_NUM_PREDEFINED_REGIONS, 0xFF);}
| RegionSpaceKeyword {}
;
Modified: vendor-sys/acpica/dist/source/compiler/aslload.c
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/aslload.c Fri Oct 18 17:36:42 2019 (r353734)
+++ vendor-sys/acpica/dist/source/compiler/aslload.c Fri Oct 18 18:00:41 2019 (r353735)
@@ -526,13 +526,12 @@ LdNamespace1Begin (
case AML_INT_CONNECTION_OP:
-
if (Op->Asl.Child->Asl.AmlOpcode != AML_INT_NAMEPATH_OP)
{
break;
}
- Arg = Op->Asl.Child;
+ Arg = Op->Asl.Child;
Status = AcpiNsLookup (WalkState->ScopeInfo, Arg->Asl.ExternalName,
ACPI_TYPE_ANY, ACPI_IMODE_EXECUTE, ACPI_NS_SEARCH_PARENT,
WalkState, &Node);
@@ -541,15 +540,6 @@ LdNamespace1Begin (
break;
}
- if (Node->Type == ACPI_TYPE_BUFFER)
- {
- Arg->Asl.Node = Node;
-
- Arg = Node->Op->Asl.Child; /* Get namepath */
- Arg = Arg->Asl.Next; /* Get actual buffer */
- Arg = Arg->Asl.Child; /* Buffer length */
- Arg = Arg->Asl.Next; /* RAW_DATA buffer */
- }
break;
default:
@@ -576,7 +566,6 @@ LdNamespace1Begin (
* These opcodes are guaranteed to have a parent.
* Examine the parent opcode.
*/
- Status = AE_OK;
ParentOp = Op->Asl.Parent;
OpInfo = AcpiPsGetOpcodeInfo (ParentOp->Asl.AmlOpcode);
Modified: vendor-sys/acpica/dist/source/compiler/aslmessages.c
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/aslmessages.c Fri Oct 18 17:36:42 2019 (r353734)
+++ vendor-sys/acpica/dist/source/compiler/aslmessages.c Fri Oct 18 18:00:41 2019 (r353735)
@@ -387,7 +387,10 @@ const char *AslTableCompilerMsgs
/* ASL_MSG_UNKNOWN_LABEL */ "Label is undefined",
/* ASL_MSG_UNKNOWN_SUBTABLE */ "Unknown subtable type",
/* ASL_MSG_UNKNOWN_TABLE */ "Unknown ACPI table signature",
-/* ASL_MSG_ZERO_VALUE */ "Value must be non-zero"
+/* ASL_MSG_ZERO_VALUE */ "Value must be non-zero",
+/* ASL_MSG_INVALID_LABEL */ "Invalid field label detected",
+/* ASL_MSG_BUFFER_LIST */ "Invalid buffer initializer list",
+/* ASL_MSG_ENTRY_LIST */ "Invalid entry initializer list"
};
/* Preprocessor */
Modified: vendor-sys/acpica/dist/source/compiler/aslmessages.h
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/aslmessages.h Fri Oct 18 17:36:42 2019 (r353734)
+++ vendor-sys/acpica/dist/source/compiler/aslmessages.h Fri Oct 18 18:00:41 2019 (r353735)
@@ -387,6 +387,9 @@ typedef enum
ASL_MSG_UNKNOWN_SUBTABLE,
ASL_MSG_UNKNOWN_TABLE,
ASL_MSG_ZERO_VALUE,
+ ASL_MSG_INVALID_LABEL,
+ ASL_MSG_BUFFER_LIST,
+ ASL_MSG_ENTRY_LIST,
/* These messages are used by the Preprocessor only */
Modified: vendor-sys/acpica/dist/source/compiler/aslmethod.c
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/aslmethod.c Fri Oct 18 17:36:42 2019 (r353734)
+++ vendor-sys/acpica/dist/source/compiler/aslmethod.c Fri Oct 18 18:00:41 2019 (r353735)
@@ -199,6 +199,8 @@ MtMethodAnalysisWalkBegin (
ACPI_PARSE_OBJECT *NextType;
ACPI_PARSE_OBJECT *NextParamType;
UINT8 ActualArgs = 0;
+ BOOLEAN HidExists;
+ BOOLEAN AdrExists;
/* Build cross-reference output file if requested */
@@ -535,11 +537,25 @@ MtMethodAnalysisWalkBegin (
case PARSEOP_DEVICE:
- if (!ApFindNameInDeviceTree (METHOD_NAME__HID, Op) &&
- !ApFindNameInDeviceTree (METHOD_NAME__ADR, Op))
+ /* Check usage of _HID and _ADR objects */
+
+ HidExists = ApFindNameInDeviceTree (METHOD_NAME__HID, Op);
+ AdrExists = ApFindNameInDeviceTree (METHOD_NAME__ADR, Op);
+
+ if (!HidExists && !AdrExists)
{
AslError (ASL_WARNING, ASL_MSG_MISSING_DEPENDENCY, Op,
"Device object requires a _HID or _ADR in same scope");
+ }
+ else if (HidExists && AdrExists)
+ {
+ /*
+ * According to the ACPI spec, "A device object must contain
+ * either an _HID object or an _ADR object, but should not contain
+ * both".
+ */
+ AslError (ASL_WARNING, ASL_MSG_MULTIPLE_TYPES, Op,
+ "Device object requires either a _HID or _ADR, but not both");
}
break;
Modified: vendor-sys/acpica/dist/source/compiler/aslnamesp.c
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/aslnamesp.c Fri Oct 18 17:36:42 2019 (r353734)
+++ vendor-sys/acpica/dist/source/compiler/aslnamesp.c Fri Oct 18 18:00:41 2019 (r353735)
@@ -234,6 +234,10 @@ NsDisplayNamespace (
Status = AcpiNsWalkNamespace (ACPI_TYPE_ANY, ACPI_ROOT_OBJECT,
ACPI_UINT32_MAX, FALSE, NsDoOneNamespaceObject, NULL,
NULL, NULL);
+ if (ACPI_FAILURE (Status))
+ {
+ return (Status);
+ }
/* Print the full pathname for each namespace node */
Modified: vendor-sys/acpica/dist/source/compiler/aslprepkg.c
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/aslprepkg.c Fri Oct 18 17:36:42 2019 (r353734)
+++ vendor-sys/acpica/dist/source/compiler/aslprepkg.c Fri Oct 18 18:00:41 2019 (r353735)
@@ -458,7 +458,7 @@ ApCheckPackage (
for (i = 0; i < Package->RetInfo4.Count1; ++i)
{
- Status = ApCheckObjectType (Predefined->Info.Name, Op,
+ ApCheckObjectType (Predefined->Info.Name, Op,
Package->RetInfo4.ObjectType1, i);
Op = Op->Asl.Next;
}
Modified: vendor-sys/acpica/dist/source/compiler/aslresource.c
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/aslresource.c Fri Oct 18 17:36:42 2019 (r353734)
+++ vendor-sys/acpica/dist/source/compiler/aslresource.c Fri Oct 18 18:00:41 2019 (r353735)
@@ -1226,7 +1226,7 @@ RsDoResourceTemplate (
BufferOp->Asl.AmlOpcode = AML_RAW_DATA_CHAIN;
BufferOp->Asl.AmlOpcodeLength = 0;
BufferOp->Asl.AmlLength = CurrentByteOffset;
- BufferOp->Asl.Value.Buffer = (UINT8 *) HeadRnode.Next;
+ BufferOp->Asl.Value.Buffer = ACPI_CAST_PTR (UINT8, HeadRnode.Next);
BufferOp->Asl.CompileFlags |= OP_IS_RESOURCE_DATA;
UtSetParseOpName (BufferOp);
Modified: vendor-sys/acpica/dist/source/compiler/aslrestype2.c
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/aslrestype2.c Fri Oct 18 17:36:42 2019 (r353734)
+++ vendor-sys/acpica/dist/source/compiler/aslrestype2.c Fri Oct 18 18:00:41 2019 (r353735)
@@ -487,10 +487,7 @@ RsDoInterruptDescriptor (
if (StringLength && ResSourceString)
{
-
strcpy ((char *) Rover, (char *) ResSourceString);
- Rover = ACPI_ADD_PTR (
- AML_RESOURCE, &(Rover->ByteItem), StringLength);
Descriptor->ExtendedIrq.ResourceLength = (UINT16)
(Descriptor->ExtendedIrq.ResourceLength + StringLength);
Modified: vendor-sys/acpica/dist/source/compiler/aslrestype2s.c
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/aslrestype2s.c Fri Oct 18 17:36:42 2019 (r353734)
+++ vendor-sys/acpica/dist/source/compiler/aslrestype2s.c Fri Oct 18 18:00:41 2019 (r353735)
@@ -674,7 +674,6 @@ RsDoGpioIoDescriptor (
ResSourceLength = RsGetStringDataLength (InitializerOp);
VendorLength = RsGetBufferDataLength (InitializerOp);
InterruptLength = RsGetInterruptDataLength (InitializerOp, 10);
- PinList = InterruptList;
DescriptorSize = ACPI_AML_SIZE_LARGE (AML_RESOURCE_GPIO) +
ResSourceLength + VendorLength + InterruptLength;
Modified: vendor-sys/acpica/dist/source/compiler/aslutils.c
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/aslutils.c Fri Oct 18 17:36:42 2019 (r353734)
+++ vendor-sys/acpica/dist/source/compiler/aslutils.c Fri Oct 18 18:00:41 2019 (r353735)
@@ -223,7 +223,7 @@ UtQueryForOverwrite (
char *Pathname)
{
struct stat StatInfo;
- int InChar = 0x34;
+ int InChar;
if (!stat (Pathname, &StatInfo))
Modified: vendor-sys/acpica/dist/source/compiler/cvdisasm.c
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/cvdisasm.c Fri Oct 18 17:36:42 2019 (r353734)
+++ vendor-sys/acpica/dist/source/compiler/cvdisasm.c Fri Oct 18 18:00:41 2019 (r353735)
@@ -544,8 +544,11 @@ CvSwitchFiles(
Current = Current->Parent;
}
- /* Redirect output to Op->Common.CvFilename */
+ if (FNode)
+ {
+ /* Redirect output to Op->Common.CvFilename */
- AcpiOsRedirectOutput (FNode->File);
- AcpiGbl_CurrentFilename = FNode->Filename;
+ AcpiOsRedirectOutput (FNode->File);
+ AcpiGbl_CurrentFilename = FNode->Filename;
+ }
}
Modified: vendor-sys/acpica/dist/source/compiler/cvparser.c
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/cvparser.c Fri Oct 18 17:36:42 2019 (r353734)
+++ vendor-sys/acpica/dist/source/compiler/cvparser.c Fri Oct 18 18:00:41 2019 (r353735)
@@ -912,7 +912,6 @@ CvCaptureCommentsOnly (
/* Not a valid comment option. Revert the AML */
- Aml -= 2;
goto DefBlock;
} /* End switch statement */
Modified: vendor-sys/acpica/dist/source/compiler/dtcompile.c
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/dtcompile.c Fri Oct 18 17:36:42 2019 (r353734)
+++ vendor-sys/acpica/dist/source/compiler/dtcompile.c Fri Oct 18 18:00:41 2019 (r353735)
@@ -276,7 +276,10 @@ DtDoCompile (
if (ACPI_FAILURE (Status))
{
- FileNode->ParserErrorDetected = TRUE;
+ if (FileNode)
+ {
+ FileNode->ParserErrorDetected = TRUE;
+ }
/* TBD: temporary error message. Msgs should come from function above */
@@ -572,7 +575,7 @@ DtCompileTable (
ACPI_STATUS Status = AE_OK;
- if (!Field)
+ if (!Field || !Info)
{
return (AE_BAD_PARAMETER);
}
@@ -642,6 +645,14 @@ DtCompileTable (
FieldType = DtGetFieldType (Info);
AslGbl_InputFieldCount++;
+
+ if (FieldType != DT_FIELD_TYPE_INLINE_SUBTABLE &&
+ strcmp (Info->Name, LocalField->Name))
+ {
+ sprintf (AslGbl_MsgBuffer, "found \"%s\" expected \"%s\"",
+ LocalField->Name, Info->Name);
+ DtError (ASL_ERROR, ASL_MSG_INVALID_LABEL, LocalField, AslGbl_MsgBuffer);
+ }
switch (FieldType)
{
Modified: vendor-sys/acpica/dist/source/compiler/dtcompiler.h
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/dtcompiler.h Fri Oct 18 17:36:42 2019 (r353734)
+++ vendor-sys/acpica/dist/source/compiler/dtcompiler.h Fri Oct 18 18:00:41 2019 (r353735)
@@ -210,7 +210,18 @@ typedef struct dt_field
#define DT_FIELD_NOT_ALLOCATED 1
+/*
+ * Structure used for each individual key or value
+ */
+typedef struct dt_table_unit
+{
+ char *Value; /* Field value (from name : value) */
+ UINT32 Line; /* Line number for this field */
+ UINT32 Column; /* Start column for field value */
+} DT_TABLE_UNIT;
+
+
/*
* Structure used for individual subtables within an ACPI table
*/
@@ -292,14 +303,6 @@ DtCompilePadding (
UINT32 Length,
DT_SUBTABLE **RetSubtable);
-void
-DtCreateField (
- char *Name,
- char *Value,
- UINT32 Line,
- UINT32 Offset,
- UINT32 Column,
- UINT32 NameColumn);
/* dtio - binary and text input/output */
@@ -435,6 +438,26 @@ DtCompileFlag (
UINT8 *Buffer,
DT_FIELD *Field,
ACPI_DMTABLE_INFO *Info);
+
+
+/* dtfield - DT_FIELD operations */
+
+void
+DtLinkField (
+ DT_FIELD *Field);
+
+void
+DtCreateField (
+ DT_TABLE_UNIT *FieldKey,
+ DT_TABLE_UNIT *FieldValue,
+ UINT32 Offset);
+
+DT_TABLE_UNIT *
+DtCreateTableUnit (
+ char *Data,
+ UINT32 Line,
+ UINT32 Column);
+
/* dtparser - lex/yacc files */
Modified: vendor-sys/acpica/dist/source/compiler/dtcompilerparser.l
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/dtcompilerparser.l Fri Oct 18 17:36:42 2019 (r353734)
+++ vendor-sys/acpica/dist/source/compiler/dtcompilerparser.l Fri Oct 18 18:00:41 2019 (r353735)
@@ -161,18 +161,20 @@ YYSTYPE DtCompilerlval;
/* handle locations */
int DtCompilerParsercolumn = 1;
+int DtLabelByteOffset = 0;
int DtCompilerParserByteOffset = 0;
+UINT32 DtTokenFirstLine = 0;
+UINT32 DtTokenFirstColumn = 0;
+
#define YY_USER_ACTION \
- DtCompilerParserlloc.first_line = DtCompilerParserlloc.last_line = DtCompilerParserlineno; \
- DtCompilerParserlloc.first_column = DtCompilerParsercolumn; \
- DtCompilerParserlloc.first_byte_offset = DtCompilerParserByteOffset; \
- DtCompilerParserlloc.last_column = DtCompilerParsercolumn + DtCompilerParserleng-1; \
+ DtTokenFirstLine = DtCompilerParserlineno; \
+ DtTokenFirstColumn = DtCompilerParsercolumn; \
DtCompilerParsercolumn += DtCompilerParserleng; \
DtCompilerParserByteOffset += DtCompilerParserleng; \
DbgPrint (ASL_PARSE_OUTPUT,\
- "user action occurred. DtCompilerParserlloc.first_line: %u offset: %u\n",\
- DtCompilerParserlloc.first_line, DtCompilerParserlloc.first_byte_offset);
+ "user action occurred. DtCompilerParserlloc.first_line: %u\n",\
+ DtTokenFirstLine);
%}
%option nounput noinput yylineno
@@ -236,7 +238,11 @@ CommentField {LabelName}{WhiteSpace}*:{WhiteSpace}{
int size = strlen (DtCompilerParsertext);
s=UtLocalCacheCalloc (size + 1);
AcpiUtSafeStrncpy (s, DtCompilerParsertext, size + 1);
- DtCompilerParserlval.s = s;
+ DtCompilerParserlval.u = (DT_TABLE_UNIT *) UtLocalCacheCalloc (sizeof (DT_TABLE_UNIT));
+ DtCompilerParserlval.u->Value = s;
+ DtCompilerParserlval.u->Line = DtCompilerParserlineno;
+ DtCompilerParserlval.u->Column = DtCompilerParsercolumn;
+ DtLabelByteOffset = DtCompilerParserByteOffset;
DbgPrint (ASL_PARSE_OUTPUT, "Label: %s\n", s);
return (DT_PARSEOP_LABEL);
}
Modified: vendor-sys/acpica/dist/source/compiler/dtcompilerparser.y
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/dtcompilerparser.y Fri Oct 18 17:36:42 2019 (r353734)
+++ vendor-sys/acpica/dist/source/compiler/dtcompilerparser.y Fri Oct 18 18:00:41 2019 (r353735)
@@ -169,9 +169,13 @@ void DtCompilerParsererror (cha
extern char *DtCompilerParsertext;
extern DT_FIELD *AslGbl_CurrentField;
+extern int DtLabelByteOffset;
extern UINT64 DtCompilerParserResult; /* Expression return value */
extern UINT64 DtCompilerParserlineno; /* Current line number */
+extern UINT32 DtTokenFirstLine;
+extern UINT32 DtTokenFirstColumn;
+
/* Bison/yacc configuration */
#define yytname DtCompilerParsername
@@ -186,42 +190,30 @@ extern UINT64 DtCompilerParserlineno; /*
%}
-%code requires {
- typedef struct YYLTYPE {
- int first_line;
- int last_line;
- int first_column;
- int last_column;
- int first_byte_offset;
- } YYLTYPE;
-
- #define YYLTYPE_IS_DECLARED 1
-}
-
-
%union {
char *s;
DT_FIELD *f;
+ DT_TABLE_UNIT *u;
}
%type <f> Table
-%token <s> DT_PARSEOP_DATA
-%token <s> DT_PARSEOP_LABEL
-%token <s> DT_PARSEOP_STRING_DATA
-%token <s> DT_PARSEOP_LINE_CONTINUATION
-%type <s> Data
-%type <s> Datum
-%type <s> MultiLineData
-%type <s> MultiLineDataList
+%token <u> DT_PARSEOP_DATA
+%token <u> DT_PARSEOP_LABEL
+%token <u> DT_PARSEOP_STRING_DATA
+%token <u> DT_PARSEOP_LINE_CONTINUATION
+%type <u> Data
+%type <u> Datum
+%type <u> MultiLineData
+%type <u> MultiLineDataList
%%
Table
:
- FieldList { DtCompilerParserResult = 5;}
+ FieldList { }
;
FieldList
@@ -230,7 +222,7 @@ FieldList
;
Field
- : DT_PARSEOP_LABEL ':' Data { DtCreateField ($1, $3, (@3).first_line, (@1).first_byte_offset, (@1).first_column, (@3).first_column); }
+ : DT_PARSEOP_LABEL ':' Data { DtCreateField ($1, $3, DtLabelByteOffset); }
;
Data
@@ -240,7 +232,7 @@ Data
;
MultiLineDataList
- : MultiLineDataList MultiLineData { $$ = AcpiUtStrcat(AcpiUtStrcat($1, " "), $2); } /* combine the strings with strcat */
+ : MultiLineDataList MultiLineData { $$ = DtCreateTableUnit (AcpiUtStrcat(AcpiUtStrcat($1->Value, " "), $2->Value), $1->Line, $1->Column); } /* combine the strings with strcat */
| MultiLineData { $$ = $1; }
;
@@ -249,8 +241,14 @@ MultiLineData
;
Datum
- : DT_PARSEOP_DATA { DbgPrint (ASL_PARSE_OUTPUT, "parser data: [%s]\n", DtCompilerParserlval.s); $$ = AcpiUtStrdup(DtCompilerParserlval.s); }
- | DT_PARSEOP_STRING_DATA { DbgPrint (ASL_PARSE_OUTPUT, "parser string data: [%s]\n", DtCompilerParserlval.s); $$ = AcpiUtStrdup(DtCompilerParserlval.s); }
+ : DT_PARSEOP_DATA {
+ DbgPrint (ASL_PARSE_OUTPUT, "parser data: [%s]\n", DtCompilerParserlval.s);
+ $$ = DtCreateTableUnit (AcpiUtStrdup(DtCompilerParserlval.s), DtTokenFirstLine, DtTokenFirstColumn);
+ }
+ | DT_PARSEOP_STRING_DATA {
+ DbgPrint (ASL_PARSE_OUTPUT, "parser string data: [%s]\n", DtCompilerParserlval.s);
+ $$ = DtCreateTableUnit (AcpiUtStrdup(DtCompilerParserlval.s), DtTokenFirstLine, DtTokenFirstColumn);
+ }
;
Modified: vendor-sys/acpica/dist/source/compiler/dtfield.c
==============================================================================
--- vendor-sys/acpica/dist/source/compiler/dtfield.c Fri Oct 18 17:36:42 2019 (r353734)
+++ vendor-sys/acpica/dist/source/compiler/dtfield.c Fri Oct 18 18:00:41 2019 (r353735)
@@ -576,6 +576,14 @@ DtCompileBuffer (
StringValue = DtNormalizeBuffer (StringValue, &Count);
Substring = StringValue;
+ if (Count != ByteLength)
+ {
+ sprintf(AslGbl_MsgBuffer,
+ "Found %u values, must match expected count: %u",
+ Count, ByteLength);
+ DtError (ASL_ERROR, ASL_MSG_BUFFER_LIST, Field, AslGbl_MsgBuffer);
+ goto Exit;
+ }
/* Each element of StringValue is now three chars (2 hex + 1 space) */
@@ -720,4 +728,123 @@ DtCompileFlag (
}
*Buffer |= (UINT8) (Value << BitPosition);
+}
+
+
+/******************************************************************************
+ *
+ * FUNCTION: DtCreateField
+ *
+ * PARAMETERS: Name
+ * Value
+ * Line
+ * Offset
+ * Column
+ * NameColumn
+ *
+ * RETURN: None
+ *
+ * DESCRIPTION: Create a field
+ *
+ *****************************************************************************/
+
+void
+DtCreateField (
+ DT_TABLE_UNIT *FieldKey,
+ DT_TABLE_UNIT *FieldValue,
+ UINT32 Offset)
+{
+ DT_FIELD *Field = UtFieldCacheCalloc ();
+
+
+ Field->StringLength = 0;
+ if (FieldKey->Value)
+ {
+ Field->Name =
+ strcpy (UtLocalCacheCalloc (strlen (FieldKey->Value) + 1), FieldKey->Value);
+ }
+
+ if (FieldValue->Value)
+ {
+ Field->StringLength = strlen (FieldValue->Value);
+ Field->Value =
+ strcpy (UtLocalCacheCalloc (Field->StringLength + 1), FieldValue->Value);
+ }
+
+ Field->Line = FieldValue->Line;
+ Field->ByteOffset = Offset;
+ Field->NameColumn = FieldKey->Column;
+ Field->Column = FieldValue->Column;
+ DtLinkField (Field);
+
+ DtDumpFieldList (AslGbl_FieldList);
+}
+
+
+/******************************************************************************
+ *
+ * FUNCTION: DtCreateTableUnit
+ *
+ * PARAMETERS: Data
+ * Line
+ * Column
+ *
+ * RETURN: a table unit
+ *
+ * DESCRIPTION: Create a table unit
+ *
+ *****************************************************************************/
+
+DT_TABLE_UNIT *
+DtCreateTableUnit (
+ char *Data,
+ UINT32 Line,
+ UINT32 Column)
+{
+ DT_TABLE_UNIT *Unit = (DT_TABLE_UNIT *) UtFieldCacheCalloc ();
+
+
+ Unit->Value = Data;
+ Unit->Line = Line;
+ Unit->Column = Column;
+ return (Unit);
+}
+
+
+/******************************************************************************
+ *
+ * FUNCTION: DtLinkField
+ *
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-vendor
mailing list