merge conflicts

This commit is contained in:
christos 2020-08-02 20:25:54 +00:00
parent 67c34082e3
commit 531a0538c6
15 changed files with 51 additions and 1342 deletions

View File

@ -585,6 +585,7 @@ NamePathTail [.]{NameSeg}
"GeneralPurposeIo" { count (0); return (PARSEOP_REGIONSPACE_GPIO); } /* ACPI 5.0 */
"GenericSerialBus" { count (0); return (PARSEOP_REGIONSPACE_GSBUS); } /* ACPI 5.0 */
"PCC" { count (0); return (PARSEOP_REGIONSPACE_PCC); } /* ACPI 5.0 */
"PlatformRtMechanism" { count (0); return (PARSEOP_REGIONSPACE_PRM); }
"FFixedHW" { count (0); return (PARSEOP_REGIONSPACE_FFIXEDHW); }
/* ResourceTypeKeyword: Resource Usage - Resource Descriptors */

View File

@ -948,7 +948,7 @@ GetModifiedLevel (
UINT8 Level,
UINT16 MessageId)
{
UINT16 i;
UINT32 i;
UINT16 ExceptionCode;

View File

@ -1069,13 +1069,13 @@ LdAnalyzeExternals (
* previously declared External
*/
Node->Flags &= ~ANOBJ_IS_EXTERNAL;
Node->Type = (UINT8) ExternalOpType;
Node->Type = (UINT8) ActualOpType;
/* Just retyped a node, probably will need to open a scope */
if (AcpiNsOpensScope (ExternalOpType))
if (AcpiNsOpensScope (ActualOpType))
{
Status = AcpiDsScopeStackPush (Node, ExternalOpType, WalkState);
Status = AcpiDsScopeStackPush (Node, ActualOpType, WalkState);
if (ACPI_FAILURE (Status))
{
return (Status);
@ -1096,11 +1096,11 @@ LdAnalyzeExternals (
}
else if ((Node->Flags & ANOBJ_IS_EXTERNAL) &&
(Op->Asl.ParseOpcode == PARSEOP_EXTERNAL) &&
(ExternalOpType == ACPI_TYPE_ANY))
(ActualOpType == ACPI_TYPE_ANY))
{
/* Allow update of externals of unknown type. */
Node->Type = (UINT8) ExternalOpType;
Node->Type = (UINT8) ActualExternalOpType;
Status = AE_OK;
}

View File

@ -713,9 +713,24 @@ XfNamespaceLocateBegin (
Node->Flags |= ANOBJ_IS_REFERENCED;
}
/* Attempt to optimize the NamePath */
OptOptimizeNamePath (Op, OpInfo->Flags, WalkState, Path, Node);
/*
* Attempt to optimize the NamePath
*
* One special case: CondRefOf operator - not all AML interpreter
* implementations expect optimized namepaths as a parameter to this
* operator. They require relative name paths with prefix operators or
* namepaths starting with the root scope.
*
* Other AML interpreter implementations do not perform the namespace
* search that starts at the current scope and recursively searching the
* parent scope until the root scope. The lack of search is only known to
* occur for the namestring parameter for the CondRefOf operator.
*/
if ((Op->Asl.Parent) &&
(Op->Asl.Parent->Asl.ParseOpcode != PARSEOP_CONDREFOF))
{
OptOptimizeNamePath (Op, OpInfo->Flags, WalkState, Path, Node);
}
/*
* 1) Dereference an alias (A name reference that is an alias)
@ -871,12 +886,14 @@ XfNamespaceLocateBegin (
* invocation of the method, it is simply a reference to the method.
*
* September 2016: Removed DeRefOf from this list
* July 2020: Added Alias to this list
*/
if ((Op->Asl.Parent) &&
((Op->Asl.Parent->Asl.ParseOpcode == PARSEOP_REFOF) ||
(Op->Asl.Parent->Asl.ParseOpcode == PARSEOP_PACKAGE) ||
(Op->Asl.Parent->Asl.ParseOpcode == PARSEOP_VAR_PACKAGE)||
(Op->Asl.Parent->Asl.ParseOpcode == PARSEOP_OBJECTTYPE)))
(Op->Asl.Parent->Asl.ParseOpcode == PARSEOP_OBJECTTYPE) ||
(Op->Asl.Parent->Asl.ParseOpcode == PARSEOP_ALIAS)))
{
return_ACPI_STATUS (AE_OK);
}

View File

@ -96,6 +96,8 @@ static ACPI_ADR_SPACE_TYPE AcpiGbl_SpaceIdList[] =
ACPI_ADR_SPACE_IPMI,
ACPI_ADR_SPACE_GPIO,
ACPI_ADR_SPACE_GSBUS,
ACPI_ADR_SPACE_PLATFORM_COMM,
ACPI_ADR_SPACE_PLATFORM_RT,
ACPI_ADR_SPACE_DATA_TABLE,
ACPI_ADR_SPACE_FIXED_HARDWARE
};

View File

@ -1,178 +0,0 @@
#
# acpinames - Load ACPI table and dump namespace. This is a subset
# of the AcpiExec functionality, it is intended to demonstrate
# the configurability of ACPICA.
#
#
# Note: This makefile is intended to be used from within the native
# ACPICA directory structure, from under generate/unix. It specifically
# places all object files in a generate/unix subdirectory, not within
# the various ACPICA source directories. This prevents collisions
# between different compilations of the same source file with different
# compile options, and prevents pollution of the source code.
#
include ../Makefile.config
FINAL_PROG = ../$(BINDIR)/acpinames
PROG = $(OBJDIR)/acpinames
#
# Search paths for source files
#
vpath %.c \
$(ACPINAMES)\
$(ACPICA_DISPATCHER)\
$(ACPICA_EVENTS)\
$(ACPICA_EXECUTER)\
$(ACPICA_HARDWARE)\
$(ACPICA_NAMESPACE)\
$(ACPICA_PARSER)\
$(ACPICA_TABLES)\
$(ACPICA_UTILITIES)\
$(ACPICA_COMMON)\
$(ACPICA_OSL)
HEADERS = \
$(wildcard $(ACPINAMES)/*.h)
OBJECTS = \
$(OBJDIR)/acfileio.o\
$(OBJDIR)/anmain.o\
$(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\
$(OBJDIR)/nsxfeval.o\
$(OBJDIR)/nsxfname.o\
$(OBJDIR)/nsxfobj.o\
$(OBJDIR)/osunixxf.o\
$(OBJDIR)/psargs.o\
$(OBJDIR)/psloop.o\
$(OBJDIR)/psobject.o\
$(OBJDIR)/psopcode.o\
$(OBJDIR)/psopinfo.o\
$(OBJDIR)/psparse.o\
$(OBJDIR)/psscope.o\
$(OBJDIR)/pstree.o\
$(OBJDIR)/psutils.o\
$(OBJDIR)/pswalk.o\
$(OBJDIR)/psxface.o\
$(OBJDIR)/tbdata.o\
$(OBJDIR)/tbfadt.o\
$(OBJDIR)/tbfind.o\
$(OBJDIR)/tbinstal.o\
$(OBJDIR)/tbprint.o\
$(OBJDIR)/tbutils.o\
$(OBJDIR)/tbxface.o\
$(OBJDIR)/tbxfload.o\
$(OBJDIR)/tbxfroot.o\
$(OBJDIR)/utaddress.o\
$(OBJDIR)/utalloc.o\
$(OBJDIR)/utascii.o\
$(OBJDIR)/utbuffer.o\
$(OBJDIR)/utcache.o\
$(OBJDIR)/utcopy.o\
$(OBJDIR)/utdebug.o\
$(OBJDIR)/utdecode.o\
$(OBJDIR)/utdelete.o\
$(OBJDIR)/uterror.o\
$(OBJDIR)/uteval.o\
$(OBJDIR)/utexcep.o\
$(OBJDIR)/utglobal.o\
$(OBJDIR)/uthex.o\
$(OBJDIR)/utids.o\
$(OBJDIR)/utinit.o\
$(OBJDIR)/utlock.o\
$(OBJDIR)/utmath.o\
$(OBJDIR)/utmisc.o\
$(OBJDIR)/utmutex.o\
$(OBJDIR)/utnonansi.o\
$(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
#
# Flags specific to acpinames utility
#
CFLAGS += \
-DACPI_NAMES_APP\
-I$(ACPINAMES)
#
# Common Rules
#
include ../Makefile.rules

View File

@ -46,7 +46,7 @@
/* Current ACPICA subsystem version in YYYYMMDD format */
#define ACPI_CA_VERSION 0x20200430
#define ACPI_CA_VERSION 0x20200717
#include "acconfig.h"
#include "actypes.h"

View File

@ -865,8 +865,9 @@ typedef UINT8 ACPI_ADR_SPACE_TYPE;
#define ACPI_ADR_SPACE_GPIO (ACPI_ADR_SPACE_TYPE) 8
#define ACPI_ADR_SPACE_GSBUS (ACPI_ADR_SPACE_TYPE) 9
#define ACPI_ADR_SPACE_PLATFORM_COMM (ACPI_ADR_SPACE_TYPE) 10
#define ACPI_ADR_SPACE_PLATFORM_RT (ACPI_ADR_SPACE_TYPE) 11
#define ACPI_NUM_PREDEFINED_REGIONS 11
#define ACPI_NUM_PREDEFINED_REGIONS 12
/*
* Special Address Spaces
@ -1275,7 +1276,7 @@ typedef struct acpi_pnp_device_id_list
{
UINT32 Count; /* Number of IDs in Ids array */
UINT32 ListSize; /* Size of list, including ID strings */
ACPI_PNP_DEVICE_ID Ids[1]; /* ID array */
ACPI_PNP_DEVICE_ID Ids[]; /* ID array */
} ACPI_PNP_DEVICE_ID_LIST;

View File

@ -84,7 +84,6 @@ static ACPI_STATUS
OslReadTableFromFile (
char *Filename,
ACPI_SIZE FileOffset,
char *Signature,
ACPI_TABLE_HEADER **Table);
static ACPI_STATUS
@ -1382,8 +1381,6 @@ OslTableNameFromFile (
*
* PARAMETERS: Filename - File that contains the desired table
* FileOffset - Offset of the table in file
* Signature - Optional ACPI Signature for desired table.
* A null terminated 4-character string.
* Table - Where a pointer to the table is returned
*
* RETURN: Status; Table buffer is returned if AE_OK.
@ -1396,7 +1393,6 @@ static ACPI_STATUS
OslReadTableFromFile (
char *Filename,
ACPI_SIZE FileOffset,
char *Signature,
ACPI_TABLE_HEADER **Table)
{
FILE *TableFile;
@ -1428,6 +1424,8 @@ OslReadTableFromFile (
goto Exit;
}
#ifdef ACPI_OBSOLETE_FUNCTIONS
/* If signature is specified, it must match the table */
if (Signature)
@ -1449,6 +1447,7 @@ OslReadTableFromFile (
goto Exit;
}
}
#endif
TableLength = ApGetTableLength (&Header);
if (TableLength == 0)
@ -1582,7 +1581,7 @@ OslGetCustomizedTable (
/* There is no physical address saved for customized tables, use zero */
*Address = 0;
Status = OslReadTableFromFile (TableFilename, 0, NULL, Table);
Status = OslReadTableFromFile (TableFilename, 0, Table);
return (Status);
}

View File

@ -1,66 +0,0 @@
/******************************************************************************
*
* Module Name: acpinames.h - Common include for AcpiNames utility
*
*****************************************************************************/
/*
* Copyright (C) 2000 - 2020, Intel Corp.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions, and the following disclaimer,
* without modification.
* 2. Redistributions in binary form must reproduce at minimum a disclaimer
* substantially similar to the "NO WARRANTY" disclaimer below
* ("Disclaimer") and any redistribution must be conditioned upon
* including a substantially similar Disclaimer requirement for further
* binary redistribution.
* 3. Neither the names of the above-listed copyright holders nor the names
* of any contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* Alternatively, this software may be distributed under the terms of the
* GNU General Public License ("GPL") version 2 as published by the Free
* Software Foundation.
*
* NO WARRANTY
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGES.
*/
#ifndef _ACPINAMES_H
#define _ACPINAMES_H
#include "acpi.h"
#include "accommon.h"
#include "acapps.h"
#include "acutils.h"
#include "acnamesp.h"
#include "actables.h"
#include "acinterp.h"
#include <stdio.h>
#define ACPI_MAX_INIT_TABLES (32)
extern BOOLEAN AcpiGbl_NsLoadOnly;
ACPI_STATUS
AnBuildLocalTables (
ACPI_NEW_TABLE_DESC *TableList);
#endif

View File

@ -1,308 +0,0 @@
/******************************************************************************
*
* Module Name: anmain - Main routine for the AcpiNames utility
*
*****************************************************************************/
/*
* Copyright (C) 2000 - 2020, Intel Corp.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions, and the following disclaimer,
* without modification.
* 2. Redistributions in binary form must reproduce at minimum a disclaimer
* substantially similar to the "NO WARRANTY" disclaimer below
* ("Disclaimer") and any redistribution must be conditioned upon
* including a substantially similar Disclaimer requirement for further
* binary redistribution.
* 3. Neither the names of the above-listed copyright holders nor the names
* of any contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* Alternatively, this software may be distributed under the terms of the
* GNU General Public License ("GPL") version 2 as published by the Free
* Software Foundation.
*
* NO WARRANTY
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGES.
*/
#include "acpinames.h"
#include "actables.h"
#include "errno.h"
#define _COMPONENT ACPI_TOOLS
ACPI_MODULE_NAME ("anmain")
/* Local prototypes */
static int
AnDumpEntireNamespace (
ACPI_NEW_TABLE_DESC *ListHead);
/*
* Main routine for the ACPI user-space namespace utility.
*
* Portability note: The utility depends upon the host for command-line
* wildcard support - it is not implemented locally. For example:
*
* Linux/Unix systems: Shell expands wildcards automatically.
*
* Windows: The setargv.obj module must be linked in to automatically
* expand wildcards.
*/
BOOLEAN AcpiGbl_NsLoadOnly = FALSE;
#define AN_UTILITY_NAME "ACPI Namespace Dump Utility"
#define AN_SUPPORTED_OPTIONS "?hlv^x:"
/******************************************************************************
*
* FUNCTION: usage
*
* PARAMETERS: None
*
* RETURN: None
*
* DESCRIPTION: Print a usage message
*
*****************************************************************************/
static void
usage (
void)
{
ACPI_USAGE_HEADER ("AcpiNames [options] AMLfile");
ACPI_OPTION ("-?", "Display this message");
ACPI_OPTION ("-l", "Load namespace only, no display");
ACPI_OPTION ("-v", "Display version information");
ACPI_OPTION ("-vd", "Display build date and time");
ACPI_OPTION ("-x <DebugLevel>", "Debug output level");
}
/******************************************************************************
*
* FUNCTION: main
*
* PARAMETERS: argc, argv
*
* RETURN: Status (pass/fail)
*
* DESCRIPTION: Main routine for NsDump utility
*
*****************************************************************************/
int ACPI_SYSTEM_XFACE
main (
int argc,
char **argv)
{
ACPI_NEW_TABLE_DESC *ListHead = NULL;
ACPI_STATUS Status;
int j;
ACPI_DEBUG_INITIALIZE (); /* For debug version only */
/* Init debug globals and ACPICA */
AcpiDbgLevel = ACPI_NORMAL_DEFAULT | ACPI_LV_TABLES;
AcpiDbgLayer = 0xFFFFFFFF;
/* Set flags so that the interpreter is not used */
Status = AcpiInitializeSubsystem ();
ACPI_CHECK_OK (AcpiInitializeSubsystem, Status);
if (ACPI_FAILURE (Status))
{
return (-1);
}
printf (ACPI_COMMON_SIGNON (AN_UTILITY_NAME));
if (argc < 2)
{
usage ();
return (0);
}
/* Get the command line options */
while ((j = AcpiGetopt (argc, argv, AN_SUPPORTED_OPTIONS)) != ACPI_OPT_END) switch(j)
{
case 'l':
AcpiGbl_NsLoadOnly = TRUE;
break;
case 'v':
switch (AcpiGbl_Optarg[0])
{
case '^': /* -v: (Version): signon already emitted, just exit */
exit (0);
case 'd':
printf (ACPI_COMMON_BUILD_TIME);
return (0);
default:
printf ("Unknown option: -v%s\n", AcpiGbl_Optarg);
return (-1);
}
break;
case 'x':
AcpiDbgLevel = strtoul (AcpiGbl_Optarg, NULL, 0);
printf ("Debug Level: 0x%8.8X\n", AcpiDbgLevel);
break;
case '?':
case 'h':
default:
usage();
return (0);
}
/* Get each of the ACPI table files on the command line */
while (argv[AcpiGbl_Optind])
{
/* Get all ACPI AML tables in this file */
Status = AcGetAllTablesFromFile (argv[AcpiGbl_Optind],
ACPI_GET_ALL_TABLES, &ListHead);
if (ACPI_FAILURE (Status))
{
return (-1);
}
AcpiGbl_Optind++;
}
printf ("\n");
/*
* The next argument is the filename for the DSDT or SSDT.
* Open the file, build namespace and dump it.
*/
return (AnDumpEntireNamespace (ListHead));
}
/******************************************************************************
*
* FUNCTION: AnDumpEntireNamespace
*
* PARAMETERS: AmlFilename - Filename for DSDT or SSDT AML table
*
* RETURN: Status (pass/fail)
*
* DESCRIPTION: Build an ACPI namespace for the input AML table, and dump the
* formatted namespace contents.
*
*****************************************************************************/
static int
AnDumpEntireNamespace (
ACPI_NEW_TABLE_DESC *ListHead)
{
ACPI_STATUS Status;
ACPI_HANDLE Handle;
/*
* Build a local XSDT with all tables. Normally, here is where the
* RSDP search is performed to find the ACPI tables
*/
Status = AnBuildLocalTables (ListHead);
if (ACPI_FAILURE (Status))
{
return (-1);
}
/* Initialize table manager, get XSDT */
Status = AcpiInitializeTables (NULL, ACPI_MAX_INIT_TABLES, TRUE);
if (ACPI_FAILURE (Status))
{
printf ("**** Could not initialize ACPI table manager, %s\n",
AcpiFormatException (Status));
return (-1);
}
/* Build the namespace from the tables */
Status = AcpiLoadTables ();
if (Status == AE_CTRL_TERMINATE)
{
/* At least one table load failed -- terminate with error */
return (-1);
}
if (ACPI_FAILURE (Status))
{
printf ("**** While creating namespace, %s\n",
AcpiFormatException (Status));
return (-1);
}
if (AcpiGbl_NsLoadOnly)
{
printf ("**** Namespace successfully loaded\n");
return (0);
}
/*
* NOTE:
* We don't need to do any further ACPICA initialization, since we don't
* have any hardware, nor is the interpreter configured.
*
* Namely, we don't need these calls:
* AcpiEnableSubsystem
* AcpiInitializeObjects
*/
/*
* Perform a namespace walk to dump the contents
*/
AcpiOsPrintf ("\nACPI Namespace:\n");
AcpiNsDumpObjects (ACPI_TYPE_ANY, ACPI_DISPLAY_SUMMARY,
ACPI_UINT32_MAX, ACPI_OWNER_ID_MAX, AcpiGbl_RootNode);
/* Example: get a handle to the _GPE scope */
Status = AcpiGetHandle (NULL, "\\_GPE", &Handle);
ACPI_CHECK_OK (AcpiGetHandle, Status);
AcDeleteTableList (ListHead);
return (0);
}

View File

@ -1,400 +0,0 @@
/******************************************************************************
*
* Module Name: anstubs - Stub routines for the AcpiNames utility
*
*****************************************************************************/
/*
* Copyright (C) 2000 - 2020, Intel Corp.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions, and the following disclaimer,
* without modification.
* 2. Redistributions in binary form must reproduce at minimum a disclaimer
* substantially similar to the "NO WARRANTY" disclaimer below
* ("Disclaimer") and any redistribution must be conditioned upon
* including a substantially similar Disclaimer requirement for further
* binary redistribution.
* 3. Neither the names of the above-listed copyright holders nor the names
* of any contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* Alternatively, this software may be distributed under the terms of the
* GNU General Public License ("GPL") version 2 as published by the Free
* Software Foundation.
*
* NO WARRANTY
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGES.
*/
#include "acpinames.h"
#include <acutils.h>
#include <acevents.h>
#include <acdispat.h>
#define _COMPONENT ACPI_TOOLS
ACPI_MODULE_NAME ("anstubs")
/******************************************************************************
*
* DESCRIPTION: Stubs used to facilitate linkage of the NsDump utility.
*
*****************************************************************************/
/* Utilities */
#ifdef ACPI_OBSOLETE_FUNCTIONS
ACPI_STATUS
AcpiUtCopyIobjectToEobject (
ACPI_OPERAND_OBJECT *Obj,
ACPI_BUFFER *RetBuffer)
{
ACPI_EXCEPTION ((AE_INFO, AE_NOT_IMPLEMENTED,
"Stubbed function"));
return (AE_NOT_IMPLEMENTED);
}
ACPI_STATUS
AcpiUtCopyEobjectToIobject (
ACPI_OBJECT *Obj,
ACPI_OPERAND_OBJECT **InternalObj)
{
ACPI_EXCEPTION ((AE_INFO, AE_NOT_IMPLEMENTED,
"Stubbed function"));
return (AE_NOT_IMPLEMENTED);
}
ACPI_STATUS
AcpiUtCopyIobjectToIobject (
ACPI_OPERAND_OBJECT *SourceDesc,
ACPI_OPERAND_OBJECT **DestDesc,
ACPI_WALK_STATE *WalkState)
{
ACPI_EXCEPTION ((AE_INFO, AE_NOT_IMPLEMENTED,
"Stubbed function"));
return (AE_NOT_IMPLEMENTED);
}
#endif
/* Hardware */
UINT32
AcpiHwGetMode (
void)
{
return (0);
}
/* Event manager */
#ifdef ACPI_OBSOLETE_FUNCTIONS
ACPI_STATUS
AcpiEvInstallRegionHandlers (
void)
{
return (AE_OK);
}
ACPI_STATUS
AcpiEvInitializeOpRegions (
void)
{
return (AE_OK);
}
ACPI_STATUS
AcpiEvInitializeRegion (
ACPI_OPERAND_OBJECT *RegionObj)
{
return (AE_OK);
}
#endif
ACPI_STATUS
AcpiEvInstallXruptHandlers (
void)
{
return (AE_OK);
}
ACPI_STATUS
AcpiEvInitializeEvents (
void)
{
return (AE_OK);
}
/* AML Interpreter */
#ifdef ACPI_OBSOLETE_FUNCTIONS
ACPI_STATUS
AcpiExReadDataFromField (
ACPI_WALK_STATE *WalkState,
ACPI_OPERAND_OBJECT *ObjDesc,
ACPI_OPERAND_OBJECT **RetBufferDesc)
{
ACPI_EXCEPTION ((AE_INFO, AE_NOT_IMPLEMENTED,
"Stubbed function"));
return (AE_NOT_IMPLEMENTED);
}
ACPI_STATUS
AcpiExWriteDataToField (
ACPI_OPERAND_OBJECT *SourceDesc,
ACPI_OPERAND_OBJECT *ObjDesc,
ACPI_OPERAND_OBJECT **ResultDesc)
{
ACPI_EXCEPTION ((AE_INFO, AE_NOT_IMPLEMENTED,
"Stubbed function"));
return (AE_NOT_IMPLEMENTED);
}
ACPI_STATUS
AcpiExStoreObjectToNode (
ACPI_OPERAND_OBJECT *SourceDesc,
ACPI_NAMESPACE_NODE *Node,
ACPI_WALK_STATE *WalkState,
UINT8 ImplicitConversion)
{
ACPI_EXCEPTION ((AE_INFO, AE_NOT_IMPLEMENTED,
"Stubbed function"));
return (AE_NOT_IMPLEMENTED);
}
/* Namespace manager */
ACPI_STATUS
AcpiNsEvaluate (
ACPI_EVALUATE_INFO *Info)
{
ACPI_EXCEPTION ((AE_INFO, AE_NOT_IMPLEMENTED,
"Stubbed function"));
return (AE_NOT_IMPLEMENTED);
}
#endif
void
AcpiExDoDebugObject (
ACPI_OPERAND_OBJECT *SourceDesc,
UINT32 Level,
UINT32 Index)
{
return;
}
void
AcpiExStartTraceMethod (
ACPI_NAMESPACE_NODE *MethodNode,
ACPI_OPERAND_OBJECT *ObjDesc,
ACPI_WALK_STATE *WalkState)
{
return;
}
void
AcpiExStopTraceMethod (
ACPI_NAMESPACE_NODE *MethodNode,
ACPI_OPERAND_OBJECT *ObjDesc,
ACPI_WALK_STATE *WalkState)
{
return;
}
void
AcpiExStartTraceOpcode (
ACPI_PARSE_OBJECT *Op,
ACPI_WALK_STATE *WalkState)
{
return;
}
void
AcpiExStopTraceOpcode (
ACPI_PARSE_OBJECT *Op,
ACPI_WALK_STATE *WalkState)
{
return;
}
void
AcpiExTracePoint (
ACPI_TRACE_EVENT_TYPE Type,
BOOLEAN Begin,
UINT8 *Aml,
char *Pathname)
{
return;
}
/* Dispatcher */
#ifdef ACPI_OBSOLETE_FUNCTIONS
ACPI_STATUS
AcpiDsAutoSerializeMethod (
ACPI_NAMESPACE_NODE *Node,
ACPI_OPERAND_OBJECT *ObjDesc)
{
return (AE_OK);
}
ACPI_STATUS
AcpiDsInitializeRegion (
ACPI_HANDLE ObjHandle)
{
return (AE_OK);
}
ACPI_STATUS
AcpiDsCallControlMethod (
ACPI_THREAD_STATE *Thread,
ACPI_WALK_STATE *WalkState,
ACPI_PARSE_OBJECT *Op)
{
ACPI_EXCEPTION ((AE_INFO, AE_NOT_IMPLEMENTED,
"Stubbed function"));
return (AE_NOT_IMPLEMENTED);
}
ACPI_STATUS
AcpiDsRestartControlMethod (
ACPI_WALK_STATE *WalkState,
ACPI_OPERAND_OBJECT *ReturnDesc)
{
ACPI_EXCEPTION ((AE_INFO, AE_NOT_IMPLEMENTED,
"Stubbed function"));
return (AE_NOT_IMPLEMENTED);
}
void
AcpiDsTerminateControlMethod (
ACPI_OPERAND_OBJECT *MethodDesc,
ACPI_WALK_STATE *WalkState)
{
}
ACPI_STATUS
AcpiDsMethodError (
ACPI_STATUS Status,
ACPI_WALK_STATE *WalkState)
{
ACPI_EXCEPTION ((AE_INFO, AE_NOT_IMPLEMENTED,
"Stubbed function"));
return (AE_NOT_IMPLEMENTED);
}
ACPI_STATUS
AcpiDsBeginMethodExecution (
ACPI_NAMESPACE_NODE *MethodNode,
ACPI_OPERAND_OBJECT *ObjDesc,
ACPI_WALK_STATE *WalkState)
{
ACPI_EXCEPTION ((AE_INFO, AE_NOT_IMPLEMENTED,
"Stubbed function"));
return (AE_NOT_IMPLEMENTED);
}
ACPI_STATUS
AcpiDsGetPredicateValue (
ACPI_WALK_STATE *WalkState,
ACPI_OPERAND_OBJECT *ResultObj)
{
ACPI_EXCEPTION ((AE_INFO, AE_NOT_IMPLEMENTED,
"Stubbed function"));
return (AE_NOT_IMPLEMENTED);
}
#endif
ACPI_STATUS
AcpiDsGetBufferFieldArguments (
ACPI_OPERAND_OBJECT *ObjDesc)
{
return (AE_OK);
}
ACPI_STATUS
AcpiDsGetBankFieldArguments (
ACPI_OPERAND_OBJECT *ObjDesc)
{
return (AE_OK);
}
ACPI_STATUS
AcpiDsGetRegionArguments (
ACPI_OPERAND_OBJECT *RgnDesc)
{
return (AE_OK);
}
ACPI_STATUS
AcpiDsGetBufferArguments (
ACPI_OPERAND_OBJECT *ObjDesc)
{
return (AE_OK);
}
ACPI_STATUS
AcpiDsGetPackageArguments (
ACPI_OPERAND_OBJECT *ObjDesc)
{
return (AE_OK);
}
#ifdef ACPI_OBSOLETE_FUNCTIONS
ACPI_STATUS
AcpiDsExecBeginOp (
ACPI_WALK_STATE *WalkState,
ACPI_PARSE_OBJECT **OutOp)
{
ACPI_EXCEPTION ((AE_INFO, AE_NOT_IMPLEMENTED,
"Stubbed function"));
return (AE_NOT_IMPLEMENTED);
}
ACPI_STATUS
AcpiDsExecEndOp (
ACPI_WALK_STATE *State)
{
ACPI_EXCEPTION ((AE_INFO, AE_NOT_IMPLEMENTED,
"Stubbed function"));
return (AE_NOT_IMPLEMENTED);
}
#endif

View File

@ -1,356 +0,0 @@
/******************************************************************************
*
* Module Name: antables - ACPI table setup/install for AcpiNames utility
*
*****************************************************************************/
/*
* Copyright (C) 2000 - 2020, Intel Corp.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions, and the following disclaimer,
* without modification.
* 2. Redistributions in binary form must reproduce at minimum a disclaimer
* substantially similar to the "NO WARRANTY" disclaimer below
* ("Disclaimer") and any redistribution must be conditioned upon
* including a substantially similar Disclaimer requirement for further
* binary redistribution.
* 3. Neither the names of the above-listed copyright holders nor the names
* of any contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* Alternatively, this software may be distributed under the terms of the
* GNU General Public License ("GPL") version 2 as published by the Free
* Software Foundation.
*
* NO WARRANTY
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGES.
*/
#include "acpinames.h"
#define _COMPONENT ACPI_TOOLS
ACPI_MODULE_NAME ("antables")
/* Local prototypes */
static void
AnInitializeTableHeader (
ACPI_TABLE_HEADER *Header,
char *Signature,
UINT32 Length);
/* Non-AML tables that are constructed locally and installed */
static ACPI_TABLE_RSDP LocalRSDP;
static ACPI_TABLE_FACS LocalFACS;
/*
* We need a local FADT so that the hardware subcomponent will function,
* even though the underlying OSD HW access functions don't do anything.
*/
static ACPI_TABLE_FADT LocalFADT;
/*
* Use XSDT so that both 32- and 64-bit versions of this utility will
* function automatically.
*/
static ACPI_TABLE_XSDT *LocalXSDT;
#define BASE_XSDT_TABLES 1
#define BASE_XSDT_SIZE (sizeof (ACPI_TABLE_XSDT) + \
((BASE_XSDT_TABLES -1) * sizeof (UINT64)))
/******************************************************************************
*
* FUNCTION: AnInitializeTableHeader
*
* PARAMETERS: Header - A valid standard ACPI table header
* Signature - Signature to insert
* Length - Length of the table
*
* RETURN: None. Header is modified.
*
* DESCRIPTION: Initialize the table header for a local ACPI table.
*
*****************************************************************************/
static void
AnInitializeTableHeader (
ACPI_TABLE_HEADER *Header,
char *Signature,
UINT32 Length)
{
ACPI_COPY_NAMESEG (Header->Signature, Signature);
Header->Length = Length;
Header->OemRevision = 0x1001;
memcpy (Header->OemId, "Intel ", ACPI_OEM_ID_SIZE);
memcpy (Header->OemTableId, "AcpiExec", ACPI_OEM_TABLE_ID_SIZE);
ACPI_COPY_NAMESEG (Header->AslCompilerId, "INTL");
Header->AslCompilerRevision = ACPI_CA_VERSION;
/* Set the checksum, must set to zero first */
Header->Checksum = 0;
Header->Checksum = (UINT8) -AcpiTbChecksum (
(void *) Header, Header->Length);
}
/******************************************************************************
*
* FUNCTION: AnBuildLocalTables
*
* PARAMETERS: TableCount - Number of tables on the command line
* TableList - List of actual tables from files
*
* RETURN: Status
*
* DESCRIPTION: Build a complete ACPI table chain, with a local RSDP, XSDT,
* FADT, FACS, and the input DSDT/SSDT.
*
*****************************************************************************/
ACPI_STATUS
AnBuildLocalTables (
ACPI_NEW_TABLE_DESC *TableList)
{
UINT32 TableCount = 0;
ACPI_PHYSICAL_ADDRESS DsdtAddress = 0;
UINT32 XsdtSize;
ACPI_NEW_TABLE_DESC *NextTable;
UINT32 NextIndex;
ACPI_TABLE_FADT *ExternalFadt = NULL;
/*
* Update the table count. For the DSDT, it is not put into the XSDT.
* For the FADT, this table is already accounted for since we usually
* install a local FADT.
*/
NextTable = TableList;
while (NextTable)
{
if (!ACPI_COMPARE_NAMESEG (NextTable->Table->Signature, ACPI_SIG_DSDT) &&
!ACPI_COMPARE_NAMESEG (NextTable->Table->Signature, ACPI_SIG_FADT))
{
TableCount++;
}
NextTable = NextTable->Next;
}
XsdtSize = BASE_XSDT_SIZE + (TableCount * sizeof (UINT64));
/* Build an XSDT */
LocalXSDT = AcpiOsAllocate (XsdtSize);
if (!LocalXSDT)
{
return (AE_NO_MEMORY);
}
memset (LocalXSDT, 0, XsdtSize);
LocalXSDT->TableOffsetEntry[0] = ACPI_PTR_TO_PHYSADDR (&LocalFADT);
/*
* Install the user tables. The DSDT must be installed in the FADT.
* All other tables are installed directly into the XSDT.
*
* Note: The tables are loaded in reverse order from the incoming
* input, which makes it match the command line order.
*/
NextIndex = BASE_XSDT_TABLES;
NextTable = TableList;
while (NextTable)
{
/*
* Incoming DSDT or FADT are special cases. All other tables are
* just immediately installed into the XSDT.
*/
if (ACPI_COMPARE_NAMESEG (NextTable->Table->Signature, ACPI_SIG_DSDT))
{
if (DsdtAddress)
{
printf ("Already found a DSDT, only one allowed\n");
return (AE_ALREADY_EXISTS);
}
/* The incoming user table is a DSDT */
DsdtAddress = ACPI_PTR_TO_PHYSADDR (NextTable->Table);
}
else if (ACPI_COMPARE_NAMESEG (NextTable->Table->Signature, ACPI_SIG_FADT))
{
ExternalFadt =
ACPI_CAST_PTR (ACPI_TABLE_FADT, NextTable->Table);
LocalXSDT->TableOffsetEntry[0] =
ACPI_PTR_TO_PHYSADDR (NextTable->Table);
}
else
{
/* Install the table in the XSDT */
LocalXSDT->TableOffsetEntry[TableCount - NextIndex + 1] =
ACPI_PTR_TO_PHYSADDR (NextTable->Table);
NextIndex++;
}
NextTable = NextTable->Next;
}
/* Build an RSDP. Contains a valid XSDT only, no RSDT */
memset (&LocalRSDP, 0, sizeof (ACPI_TABLE_RSDP));
ACPI_MAKE_RSDP_SIG (LocalRSDP.Signature);
memcpy (LocalRSDP.OemId, "Intel", 6);
LocalRSDP.Revision = 2;
LocalRSDP.XsdtPhysicalAddress = ACPI_PTR_TO_PHYSADDR (LocalXSDT);
LocalRSDP.Length = sizeof (ACPI_TABLE_XSDT);
/* Set checksums for both XSDT and RSDP */
AnInitializeTableHeader ((void *) LocalXSDT, ACPI_SIG_XSDT, XsdtSize);
LocalRSDP.Checksum = 0;
LocalRSDP.Checksum = (UINT8) -AcpiTbChecksum (
(void *) &LocalRSDP, ACPI_RSDP_CHECKSUM_LENGTH);
if (!DsdtAddress)
{
return (AE_SUPPORT);
}
/*
* Build an FADT. There are two options for the FADT:
* 1) Incoming external FADT specified on the command line
* 2) A fully featured local FADT
*/
memset (&LocalFADT, 0, sizeof (ACPI_TABLE_FADT));
if (ExternalFadt)
{
/*
* Use the external FADT, but we must update the DSDT/FACS
* addresses as well as the checksum
*/
ExternalFadt->Dsdt = (UINT32) DsdtAddress;
ExternalFadt->Facs = ACPI_PTR_TO_PHYSADDR (&LocalFACS);
/*
* If there room in the FADT for the XDsdt and XFacs 64-bit
* pointers, use them.
*/
if (ExternalFadt->Header.Length > ACPI_PTR_DIFF (
&ExternalFadt->XDsdt, ExternalFadt))
{
ExternalFadt->Dsdt = 0;
ExternalFadt->Facs = 0;
ExternalFadt->XDsdt = DsdtAddress;
ExternalFadt->XFacs = ACPI_PTR_TO_PHYSADDR (&LocalFACS);
}
/* Complete the external FADT with the checksum */
ExternalFadt->Header.Checksum = 0;
ExternalFadt->Header.Checksum = (UINT8) -AcpiTbChecksum (
(void *) ExternalFadt, ExternalFadt->Header.Length);
}
else
{
/*
* Build a local FADT so we can test the hardware/event init
*/
LocalFADT.Header.Revision = 5;
/* Setup FADT header and DSDT/FACS addresses */
LocalFADT.Dsdt = 0;
LocalFADT.Facs = 0;
LocalFADT.XDsdt = DsdtAddress;
LocalFADT.XFacs = ACPI_PTR_TO_PHYSADDR (&LocalFACS);
/* Miscellaneous FADT fields */
LocalFADT.Gpe0BlockLength = 16;
LocalFADT.Gpe0Block = 0x00001234;
LocalFADT.Gpe1BlockLength = 6;
LocalFADT.Gpe1Block = 0x00005678;
LocalFADT.Gpe1Base = 96;
LocalFADT.Pm1EventLength = 4;
LocalFADT.Pm1aEventBlock = 0x00001aaa;
LocalFADT.Pm1bEventBlock = 0x00001bbb;
LocalFADT.Pm1ControlLength = 2;
LocalFADT.Pm1aControlBlock = 0xB0;
LocalFADT.PmTimerLength = 4;
LocalFADT.PmTimerBlock = 0xA0;
LocalFADT.Pm2ControlBlock = 0xC0;
LocalFADT.Pm2ControlLength = 1;
/* Setup one example X-64 field */
LocalFADT.XPm1bEventBlock.SpaceId = ACPI_ADR_SPACE_SYSTEM_IO;
LocalFADT.XPm1bEventBlock.Address = LocalFADT.Pm1bEventBlock;
LocalFADT.XPm1bEventBlock.BitWidth = (UINT8)
ACPI_MUL_8 (LocalFADT.Pm1EventLength);
}
AnInitializeTableHeader ((void *) &LocalFADT,
ACPI_SIG_FADT, sizeof (ACPI_TABLE_FADT));
/* Build a FACS */
memset (&LocalFACS, 0, sizeof (ACPI_TABLE_FACS));
ACPI_COPY_NAMESEG (LocalFACS.Signature, ACPI_SIG_FACS);
LocalFACS.Length = sizeof (ACPI_TABLE_FACS);
LocalFACS.GlobalLock = 0x11AA0011;
return (AE_OK);
}
/******************************************************************************
*
* FUNCTION: AcpiOsGetRootPointer
*
* PARAMETERS: None
*
* RETURN: Address of the RSDP
*
* DESCRIPTION: Return a local RSDP, used to dynamically load tables via the
* standard ACPI mechanism.
*
*****************************************************************************/
ACPI_PHYSICAL_ADDRESS
AcpiOsGetRootPointer (
void)
{
return (ACPI_PTR_TO_PHYSADDR (&LocalRSDP));
}

View File

@ -106,17 +106,18 @@ const UINT8 AcpiGbl_NsProperties[ACPI_NUM_NS_TYPES] =
const char *AcpiGbl_RegionTypes[ACPI_NUM_PREDEFINED_REGIONS] =
{
"SystemMemory", /* 0x00 */
"SystemIO", /* 0x01 */
"PCI_Config", /* 0x02 */
"EmbeddedControl", /* 0x03 */
"SMBus", /* 0x04 */
"SystemCMOS", /* 0x05 */
"PCIBARTarget", /* 0x06 */
"IPMI", /* 0x07 */
"GeneralPurposeIo", /* 0x08 */
"GenericSerialBus", /* 0x09 */
"PCC" /* 0x0A */
"SystemMemory", /* 0x00 */
"SystemIO", /* 0x01 */
"PCI_Config", /* 0x02 */
"EmbeddedControl", /* 0x03 */
"SMBus", /* 0x04 */
"SystemCMOS", /* 0x05 */
"PCIBARTarget", /* 0x06 */
"IPMI", /* 0x07 */
"GeneralPurposeIo", /* 0x08 */
"GenericSerialBus", /* 0x09 */
"PCC", /* 0x0A */
"PlatformRtMechanism" /* 0x0B */
};

View File

@ -641,11 +641,6 @@ AcpiUtUpdateObjectReference (
NextObject = Object->BufferField.BufferObj;
break;
case ACPI_TYPE_LOCAL_REGION_FIELD:
NextObject = Object->Field.RegionObj;
break;
case ACPI_TYPE_LOCAL_BANK_FIELD:
NextObject = Object->BankField.BankObj;
@ -681,6 +676,7 @@ AcpiUtUpdateObjectReference (
}
break;
case ACPI_TYPE_LOCAL_REGION_FIELD:
case ACPI_TYPE_REGION:
default: