From 1e7ed4f1a7ee7c16edb5d8e34097d3a6c1a563a3 Mon Sep 17 00:00:00 2001
From: Sascha Wildner <saw@online.de>
Date: Sun, 12 Jan 2020 09:09:40 +0100
Subject: [PATCH] WIP ACPICA upgrade to 20200110

---
 sys/contrib/dev/acpica/changes.txt            | 173 +++++++++++
 .../dev/acpica/generate/unix/Makefile.config  |   9 +
 .../acpica/generate/unix/acpinames/Makefile   |  42 +++
 .../dev/acpica/generate/unix/iasl/Makefile    |  24 +-
 .../dev/acpica/source/common/acfileio.c       |   2 +-
 .../dev/acpica/source/common/acgetline.c      |   4 +-
 sys/contrib/dev/acpica/source/common/adfile.c |   2 +-
 .../dev/acpica/source/common/adisasm.c        |   3 +-
 sys/contrib/dev/acpica/source/common/adwalk.c |  27 +-
 sys/contrib/dev/acpica/source/common/ahids.c  |   2 +-
 .../dev/acpica/source/common/ahpredef.c       |   2 +-
 .../dev/acpica/source/common/ahtable.c        |   2 +-
 .../dev/acpica/source/common/ahuuids.c        |   2 +-
 .../dev/acpica/source/common/cmfsize.c        |   2 +-
 .../dev/acpica/source/common/dmextern.c       |   2 +-
 .../dev/acpica/source/common/dmrestag.c       |   8 +-
 .../dev/acpica/source/common/dmswitch.c       |   2 +-
 .../dev/acpica/source/common/dmtable.c        |   2 +-
 .../dev/acpica/source/common/dmtables.c       |  13 +-
 .../dev/acpica/source/common/dmtbdump.c       |   2 +-
 .../dev/acpica/source/common/dmtbdump1.c      |  24 +-
 .../dev/acpica/source/common/dmtbdump2.c      |  28 +-
 .../dev/acpica/source/common/dmtbdump3.c      |   8 +-
 .../dev/acpica/source/common/dmtbinfo.c       |   2 +-
 .../dev/acpica/source/common/dmtbinfo1.c      |   2 +-
 .../dev/acpica/source/common/dmtbinfo2.c      |   2 +-
 .../dev/acpica/source/common/dmtbinfo3.c      |   2 +-
 sys/contrib/dev/acpica/source/common/getopt.c |   2 +-
 .../dev/acpica/source/compiler/aslallocate.c  |   2 +-
 .../dev/acpica/source/compiler/aslanalyze.c   |   4 +-
 .../dev/acpica/source/compiler/aslascii.c     |   2 +-
 .../dev/acpica/source/compiler/aslbtypes.c    |   3 +-
 .../dev/acpica/source/compiler/aslcache.c     |   8 +-
 .../dev/acpica/source/compiler/aslcodegen.c   |   6 +-
 .../dev/acpica/source/compiler/aslcompile.c   |  70 +++--
 .../dev/acpica/source/compiler/aslcompiler.h  |  20 +-
 .../dev/acpica/source/compiler/aslcompiler.l  |   2 +-
 .../dev/acpica/source/compiler/aslcstyle.y    |   2 +-
 .../dev/acpica/source/compiler/asldebug.c     |   4 +-
 .../dev/acpica/source/compiler/asldefine.h    |  14 +-
 .../dev/acpica/source/compiler/aslerror.c     |  56 ++--
 .../dev/acpica/source/compiler/aslexternal.c  |   2 +-
 .../dev/acpica/source/compiler/aslfileio.c    |   2 +-
 .../dev/acpica/source/compiler/aslfiles.c     |  26 +-
 .../dev/acpica/source/compiler/aslfold.c      |   2 +-
 .../dev/acpica/source/compiler/aslglobal.h    |   4 +-
 .../dev/acpica/source/compiler/aslhelp.c      |   3 +-
 .../dev/acpica/source/compiler/aslhelpers.y   |   2 +-
 .../dev/acpica/source/compiler/aslhex.c       |   2 +-
 .../dev/acpica/source/compiler/aslkeywords.y  |   4 +-
 .../dev/acpica/source/compiler/asllength.c    |  11 +-
 .../dev/acpica/source/compiler/asllisting.c   |   2 +-
 .../dev/acpica/source/compiler/asllistsup.c   |   4 +-
 .../dev/acpica/source/compiler/aslload.c      |  82 +++--
 .../dev/acpica/source/compiler/asllookup.c    |   2 +-
 .../dev/acpica/source/compiler/aslmain.c      |  32 +-
 .../dev/acpica/source/compiler/aslmap.c       |   2 +-
 .../dev/acpica/source/compiler/aslmapenter.c  |   2 +-
 .../dev/acpica/source/compiler/aslmapoutput.c |   2 +-
 .../dev/acpica/source/compiler/aslmaputils.c  |   2 +-
 .../dev/acpica/source/compiler/aslmessages.c  |  13 +-
 .../dev/acpica/source/compiler/aslmessages.h  |   9 +-
 .../dev/acpica/source/compiler/aslmethod.c    |  26 +-
 .../dev/acpica/source/compiler/aslnamesp.c    |  15 +-
 .../dev/acpica/source/compiler/asloffset.c    |   2 +-
 .../dev/acpica/source/compiler/aslopcodes.c   |   2 +-
 .../dev/acpica/source/compiler/asloperands.c  |   2 +-
 .../dev/acpica/source/compiler/aslopt.c       |   2 +-
 .../dev/acpica/source/compiler/asloptions.c   |   9 +-
 .../dev/acpica/source/compiler/aslparseop.c   |  20 +-
 .../dev/acpica/source/compiler/aslparser.y    |   2 +-
 .../dev/acpica/source/compiler/aslpld.c       |   2 +-
 .../dev/acpica/source/compiler/aslpredef.c    |   2 +-
 .../dev/acpica/source/compiler/aslprepkg.c    |   4 +-
 .../dev/acpica/source/compiler/aslprimaries.y |   2 +-
 .../dev/acpica/source/compiler/aslprintf.c    |   2 +-
 .../dev/acpica/source/compiler/aslprune.c     |   2 +-
 .../dev/acpica/source/compiler/aslresource.c  |   4 +-
 .../dev/acpica/source/compiler/aslresources.y |   2 +-
 .../dev/acpica/source/compiler/aslrestype1.c  |   2 +-
 .../dev/acpica/source/compiler/aslrestype1i.c |   2 +-
 .../dev/acpica/source/compiler/aslrestype2.c  |   5 +-
 .../dev/acpica/source/compiler/aslrestype2d.c |   2 +-
 .../dev/acpica/source/compiler/aslrestype2e.c |   2 +-
 .../dev/acpica/source/compiler/aslrestype2q.c |   2 +-
 .../dev/acpica/source/compiler/aslrestype2s.c |   3 +-
 .../dev/acpica/source/compiler/aslrestype2w.c |   2 +-
 .../dev/acpica/source/compiler/aslrules.y     |   2 +-
 .../dev/acpica/source/compiler/aslstartup.c   |   7 +-
 .../dev/acpica/source/compiler/aslstubs.c     |   2 +-
 .../dev/acpica/source/compiler/aslsupport.l   |   2 +-
 .../dev/acpica/source/compiler/aslsupport.y   |   2 +-
 .../dev/acpica/source/compiler/asltokens.y    |   2 +-
 .../dev/acpica/source/compiler/asltransform.c | 271 +++++++++++++++-
 .../dev/acpica/source/compiler/asltree.c      |   2 +-
 .../dev/acpica/source/compiler/asltypes.h     |   5 +-
 .../dev/acpica/source/compiler/asltypes.y     |   2 +-
 .../dev/acpica/source/compiler/aslutils.c     | 174 ++++++++---
 .../dev/acpica/source/compiler/asluuid.c      |   2 +-
 .../dev/acpica/source/compiler/aslwalks.c     |   2 +-
 .../dev/acpica/source/compiler/aslxref.c      |  33 +-
 .../dev/acpica/source/compiler/aslxrefout.c   |   4 +-
 .../dev/acpica/source/compiler/cvcompiler.c   |   2 +-
 .../dev/acpica/source/compiler/cvdisasm.c     |  11 +-
 .../dev/acpica/source/compiler/cvparser.c     |   3 +-
 .../dev/acpica/source/compiler/dtcompile.c    |  86 +++--
 .../dev/acpica/source/compiler/dtcompiler.h   |  51 ++-
 .../acpica/source/compiler/dtcompilerparser.l | 294 ++++++++++++++++++
 .../acpica/source/compiler/dtcompilerparser.y | 285 +++++++++++++++++
 .../dev/acpica/source/compiler/dtexpress.c    |   2 +-
 .../dev/acpica/source/compiler/dtfield.c      | 133 +++++++-
 sys/contrib/dev/acpica/source/compiler/dtio.c |  53 +---
 .../dev/acpica/source/compiler/dtparser.l     |   4 +-
 .../dev/acpica/source/compiler/dtparser.y     |   2 +-
 .../dev/acpica/source/compiler/dtsubtable.c   |   2 +-
 .../dev/acpica/source/compiler/dttable.c      |   2 +-
 .../dev/acpica/source/compiler/dttable1.c     |   2 +-
 .../dev/acpica/source/compiler/dttable2.c     |  26 +-
 .../dev/acpica/source/compiler/dttemplate.c   |   4 +-
 .../dev/acpica/source/compiler/dttemplate.h   |   2 +-
 .../dev/acpica/source/compiler/dtutils.c      |   2 +-
 .../dev/acpica/source/compiler/preprocess.h   |   2 +-
 .../dev/acpica/source/compiler/prexpress.c    |   2 +-
 .../dev/acpica/source/compiler/prmacros.c     |   4 +-
 .../dev/acpica/source/compiler/prparser.l     |   2 +-
 .../dev/acpica/source/compiler/prparser.y     |   2 +-
 .../dev/acpica/source/compiler/prscan.c       |   8 +-
 .../dev/acpica/source/compiler/prutils.c      |   2 +-
 .../source/components/debugger/dbcmds.c       |   2 +-
 .../source/components/debugger/dbconvert.c    |   6 +-
 .../source/components/debugger/dbdisply.c     |   4 +-
 .../source/components/debugger/dbexec.c       |   2 +-
 .../source/components/debugger/dbfileio.c     |   4 +-
 .../source/components/debugger/dbhistry.c     |   4 +-
 .../source/components/debugger/dbinput.c      |  48 ++-
 .../source/components/debugger/dbmethod.c     |  12 +-
 .../source/components/debugger/dbnames.c      | 123 +++++++-
 .../source/components/debugger/dbobject.c     |   4 +-
 .../source/components/debugger/dbstats.c      |  94 +++---
 .../source/components/debugger/dbtest.c       |   2 +-
 .../source/components/debugger/dbutils.c      |   2 +-
 .../source/components/debugger/dbxface.c      |   2 +-
 .../source/components/disassembler/dmbuffer.c |   2 +-
 .../source/components/disassembler/dmcstyle.c |   2 +-
 .../components/disassembler/dmdeferred.c      |   6 +-
 .../source/components/disassembler/dmnames.c  |   2 +-
 .../source/components/disassembler/dmopcode.c |   2 +-
 .../source/components/disassembler/dmresrc.c  |   3 +-
 .../source/components/disassembler/dmresrcl.c |   2 +-
 .../components/disassembler/dmresrcl2.c       |   2 +-
 .../source/components/disassembler/dmresrcs.c |   2 +-
 .../source/components/disassembler/dmutils.c  |   2 +-
 .../source/components/disassembler/dmwalk.c   |   3 +-
 .../source/components/dispatcher/dsargs.c     |   2 +-
 .../source/components/dispatcher/dscontrol.c  |   4 +-
 .../source/components/dispatcher/dsdebug.c    |   2 +-
 .../source/components/dispatcher/dsfield.c    |  13 +-
 .../source/components/dispatcher/dsinit.c     |   2 +-
 .../source/components/dispatcher/dsmethod.c   |   2 +-
 .../source/components/dispatcher/dsmthdat.c   |   2 +-
 .../source/components/dispatcher/dsobject.c   |   2 +-
 .../source/components/dispatcher/dsopcode.c   |   3 +-
 .../source/components/dispatcher/dspkginit.c  |   2 +-
 .../source/components/dispatcher/dsutils.c    |   2 +-
 .../source/components/dispatcher/dswexec.c    |   2 +-
 .../source/components/dispatcher/dswload.c    |  24 +-
 .../source/components/dispatcher/dswload2.c   |   2 +-
 .../source/components/dispatcher/dswscope.c   |   2 +-
 .../source/components/dispatcher/dswstate.c   |   2 +-
 .../acpica/source/components/events/evevent.c |   2 +-
 .../acpica/source/components/events/evglock.c |   2 +-
 .../acpica/source/components/events/evgpe.c   |  11 +-
 .../source/components/events/evgpeblk.c       |   8 +-
 .../source/components/events/evgpeinit.c      |   5 +-
 .../source/components/events/evgpeutil.c      |   2 +-
 .../source/components/events/evhandler.c      |   2 +-
 .../acpica/source/components/events/evmisc.c  |  19 +-
 .../source/components/events/evregion.c       |   6 +-
 .../source/components/events/evrgnini.c       |   3 +-
 .../acpica/source/components/events/evsci.c   |   2 +-
 .../acpica/source/components/events/evxface.c |   2 +-
 .../source/components/events/evxfevnt.c       |   2 +-
 .../acpica/source/components/events/evxfgpe.c |  29 +-
 .../source/components/events/evxfregn.c       |   2 +-
 .../source/components/executer/exconcat.c     |   2 +-
 .../source/components/executer/exconfig.c     |   6 +-
 .../source/components/executer/exconvrt.c     |   2 +-
 .../source/components/executer/excreate.c     |   2 +-
 .../source/components/executer/exdebug.c      |   2 +-
 .../source/components/executer/exdump.c       |   8 +-
 .../source/components/executer/exfield.c      |  12 +-
 .../source/components/executer/exfldio.c      |   2 +-
 .../source/components/executer/exmisc.c       |   2 +-
 .../source/components/executer/exmutex.c      |   2 +-
 .../source/components/executer/exnames.c      |   2 +-
 .../source/components/executer/exoparg1.c     |   2 +-
 .../source/components/executer/exoparg2.c     |   2 +-
 .../source/components/executer/exoparg3.c     |   2 +-
 .../source/components/executer/exoparg6.c     |   2 +-
 .../source/components/executer/exprep.c       |   2 +-
 .../source/components/executer/exregion.c     |   2 +-
 .../source/components/executer/exresnte.c     |   2 +-
 .../source/components/executer/exresolv.c     |   2 +-
 .../source/components/executer/exresop.c      |   2 +-
 .../source/components/executer/exserial.c     |   2 +-
 .../source/components/executer/exstore.c      |   2 +-
 .../source/components/executer/exstoren.c     |   2 +-
 .../source/components/executer/exstorob.c     |   2 +-
 .../source/components/executer/exsystem.c     |   2 +-
 .../source/components/executer/extrace.c      |   2 +-
 .../source/components/executer/exutils.c      |   2 +-
 .../source/components/hardware/hwacpi.c       |   2 +-
 .../source/components/hardware/hwesleep.c     |   2 +-
 .../acpica/source/components/hardware/hwgpe.c |   2 +-
 .../acpica/source/components/hardware/hwpci.c |   2 +-
 .../source/components/hardware/hwregs.c       |   2 +-
 .../source/components/hardware/hwsleep.c      |   2 +-
 .../source/components/hardware/hwtimer.c      |   2 +-
 .../source/components/hardware/hwvalid.c      |   2 +-
 .../source/components/hardware/hwxface.c      |   2 +-
 .../source/components/hardware/hwxfsleep.c    |   6 +-
 .../source/components/namespace/nsaccess.c    |   4 +-
 .../source/components/namespace/nsalloc.c     |   4 +-
 .../source/components/namespace/nsarguments.c |   2 +-
 .../source/components/namespace/nsconvert.c   |   4 +-
 .../source/components/namespace/nsdump.c      |  10 +-
 .../source/components/namespace/nsdumpdv.c    |   2 +-
 .../source/components/namespace/nseval.c      |   2 +-
 .../source/components/namespace/nsinit.c      |   2 +-
 .../source/components/namespace/nsload.c      |   2 +-
 .../source/components/namespace/nsnames.c     |   2 +-
 .../source/components/namespace/nsobject.c    |   2 +-
 .../source/components/namespace/nsparse.c     |   2 +-
 .../source/components/namespace/nspredef.c    |   2 +-
 .../source/components/namespace/nsprepkg.c    |   2 +-
 .../source/components/namespace/nsrepair.c    |   2 +-
 .../source/components/namespace/nsrepair2.c   |   4 +-
 .../source/components/namespace/nssearch.c    |   2 +-
 .../source/components/namespace/nsutils.c     |   2 +-
 .../source/components/namespace/nswalk.c      |   2 +-
 .../source/components/namespace/nsxfeval.c    |   2 +-
 .../source/components/namespace/nsxfname.c    |   4 +-
 .../source/components/namespace/nsxfobj.c     |   2 +-
 .../acpica/source/components/parser/psargs.c  |   2 +-
 .../acpica/source/components/parser/psloop.c  |   2 +-
 .../source/components/parser/psobject.c       |   8 +-
 .../source/components/parser/psopcode.c       |   2 +-
 .../source/components/parser/psopinfo.c       |   2 +-
 .../acpica/source/components/parser/psparse.c |   2 +-
 .../acpica/source/components/parser/psscope.c |   2 +-
 .../acpica/source/components/parser/pstree.c  |   2 +-
 .../acpica/source/components/parser/psutils.c |   2 +-
 .../acpica/source/components/parser/pswalk.c  |   2 +-
 .../acpica/source/components/parser/psxface.c |   2 +-
 .../source/components/resources/rsaddr.c      |   2 +-
 .../source/components/resources/rscalc.c      |   2 +-
 .../source/components/resources/rscreate.c    |   6 +-
 .../source/components/resources/rsdump.c      |   2 +-
 .../source/components/resources/rsdumpinfo.c  |   2 +-
 .../source/components/resources/rsinfo.c      |   2 +-
 .../acpica/source/components/resources/rsio.c |   2 +-
 .../source/components/resources/rsirq.c       |   2 +-
 .../source/components/resources/rslist.c      |   2 +-
 .../source/components/resources/rsmemory.c    |   2 +-
 .../source/components/resources/rsmisc.c      |   2 +-
 .../source/components/resources/rsserial.c    |   2 +-
 .../source/components/resources/rsutils.c     |   2 +-
 .../source/components/resources/rsxface.c     |   2 +-
 .../acpica/source/components/tables/tbdata.c  |   7 +-
 .../acpica/source/components/tables/tbfadt.c  |   2 +-
 .../acpica/source/components/tables/tbfind.c  |   2 +-
 .../source/components/tables/tbinstal.c       |   2 +-
 .../acpica/source/components/tables/tbprint.c |   2 +-
 .../acpica/source/components/tables/tbutils.c |   2 +-
 .../acpica/source/components/tables/tbxface.c |   2 +-
 .../source/components/tables/tbxfload.c       |  51 ++-
 .../source/components/tables/tbxfroot.c       |   2 +-
 .../source/components/utilities/utaddress.c   |   2 +-
 .../source/components/utilities/utalloc.c     |   2 +-
 .../source/components/utilities/utascii.c     |   2 +-
 .../source/components/utilities/utbuffer.c    |  64 ++--
 .../source/components/utilities/utcache.c     |   2 +-
 .../source/components/utilities/utclib.c      |   2 +-
 .../source/components/utilities/utcopy.c      |   2 +-
 .../source/components/utilities/utdebug.c     |   6 +-
 .../source/components/utilities/utdecode.c    |   2 +-
 .../source/components/utilities/utdelete.c    |   2 +-
 .../source/components/utilities/uterror.c     |   8 +-
 .../source/components/utilities/uteval.c      |   2 +-
 .../source/components/utilities/utexcep.c     |   2 +-
 .../source/components/utilities/utglobal.c    |   2 +-
 .../source/components/utilities/uthex.c       |   2 +-
 .../source/components/utilities/utids.c       |   2 +-
 .../source/components/utilities/utinit.c      |   2 +-
 .../source/components/utilities/utlock.c      |   2 +-
 .../source/components/utilities/utmath.c      |   2 +-
 .../source/components/utilities/utmisc.c      |   2 +-
 .../source/components/utilities/utmutex.c     |   2 +-
 .../source/components/utilities/utnonansi.c   |   2 +-
 .../source/components/utilities/utobject.c    |   2 +-
 .../source/components/utilities/utosi.c       |   5 +-
 .../source/components/utilities/utownerid.c   |  14 +-
 .../source/components/utilities/utpredef.c    |   2 +-
 .../source/components/utilities/utprint.c     |   2 +-
 .../source/components/utilities/utresdecode.c |   2 +-
 .../source/components/utilities/utresrc.c     |   2 +-
 .../source/components/utilities/utstate.c     |   2 +-
 .../source/components/utilities/utstring.c    |   2 +-
 .../source/components/utilities/utstrsuppt.c  |   2 +-
 .../source/components/utilities/utstrtoul64.c |   2 +-
 .../source/components/utilities/uttrack.c     |   4 +-
 .../source/components/utilities/utuuid.c      |   2 +-
 .../source/components/utilities/utxface.c     |   2 +-
 .../source/components/utilities/utxferror.c   |   2 +-
 .../source/components/utilities/utxfinit.c    |   2 +-
 .../source/components/utilities/utxfmutex.c   |   2 +-
 .../dev/acpica/source/include/acapps.h        |   4 +-
 .../dev/acpica/source/include/acbuffer.h      |   2 +-
 .../dev/acpica/source/include/acclib.h        |   2 +-
 .../dev/acpica/source/include/accommon.h      |   2 +-
 .../dev/acpica/source/include/acconfig.h      |   6 +-
 .../dev/acpica/source/include/acconvert.h     |   2 +-
 .../dev/acpica/source/include/acdebug.h       |   6 +-
 .../dev/acpica/source/include/acdisasm.h      |   2 +-
 .../dev/acpica/source/include/acdispat.h      |   2 +-
 .../dev/acpica/source/include/acevents.h      |   2 +-
 .../dev/acpica/source/include/acexcep.h       |   2 +-
 .../dev/acpica/source/include/acglobal.h      |   2 +-
 .../dev/acpica/source/include/achware.h       |   2 +-
 .../dev/acpica/source/include/acinterp.h      |   2 +-
 .../dev/acpica/source/include/aclocal.h       |   6 +-
 .../dev/acpica/source/include/acmacros.h      |   2 +-
 .../dev/acpica/source/include/acnames.h       |   2 +-
 .../dev/acpica/source/include/acnamesp.h      |   2 +-
 .../dev/acpica/source/include/acobject.h      |   5 +-
 .../dev/acpica/source/include/acopcode.h      |   2 +-
 .../dev/acpica/source/include/acoutput.h      |   2 +-
 .../dev/acpica/source/include/acparser.h      |   2 +-
 sys/contrib/dev/acpica/source/include/acpi.h  |   2 +-
 .../dev/acpica/source/include/acpiosxf.h      |   3 +-
 .../dev/acpica/source/include/acpixf.h        |  24 +-
 .../dev/acpica/source/include/acpredef.h      |   2 +-
 .../dev/acpica/source/include/acresrc.h       |   2 +-
 .../dev/acpica/source/include/acrestyp.h      |   2 +-
 .../dev/acpica/source/include/acstruct.h      |  17 +-
 .../dev/acpica/source/include/actables.h      |   2 +-
 .../dev/acpica/source/include/actbinfo.h      |   2 +-
 sys/contrib/dev/acpica/source/include/actbl.h |   2 +-
 .../dev/acpica/source/include/actbl1.h        |   2 +-
 .../dev/acpica/source/include/actbl2.h        |   2 +-
 .../dev/acpica/source/include/actbl3.h        |   2 +-
 .../dev/acpica/source/include/actypes.h       |  22 +-
 .../dev/acpica/source/include/acutils.h       |  20 +-
 .../dev/acpica/source/include/acuuid.h        |   2 +-
 .../dev/acpica/source/include/amlcode.h       |   2 +-
 .../dev/acpica/source/include/amlresrc.h      |   2 +-
 .../acpica/source/include/platform/accygwin.h |   2 +-
 .../source/include/platform/acdragonflyex.h   |   2 +-
 .../acpica/source/include/platform/acefi.h    |   2 +-
 .../acpica/source/include/platform/acefiex.h  |   2 +-
 .../acpica/source/include/platform/acenv.h    |  17 +-
 .../acpica/source/include/platform/acenvex.h  |   2 +-
 .../source/include/platform/acfreebsd.h       |   6 +-
 .../acpica/source/include/platform/acgcc.h    |   2 +-
 .../acpica/source/include/platform/acgccex.h  |   2 +-
 .../acpica/source/include/platform/achaiku.h  |   2 +-
 .../acpica/source/include/platform/acintel.h  |   2 +-
 .../acpica/source/include/platform/aclinux.h  |   2 +-
 .../source/include/platform/aclinuxex.h       |   2 +-
 .../acpica/source/include/platform/acmacosx.h |   2 +-
 .../acpica/source/include/platform/acmsvc.h   |   3 +-
 .../acpica/source/include/platform/acmsvcex.h |   2 +-
 .../acpica/source/include/platform/acnetbsd.h |   2 +-
 .../acpica/source/include/platform/acos2.h    |   2 +-
 .../acpica/source/include/platform/acqnx.h    |   2 +-
 .../acpica/source/include/platform/acwin.h    |   2 +-
 .../acpica/source/include/platform/acwin64.h  |   2 +-
 .../os_specific/service_layers/osbsdtbl.c     |   2 +-
 .../os_specific/service_layers/oslinuxtbl.c   |   2 +-
 .../os_specific/service_layers/osunixdir.c    |   2 +-
 .../os_specific/service_layers/osunixmap.c    |   2 +-
 .../os_specific/service_layers/osunixxf.c     |   2 +-
 .../os_specific/service_layers/oswindir.c     |   2 +-
 .../os_specific/service_layers/oswintbl.c     |   2 +-
 .../os_specific/service_layers/oswinxf.c      |   4 +-
 .../acpica/source/tools/acpibin/abcompare.c   |   2 +-
 .../dev/acpica/source/tools/acpibin/abmain.c  |   2 +-
 .../dev/acpica/source/tools/acpibin/acpibin.h |   2 +-
 .../acpica/source/tools/acpidump/acpidump.h   |   2 +-
 .../dev/acpica/source/tools/acpidump/apdump.c |   2 +-
 .../acpica/source/tools/acpidump/apfiles.c    |  13 +-
 .../dev/acpica/source/tools/acpidump/apmain.c |   2 +-
 .../acpica/source/tools/acpiexec/aecommon.h   |   7 +-
 .../source/tools/acpiexec/aeexception.c       |   2 +-
 .../dev/acpica/source/tools/acpiexec/aeexec.c |   4 +-
 .../acpica/source/tools/acpiexec/aehandlers.c |  15 +-
 .../acpica/source/tools/acpiexec/aeinitfile.c |  83 +++--
 .../acpica/source/tools/acpiexec/aeinstall.c  |   2 +-
 .../dev/acpica/source/tools/acpiexec/aemain.c |   4 +-
 .../acpica/source/tools/acpiexec/aeregion.c   |   2 +-
 .../acpica/source/tools/acpiexec/aetables.c   |   2 +-
 .../acpica/source/tools/acpiexec/aetables.h   |   2 +-
 .../acpica/source/tools/acpiexec/aetests.c    |  18 +-
 .../acpica/source/tools/acpihelp/acpihelp.h   |   2 +-
 .../dev/acpica/source/tools/acpihelp/ahaml.c  |   2 +-
 .../acpica/source/tools/acpihelp/ahamlops.c   |   2 +-
 .../dev/acpica/source/tools/acpihelp/ahasl.c  |   2 +-
 .../acpica/source/tools/acpihelp/ahaslkey.c   |   2 +-
 .../acpica/source/tools/acpihelp/ahaslops.c   |   2 +-
 .../acpica/source/tools/acpihelp/ahdecode.c   |   4 +-
 .../acpica/source/tools/acpihelp/ahgrammar.c  |   2 +-
 .../dev/acpica/source/tools/acpihelp/ahmain.c |   2 +-
 .../acpica/source/tools/acpinames/acpinames.h |   2 +-
 .../acpica/source/tools/acpinames/anmain.c    |   2 +-
 .../acpica/source/tools/acpinames/anstubs.c   |  18 +-
 .../acpica/source/tools/acpinames/antables.c  |   2 +-
 .../dev/acpica/source/tools/acpisrc/acpisrc.h |   2 +-
 .../dev/acpica/source/tools/acpisrc/ascase.c  |   2 +-
 .../acpica/source/tools/acpisrc/asconvrt.c    |   4 +-
 .../dev/acpica/source/tools/acpisrc/asfile.c  |   4 +-
 .../dev/acpica/source/tools/acpisrc/asmain.c  |   9 +-
 .../acpica/source/tools/acpisrc/asremove.c    |   7 +-
 .../dev/acpica/source/tools/acpisrc/astable.c |   9 +-
 .../dev/acpica/source/tools/acpisrc/asutils.c |   2 +-
 .../source/tools/acpixtract/acpixtract.c      |   2 +-
 .../source/tools/acpixtract/acpixtract.h      |   2 +-
 .../acpica/source/tools/acpixtract/axmain.c   |   2 +-
 .../acpica/source/tools/acpixtract/axutils.c  |   2 +-
 .../acpica/source/tools/efihello/efihello.c   |   2 +-
 .../acpica/source/tools/examples/examples.c   |   4 +-
 .../acpica/source/tools/examples/examples.h   |   2 +-
 .../acpica/source/tools/examples/exstubs.c    |   2 +-
 .../acpica/source/tools/examples/extables.c   |   2 +-
 sys/contrib/dev/acpica/tests/misc/badcode.asl |   2 +-
 sys/contrib/dev/acpica/tests/misc/grammar.asl |   2 +-
 .../dev/acpica/tests/templates/Makefile       |  29 +-
 usr.sbin/acpi/acpinames/Makefile              |  40 +++
 usr.sbin/acpi/iasl/Makefile                   |  19 +-
 usr.sbin/acpi/iasl/iasl.8                     |   4 +-
 439 files changed, 3031 insertions(+), 966 deletions(-)
 create mode 100644 sys/contrib/dev/acpica/source/compiler/dtcompilerparser.l
 create mode 100644 sys/contrib/dev/acpica/source/compiler/dtcompilerparser.y

diff --git a/sys/contrib/dev/acpica/changes.txt b/sys/contrib/dev/acpica/changes.txt
index 0020457b5d..dc02d248ee 100644
--- a/sys/contrib/dev/acpica/changes.txt
+++ b/sys/contrib/dev/acpica/changes.txt
@@ -1,3 +1,176 @@
+----------------------------------------
+10 January 2020. Summary of changes for version 20200110:
+
+
+1) ACPICA kernel-resident subsystem:
+
+Updated all copyrights to 2020. This affects all ACPICA source code 
+modules.
+
+
+2) iASL Compiler/Disassembler and ACPICA tools:
+
+ASL test suite (ASLTS): Updated all copyrights to 2020.
+
+Tools and utilities: Updated all signon copyrights to 2020.
+
+iASL: fix forward reference analysis for field declarations. Fixes 
+forward reference analysis for field declarations by searching the 
+parent scope for the named object when the object is not present in 
+the current scope.
+
+iASL: Improved the error output for ALREADY_EXISTS errors. Now, the 
+full pathname of the name that already exists is printed.
+
+iASL: Enhance duplicate Case() detection for buffers. Add check for 
+buffers with no initializer list (these buffers will be filled with 
+zeros at runtime.)
+
+
+----------------------------------------
+13 December 2019. Summary of changes for version 20191213:
+
+
+1) ACPICA kernel-resident subsystem:
+
+Return a Buffer object for all fields created via the CreateField
+operator. Previously, an Integer would be returned if the size of
+the field was less than or equal to the current size of an Integer.
+Although this goes against the ACPI specification, it provides
+compatibility with other ACPI implementations. Also updated the
+ASLTS test suite to reflect this new behavior.
+
+2) iASL Compiler/Disassembler and ACPICA tools:
+
+iASL: Implemented detection of (and throw an error for) duplicate
+values for Case statements within a single Switch statement. Duplicate
+Integers, Strings, and Buffers are supported.
+
+iASL: Fix error logging issue during multiple file compilation --
+Switch to the correct input file during error node creation.
+
+iASL: For duplicate named object creation, now emit an error instead
+of a warning - since this will cause a runtime error.
+
+AcpiSrc: Add unix line-ending support for non-Windows builds.
+
+iASL: Add an error condition for an attempt to create a NameString
+with > 255 NameSegs (the max allowable via the AML definition).
+
+
+----------------------------------------
+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
+
+
+1) ACPICA kernel-resident subsystem:
+
+Modified the OwnerId mechanism to allow for more Owner Ids. The previous 
+limit was 256 Ids, now it is 4096 Ids. This prevents OWNER_ID_LIMIT 
+exceptions on machines with a large number of initialization threads, 
+many CPU cores and nested initialization control methods.
+
+Introduced acpi_dispatch_gpe() as a wrapper around AcpiEvDetectGpe() for 
+checking if the given GPE (as represented by a GPE device handle and a 
+GPE number) is currently active and dispatching it (if that's the case) 
+outside of interrupt context.
+
+Table load: exit the interpreter before initializing objects within the 
+new table This prevents re-acquiring the interpreter lock when loading 
+tables
+
+Added the "Windows 2019" string to the _OSI support (version 1903). Jung-
+uk Kim
+
+Macros: removed pointer math on a null pointer. Causes warnings on some 
+compilers and/or tools. Changed ACPI_TO_POINTER to use ACPI_CAST_PTR 
+instead of using arithmetic.
+
+Fully deployed the ACPI_PRINTF_LIKE macro. This macro was not being used 
+across all "printf-like" internal functions. Also, cleanup all calls to 
+such functions (both in 32-bit mode and 64-bit mode) now that they are 
+analyzed by the gcc compiler via ACPI_PRINTF_LIKE.
+
+
+2) iASL Compiler/Disassembler and ACPICA tools:
+
+iASL: implemented a new data table compiler flex/bison front-end. This 
+change is internal and is not intended to result in changes to the 
+compiled code. This new compiler front-end can be invoked using the -tp 
+option for now, until the old mechanism is removed.
+
+ASLTS: Implemented a new data table compiler test suite. This test suite 
+generates all table templates and compile/disassemble/re-compile/binary-
+compare each file. 
+
+iASL: return -1 if AML files were not generated due to compiler errors
+
+iASL: added a warning on use of the now-legacy ASL Processor () keyword.
+
+iASL: added an error on _UID object declaration that returns a String 
+within a Processor () declaration. A _UID for a processor must be an 
+Integer.
+
+iASL: added a null terminator to name strings that consist only of 
+multiple parent prefixes (^)
+
+iASL: added support to compile both ASL and data table files in a single 
+command.
+
+Updated the tool generation project files that were recently migrated to 
+MSVC 2017 to eliminate all new warnings. The new project files appear in 
+the directory \acpica\generate\msvc2017. This change effectively 
+deprecates the older project files in \acpica\generate\msvc9.
+
+
 ----------------------------------------
 03 July 2019. Summary of changes for version 20190703:
 
diff --git a/sys/contrib/dev/acpica/generate/unix/Makefile.config b/sys/contrib/dev/acpica/generate/unix/Makefile.config
index a8f9fed04e..c28e8a9b19 100644
--- a/sys/contrib/dev/acpica/generate/unix/Makefile.config
+++ b/sys/contrib/dev/acpica/generate/unix/Makefile.config
@@ -147,6 +147,14 @@ ACPICA_HEADERS = \
 #
 OPT_CFLAGS ?= $(CWARNINGFLAGS)
 
+#
+# Debug flags
+#
+ifeq ($(DEBUG),TRUE)
+CFLAGS +=-g
+LDFLAGS +=-g
+endif
+
 #
 # Common compiler flags
 # The _GNU_SOURCE symbol is required for many hosts.
@@ -272,3 +280,4 @@ MFLAGS=     -P -I$(ASL_COMPILER)
 
 LEX=        flex
 LFLAGS +=   -i -s
+DLFLAGS +=   -i
diff --git a/sys/contrib/dev/acpica/generate/unix/acpinames/Makefile b/sys/contrib/dev/acpica/generate/unix/acpinames/Makefile
index db87d8840e..90d3afe29e 100644
--- a/sys/contrib/dev/acpica/generate/unix/acpinames/Makefile
+++ b/sys/contrib/dev/acpica/generate/unix/acpinames/Makefile
@@ -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
diff --git a/sys/contrib/dev/acpica/generate/unix/iasl/Makefile b/sys/contrib/dev/acpica/generate/unix/iasl/Makefile
index 23ca16b39d..47ea73caba 100644
--- a/sys/contrib/dev/acpica/generate/unix/iasl/Makefile
+++ b/sys/contrib/dev/acpica/generate/unix/iasl/Makefile
@@ -33,12 +33,15 @@ vpath %.c \
 HEADERS = \
     $(wildcard $(ASL_COMPILER)/*.h)\
     $(OBJDIR)/aslcompiler.y.h\
+    $(OBJDIR)/dtcompilerparser.y.h\
     $(OBJDIR)/dtparser.y.h\
     $(OBJDIR)/prparser.y.h
 
 OBJECTS = \
 	$(OBJDIR)/aslcompilerlex.o\
 	$(OBJDIR)/aslcompilerparse.o\
+	$(OBJDIR)/dtcompilerparserlex.o\
+	$(OBJDIR)/dtcompilerparserparse.o\
 	$(OBJDIR)/dtparserlex.o\
 	$(OBJDIR)/dtparserparse.o\
 	$(OBJDIR)/prparserlex.o\
@@ -251,11 +254,14 @@ INTERMEDIATES = \
 	$(OBJDIR)/aslcompilerparse.c\
 	$(OBJDIR)/dtparserlex.c\
 	$(OBJDIR)/dtparserparse.c\
+	$(OBJDIR)/dtcompilerparserlex.c\
+	$(OBJDIR)/dtcompilerparserparse.c\
 	$(OBJDIR)/prparserlex.c\
 	$(OBJDIR)/prparserparse.c
 
 MISC = \
 	$(OBJDIR)/aslcompiler.y.h\
+	$(OBJDIR)/dtcompilerparser.y.h\
 	$(OBJDIR)/dtparser.y.h\
 	$(OBJDIR)/prparser.y.h
 
@@ -322,9 +328,17 @@ $(OBJDIR)/aslcompilerparse.c $(OBJDIR)/aslcompiler.y.h : $(OBJDIR)/aslcompiler.y
 	@echo "- " $(YACC) "       "$<
 	@$(call safe_yacc,AslCompiler,$<,$@)
 
+$(OBJDIR)/dtcompilerparserlex.c :      $(ASL_COMPILER)/dtcompilerparser.l $(OBJDIR)/dtcompilerparser.y.h
+	@echo "- " $(LEX) "        "$<
+	@$(LEX) $(DLFLAGS) -PDtCompilerParser -o$@ $<
+
+$(OBJDIR)/dtcompilerparserparse.c $(OBJDIR)/dtcompilerparser.y.h :       $(ASL_COMPILER)/dtcompilerparser.y
+	@echo "- " $(YACC) "       "$<
+	@$(call safe_yacc,DtCompilerParser,$<,$@)
+
 $(OBJDIR)/dtparserlex.c :      $(ASL_COMPILER)/dtparser.l $(OBJDIR)/dtparser.y.h
 	@echo "- " $(LEX) "        "$<
-	@$(LEX) $(LFLAGS) -PDtParser -o$@ $<
+	@$(LEX) $(DLFLAGS) -PDtParser -o$@ $<
 
 $(OBJDIR)/dtparserparse.c $(OBJDIR)/dtparser.y.h :       $(ASL_COMPILER)/dtparser.y
 	@echo "- " $(YACC) "       "$<
@@ -352,6 +366,14 @@ $(OBJDIR)/aslcompilerparse.o : $(OBJDIR)/aslcompilerparse.c
 	@echo "- " "Intermediate" $<
 	@$(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
 
+$(OBJDIR)/dtcompilerparserlex.o :      $(OBJDIR)/dtcompilerparserlex.c
+	@echo "- " "Intermediate" $<
+	@$(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
+
+$(OBJDIR)/dtcompilerparserparse.o :    $(OBJDIR)/dtcompilerparserparse.c
+	@echo "- " "Intermediate" $<
+	@$(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
+
 $(OBJDIR)/dtparserlex.o :      $(OBJDIR)/dtparserlex.c
 	@echo "- " "Intermediate" $<
 	@$(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
diff --git a/sys/contrib/dev/acpica/source/common/acfileio.c b/sys/contrib/dev/acpica/source/common/acfileio.c
index 74f2857791..64339c6e51 100644
--- a/sys/contrib/dev/acpica/source/common/acfileio.c
+++ b/sys/contrib/dev/acpica/source/common/acfileio.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/common/acgetline.c b/sys/contrib/dev/acpica/source/common/acgetline.c
index 702d046b27..cf9d779a7f 100644
--- a/sys/contrib/dev/acpica/source/common/acgetline.c
+++ b/sys/contrib/dev/acpica/source/common/acgetline.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -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:
diff --git a/sys/contrib/dev/acpica/source/common/adfile.c b/sys/contrib/dev/acpica/source/common/adfile.c
index 44f7b2836d..f5063a3fcc 100644
--- a/sys/contrib/dev/acpica/source/common/adfile.c
+++ b/sys/contrib/dev/acpica/source/common/adfile.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/common/adisasm.c b/sys/contrib/dev/acpica/source/common/adisasm.c
index c73208f68d..60bd5fda83 100644
--- a/sys/contrib/dev/acpica/source/common/adisasm.c
+++ b/sys/contrib/dev/acpica/source/common/adisasm.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -746,7 +746,6 @@ AdDoExternalFileList (
             {
                 ExternalFileList = ExternalFileList->Next;
                 GlobalStatus = AE_TYPE;
-                Status = AE_OK;
                 continue;
             }
 
diff --git a/sys/contrib/dev/acpica/source/common/adwalk.c b/sys/contrib/dev/acpica/source/common/adwalk.c
index d9bd4d9e9a..008c95c221 100644
--- a/sys/contrib/dev/acpica/source/common/adwalk.c
+++ b/sys/contrib/dev/acpica/source/common/adwalk.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -480,6 +480,7 @@ AcpiDmDumpDescending (
 {
     ACPI_OP_WALK_INFO       *Info = Context;
     char                    *Path;
+    ACPI_STATUS             Status;
 
 
     if (!Op)
@@ -522,10 +523,18 @@ AcpiDmDumpDescending (
 
         if (Op->Common.Value.String)
         {
-            AcpiNsExternalizeName (ACPI_UINT32_MAX, Op->Common.Value.String,
+            Status = AcpiNsExternalizeName (ACPI_UINT32_MAX, Op->Common.Value.String,
                 NULL, &Path);
-            AcpiOsPrintf ("%s %p", Path, Op->Common.Node);
-            ACPI_FREE (Path);
+            if (ACPI_SUCCESS (Status))
+            {
+                AcpiOsPrintf ("%s %p", Path, Op->Common.Node);
+                ACPI_FREE (Path);
+            }
+            else
+            {
+                AcpiOsPrintf ("Could not externalize pathname for node [%4.4s]",
+                    Op->Common.Node->Name.Ascii);
+            }
         }
         else
         {
@@ -592,7 +601,9 @@ AcpiDmFindOrphanDescending (
         return (AE_OK);
     }
 
+#ifdef ACPI_UNDER_DEVELOPMENT
     OpInfo = AcpiPsGetOpcodeInfo (Op->Common.AmlOpcode);
+#endif
 
     switch (Op->Common.AmlOpcode)
     {
@@ -830,9 +841,9 @@ AcpiDmLoadDescendingOp (
          * 2) Not the root node
          * 3) Not a node created by Scope
          */
-
-        if (!PreDefined && Node != AcpiGbl_RootNode &&
-            Op->Common.AmlOpcode != AML_SCOPE_OP)
+        if (!PreDefined &&
+            (Node != AcpiGbl_RootNode) &&
+            (Op->Common.AmlOpcode != AML_SCOPE_OP))
         {
             Node->OwnerId = WalkState->OwnerId;
         }
@@ -1091,7 +1102,7 @@ AcpiDmCommonDescendingOp (
     /* Switch/Case conversion */
 
     Status = AcpiDmProcessSwitch (Op);
-    return (AE_OK);
+    return (Status);
 }
 
 
diff --git a/sys/contrib/dev/acpica/source/common/ahids.c b/sys/contrib/dev/acpica/source/common/ahids.c
index f71f7f7bc6..38515a0128 100644
--- a/sys/contrib/dev/acpica/source/common/ahids.c
+++ b/sys/contrib/dev/acpica/source/common/ahids.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/common/ahpredef.c b/sys/contrib/dev/acpica/source/common/ahpredef.c
index a76148dc9e..be1b37abee 100644
--- a/sys/contrib/dev/acpica/source/common/ahpredef.c
+++ b/sys/contrib/dev/acpica/source/common/ahpredef.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/common/ahtable.c b/sys/contrib/dev/acpica/source/common/ahtable.c
index 599c53a899..25fd525e02 100644
--- a/sys/contrib/dev/acpica/source/common/ahtable.c
+++ b/sys/contrib/dev/acpica/source/common/ahtable.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/common/ahuuids.c b/sys/contrib/dev/acpica/source/common/ahuuids.c
index c9a390ba90..64d45e3f70 100644
--- a/sys/contrib/dev/acpica/source/common/ahuuids.c
+++ b/sys/contrib/dev/acpica/source/common/ahuuids.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/common/cmfsize.c b/sys/contrib/dev/acpica/source/common/cmfsize.c
index 2b333a4ff9..553e9a9ebd 100644
--- a/sys/contrib/dev/acpica/source/common/cmfsize.c
+++ b/sys/contrib/dev/acpica/source/common/cmfsize.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/common/dmextern.c b/sys/contrib/dev/acpica/source/common/dmextern.c
index 8ac2c60cc2..e9d81b6307 100644
--- a/sys/contrib/dev/acpica/source/common/dmextern.c
+++ b/sys/contrib/dev/acpica/source/common/dmextern.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/common/dmrestag.c b/sys/contrib/dev/acpica/source/common/dmrestag.c
index 8ab92d71f1..fe6e74146d 100644
--- a/sys/contrib/dev/acpica/source/common/dmrestag.c
+++ b/sys/contrib/dev/acpica/source/common/dmrestag.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -833,8 +833,12 @@ AcpiGetTagPathname (
 
     /* Internalize the namepath to AML format */
 
-    AcpiNsInternalizeName (Pathname, &InternalPath);
+    Status = AcpiNsInternalizeName (Pathname, &InternalPath);
     ACPI_FREE (Pathname);
+    if (ACPI_FAILURE (Status))
+    {
+        return (NULL);
+    }
 
     /* Update the Op with the symbol */
 
diff --git a/sys/contrib/dev/acpica/source/common/dmswitch.c b/sys/contrib/dev/acpica/source/common/dmswitch.c
index 8e43e17df3..5c49de102f 100644
--- a/sys/contrib/dev/acpica/source/common/dmswitch.c
+++ b/sys/contrib/dev/acpica/source/common/dmswitch.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/common/dmtable.c b/sys/contrib/dev/acpica/source/common/dmtable.c
index 6b67662bf0..02220d261c 100644
--- a/sys/contrib/dev/acpica/source/common/dmtable.c
+++ b/sys/contrib/dev/acpica/source/common/dmtable.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/common/dmtables.c b/sys/contrib/dev/acpica/source/common/dmtables.c
index f957950961..3bc9c07a72 100644
--- a/sys/contrib/dev/acpica/source/common/dmtables.c
+++ b/sys/contrib/dev/acpica/source/common/dmtables.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -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);
 }
@@ -443,8 +443,8 @@ AdGetLocalTables (
     /* Get the DSDT via table override */
 
     ACPI_MOVE_32_TO_32 (TableHeader.Signature, ACPI_SIG_DSDT);
-    AcpiOsTableOverride (&TableHeader, &NewTable);
-    if (!NewTable)
+    Status = AcpiOsTableOverride (&TableHeader, &NewTable);
+    if (ACPI_FAILURE (Status) || !NewTable)
     {
         fprintf (stderr, "Could not obtain DSDT\n");
         return (AE_NO_ACPI_TABLES);
@@ -508,6 +508,8 @@ AdParseTable (
     AmlStart = ((UINT8 *) Table + sizeof (ACPI_TABLE_HEADER));
     ASL_CV_INIT_FILETREE(Table, AmlStart, AmlLength);
 
+    AcpiUtSetIntegerWidth (Table->Revision);
+
     /* Create the root object */
 
     AcpiGbl_ParseOpRoot = AcpiPsCreateScopeOp (AmlStart);
@@ -543,7 +545,6 @@ AdParseTable (
     }
 
     WalkState->ParseFlags &= ~ACPI_PARSE_DELETE_TREE;
-    WalkState->ParseFlags |= ACPI_PARSE_DISASSEMBLE;
 
     Status = AcpiPsParseAml (WalkState);
     if (ACPI_FAILURE (Status))
@@ -601,7 +602,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 */
diff --git a/sys/contrib/dev/acpica/source/common/dmtbdump.c b/sys/contrib/dev/acpica/source/common/dmtbdump.c
index 294e4fe690..d62cfdbd39 100644
--- a/sys/contrib/dev/acpica/source/common/dmtbdump.c
+++ b/sys/contrib/dev/acpica/source/common/dmtbdump.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/common/dmtbdump1.c b/sys/contrib/dev/acpica/source/common/dmtbdump1.c
index c363ac8d5f..0219dd2d3c 100644
--- a/sys/contrib/dev/acpica/source/common/dmtbdump1.c
+++ b/sys/contrib/dev/acpica/source/common/dmtbdump1.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -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;
diff --git a/sys/contrib/dev/acpica/source/common/dmtbdump2.c b/sys/contrib/dev/acpica/source/common/dmtbdump2.c
index a2d09b3127..95eea6d993 100644
--- a/sys/contrib/dev/acpica/source/common/dmtbdump2.c
+++ b/sys/contrib/dev/acpica/source/common/dmtbdump2.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -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 @@ AcpiDmDumpIort (
         /* Point to next node subtable */
 
         Offset += IortNode->Length;
-        IortNode = ACPI_ADD_PTR (ACPI_IORT_NODE, IortNode, IortNode->Length);
     }
 }
 
@@ -871,7 +878,7 @@ AcpiDmDumpMcfg (
         if (Offset + sizeof (ACPI_MCFG_ALLOCATION) > Table->Length)
         {
             AcpiOsPrintf ("Warning: there are %u invalid trailing bytes\n",
-                sizeof (ACPI_MCFG_ALLOCATION) - (Offset - Table->Length));
+                (UINT32) sizeof (ACPI_MCFG_ALLOCATION) - (Offset - Table->Length));
             return;
         }
 
@@ -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;
 
diff --git a/sys/contrib/dev/acpica/source/common/dmtbdump3.c b/sys/contrib/dev/acpica/source/common/dmtbdump3.c
index 0b9863cce5..7c6d2848ee 100644
--- a/sys/contrib/dev/acpica/source/common/dmtbdump3.c
+++ b/sys/contrib/dev/acpica/source/common/dmtbdump3.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -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;
 
diff --git a/sys/contrib/dev/acpica/source/common/dmtbinfo.c b/sys/contrib/dev/acpica/source/common/dmtbinfo.c
index 1f1a3c7a80..ed9dd1bcff 100644
--- a/sys/contrib/dev/acpica/source/common/dmtbinfo.c
+++ b/sys/contrib/dev/acpica/source/common/dmtbinfo.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/common/dmtbinfo1.c b/sys/contrib/dev/acpica/source/common/dmtbinfo1.c
index 7d7155d376..9661f495a1 100644
--- a/sys/contrib/dev/acpica/source/common/dmtbinfo1.c
+++ b/sys/contrib/dev/acpica/source/common/dmtbinfo1.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/common/dmtbinfo2.c b/sys/contrib/dev/acpica/source/common/dmtbinfo2.c
index 1371af7d48..79802830c6 100644
--- a/sys/contrib/dev/acpica/source/common/dmtbinfo2.c
+++ b/sys/contrib/dev/acpica/source/common/dmtbinfo2.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/common/dmtbinfo3.c b/sys/contrib/dev/acpica/source/common/dmtbinfo3.c
index d143bc8772..07a26c2b3c 100644
--- a/sys/contrib/dev/acpica/source/common/dmtbinfo3.c
+++ b/sys/contrib/dev/acpica/source/common/dmtbinfo3.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/common/getopt.c b/sys/contrib/dev/acpica/source/common/getopt.c
index 76ad11e137..ca8e04a10a 100644
--- a/sys/contrib/dev/acpica/source/common/getopt.c
+++ b/sys/contrib/dev/acpica/source/common/getopt.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/aslallocate.c b/sys/contrib/dev/acpica/source/compiler/aslallocate.c
index c3e4af467d..e0187bfc48 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslallocate.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslallocate.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/aslanalyze.c b/sys/contrib/dev/acpica/source/compiler/aslanalyze.c
index 58da5e2eec..9139f4e979 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslanalyze.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslanalyze.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -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;
 
     /*
diff --git a/sys/contrib/dev/acpica/source/compiler/aslascii.c b/sys/contrib/dev/acpica/source/compiler/aslascii.c
index 10682cdbf5..c4d250eda9 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslascii.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslascii.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/aslbtypes.c b/sys/contrib/dev/acpica/source/compiler/aslbtypes.c
index ed607f3bee..796b61acc0 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslbtypes.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslbtypes.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -474,7 +474,6 @@ AnFormatBtype (
             strcat (Buffer, "|");
         }
 
-        First = FALSE;
         strcat (Buffer, "Resource");
     }
 }
diff --git a/sys/contrib/dev/acpica/source/compiler/aslcache.c b/sys/contrib/dev/acpica/source/compiler/aslcache.c
index f8e7c658a8..3de3bbf532 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslcache.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslcache.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -421,7 +421,7 @@ UtDeleteLocalCaches (
     DbgPrint (ASL_DEBUG_OUTPUT,
         "%u ParseOps, Buffer size: %u ops (%u bytes), %u Buffers\n",
         AslGbl_ParseOpCount, ASL_PARSEOP_CACHE_SIZE,
-        (sizeof (ACPI_PARSE_OBJECT) * ASL_PARSEOP_CACHE_SIZE), BufferCount);
+        ((UINT32) sizeof (ACPI_PARSE_OBJECT) * ASL_PARSEOP_CACHE_SIZE), BufferCount);
 
     /* Reset cache globals */
 
@@ -445,7 +445,7 @@ UtDeleteLocalCaches (
     DbgPrint (ASL_DEBUG_OUTPUT,
         "%u Fields, Buffer size: %u fields (%u bytes), %u Buffers\n",
         AslGbl_FieldCount, ASL_FIELD_CACHE_SIZE,
-        (sizeof (DT_FIELD) * ASL_FIELD_CACHE_SIZE), BufferCount);
+        ((UINT32) sizeof (DT_FIELD) * ASL_FIELD_CACHE_SIZE), BufferCount);
 
     /* Reset cache globals */
 
@@ -468,7 +468,7 @@ UtDeleteLocalCaches (
     DbgPrint (ASL_DEBUG_OUTPUT,
         "%u Subtables, Buffer size: %u subtables (%u bytes), %u Buffers\n",
         AslGbl_SubtableCount, ASL_SUBTABLE_CACHE_SIZE,
-        (sizeof (DT_SUBTABLE) * ASL_SUBTABLE_CACHE_SIZE), BufferCount);
+        ((UINT32) sizeof (DT_SUBTABLE) * ASL_SUBTABLE_CACHE_SIZE), BufferCount);
 
     /* Reset cache globals */
 
diff --git a/sys/contrib/dev/acpica/source/compiler/aslcodegen.c b/sys/contrib/dev/acpica/source/compiler/aslcodegen.c
index 54b5ac2cf1..61e0673579 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslcodegen.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslcodegen.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -618,8 +618,8 @@ CgWriteTableHeader (
         Op->Asl.AmlSubtreeLength +=
             strlen (AslGbl_ParseTreeRoot->Asl.Filename) + 3;
 
-        CvDbgPrint ("     Length: %lu\n",
-            strlen (AslGbl_ParseTreeRoot->Asl.Filename) + 3);
+        CvDbgPrint ("     Length: %u\n",
+            (UINT32) strlen (AslGbl_ParseTreeRoot->Asl.Filename) + 3);
 
         if (Op->Asl.CommentList)
         {
diff --git a/sys/contrib/dev/acpica/source/compiler/aslcompile.c b/sys/contrib/dev/acpica/source/compiler/aslcompile.c
index 5f152dc94d..0f14556037 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslcompile.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslcompile.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -220,6 +220,7 @@ CmDoCompile (
         PrDoPreprocess ();
         AslGbl_CurrentLineNumber = 1;
         AslGbl_LogicalLineNumber = 1;
+        AslGbl_CurrentLineOffset = 0;
 
         if (AslGbl_PreprocessOnly)
         {
@@ -282,25 +283,6 @@ CmDoCompile (
 
     LsDumpParseTree ();
 
-    OpcGetIntegerWidth (AslGbl_ParseTreeRoot->Asl.Child);
-    UtEndEvent (Event);
-
-    /* Pre-process parse tree for any operator transforms */
-
-    Event = UtBeginEvent ("Parse tree transforms");
-    DbgPrint (ASL_DEBUG_OUTPUT, "\nParse tree transforms\n\n");
-    TrWalkParseTree (AslGbl_ParseTreeRoot, ASL_WALK_VISIT_TWICE,
-        TrAmlTransformWalkBegin, TrAmlTransformWalkEnd, NULL);
-    UtEndEvent (Event);
-
-    /* Generate AML opcodes corresponding to the parse tokens */
-
-    Event = UtBeginEvent ("Generate AML opcodes");
-    DbgPrint (ASL_DEBUG_OUTPUT, "Generating AML opcodes\n\n");
-    TrWalkParseTree (AslGbl_ParseTreeRoot, ASL_WALK_VISIT_UPWARD, NULL,
-        OpcAmlOpcodeWalk, NULL);
-    UtEndEvent (Event);
-
     UtEndEvent (FullCompile);
     return (AE_OK);
 
@@ -331,6 +313,25 @@ CmDoAslMiddleAndBackEnd (
     ACPI_STATUS             Status;
 
 
+    OpcGetIntegerWidth (AslGbl_ParseTreeRoot->Asl.Child);
+
+    /* Pre-process parse tree for any operator transforms */
+
+    Event = UtBeginEvent ("Parse tree transforms");
+    DbgPrint (ASL_DEBUG_OUTPUT, "\nParse tree transforms\n\n");
+    TrWalkParseTree (AslGbl_ParseTreeRoot, ASL_WALK_VISIT_TWICE,
+        TrAmlTransformWalkBegin, TrAmlTransformWalkEnd, NULL);
+    UtEndEvent (Event);
+
+    /* Generate AML opcodes corresponding to the parse tokens */
+
+    Event = UtBeginEvent ("Generate AML opcodes");
+    DbgPrint (ASL_DEBUG_OUTPUT, "Generating AML opcodes\n\n");
+    TrWalkParseTree (AslGbl_ParseTreeRoot, ASL_WALK_VISIT_UPWARD,
+        NULL, OpcAmlOpcodeWalk, NULL);
+    UtEndEvent (Event);
+
+
     /* Interpret and generate all compile-time constants */
 
     Event = UtBeginEvent ("Constant folding via AML interpreter");
@@ -853,10 +854,11 @@ CmDumpAllEvents (
  *
  ******************************************************************************/
 
-void
+int
 CmCleanupAndExit (
     void)
 {
+    int                     Status = 0;
     BOOLEAN                 DeleteAmlFile = FALSE;
     ASL_GLOBAL_FILE_NODE    *CurrentFileNode = AslGbl_FilesList;
 
@@ -915,20 +917,38 @@ CmCleanupAndExit (
     UtDisplaySummary (ASL_FILE_STDOUT);
 
     /*
-     * We will delete the AML file if there are errors and the
-     * force AML output option has not been used.
+     * Delete the AML file if there are errors and the force AML output option
+     * (-f) has not been used.
+     *
+     * Return -1 as a status of the compiler if no AML files are generated. If
+     * the AML file is generated in the presence of errors, return 0. In the
+     * latter case, the errors were ignored by the user so the compilation is
+     * considered successful.
      */
-    if (AslGbl_ParserErrorDetected || AslGbl_PreprocessOnly || ((AslGbl_ExceptionCount[ASL_ERROR] > 0) &&
+    if (AslGbl_ParserErrorDetected || AslGbl_PreprocessOnly ||
+        ((AslGbl_ExceptionCount[ASL_ERROR] > 0) &&
         (!AslGbl_IgnoreErrors) &&
         AslGbl_Files[ASL_FILE_AML_OUTPUT].Handle))
     {
         DeleteAmlFile = TRUE;
+        Status = -1;
     }
 
     /* Close all open files */
 
     while (CurrentFileNode)
     {
+        /*
+         * Set the program return status based on file errors. If there are any
+         * errors and during compilation, the command is not considered
+         * successful.
+         */
+        if (Status != -1 && !AslGbl_IgnoreErrors &&
+            CurrentFileNode->ParserErrorDetected)
+        {
+            Status = -1;
+        }
+
         switch  (FlSwitchFileSet (CurrentFileNode->Files[ASL_FILE_INPUT].Filename))
         {
             case SWITCH_TO_SAME_FILE:
@@ -952,6 +972,8 @@ CmCleanupAndExit (
     {
         UtDeleteLocalCaches ();
     }
+
+    return (Status);
 }
 
 
diff --git a/sys/contrib/dev/acpica/source/compiler/aslcompiler.h b/sys/contrib/dev/acpica/source/compiler/aslcompiler.h
index 5c4bdc1773..e82a91e466 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslcompiler.h
+++ b/sys/contrib/dev/acpica/source/compiler/aslcompiler.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -266,7 +266,7 @@ void
 CmDoOutputFiles (
     void);
 
-void
+int
 CmCleanupAndExit (
     void);
 
@@ -1052,6 +1052,7 @@ void
 FlCloseFile (
     UINT32                  FileId);
 
+ACPI_PRINTF_LIKE (2)
 void
 FlPrintFile (
     UINT32                  FileId,
@@ -1195,6 +1196,7 @@ OtXrefWalkPart1 (
 /*
  * aslutils - common compiler utilities
  */
+ACPI_PRINTF_LIKE(2)
 void
 DbgPrint (
     UINT32                  Type,
@@ -1288,6 +1290,10 @@ UtInternalizeName (
     char                    *ExternalName,
     char                    **ConvertedName);
 
+BOOLEAN
+UtNameContainsAllPrefix (
+    ACPI_PARSE_OBJECT       *Op);
+
 void
 UtAttachNamepathToOwner (
     ACPI_PARSE_OBJECT       *Op,
@@ -1303,6 +1309,15 @@ UINT64
 UtDoConstant (
     char                    *String);
 
+char *
+AcpiUtStrdup (
+    char                    *String);
+
+char *
+AcpiUtStrcat (
+    char                    *String1,
+    char                    *String2);
+
 
 /*
  * asluuid - UUID support
@@ -1604,6 +1619,7 @@ DtCreateTemplates (
 /*
  * ASL/ASL+ converter debug
  */
+ACPI_PRINTF_LIKE (1)
 void
 CvDbgPrint (
     char                    *Fmt,
diff --git a/sys/contrib/dev/acpica/source/compiler/aslcompiler.l b/sys/contrib/dev/acpica/source/compiler/aslcompiler.l
index 26c221e588..797f989915 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslcompiler.l
+++ b/sys/contrib/dev/acpica/source/compiler/aslcompiler.l
@@ -9,7 +9,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/aslcstyle.y b/sys/contrib/dev/acpica/source/compiler/aslcstyle.y
index 3d8289e1ab..6e73c7033f 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslcstyle.y
+++ b/sys/contrib/dev/acpica/source/compiler/aslcstyle.y
@@ -9,7 +9,7 @@ NoEcho('
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/asldebug.c b/sys/contrib/dev/acpica/source/compiler/asldebug.c
index 2c1dab79c7..9c02257e3f 100644
--- a/sys/contrib/dev/acpica/source/compiler/asldebug.c
+++ b/sys/contrib/dev/acpica/source/compiler/asldebug.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -239,7 +239,7 @@ UtDumpIntegerOp (
     case 8: /* Dword */
 
         DbgPrint (ASL_TREE_OUTPUT,
-            "%*.*X", IntegerLength, IntegerLength, Op->Asl.Value.Integer);
+            "%*.*X", IntegerLength, IntegerLength, (UINT32) Op->Asl.Value.Integer);
         break;
 
     case 16: /* Qword and Integer */
diff --git a/sys/contrib/dev/acpica/source/compiler/asldefine.h b/sys/contrib/dev/acpica/source/compiler/asldefine.h
index c511187529..12a4cdd560 100644
--- a/sys/contrib/dev/acpica/source/compiler/asldefine.h
+++ b/sys/contrib/dev/acpica/source/compiler/asldefine.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -222,11 +222,11 @@
 
 /* Misc */
 
-#define ASL_EXTERNAL_METHOD         255
-#define ASL_ABORT                   TRUE
-#define ASL_NO_ABORT                FALSE
-#define ASL_EOF                     ACPI_UINT32_MAX
-#define ASL_IGNORE_LINE            (ACPI_UINT32_MAX -1)
+#define ASL_EXTERNAL_METHOD_UNKNOWN_PARAMS  255
+#define ASL_ABORT                           TRUE
+#define ASL_NO_ABORT                        FALSE
+#define ASL_EOF                             ACPI_UINT32_MAX
+#define ASL_IGNORE_LINE                     (ACPI_UINT32_MAX -1)
 
 
 /* Listings */
@@ -290,7 +290,7 @@
 
 #define ASL_PARSE_TREE_DEBUG2 \
     " %08X %04X %04X %01X     %04X  %04X %05X  %05X   "\
-    "%08X %08X %08X %08X %08X %08X %04X  %02d  %5d %5d %5d %5d"
+    "%8p %8p %8p %8p %08X %08X %04X  %02d  %5d %5d %5d %5d"
 
 /*
  * Macros for ASL/ASL+ converter
diff --git a/sys/contrib/dev/acpica/source/compiler/aslerror.c b/sys/contrib/dev/acpica/source/compiler/aslerror.c
index ae1f38acfe..1931fffcf1 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslerror.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslerror.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -335,7 +335,7 @@ AeAddToErrorLog (
  * PARAMETERS:  OutputFile      - Output file
  *              Enode           - Error node to print
  *              PrematureEOF    - True = PrematureEOF has been reached
- *              Total           - Total legth of line
+ *              Total           - Total length of line
  *
  * RETURN:      None
  *
@@ -445,7 +445,7 @@ AeDecodeErrorMessageId (
  * PARAMETERS:  OutputFile      - Output file
  *              Enode           - Error node to print
  *              PrematureEOF    - True = PrematureEOF has been reached
- *              Total           - amount of characters printed so far
+ *              Total           - Number of characters printed so far
  *
  *
  * RETURN:      Status
@@ -527,6 +527,7 @@ AePrintErrorSourceLine (
                 fprintf (OutputFile, "\n");
                 return AE_OK;
             }
+
             /*
              * Seek to the offset in the combined source file,
              * read the source line, and write it to the output.
@@ -550,7 +551,8 @@ AePrintErrorSourceLine (
                     AslGbl_Files[ASL_FILE_SOURCE_OUTPUT].Filename);
                 return AE_IO_ERROR;
             }
-                /* Read/write the source line, up to the maximum line length */
+
+            /* Read/write the source line, up to the maximum line length */
 
             while (RActual && SourceByte && (SourceByte != '\n'))
             {
@@ -732,7 +734,7 @@ AePrintException (
  *
  * RETURN:      None
  *
- * DESCRIPTION: Print the contents of an error nodes. This function is tailored
+ * DESCRIPTION: Print the contents of an error node. This function is tailored
  *              to print error nodes that are SubErrors within ASL_ERROR_MSG
  *
  ******************************************************************************/
@@ -749,7 +751,14 @@ AePrintSubError (
 
     MainMessage = AeDecodeMessageId (Enode->MessageId);
 
-    fprintf (OutputFile, "    %s%s", MainMessage, "\n    ");
+    fprintf (OutputFile, "    %s", MainMessage);
+
+    if (Enode->Message)
+    {
+        fprintf (OutputFile, "(%s)", Enode->Message);
+    }
+
+    fprintf (OutputFile, "\n    ");
     (void) AePrintErrorSourceLine (OutputFile, Enode, &PrematureEOF, &Total);
     fprintf (OutputFile, "\n");
 }
@@ -795,8 +804,8 @@ AePrintErrorLog (
  *              LogicalLineNumber   - Cumulative line number
  *              LogicalByteOffset   - Byte offset in source file
  *              Column              - Column in current line
- *              Filename            - source filename
- *              ExtraMessage        - additional error message
+ *              Filename            - Source filename
+ *              ExtraMessage        - Additional error message
  *              SourceLine          - Line of error source code
  *              SubError            - SubError of this InputEnode
  *
@@ -863,10 +872,17 @@ static void AslInitEnode (
             Enode->FilenameLength = 6;
         }
 
-        FileNode = FlGetCurrentFileNode ();
+        /*
+         * Attempt to get the file node of the filename listed in the parse
+         * node. If the name doesn't exist in the global file node, it is
+         * because the file is included by #include or ASL include. In this
+         * case, get the current file node. The source output of the current
+         * file will contain the contents of the file listed in the parse node.
+         */
+        FileNode = FlGetFileNode (ASL_FILE_INPUT, Filename);
         if (!FileNode)
         {
-            return;
+            FileNode = FlGetCurrentFileNode ();
         }
 
         Enode->SourceFilename =
@@ -884,8 +900,8 @@ static void AslInitEnode (
  *              LineNumber          - Actual file line number
  *              Column              - Column in current line
  *              SourceLine          - Actual source code line
- *              Filename            - source filename
- *              ExtraMessage        - additional error message
+ *              Filename            - Source filename
+ *              ExtraMessage        - Additional error message
  *
  * RETURN:      None
  *
@@ -918,8 +934,8 @@ AslCommonError2 (
  *              LogicalLineNumber   - Cumulative line number
  *              LogicalByteOffset   - Byte offset in source file
  *              Column              - Column in current line
- *              Filename            - source filename
- *              ExtraMessage        - additional error message
+ *              Filename            - Source filename
+ *              ExtraMessage        - Additional error message
  *
  * RETURN:      None
  *
@@ -961,8 +977,8 @@ AslCommonError (
  *              LogicalLineNumber   - Cumulative line number
  *              LogicalByteOffset   - Byte offset in source file
  *              Column              - Column in current line
- *              Filename            - source filename
- *              Message             - additional error message
+ *              Filename            - Source filename
+ *              Message             - Additional error message
  *              SourceLine          - Actual line of source code
  *              SubError            - Sub-error associated with this error
  *
@@ -1025,7 +1041,7 @@ AslLogNewError (
  * PARAMETERS:  Level           - Seriousness (Warning/error, etc.)
  *              MessageId       - Index into global message buffer
  *
- * RETURN:      UINT8           - modified level
+ * RETURN:      UINT8           - Modified level
  *
  * DESCRIPTION: Get the modified level of exception codes that are reported as
  *              errors from the -ww option.
@@ -1369,7 +1385,7 @@ AslIsExceptionDisabled (
  *              MainMsg         - Message pertaining to the MainOp
  *              SubMsgId        - Index into global message buffer
  *              SubOp           - Additional parse node for better message
- *              SubMsg          - Message pertainint to SubOp
+ *              SubMsg          - Message pertaining to SubOp
  *
  *
  * RETURN:      None
@@ -1421,7 +1437,7 @@ AslDualParseOpError (
  * PARAMETERS:  Level               - Seriousness (Warning/error, etc.)
  *              MessageId           - Index into global message buffer
  *              Op                  - Parse node where error happened
- *              ExtraMessage        - additional error message
+ *              ExtraMessage        - Additional error message
  *
  * RETURN:      None
  *
@@ -1459,7 +1475,7 @@ AslError (
  *
  * PARAMETERS:  Op                  - Parse node where error happened
  *              Status              - The ACPICA Exception
- *              ExtraMessage        - additional error message
+ *              ExtraMessage        - Additional error message
  *              Abort               - TRUE -> Abort compilation
  *
  * RETURN:      None
diff --git a/sys/contrib/dev/acpica/source/compiler/aslexternal.c b/sys/contrib/dev/acpica/source/compiler/aslexternal.c
index 69bb4befb5..37f07e8782 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslexternal.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslexternal.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/aslfileio.c b/sys/contrib/dev/acpica/source/compiler/aslfileio.c
index 3db7b53354..60b911b2d2 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslfileio.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslfileio.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/aslfiles.c b/sys/contrib/dev/acpica/source/compiler/aslfiles.c
index b9208c7c44..097aa71a3f 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslfiles.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslfiles.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -207,12 +207,6 @@ FlInitOneFile (
     NewFileNode = ACPI_CAST_PTR (ASL_GLOBAL_FILE_NODE,
         UtLocalCacheCalloc (sizeof (ASL_GLOBAL_FILE_NODE)));
 
-    if (!NewFileNode)
-    {
-        AslError (ASL_ERROR, ASL_MSG_MEMORY_ALLOCATION, NULL, NULL);
-        return (AE_NO_MEMORY);
-    }
-
     NewFileNode->ParserErrorDetected = FALSE;
     NewFileNode->Next = AslGbl_FilesList;
 
@@ -420,8 +414,22 @@ ASL_GLOBAL_FILE_NODE *
 FlGetCurrentFileNode (
     void)
 {
-    return (FlGetFileNode (
-        ASL_FILE_INPUT,AslGbl_Files[ASL_FILE_INPUT].Filename));
+    ASL_GLOBAL_FILE_NODE    *FileNode =
+        FlGetFileNode (ASL_FILE_INPUT,AslGbl_Files[ASL_FILE_INPUT].Filename);
+
+
+    if (!FileNode)
+    {
+        /*
+         * If the current file node does not exist after initializing the file
+         * node structures, something went wrong and this is an unrecoverable
+         * condition.
+         */
+        FlFileError (ASL_FILE_INPUT, ASL_MSG_COMPILER_INTERNAL);
+        AslAbort ();
+    }
+
+    return (FileNode);
 }
 
 
diff --git a/sys/contrib/dev/acpica/source/compiler/aslfold.c b/sys/contrib/dev/acpica/source/compiler/aslfold.c
index 9294d38dbb..6bb4cde872 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslfold.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslfold.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/aslglobal.h b/sys/contrib/dev/acpica/source/compiler/aslglobal.h
index 740f7f34ae..1a66dea919 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslglobal.h
+++ b/sys/contrib/dev/acpica/source/compiler/aslglobal.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -244,7 +244,6 @@ extern const char                   *AslGbl_SpecialNamedObjects[MAX_SPECIAL_NAME
 #endif
 
 
-
 /*
  * Parser and other externals
  */
@@ -254,6 +253,7 @@ extern int                          DtParserdebug;
 extern int                          PrParserdebug;
 extern const ASL_MAPPING_ENTRY      AslKeywordMapping[];
 extern char                         *AslCompilertext;
+extern char                         *DtCompilerParsertext;
 
 /*
  * Older versions of Bison won't emit this external in the generated header.
diff --git a/sys/contrib/dev/acpica/source/compiler/aslhelp.c b/sys/contrib/dev/acpica/source/compiler/aslhelp.c
index f51b07f8ee..97a2ab05b7 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslhelp.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslhelp.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -247,6 +247,7 @@ Usage (
     ACPI_OPTION ("",                "  (Original comments are passed through to ASL+ file)");
 
     printf ("\nData Table Compiler:\n");
+    ACPI_OPTION ("-tp",             "Compile tables with flex/bison prototype");
     ACPI_OPTION ("-G",              "Compile custom table that contains generic operators");
     ACPI_OPTION ("-T <sig list>|ALL",   "Create ACPI table template/example files");
     ACPI_OPTION ("-T <count>",      "Emit DSDT and <count> SSDTs to same file");
diff --git a/sys/contrib/dev/acpica/source/compiler/aslhelpers.y b/sys/contrib/dev/acpica/source/compiler/aslhelpers.y
index 8127034c6f..fbee34c507 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslhelpers.y
+++ b/sys/contrib/dev/acpica/source/compiler/aslhelpers.y
@@ -9,7 +9,7 @@ NoEcho('
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/aslhex.c b/sys/contrib/dev/acpica/source/compiler/aslhex.c
index d22c01e150..af0c8d941a 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslhex.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslhex.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/aslkeywords.y b/sys/contrib/dev/acpica/source/compiler/aslkeywords.y
index a19b6425be..84a8163255 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslkeywords.y
+++ b/sys/contrib/dev/acpica/source/compiler/aslkeywords.y
@@ -9,7 +9,7 @@ NoEcho('
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -202,7 +202,7 @@ AddressKeyword
     ;
 
 AddressSpaceKeyword
-    : ByteConst                             {$$ = UtCheckIntegerRange ($1, 0x0A, 0xFF);}
+    : ByteConst                             {$$ = UtCheckIntegerRange ($1, ACPI_NUM_PREDEFINED_REGIONS, 0xFF);}
     | RegionSpaceKeyword                    {}
     ;
 
diff --git a/sys/contrib/dev/acpica/source/compiler/asllength.c b/sys/contrib/dev/acpica/source/compiler/asllength.c
index b9bb3d674d..6cd714a915 100644
--- a/sys/contrib/dev/acpica/source/compiler/asllength.c
+++ b/sys/contrib/dev/acpica/source/compiler/asllength.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -479,12 +479,13 @@ CgGenerateAmlLengths (
         Op->Asl.AmlLength = strlen (Buffer);
 
         /*
-         * Check for single backslash reference to root,
-         * make it a null terminated string in the AML
+         * Check for single backslash reference to root or reference to a name
+         * consisting of only prefix (^) characters. Make it a null terminated
+         * string in the AML.
          */
-        if (Op->Asl.AmlLength == 1)
+        if (Op->Asl.AmlLength == 1 || UtNameContainsAllPrefix(Op))
         {
-            Op->Asl.AmlLength = 2;
+            Op->Asl.AmlLength++;
         }
         break;
 
diff --git a/sys/contrib/dev/acpica/source/compiler/asllisting.c b/sys/contrib/dev/acpica/source/compiler/asllisting.c
index 7bc118bc25..0fa4047a7f 100644
--- a/sys/contrib/dev/acpica/source/compiler/asllisting.c
+++ b/sys/contrib/dev/acpica/source/compiler/asllisting.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/asllistsup.c b/sys/contrib/dev/acpica/source/compiler/asllistsup.c
index e54adb5282..dcd04cd0ce 100644
--- a/sys/contrib/dev/acpica/source/compiler/asllistsup.c
+++ b/sys/contrib/dev/acpica/source/compiler/asllistsup.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -241,7 +241,7 @@ LsDumpAsciiInComment (
             {
                 /* Insert a space to break the sequence */
 
-                FlPrintFile (FileId, ".", BufChar);
+                FlPrintFile (FileId, " ");
             }
 
             FlPrintFile (FileId, "%c", BufChar);
diff --git a/sys/contrib/dev/acpica/source/compiler/aslload.c b/sys/contrib/dev/acpica/source/compiler/aslload.c
index 4dd2dfd0f5..d9728206f3 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslload.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslload.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -273,16 +273,15 @@ LdLoadFieldElements (
     ACPI_PARSE_OBJECT       *SourceRegion;
     ACPI_NAMESPACE_NODE     *Node;
     ACPI_STATUS             Status;
-
+    char                    *ExternalPath;
 
 
     SourceRegion = UtGetArg (Op, 0);
     if (SourceRegion)
     {
         Status = AcpiNsLookup (WalkState->ScopeInfo,
-            SourceRegion->Asl.Value.String,
-            AmlType, ACPI_IMODE_EXECUTE,
-            ACPI_NS_DONT_OPEN_SCOPE, NULL, &Node);
+            SourceRegion->Asl.Value.String, AmlType, ACPI_IMODE_EXECUTE,
+            ACPI_NS_SEARCH_PARENT | ACPI_NS_DONT_OPEN_SCOPE, NULL, &Node);
         if (Status == AE_NOT_FOUND)
         {
             /*
@@ -358,9 +357,16 @@ LdLoadFieldElements (
                      * The name already exists in this scope
                      * But continue processing the elements
                      */
-                    AslDualParseOpError (ASL_WARNING, ASL_MSG_NAME_EXISTS, Child,
-                        Child->Asl.Value.String, ASL_MSG_FOUND_HERE, Node->Op,
-                        Node->Op->Asl.ExternalName);
+                    ExternalPath = AcpiNsGetNormalizedPathname (Node, TRUE);
+
+                    AslDualParseOpError (ASL_ERROR, ASL_MSG_NAME_EXISTS, Child,
+                        ExternalPath, ASL_MSG_FOUND_HERE, Node->Op,
+                        ExternalPath);
+
+                    if (ExternalPath)
+                    {
+                        ACPI_FREE (ExternalPath);
+                    }
                 }
             }
             else
@@ -404,6 +410,7 @@ LdLoadResourceElements (
     ACPI_PARSE_OBJECT       *InitializerOp = NULL;
     ACPI_NAMESPACE_NODE     *Node;
     ACPI_STATUS             Status;
+    char                    *ExternalPath;
 
 
     /*
@@ -420,10 +427,17 @@ LdLoadResourceElements (
         {
             /* Actual node causing the error was saved in ParentMethod */
 
+            ExternalPath = AcpiNsGetNormalizedPathname (Node, TRUE);
+
             AslDualParseOpError (ASL_ERROR, ASL_MSG_NAME_EXISTS,
                 (ACPI_PARSE_OBJECT *) Op->Asl.ParentMethod,
-                Op->Asl.Namepath, ASL_MSG_FOUND_HERE, Node->Op,
-                Node->Op->Asl.ExternalName);
+                ExternalPath, ASL_MSG_FOUND_HERE, Node->Op,
+                ExternalPath);
+
+            if (ExternalPath)
+            {
+                ACPI_FREE (ExternalPath);
+            }
             return (AE_OK);
         }
         return (Status);
@@ -500,6 +514,7 @@ LdNamespace1Begin (
     BOOLEAN                 ForceNewScope = FALSE;
     const ACPI_OPCODE_INFO  *OpInfo;
     ACPI_PARSE_OBJECT       *ParentOp;
+    char                    *ExternalPath;
 
 
     ACPI_FUNCTION_NAME (LdNamespace1Begin);
@@ -527,13 +542,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);
@@ -542,15 +556,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:
@@ -577,7 +582,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);
 
@@ -951,9 +955,16 @@ LdNamespace1Begin (
             {
                 /* Valid error, object already exists */
 
+                ExternalPath = AcpiNsGetNormalizedPathname (Node, TRUE);
+
                 AslDualParseOpError (ASL_ERROR, ASL_MSG_NAME_EXISTS, Op,
-                    Op->Asl.ExternalName, ASL_MSG_FOUND_HERE, Node->Op,
-                    Node->Op->Asl.ExternalName);
+                    ExternalPath, ASL_MSG_FOUND_HERE, Node->Op,
+                    ExternalPath);
+
+                if (ExternalPath)
+                {
+                    ACPI_FREE (ExternalPath);
+                }
                 return_ACPI_STATUS (AE_OK);
             }
         }
@@ -998,12 +1009,19 @@ LdNamespace1Begin (
     Op->Asl.Node = Node;
     Node->Op = Op;
 
-    /* Set the actual data type if appropriate (EXTERNAL term only) */
-
+    /*
+     * Set the actual data type if appropriate (EXTERNAL term only)
+     * As of 11/19/2019, ASL External() does not support parameter
+     * counts. When an External method is loaded, the parameter count is
+     * unknown setting Node->Value to ASL_EXTERNAL_METHOD_UNKNOWN_PARAMS
+     * indicates that the parameter count for this method is unknown.
+     * This information is used in ASL cross reference to help determine the
+     * parameter count through method calls.
+     */
     if (ActualObjectType != ACPI_TYPE_ANY)
     {
         Node->Type = (UINT8) ActualObjectType;
-        Node->Value = ASL_EXTERNAL_METHOD;
+        Node->Value = ASL_EXTERNAL_METHOD_UNKNOWN_PARAMS;
     }
 
     if (Op->Asl.ParseOpcode == PARSEOP_METHOD)
@@ -1031,7 +1049,8 @@ LdNamespace1Begin (
  * DESCRIPTION: Check if certain named objects are declared in the incorrect
  *              scope. Special named objects are listed in
  *              AslGbl_SpecialNamedObjects and can only be declared at the root
- *              scope.
+ *              scope. _UID inside of a processor declaration must not be a
+ *              string.
  *
  ******************************************************************************/
 
@@ -1052,6 +1071,13 @@ LdCheckSpecialNames (
             return;
         }
     }
+
+    if (ACPI_COMPARE_NAMESEG (Node->Name.Ascii, "_UID") &&
+        Node->Parent->Type == ACPI_TYPE_PROCESSOR &&
+        Node->Type == ACPI_TYPE_STRING)
+    {
+        AslError (ASL_ERROR, ASL_MSG_INVALID_PROCESSOR_UID , Op, "found a string");
+    }
 }
 
 
diff --git a/sys/contrib/dev/acpica/source/compiler/asllookup.c b/sys/contrib/dev/acpica/source/compiler/asllookup.c
index 96d1fefd41..b74d804968 100644
--- a/sys/contrib/dev/acpica/source/compiler/asllookup.c
+++ b/sys/contrib/dev/acpica/source/compiler/asllookup.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/aslmain.c b/sys/contrib/dev/acpica/source/compiler/aslmain.c
index 2afb20f690..7db26d1252 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslmain.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslmain.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -282,7 +282,6 @@ main (
         if (ACPI_FAILURE (Status))
         {
             ReturnStatus = -1;
-            goto CleanupAndExit;
         }
 
         Index2++;
@@ -290,9 +289,10 @@ main (
 
     /*
      * At this point, compilation of a data table or disassembly is complete.
+     * However, if there is a parse tree, perform compiler analysis and
+     * generate AML.
      */
-    if (AslGbl_PreprocessOnly || AcpiGbl_DisasmFlag ||
-        AslGbl_FileType == ASL_INPUT_TYPE_ASCII_DATA)
+    if (AslGbl_PreprocessOnly || AcpiGbl_DisasmFlag || !AslGbl_ParseTreeRoot)
     {
         goto CleanupAndExit;
     }
@@ -338,7 +338,6 @@ main (
     }
 
 
-
 CleanupAndExit:
 
     UtFreeLineBuffers ();
@@ -350,7 +349,7 @@ main (
 
     if (!AcpiGbl_DisasmFlag)
     {
-        CmCleanupAndExit ();
+        ReturnStatus = CmCleanupAndExit ();
     }
 
 
@@ -400,18 +399,21 @@ AslSignalHandler (
      * Close all open files
      * Note: the .pre file is the same as the input source file
      */
-    AslGbl_Files[ASL_FILE_PREPROCESSOR].Handle = NULL;
-
-    for (i = ASL_FILE_INPUT; i < ASL_MAX_FILE_TYPE; i++)
+    if (AslGbl_Files)
     {
-        FlCloseFile (i);
-    }
+        AslGbl_Files[ASL_FILE_PREPROCESSOR].Handle = NULL;
 
-    /* Delete any output files */
+        for (i = ASL_FILE_INPUT; i < ASL_MAX_FILE_TYPE; i++)
+        {
+            FlCloseFile (i);
+        }
 
-    for (i = ASL_FILE_AML_OUTPUT; i < ASL_MAX_FILE_TYPE; i++)
-    {
-        FlDeleteFile (i);
+        /* Delete any output files */
+
+        for (i = ASL_FILE_AML_OUTPUT; i < ASL_MAX_FILE_TYPE; i++)
+        {
+            FlDeleteFile (i);
+        }
     }
 
     printf (ASL_PREFIX "Terminating\n");
diff --git a/sys/contrib/dev/acpica/source/compiler/aslmap.c b/sys/contrib/dev/acpica/source/compiler/aslmap.c
index 9a7b1b76ad..651030495a 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslmap.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslmap.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/aslmapenter.c b/sys/contrib/dev/acpica/source/compiler/aslmapenter.c
index 995ddc9933..36b76566b1 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslmapenter.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslmapenter.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/aslmapoutput.c b/sys/contrib/dev/acpica/source/compiler/aslmapoutput.c
index 564d4cc83c..7cde08c286 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslmapoutput.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslmapoutput.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/aslmaputils.c b/sys/contrib/dev/acpica/source/compiler/aslmaputils.c
index 5605feca99..49cff797f7 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslmaputils.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslmaputils.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/aslmessages.c b/sys/contrib/dev/acpica/source/compiler/aslmessages.c
index 48c4dbabac..418df32c58 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslmessages.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslmessages.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -366,7 +366,11 @@ const char                      *AslCompilerMsgs [] =
 /*    ASL_MSG_TEMPORARY_OBJECT */           "Object is created temporarily in another method and cannot be accessed",
 /*    ASL_MSG_UNDEFINED_EXTERNAL */         "Named object was declared external but the actual definition does not exist",
 /*    ASL_MSG_BUFFER_FIELD_OVERFLOW */      "Buffer field extends beyond end of target buffer",
-/*    ASL_MSG_INVALID_SPECIAL_NAME */       "declaration of this named object outside root scope is illegal"
+/*    ASL_MSG_INVALID_SPECIAL_NAME */       "declaration of this named object outside root scope is illegal",
+/*    ASL_MSG_INVALID_PROCESSOR_UID */      "_UID inside processor declaration must be an integer",
+/*    ASL_MSG_LEGACY_PROCESSOR_OP */        "Legacy Processor() keyword detected. Use Device() keyword instead.",
+/*    ASL_MSG_NAMESTRING_LENGTH */          "NameString contains too many NameSegs (>255)",
+/*    ASL_MSG_CASE_FOUND_HERE */            "Original Case value below:"
 };
 
 /* Table compiler */
@@ -385,7 +389,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 */
diff --git a/sys/contrib/dev/acpica/source/compiler/aslmessages.h b/sys/contrib/dev/acpica/source/compiler/aslmessages.h
index d998f0fe8e..fb3513abdd 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslmessages.h
+++ b/sys/contrib/dev/acpica/source/compiler/aslmessages.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -369,6 +369,10 @@ typedef enum
     ASL_MSG_UNDEFINED_EXTERNAL,
     ASL_MSG_BUFFER_FIELD_OVERFLOW,
     ASL_MSG_INVALID_SPECIAL_NAME,
+    ASL_MSG_INVALID_PROCESSOR_UID,
+    ASL_MSG_LEGACY_PROCESSOR_OP,
+    ASL_MSG_NAMESTRING_LENGTH,
+    ASL_MSG_CASE_FOUND_HERE,
 
     /* These messages are used by the Data Table compiler only */
 
@@ -385,6 +389,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 */
 
diff --git a/sys/contrib/dev/acpica/source/compiler/aslmethod.c b/sys/contrib/dev/acpica/source/compiler/aslmethod.c
index 98884bc37e..b7b7ec42f3 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslmethod.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslmethod.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -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,12 +537,26 @@ 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;
 
     case PARSEOP_EVENT:
@@ -570,7 +586,7 @@ MtMethodAnalysisWalkBegin (
 
         /* Special typechecking for _HID */
 
-        if (!strcmp (METHOD_NAME__HID, Op->Asl.NameSeg))
+        if (ACPI_COMPARE_NAMESEG (METHOD_NAME__HID, Op->Asl.NameSeg))
         {
             Next = Op->Asl.Child->Asl.Next;
             AnCheckId (Next, ASL_TYPE_HID);
@@ -578,7 +594,7 @@ MtMethodAnalysisWalkBegin (
 
         /* Special typechecking for _CID */
 
-        else if (!strcmp (METHOD_NAME__CID, Op->Asl.NameSeg))
+        else if (ACPI_COMPARE_NAMESEG (METHOD_NAME__CID, Op->Asl.NameSeg))
         {
             Next = Op->Asl.Child->Asl.Next;
 
diff --git a/sys/contrib/dev/acpica/source/compiler/aslnamesp.c b/sys/contrib/dev/acpica/source/compiler/aslnamesp.c
index a3c445afb9..f74b5ffb45 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslnamesp.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslnamesp.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -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 */
 
@@ -276,7 +280,7 @@ NsDoOneNamespaceObject (
 
     FlPrintFile (ASL_FILE_NAMESPACE_OUTPUT, "%5u  [%u]  %*s %4.4s - %s",
         AslGbl_NumNamespaceObjects, Level, (Level * 3), " ",
-        &Node->Name, AcpiUtGetTypeName (Node->Type));
+        &Node->Name.Ascii[0], AcpiUtGetTypeName (Node->Type));
 
     Op = Node->Op;
     ObjDesc = ACPI_CAST_PTR (ACPI_OPERAND_OBJECT, Node->Object);
@@ -429,7 +433,7 @@ NsDoOneNamespaceObject (
             {
                 FlPrintFile (ASL_FILE_NAMESPACE_OUTPUT,
                     "       [Initial Length  0x%.2X elements]",
-                    Op->Asl.Value.Integer);
+                    (UINT32) Op->Asl.Value.Integer);
             }
             break;
 
@@ -452,7 +456,7 @@ NsDoOneNamespaceObject (
             {
                 FlPrintFile (ASL_FILE_NAMESPACE_OUTPUT,
                     "        [Initial Length  0x%.2X bytes]",
-                    Op->Asl.Value.Integer);
+                    (UINT32) Op->Asl.Value.Integer);
             }
             break;
 
@@ -531,7 +535,8 @@ NsDoOnePathname (
         return (Status);
     }
 
-    FlPrintFile (ASL_FILE_NAMESPACE_OUTPUT, "%s\n", TargetPath.Pointer);
+    FlPrintFile (ASL_FILE_NAMESPACE_OUTPUT, "%s\n",
+        ACPI_CAST_PTR (char, TargetPath.Pointer));
     ACPI_FREE (TargetPath.Pointer);
     return (AE_OK);
 }
diff --git a/sys/contrib/dev/acpica/source/compiler/asloffset.c b/sys/contrib/dev/acpica/source/compiler/asloffset.c
index dd8e1b0791..65cdffc87d 100644
--- a/sys/contrib/dev/acpica/source/compiler/asloffset.c
+++ b/sys/contrib/dev/acpica/source/compiler/asloffset.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/aslopcodes.c b/sys/contrib/dev/acpica/source/compiler/aslopcodes.c
index 9e6565fe2c..14eb63ddcd 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslopcodes.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslopcodes.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/asloperands.c b/sys/contrib/dev/acpica/source/compiler/asloperands.c
index cb9c5c8997..ac2ea1fb1e 100644
--- a/sys/contrib/dev/acpica/source/compiler/asloperands.c
+++ b/sys/contrib/dev/acpica/source/compiler/asloperands.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/aslopt.c b/sys/contrib/dev/acpica/source/compiler/aslopt.c
index 6d2045f822..88f9a2919f 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslopt.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslopt.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/asloptions.c b/sys/contrib/dev/acpica/source/compiler/asloptions.c
index dc00e1d200..e3b3f8e744 100644
--- a/sys/contrib/dev/acpica/source/compiler/asloptions.c
+++ b/sys/contrib/dev/acpica/source/compiler/asloptions.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -219,7 +219,7 @@ AslCommandLine (
         {
             exit (-1);
         }
-        exit (1);
+        exit (0);
     }
 
     /* Next parameter must be the input filename */
@@ -837,6 +837,11 @@ AslDoOptions (
             AslGbl_HexOutputFlag = HEX_OUTPUT_C;
             break;
 
+    case 'p': /* data table flex/bison prototype */
+
+            AslGbl_DtLexBisonPrototype = TRUE;
+            break;
+
         case 's':
 
             AslGbl_HexOutputFlag = HEX_OUTPUT_ASL;
diff --git a/sys/contrib/dev/acpica/source/compiler/aslparseop.c b/sys/contrib/dev/acpica/source/compiler/aslparseop.c
index 8fa99f3e6c..b58d4e6623 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslparseop.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslparseop.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -403,22 +403,22 @@ TrCreateValuedLeafOp (
     {
     case PARSEOP_STRING_LITERAL:
 
-        DbgPrint (ASL_PARSE_OUTPUT, "STRING->%s", Value);
+        DbgPrint (ASL_PARSE_OUTPUT, "STRING->%s", Op->Asl.Value.String);
         break;
 
     case PARSEOP_NAMESEG:
 
-        DbgPrint (ASL_PARSE_OUTPUT, "NAMESEG->%s", Value);
+        DbgPrint (ASL_PARSE_OUTPUT, "NAMESEG->%s", Op->Asl.Value.String);
         break;
 
     case PARSEOP_NAMESTRING:
 
-        DbgPrint (ASL_PARSE_OUTPUT, "NAMESTRING->%s", Value);
+        DbgPrint (ASL_PARSE_OUTPUT, "NAMESTRING->%s", Op->Asl.Value.String);
         break;
 
     case PARSEOP_EISAID:
 
-        DbgPrint (ASL_PARSE_OUTPUT, "EISAID->%s", Value);
+        DbgPrint (ASL_PARSE_OUTPUT, "EISAID->%s", Op->Asl.Value.String);
         break;
 
     case PARSEOP_METHOD:
@@ -693,7 +693,8 @@ TrCreateConstantLeafOp (
     time_t                  CurrentTime;
     char                    *StaticTimeString;
     char                    *TimeString;
-    char                    *Filename;
+    char                    *Filename = NULL;
+    ACPI_STATUS             Status;
 
 
     switch (ParseOpcode)
@@ -727,7 +728,12 @@ TrCreateConstantLeafOp (
 
         /* Get the simple filename from the full path */
 
-        FlSplitInputPathname (Op->Asl.Filename, NULL, &Filename);
+        Status = FlSplitInputPathname (Op->Asl.Filename, NULL, &Filename);
+        if (ACPI_FAILURE (Status))
+        {
+            return (NULL);
+        }
+
         Op->Asl.Value.String = Filename;
         break;
 
diff --git a/sys/contrib/dev/acpica/source/compiler/aslparser.y b/sys/contrib/dev/acpica/source/compiler/aslparser.y
index 3a6beff5b7..5faccae38c 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslparser.y
+++ b/sys/contrib/dev/acpica/source/compiler/aslparser.y
@@ -9,7 +9,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/aslpld.c b/sys/contrib/dev/acpica/source/compiler/aslpld.c
index 50186a8584..730976bdce 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslpld.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslpld.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/aslpredef.c b/sys/contrib/dev/acpica/source/compiler/aslpredef.c
index 1f850239c0..afef94a0d6 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslpredef.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslpredef.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/aslprepkg.c b/sys/contrib/dev/acpica/source/compiler/aslprepkg.c
index f55bb5e806..f3042caef4 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslprepkg.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslprepkg.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -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;
         }
diff --git a/sys/contrib/dev/acpica/source/compiler/aslprimaries.y b/sys/contrib/dev/acpica/source/compiler/aslprimaries.y
index f14ab134d7..7bbf4155ab 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslprimaries.y
+++ b/sys/contrib/dev/acpica/source/compiler/aslprimaries.y
@@ -11,7 +11,7 @@ NoEcho('
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/aslprintf.c b/sys/contrib/dev/acpica/source/compiler/aslprintf.c
index 8121ea0023..a7859f43ec 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslprintf.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslprintf.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/aslprune.c b/sys/contrib/dev/acpica/source/compiler/aslprune.c
index a9d7813503..580a6ada11 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslprune.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslprune.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/aslresource.c b/sys/contrib/dev/acpica/source/compiler/aslresource.c
index 82de51098e..d1936a5b7d 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslresource.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslresource.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -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);
 
diff --git a/sys/contrib/dev/acpica/source/compiler/aslresources.y b/sys/contrib/dev/acpica/source/compiler/aslresources.y
index 1caff20c6c..4faba90b5a 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslresources.y
+++ b/sys/contrib/dev/acpica/source/compiler/aslresources.y
@@ -11,7 +11,7 @@ NoEcho('
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/aslrestype1.c b/sys/contrib/dev/acpica/source/compiler/aslrestype1.c
index 7173d74644..4dff4607d0 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslrestype1.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslrestype1.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/aslrestype1i.c b/sys/contrib/dev/acpica/source/compiler/aslrestype1i.c
index b65964ff12..9e9bc20968 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslrestype1i.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslrestype1i.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/aslrestype2.c b/sys/contrib/dev/acpica/source/compiler/aslrestype2.c
index 5b8f026e8f..93236853a6 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslrestype2.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslrestype2.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -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);
diff --git a/sys/contrib/dev/acpica/source/compiler/aslrestype2d.c b/sys/contrib/dev/acpica/source/compiler/aslrestype2d.c
index 1ba40d355e..394530ae30 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslrestype2d.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslrestype2d.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/aslrestype2e.c b/sys/contrib/dev/acpica/source/compiler/aslrestype2e.c
index 93f0ae2573..b188994d32 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslrestype2e.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslrestype2e.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/aslrestype2q.c b/sys/contrib/dev/acpica/source/compiler/aslrestype2q.c
index 1b3541111f..02db0ab345 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslrestype2q.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslrestype2q.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/aslrestype2s.c b/sys/contrib/dev/acpica/source/compiler/aslrestype2s.c
index 2308505436..c075c89c97 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslrestype2s.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslrestype2s.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -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;
diff --git a/sys/contrib/dev/acpica/source/compiler/aslrestype2w.c b/sys/contrib/dev/acpica/source/compiler/aslrestype2w.c
index fb251a0f14..b2113f4c95 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslrestype2w.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslrestype2w.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/aslrules.y b/sys/contrib/dev/acpica/source/compiler/aslrules.y
index 22dac96725..9035e8bb41 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslrules.y
+++ b/sys/contrib/dev/acpica/source/compiler/aslrules.y
@@ -11,7 +11,7 @@ NoEcho('
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/aslstartup.c b/sys/contrib/dev/acpica/source/compiler/aslstartup.c
index 472f777c40..522bca570f 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslstartup.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslstartup.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -457,16 +457,13 @@ AslDoOneFile (
     }
 
     FileNode = FlGetCurrentFileNode();
-    if (!FileNode)
-    {
-        return (AE_ERROR);
-    }
 
     FileNode->OriginalInputFileSize = FlGetFileSize (ASL_FILE_INPUT);
 
     /* Determine input file type */
 
     AslGbl_FileType = AslDetectSourceFileType (&AslGbl_Files[ASL_FILE_INPUT]);
+    FileNode->FileType = AslGbl_FileType;
     if (AslGbl_FileType == ASL_INPUT_TYPE_BINARY)
     {
         return (AE_ERROR);
diff --git a/sys/contrib/dev/acpica/source/compiler/aslstubs.c b/sys/contrib/dev/acpica/source/compiler/aslstubs.c
index a8f22bd8c8..b4d609bff8 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslstubs.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslstubs.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/aslsupport.l b/sys/contrib/dev/acpica/source/compiler/aslsupport.l
index 297bf2ee6b..282e4fbe7c 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslsupport.l
+++ b/sys/contrib/dev/acpica/source/compiler/aslsupport.l
@@ -9,7 +9,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/aslsupport.y b/sys/contrib/dev/acpica/source/compiler/aslsupport.y
index ccd1182dd5..84aec3a3d7 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslsupport.y
+++ b/sys/contrib/dev/acpica/source/compiler/aslsupport.y
@@ -9,7 +9,7 @@ NoEcho('
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/asltokens.y b/sys/contrib/dev/acpica/source/compiler/asltokens.y
index ec618a42f9..0b61469a26 100644
--- a/sys/contrib/dev/acpica/source/compiler/asltokens.y
+++ b/sys/contrib/dev/acpica/source/compiler/asltokens.y
@@ -9,7 +9,7 @@ NoEcho('
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/asltransform.c b/sys/contrib/dev/acpica/source/compiler/asltransform.c
index 5237c638d7..dcb60f7a31 100644
--- a/sys/contrib/dev/acpica/source/compiler/asltransform.c
+++ b/sys/contrib/dev/acpica/source/compiler/asltransform.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -151,6 +151,7 @@
 
 #include "aslcompiler.h"
 #include "aslcompiler.y.h"
+#include "acnamesp.h"
 
 #define _COMPONENT          ACPI_COMPILER
         ACPI_MODULE_NAME    ("asltransform")
@@ -194,6 +195,16 @@ static void
 TrDoSwitch (
     ACPI_PARSE_OBJECT       *StartNode);
 
+static void
+TrCheckForDuplicateCase (
+    ACPI_PARSE_OBJECT       *CaseOp,
+    ACPI_PARSE_OBJECT       *Predicate1);
+
+static BOOLEAN
+TrCheckForBufferMatch (
+    ACPI_PARSE_OBJECT       *Next1,
+    ACPI_PARSE_OBJECT       *Next2);
+
 
 /*******************************************************************************
  *
@@ -431,6 +442,7 @@ TrTransformSubtree (
     ACPI_PARSE_OBJECT           *Op)
 {
     ACPI_PARSE_OBJECT           *MethodOp;
+    ACPI_NAMESTRING_INFO        Info;
 
 
     if (Op->Asl.AmlOpcode == AML_RAW_DATA_BYTE)
@@ -492,6 +504,22 @@ TrTransformSubtree (
         Op->Asl.Value.String = "\\";
         break;
 
+    case PARSEOP_NAMESTRING:
+        /*
+         * A NameString can be up to 255 (0xFF) individual NameSegs maximum
+         * (with 254 dot separators) - as per the ACPI specification. Note:
+         * Cannot check for NumSegments == 0 because things like
+         * Scope(\) are legal and OK.
+         */
+        Info.ExternalName = Op->Asl.Value.String;
+        AcpiNsGetInternalNameLength (&Info);
+
+        if (Info.NumSegments > 255)
+        {
+            AslError (ASL_ERROR, ASL_MSG_NAMESTRING_LENGTH, Op, NULL);
+        }
+        break;
+
     case PARSEOP_UNLOAD:
 
         AslError (ASL_WARNING, ASL_MSG_UNLOAD, Op, NULL);
@@ -507,6 +535,11 @@ TrTransformSubtree (
         }
         break;
 
+    case PARSEOP_PROCESSOR:
+
+        AslError (ASL_WARNING, ASL_MSG_LEGACY_PROCESSOR_OP, Op, Op->Asl.ExternalName);
+        break;
+
     default:
 
         /* Nothing to do here for other opcodes */
@@ -640,6 +673,8 @@ TrDoSwitch (
 
         if (Next->Asl.ParseOpcode == PARSEOP_CASE)
         {
+            TrCheckForDuplicateCase (Next, Next->Asl.Child);
+
             if (CaseOp)
             {
                 /* Add an ELSE to complete the previous CASE */
@@ -971,3 +1006,237 @@ TrDoSwitch (
     BreakOp->Asl.Parent = StartNode;
     TrAmlInsertPeer (Conditional, BreakOp);
 }
+
+
+/*******************************************************************************
+ *
+ * FUNCTION:    TrCheckForDuplicateCase
+ *
+ * PARAMETERS:  CaseOp          - Parse node for first Case statement in list
+ *              Predicate1      - Case value for the input CaseOp
+ *
+ * RETURN:      None
+ *
+ * DESCRIPTION: Check for duplicate case values. Currently, only handles
+ *              Integers, Strings and Buffers. No support for Package objects.
+ *
+ ******************************************************************************/
+
+static void
+TrCheckForDuplicateCase (
+    ACPI_PARSE_OBJECT       *CaseOp,
+    ACPI_PARSE_OBJECT       *Predicate1)
+{
+    ACPI_PARSE_OBJECT       *Next;
+    ACPI_PARSE_OBJECT       *Predicate2;
+
+
+    /* Walk the list of CASE opcodes */
+
+    Next = CaseOp->Asl.Next;
+    while (Next)
+    {
+        if (Next->Asl.ParseOpcode == PARSEOP_CASE)
+        {
+            /* Emit error only once */
+
+            if (Next->Asl.CompileFlags & OP_IS_DUPLICATE)
+            {
+                goto NextCase;
+            }
+
+            /* Check for a duplicate plain integer */
+
+            Predicate2 = Next->Asl.Child;
+            if ((Predicate1->Asl.ParseOpcode == PARSEOP_INTEGER) &&
+                (Predicate2->Asl.ParseOpcode == PARSEOP_INTEGER))
+            {
+                if (Predicate1->Asl.Value.Integer == Predicate2->Asl.Value.Integer)
+                {
+                    goto FoundDuplicate;
+                }
+            }
+
+            /* Check for pairs of the constants ZERO, ONE, ONES */
+
+            else if (((Predicate1->Asl.ParseOpcode == PARSEOP_ZERO) &&
+                (Predicate2->Asl.ParseOpcode == PARSEOP_ZERO)) ||
+                ((Predicate1->Asl.ParseOpcode == PARSEOP_ONE) &&
+                (Predicate2->Asl.ParseOpcode == PARSEOP_ONE)) ||
+                ((Predicate1->Asl.ParseOpcode == PARSEOP_ONES) &&
+                (Predicate2->Asl.ParseOpcode == PARSEOP_ONES)))
+            {
+                goto FoundDuplicate;
+            }
+
+            /* Check for a duplicate string constant (literal) */
+
+            else if ((Predicate1->Asl.ParseOpcode == PARSEOP_STRING_LITERAL) &&
+                (Predicate2->Asl.ParseOpcode == PARSEOP_STRING_LITERAL))
+            {
+                if (!strcmp (Predicate1->Asl.Value.String,
+                        Predicate2->Asl.Value.String))
+                {
+                    goto FoundDuplicate;
+                }
+            }
+
+            /* Check for a duplicate buffer constant */
+
+            else if ((Predicate1->Asl.ParseOpcode == PARSEOP_BUFFER) &&
+                (Predicate2->Asl.ParseOpcode == PARSEOP_BUFFER))
+            {
+                if (TrCheckForBufferMatch (Predicate1->Asl.Child,
+                        Predicate2->Asl.Child))
+                {
+                    goto FoundDuplicate;
+                }
+            }
+        }
+        goto NextCase;
+
+FoundDuplicate:
+        /* Emit error message only once */
+
+        Next->Asl.CompileFlags |= OP_IS_DUPLICATE;
+
+        AslDualParseOpError (ASL_ERROR, ASL_MSG_DUPLICATE_CASE, Next,
+            Next->Asl.Value.String, ASL_MSG_CASE_FOUND_HERE, CaseOp,
+            CaseOp->Asl.ExternalName);
+
+NextCase:
+        Next = Next->Asl.Next;
+    }
+}
+
+/*******************************************************************************
+ *
+ * FUNCTION:    TrBufferIsAllZero
+ *
+ * PARAMETERS:  Op          - Parse node for first opcode in buffer initializer
+ *                            list
+ *
+ * RETURN:      TRUE if buffer contains all zeros or a DEFAULT_ARG
+ *
+ * DESCRIPTION: Check for duplicate Buffer case values.
+ *
+ ******************************************************************************/
+
+static BOOLEAN
+TrBufferIsAllZero (
+    ACPI_PARSE_OBJECT       *Op)
+{
+    while (Op)
+    {
+        if (Op->Asl.ParseOpcode == PARSEOP_DEFAULT_ARG)
+        {
+            return (TRUE);
+        }
+        else if (Op->Asl.Value.Integer != 0)
+        {
+            return (FALSE);
+        }
+
+        Op = Op->Asl.Next;
+    }
+
+    return (TRUE);
+}
+
+
+/*******************************************************************************
+ *
+ * FUNCTION:    TrCheckForBufferMatch
+ *
+ * PARAMETERS:  Next1       - Parse node for first opcode in first buffer list
+ *                              (The DEFAULT_ARG or INTEGER node)
+ *              Next2       - Parse node for first opcode in second buffer list
+ *                              (The DEFAULT_ARG or INTEGER node)
+ *
+ * RETURN:      TRUE if buffers match, FALSE otherwise
+ *
+ * DESCRIPTION: Check for duplicate Buffer case values.
+ *
+ ******************************************************************************/
+
+static BOOLEAN
+TrCheckForBufferMatch (
+    ACPI_PARSE_OBJECT       *NextOp1,
+    ACPI_PARSE_OBJECT       *NextOp2)
+{
+    /*
+     * The buffer length can be a DEFAULT_ARG or INTEGER. If any of the nodes
+     * are DEFAULT_ARG, it means that the length has yet to be computed.
+     * However, the initializer list can be compared to determine if these two
+     * buffers match.
+     */
+    if ((NextOp1->Asl.ParseOpcode == PARSEOP_INTEGER &&
+        NextOp2->Asl.ParseOpcode == PARSEOP_INTEGER) &&
+        NextOp1->Asl.Value.Integer != NextOp2->Asl.Value.Integer)
+    {
+        return (FALSE);
+    }
+
+    /*
+     * Buffers that have explicit lengths but no initializer lists are
+     * filled with zeros at runtime. This is equivalent to buffers that have the
+     * same length that are filled with zeros.
+     *
+     * In other words, the following buffers are equivalent:
+     *
+     * Buffer(0x4) {}
+     * Buffer() {0x0, 0x0, 0x0, 0x0}
+     *
+     * This statement checks for matches where one buffer does not have an
+     * initializer list and another buffer contains all zeros.
+     */
+    if (NextOp1->Asl.ParseOpcode != NextOp2->Asl.ParseOpcode &&
+        TrBufferIsAllZero (NextOp1->Asl.Next) &&
+        TrBufferIsAllZero (NextOp2->Asl.Next))
+    {
+        return (TRUE);
+    }
+
+    /* Start at the BYTECONST initializer node list */
+
+    NextOp1 = NextOp1->Asl.Next;
+    NextOp2 = NextOp2->Asl.Next;
+
+    /*
+     * Walk both lists until either a mismatch is found, or one or more
+     * end-of-lists are found
+     */
+    while (NextOp1 && NextOp2)
+    {
+        if ((NextOp1->Asl.ParseOpcode == PARSEOP_STRING_LITERAL) &&
+            (NextOp2->Asl.ParseOpcode == PARSEOP_STRING_LITERAL))
+        {
+            if (!strcmp (NextOp1->Asl.Value.String, NextOp2->Asl.Value.String))
+            {
+                return (TRUE);
+            }
+            else
+            {
+                return (FALSE);
+            }
+        }
+        if ((UINT8) NextOp1->Asl.Value.Integer != (UINT8) NextOp2->Asl.Value.Integer)
+        {
+            return (FALSE);
+        }
+
+        NextOp1 = NextOp1->Asl.Next;
+        NextOp2 = NextOp2->Asl.Next;
+    }
+
+    /* Not a match if one of the lists is not at end-of-list */
+
+    if (NextOp1 || NextOp2)
+    {
+        return (FALSE);
+    }
+
+    /* Otherwise, the buffers match */
+
+    return (TRUE);
+}
diff --git a/sys/contrib/dev/acpica/source/compiler/asltree.c b/sys/contrib/dev/acpica/source/compiler/asltree.c
index 62efc5fa90..2e9bc086d2 100644
--- a/sys/contrib/dev/acpica/source/compiler/asltree.c
+++ b/sys/contrib/dev/acpica/source/compiler/asltree.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/asltypes.h b/sys/contrib/dev/acpica/source/compiler/asltypes.h
index 8a6a075051..cd54dbc05f 100644
--- a/sys/contrib/dev/acpica/source/compiler/asltypes.h
+++ b/sys/contrib/dev/acpica/source/compiler/asltypes.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -505,9 +505,12 @@ typedef struct asl_files_node
     UINT32                  TotalLineCount;
     UINT32                  OriginalInputFileSize;
     UINT32                  TotalKeywords;
+    UINT32                  TotalFields;
+    UINT32                  OutputByteLength;
     UINT32                  TotalNamedObjects;
     UINT32                  TotalExecutableOpcodes;
     BOOLEAN                 ParserErrorDetected;
+    UINT8                   FileType;
 
 } ASL_GLOBAL_FILE_NODE;
 
diff --git a/sys/contrib/dev/acpica/source/compiler/asltypes.y b/sys/contrib/dev/acpica/source/compiler/asltypes.y
index 80fba4ba4b..85d3af9acf 100644
--- a/sys/contrib/dev/acpica/source/compiler/asltypes.y
+++ b/sys/contrib/dev/acpica/source/compiler/asltypes.y
@@ -9,7 +9,7 @@ NoEcho('
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/aslutils.c b/sys/contrib/dev/acpica/source/compiler/aslutils.c
index 80149247e1..4233318f0e 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslutils.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslutils.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -223,6 +223,7 @@ UtQueryForOverwrite (
     char                    *Pathname)
 {
     struct stat             StatInfo;
+    int                     InChar;
 
 
     if (!stat (Pathname, &StatInfo))
@@ -230,7 +231,13 @@ UtQueryForOverwrite (
         fprintf (stderr, "Target file \"%s\" already exists, overwrite? [y|n] ",
             Pathname);
 
-        if (getchar () != 'y')
+        InChar = fgetc (stdin);
+        if (InChar == '\n')
+        {
+            InChar = fgetc (stdin);
+        }
+
+        if ((InChar != 'y') && (InChar != 'Y'))
         {
             return (FALSE);
         }
@@ -559,58 +566,49 @@ UtDisplayOneSummary (
 
     /* Summary of main input and output files */
 
-    if (AslGbl_FileType == ASL_INPUT_TYPE_ASCII_DATA)
+    FileNode = FlGetCurrentFileNode ();
+
+    if (FileNode->ParserErrorDetected)
     {
         FlPrintFile (FileId,
-            "%-14s %s - %u lines, %u bytes, %u fields\n",
+            "%-14s %s - Compilation aborted due to parser-detected syntax error(s)\n",
+            "Input file:", AslGbl_Files[ASL_FILE_INPUT].Filename);
+    }
+    else if (FileNode->FileType == ASL_INPUT_TYPE_ASCII_DATA)
+    {
+        FlPrintFile (FileId,
+            "%-14s %s - %7u bytes %6u fields %8u source lines\n",
             "Table Input:",
-            AslGbl_Files[ASL_FILE_INPUT].Filename, AslGbl_CurrentLineNumber,
-            AslGbl_InputByteCount, AslGbl_InputFieldCount);
+            AslGbl_Files[ASL_FILE_INPUT].Filename,
+            FileNode->OriginalInputFileSize, FileNode->TotalFields,
+            FileNode->TotalLineCount);
 
-        if ((AslGbl_ExceptionCount[ASL_ERROR] == 0) || (AslGbl_IgnoreErrors))
-        {
-            FlPrintFile (FileId,
-                "%-14s %s - %u bytes\n",
-                "Binary Output:",
-                AslGbl_Files[ASL_FILE_AML_OUTPUT].Filename, AslGbl_TableLength);
-        }
+        FlPrintFile (FileId,
+            "%-14s %s - %7u bytes\n",
+            "Binary Output:",
+            AslGbl_Files[ASL_FILE_AML_OUTPUT].Filename, FileNode->OutputByteLength);
     }
-    else
+    else if (FileNode->FileType == ASL_INPUT_TYPE_ASCII_ASL)
     {
-        FileNode = FlGetCurrentFileNode ();
-        if (!FileNode)
-        {
-            fprintf (stderr, "Summary could not be generated");
-            return;
-        }
-        if (FileNode->ParserErrorDetected)
-        {
-            FlPrintFile (FileId,
-                "%-14s %s - Compilation aborted due to parser-detected syntax error(s)\n",
-                "ASL Input:", AslGbl_Files[ASL_FILE_INPUT].Filename);
-        }
-        else
+        FlPrintFile (FileId,
+            "%-14s %s - %7u bytes %6u keywords %6u source lines\n",
+            "ASL Input:",
+            AslGbl_Files[ASL_FILE_INPUT].Filename,
+            FileNode->OriginalInputFileSize,
+            FileNode->TotalKeywords,
+            FileNode->TotalLineCount);
+
+        /* AML summary */
+
+        if (DisplayAMLSummary)
         {
             FlPrintFile (FileId,
-                "%-14s %s - %7u bytes %6u keywords %6u source lines\n",
-                "ASL Input:",
-                AslGbl_Files[ASL_FILE_INPUT].Filename,
-                FileNode->OriginalInputFileSize,
-                FileNode->TotalKeywords,
-                FileNode->TotalLineCount);
-
-            /* AML summary */
-
-            if (DisplayAMLSummary)
-            {
-                FlPrintFile (FileId,
-                    "%-14s %s - %7u bytes %6u opcodes  %6u named objects\n",
-                    "AML Output:",
-                    AslGbl_Files[ASL_FILE_AML_OUTPUT].Filename,
-                    FlGetFileSize (ASL_FILE_AML_OUTPUT),
-                    FileNode->TotalExecutableOpcodes,
-                    FileNode->TotalNamedObjects);
-            }
+                "%-14s %s - %7u bytes %6u opcodes  %6u named objects\n",
+                "AML Output:",
+                AslGbl_Files[ASL_FILE_AML_OUTPUT].Filename,
+                FlGetFileSize (ASL_FILE_AML_OUTPUT),
+                FileNode->TotalExecutableOpcodes,
+                FileNode->TotalNamedObjects);
         }
     }
 
@@ -992,6 +990,37 @@ UtAttachNamepathToOwner (
 }
 
 
+/*******************************************************************************
+ *
+ * FUNCTION:    UtNameContainsAllPrefix
+ *
+ * PARAMETERS:  Op                  - Op containing NameString
+ *
+ * RETURN:      NameString consists of all ^ characters
+ *
+ * DESCRIPTION: Determine if this Op contains a name segment that consists of
+ *              all '^' characters.
+ *
+ ******************************************************************************/
+
+BOOLEAN
+UtNameContainsAllPrefix (
+    ACPI_PARSE_OBJECT       *Op)
+{
+    UINT32                  Length = Op->Asl.AmlLength;
+    UINT32                  i;
+
+    for (i = 0; i < Length; i++)
+    {
+        if (Op->Asl.Value.String[i] != '^')
+        {
+            return (FALSE);
+        }
+    }
+
+    return (TRUE);
+}
+
 /*******************************************************************************
  *
  * FUNCTION:    UtDoConstant
@@ -1026,3 +1055,56 @@ UtDoConstant (
 
     return (ConvertedInteger);
 }
+
+
+/******************************************************************************
+ *
+ * FUNCTION:    AcpiUtStrdup
+ *
+ * PARAMETERS:  String1             - string to duplicate
+ *
+ * RETURN:      int that signifies string relationship. Zero means strings
+ *              are equal.
+ *
+ * DESCRIPTION: Duplicate the string using UtCacheAlloc to avoid manual memory
+ *              reclamation.
+ *
+ ******************************************************************************/
+
+char *
+AcpiUtStrdup (
+    char                    *String)
+{
+    char                    *NewString = (char *) UtLocalCalloc (strlen (String) + 1);
+
+
+    strcpy (NewString, String);
+    return (NewString);
+}
+
+
+/******************************************************************************
+ *
+ * FUNCTION:    AcpiUtStrcat
+ *
+ * PARAMETERS:  String1
+ *              String2
+ *
+ * RETURN:      New string with String1 concatenated with String2
+ *
+ * DESCRIPTION: Concatenate string1 and string2
+ *
+ ******************************************************************************/
+
+char *
+AcpiUtStrcat (
+    char                    *String1,
+    char                    *String2)
+{
+    UINT32                  String1Length = strlen (String1);
+    char                    *NewString = (char *) UtLocalCalloc (strlen (String1) + strlen (String2) + 1);
+
+    strcpy (NewString, String1);
+    strcpy (NewString + String1Length, String2);
+    return (NewString);
+}
diff --git a/sys/contrib/dev/acpica/source/compiler/asluuid.c b/sys/contrib/dev/acpica/source/compiler/asluuid.c
index 79e777f6b9..bbfaa549af 100644
--- a/sys/contrib/dev/acpica/source/compiler/asluuid.c
+++ b/sys/contrib/dev/acpica/source/compiler/asluuid.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/aslwalks.c b/sys/contrib/dev/acpica/source/compiler/aslwalks.c
index e383e79475..215544f6a5 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslwalks.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslwalks.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/aslxref.c b/sys/contrib/dev/acpica/source/compiler/aslxref.c
index d903ef1ba8..2649373f3a 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslxref.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslxref.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -1055,7 +1055,7 @@ XfNamespaceLocateBegin (
             NextOp = NextOp->Asl.Next;
         }
 
-        if (Node->Value != ASL_EXTERNAL_METHOD &&
+        if (Node->Value != ASL_EXTERNAL_METHOD_UNKNOWN_PARAMS &&
             Op->Asl.Parent->Asl.ParseOpcode != PARSEOP_EXTERNAL)
         {
             /*
@@ -1064,8 +1064,17 @@ XfNamespaceLocateBegin (
              */
             if (PassedArgs != Node->Value)
             {
-                sprintf (AslGbl_MsgBuffer, "%s requires %u", Op->Asl.ExternalName,
-                    Node->Value);
+                if (Node->Flags & ANOBJ_IS_EXTERNAL)
+                {
+                    sprintf (AslGbl_MsgBuffer,
+                        "according to previous use, %s requires %u",
+                        Op->Asl.ExternalName, Node->Value);
+                }
+                else
+                {
+                    sprintf (AslGbl_MsgBuffer, "%s requires %u", Op->Asl.ExternalName,
+                        Node->Value);
+                }
 
                 if (PassedArgs < Node->Value)
                 {
@@ -1077,6 +1086,22 @@ XfNamespaceLocateBegin (
                 }
             }
         }
+
+        /*
+         * At this point, a method call to an external method has been
+         * detected. As of 11/19/2019, iASL does not support parameter counts
+         * for methods declared as external. Therefore, save the parameter
+         * count of the first method call and use this count check other
+         * method calls to ensure that the methods are being called with the
+         * same amount of parameters.
+         */
+        else if (Node->Type == ACPI_TYPE_METHOD &&
+            (Node->Flags & ANOBJ_IS_EXTERNAL) &&
+            Node->Value == ASL_EXTERNAL_METHOD_UNKNOWN_PARAMS &&
+            Op->Asl.Parent->Asl.ParseOpcode != PARSEOP_EXTERNAL)
+        {
+            Node->Value = PassedArgs;
+        }
     }
 
     /* 4) Check for an ASL Field definition */
diff --git a/sys/contrib/dev/acpica/source/compiler/aslxrefout.c b/sys/contrib/dev/acpica/source/compiler/aslxrefout.c
index 2bd43a0721..64ccabf851 100644
--- a/sys/contrib/dev/acpica/source/compiler/aslxrefout.c
+++ b/sys/contrib/dev/acpica/source/compiler/aslxrefout.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -799,7 +799,7 @@ OtXrefWalkPart3 (
     else
     {
         FlPrintFile (ASL_FILE_XREF_OUTPUT,
-            "            %u references to this object in this module\n",
+            "            %u references to this object in this module [%s]\n",
             XrefInfo->ThisObjectReferences, ParentPath);
     }
 
diff --git a/sys/contrib/dev/acpica/source/compiler/cvcompiler.c b/sys/contrib/dev/acpica/source/compiler/cvcompiler.c
index 083b66a5ec..4102a6a7be 100644
--- a/sys/contrib/dev/acpica/source/compiler/cvcompiler.c
+++ b/sys/contrib/dev/acpica/source/compiler/cvcompiler.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/cvdisasm.c b/sys/contrib/dev/acpica/source/compiler/cvdisasm.c
index 3ff636f84f..db17867df9 100644
--- a/sys/contrib/dev/acpica/source/compiler/cvdisasm.c
+++ b/sys/contrib/dev/acpica/source/compiler/cvdisasm.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -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;
+    }
 }
diff --git a/sys/contrib/dev/acpica/source/compiler/cvparser.c b/sys/contrib/dev/acpica/source/compiler/cvparser.c
index ca970b50a1..0e0a5b80d1 100644
--- a/sys/contrib/dev/acpica/source/compiler/cvparser.c
+++ b/sys/contrib/dev/acpica/source/compiler/cvparser.c
@@ -9,7 +9,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -912,7 +912,6 @@ CvCaptureCommentsOnly (
 
                     /* Not a valid comment option. Revert the AML */
 
-                    Aml -= 2;
                     goto DefBlock;
 
             } /* End switch statement */
diff --git a/sys/contrib/dev/acpica/source/compiler/dtcompile.c b/sys/contrib/dev/acpica/source/compiler/dtcompile.c
index 09cb3e6c4a..7f47e062da 100644
--- a/sys/contrib/dev/acpica/source/compiler/dtcompile.c
+++ b/sys/contrib/dev/acpica/source/compiler/dtcompile.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -161,7 +161,7 @@ static char                 VersionString[9];
 
 /* Local prototypes */
 
-static ACPI_STATUS
+void
 DtInitialize (
     void);
 
@@ -196,16 +196,12 @@ DtDoCompile (
     ACPI_STATUS             Status;
     UINT8                   Event;
     DT_FIELD                *FieldList;
+    ASL_GLOBAL_FILE_NODE    *FileNode;
 
 
     /* Initialize globals */
 
-    Status = DtInitialize ();
-    if (ACPI_FAILURE (Status))
-    {
-        printf ("Error during compiler initialization, 0x%X\n", Status);
-        return (Status);
-    }
+    DtInitialize ();
 
     /* Preprocessor */
 
@@ -223,13 +219,29 @@ DtDoCompile (
         }
     }
 
-    /*
-     * Scan the input file (file is already open) and
-     * build the parse tree
-     */
-    Event = UtBeginEvent ("Scan and parse input file");
-    FieldList = DtScanFile (AslGbl_Files[ASL_FILE_INPUT].Handle);
-    UtEndEvent (Event);
+    /* Compile the parse tree */
+
+    if (AslGbl_DtLexBisonPrototype)
+    {
+        Event = UtBeginEvent ("Parse data table in prototype mode");
+
+        DtCompilerInitLexer (AslGbl_Files[ASL_FILE_INPUT].Handle);
+        DtCompilerParserparse ();
+        FieldList = AslGbl_FieldList;
+        DtCompilerTerminateLexer ();
+
+        UtEndEvent (Event);
+    }
+    else
+    {
+        /*
+         * Scan the input file (file is already open) and
+         * build the parse tree
+         */
+        Event = UtBeginEvent ("Scan and parse input file");
+        FieldList = DtScanFile (AslGbl_Files[ASL_FILE_INPUT].Handle);
+        UtEndEvent (Event);
+    }
 
     /* Did the parse tree get successfully constructed? */
 
@@ -245,14 +257,20 @@ DtDoCompile (
 
     Event = UtBeginEvent ("Compile parse tree");
 
-    /*
-     * Compile the parse tree
-     */
     Status = DtCompileDataTable (&FieldList);
     UtEndEvent (Event);
 
+    FileNode = FlGetCurrentFileNode ();
+
+    FileNode->TotalLineCount = AslGbl_CurrentLineNumber;
+    FileNode->OriginalInputFileSize = AslGbl_InputByteCount;
+    DbgPrint (ASL_PARSE_OUTPUT, "Line count: %u input file size: %u\n",
+            FileNode->TotalLineCount, FileNode->OriginalInputFileSize);
+
     if (ACPI_FAILURE (Status))
     {
+        FileNode->ParserErrorDetected = TRUE;
+
         /* TBD: temporary error message. Msgs should come from function above */
 
         DtError (ASL_ERROR, ASL_MSG_SYNTAX, NULL,
@@ -276,6 +294,11 @@ DtDoCompile (
     HxDoHexOutput ();
     DtWriteTableToListing ();
 
+    /* Save the compile time statistics to the current file node */
+
+    FileNode->TotalFields = AslGbl_InputFieldCount;
+    FileNode->OutputByteLength = AslGbl_TableLength;
+
     return (Status);
 }
 
@@ -293,25 +316,12 @@ DtDoCompile (
  *
  *****************************************************************************/
 
-static ACPI_STATUS
+void
 DtInitialize (
     void)
 {
-    ACPI_STATUS             Status;
 
 
-    Status = AcpiOsInitialize ();
-    if (ACPI_FAILURE (Status))
-    {
-        return (Status);
-    }
-
-    Status = AcpiUtInitGlobals ();
-    if (ACPI_FAILURE (Status))
-    {
-        return (Status);
-    }
-
     AcpiUtSetIntegerWidth (2); /* Set width to 64 bits */
 
     AslGbl_FieldList = NULL;
@@ -319,7 +329,7 @@ DtInitialize (
     AslGbl_SubtableStack = NULL;
 
     sprintf (VersionString, "%X", (UINT32) ACPI_CA_VERSION);
-    return (AE_OK);
+    return;
 }
 
 
@@ -552,7 +562,7 @@ DtCompileTable (
     ACPI_STATUS             Status = AE_OK;
 
 
-    if (!Field)
+    if (!Field || !Info)
     {
         return (AE_BAD_PARAMETER);
     }
@@ -623,6 +633,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)
         {
         case DT_FIELD_TYPE_FLAGS_INTEGER:
diff --git a/sys/contrib/dev/acpica/source/compiler/dtcompiler.h b/sys/contrib/dev/acpica/source/compiler/dtcompiler.h
index ffa17f63dd..9d9008a851 100644
--- a/sys/contrib/dev/acpica/source/compiler/dtcompiler.h
+++ b/sys/contrib/dev/acpica/source/compiler/dtcompiler.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -194,7 +194,7 @@ typedef struct dt_field
 {
     char                    *Name;       /* Field name (from name : value) */
     char                    *Value;      /* Field value (from name : value) */
-    UINT32                  StringLength;/* Length of Value */
+    UINT32                  StringLength; /* Length of Value */
     struct dt_field         *Next;       /* Next field */
     struct dt_field         *NextLabel;  /* If field is a label, next label */
     UINT32                  Line;        /* Line number for this field */
@@ -210,6 +210,17 @@ 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
@@ -256,6 +267,10 @@ DT_EXTERN DT_FIELD          DT_INIT_GLOBAL (*AslGbl_LabelList, NULL);
 
 DT_EXTERN UINT32            DT_INIT_GLOBAL (AslGbl_CurrentTableOffset, 0);
 
+/* Data table compiler Flex/Bison prototype */
+
+DT_EXTERN BOOLEAN           DT_INIT_GLOBAL (AslGbl_DtLexBisonPrototype, FALSE);
+
 /* Local caches */
 
 DT_EXTERN UINT32            DT_INIT_GLOBAL (AslGbl_SubtableCount, 0);
@@ -425,12 +440,44 @@ DtCompileFlag (
     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 */
 
+UINT64                      DtCompilerParserResult; /* Expression return value */
+int
+DtCompilerParserparse (
+    void);
+
 UINT64
 DtEvaluateExpression (
     char                    *ExprString);
 
+void
+DtCompilerInitLexer (
+    FILE                    *inFile);
+
+void
+DtCompilerTerminateLexer (
+    void);
+
 int
 DtInitLexer (
     char                    *String);
diff --git a/sys/contrib/dev/acpica/source/compiler/dtcompilerparser.l b/sys/contrib/dev/acpica/source/compiler/dtcompilerparser.l
new file mode 100644
index 0000000000..28dcf6af84
--- /dev/null
+++ b/sys/contrib/dev/acpica/source/compiler/dtcompilerparser.l
@@ -0,0 +1,294 @@
+%{
+/******************************************************************************
+ *
+ * Module Name: dtcompilerparser.l - Flex input file for table compiler lexer
+ *
+ *****************************************************************************/
+
+/******************************************************************************
+ *
+ * 1. Copyright Notice
+ *
+ * Some or all of this work - Copyright (c) 1999 - 2018, Intel Corp.
+ * All rights reserved.
+ *
+ * 2. License
+ *
+ * 2.1. This is your license from Intel Corp. under its intellectual property
+ * rights. You may have additional license terms from the party that provided
+ * you this software, covering your right to use that party's intellectual
+ * property rights.
+ *
+ * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
+ * copy of the source code appearing in this file ("Covered Code") an
+ * irrevocable, perpetual, worldwide license under Intel's copyrights in the
+ * base code distributed originally by Intel ("Original Intel Code") to copy,
+ * make derivatives, distribute, use and display any portion of the Covered
+ * Code in any form, with the right to sublicense such rights; and
+ *
+ * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
+ * license (with the right to sublicense), under only those claims of Intel
+ * patents that are infringed by the Original Intel Code, to make, use, sell,
+ * offer to sell, and import the Covered Code and derivative works thereof
+ * solely to the minimum extent necessary to exercise the above copyright
+ * license, and in no event shall the patent license extend to any additions
+ * to or modifications of the Original Intel Code. No other license or right
+ * is granted directly or by implication, estoppel or otherwise;
+ *
+ * The above copyright and patent license is granted only if the following
+ * conditions are met:
+ *
+ * 3. Conditions
+ *
+ * 3.1. Redistribution of Source with Rights to Further Distribute Source.
+ * Redistribution of source code of any substantial portion of the Covered
+ * Code or modification with rights to further distribute source must include
+ * the above Copyright Notice, the above License, this list of Conditions,
+ * and the following Disclaimer and Export Compliance provision. In addition,
+ * Licensee must cause all Covered Code to which Licensee contributes to
+ * contain a file documenting the changes Licensee made to create that Covered
+ * Code and the date of any change. Licensee must include in that file the
+ * documentation of any changes made by any predecessor Licensee. Licensee
+ * must include a prominent statement that the modification is derived,
+ * directly or indirectly, from Original Intel Code.
+ *
+ * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
+ * Redistribution of source code of any substantial portion of the Covered
+ * Code or modification without rights to further distribute source must
+ * include the following Disclaimer and Export Compliance provision in the
+ * documentation and/or other materials provided with distribution. In
+ * addition, Licensee may not authorize further sublicense of source of any
+ * portion of the Covered Code, and must include terms to the effect that the
+ * license from Licensee to its licensee is limited to the intellectual
+ * property embodied in the software Licensee provides to its licensee, and
+ * not to intellectual property embodied in modifications its licensee may
+ * make.
+ *
+ * 3.3. Redistribution of Executable. Redistribution in executable form of any
+ * substantial portion of the Covered Code or modification must reproduce the
+ * above Copyright Notice, and the following Disclaimer and Export Compliance
+ * provision in the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3.4. Intel retains all right, title, and interest in and to the Original
+ * Intel Code.
+ *
+ * 3.5. Neither the name Intel nor any other trademark owned or controlled by
+ * Intel shall be used in advertising or otherwise to promote the sale, use or
+ * other dealings in products derived from or relating to the Covered Code
+ * without prior written authorization from Intel.
+ *
+ * 4. Disclaimer and Export Compliance
+ *
+ * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
+ * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
+ * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
+ * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
+ * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
+ * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
+ * PARTICULAR PURPOSE.
+ *
+ * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
+ * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
+ * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
+ * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
+ * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
+ * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
+ * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
+ * LIMITED REMEDY.
+ *
+ * 4.3. Licensee shall not export, either directly or indirectly, any of this
+ * software or system incorporating such software without first obtaining any
+ * required license or other approval from the U. S. Department of Commerce or
+ * any other agency or department of the United States Government. In the
+ * event Licensee exports any such software from the United States or
+ * re-exports any such software from a foreign destination, Licensee shall
+ * ensure that the distribution and export/re-export of the software is in
+ * compliance with all laws, regulations, orders, or other restrictions of the
+ * U.S. Export Administration Regulations. Licensee agrees that neither it nor
+ * any of its subsidiaries will export/re-export any technical data, process,
+ * software, or service, directly or indirectly, to any country for which the
+ * United States government or any agency thereof requires an export license,
+ * other governmental approval, or letter of assurance, without first obtaining
+ * such license, approval or letter.
+ *
+ *****************************************************************************
+ *
+ * Alternatively, you may choose to be licensed under the terms of the
+ * following license:
+ *
+ * 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.
+ *
+ * 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 MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * 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 DAMAGE.
+ *
+ * Alternatively, you may choose to be licensed under the terms of the
+ * GNU General Public License ("GPL") version 2 as published by the Free
+ * Software Foundation.
+ *
+ *****************************************************************************/
+
+#include "aslcompiler.h"
+#include "dtcompilerparser.y.h"
+
+YYSTYPE DtCompilerlval;
+
+#define _COMPONENT          ACPI_COMPILER
+        ACPI_MODULE_NAME    ("dtcompilerscanner")
+
+/* handle locations */
+
+int DtCompilerParsercolumn = 1;
+int DtLabelByteOffset = 0;
+int DtCompilerParserByteOffset = 0;
+
+UINT32 DtTokenFirstLine = 0;
+UINT32 DtTokenFirstColumn = 0;
+
+#define YY_USER_ACTION \
+            DtTokenFirstLine = DtCompilerParserlineno; \
+            DtTokenFirstColumn = DtCompilerParsercolumn; \
+            DtCompilerParsercolumn += DtCompilerParserleng; \
+            DtCompilerParserByteOffset += DtCompilerParserleng; \
+            DbgPrint (ASL_PARSE_OUTPUT,\
+                "user action occurred. DtCompilerParserlloc.first_line: %u\n",\
+                DtTokenFirstLine);
+%}
+
+%option nounput noinput yylineno
+
+    /* Indicates a state used for parsing multiline C comments */
+%x ML_COMMENT
+%x DATA_STATE
+
+WhiteSpace      [ \t\v\r]+
+NewLines        [\n]+
+
+    /* Avoid ", \n, and [] as a part of label name. These are not valid characters of a label name */
+LabelName       [^ ":\n\[\]]([^":\n\[\]]*[^" :\n\[\]])?
+
+    /* Avoid ", \n, \\, and [] as a part of data. These are not valid characters of data */
+Data            [^ \\":\n\[\]]([^":\n\[\]\\]*[^" :\n\[\]\\])?
+
+Text            [^ ":\n][^":\n]*
+Comment         \[[^\n\[\]]*\]
+CommentField    {LabelName}{WhiteSpace}*:{WhiteSpace}{Comment}?$
+
+
+%%
+
+<DATA_STATE>{WhiteSpace}"\\\n" {
+        DbgPrint(ASL_PARSE_OUTPUT,"Continuation matched\n");
+        return (DT_PARSEOP_LINE_CONTINUATION);
+    }
+
+":" {
+        DbgPrint(ASL_PARSE_OUTPUT, ": Matched\n");
+        BEGIN (DATA_STATE);
+        return (':');
+    }
+
+<INITIAL,DATA_STATE>{WhiteSpace} { DbgPrint(ASL_PARSE_OUTPUT,"Whitespace matched\n"); }
+
+<INITIAL,DATA_STATE>{Comment}    { DbgPrint(ASL_PARSE_OUTPUT,"Comment matched\n"); }
+
+"/*"                     { BEGIN (ML_COMMENT); }
+<ML_COMMENT>"*/"         { BEGIN (INITIAL); }
+<ML_COMMENT>"*/\n"       { BEGIN (INITIAL); }
+<ML_COMMENT>([^*]|\n)+|. /* Ignore */
+"//".*                   /* Ignore */
+
+
+<DATA_STATE>{Data} {
+      char *s;
+      int size = strlen (DtCompilerParsertext);
+      s=UtLocalCacheCalloc (size + 1);
+      AcpiUtSafeStrncpy (s, DtCompilerParsertext, size + 1);
+      DtCompilerParserlval.s = s;
+      DbgPrint (ASL_PARSE_OUTPUT, "Data: %s\n", s);
+      return (DT_PARSEOP_DATA);
+}
+
+{CommentField}  /* ignore */
+
+{LabelName} {
+    char *s;
+    int size = strlen (DtCompilerParsertext);
+    s=UtLocalCacheCalloc (size + 1);
+    AcpiUtSafeStrncpy (s, DtCompilerParsertext, size + 1);
+    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);
+}
+
+
+<DATA_STATE>\"{Text}?\" { // remove outer quotes from the string, they are unnecessary
+    char *s;
+    int size = strlen (DtCompilerParsertext);
+    s=UtLocalCacheCalloc (size - 1);
+    AcpiUtSafeStrncpy (s, DtCompilerParsertext + 1, size - 1);
+    DtCompilerParserlval.s = s;
+    DbgPrint (ASL_PARSE_OUTPUT, "String Data: %s\n", s);
+    BEGIN (INITIAL);
+    return (DT_PARSEOP_STRING_DATA);
+}
+
+
+<INITIAL,DATA_STATE>{NewLines} {
+    DbgPrint(ASL_PARSE_OUTPUT,
+        "Newline matched (data state). Current line number: %u\n",DtCompilerParserlineno);
+    BEGIN (INITIAL); DtCompilerParsercolumn = 1;
+}
+
+
+%%
+
+
+/*
+ * Local support functions
+ */
+
+void
+DtCompilerInitLexer (
+    FILE                *inFile)
+{
+    yyin = inFile;
+}
+
+void
+DtCompilerTerminateLexer (
+    void)
+{
+    /*
+     * Flex/Bison increments the lineno for the EOF so decrement by 1 to get
+     * the correct number of lines.
+     */
+    AslGbl_CurrentLineNumber = DtCompilerParserlineno - 1;
+    AslGbl_InputByteCount = DtCompilerParserByteOffset;
+}
diff --git a/sys/contrib/dev/acpica/source/compiler/dtcompilerparser.y b/sys/contrib/dev/acpica/source/compiler/dtcompilerparser.y
new file mode 100644
index 0000000000..43eba4e9c8
--- /dev/null
+++ b/sys/contrib/dev/acpica/source/compiler/dtcompilerparser.y
@@ -0,0 +1,285 @@
+%{
+/******************************************************************************
+ *
+ * Module Name: dtcompilerparser.y - Bison input file for table compiler parser
+ *
+ *****************************************************************************/
+
+/******************************************************************************
+ *
+ * 1. Copyright Notice
+ *
+ * Some or all of this work - Copyright (c) 1999 - 2018, Intel Corp.
+ * All rights reserved.
+ *
+ * 2. License
+ *
+ * 2.1. This is your license from Intel Corp. under its intellectual property
+ * rights. You may have additional license terms from the party that provided
+ * you this software, covering your right to use that party's intellectual
+ * property rights.
+ *
+ * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
+ * copy of the source code appearing in this file ("Covered Code") an
+ * irrevocable, perpetual, worldwide license under Intel's copyrights in the
+ * base code distributed originally by Intel ("Original Intel Code") to copy,
+ * make derivatives, distribute, use and display any portion of the Covered
+ * Code in any form, with the right to sublicense such rights; and
+ *
+ * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
+ * license (with the right to sublicense), under only those claims of Intel
+ * patents that are infringed by the Original Intel Code, to make, use, sell,
+ * offer to sell, and import the Covered Code and derivative works thereof
+ * solely to the minimum extent necessary to exercise the above copyright
+ * license, and in no event shall the patent license extend to any additions
+ * to or modifications of the Original Intel Code. No other license or right
+ * is granted directly or by implication, estoppel or otherwise;
+ *
+ * The above copyright and patent license is granted only if the following
+ * conditions are met:
+ *
+ * 3. Conditions
+ *
+ * 3.1. Redistribution of Source with Rights to Further Distribute Source.
+ * Redistribution of source code of any substantial portion of the Covered
+ * Code or modification with rights to further distribute source must include
+ * the above Copyright Notice, the above License, this list of Conditions,
+ * and the following Disclaimer and Export Compliance provision. In addition,
+ * Licensee must cause all Covered Code to which Licensee contributes to
+ * contain a file documenting the changes Licensee made to create that Covered
+ * Code and the date of any change. Licensee must include in that file the
+ * documentation of any changes made by any predecessor Licensee. Licensee
+ * must include a prominent statement that the modification is derived,
+ * directly or indirectly, from Original Intel Code.
+ *
+ * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
+ * Redistribution of source code of any substantial portion of the Covered
+ * Code or modification without rights to further distribute source must
+ * include the following Disclaimer and Export Compliance provision in the
+ * documentation and/or other materials provided with distribution. In
+ * addition, Licensee may not authorize further sublicense of source of any
+ * portion of the Covered Code, and must include terms to the effect that the
+ * license from Licensee to its licensee is limited to the intellectual
+ * property embodied in the software Licensee provides to its licensee, and
+ * not to intellectual property embodied in modifications its licensee may
+ * make.
+ *
+ * 3.3. Redistribution of Executable. Redistribution in executable form of any
+ * substantial portion of the Covered Code or modification must reproduce the
+ * above Copyright Notice, and the following Disclaimer and Export Compliance
+ * provision in the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3.4. Intel retains all right, title, and interest in and to the Original
+ * Intel Code.
+ *
+ * 3.5. Neither the name Intel nor any other trademark owned or controlled by
+ * Intel shall be used in advertising or otherwise to promote the sale, use or
+ * other dealings in products derived from or relating to the Covered Code
+ * without prior written authorization from Intel.
+ *
+ * 4. Disclaimer and Export Compliance
+ *
+ * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
+ * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
+ * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
+ * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
+ * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
+ * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
+ * PARTICULAR PURPOSE.
+ *
+ * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
+ * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
+ * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
+ * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
+ * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
+ * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
+ * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
+ * LIMITED REMEDY.
+ *
+ * 4.3. Licensee shall not export, either directly or indirectly, any of this
+ * software or system incorporating such software without first obtaining any
+ * required license or other approval from the U. S. Department of Commerce or
+ * any other agency or department of the United States Government. In the
+ * event Licensee exports any such software from the United States or
+ * re-exports any such software from a foreign destination, Licensee shall
+ * ensure that the distribution and export/re-export of the software is in
+ * compliance with all laws, regulations, orders, or other restrictions of the
+ * U.S. Export Administration Regulations. Licensee agrees that neither it nor
+ * any of its subsidiaries will export/re-export any technical data, process,
+ * software, or service, directly or indirectly, to any country for which the
+ * United States government or any agency thereof requires an export license,
+ * other governmental approval, or letter of assurance, without first obtaining
+ * such license, approval or letter.
+ *
+ *****************************************************************************
+ *
+ * Alternatively, you may choose to be licensed under the terms of the
+ * following license:
+ *
+ * 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.
+ *
+ * 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 MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * 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 DAMAGE.
+ *
+ * Alternatively, you may choose to be licensed under the terms of the
+ * GNU General Public License ("GPL") version 2 as published by the Free
+ * Software Foundation.
+ *
+ *****************************************************************************/
+
+#include "aslcompiler.h"
+
+
+#define _COMPONENT          DT_COMPILER
+        ACPI_MODULE_NAME    ("dtcompilerparser")
+
+void *                      AslLocalAllocate (unsigned int Size);
+
+/* Bison/yacc configuration */
+
+#undef alloca
+#define alloca              AslLocalAllocate
+
+int                         DtCompilerParserlex (void);
+int                         DtCompilerParserparse (void);
+void                        DtCompilerParsererror (char const *msg);
+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
+#define YYDEBUG             1               /* Enable debug output */
+#define YYERROR_VERBOSE     1               /* Verbose error messages */
+#define YYFLAG              -32768
+
+/* Define YYMALLOC/YYFREE to prevent redefinition errors  */
+
+#define YYMALLOC            malloc
+#define YYFREE              free
+
+%}
+
+
+%union {
+    char                *s;
+    DT_FIELD            *f;
+    DT_TABLE_UNIT       *u;
+}
+
+
+%type  <f> Table
+%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 { }
+    ;
+
+FieldList
+    : Field FieldList
+    | Field
+    ;
+
+Field
+    : DT_PARSEOP_LABEL ':' Data { DtCreateField ($1, $3, DtLabelByteOffset); }
+    ;
+
+Data
+    : MultiLineDataList        { $$ = $1; }
+    | Datum                    { $$ = $1; }
+    | Datum MultiLineDataList  { $$ = $1; } /* combine the string with strcat */
+    ;
+
+MultiLineDataList
+    : MultiLineDataList MultiLineData { $$ = DtCreateTableUnit (AcpiUtStrcat(AcpiUtStrcat($1->Value, " "), $2->Value), $1->Line, $1->Column); } /* combine the strings with strcat */
+    | MultiLineData                   { $$ = $1; }
+    ;
+
+MultiLineData
+    : DT_PARSEOP_LINE_CONTINUATION Datum { DbgPrint (ASL_PARSE_OUTPUT, "line continuation detected\n"); $$ = $2; }
+    ;
+
+Datum
+    : 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);
+                             }
+    ;
+
+
+%%
+
+
+/*
+ * Local support functions, including parser entry point
+ */
+/******************************************************************************
+ *
+ * FUNCTION:    DtCompilerParsererror
+ *
+ * PARAMETERS:  Message             - Parser-generated error message
+ *
+ * RETURN:      None
+ *
+ * DESCRIPTION: Handler for parser errors
+ *
+ *****************************************************************************/
+
+void
+DtCompilerParsererror (
+    char const              *Message)
+{
+    DtError (ASL_ERROR, ASL_MSG_SYNTAX,
+        AslGbl_CurrentField, (char *) Message);
+}
+
+int
+DtCompilerParserwrap(void)
+{
+  return (1);
+}
diff --git a/sys/contrib/dev/acpica/source/compiler/dtexpress.c b/sys/contrib/dev/acpica/source/compiler/dtexpress.c
index 820e198886..026bf7aa02 100644
--- a/sys/contrib/dev/acpica/source/compiler/dtexpress.c
+++ b/sys/contrib/dev/acpica/source/compiler/dtexpress.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/dtfield.c b/sys/contrib/dev/acpica/source/compiler/dtfield.c
index 74ebf570bf..f976bba525 100644
--- a/sys/contrib/dev/acpica/source/compiler/dtfield.c
+++ b/sys/contrib/dev/acpica/source/compiler/dtfield.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -280,7 +280,9 @@ DtCompileString (
 
     if (Length > ByteLength)
     {
-        sprintf (AslGbl_MsgBuffer, "Maximum %u characters", ByteLength);
+        sprintf (AslGbl_MsgBuffer,
+            "Maximum %u characters, found %u characters [%s]",
+            ByteLength, Length, Field->Value);
         DtError (ASL_ERROR, ASL_MSG_STRING_LENGTH, Field, AslGbl_MsgBuffer);
         Length = ByteLength;
     }
@@ -574,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) */
 
@@ -719,3 +729,122 @@ 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
+ *
+ * PARAMETERS:  Field               - New field object to link
+ *
+ * RETURN:      None
+ *
+ * DESCRIPTION: Link one field name and value to the list
+ *
+ *****************************************************************************/
+
+void
+DtLinkField (
+    DT_FIELD                *Field)
+{
+    DT_FIELD                *Prev;
+    DT_FIELD                *Next;
+
+
+    Prev = Next = AslGbl_FieldList;
+
+    while (Next)
+    {
+        Prev = Next;
+        Next = Next->Next;
+    }
+
+    if (Prev)
+    {
+        Prev->Next = Field;
+    }
+    else
+    {
+        AslGbl_FieldList = Field;
+    }
+}
diff --git a/sys/contrib/dev/acpica/source/compiler/dtio.c b/sys/contrib/dev/acpica/source/compiler/dtio.c
index ae8275132b..3a509b296f 100644
--- a/sys/contrib/dev/acpica/source/compiler/dtio.c
+++ b/sys/contrib/dev/acpica/source/compiler/dtio.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -162,10 +162,6 @@ static char *
 DtTrim (
     char                    *String);
 
-static void
-DtLinkField (
-    DT_FIELD                *Field);
-
 static ACPI_STATUS
 DtParseLine (
     char                    *LineBuffer,
@@ -297,45 +293,6 @@ DtTrim (
 }
 
 
-/******************************************************************************
- *
- * FUNCTION:    DtLinkField
- *
- * PARAMETERS:  Field               - New field object to link
- *
- * RETURN:      None
- *
- * DESCRIPTION: Link one field name and value to the list
- *
- *****************************************************************************/
-
-static void
-DtLinkField (
-    DT_FIELD                *Field)
-{
-    DT_FIELD                *Prev;
-    DT_FIELD                *Next;
-
-
-    Prev = Next = AslGbl_FieldList;
-
-    while (Next)
-    {
-        Prev = Next;
-        Next = Next->Next;
-    }
-
-    if (Prev)
-    {
-        Prev->Next = Field;
-    }
-    else
-    {
-        AslGbl_FieldList = Field;
-    }
-}
-
-
 /******************************************************************************
  *
  * FUNCTION:    DtParseLine
@@ -787,7 +744,6 @@ DtGetNextLine (
 
             case '\n':
 
-                CurrentLineOffset = AslGbl_NextLineOffset;
                 AslGbl_NextLineOffset = (UINT32) ftell (Handle);
                 AslGbl_CurrentLineNumber++;
                 break;
@@ -829,7 +785,6 @@ DtGetNextLine (
 
                 /* Ignore newline, this will merge the lines */
 
-                CurrentLineOffset = AslGbl_NextLineOffset;
                 AslGbl_NextLineOffset = (UINT32) ftell (Handle);
                 AslGbl_CurrentLineNumber++;
                 State = DT_NORMAL_TEXT;
@@ -1117,7 +1072,7 @@ DtDumpSubtableInfo (
 {
 
     DbgPrint (ASL_DEBUG_OUTPUT,
-        "[%.04X] %24s %.08X %.08X %.08X %.08X %.08X %p %p %p\n",
+        "[%.04X] %24s %.08X %.08X %.08X %.08X %p %p %p %p\n",
         Subtable->Depth, Subtable->Name, Subtable->Length, Subtable->TotalLength,
         Subtable->SizeOfLengthField, Subtable->Flags, Subtable,
         Subtable->Parent, Subtable->Child, Subtable->Peer);
@@ -1131,7 +1086,7 @@ DtDumpSubtableTree (
 {
 
     DbgPrint (ASL_DEBUG_OUTPUT,
-        "[%.04X] %24s %*s%08X (%.02X) - (%.02X)\n",
+        "[%.04X] %24s %*s%p (%.02X) - (%.02X)\n",
         Subtable->Depth, Subtable->Name, (4 * Subtable->Depth), " ",
         Subtable, Subtable->Length, Subtable->TotalLength);
 }
@@ -1225,7 +1180,7 @@ DtWriteFieldToListing (
     if (strlen (Field->Value) > 64)
     {
         FlPrintFile (ASL_FILE_LISTING_OUTPUT, "...Additional data, length 0x%X\n",
-            strlen (Field->Value));
+            (UINT32) strlen (Field->Value));
     }
 
     FlPrintFile (ASL_FILE_LISTING_OUTPUT, "\n");
diff --git a/sys/contrib/dev/acpica/source/compiler/dtparser.l b/sys/contrib/dev/acpica/source/compiler/dtparser.l
index 2dc09334b5..ff7df507fa 100644
--- a/sys/contrib/dev/acpica/source/compiler/dtparser.l
+++ b/sys/contrib/dev/acpica/source/compiler/dtparser.l
@@ -9,7 +9,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -227,7 +227,6 @@ int
 DtInitLexer (
     char                    *String)
 {
-
     LexBuffer = yy_scan_string (String);
     return (LexBuffer == NULL);
 }
@@ -236,6 +235,5 @@ void
 DtTerminateLexer (
     void)
 {
-
     yy_delete_buffer (LexBuffer);
 }
diff --git a/sys/contrib/dev/acpica/source/compiler/dtparser.y b/sys/contrib/dev/acpica/source/compiler/dtparser.y
index aa91ffa53c..55c5b821e7 100644
--- a/sys/contrib/dev/acpica/source/compiler/dtparser.y
+++ b/sys/contrib/dev/acpica/source/compiler/dtparser.y
@@ -9,7 +9,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/dtsubtable.c b/sys/contrib/dev/acpica/source/compiler/dtsubtable.c
index 1300ea4add..8d4a2e45ec 100644
--- a/sys/contrib/dev/acpica/source/compiler/dtsubtable.c
+++ b/sys/contrib/dev/acpica/source/compiler/dtsubtable.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/dttable.c b/sys/contrib/dev/acpica/source/compiler/dttable.c
index 40f9930f74..78393b0193 100644
--- a/sys/contrib/dev/acpica/source/compiler/dttable.c
+++ b/sys/contrib/dev/acpica/source/compiler/dttable.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/dttable1.c b/sys/contrib/dev/acpica/source/compiler/dttable1.c
index c43b9e6c07..c7256b77a3 100644
--- a/sys/contrib/dev/acpica/source/compiler/dttable1.c
+++ b/sys/contrib/dev/acpica/source/compiler/dttable1.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/dttable2.c b/sys/contrib/dev/acpica/source/compiler/dttable2.c
index 04f48cc0ca..48b05edd74 100644
--- a/sys/contrib/dev/acpica/source/compiler/dttable2.c
+++ b/sys/contrib/dev/acpica/source/compiler/dttable2.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -1474,13 +1474,14 @@ DtCompileSdev (
                         Namesp->DeviceIdOffset + Namesp->DeviceIdLength;
                     Namesp->VendorDataLength =
                         (UINT16) Subtable->Length;
+
+                    /* Final size of entire namespace structure */
+
+                    SdevHeader->Length = (UINT16)(sizeof(ACPI_SDEV_NAMESPACE) +
+                        Subtable->Length + Namesp->DeviceIdLength);
                 }
             }
 
-            /* Final size of entire namespace structure */
-
-            SdevHeader->Length = (UINT16) (sizeof (ACPI_SDEV_NAMESPACE) +
-                Subtable->Length + Namesp->DeviceIdLength);
             break;
 
         case ACPI_SDEV_TYPE_PCIE_ENDPOINT_DEVICE:
@@ -1620,7 +1621,9 @@ DtCompileSlit (
     DT_SUBTABLE             *ParentTable;
     DT_FIELD                **PFieldList = (DT_FIELD **) List;
     DT_FIELD                *FieldList;
+    DT_FIELD                *EndOfFieldList = NULL;
     UINT32                  Localities;
+    UINT32                  LocalityListLength;
     UINT8                   *LocalityBuffer;
 
 
@@ -1636,6 +1639,7 @@ DtCompileSlit (
 
     Localities = *ACPI_CAST_PTR (UINT32, Subtable->Buffer);
     LocalityBuffer = UtLocalCalloc (Localities);
+    LocalityListLength = 0;
 
     /* Compile each locality buffer */
 
@@ -1645,11 +1649,23 @@ DtCompileSlit (
         DtCompileBuffer (LocalityBuffer,
             FieldList->Value, FieldList, Localities);
 
+        LocalityListLength++;
         DtCreateSubtable (LocalityBuffer, Localities, &Subtable);
         DtInsertSubtable (ParentTable, Subtable);
+        EndOfFieldList = FieldList;
         FieldList = FieldList->Next;
     }
 
+    if (LocalityListLength != Localities)
+    {
+        sprintf(AslGbl_MsgBuffer,
+            "Found %u entries, must match LocalityCount: %u",
+            LocalityListLength, Localities);
+        DtError (ASL_ERROR, ASL_MSG_ENTRY_LIST, EndOfFieldList, AslGbl_MsgBuffer);
+        ACPI_FREE (LocalityBuffer);
+        return (AE_LIMIT);
+    }
+
     ACPI_FREE (LocalityBuffer);
     return (AE_OK);
 }
diff --git a/sys/contrib/dev/acpica/source/compiler/dttemplate.c b/sys/contrib/dev/acpica/source/compiler/dttemplate.c
index 4cc6c04032..5129138fd9 100644
--- a/sys/contrib/dev/acpica/source/compiler/dttemplate.c
+++ b/sys/contrib/dev/acpica/source/compiler/dttemplate.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -509,7 +509,7 @@ DtCreateOneTemplate (
     AcpiUtStrlwr (DisasmFilename);
     if (!UtQueryForOverwrite (DisasmFilename))
     {
-        return (AE_ERROR);
+        return (AE_OK);
     }
 
     File = fopen (DisasmFilename, "w+");
diff --git a/sys/contrib/dev/acpica/source/compiler/dttemplate.h b/sys/contrib/dev/acpica/source/compiler/dttemplate.h
index cb1c58552a..4849adf464 100644
--- a/sys/contrib/dev/acpica/source/compiler/dttemplate.h
+++ b/sys/contrib/dev/acpica/source/compiler/dttemplate.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/dtutils.c b/sys/contrib/dev/acpica/source/compiler/dtutils.c
index cdfde4fa93..067d0ece2c 100644
--- a/sys/contrib/dev/acpica/source/compiler/dtutils.c
+++ b/sys/contrib/dev/acpica/source/compiler/dtutils.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/preprocess.h b/sys/contrib/dev/acpica/source/compiler/preprocess.h
index ba192f1a0a..e625b0761b 100644
--- a/sys/contrib/dev/acpica/source/compiler/preprocess.h
+++ b/sys/contrib/dev/acpica/source/compiler/preprocess.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/prexpress.c b/sys/contrib/dev/acpica/source/compiler/prexpress.c
index 78ce14bc09..e3a101eb4a 100644
--- a/sys/contrib/dev/acpica/source/compiler/prexpress.c
+++ b/sys/contrib/dev/acpica/source/compiler/prexpress.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/prmacros.c b/sys/contrib/dev/acpica/source/compiler/prmacros.c
index e3ee5beb04..2ded5d5662 100644
--- a/sys/contrib/dev/acpica/source/compiler/prmacros.c
+++ b/sys/contrib/dev/acpica/source/compiler/prmacros.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -223,7 +223,7 @@ PrAddDefine (
     DefineInfo = PrMatchDefine (Identifier);
     if (DefineInfo)
     {
-        DbgPrint (ASL_DEBUG_OUTPUT, PR_PREFIX_ID,
+        DbgPrint (ASL_DEBUG_OUTPUT, PR_PREFIX_ID
             "#define: name already exists: %s\n",
             AslGbl_CurrentLineNumber, Identifier);
 
diff --git a/sys/contrib/dev/acpica/source/compiler/prparser.l b/sys/contrib/dev/acpica/source/compiler/prparser.l
index 80b8743d16..65595fa81f 100644
--- a/sys/contrib/dev/acpica/source/compiler/prparser.l
+++ b/sys/contrib/dev/acpica/source/compiler/prparser.l
@@ -9,7 +9,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/prparser.y b/sys/contrib/dev/acpica/source/compiler/prparser.y
index c5a3a16bc0..f01137516f 100644
--- a/sys/contrib/dev/acpica/source/compiler/prparser.y
+++ b/sys/contrib/dev/acpica/source/compiler/prparser.y
@@ -9,7 +9,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/compiler/prscan.c b/sys/contrib/dev/acpica/source/compiler/prscan.c
index 9138ba5d0a..346ee70c1c 100644
--- a/sys/contrib/dev/acpica/source/compiler/prscan.c
+++ b/sys/contrib/dev/acpica/source/compiler/prscan.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -850,7 +850,7 @@ PrDoDirective (
 
         DbgPrint (ASL_PARSE_OUTPUT, PR_PREFIX_ID
             "Start #include file \"%s\"\n", AslGbl_CurrentLineNumber,
-            Token, AslGbl_CurrentLineNumber);
+            Token);
 
         PrDoIncludeFile (Token);
         break;
@@ -1356,7 +1356,7 @@ PrDoIncludeBuffer (
     {
         if (!(i % 8))
         {
-            FlPrintFile (ASL_FILE_PREPROCESSOR, "\n   ", c);
+            FlPrintFile (ASL_FILE_PREPROCESSOR, "\n   ");
         }
 
         FlPrintFile (ASL_FILE_PREPROCESSOR, " 0x%2.2X,", c);
@@ -1369,6 +1369,6 @@ PrDoIncludeBuffer (
 
     /* Close the Name() operator */
 
-    FlPrintFile (ASL_FILE_PREPROCESSOR, "\n})\n", BufferName);
+    FlPrintFile (ASL_FILE_PREPROCESSOR, "\n})\n");
     fclose (BinaryBufferFile);
 }
diff --git a/sys/contrib/dev/acpica/source/compiler/prutils.c b/sys/contrib/dev/acpica/source/compiler/prutils.c
index f3d615ad5c..ab6eeba595 100644
--- a/sys/contrib/dev/acpica/source/compiler/prutils.c
+++ b/sys/contrib/dev/acpica/source/compiler/prutils.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/debugger/dbcmds.c b/sys/contrib/dev/acpica/source/components/debugger/dbcmds.c
index f69bf7b95e..430cc55574 100644
--- a/sys/contrib/dev/acpica/source/components/debugger/dbcmds.c
+++ b/sys/contrib/dev/acpica/source/components/debugger/dbcmds.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/debugger/dbconvert.c b/sys/contrib/dev/acpica/source/components/debugger/dbconvert.c
index 22b0a60dad..1c4ef8a82d 100644
--- a/sys/contrib/dev/acpica/source/components/debugger/dbconvert.c
+++ b/sys/contrib/dev/acpica/source/components/debugger/dbconvert.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -275,6 +275,10 @@ AcpiDbConvertToBuffer (
     ACPI_STATUS             Status;
 
 
+    /* Skip all preceding white space*/
+
+    AcpiUtRemoveWhitespace (&String);
+
     /* Generate the final buffer length */
 
     for (i = 0, Length = 0; String[i];)
diff --git a/sys/contrib/dev/acpica/source/components/debugger/dbdisply.c b/sys/contrib/dev/acpica/source/components/debugger/dbdisply.c
index 78654bfa6f..09ed8cda9e 100644
--- a/sys/contrib/dev/acpica/source/components/debugger/dbdisply.c
+++ b/sys/contrib/dev/acpica/source/components/debugger/dbdisply.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -715,7 +715,6 @@ AcpiDbDisplayResults (
         return;
     }
 
-    ObjDesc = WalkState->MethodDesc;
     Node  = WalkState->MethodNode;
 
     if (WalkState->Results)
@@ -775,7 +774,6 @@ AcpiDbDisplayCallingTree (
         return;
     }
 
-    Node = WalkState->MethodNode;
     AcpiOsPrintf ("Current Control Method Call Tree\n");
 
     while (WalkState)
diff --git a/sys/contrib/dev/acpica/source/components/debugger/dbexec.c b/sys/contrib/dev/acpica/source/components/debugger/dbexec.c
index 801dac0482..783d659c26 100644
--- a/sys/contrib/dev/acpica/source/components/debugger/dbexec.c
+++ b/sys/contrib/dev/acpica/source/components/debugger/dbexec.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/debugger/dbfileio.c b/sys/contrib/dev/acpica/source/components/debugger/dbfileio.c
index 7e6f3d1303..f12df22d1f 100644
--- a/sys/contrib/dev/acpica/source/components/debugger/dbfileio.c
+++ b/sys/contrib/dev/acpica/source/components/debugger/dbfileio.c
@@ -9,7 +9,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -256,7 +256,7 @@ AcpiDbLoadTables (
     {
         Table = TableListHead->Table;
 
-        Status = AcpiLoadTable (Table);
+        Status = AcpiLoadTable (Table, NULL);
         if (ACPI_FAILURE (Status))
         {
             if (Status == AE_ALREADY_EXISTS)
diff --git a/sys/contrib/dev/acpica/source/components/debugger/dbhistry.c b/sys/contrib/dev/acpica/source/components/debugger/dbhistry.c
index 0c9589bc23..68c474ed09 100644
--- a/sys/contrib/dev/acpica/source/components/debugger/dbhistry.c
+++ b/sys/contrib/dev/acpica/source/components/debugger/dbhistry.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -285,7 +285,7 @@ AcpiDbDisplayHistory (
     {
         if (AcpiGbl_HistoryBuffer[HistoryIndex].Command)
         {
-            AcpiOsPrintf ("%3ld  %s\n",
+            AcpiOsPrintf ("%3u  %s\n",
                 AcpiGbl_HistoryBuffer[HistoryIndex].CmdNum,
                 AcpiGbl_HistoryBuffer[HistoryIndex].Command);
         }
diff --git a/sys/contrib/dev/acpica/source/components/debugger/dbinput.c b/sys/contrib/dev/acpica/source/components/debugger/dbinput.c
index 3aac98f566..d885958731 100644
--- a/sys/contrib/dev/acpica/source/components/debugger/dbinput.c
+++ b/sys/contrib/dev/acpica/source/components/debugger/dbinput.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -210,6 +210,7 @@ enum AcpiExDebuggerCommands
     CMD_EVALUATE,
     CMD_EXECUTE,
     CMD_EXIT,
+    CMD_FIELDS,
     CMD_FIND,
     CMD_GO,
     CMD_HANDLERS,
@@ -289,6 +290,7 @@ static const ACPI_DB_COMMAND_INFO   AcpiGbl_DbCommands[] =
     {"EVALUATE",     1},
     {"EXECUTE",      1},
     {"EXIT",         0},
+    {"FIELDS",       1},
     {"FIND",         1},
     {"GO",           0},
     {"HANDLERS",     0},
@@ -362,6 +364,7 @@ static const ACPI_DB_COMMAND_HELP   AcpiGbl_DbCommandHelp[] =
     {1, "  Find <AcpiName> (? is wildcard)",    "Find ACPI name(s) with wildcards\n"},
     {1, "  Integrity",                          "Validate namespace integrity\n"},
     {1, "  Methods",                            "Display list of loaded control methods\n"},
+    {1, "  Fields <AddressSpaceId>",            "Display list of loaded field units by space ID\n"},
     {1, "  Namespace [Object] [Depth]",         "Display loaded namespace tree/subtree\n"},
     {1, "  Notify <Object> <Value>",            "Send a notification on Object\n"},
     {1, "  Objects [ObjectType]",               "Display summary of all objects or just given type\n"},
@@ -685,6 +688,22 @@ AcpiDbGetNextToken (
         }
         break;
 
+    case '{':
+
+        /* This is the start of a field unit, scan until closing brace */
+
+        String++;
+        Start = String;
+        Type = ACPI_TYPE_FIELD_UNIT;
+
+        /* Find end of buffer */
+
+        while (*String && (*String != '}'))
+        {
+            String++;
+        }
+        break;
+
     case '[':
 
         /* This is the start of a package, scan until closing bracket */
@@ -787,7 +806,7 @@ AcpiDbGetLine (
     {
         AcpiOsPrintf (
             "Buffer overflow while parsing input line (max %u characters)\n",
-            sizeof (AcpiGbl_DbParsedBuf));
+            (UINT32) sizeof (AcpiGbl_DbParsedBuf));
         return (0);
     }
 
@@ -879,6 +898,7 @@ AcpiDbCommandDispatch (
     ACPI_PARSE_OBJECT       *Op)
 {
     UINT32                  Temp;
+    UINT64                  Temp64;
     UINT32                  CommandIndex;
     UINT32                  ParamCount;
     char                    *CommandLine;
@@ -896,7 +916,6 @@ AcpiDbCommandDispatch (
 
     ParamCount = AcpiDbGetLine (InputBuffer);
     CommandIndex = AcpiDbMatchCommand (AcpiGbl_DbArgs[0]);
-    Temp = 0;
 
     /*
      * We don't want to add the !! command to the history buffer. It
@@ -995,6 +1014,21 @@ AcpiDbCommandDispatch (
         Status = AcpiDbFindNameInNamespace (AcpiGbl_DbArgs[1]);
         break;
 
+    case CMD_FIELDS:
+
+        Status = AcpiUtStrtoul64 (AcpiGbl_DbArgs[1], &Temp64);
+
+        if (ACPI_FAILURE (Status) || Temp64 >= ACPI_NUM_PREDEFINED_REGIONS)
+        {
+            AcpiOsPrintf (
+                "Invalid address space ID: must be between 0 and %u inclusive\n",
+                ACPI_NUM_PREDEFINED_REGIONS - 1);
+            return (AE_OK);
+        }
+
+        Status = AcpiDbDisplayFields ((UINT32) Temp64);
+        break;
+
     case CMD_GO:
 
         AcpiGbl_CmSingleStep = FALSE;
@@ -1062,10 +1096,10 @@ AcpiDbCommandDispatch (
         if (ParamCount == 0)
         {
             AcpiOsPrintf (
-                "Current debug level for file output is:    %8.8lX\n",
+                "Current debug level for file output is:    %8.8X\n",
                 AcpiGbl_DbDebugLevel);
             AcpiOsPrintf (
-                "Current debug level for console output is: %8.8lX\n",
+                "Current debug level for console output is: %8.8X\n",
                 AcpiGbl_DbConsoleDebugLevel);
         }
         else if (ParamCount == 2)
@@ -1074,7 +1108,7 @@ AcpiDbCommandDispatch (
             AcpiGbl_DbConsoleDebugLevel =
                 strtoul (AcpiGbl_DbArgs[1], NULL, 16);
             AcpiOsPrintf (
-                "Debug Level for console output was %8.8lX, now %8.8lX\n",
+                "Debug Level for console output was %8.8X, now %8.8X\n",
                 Temp, AcpiGbl_DbConsoleDebugLevel);
         }
         else
@@ -1082,7 +1116,7 @@ AcpiDbCommandDispatch (
             Temp = AcpiGbl_DbDebugLevel;
             AcpiGbl_DbDebugLevel = strtoul (AcpiGbl_DbArgs[1], NULL, 16);
             AcpiOsPrintf (
-                "Debug Level for file output was %8.8lX, now %8.8lX\n",
+                "Debug Level for file output was %8.8X, now %8.8X\n",
                 Temp, AcpiGbl_DbDebugLevel);
         }
         break;
diff --git a/sys/contrib/dev/acpica/source/components/debugger/dbmethod.c b/sys/contrib/dev/acpica/source/components/debugger/dbmethod.c
index 3f1ed8da47..a506476683 100644
--- a/sys/contrib/dev/acpica/source/components/debugger/dbmethod.c
+++ b/sys/contrib/dev/acpica/source/components/debugger/dbmethod.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -495,6 +495,11 @@ AcpiDbDisassembleMethod (
     }
 
     Status = AcpiUtAllocateOwnerId (&ObjDesc->Method.OwnerId);
+    if (ACPI_FAILURE(Status))
+    {
+        return (Status);
+    }
+
     WalkState->OwnerId = ObjDesc->Method.OwnerId;
 
     /* Push start scope on scope stack and make it current */
@@ -512,6 +517,11 @@ AcpiDbDisassembleMethod (
     WalkState->ParseFlags |= ACPI_PARSE_DISASSEMBLE;
 
     Status = AcpiPsParseAml (WalkState);
+    if (ACPI_FAILURE(Status))
+    {
+        return (Status);
+    }
+
     (void) AcpiDmParseDeferredOps (Op);
 
     /* Now we can disassemble the method */
diff --git a/sys/contrib/dev/acpica/source/components/debugger/dbnames.c b/sys/contrib/dev/acpica/source/components/debugger/dbnames.c
index 1ff5e892ce..f81bc63149 100644
--- a/sys/contrib/dev/acpica/source/components/debugger/dbnames.c
+++ b/sys/contrib/dev/acpica/source/components/debugger/dbnames.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -154,6 +154,7 @@
 #include "acnamesp.h"
 #include "acdebug.h"
 #include "acpredef.h"
+#include "acinterp.h"
 
 
 #ifdef ACPI_DEBUGGER
@@ -724,6 +725,90 @@ AcpiDbWalkForObjectCounts (
 }
 
 
+/*******************************************************************************
+ *
+ * FUNCTION:    AcpiDbWalkForFields
+ *
+ * PARAMETERS:  Callback from WalkNamespace
+ *
+ * RETURN:      Status
+ *
+ * DESCRIPTION: Display short info about objects in the namespace
+ *
+ ******************************************************************************/
+
+static ACPI_STATUS
+AcpiDbWalkForFields (
+    ACPI_HANDLE             ObjHandle,
+    UINT32                  NestingLevel,
+    void                    *Context,
+    void                    **ReturnValue)
+{
+    ACPI_OBJECT             *RetValue;
+    ACPI_REGION_WALK_INFO   *Info = (ACPI_REGION_WALK_INFO *) Context;
+    ACPI_BUFFER             Buffer;
+    ACPI_STATUS             Status;
+    ACPI_NAMESPACE_NODE     *Node = AcpiNsValidateHandle (ObjHandle);
+
+
+    if (!Node)
+    {
+       return (AE_OK);
+    }
+    if (Node->Object->Field.RegionObj->Region.SpaceId != Info->AddressSpaceId)
+    {
+       return (AE_OK);
+    }
+
+    Info->Count++;
+
+    /* Get and display the full pathname to this object */
+
+    Buffer.Length = ACPI_ALLOCATE_LOCAL_BUFFER;
+    Status = AcpiNsHandleToPathname (ObjHandle, &Buffer, TRUE);
+    if (ACPI_FAILURE (Status))
+    {
+        AcpiOsPrintf ("Could Not get pathname for object %p\n", ObjHandle);
+        return (AE_OK);
+    }
+
+    AcpiOsPrintf ("%s ", (char *) Buffer.Pointer);
+    ACPI_FREE (Buffer.Pointer);
+
+    Buffer.Length = ACPI_ALLOCATE_LOCAL_BUFFER;
+    AcpiEvaluateObject (ObjHandle, NULL, NULL, &Buffer);
+
+    /*
+     * Since this is a field unit, surround the output in braces
+     */
+    AcpiOsPrintf ("{");
+
+    RetValue = (ACPI_OBJECT *) Buffer.Pointer;
+    switch (RetValue->Type)
+    {
+        case ACPI_TYPE_INTEGER:
+
+            AcpiOsPrintf ("%8.8X%8.8X", ACPI_FORMAT_UINT64 (RetValue->Integer.Value));
+            break;
+
+        case ACPI_TYPE_BUFFER:
+
+            AcpiUtDumpBuffer (RetValue->Buffer.Pointer,
+                RetValue->Buffer.Length, DB_DISPLAY_DATA_ONLY | DB_BYTE_DISPLAY, 0);
+            break;
+
+        default:
+
+            break;
+    }
+
+    AcpiOsPrintf ("}\n");
+
+    ACPI_FREE (Buffer.Pointer);
+    return (AE_OK);
+}
+
+
 /*******************************************************************************
  *
  * FUNCTION:    AcpiDbWalkForSpecificObjects
@@ -859,6 +944,42 @@ AcpiDbDisplayObjects (
 }
 
 
+/*******************************************************************************
+ *
+ * FUNCTION:    AcpiDbDisplayFields
+ *
+ * PARAMETERS:  ObjTypeArg          - Type of object to display
+ *              DisplayCountArg     - Max depth to display
+ *
+ * RETURN:      None
+ *
+ * DESCRIPTION: Display objects in the namespace of the requested type
+ *
+ ******************************************************************************/
+
+ACPI_STATUS
+AcpiDbDisplayFields (
+    UINT32                  AddressSpaceId)
+{
+    ACPI_REGION_WALK_INFO  Info;
+
+
+    Info.Count = 0;
+    Info.OwnerId = ACPI_OWNER_ID_MAX;
+    Info.DebugLevel = ACPI_UINT32_MAX;
+    Info.DisplayType = ACPI_DISPLAY_SUMMARY | ACPI_DISPLAY_SHORT;
+    Info.AddressSpaceId = AddressSpaceId;
+
+    /* Walk the namespace from the root */
+
+    (void) AcpiWalkNamespace (ACPI_TYPE_LOCAL_REGION_FIELD, ACPI_ROOT_OBJECT,
+          ACPI_UINT32_MAX, AcpiDbWalkForFields, NULL,
+          (void *) &Info, NULL);
+
+    return (AE_OK);
+}
+
+
 /*******************************************************************************
  *
  * FUNCTION:    AcpiDbIntegrityWalk
diff --git a/sys/contrib/dev/acpica/source/components/debugger/dbobject.c b/sys/contrib/dev/acpica/source/components/debugger/dbobject.c
index e534443180..0a51aa7033 100644
--- a/sys/contrib/dev/acpica/source/components/debugger/dbobject.c
+++ b/sys/contrib/dev/acpica/source/components/debugger/dbobject.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -569,7 +569,6 @@ AcpiDbDecodeLocals (
 
 
     Node = WalkState->MethodNode;
-    ObjDesc = WalkState->MethodDesc;
 
     /* There are no locals for the module-level code case */
 
@@ -652,7 +651,6 @@ AcpiDbDecodeArguments (
 
 
     Node = WalkState->MethodNode;
-    ObjDesc = WalkState->MethodDesc;
 
     /* There are no arguments for the module-level code case */
 
diff --git a/sys/contrib/dev/acpica/source/components/debugger/dbstats.c b/sys/contrib/dev/acpica/source/components/debugger/dbstats.c
index 719da1b362..cedc629178 100644
--- a/sys/contrib/dev/acpica/source/components/debugger/dbstats.c
+++ b/sys/contrib/dev/acpica/source/components/debugger/dbstats.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -545,14 +545,14 @@ AcpiDbDisplayStatistics (
 
         for (i = 0; i < ACPI_TYPE_NS_NODE_MAX; i++)
         {
-            AcpiOsPrintf ("%16.16s % 10ld% 10ld\n", AcpiUtGetTypeName (i),
+            AcpiOsPrintf ("%16.16s %10u %10u\n", AcpiUtGetTypeName (i),
                 AcpiGbl_NodeTypeCount [i], AcpiGbl_ObjTypeCount [i]);
         }
 
-        AcpiOsPrintf ("%16.16s % 10ld% 10ld\n", "Misc/Unknown",
+        AcpiOsPrintf ("%16.16s %10u %10u\n", "Misc/Unknown",
             AcpiGbl_NodeTypeCountMisc, AcpiGbl_ObjTypeCountMisc);
 
-        AcpiOsPrintf ("%16.16s % 10ld% 10ld\n", "TOTALS:",
+        AcpiOsPrintf ("%16.16s %10u %10u\n", "TOTALS:",
             AcpiGbl_NumNodes, AcpiGbl_NumObjects);
         break;
 
@@ -578,17 +578,15 @@ AcpiDbDisplayStatistics (
     case CMD_STAT_MISC:
 
         AcpiOsPrintf ("\nMiscellaneous Statistics:\n\n");
-        AcpiOsPrintf ("Calls to AcpiPsFind:..  ........% 7ld\n",
+        AcpiOsPrintf ("%-28s:       %7u\n", "Calls to AcpiPsFind",
             AcpiGbl_PsFindCount);
-        AcpiOsPrintf ("Calls to AcpiNsLookup:..........% 7ld\n",
+        AcpiOsPrintf ("%-28s:       %7u\n", "Calls to AcpiNsLookup",
             AcpiGbl_NsLookupCount);
 
-        AcpiOsPrintf ("\n");
-
-        AcpiOsPrintf ("Mutex usage:\n\n");
+        AcpiOsPrintf ("\nMutex usage:\n\n");
         for (i = 0; i < ACPI_NUM_MUTEX; i++)
         {
-            AcpiOsPrintf ("%-28s:       % 7ld\n",
+            AcpiOsPrintf ("%-28s:       %7u\n",
                 AcpiUtGetMutexName (i), AcpiGbl_MutexInfo[i].UseCount);
         }
         break;
@@ -597,50 +595,50 @@ AcpiDbDisplayStatistics (
 
         AcpiOsPrintf ("\nInternal object sizes:\n\n");
 
-        AcpiOsPrintf ("Common           %3d\n", sizeof (ACPI_OBJECT_COMMON));
-        AcpiOsPrintf ("Number           %3d\n", sizeof (ACPI_OBJECT_INTEGER));
-        AcpiOsPrintf ("String           %3d\n", sizeof (ACPI_OBJECT_STRING));
-        AcpiOsPrintf ("Buffer           %3d\n", sizeof (ACPI_OBJECT_BUFFER));
-        AcpiOsPrintf ("Package          %3d\n", sizeof (ACPI_OBJECT_PACKAGE));
-        AcpiOsPrintf ("BufferField      %3d\n", sizeof (ACPI_OBJECT_BUFFER_FIELD));
-        AcpiOsPrintf ("Device           %3d\n", sizeof (ACPI_OBJECT_DEVICE));
-        AcpiOsPrintf ("Event            %3d\n", sizeof (ACPI_OBJECT_EVENT));
-        AcpiOsPrintf ("Method           %3d\n", sizeof (ACPI_OBJECT_METHOD));
-        AcpiOsPrintf ("Mutex            %3d\n", sizeof (ACPI_OBJECT_MUTEX));
-        AcpiOsPrintf ("Region           %3d\n", sizeof (ACPI_OBJECT_REGION));
-        AcpiOsPrintf ("PowerResource    %3d\n", sizeof (ACPI_OBJECT_POWER_RESOURCE));
-        AcpiOsPrintf ("Processor        %3d\n", sizeof (ACPI_OBJECT_PROCESSOR));
-        AcpiOsPrintf ("ThermalZone      %3d\n", sizeof (ACPI_OBJECT_THERMAL_ZONE));
-        AcpiOsPrintf ("RegionField      %3d\n", sizeof (ACPI_OBJECT_REGION_FIELD));
-        AcpiOsPrintf ("BankField        %3d\n", sizeof (ACPI_OBJECT_BANK_FIELD));
-        AcpiOsPrintf ("IndexField       %3d\n", sizeof (ACPI_OBJECT_INDEX_FIELD));
-        AcpiOsPrintf ("Reference        %3d\n", sizeof (ACPI_OBJECT_REFERENCE));
-        AcpiOsPrintf ("Notify           %3d\n", sizeof (ACPI_OBJECT_NOTIFY_HANDLER));
-        AcpiOsPrintf ("AddressSpace     %3d\n", sizeof (ACPI_OBJECT_ADDR_HANDLER));
-        AcpiOsPrintf ("Extra            %3d\n", sizeof (ACPI_OBJECT_EXTRA));
-        AcpiOsPrintf ("Data             %3d\n", sizeof (ACPI_OBJECT_DATA));
+        AcpiOsPrintf ("Common           %3d\n", (UINT32) sizeof (ACPI_OBJECT_COMMON));
+        AcpiOsPrintf ("Number           %3d\n", (UINT32) sizeof (ACPI_OBJECT_INTEGER));
+        AcpiOsPrintf ("String           %3d\n", (UINT32) sizeof (ACPI_OBJECT_STRING));
+        AcpiOsPrintf ("Buffer           %3d\n", (UINT32) sizeof (ACPI_OBJECT_BUFFER));
+        AcpiOsPrintf ("Package          %3d\n", (UINT32) sizeof (ACPI_OBJECT_PACKAGE));
+        AcpiOsPrintf ("BufferField      %3d\n", (UINT32) sizeof (ACPI_OBJECT_BUFFER_FIELD));
+        AcpiOsPrintf ("Device           %3d\n", (UINT32) sizeof (ACPI_OBJECT_DEVICE));
+        AcpiOsPrintf ("Event            %3d\n", (UINT32) sizeof (ACPI_OBJECT_EVENT));
+        AcpiOsPrintf ("Method           %3d\n", (UINT32) sizeof (ACPI_OBJECT_METHOD));
+        AcpiOsPrintf ("Mutex            %3d\n", (UINT32) sizeof (ACPI_OBJECT_MUTEX));
+        AcpiOsPrintf ("Region           %3d\n", (UINT32) sizeof (ACPI_OBJECT_REGION));
+        AcpiOsPrintf ("PowerResource    %3d\n", (UINT32) sizeof (ACPI_OBJECT_POWER_RESOURCE));
+        AcpiOsPrintf ("Processor        %3d\n", (UINT32) sizeof (ACPI_OBJECT_PROCESSOR));
+        AcpiOsPrintf ("ThermalZone      %3d\n", (UINT32) sizeof (ACPI_OBJECT_THERMAL_ZONE));
+        AcpiOsPrintf ("RegionField      %3d\n", (UINT32) sizeof (ACPI_OBJECT_REGION_FIELD));
+        AcpiOsPrintf ("BankField        %3d\n", (UINT32) sizeof (ACPI_OBJECT_BANK_FIELD));
+        AcpiOsPrintf ("IndexField       %3d\n", (UINT32) sizeof (ACPI_OBJECT_INDEX_FIELD));
+        AcpiOsPrintf ("Reference        %3d\n", (UINT32) sizeof (ACPI_OBJECT_REFERENCE));
+        AcpiOsPrintf ("Notify           %3d\n", (UINT32) sizeof (ACPI_OBJECT_NOTIFY_HANDLER));
+        AcpiOsPrintf ("AddressSpace     %3d\n", (UINT32) sizeof (ACPI_OBJECT_ADDR_HANDLER));
+        AcpiOsPrintf ("Extra            %3d\n", (UINT32) sizeof (ACPI_OBJECT_EXTRA));
+        AcpiOsPrintf ("Data             %3d\n", (UINT32) sizeof (ACPI_OBJECT_DATA));
 
         AcpiOsPrintf ("\n");
 
-        AcpiOsPrintf ("ParseObject      %3d\n", sizeof (ACPI_PARSE_OBJ_COMMON));
-        AcpiOsPrintf ("ParseObjectNamed %3d\n", sizeof (ACPI_PARSE_OBJ_NAMED));
-        AcpiOsPrintf ("ParseObjectAsl   %3d\n", sizeof (ACPI_PARSE_OBJ_ASL));
-        AcpiOsPrintf ("OperandObject    %3d\n", sizeof (ACPI_OPERAND_OBJECT));
-        AcpiOsPrintf ("NamespaceNode    %3d\n", sizeof (ACPI_NAMESPACE_NODE));
-        AcpiOsPrintf ("AcpiObject       %3d\n", sizeof (ACPI_OBJECT));
+        AcpiOsPrintf ("ParseObject      %3d\n", (UINT32) sizeof (ACPI_PARSE_OBJ_COMMON));
+        AcpiOsPrintf ("ParseObjectNamed %3d\n", (UINT32) sizeof (ACPI_PARSE_OBJ_NAMED));
+        AcpiOsPrintf ("ParseObjectAsl   %3d\n", (UINT32) sizeof (ACPI_PARSE_OBJ_ASL));
+        AcpiOsPrintf ("OperandObject    %3d\n", (UINT32) sizeof (ACPI_OPERAND_OBJECT));
+        AcpiOsPrintf ("NamespaceNode    %3d\n", (UINT32) sizeof (ACPI_NAMESPACE_NODE));
+        AcpiOsPrintf ("AcpiObject       %3d\n", (UINT32) sizeof (ACPI_OBJECT));
 
         AcpiOsPrintf ("\n");
 
-        AcpiOsPrintf ("Generic State    %3d\n", sizeof (ACPI_GENERIC_STATE));
-        AcpiOsPrintf ("Common State     %3d\n", sizeof (ACPI_COMMON_STATE));
-        AcpiOsPrintf ("Control State    %3d\n", sizeof (ACPI_CONTROL_STATE));
-        AcpiOsPrintf ("Update State     %3d\n", sizeof (ACPI_UPDATE_STATE));
-        AcpiOsPrintf ("Scope State      %3d\n", sizeof (ACPI_SCOPE_STATE));
-        AcpiOsPrintf ("Parse Scope      %3d\n", sizeof (ACPI_PSCOPE_STATE));
-        AcpiOsPrintf ("Package State    %3d\n", sizeof (ACPI_PKG_STATE));
-        AcpiOsPrintf ("Thread State     %3d\n", sizeof (ACPI_THREAD_STATE));
-        AcpiOsPrintf ("Result Values    %3d\n", sizeof (ACPI_RESULT_VALUES));
-        AcpiOsPrintf ("Notify Info      %3d\n", sizeof (ACPI_NOTIFY_INFO));
+        AcpiOsPrintf ("Generic State    %3d\n", (UINT32) sizeof (ACPI_GENERIC_STATE));
+        AcpiOsPrintf ("Common State     %3d\n", (UINT32) sizeof (ACPI_COMMON_STATE));
+        AcpiOsPrintf ("Control State    %3d\n", (UINT32) sizeof (ACPI_CONTROL_STATE));
+        AcpiOsPrintf ("Update State     %3d\n", (UINT32) sizeof (ACPI_UPDATE_STATE));
+        AcpiOsPrintf ("Scope State      %3d\n", (UINT32) sizeof (ACPI_SCOPE_STATE));
+        AcpiOsPrintf ("Parse Scope      %3d\n", (UINT32) sizeof (ACPI_PSCOPE_STATE));
+        AcpiOsPrintf ("Package State    %3d\n", (UINT32) sizeof (ACPI_PKG_STATE));
+        AcpiOsPrintf ("Thread State     %3d\n", (UINT32) sizeof (ACPI_THREAD_STATE));
+        AcpiOsPrintf ("Result Values    %3d\n", (UINT32) sizeof (ACPI_RESULT_VALUES));
+        AcpiOsPrintf ("Notify Info      %3d\n", (UINT32) sizeof (ACPI_NOTIFY_INFO));
         break;
 
     case CMD_STAT_STACK:
diff --git a/sys/contrib/dev/acpica/source/components/debugger/dbtest.c b/sys/contrib/dev/acpica/source/components/debugger/dbtest.c
index e92e41adca..172cab4f43 100644
--- a/sys/contrib/dev/acpica/source/components/debugger/dbtest.c
+++ b/sys/contrib/dev/acpica/source/components/debugger/dbtest.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/debugger/dbutils.c b/sys/contrib/dev/acpica/source/components/debugger/dbutils.c
index 6b8ea2657a..62d6f0216a 100644
--- a/sys/contrib/dev/acpica/source/components/debugger/dbutils.c
+++ b/sys/contrib/dev/acpica/source/components/debugger/dbutils.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/debugger/dbxface.c b/sys/contrib/dev/acpica/source/components/debugger/dbxface.c
index f128c2acbe..860bcc9452 100644
--- a/sys/contrib/dev/acpica/source/components/debugger/dbxface.c
+++ b/sys/contrib/dev/acpica/source/components/debugger/dbxface.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/disassembler/dmbuffer.c b/sys/contrib/dev/acpica/source/components/disassembler/dmbuffer.c
index 4248e79a79..12cb2dd699 100644
--- a/sys/contrib/dev/acpica/source/components/disassembler/dmbuffer.c
+++ b/sys/contrib/dev/acpica/source/components/disassembler/dmbuffer.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/disassembler/dmcstyle.c b/sys/contrib/dev/acpica/source/components/disassembler/dmcstyle.c
index ac07bde9fe..be5099f147 100644
--- a/sys/contrib/dev/acpica/source/components/disassembler/dmcstyle.c
+++ b/sys/contrib/dev/acpica/source/components/disassembler/dmcstyle.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/disassembler/dmdeferred.c b/sys/contrib/dev/acpica/source/components/disassembler/dmdeferred.c
index d0753bb046..d947d01190 100644
--- a/sys/contrib/dev/acpica/source/components/disassembler/dmdeferred.c
+++ b/sys/contrib/dev/acpica/source/components/disassembler/dmdeferred.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -309,6 +309,10 @@ AcpiDmDeferredParse (
     WalkState->ParseFlags &= ~ACPI_PARSE_DELETE_TREE;
     WalkState->ParseFlags |= ACPI_PARSE_DISASSEMBLE;
     Status = AcpiPsParseAml (WalkState);
+    if (ACPI_FAILURE (Status))
+    {
+        return_ACPI_STATUS(Status);
+    }
 
     StartOp = (Op->Common.Value.Arg)->Common.Next;
     SearchOp = StartOp;
diff --git a/sys/contrib/dev/acpica/source/components/disassembler/dmnames.c b/sys/contrib/dev/acpica/source/components/disassembler/dmnames.c
index b0a3c3f808..79538d0e9f 100644
--- a/sys/contrib/dev/acpica/source/components/disassembler/dmnames.c
+++ b/sys/contrib/dev/acpica/source/components/disassembler/dmnames.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/disassembler/dmopcode.c b/sys/contrib/dev/acpica/source/components/disassembler/dmopcode.c
index 7b3fb80c6d..04efbd60e6 100644
--- a/sys/contrib/dev/acpica/source/components/disassembler/dmopcode.c
+++ b/sys/contrib/dev/acpica/source/components/disassembler/dmopcode.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/disassembler/dmresrc.c b/sys/contrib/dev/acpica/source/components/disassembler/dmresrc.c
index 00679a2c8b..4759c5d69e 100644
--- a/sys/contrib/dev/acpica/source/components/disassembler/dmresrc.c
+++ b/sys/contrib/dev/acpica/source/components/disassembler/dmresrc.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -442,7 +442,6 @@ AcpiDmResourceTemplate (
                  * missing EndDependentDescriptor.
                  */
                 Level--;
-                DependentFns = FALSE;
 
                 /* Go ahead and insert EndDependentFn() */
 
diff --git a/sys/contrib/dev/acpica/source/components/disassembler/dmresrcl.c b/sys/contrib/dev/acpica/source/components/disassembler/dmresrcl.c
index f742fae4c0..28717a2339 100644
--- a/sys/contrib/dev/acpica/source/components/disassembler/dmresrcl.c
+++ b/sys/contrib/dev/acpica/source/components/disassembler/dmresrcl.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/disassembler/dmresrcl2.c b/sys/contrib/dev/acpica/source/components/disassembler/dmresrcl2.c
index a9fe256c7e..9116aa79bd 100644
--- a/sys/contrib/dev/acpica/source/components/disassembler/dmresrcl2.c
+++ b/sys/contrib/dev/acpica/source/components/disassembler/dmresrcl2.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/disassembler/dmresrcs.c b/sys/contrib/dev/acpica/source/components/disassembler/dmresrcs.c
index e2d32b3f9d..ee050f5013 100644
--- a/sys/contrib/dev/acpica/source/components/disassembler/dmresrcs.c
+++ b/sys/contrib/dev/acpica/source/components/disassembler/dmresrcs.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/disassembler/dmutils.c b/sys/contrib/dev/acpica/source/components/disassembler/dmutils.c
index b8ed2a2350..0aba342de0 100644
--- a/sys/contrib/dev/acpica/source/components/disassembler/dmutils.c
+++ b/sys/contrib/dev/acpica/source/components/disassembler/dmutils.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/disassembler/dmwalk.c b/sys/contrib/dev/acpica/source/components/disassembler/dmwalk.c
index 6342fc1af4..f73a6ddb6e 100644
--- a/sys/contrib/dev/acpica/source/components/disassembler/dmwalk.c
+++ b/sys/contrib/dev/acpica/source/components/disassembler/dmwalk.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -959,7 +959,6 @@ AcpiDmDescendingOp (
                  * the buffer size Op. Open up a new block
                  */
                 NextOp->Common.DisasmFlags |= ACPI_PARSEOP_IGNORE;
-                NextOp = NextOp->Common.Next;
                 ASL_CV_CLOSE_PAREN (Op, Level);
 
                 /* Emit description comment for Name() with a predefined ACPI name */
diff --git a/sys/contrib/dev/acpica/source/components/dispatcher/dsargs.c b/sys/contrib/dev/acpica/source/components/dispatcher/dsargs.c
index 9d03da15fc..22823d7f3a 100644
--- a/sys/contrib/dev/acpica/source/components/dispatcher/dsargs.c
+++ b/sys/contrib/dev/acpica/source/components/dispatcher/dsargs.c
@@ -9,7 +9,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/dispatcher/dscontrol.c b/sys/contrib/dev/acpica/source/components/dispatcher/dscontrol.c
index 238c77bbff..4ff0b3823a 100644
--- a/sys/contrib/dev/acpica/source/components/dispatcher/dscontrol.c
+++ b/sys/contrib/dev/acpica/source/components/dispatcher/dscontrol.c
@@ -9,7 +9,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -235,7 +235,7 @@ AcpiDsExecBeginControlOp (
         ControlState->Control.Opcode =
             Op->Common.AmlOpcode;
         ControlState->Control.LoopTimeout = AcpiOsGetTimer () +
-           (UINT64) (AcpiGbl_MaxLoopIterations * ACPI_100NSEC_PER_SEC);
+           ((UINT64) AcpiGbl_MaxLoopIterations * ACPI_100NSEC_PER_SEC);
 
         /* Push the control state on this walk's control stack */
 
diff --git a/sys/contrib/dev/acpica/source/components/dispatcher/dsdebug.c b/sys/contrib/dev/acpica/source/components/dispatcher/dsdebug.c
index a78d7f55c3..a7ece9b013 100644
--- a/sys/contrib/dev/acpica/source/components/dispatcher/dsdebug.c
+++ b/sys/contrib/dev/acpica/source/components/dispatcher/dsdebug.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/dispatcher/dsfield.c b/sys/contrib/dev/acpica/source/components/dispatcher/dsfield.c
index 3aff4db102..e2576606e5 100644
--- a/sys/contrib/dev/acpica/source/components/dispatcher/dsfield.c
+++ b/sys/contrib/dev/acpica/source/components/dispatcher/dsfield.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -309,7 +309,6 @@ AcpiDsCreateBufferField (
     if (WalkState->DeferredNode)
     {
         Node = WalkState->DeferredNode;
-        Status = AE_OK;
     }
     else
     {
@@ -414,7 +413,7 @@ AcpiDsCreateBufferField (
  * FUNCTION:    AcpiDsGetFieldNames
  *
  * PARAMETERS:  Info            - CreateField info structure
- *  `           WalkState       - Current method state
+ *              WalkState       - Current method state
  *              Arg             - First parser arg for the field name list
  *
  * RETURN:      Status
@@ -435,7 +434,6 @@ AcpiDsGetFieldNames (
     ACPI_PARSE_OBJECT       *Child;
 
 #ifdef ACPI_EXEC_APP
-    UINT64                  Value = 0;
     ACPI_OPERAND_OBJECT     *ResultDesc;
     ACPI_OPERAND_OBJECT     *ObjDesc;
     char                    *NamePath;
@@ -577,14 +575,13 @@ AcpiDsGetFieldNames (
                     }
 #ifdef ACPI_EXEC_APP
                     NamePath = AcpiNsGetExternalPathname (Info->FieldNode);
-                    ObjDesc = AcpiUtCreateIntegerObject (Value);
-                    if (ACPI_SUCCESS (AeLookupInitFileEntry (NamePath, &Value)))
+                    if (ACPI_SUCCESS (AeLookupInitFileEntry (NamePath, &ObjDesc)))
                     {
                         AcpiExWriteDataToField (ObjDesc,
                             AcpiNsGetAttachedObject (Info->FieldNode),
                             &ResultDesc);
+                        AcpiUtRemoveReference (ObjDesc);
                     }
-                    AcpiUtRemoveReference (ObjDesc);
                     ACPI_FREE (NamePath);
 #endif
                 }
@@ -813,8 +810,6 @@ AcpiDsInitFieldObjects (
                 }
 
                 /* Name already exists, just ignore this error */
-
-                Status = AE_OK;
             }
 
             Arg->Common.Node = Node;
diff --git a/sys/contrib/dev/acpica/source/components/dispatcher/dsinit.c b/sys/contrib/dev/acpica/source/components/dispatcher/dsinit.c
index 9810f9ff3f..45f861c80d 100644
--- a/sys/contrib/dev/acpica/source/components/dispatcher/dsinit.c
+++ b/sys/contrib/dev/acpica/source/components/dispatcher/dsinit.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/dispatcher/dsmethod.c b/sys/contrib/dev/acpica/source/components/dispatcher/dsmethod.c
index d4826b3e6f..43d6ee1a19 100644
--- a/sys/contrib/dev/acpica/source/components/dispatcher/dsmethod.c
+++ b/sys/contrib/dev/acpica/source/components/dispatcher/dsmethod.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/dispatcher/dsmthdat.c b/sys/contrib/dev/acpica/source/components/dispatcher/dsmthdat.c
index 77ab15a339..5f06cb9032 100644
--- a/sys/contrib/dev/acpica/source/components/dispatcher/dsmthdat.c
+++ b/sys/contrib/dev/acpica/source/components/dispatcher/dsmthdat.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/dispatcher/dsobject.c b/sys/contrib/dev/acpica/source/components/dispatcher/dsobject.c
index 3a36097135..0bd9c39ed7 100644
--- a/sys/contrib/dev/acpica/source/components/dispatcher/dsobject.c
+++ b/sys/contrib/dev/acpica/source/components/dispatcher/dsobject.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/dispatcher/dsopcode.c b/sys/contrib/dev/acpica/source/components/dispatcher/dsopcode.c
index acf1ff4e1d..a4e97b2c77 100644
--- a/sys/contrib/dev/acpica/source/components/dispatcher/dsopcode.c
+++ b/sys/contrib/dev/acpica/source/components/dispatcher/dsopcode.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -374,6 +374,7 @@ AcpiDsInitBufferField (
     }
 
     ObjDesc->BufferField.BufferObj = BufferDesc;
+    ObjDesc->BufferField.IsCreateField = AmlOpcode == AML_CREATE_FIELD_OP;
 
     /* Reference count for BufferDesc inherits ObjDesc count */
 
diff --git a/sys/contrib/dev/acpica/source/components/dispatcher/dspkginit.c b/sys/contrib/dev/acpica/source/components/dispatcher/dspkginit.c
index a693e31a1e..6e2ede0204 100644
--- a/sys/contrib/dev/acpica/source/components/dispatcher/dspkginit.c
+++ b/sys/contrib/dev/acpica/source/components/dispatcher/dspkginit.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/dispatcher/dsutils.c b/sys/contrib/dev/acpica/source/components/dispatcher/dsutils.c
index 7d1cdf6e14..3334c0a60c 100644
--- a/sys/contrib/dev/acpica/source/components/dispatcher/dsutils.c
+++ b/sys/contrib/dev/acpica/source/components/dispatcher/dsutils.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/dispatcher/dswexec.c b/sys/contrib/dev/acpica/source/components/dispatcher/dswexec.c
index e40f860d2a..f2925ecff0 100644
--- a/sys/contrib/dev/acpica/source/components/dispatcher/dswexec.c
+++ b/sys/contrib/dev/acpica/source/components/dispatcher/dswexec.c
@@ -9,7 +9,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/dispatcher/dswload.c b/sys/contrib/dev/acpica/source/components/dispatcher/dswload.c
index b557942817..d37bd5d4cc 100644
--- a/sys/contrib/dev/acpica/source/components/dispatcher/dswload.c
+++ b/sys/contrib/dev/acpica/source/components/dispatcher/dswload.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -567,6 +567,28 @@ AcpiDsLoad1EndOp (
     Op = WalkState->Op;
     ACPI_DEBUG_PRINT ((ACPI_DB_DISPATCH, "Op=%p State=%p\n", Op, WalkState));
 
+    /*
+     * Disassembler: handle create field operators here.
+     *
+     * CreateBufferField is a deferred op that is typically processed in load
+     * pass 2. However, disassembly of control method contents walk the parse
+     * tree with ACPI_PARSE_LOAD_PASS1 and AML_CREATE operators are processed
+     * in a later walk. This is a problem when there is a control method that
+     * has the same name as the AML_CREATE object. In this case, any use of the
+     * name segment will be detected as a method call rather than a reference
+     * to a buffer field.
+     *
+     * This earlier creation during disassembly solves this issue by inserting
+     * the named object in the ACPI namespace so that references to this name
+     * would be a name string rather than a method call.
+     */
+    if ((WalkState->ParseFlags & ACPI_PARSE_DISASSEMBLE) &&
+        (WalkState->OpInfo->Flags & AML_CREATE))
+    {
+        Status = AcpiDsCreateBufferField (Op, WalkState);
+        return_ACPI_STATUS (Status);
+    }
+
     /* We are only interested in opcodes that have an associated name */
 
     if (!(WalkState->OpInfo->Flags & (AML_NAMED | AML_FIELD)))
diff --git a/sys/contrib/dev/acpica/source/components/dispatcher/dswload2.c b/sys/contrib/dev/acpica/source/components/dispatcher/dswload2.c
index 3a9e374eb6..ff2135ce62 100644
--- a/sys/contrib/dev/acpica/source/components/dispatcher/dswload2.c
+++ b/sys/contrib/dev/acpica/source/components/dispatcher/dswload2.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/dispatcher/dswscope.c b/sys/contrib/dev/acpica/source/components/dispatcher/dswscope.c
index 39ae0c3390..b1bc7de875 100644
--- a/sys/contrib/dev/acpica/source/components/dispatcher/dswscope.c
+++ b/sys/contrib/dev/acpica/source/components/dispatcher/dswscope.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/dispatcher/dswstate.c b/sys/contrib/dev/acpica/source/components/dispatcher/dswstate.c
index d9a375adb6..a523e54862 100644
--- a/sys/contrib/dev/acpica/source/components/dispatcher/dswstate.c
+++ b/sys/contrib/dev/acpica/source/components/dispatcher/dswstate.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/events/evevent.c b/sys/contrib/dev/acpica/source/components/events/evevent.c
index 7134c18e43..800dd962b3 100644
--- a/sys/contrib/dev/acpica/source/components/events/evevent.c
+++ b/sys/contrib/dev/acpica/source/components/events/evevent.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/events/evglock.c b/sys/contrib/dev/acpica/source/components/events/evglock.c
index 8062c2a1a8..c4704fb1ef 100644
--- a/sys/contrib/dev/acpica/source/components/events/evglock.c
+++ b/sys/contrib/dev/acpica/source/components/events/evglock.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/events/evgpe.c b/sys/contrib/dev/acpica/source/components/events/evgpe.c
index a7ee84c92f..c9906f926d 100644
--- a/sys/contrib/dev/acpica/source/components/events/evgpe.c
+++ b/sys/contrib/dev/acpica/source/components/events/evgpe.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -848,6 +848,15 @@ AcpiEvDetectGpe (
 
     Flags = AcpiOsAcquireLock (AcpiGbl_GpeLock);
 
+    if (!GpeEventInfo)
+    {
+        GpeEventInfo = AcpiEvGetGpeEventInfo (GpeDevice, GpeNumber);
+        if (!GpeEventInfo)
+        {
+            goto ErrorExit;
+        }
+    }
+
     /* Get the info block for the entire GPE register */
 
     GpeRegisterInfo = GpeEventInfo->RegisterInfo;
diff --git a/sys/contrib/dev/acpica/source/components/events/evgpeblk.c b/sys/contrib/dev/acpica/source/components/events/evgpeblk.c
index 80157dcd36..5a601df551 100644
--- a/sys/contrib/dev/acpica/source/components/events/evgpeblk.c
+++ b/sys/contrib/dev/acpica/source/components/events/evgpeblk.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -272,6 +272,10 @@ AcpiEvDeleteGpeBlock (
     /* Disable all GPEs in this block */
 
     Status = AcpiHwDisableGpeBlock (GpeBlock->XruptBlock, GpeBlock, NULL);
+    if (ACPI_FAILURE (Status))
+    {
+        return_ACPI_STATUS (Status);
+    }
 
     if (!GpeBlock->Previous && !GpeBlock->Next)
     {
@@ -542,7 +546,7 @@ AcpiEvCreateGpeBlock (
     WalkInfo.GpeDevice = GpeDevice;
     WalkInfo.ExecuteByOwnerId = FALSE;
 
-    Status = AcpiNsWalkNamespace (ACPI_TYPE_METHOD, GpeDevice,
+    (void) AcpiNsWalkNamespace (ACPI_TYPE_METHOD, GpeDevice,
         ACPI_UINT32_MAX, ACPI_NS_WALK_NO_UNLOCK,
         AcpiEvMatchGpeMethod, NULL, &WalkInfo, NULL);
 
diff --git a/sys/contrib/dev/acpica/source/components/events/evgpeinit.c b/sys/contrib/dev/acpica/source/components/events/evgpeinit.c
index b7e02a060b..46df5c5965 100644
--- a/sys/contrib/dev/acpica/source/components/events/evgpeinit.c
+++ b/sys/contrib/dev/acpica/source/components/events/evgpeinit.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -302,8 +302,6 @@ AcpiEvGpeInitialize (
              * GPE0 and GPE1 do not have to be contiguous in the GPE number
              * space. However, GPE0 always starts at GPE number zero.
              */
-            GpeNumberMax = AcpiGbl_FADT.Gpe1Base +
-                ((RegisterCount1 * ACPI_GPE_REGISTER_WIDTH) - 1);
         }
     }
 
@@ -315,7 +313,6 @@ AcpiEvGpeInitialize (
 
         ACPI_DEBUG_PRINT ((ACPI_DB_INIT,
             "There are no GPE blocks defined in the FADT\n"));
-        Status = AE_OK;
         goto Cleanup;
     }
 
diff --git a/sys/contrib/dev/acpica/source/components/events/evgpeutil.c b/sys/contrib/dev/acpica/source/components/events/evgpeutil.c
index e09aaa425d..d38c0ae5f0 100644
--- a/sys/contrib/dev/acpica/source/components/events/evgpeutil.c
+++ b/sys/contrib/dev/acpica/source/components/events/evgpeutil.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/events/evhandler.c b/sys/contrib/dev/acpica/source/components/events/evhandler.c
index f1fc957ebe..4140aaba78 100644
--- a/sys/contrib/dev/acpica/source/components/events/evhandler.c
+++ b/sys/contrib/dev/acpica/source/components/events/evhandler.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/events/evmisc.c b/sys/contrib/dev/acpica/source/components/events/evmisc.c
index f73cc2f3c8..85fa57b08a 100644
--- a/sys/contrib/dev/acpica/source/components/events/evmisc.c
+++ b/sys/contrib/dev/acpica/source/components/events/evmisc.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -400,11 +400,16 @@ AcpiEvTerminate (
         /* Disable all GPEs in all GPE blocks */
 
         Status = AcpiEvWalkGpeList (AcpiHwDisableGpeBlock, NULL);
+        if (ACPI_FAILURE (Status))
+        {
+            ACPI_EXCEPTION ((AE_INFO, Status,
+                "Could not disable GPEs in GPE block"));
+        }
 
         Status = AcpiEvRemoveGlobalLockHandler ();
-        if (ACPI_FAILURE(Status))
+        if (ACPI_FAILURE (Status))
         {
-            ACPI_ERROR ((AE_INFO,
+            ACPI_EXCEPTION ((AE_INFO, Status,
                 "Could not remove Global Lock handler"));
         }
 
@@ -414,7 +419,7 @@ AcpiEvTerminate (
     /* Remove SCI handlers */
 
     Status = AcpiEvRemoveAllSciHandlers ();
-    if (ACPI_FAILURE(Status))
+    if (ACPI_FAILURE (Status))
     {
         ACPI_ERROR ((AE_INFO,
             "Could not remove SCI handler"));
@@ -423,6 +428,12 @@ AcpiEvTerminate (
     /* Deallocate all handler objects installed within GPE info structs */
 
     Status = AcpiEvWalkGpeList (AcpiEvDeleteGpeHandlers, NULL);
+    if (ACPI_FAILURE (Status))
+    {
+        ACPI_EXCEPTION ((AE_INFO, Status,
+            "Could not delete GPE handlers"));
+    }
+
 
     /* Return to original mode if necessary */
 
diff --git a/sys/contrib/dev/acpica/source/components/events/evregion.c b/sys/contrib/dev/acpica/source/components/events/evregion.c
index 6f6d7ccc8b..233e77d4e1 100644
--- a/sys/contrib/dev/acpica/source/components/events/evregion.c
+++ b/sys/contrib/dev/acpica/source/components/events/evregion.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -1037,11 +1037,11 @@ AcpiEvOrphanEcRegMethod (
     Objects[1].Type = ACPI_TYPE_INTEGER;
     Objects[1].Integer.Value = ACPI_REG_CONNECT;
 
-    Status = AcpiEvaluateObject (RegMethod, NULL, &Args, NULL);
+    (void) AcpiEvaluateObject (RegMethod, NULL, &Args, NULL);
 
 Exit:
     /* We ignore all errors from above, don't care */
 
-    Status = AcpiUtAcquireMutex (ACPI_MTX_NAMESPACE);
+    (void) AcpiUtAcquireMutex (ACPI_MTX_NAMESPACE);
     return_VOID;
 }
diff --git a/sys/contrib/dev/acpica/source/components/events/evrgnini.c b/sys/contrib/dev/acpica/source/components/events/evrgnini.c
index 718e2e87d9..54f91a3639 100644
--- a/sys/contrib/dev/acpica/source/components/events/evrgnini.c
+++ b/sys/contrib/dev/acpica/source/components/events/evrgnini.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -363,7 +363,6 @@ AcpiEvPciConfigRegionSetup (
                          * root bridge. Still need to return a context object
                          * for the new PCI_Config operation region, however.
                          */
-                        Status = AE_OK;
                     }
                     else
                     {
diff --git a/sys/contrib/dev/acpica/source/components/events/evsci.c b/sys/contrib/dev/acpica/source/components/events/evsci.c
index 6ce102f9e5..37cf3fd0a2 100644
--- a/sys/contrib/dev/acpica/source/components/events/evsci.c
+++ b/sys/contrib/dev/acpica/source/components/events/evsci.c
@@ -9,7 +9,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/events/evxface.c b/sys/contrib/dev/acpica/source/components/events/evxface.c
index 8e8eacf702..a66aba6622 100644
--- a/sys/contrib/dev/acpica/source/components/events/evxface.c
+++ b/sys/contrib/dev/acpica/source/components/events/evxface.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/events/evxfevnt.c b/sys/contrib/dev/acpica/source/components/events/evxfevnt.c
index cade1d274d..5c53aa8ae2 100644
--- a/sys/contrib/dev/acpica/source/components/events/evxfevnt.c
+++ b/sys/contrib/dev/acpica/source/components/events/evxfevnt.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/events/evxfgpe.c b/sys/contrib/dev/acpica/source/components/events/evxfgpe.c
index 1dc0fe1d29..131021f126 100644
--- a/sys/contrib/dev/acpica/source/components/events/evxfgpe.c
+++ b/sys/contrib/dev/acpica/source/components/events/evxfgpe.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -875,6 +875,33 @@ AcpiGetGpeStatus (
 ACPI_EXPORT_SYMBOL (AcpiGetGpeStatus)
 
 
+/*******************************************************************************
+ *
+ * FUNCTION:    AcpiDispatchGpe
+ *
+ * PARAMETERS:  GpeDevice           - Parent GPE Device. NULL for GPE0/GPE1
+ *              GpeNumber           - GPE level within the GPE block
+ *
+ * RETURN:      INTERRUPT_HANDLED or INTERRUPT_NOT_HANDLED
+ *
+ * DESCRIPTION: Detect and dispatch a General Purpose Event to either a function
+ *              (e.g. EC) or method (e.g. _Lxx/_Exx) handler.
+ *
+ ******************************************************************************/
+
+UINT32
+AcpiDispatchGpe(
+    ACPI_HANDLE             GpeDevice,
+    UINT32                  GpeNumber)
+{
+    ACPI_FUNCTION_TRACE(acpi_dispatch_gpe);
+
+    return (AcpiEvDetectGpe (GpeDevice, NULL, GpeNumber));
+}
+
+ACPI_EXPORT_SYMBOL (AcpiDispatchGpe)
+
+
 /*******************************************************************************
  *
  * FUNCTION:    AcpiFinishGpe
diff --git a/sys/contrib/dev/acpica/source/components/events/evxfregn.c b/sys/contrib/dev/acpica/source/components/events/evxfregn.c
index 754ea7bda3..17e0c4926d 100644
--- a/sys/contrib/dev/acpica/source/components/events/evxfregn.c
+++ b/sys/contrib/dev/acpica/source/components/events/evxfregn.c
@@ -9,7 +9,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/executer/exconcat.c b/sys/contrib/dev/acpica/source/components/executer/exconcat.c
index 130da9b313..14abc6906d 100644
--- a/sys/contrib/dev/acpica/source/components/executer/exconcat.c
+++ b/sys/contrib/dev/acpica/source/components/executer/exconcat.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/executer/exconfig.c b/sys/contrib/dev/acpica/source/components/executer/exconfig.c
index eba1a6d28b..a46b7d21f4 100644
--- a/sys/contrib/dev/acpica/source/components/executer/exconfig.c
+++ b/sys/contrib/dev/acpica/source/components/executer/exconfig.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -344,7 +344,9 @@ AcpiExLoadTableOp (
 
     /* Complete the initialization/resolution of new objects */
 
-    AcpiNsInitializeObjects ();
+    AcpiExExitInterpreter();
+    AcpiNsInitializeObjects();
+    AcpiExEnterInterpreter();
 
     /* Parameter Data (optional) */
 
diff --git a/sys/contrib/dev/acpica/source/components/executer/exconvrt.c b/sys/contrib/dev/acpica/source/components/executer/exconvrt.c
index c4fda4c1cc..95d273909b 100644
--- a/sys/contrib/dev/acpica/source/components/executer/exconvrt.c
+++ b/sys/contrib/dev/acpica/source/components/executer/exconvrt.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/executer/excreate.c b/sys/contrib/dev/acpica/source/components/executer/excreate.c
index 6d48bbf7ca..5a98d4a64b 100644
--- a/sys/contrib/dev/acpica/source/components/executer/excreate.c
+++ b/sys/contrib/dev/acpica/source/components/executer/excreate.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/executer/exdebug.c b/sys/contrib/dev/acpica/source/components/executer/exdebug.c
index 8db06a59af..3084872649 100644
--- a/sys/contrib/dev/acpica/source/components/executer/exdebug.c
+++ b/sys/contrib/dev/acpica/source/components/executer/exdebug.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/executer/exdump.c b/sys/contrib/dev/acpica/source/components/executer/exdump.c
index fa70b410b6..fc7c992ad5 100644
--- a/sys/contrib/dev/acpica/source/components/executer/exdump.c
+++ b/sys/contrib/dev/acpica/source/components/executer/exdump.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -255,7 +255,7 @@ static ACPI_EXDUMP_INFO     AcpiExDumpMethod[9] =
     {ACPI_EXD_UINT8,    ACPI_EXD_OFFSET (Method.ParamCount),            "Parameter Count"},
     {ACPI_EXD_UINT8,    ACPI_EXD_OFFSET (Method.SyncLevel),             "Sync Level"},
     {ACPI_EXD_POINTER,  ACPI_EXD_OFFSET (Method.Mutex),                 "Mutex"},
-    {ACPI_EXD_UINT8,    ACPI_EXD_OFFSET (Method.OwnerId),               "Owner Id"},
+    {ACPI_EXD_UINT16,   ACPI_EXD_OFFSET (Method.OwnerId),               "Owner Id"},
     {ACPI_EXD_UINT8,    ACPI_EXD_OFFSET (Method.ThreadCount),           "Thread Count"},
     {ACPI_EXD_UINT32,   ACPI_EXD_OFFSET (Method.AmlLength),             "Aml Length"},
     {ACPI_EXD_POINTER,  ACPI_EXD_OFFSET (Method.AmlStart),              "Aml Start"}
@@ -422,8 +422,8 @@ static ACPI_EXDUMP_INFO     AcpiExDumpFieldCommon[7] =
 static ACPI_EXDUMP_INFO     AcpiExDumpNode[7] =
 {
     {ACPI_EXD_INIT,     ACPI_EXD_TABLE_SIZE (AcpiExDumpNode),           NULL},
-    {ACPI_EXD_UINT8,    ACPI_EXD_NSOFFSET (Flags),                      "Flags"},
-    {ACPI_EXD_UINT8,    ACPI_EXD_NSOFFSET (OwnerId),                    "Owner Id"},
+    {ACPI_EXD_UINT16,   ACPI_EXD_NSOFFSET (Flags),                      "Flags"},
+    {ACPI_EXD_UINT16,   ACPI_EXD_NSOFFSET (OwnerId),                    "Owner Id"},
     {ACPI_EXD_LIST,     ACPI_EXD_NSOFFSET (Object),                     "Object List"},
     {ACPI_EXD_NODE,     ACPI_EXD_NSOFFSET (Parent),                     "Parent"},
     {ACPI_EXD_NODE,     ACPI_EXD_NSOFFSET (Child),                      "Child"},
diff --git a/sys/contrib/dev/acpica/source/components/executer/exfield.c b/sys/contrib/dev/acpica/source/components/executer/exfield.c
index b35e6a4ef4..167d182c67 100644
--- a/sys/contrib/dev/acpica/source/components/executer/exfield.c
+++ b/sys/contrib/dev/acpica/source/components/executer/exfield.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -246,7 +246,8 @@ AcpiExGetProtocolBufferLength (
  * RETURN:      Status
  *
  * DESCRIPTION: Read from a named field. Returns either an Integer or a
- *              Buffer, depending on the size of the field.
+ *              Buffer, depending on the size of the field and whether if a
+ *              field is created by the CreateField() operator.
  *
  ******************************************************************************/
 
@@ -310,12 +311,17 @@ AcpiExReadDataFromField (
      * the use of arithmetic operators on the returned value if the
      * field size is equal or smaller than an Integer.
      *
+     * However, all buffer fields created by CreateField operator needs to
+     * remain as a buffer to match other AML interpreter implementations.
+     *
      * Note: Field.length is in bits.
      */
     BufferLength = (ACPI_SIZE) ACPI_ROUND_BITS_UP_TO_BYTES (
         ObjDesc->Field.BitLength);
 
-    if (BufferLength > AcpiGbl_IntegerByteWidth)
+    if (BufferLength > AcpiGbl_IntegerByteWidth ||
+        (ObjDesc->Common.Type == ACPI_TYPE_BUFFER_FIELD &&
+        ObjDesc->BufferField.IsCreateField))
     {
         /* Field is too large for an Integer, create a Buffer instead */
 
diff --git a/sys/contrib/dev/acpica/source/components/executer/exfldio.c b/sys/contrib/dev/acpica/source/components/executer/exfldio.c
index cda4ef608a..69f9e1a6c5 100644
--- a/sys/contrib/dev/acpica/source/components/executer/exfldio.c
+++ b/sys/contrib/dev/acpica/source/components/executer/exfldio.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/executer/exmisc.c b/sys/contrib/dev/acpica/source/components/executer/exmisc.c
index 26e68613c4..cec395df21 100644
--- a/sys/contrib/dev/acpica/source/components/executer/exmisc.c
+++ b/sys/contrib/dev/acpica/source/components/executer/exmisc.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/executer/exmutex.c b/sys/contrib/dev/acpica/source/components/executer/exmutex.c
index 0f3d437beb..4673b10cb9 100644
--- a/sys/contrib/dev/acpica/source/components/executer/exmutex.c
+++ b/sys/contrib/dev/acpica/source/components/executer/exmutex.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/executer/exnames.c b/sys/contrib/dev/acpica/source/components/executer/exnames.c
index 70a01467a9..20c8efae6b 100644
--- a/sys/contrib/dev/acpica/source/components/executer/exnames.c
+++ b/sys/contrib/dev/acpica/source/components/executer/exnames.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/executer/exoparg1.c b/sys/contrib/dev/acpica/source/components/executer/exoparg1.c
index ec482607d7..fa1f8ede6a 100644
--- a/sys/contrib/dev/acpica/source/components/executer/exoparg1.c
+++ b/sys/contrib/dev/acpica/source/components/executer/exoparg1.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/executer/exoparg2.c b/sys/contrib/dev/acpica/source/components/executer/exoparg2.c
index 0af33b79ea..5f46f80360 100644
--- a/sys/contrib/dev/acpica/source/components/executer/exoparg2.c
+++ b/sys/contrib/dev/acpica/source/components/executer/exoparg2.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/executer/exoparg3.c b/sys/contrib/dev/acpica/source/components/executer/exoparg3.c
index 88557c0854..d4b1dff98f 100644
--- a/sys/contrib/dev/acpica/source/components/executer/exoparg3.c
+++ b/sys/contrib/dev/acpica/source/components/executer/exoparg3.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/executer/exoparg6.c b/sys/contrib/dev/acpica/source/components/executer/exoparg6.c
index 982014b186..549c0bc143 100644
--- a/sys/contrib/dev/acpica/source/components/executer/exoparg6.c
+++ b/sys/contrib/dev/acpica/source/components/executer/exoparg6.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/executer/exprep.c b/sys/contrib/dev/acpica/source/components/executer/exprep.c
index f2261374b2..6ceac68f54 100644
--- a/sys/contrib/dev/acpica/source/components/executer/exprep.c
+++ b/sys/contrib/dev/acpica/source/components/executer/exprep.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/executer/exregion.c b/sys/contrib/dev/acpica/source/components/executer/exregion.c
index 7c29daade1..920aa1e36f 100644
--- a/sys/contrib/dev/acpica/source/components/executer/exregion.c
+++ b/sys/contrib/dev/acpica/source/components/executer/exregion.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/executer/exresnte.c b/sys/contrib/dev/acpica/source/components/executer/exresnte.c
index 7e697725f8..064d843ece 100644
--- a/sys/contrib/dev/acpica/source/components/executer/exresnte.c
+++ b/sys/contrib/dev/acpica/source/components/executer/exresnte.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/executer/exresolv.c b/sys/contrib/dev/acpica/source/components/executer/exresolv.c
index bb47c3f956..e4df17a88c 100644
--- a/sys/contrib/dev/acpica/source/components/executer/exresolv.c
+++ b/sys/contrib/dev/acpica/source/components/executer/exresolv.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/executer/exresop.c b/sys/contrib/dev/acpica/source/components/executer/exresop.c
index 74ac39366a..bf43d5d28d 100644
--- a/sys/contrib/dev/acpica/source/components/executer/exresop.c
+++ b/sys/contrib/dev/acpica/source/components/executer/exresop.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/executer/exserial.c b/sys/contrib/dev/acpica/source/components/executer/exserial.c
index 07b42880b9..9d5e558783 100644
--- a/sys/contrib/dev/acpica/source/components/executer/exserial.c
+++ b/sys/contrib/dev/acpica/source/components/executer/exserial.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/executer/exstore.c b/sys/contrib/dev/acpica/source/components/executer/exstore.c
index 0038a1bbf4..b374d6faa1 100644
--- a/sys/contrib/dev/acpica/source/components/executer/exstore.c
+++ b/sys/contrib/dev/acpica/source/components/executer/exstore.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/executer/exstoren.c b/sys/contrib/dev/acpica/source/components/executer/exstoren.c
index 862455531a..db3c8d9efb 100644
--- a/sys/contrib/dev/acpica/source/components/executer/exstoren.c
+++ b/sys/contrib/dev/acpica/source/components/executer/exstoren.c
@@ -9,7 +9,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/executer/exstorob.c b/sys/contrib/dev/acpica/source/components/executer/exstorob.c
index ab68971780..edad3c44ac 100644
--- a/sys/contrib/dev/acpica/source/components/executer/exstorob.c
+++ b/sys/contrib/dev/acpica/source/components/executer/exstorob.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/executer/exsystem.c b/sys/contrib/dev/acpica/source/components/executer/exsystem.c
index 19faea8a37..f10cc1c022 100644
--- a/sys/contrib/dev/acpica/source/components/executer/exsystem.c
+++ b/sys/contrib/dev/acpica/source/components/executer/exsystem.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/executer/extrace.c b/sys/contrib/dev/acpica/source/components/executer/extrace.c
index a3501ff069..8cb487e1ba 100644
--- a/sys/contrib/dev/acpica/source/components/executer/extrace.c
+++ b/sys/contrib/dev/acpica/source/components/executer/extrace.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/executer/exutils.c b/sys/contrib/dev/acpica/source/components/executer/exutils.c
index 653777b70a..d7357e3569 100644
--- a/sys/contrib/dev/acpica/source/components/executer/exutils.c
+++ b/sys/contrib/dev/acpica/source/components/executer/exutils.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/hardware/hwacpi.c b/sys/contrib/dev/acpica/source/components/hardware/hwacpi.c
index 34c4b50015..2459b34537 100644
--- a/sys/contrib/dev/acpica/source/components/hardware/hwacpi.c
+++ b/sys/contrib/dev/acpica/source/components/hardware/hwacpi.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/hardware/hwesleep.c b/sys/contrib/dev/acpica/source/components/hardware/hwesleep.c
index 3cc2a09ada..0e10e2ada0 100644
--- a/sys/contrib/dev/acpica/source/components/hardware/hwesleep.c
+++ b/sys/contrib/dev/acpica/source/components/hardware/hwesleep.c
@@ -9,7 +9,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/hardware/hwgpe.c b/sys/contrib/dev/acpica/source/components/hardware/hwgpe.c
index 7898a623e1..f0b32bd636 100644
--- a/sys/contrib/dev/acpica/source/components/hardware/hwgpe.c
+++ b/sys/contrib/dev/acpica/source/components/hardware/hwgpe.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/hardware/hwpci.c b/sys/contrib/dev/acpica/source/components/hardware/hwpci.c
index 957e123fd6..ab2f5c1bf9 100644
--- a/sys/contrib/dev/acpica/source/components/hardware/hwpci.c
+++ b/sys/contrib/dev/acpica/source/components/hardware/hwpci.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/hardware/hwregs.c b/sys/contrib/dev/acpica/source/components/hardware/hwregs.c
index 1dd63fb6d4..c38f752ab8 100644
--- a/sys/contrib/dev/acpica/source/components/hardware/hwregs.c
+++ b/sys/contrib/dev/acpica/source/components/hardware/hwregs.c
@@ -9,7 +9,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/hardware/hwsleep.c b/sys/contrib/dev/acpica/source/components/hardware/hwsleep.c
index 6d9abfcd03..3ad4ae23c3 100644
--- a/sys/contrib/dev/acpica/source/components/hardware/hwsleep.c
+++ b/sys/contrib/dev/acpica/source/components/hardware/hwsleep.c
@@ -9,7 +9,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/hardware/hwtimer.c b/sys/contrib/dev/acpica/source/components/hardware/hwtimer.c
index 9a28fd540b..112a17fa05 100644
--- a/sys/contrib/dev/acpica/source/components/hardware/hwtimer.c
+++ b/sys/contrib/dev/acpica/source/components/hardware/hwtimer.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/hardware/hwvalid.c b/sys/contrib/dev/acpica/source/components/hardware/hwvalid.c
index 1ecfdc2d82..d296d1b8c1 100644
--- a/sys/contrib/dev/acpica/source/components/hardware/hwvalid.c
+++ b/sys/contrib/dev/acpica/source/components/hardware/hwvalid.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/hardware/hwxface.c b/sys/contrib/dev/acpica/source/components/hardware/hwxface.c
index 44c36a87ec..342b5f18c7 100644
--- a/sys/contrib/dev/acpica/source/components/hardware/hwxface.c
+++ b/sys/contrib/dev/acpica/source/components/hardware/hwxface.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/hardware/hwxfsleep.c b/sys/contrib/dev/acpica/source/components/hardware/hwxfsleep.c
index f58b34ec7f..0646218599 100644
--- a/sys/contrib/dev/acpica/source/components/hardware/hwxfsleep.c
+++ b/sys/contrib/dev/acpica/source/components/hardware/hwxfsleep.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -357,6 +357,10 @@ AcpiEnterSleepStateS4bios (
 
     Status = AcpiHwWritePort (AcpiGbl_FADT.SmiCommand,
         (UINT32) AcpiGbl_FADT.S4BiosRequest, 8);
+    if (ACPI_FAILURE (Status))
+    {
+        return_ACPI_STATUS (Status);
+    }
 
     do {
         AcpiOsStall (ACPI_USEC_PER_MSEC);
diff --git a/sys/contrib/dev/acpica/source/components/namespace/nsaccess.c b/sys/contrib/dev/acpica/source/components/namespace/nsaccess.c
index 4be555c080..f9227ee4d6 100644
--- a/sys/contrib/dev/acpica/source/components/namespace/nsaccess.c
+++ b/sys/contrib/dev/acpica/source/components/namespace/nsaccess.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -767,7 +767,7 @@ AcpiNsLookup (
                 if (Flags & ACPI_NS_PREFIX_MUST_EXIST)
                 {
                     AcpiOsPrintf (ACPI_MSG_BIOS_ERROR
-                        "Object does not exist: %4.4s\n", &SimpleName);
+                        "Object does not exist: %4.4s\n", (char *) &SimpleName);
                 }
 #endif
                 /* Name not found in ACPI namespace */
diff --git a/sys/contrib/dev/acpica/source/components/namespace/nsalloc.c b/sys/contrib/dev/acpica/source/components/namespace/nsalloc.c
index 127723081a..6610c7f3b7 100644
--- a/sys/contrib/dev/acpica/source/components/namespace/nsalloc.c
+++ b/sys/contrib/dev/acpica/source/components/namespace/nsalloc.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -423,7 +423,7 @@ AcpiNsInstallNode (
     Node->Type = (UINT8) Type;
 
     ACPI_DEBUG_PRINT ((ACPI_DB_NAMES,
-        "%4.4s (%s) [Node %p Owner %X] added to %4.4s (%s) [Node %p]\n",
+        "%4.4s (%s) [Node %p Owner %3.3X] added to %4.4s (%s) [Node %p]\n",
         AcpiUtGetNodeName (Node), AcpiUtGetTypeName (Node->Type), Node, OwnerId,
         AcpiUtGetNodeName (ParentNode), AcpiUtGetTypeName (ParentNode->Type),
         ParentNode));
diff --git a/sys/contrib/dev/acpica/source/components/namespace/nsarguments.c b/sys/contrib/dev/acpica/source/components/namespace/nsarguments.c
index 8b89be29cb..2e2828dd3e 100644
--- a/sys/contrib/dev/acpica/source/components/namespace/nsarguments.c
+++ b/sys/contrib/dev/acpica/source/components/namespace/nsarguments.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/namespace/nsconvert.c b/sys/contrib/dev/acpica/source/components/namespace/nsconvert.c
index d2b32d25d2..dc913661b4 100644
--- a/sys/contrib/dev/acpica/source/components/namespace/nsconvert.c
+++ b/sys/contrib/dev/acpica/source/components/namespace/nsconvert.c
@@ -9,7 +9,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -670,5 +670,5 @@ AcpiNsConvertToReference (
 ErrorExit:
     ACPI_FREE (Name);
     *ReturnObject = NewObject;
-    return (AE_OK);
+    return (Status);
 }
diff --git a/sys/contrib/dev/acpica/source/components/namespace/nsdump.c b/sys/contrib/dev/acpica/source/components/namespace/nsdump.c
index 6ea0452575..cfde13b5d7 100644
--- a/sys/contrib/dev/acpica/source/components/namespace/nsdump.c
+++ b/sys/contrib/dev/acpica/source/components/namespace/nsdump.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -381,7 +381,7 @@ AcpiNsDumpOneObject (
 
     /* Now we can print out the pertinent information */
 
-    AcpiOsPrintf (" %-12s %p %2.2X ",
+    AcpiOsPrintf (" %-12s %p %3.3X ",
         AcpiUtGetTypeName (Type), ThisNode, ThisNode->OwnerId);
 
     DbgLevel = AcpiDbgLevel;
@@ -478,7 +478,7 @@ AcpiNsDumpOneObject (
                     AcpiOsPrintf (" =");
                     for (i = 0; (i < ObjDesc->Buffer.Length && i < 12); i++)
                     {
-                        AcpiOsPrintf (" %.2hX", ObjDesc->Buffer.Pointer[i]);
+                        AcpiOsPrintf (" %2.2X", ObjDesc->Buffer.Pointer[i]);
                     }
                 }
                 AcpiOsPrintf ("\n");
@@ -575,7 +575,7 @@ AcpiNsDumpOneObject (
         case ACPI_TYPE_LOCAL_BANK_FIELD:
         case ACPI_TYPE_LOCAL_INDEX_FIELD:
 
-            AcpiOsPrintf (" Off %.3X Len %.2X Acc %.2hd\n",
+            AcpiOsPrintf (" Off %.3X Len %.2X Acc %.2X\n",
                 (ObjDesc->CommonField.BaseByteOffset * 8)
                     + ObjDesc->CommonField.StartFieldBitOffset,
                 ObjDesc->CommonField.BitLength,
@@ -760,8 +760,6 @@ AcpiNsDumpOneObject (
 
             goto Cleanup;
         }
-
-        ObjType = ACPI_TYPE_INVALID;   /* Terminate loop after next pass */
     }
 
 Cleanup:
diff --git a/sys/contrib/dev/acpica/source/components/namespace/nsdumpdv.c b/sys/contrib/dev/acpica/source/components/namespace/nsdumpdv.c
index 8b3333dbe0..97f0bc8cf0 100644
--- a/sys/contrib/dev/acpica/source/components/namespace/nsdumpdv.c
+++ b/sys/contrib/dev/acpica/source/components/namespace/nsdumpdv.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/namespace/nseval.c b/sys/contrib/dev/acpica/source/components/namespace/nseval.c
index af6a6d4530..f16dadd4e2 100644
--- a/sys/contrib/dev/acpica/source/components/namespace/nseval.c
+++ b/sys/contrib/dev/acpica/source/components/namespace/nseval.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/namespace/nsinit.c b/sys/contrib/dev/acpica/source/components/namespace/nsinit.c
index 51f9833948..4a83f3da69 100644
--- a/sys/contrib/dev/acpica/source/components/namespace/nsinit.c
+++ b/sys/contrib/dev/acpica/source/components/namespace/nsinit.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/namespace/nsload.c b/sys/contrib/dev/acpica/source/components/namespace/nsload.c
index f7aaa11d22..bea0ae4308 100644
--- a/sys/contrib/dev/acpica/source/components/namespace/nsload.c
+++ b/sys/contrib/dev/acpica/source/components/namespace/nsload.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/namespace/nsnames.c b/sys/contrib/dev/acpica/source/components/namespace/nsnames.c
index 7633e2ef24..eebdd1a2db 100644
--- a/sys/contrib/dev/acpica/source/components/namespace/nsnames.c
+++ b/sys/contrib/dev/acpica/source/components/namespace/nsnames.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/namespace/nsobject.c b/sys/contrib/dev/acpica/source/components/namespace/nsobject.c
index 9c8865f0ef..6de2a2976b 100644
--- a/sys/contrib/dev/acpica/source/components/namespace/nsobject.c
+++ b/sys/contrib/dev/acpica/source/components/namespace/nsobject.c
@@ -9,7 +9,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/namespace/nsparse.c b/sys/contrib/dev/acpica/source/components/namespace/nsparse.c
index 43d261e487..f10db0e4d6 100644
--- a/sys/contrib/dev/acpica/source/components/namespace/nsparse.c
+++ b/sys/contrib/dev/acpica/source/components/namespace/nsparse.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/namespace/nspredef.c b/sys/contrib/dev/acpica/source/components/namespace/nspredef.c
index 0cc5e8a123..70aac113c7 100644
--- a/sys/contrib/dev/acpica/source/components/namespace/nspredef.c
+++ b/sys/contrib/dev/acpica/source/components/namespace/nspredef.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/namespace/nsprepkg.c b/sys/contrib/dev/acpica/source/components/namespace/nsprepkg.c
index 92a6cd0103..d33b76d651 100644
--- a/sys/contrib/dev/acpica/source/components/namespace/nsprepkg.c
+++ b/sys/contrib/dev/acpica/source/components/namespace/nsprepkg.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/namespace/nsrepair.c b/sys/contrib/dev/acpica/source/components/namespace/nsrepair.c
index 885d50bf1a..fa1986031d 100644
--- a/sys/contrib/dev/acpica/source/components/namespace/nsrepair.c
+++ b/sys/contrib/dev/acpica/source/components/namespace/nsrepair.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/namespace/nsrepair2.c b/sys/contrib/dev/acpica/source/components/namespace/nsrepair2.c
index a0b10747dc..f62aca29a5 100644
--- a/sys/contrib/dev/acpica/source/components/namespace/nsrepair2.c
+++ b/sys/contrib/dev/acpica/source/components/namespace/nsrepair2.c
@@ -9,7 +9,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -289,7 +289,7 @@ static const ACPI_REPAIR_INFO       AcpiNsRepairableNames[] =
 
 #define ACPI_FDE_FIELD_COUNT        5
 #define ACPI_FDE_BYTE_BUFFER_SIZE   5
-#define ACPI_FDE_DWORD_BUFFER_SIZE  (ACPI_FDE_FIELD_COUNT * sizeof (UINT32))
+#define ACPI_FDE_DWORD_BUFFER_SIZE  (ACPI_FDE_FIELD_COUNT * (UINT32) sizeof (UINT32))
 
 
 /******************************************************************************
diff --git a/sys/contrib/dev/acpica/source/components/namespace/nssearch.c b/sys/contrib/dev/acpica/source/components/namespace/nssearch.c
index 87fc744a4c..f4b2e71ef7 100644
--- a/sys/contrib/dev/acpica/source/components/namespace/nssearch.c
+++ b/sys/contrib/dev/acpica/source/components/namespace/nssearch.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/namespace/nsutils.c b/sys/contrib/dev/acpica/source/components/namespace/nsutils.c
index 581ad5f3fd..6df0d087dd 100644
--- a/sys/contrib/dev/acpica/source/components/namespace/nsutils.c
+++ b/sys/contrib/dev/acpica/source/components/namespace/nsutils.c
@@ -9,7 +9,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/namespace/nswalk.c b/sys/contrib/dev/acpica/source/components/namespace/nswalk.c
index 653629b1b8..3772b09d6e 100644
--- a/sys/contrib/dev/acpica/source/components/namespace/nswalk.c
+++ b/sys/contrib/dev/acpica/source/components/namespace/nswalk.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/namespace/nsxfeval.c b/sys/contrib/dev/acpica/source/components/namespace/nsxfeval.c
index 7ad5238b3f..ee7334ec38 100644
--- a/sys/contrib/dev/acpica/source/components/namespace/nsxfeval.c
+++ b/sys/contrib/dev/acpica/source/components/namespace/nsxfeval.c
@@ -9,7 +9,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/namespace/nsxfname.c b/sys/contrib/dev/acpica/source/components/namespace/nsxfname.c
index 7332a92f3e..5b3d5a9bed 100644
--- a/sys/contrib/dev/acpica/source/components/namespace/nsxfname.c
+++ b/sys/contrib/dev/acpica/source/components/namespace/nsxfname.c
@@ -9,7 +9,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -611,7 +611,7 @@ AcpiGetObjectInfo (
 
     if (Cls)
     {
-        NextIdString = AcpiNsCopyDeviceId (&Info->ClassCode,
+       (void) AcpiNsCopyDeviceId (&Info->ClassCode,
             Cls, NextIdString);
     }
 
diff --git a/sys/contrib/dev/acpica/source/components/namespace/nsxfobj.c b/sys/contrib/dev/acpica/source/components/namespace/nsxfobj.c
index 8c7cbe1656..68e64033b1 100644
--- a/sys/contrib/dev/acpica/source/components/namespace/nsxfobj.c
+++ b/sys/contrib/dev/acpica/source/components/namespace/nsxfobj.c
@@ -9,7 +9,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/parser/psargs.c b/sys/contrib/dev/acpica/source/components/parser/psargs.c
index c9faa95bc2..fb12620c65 100644
--- a/sys/contrib/dev/acpica/source/components/parser/psargs.c
+++ b/sys/contrib/dev/acpica/source/components/parser/psargs.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/parser/psloop.c b/sys/contrib/dev/acpica/source/components/parser/psloop.c
index f7ed8e7b5e..d4c6d0b95a 100644
--- a/sys/contrib/dev/acpica/source/components/parser/psloop.c
+++ b/sys/contrib/dev/acpica/source/components/parser/psloop.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/parser/psobject.c b/sys/contrib/dev/acpica/source/components/parser/psobject.c
index 61c3a868ac..4391589706 100644
--- a/sys/contrib/dev/acpica/source/components/parser/psobject.c
+++ b/sys/contrib/dev/acpica/source/components/parser/psobject.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -652,7 +652,7 @@ AcpiPsCompleteOp (
             WalkState->Opcode = (*Op)->Common.AmlOpcode;
 
             Status = WalkState->AscendingCallback (WalkState);
-            Status = AcpiPsNextParseState (WalkState, *Op, Status);
+            (void) AcpiPsNextParseState (WalkState, *Op, Status);
 
             Status2 = AcpiPsCompleteThisOp (WalkState, *Op);
             if (ACPI_FAILURE (Status2))
@@ -661,7 +661,6 @@ AcpiPsCompleteOp (
             }
         }
 
-        Status = AE_OK;
         break;
 
     case AE_CTRL_BREAK:
@@ -682,7 +681,7 @@ AcpiPsCompleteOp (
         WalkState->Opcode = (*Op)->Common.AmlOpcode;
 
         Status = WalkState->AscendingCallback (WalkState);
-        Status = AcpiPsNextParseState (WalkState, *Op, Status);
+        (void) AcpiPsNextParseState (WalkState, *Op, Status);
 
         Status2 = AcpiPsCompleteThisOp (WalkState, *Op);
         if (ACPI_FAILURE (Status2))
@@ -690,7 +689,6 @@ AcpiPsCompleteOp (
             return_ACPI_STATUS (Status2);
         }
 
-        Status = AE_OK;
         break;
 
     case AE_CTRL_TERMINATE:
diff --git a/sys/contrib/dev/acpica/source/components/parser/psopcode.c b/sys/contrib/dev/acpica/source/components/parser/psopcode.c
index fd3073fb2e..fdea6b565f 100644
--- a/sys/contrib/dev/acpica/source/components/parser/psopcode.c
+++ b/sys/contrib/dev/acpica/source/components/parser/psopcode.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/parser/psopinfo.c b/sys/contrib/dev/acpica/source/components/parser/psopinfo.c
index c2b9286c50..f631f0896c 100644
--- a/sys/contrib/dev/acpica/source/components/parser/psopinfo.c
+++ b/sys/contrib/dev/acpica/source/components/parser/psopinfo.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/parser/psparse.c b/sys/contrib/dev/acpica/source/components/parser/psparse.c
index 68e83aa84f..729c929ee1 100644
--- a/sys/contrib/dev/acpica/source/components/parser/psparse.c
+++ b/sys/contrib/dev/acpica/source/components/parser/psparse.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/parser/psscope.c b/sys/contrib/dev/acpica/source/components/parser/psscope.c
index f21bb84dfb..aae7b1ba18 100644
--- a/sys/contrib/dev/acpica/source/components/parser/psscope.c
+++ b/sys/contrib/dev/acpica/source/components/parser/psscope.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/parser/pstree.c b/sys/contrib/dev/acpica/source/components/parser/pstree.c
index 8104e809a4..1ec1f92e85 100644
--- a/sys/contrib/dev/acpica/source/components/parser/pstree.c
+++ b/sys/contrib/dev/acpica/source/components/parser/pstree.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/parser/psutils.c b/sys/contrib/dev/acpica/source/components/parser/psutils.c
index 22b1008ba2..faff3f26cf 100644
--- a/sys/contrib/dev/acpica/source/components/parser/psutils.c
+++ b/sys/contrib/dev/acpica/source/components/parser/psutils.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/parser/pswalk.c b/sys/contrib/dev/acpica/source/components/parser/pswalk.c
index 02ba2aad0a..cb0ecbeefd 100644
--- a/sys/contrib/dev/acpica/source/components/parser/pswalk.c
+++ b/sys/contrib/dev/acpica/source/components/parser/pswalk.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/parser/psxface.c b/sys/contrib/dev/acpica/source/components/parser/psxface.c
index abffb8e5df..9e9a8acb73 100644
--- a/sys/contrib/dev/acpica/source/components/parser/psxface.c
+++ b/sys/contrib/dev/acpica/source/components/parser/psxface.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/resources/rsaddr.c b/sys/contrib/dev/acpica/source/components/resources/rsaddr.c
index a27d6a0c54..d1d3481782 100644
--- a/sys/contrib/dev/acpica/source/components/resources/rsaddr.c
+++ b/sys/contrib/dev/acpica/source/components/resources/rsaddr.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/resources/rscalc.c b/sys/contrib/dev/acpica/source/components/resources/rscalc.c
index b2860263dd..4b050b90f2 100644
--- a/sys/contrib/dev/acpica/source/components/resources/rscalc.c
+++ b/sys/contrib/dev/acpica/source/components/resources/rscalc.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/resources/rscreate.c b/sys/contrib/dev/acpica/source/components/resources/rscreate.c
index 26640c209e..c0348b9425 100644
--- a/sys/contrib/dev/acpica/source/components/resources/rscreate.c
+++ b/sys/contrib/dev/acpica/source/components/resources/rscreate.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -481,6 +481,10 @@ AcpiRsCreatePciRoutingTable (
 
                 Status = AcpiNsHandleToPathname (
                     (ACPI_HANDLE) Node, &PathBuffer, FALSE);
+                if (ACPI_FAILURE (Status))
+                {
+                    return_ACPI_STATUS (Status);
+                }
 
                 /* +1 to include null terminator */
 
diff --git a/sys/contrib/dev/acpica/source/components/resources/rsdump.c b/sys/contrib/dev/acpica/source/components/resources/rsdump.c
index 395832c163..03f6fac5a6 100644
--- a/sys/contrib/dev/acpica/source/components/resources/rsdump.c
+++ b/sys/contrib/dev/acpica/source/components/resources/rsdump.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/resources/rsdumpinfo.c b/sys/contrib/dev/acpica/source/components/resources/rsdumpinfo.c
index d55bf63bad..5d32516dc6 100644
--- a/sys/contrib/dev/acpica/source/components/resources/rsdumpinfo.c
+++ b/sys/contrib/dev/acpica/source/components/resources/rsdumpinfo.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/resources/rsinfo.c b/sys/contrib/dev/acpica/source/components/resources/rsinfo.c
index c443e89951..cba09fc441 100644
--- a/sys/contrib/dev/acpica/source/components/resources/rsinfo.c
+++ b/sys/contrib/dev/acpica/source/components/resources/rsinfo.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/resources/rsio.c b/sys/contrib/dev/acpica/source/components/resources/rsio.c
index dfce424287..bd2cdabb18 100644
--- a/sys/contrib/dev/acpica/source/components/resources/rsio.c
+++ b/sys/contrib/dev/acpica/source/components/resources/rsio.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/resources/rsirq.c b/sys/contrib/dev/acpica/source/components/resources/rsirq.c
index d2f3cfbcd6..30f0abfba1 100644
--- a/sys/contrib/dev/acpica/source/components/resources/rsirq.c
+++ b/sys/contrib/dev/acpica/source/components/resources/rsirq.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/resources/rslist.c b/sys/contrib/dev/acpica/source/components/resources/rslist.c
index 5b48d9ebaa..c78cfd018f 100644
--- a/sys/contrib/dev/acpica/source/components/resources/rslist.c
+++ b/sys/contrib/dev/acpica/source/components/resources/rslist.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/resources/rsmemory.c b/sys/contrib/dev/acpica/source/components/resources/rsmemory.c
index cb8bdf0ae6..1bc0e2ecaa 100644
--- a/sys/contrib/dev/acpica/source/components/resources/rsmemory.c
+++ b/sys/contrib/dev/acpica/source/components/resources/rsmemory.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/resources/rsmisc.c b/sys/contrib/dev/acpica/source/components/resources/rsmisc.c
index 7866b1a9eb..900d370f9f 100644
--- a/sys/contrib/dev/acpica/source/components/resources/rsmisc.c
+++ b/sys/contrib/dev/acpica/source/components/resources/rsmisc.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/resources/rsserial.c b/sys/contrib/dev/acpica/source/components/resources/rsserial.c
index eaed2a3709..8f1920c785 100644
--- a/sys/contrib/dev/acpica/source/components/resources/rsserial.c
+++ b/sys/contrib/dev/acpica/source/components/resources/rsserial.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/resources/rsutils.c b/sys/contrib/dev/acpica/source/components/resources/rsutils.c
index e439a06493..ec8a321759 100644
--- a/sys/contrib/dev/acpica/source/components/resources/rsutils.c
+++ b/sys/contrib/dev/acpica/source/components/resources/rsutils.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/resources/rsxface.c b/sys/contrib/dev/acpica/source/components/resources/rsxface.c
index 2e8130b3e9..e11cf600d9 100644
--- a/sys/contrib/dev/acpica/source/components/resources/rsxface.c
+++ b/sys/contrib/dev/acpica/source/components/resources/rsxface.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/tables/tbdata.c b/sys/contrib/dev/acpica/source/components/tables/tbdata.c
index ba0c9108d5..154b967b36 100644
--- a/sys/contrib/dev/acpica/source/components/tables/tbdata.c
+++ b/sys/contrib/dev/acpica/source/components/tables/tbdata.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -973,6 +973,7 @@ AcpiTbDeleteNamespaceByOwner (
     {
         return_ACPI_STATUS (Status);
     }
+
     AcpiNsDeleteNamespaceByOwner (OwnerId);
     AcpiUtReleaseWriteLock (&AcpiGbl_NamespaceRwLock);
     return_ACPI_STATUS (Status);
@@ -1189,6 +1190,10 @@ AcpiTbLoadTable (
     }
 
     Status = AcpiNsLoadTable (TableIndex, ParentNode);
+    if (ACPI_FAILURE (Status))
+    {
+        return_ACPI_STATUS (Status);
+    }
 
     /*
      * Update GPEs for any new _Lxx/_Exx methods. Ignore errors. The host is
diff --git a/sys/contrib/dev/acpica/source/components/tables/tbfadt.c b/sys/contrib/dev/acpica/source/components/tables/tbfadt.c
index aad5a626ad..3147e83247 100644
--- a/sys/contrib/dev/acpica/source/components/tables/tbfadt.c
+++ b/sys/contrib/dev/acpica/source/components/tables/tbfadt.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/tables/tbfind.c b/sys/contrib/dev/acpica/source/components/tables/tbfind.c
index 3119ddb11e..5ed6a71bc6 100644
--- a/sys/contrib/dev/acpica/source/components/tables/tbfind.c
+++ b/sys/contrib/dev/acpica/source/components/tables/tbfind.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/tables/tbinstal.c b/sys/contrib/dev/acpica/source/components/tables/tbinstal.c
index c1d470224d..0df6108448 100644
--- a/sys/contrib/dev/acpica/source/components/tables/tbinstal.c
+++ b/sys/contrib/dev/acpica/source/components/tables/tbinstal.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/tables/tbprint.c b/sys/contrib/dev/acpica/source/components/tables/tbprint.c
index 0ff6a6ceec..8eb30f8cde 100644
--- a/sys/contrib/dev/acpica/source/components/tables/tbprint.c
+++ b/sys/contrib/dev/acpica/source/components/tables/tbprint.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/tables/tbutils.c b/sys/contrib/dev/acpica/source/components/tables/tbutils.c
index badee3c5c6..c186691823 100644
--- a/sys/contrib/dev/acpica/source/components/tables/tbutils.c
+++ b/sys/contrib/dev/acpica/source/components/tables/tbutils.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/tables/tbxface.c b/sys/contrib/dev/acpica/source/components/tables/tbxface.c
index ae5991aa00..3c17ee001a 100644
--- a/sys/contrib/dev/acpica/source/components/tables/tbxface.c
+++ b/sys/contrib/dev/acpica/source/components/tables/tbxface.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/tables/tbxfload.c b/sys/contrib/dev/acpica/source/components/tables/tbxfload.c
index 1e17db6c8c..b886e8c49b 100644
--- a/sys/contrib/dev/acpica/source/components/tables/tbxfload.c
+++ b/sys/contrib/dev/acpica/source/components/tables/tbxfload.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -445,6 +445,8 @@ ACPI_EXPORT_SYMBOL_INIT (AcpiInstallTable)
  *
  * PARAMETERS:  Table               - Pointer to a buffer containing the ACPI
  *                                    table to be loaded.
+ *              TableIdx            - Pointer to a UINT32 for storing the table
+ *                                    index, might be NULL
  *
  * RETURN:      Status
  *
@@ -458,7 +460,8 @@ ACPI_EXPORT_SYMBOL_INIT (AcpiInstallTable)
 
 ACPI_STATUS
 AcpiLoadTable (
-    ACPI_TABLE_HEADER       *Table)
+    ACPI_TABLE_HEADER       *Table,
+    UINT32                  *TableIdx)
 {
     ACPI_STATUS             Status;
     UINT32                  TableIndex;
@@ -479,6 +482,11 @@ AcpiLoadTable (
     ACPI_INFO (("Host-directed Dynamic ACPI Table Load:"));
     Status = AcpiTbInstallAndLoadTable (ACPI_PTR_TO_PHYSADDR (Table),
         ACPI_TABLE_ORIGIN_EXTERNAL_VIRTUAL, FALSE, &TableIndex);
+    if (TableIdx)
+    {
+        *TableIdx = TableIndex;
+    }
+
     if (ACPI_SUCCESS (Status))
     {
         /* Complete the initialization/resolution of new objects */
@@ -582,3 +590,42 @@ AcpiUnloadParentTable (
 }
 
 ACPI_EXPORT_SYMBOL (AcpiUnloadParentTable)
+
+
+/*******************************************************************************
+ *
+ * FUNCTION:    AcpiUnloadTable
+ *
+ * PARAMETERS:  TableIndex          - Index as returned by AcpiLoadTable
+ *
+ * RETURN:      Status
+ *
+ * DESCRIPTION: Via the TableIndex representing an SSDT or OEMx table, unloads
+ *              the table and deletes all namespace objects associated with
+ *              that table. Unloading of the DSDT is not allowed.
+ *              Note: Mainly intended to support hotplug removal of SSDTs.
+ *
+ ******************************************************************************/
+
+ACPI_STATUS
+AcpiUnloadTable (
+    UINT32                  TableIndex)
+{
+    ACPI_STATUS             Status;
+
+
+    ACPI_FUNCTION_TRACE (AcpiUnloadTable);
+
+
+    if (TableIndex == 1)
+    {
+        /* TableIndex==1 means DSDT is the owner. DSDT cannot be unloaded */
+
+        return_ACPI_STATUS (AE_TYPE);
+    }
+
+    Status = AcpiTbUnloadTable (TableIndex);
+    return_ACPI_STATUS (Status);
+}
+
+ACPI_EXPORT_SYMBOL (AcpiUnloadTable)
diff --git a/sys/contrib/dev/acpica/source/components/tables/tbxfroot.c b/sys/contrib/dev/acpica/source/components/tables/tbxfroot.c
index 9a19c96404..5fa5a6ef6d 100644
--- a/sys/contrib/dev/acpica/source/components/tables/tbxfroot.c
+++ b/sys/contrib/dev/acpica/source/components/tables/tbxfroot.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/utilities/utaddress.c b/sys/contrib/dev/acpica/source/components/utilities/utaddress.c
index db0509d2ac..ff7f540ac0 100644
--- a/sys/contrib/dev/acpica/source/components/utilities/utaddress.c
+++ b/sys/contrib/dev/acpica/source/components/utilities/utaddress.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/utilities/utalloc.c b/sys/contrib/dev/acpica/source/components/utilities/utalloc.c
index 45e202575d..4ff85feb6a 100644
--- a/sys/contrib/dev/acpica/source/components/utilities/utalloc.c
+++ b/sys/contrib/dev/acpica/source/components/utilities/utalloc.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/utilities/utascii.c b/sys/contrib/dev/acpica/source/components/utilities/utascii.c
index c7aaff4032..c28e894761 100644
--- a/sys/contrib/dev/acpica/source/components/utilities/utascii.c
+++ b/sys/contrib/dev/acpica/source/components/utilities/utascii.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/utilities/utbuffer.c b/sys/contrib/dev/acpica/source/components/utilities/utbuffer.c
index 44fd30a6a1..5d68e3ce8a 100644
--- a/sys/contrib/dev/acpica/source/components/utilities/utbuffer.c
+++ b/sys/contrib/dev/acpica/source/components/utilities/utbuffer.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -186,8 +186,10 @@ AcpiUtDumpBuffer (
     UINT32                  j;
     UINT32                  Temp32;
     UINT8                   BufChar;
+    UINT32                  DisplayDataOnly = Display & DB_DISPLAY_DATA_ONLY;
 
 
+    Display &= ~DB_DISPLAY_DATA_ONLY;
     if (!Buffer)
     {
         AcpiOsPrintf ("Null Buffer Pointer in DumpBuffer!\n");
@@ -205,7 +207,10 @@ AcpiUtDumpBuffer (
     {
         /* Print current offset */
 
-        AcpiOsPrintf ("%8.4X: ", (BaseOffset + i));
+        if (!DisplayDataOnly)
+        {
+            AcpiOsPrintf ("%8.4X: ", (BaseOffset + i));
+        }
 
         /* Print 16 hex chars */
 
@@ -257,38 +262,41 @@ AcpiUtDumpBuffer (
          * Print the ASCII equivalent characters but watch out for the bad
          * unprintable ones (printable chars are 0x20 through 0x7E)
          */
-        AcpiOsPrintf (" ");
-        for (j = 0; j < 16; j++)
+        if (!DisplayDataOnly)
         {
-            if (i + j >= Count)
+            AcpiOsPrintf (" ");
+            for (j = 0; j < 16; j++)
             {
-                AcpiOsPrintf ("\n");
-                return;
+                if (i + j >= Count)
+                {
+                    AcpiOsPrintf ("\n");
+                    return;
+                }
+
+                /*
+                 * Add comment characters so rest of line is ignored when
+                 * compiled
+                 */
+                if (j == 0)
+                {
+                    AcpiOsPrintf ("// ");
+                }
+
+                BufChar = Buffer[(ACPI_SIZE) i + j];
+                if (isprint (BufChar))
+                {
+                    AcpiOsPrintf ("%c", BufChar);
+                }
+                else
+                {
+                    AcpiOsPrintf (".");
+                }
             }
 
-            /*
-             * Add comment characters so rest of line is ignored when
-             * compiled
-             */
-            if (j == 0)
-            {
-                AcpiOsPrintf ("// ");
-            }
+            /* Done with that line. */
 
-            BufChar = Buffer[(ACPI_SIZE) i + j];
-            if (isprint (BufChar))
-            {
-                AcpiOsPrintf ("%c", BufChar);
-            }
-            else
-            {
-                AcpiOsPrintf (".");
-            }
+            AcpiOsPrintf ("\n");
         }
-
-        /* Done with that line. */
-
-        AcpiOsPrintf ("\n");
         i += 16;
     }
 
diff --git a/sys/contrib/dev/acpica/source/components/utilities/utcache.c b/sys/contrib/dev/acpica/source/components/utilities/utcache.c
index 5ae8983f32..7f3a73a7e2 100644
--- a/sys/contrib/dev/acpica/source/components/utilities/utcache.c
+++ b/sys/contrib/dev/acpica/source/components/utilities/utcache.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/utilities/utclib.c b/sys/contrib/dev/acpica/source/components/utilities/utclib.c
index 1e62de13bd..ad3fc09205 100644
--- a/sys/contrib/dev/acpica/source/components/utilities/utclib.c
+++ b/sys/contrib/dev/acpica/source/components/utilities/utclib.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/utilities/utcopy.c b/sys/contrib/dev/acpica/source/components/utilities/utcopy.c
index ca7966fc73..37ff888eea 100644
--- a/sys/contrib/dev/acpica/source/components/utilities/utcopy.c
+++ b/sys/contrib/dev/acpica/source/components/utilities/utcopy.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/utilities/utdebug.c b/sys/contrib/dev/acpica/source/components/utilities/utdebug.c
index 5049f6bf1f..16696b1fa7 100644
--- a/sys/contrib/dev/acpica/source/components/utilities/utdebug.c
+++ b/sys/contrib/dev/acpica/source/components/utilities/utdebug.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -322,7 +322,7 @@ AcpiDebugPrint (
      * Display the module name, current line number, thread ID (if requested),
      * current procedure nesting level, and the current procedure name
      */
-    AcpiOsPrintf ("%9s-%04ld ", ModuleName, LineNumber);
+    AcpiOsPrintf ("%9s-%04d ", ModuleName, LineNumber);
 
 #ifdef ACPI_APPLICATION
     /*
@@ -343,7 +343,7 @@ AcpiDebugPrint (
         FillCount = 0;
     }
 
-    AcpiOsPrintf ("[%02ld] %*s",
+    AcpiOsPrintf ("[%02d] %*s",
         AcpiGbl_NestingLevel, AcpiGbl_NestingLevel + 1, " ");
     AcpiOsPrintf ("%s%*s: ",
         AcpiUtTrimFunctionName (FunctionName), FillCount, " ");
diff --git a/sys/contrib/dev/acpica/source/components/utilities/utdecode.c b/sys/contrib/dev/acpica/source/components/utilities/utdecode.c
index 3daff815ff..aec3296904 100644
--- a/sys/contrib/dev/acpica/source/components/utilities/utdecode.c
+++ b/sys/contrib/dev/acpica/source/components/utilities/utdecode.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/utilities/utdelete.c b/sys/contrib/dev/acpica/source/components/utilities/utdelete.c
index 332e2dec7c..2f60917bdf 100644
--- a/sys/contrib/dev/acpica/source/components/utilities/utdelete.c
+++ b/sys/contrib/dev/acpica/source/components/utilities/utdelete.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/utilities/uterror.c b/sys/contrib/dev/acpica/source/components/utilities/uterror.c
index 624c034ced..af412bef0e 100644
--- a/sys/contrib/dev/acpica/source/components/utilities/uterror.c
+++ b/sys/contrib/dev/acpica/source/components/utilities/uterror.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -188,7 +188,7 @@ AcpiUtPredefinedWarning (
     const char              *ModuleName,
     UINT32                  LineNumber,
     char                    *Pathname,
-    UINT8                   NodeFlags,
+    UINT16                  NodeFlags,
     const char              *Format,
     ...)
 {
@@ -237,7 +237,7 @@ AcpiUtPredefinedInfo (
     const char              *ModuleName,
     UINT32                  LineNumber,
     char                    *Pathname,
-    UINT8                   NodeFlags,
+    UINT16                  NodeFlags,
     const char              *Format,
     ...)
 {
@@ -286,7 +286,7 @@ AcpiUtPredefinedBiosError (
     const char              *ModuleName,
     UINT32                  LineNumber,
     char                    *Pathname,
-    UINT8                   NodeFlags,
+    UINT16                  NodeFlags,
     const char              *Format,
     ...)
 {
diff --git a/sys/contrib/dev/acpica/source/components/utilities/uteval.c b/sys/contrib/dev/acpica/source/components/utilities/uteval.c
index 0ec9de7cbe..92316f7197 100644
--- a/sys/contrib/dev/acpica/source/components/utilities/uteval.c
+++ b/sys/contrib/dev/acpica/source/components/utilities/uteval.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/utilities/utexcep.c b/sys/contrib/dev/acpica/source/components/utilities/utexcep.c
index 0071d5364d..221e1fe217 100644
--- a/sys/contrib/dev/acpica/source/components/utilities/utexcep.c
+++ b/sys/contrib/dev/acpica/source/components/utilities/utexcep.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/utilities/utglobal.c b/sys/contrib/dev/acpica/source/components/utilities/utglobal.c
index a780c71728..806a9406d2 100644
--- a/sys/contrib/dev/acpica/source/components/utilities/utglobal.c
+++ b/sys/contrib/dev/acpica/source/components/utilities/utglobal.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/utilities/uthex.c b/sys/contrib/dev/acpica/source/components/utilities/uthex.c
index 0ddf20c2af..a922cb4861 100644
--- a/sys/contrib/dev/acpica/source/components/utilities/uthex.c
+++ b/sys/contrib/dev/acpica/source/components/utilities/uthex.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/utilities/utids.c b/sys/contrib/dev/acpica/source/components/utilities/utids.c
index 5fcfbf6680..e296c00a0b 100644
--- a/sys/contrib/dev/acpica/source/components/utilities/utids.c
+++ b/sys/contrib/dev/acpica/source/components/utilities/utids.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/utilities/utinit.c b/sys/contrib/dev/acpica/source/components/utilities/utinit.c
index 3e7ed41fe3..87b3b5e586 100644
--- a/sys/contrib/dev/acpica/source/components/utilities/utinit.c
+++ b/sys/contrib/dev/acpica/source/components/utilities/utinit.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/utilities/utlock.c b/sys/contrib/dev/acpica/source/components/utilities/utlock.c
index bf08d4a385..7ab4eb743c 100644
--- a/sys/contrib/dev/acpica/source/components/utilities/utlock.c
+++ b/sys/contrib/dev/acpica/source/components/utilities/utlock.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/utilities/utmath.c b/sys/contrib/dev/acpica/source/components/utilities/utmath.c
index e73359e1c0..b736d835da 100644
--- a/sys/contrib/dev/acpica/source/components/utilities/utmath.c
+++ b/sys/contrib/dev/acpica/source/components/utilities/utmath.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/utilities/utmisc.c b/sys/contrib/dev/acpica/source/components/utilities/utmisc.c
index 466e3fa26c..84fbfb3103 100644
--- a/sys/contrib/dev/acpica/source/components/utilities/utmisc.c
+++ b/sys/contrib/dev/acpica/source/components/utilities/utmisc.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/utilities/utmutex.c b/sys/contrib/dev/acpica/source/components/utilities/utmutex.c
index 83590d161f..8bdfbd3c3e 100644
--- a/sys/contrib/dev/acpica/source/components/utilities/utmutex.c
+++ b/sys/contrib/dev/acpica/source/components/utilities/utmutex.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/utilities/utnonansi.c b/sys/contrib/dev/acpica/source/components/utilities/utnonansi.c
index 8e8f0e02f9..b16b1f07b8 100644
--- a/sys/contrib/dev/acpica/source/components/utilities/utnonansi.c
+++ b/sys/contrib/dev/acpica/source/components/utilities/utnonansi.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/utilities/utobject.c b/sys/contrib/dev/acpica/source/components/utilities/utobject.c
index f423026267..e4b9305802 100644
--- a/sys/contrib/dev/acpica/source/components/utilities/utobject.c
+++ b/sys/contrib/dev/acpica/source/components/utilities/utobject.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/utilities/utosi.c b/sys/contrib/dev/acpica/source/components/utilities/utosi.c
index 1413b9795f..e5d782d9f5 100644
--- a/sys/contrib/dev/acpica/source/components/utilities/utosi.c
+++ b/sys/contrib/dev/acpica/source/components/utilities/utosi.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -212,13 +212,14 @@ static ACPI_INTERFACE_INFO    AcpiDefaultSupportedInterfaces[] =
     {"Windows 2006 SP2",    NULL, 0, ACPI_OSI_WIN_VISTA_SP2},    /* Windows Vista SP2 - Added 09/2010 */
     {"Windows 2009",        NULL, 0, ACPI_OSI_WIN_7},            /* Windows 7 and Server 2008 R2 - Added 09/2009 */
     {"Windows 2012",        NULL, 0, ACPI_OSI_WIN_8},            /* Windows 8 and Server 2012 - Added 08/2012 */
-    {"Windows 2013",        NULL, 0, ACPI_OSI_WIN_8},            /* Windows 8.1 and Server 2012 R2 - Added 01/2014 */
+    {"Windows 2013",        NULL, 0, ACPI_OSI_WIN_8_1},          /* Windows 8.1 and Server 2012 R2 - Added 01/2014 */
     {"Windows 2015",        NULL, 0, ACPI_OSI_WIN_10},           /* Windows 10 - Added 03/2015 */
     {"Windows 2016",        NULL, 0, ACPI_OSI_WIN_10_RS1},       /* Windows 10 version 1607 - Added 12/2017 */
     {"Windows 2017",        NULL, 0, ACPI_OSI_WIN_10_RS2},       /* Windows 10 version 1703 - Added 12/2017 */
     {"Windows 2017.2",      NULL, 0, ACPI_OSI_WIN_10_RS3},       /* Windows 10 version 1709 - Added 02/2018 */
     {"Windows 2018",        NULL, 0, ACPI_OSI_WIN_10_RS4},       /* Windows 10 version 1803 - Added 11/2018 */
     {"Windows 2018.2",      NULL, 0, ACPI_OSI_WIN_10_RS5},       /* Windows 10 version 1809 - Added 11/2018 */
+    {"Windows 2019",        NULL, 0, ACPI_OSI_WIN_10_19H1},      /* Windows 10 version 1903 - Added 08/2019 */
 
     /* Feature Group Strings */
 
diff --git a/sys/contrib/dev/acpica/source/components/utilities/utownerid.c b/sys/contrib/dev/acpica/source/components/utilities/utownerid.c
index 64a11389ef..dd880f86e1 100644
--- a/sys/contrib/dev/acpica/source/components/utilities/utownerid.c
+++ b/sys/contrib/dev/acpica/source/components/utilities/utownerid.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -190,7 +190,7 @@ AcpiUtAllocateOwnerId (
     if (*OwnerId)
     {
         ACPI_ERROR ((AE_INFO,
-            "Owner ID [0x%2.2X] already exists", *OwnerId));
+            "Owner ID [0x%3.3X] already exists", *OwnerId));
         return_ACPI_STATUS (AE_ALREADY_EXISTS);
     }
 
@@ -246,13 +246,13 @@ AcpiUtAllocateOwnerId (
                 /*
                  * Construct encoded ID from the index and bit position
                  *
-                 * Note: Last [j].k (bit 255) is never used and is marked
+                 * Note: Last [j].k (bit 4095) is never used and is marked
                  * permanently allocated (prevents +1 overflow)
                  */
                 *OwnerId = (ACPI_OWNER_ID) ((k + 1) + ACPI_MUL_32 (j));
 
                 ACPI_DEBUG_PRINT ((ACPI_DB_VALUES,
-                    "Allocated OwnerId: %2.2X\n", (unsigned int) *OwnerId));
+                    "Allocated OwnerId: 0x%3.3X\n", (unsigned int) *OwnerId));
                 goto Exit;
             }
         }
@@ -272,7 +272,7 @@ AcpiUtAllocateOwnerId (
      */
     Status = AE_OWNER_ID_LIMIT;
     ACPI_ERROR ((AE_INFO,
-        "Could not allocate new OwnerId (255 max), AE_OWNER_ID_LIMIT"));
+        "Could not allocate new OwnerId (4095 max), AE_OWNER_ID_LIMIT"));
 
 Exit:
     (void) AcpiUtReleaseMutex (ACPI_MTX_CACHES);
@@ -315,7 +315,7 @@ AcpiUtReleaseOwnerId (
 
     if (OwnerId == 0)
     {
-        ACPI_ERROR ((AE_INFO, "Invalid OwnerId: 0x%2.2X", OwnerId));
+        ACPI_ERROR ((AE_INFO, "Invalid OwnerId: 0x%3.3X", OwnerId));
         return_VOID;
     }
 
@@ -345,7 +345,7 @@ AcpiUtReleaseOwnerId (
     else
     {
         ACPI_ERROR ((AE_INFO,
-            "Release of non-allocated OwnerId: 0x%2.2X", OwnerId + 1));
+            "Attempted release of non-allocated OwnerId: 0x%3.3X", OwnerId + 1));
     }
 
     (void) AcpiUtReleaseMutex (ACPI_MTX_CACHES);
diff --git a/sys/contrib/dev/acpica/source/components/utilities/utpredef.c b/sys/contrib/dev/acpica/source/components/utilities/utpredef.c
index 8d9c5b0b2f..05708ab591 100644
--- a/sys/contrib/dev/acpica/source/components/utilities/utpredef.c
+++ b/sys/contrib/dev/acpica/source/components/utilities/utpredef.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/utilities/utprint.c b/sys/contrib/dev/acpica/source/components/utilities/utprint.c
index 3327e4e822..f97a04d80d 100644
--- a/sys/contrib/dev/acpica/source/components/utilities/utprint.c
+++ b/sys/contrib/dev/acpica/source/components/utilities/utprint.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/utilities/utresdecode.c b/sys/contrib/dev/acpica/source/components/utilities/utresdecode.c
index 345e06359e..80d6a80e32 100644
--- a/sys/contrib/dev/acpica/source/components/utilities/utresdecode.c
+++ b/sys/contrib/dev/acpica/source/components/utilities/utresdecode.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/utilities/utresrc.c b/sys/contrib/dev/acpica/source/components/utilities/utresrc.c
index df5716abae..97acd39fbf 100644
--- a/sys/contrib/dev/acpica/source/components/utilities/utresrc.c
+++ b/sys/contrib/dev/acpica/source/components/utilities/utresrc.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/utilities/utstate.c b/sys/contrib/dev/acpica/source/components/utilities/utstate.c
index 46f9b7402b..2110532024 100644
--- a/sys/contrib/dev/acpica/source/components/utilities/utstate.c
+++ b/sys/contrib/dev/acpica/source/components/utilities/utstate.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/utilities/utstring.c b/sys/contrib/dev/acpica/source/components/utilities/utstring.c
index f0ee49a0ec..f2d6ad7fe9 100644
--- a/sys/contrib/dev/acpica/source/components/utilities/utstring.c
+++ b/sys/contrib/dev/acpica/source/components/utilities/utstring.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/utilities/utstrsuppt.c b/sys/contrib/dev/acpica/source/components/utilities/utstrsuppt.c
index 5fe27fd292..f0805ccf7d 100644
--- a/sys/contrib/dev/acpica/source/components/utilities/utstrsuppt.c
+++ b/sys/contrib/dev/acpica/source/components/utilities/utstrsuppt.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/utilities/utstrtoul64.c b/sys/contrib/dev/acpica/source/components/utilities/utstrtoul64.c
index a217790800..9815d37391 100644
--- a/sys/contrib/dev/acpica/source/components/utilities/utstrtoul64.c
+++ b/sys/contrib/dev/acpica/source/components/utilities/utstrtoul64.c
@@ -9,7 +9,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/utilities/uttrack.c b/sys/contrib/dev/acpica/source/components/utilities/uttrack.c
index c6e6b45bd6..c4f890a269 100644
--- a/sys/contrib/dev/acpica/source/components/utilities/uttrack.c
+++ b/sys/contrib/dev/acpica/source/components/utilities/uttrack.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -864,7 +864,7 @@ AcpiUtDumpAllocations (
 
                     case ACPI_DESC_TYPE_PARSER:
 
-                        AcpiOsPrintf ("AmlOpcode 0x%04hX\n",
+                        AcpiOsPrintf ("AmlOpcode 0x%04X\n",
                             Descriptor->Op.Asl.AmlOpcode);
                         break;
 
diff --git a/sys/contrib/dev/acpica/source/components/utilities/utuuid.c b/sys/contrib/dev/acpica/source/components/utilities/utuuid.c
index 74827803d9..f96227e147 100644
--- a/sys/contrib/dev/acpica/source/components/utilities/utuuid.c
+++ b/sys/contrib/dev/acpica/source/components/utilities/utuuid.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/utilities/utxface.c b/sys/contrib/dev/acpica/source/components/utilities/utxface.c
index fd8dbef8bf..917a56f53a 100644
--- a/sys/contrib/dev/acpica/source/components/utilities/utxface.c
+++ b/sys/contrib/dev/acpica/source/components/utilities/utxface.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/utilities/utxferror.c b/sys/contrib/dev/acpica/source/components/utilities/utxferror.c
index 1a42ac64c1..6aadf7ec4f 100644
--- a/sys/contrib/dev/acpica/source/components/utilities/utxferror.c
+++ b/sys/contrib/dev/acpica/source/components/utilities/utxferror.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/utilities/utxfinit.c b/sys/contrib/dev/acpica/source/components/utilities/utxfinit.c
index d0b49bba86..1a731e02aa 100644
--- a/sys/contrib/dev/acpica/source/components/utilities/utxfinit.c
+++ b/sys/contrib/dev/acpica/source/components/utilities/utxfinit.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/components/utilities/utxfmutex.c b/sys/contrib/dev/acpica/source/components/utilities/utxfmutex.c
index 645d0b88d2..9a2ae9a0d8 100644
--- a/sys/contrib/dev/acpica/source/components/utilities/utxfmutex.c
+++ b/sys/contrib/dev/acpica/source/components/utilities/utxfmutex.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/acapps.h b/sys/contrib/dev/acpica/source/include/acapps.h
index 044dfc9dd8..c17e574860 100644
--- a/sys/contrib/dev/acpica/source/include/acapps.h
+++ b/sys/contrib/dev/acpica/source/include/acapps.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -159,7 +159,7 @@
 /* Common info for tool signons */
 
 #define ACPICA_NAME                 "Intel ACPI Component Architecture"
-#define ACPICA_COPYRIGHT            "Copyright (c) 2000 - 2019 Intel Corporation"
+#define ACPICA_COPYRIGHT            "Copyright (c) 2000 - 2020 Intel Corporation"
 
 #if ACPI_MACHINE_WIDTH == 64
 #define ACPI_WIDTH          " (64-bit version)"
diff --git a/sys/contrib/dev/acpica/source/include/acbuffer.h b/sys/contrib/dev/acpica/source/include/acbuffer.h
index 542b06df46..b27868aff3 100644
--- a/sys/contrib/dev/acpica/source/include/acbuffer.h
+++ b/sys/contrib/dev/acpica/source/include/acbuffer.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/acclib.h b/sys/contrib/dev/acpica/source/include/acclib.h
index bac1ebe0b4..4717f878fe 100644
--- a/sys/contrib/dev/acpica/source/include/acclib.h
+++ b/sys/contrib/dev/acpica/source/include/acclib.h
@@ -9,7 +9,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/accommon.h b/sys/contrib/dev/acpica/source/include/accommon.h
index b9ae7e85f4..809c50547c 100644
--- a/sys/contrib/dev/acpica/source/include/accommon.h
+++ b/sys/contrib/dev/acpica/source/include/accommon.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/acconfig.h b/sys/contrib/dev/acpica/source/include/acconfig.h
index e93cfe1eaf..2c50ddc49a 100644
--- a/sys/contrib/dev/acpica/source/include/acconfig.h
+++ b/sys/contrib/dev/acpica/source/include/acconfig.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -239,9 +239,9 @@
 
 #define ACPI_DEFAULT_PAGE_SIZE          4096    /* Must be power of 2 */
 
-/* OwnerId tracking. 8 entries allows for 255 OwnerIds */
+/* OwnerId tracking. 128 entries allows for 4095 OwnerIds */
 
-#define ACPI_NUM_OWNERID_MASKS          8
+#define ACPI_NUM_OWNERID_MASKS          128
 
 /* Size of the root table array is increased by this increment */
 
diff --git a/sys/contrib/dev/acpica/source/include/acconvert.h b/sys/contrib/dev/acpica/source/include/acconvert.h
index 2176f483ab..2894b72920 100644
--- a/sys/contrib/dev/acpica/source/include/acconvert.h
+++ b/sys/contrib/dev/acpica/source/include/acconvert.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/acdebug.h b/sys/contrib/dev/acpica/source/include/acdebug.h
index 4e43bbee22..5012d35d9d 100644
--- a/sys/contrib/dev/acpica/source/include/acdebug.h
+++ b/sys/contrib/dev/acpica/source/include/acdebug.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -392,6 +392,10 @@ void
 AcpiDbGetBusInfo (
     void);
 
+ACPI_STATUS
+AcpiDbDisplayFields (
+    UINT32                  AddressSpaceId);
+
 
 /*
  * dbdisply - debug display commands
diff --git a/sys/contrib/dev/acpica/source/include/acdisasm.h b/sys/contrib/dev/acpica/source/include/acdisasm.h
index fa0aebe25e..960af4b03d 100644
--- a/sys/contrib/dev/acpica/source/include/acdisasm.h
+++ b/sys/contrib/dev/acpica/source/include/acdisasm.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/acdispat.h b/sys/contrib/dev/acpica/source/include/acdispat.h
index ef5f798de7..23004eb143 100644
--- a/sys/contrib/dev/acpica/source/include/acdispat.h
+++ b/sys/contrib/dev/acpica/source/include/acdispat.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/acevents.h b/sys/contrib/dev/acpica/source/include/acevents.h
index c2eb7324b2..81d9df1003 100644
--- a/sys/contrib/dev/acpica/source/include/acevents.h
+++ b/sys/contrib/dev/acpica/source/include/acevents.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/acexcep.h b/sys/contrib/dev/acpica/source/include/acexcep.h
index 1c9a49d912..90b369a1cb 100644
--- a/sys/contrib/dev/acpica/source/include/acexcep.h
+++ b/sys/contrib/dev/acpica/source/include/acexcep.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/acglobal.h b/sys/contrib/dev/acpica/source/include/acglobal.h
index 414ff85b1a..b90674b31f 100644
--- a/sys/contrib/dev/acpica/source/include/acglobal.h
+++ b/sys/contrib/dev/acpica/source/include/acglobal.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/achware.h b/sys/contrib/dev/acpica/source/include/achware.h
index 80209ab539..646cef8568 100644
--- a/sys/contrib/dev/acpica/source/include/achware.h
+++ b/sys/contrib/dev/acpica/source/include/achware.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/acinterp.h b/sys/contrib/dev/acpica/source/include/acinterp.h
index 2269bf708a..d5abafca26 100644
--- a/sys/contrib/dev/acpica/source/include/acinterp.h
+++ b/sys/contrib/dev/acpica/source/include/acinterp.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/aclocal.h b/sys/contrib/dev/acpica/source/include/aclocal.h
index b8d274e1bd..68e9d53092 100644
--- a/sys/contrib/dev/acpica/source/include/aclocal.h
+++ b/sys/contrib/dev/acpica/source/include/aclocal.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -295,12 +295,12 @@ typedef struct acpi_namespace_node
     union acpi_operand_object       *Object;        /* Interpreter object */
     UINT8                           DescriptorType; /* Differentiate object descriptor types */
     UINT8                           Type;           /* ACPI Type associated with this name */
-    UINT8                           Flags;          /* Miscellaneous flags */
-    ACPI_OWNER_ID                   OwnerId;        /* Node creator */
+    UINT16                          Flags;          /* Miscellaneous flags */
     ACPI_NAME_UNION                 Name;           /* ACPI Name, always 4 chars per ACPI spec */
     struct acpi_namespace_node      *Parent;        /* Parent node */
     struct acpi_namespace_node      *Child;         /* First child */
     struct acpi_namespace_node      *Peer;          /* First peer */
+    ACPI_OWNER_ID                   OwnerId;        /* Node creator */
 
     /*
      * The following fields are used by the ASL compiler and disassembler only
diff --git a/sys/contrib/dev/acpica/source/include/acmacros.h b/sys/contrib/dev/acpica/source/include/acmacros.h
index 340ef725ca..340875e825 100644
--- a/sys/contrib/dev/acpica/source/include/acmacros.h
+++ b/sys/contrib/dev/acpica/source/include/acmacros.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/acnames.h b/sys/contrib/dev/acpica/source/include/acnames.h
index 3a6e0fa706..571394c121 100644
--- a/sys/contrib/dev/acpica/source/include/acnames.h
+++ b/sys/contrib/dev/acpica/source/include/acnames.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/acnamesp.h b/sys/contrib/dev/acpica/source/include/acnamesp.h
index 6d148fea83..3dd605a0fd 100644
--- a/sys/contrib/dev/acpica/source/include/acnamesp.h
+++ b/sys/contrib/dev/acpica/source/include/acnamesp.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/acobject.h b/sys/contrib/dev/acpica/source/include/acobject.h
index b9b30200e9..26a4bc35c3 100644
--- a/sys/contrib/dev/acpica/source/include/acobject.h
+++ b/sys/contrib/dev/acpica/source/include/acobject.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -333,8 +333,8 @@ typedef struct acpi_object_method
     } Dispatch;
 
     UINT32                          AmlLength;
-    UINT8                           ThreadCount;
     ACPI_OWNER_ID                   OwnerId;
+    UINT8                           ThreadCount;
 
 } ACPI_OBJECT_METHOD;
 
@@ -489,6 +489,7 @@ typedef struct acpi_object_buffer_field
 {
     ACPI_OBJECT_COMMON_HEADER
     ACPI_COMMON_FIELD_INFO
+    BOOLEAN                         IsCreateField;      /* Special case for objects created by CreateField() */
     union acpi_operand_object       *BufferObj;         /* Containing Buffer object */
 
 } ACPI_OBJECT_BUFFER_FIELD;
diff --git a/sys/contrib/dev/acpica/source/include/acopcode.h b/sys/contrib/dev/acpica/source/include/acopcode.h
index dbbadab296..6602a6317b 100644
--- a/sys/contrib/dev/acpica/source/include/acopcode.h
+++ b/sys/contrib/dev/acpica/source/include/acopcode.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/acoutput.h b/sys/contrib/dev/acpica/source/include/acoutput.h
index cc94f13271..8398636a46 100644
--- a/sys/contrib/dev/acpica/source/include/acoutput.h
+++ b/sys/contrib/dev/acpica/source/include/acoutput.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/acparser.h b/sys/contrib/dev/acpica/source/include/acparser.h
index a911a8e162..f3551bea42 100644
--- a/sys/contrib/dev/acpica/source/include/acparser.h
+++ b/sys/contrib/dev/acpica/source/include/acparser.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/acpi.h b/sys/contrib/dev/acpica/source/include/acpi.h
index d0249d5110..866b8c1b34 100644
--- a/sys/contrib/dev/acpica/source/include/acpi.h
+++ b/sys/contrib/dev/acpica/source/include/acpi.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/acpiosxf.h b/sys/contrib/dev/acpica/source/include/acpiosxf.h
index 19eef638d5..b1007f5b02 100644
--- a/sys/contrib/dev/acpica/source/include/acpiosxf.h
+++ b/sys/contrib/dev/acpica/source/include/acpiosxf.h
@@ -10,7 +10,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -577,6 +577,7 @@ AcpiOsEnterSleep (
  * Debug print routines
  */
 #ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsPrintf
+ACPI_PRINTF_LIKE (1)
 void ACPI_INTERNAL_VAR_XFACE
 AcpiOsPrintf (
     const char              *Format,
diff --git a/sys/contrib/dev/acpica/source/include/acpixf.h b/sys/contrib/dev/acpica/source/include/acpixf.h
index 2893bf23b1..10e5e79a42 100644
--- a/sys/contrib/dev/acpica/source/include/acpixf.h
+++ b/sys/contrib/dev/acpica/source/include/acpixf.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -154,7 +154,7 @@
 
 /* Current ACPICA subsystem version in YYYYMMDD format */
 
-#define ACPI_CA_VERSION                 0x20190703
+#define ACPI_CA_VERSION                 0x20200110
 
 #include "acconfig.h"
 #include "actypes.h"
@@ -446,6 +446,9 @@ ACPI_GLOBAL (BOOLEAN,               AcpiGbl_SystemAwakeAndRunning);
 #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
     ACPI_EXTERNAL_RETURN_OK(Prototype)
 
+#define ACPI_HW_DEPENDENT_RETURN_UINT32(prototype) \
+    ACPI_EXTERNAL_RETURN_UINT32(prototype)
+
 #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
     ACPI_EXTERNAL_RETURN_VOID(Prototype)
 
@@ -456,6 +459,9 @@ ACPI_GLOBAL (BOOLEAN,               AcpiGbl_SystemAwakeAndRunning);
 #define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \
     static ACPI_INLINE Prototype {return(AE_OK);}
 
+#define ACPI_HW_DEPENDENT_RETURN_UINT32(prototype) \
+    static ACPI_INLINE prototype {return(0);}
+
 #define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \
     static ACPI_INLINE Prototype {return;}
 
@@ -658,7 +664,13 @@ AcpiInstallTable (
 ACPI_EXTERNAL_RETURN_STATUS (
 ACPI_STATUS
 AcpiLoadTable (
-    ACPI_TABLE_HEADER       *Table))
+    ACPI_TABLE_HEADER       *Table,
+    UINT32                  *TableIdx))
+
+ACPI_EXTERNAL_RETURN_STATUS (
+ACPI_STATUS
+AcpiUnloadTable (
+    UINT32                  TableIndex))
 
 ACPI_EXTERNAL_RETURN_STATUS (
 ACPI_STATUS
@@ -1076,6 +1088,12 @@ AcpiGetGpeStatus (
     UINT32                  GpeNumber,
     ACPI_EVENT_STATUS       *EventStatus))
 
+ACPI_HW_DEPENDENT_RETURN_UINT32 (
+UINT32
+AcpiDispatchGpe (
+    ACPI_HANDLE             GpeDevice,
+    UINT32                  GpeNumber))
+
 ACPI_HW_DEPENDENT_RETURN_STATUS (
 ACPI_STATUS
 AcpiDisableAllGpes (
diff --git a/sys/contrib/dev/acpica/source/include/acpredef.h b/sys/contrib/dev/acpica/source/include/acpredef.h
index 8bdbbf998c..99c48b066e 100644
--- a/sys/contrib/dev/acpica/source/include/acpredef.h
+++ b/sys/contrib/dev/acpica/source/include/acpredef.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/acresrc.h b/sys/contrib/dev/acpica/source/include/acresrc.h
index c5cf98e97e..ef1c5eda63 100644
--- a/sys/contrib/dev/acpica/source/include/acresrc.h
+++ b/sys/contrib/dev/acpica/source/include/acresrc.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/acrestyp.h b/sys/contrib/dev/acpica/source/include/acrestyp.h
index fa24363d75..9415736b67 100644
--- a/sys/contrib/dev/acpica/source/include/acrestyp.h
+++ b/sys/contrib/dev/acpica/source/include/acrestyp.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/acstruct.h b/sys/contrib/dev/acpica/source/include/acstruct.h
index a0b63ec409..039792f0f9 100644
--- a/sys/contrib/dev/acpica/source/include/acstruct.h
+++ b/sys/contrib/dev/acpica/source/include/acstruct.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -327,9 +327,9 @@ typedef struct acpi_evaluate_info
     UINT32                          ReturnFlags;        /* Used for return value analysis */
     UINT32                          ReturnBtype;        /* Bitmapped type of the returned object */
     UINT16                          ParamCount;         /* Count of the input argument list */
+    UINT16                          NodeFlags;          /* Same as Node->Flags */
     UINT8                           PassNumber;         /* Parser pass number */
     UINT8                           ReturnObjectType;   /* Object type of the returned object */
-    UINT8                           NodeFlags;          /* Same as Node->Flags */
     UINT8                           Flags;              /* General flags */
 
 } ACPI_EVALUATE_INFO;
@@ -357,6 +357,19 @@ typedef struct acpi_device_walk_info
 } ACPI_DEVICE_WALK_INFO;
 
 
+/* Info used by Acpi  AcpiDbDisplayFields */
+
+typedef struct acpi_region_walk_info
+{
+    UINT32                          DebugLevel;
+    UINT32                          Count;
+    ACPI_OWNER_ID                   OwnerId;
+    UINT8                           DisplayType;
+    UINT32                          AddressSpaceId;
+
+} ACPI_REGION_WALK_INFO;
+
+
 /* TBD: [Restructure] Merge with struct above */
 
 typedef struct acpi_walk_info
diff --git a/sys/contrib/dev/acpica/source/include/actables.h b/sys/contrib/dev/acpica/source/include/actables.h
index 08eb5c5f4c..f230bd69b3 100644
--- a/sys/contrib/dev/acpica/source/include/actables.h
+++ b/sys/contrib/dev/acpica/source/include/actables.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/actbinfo.h b/sys/contrib/dev/acpica/source/include/actbinfo.h
index 335a291b1e..74da8baca2 100644
--- a/sys/contrib/dev/acpica/source/include/actbinfo.h
+++ b/sys/contrib/dev/acpica/source/include/actbinfo.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/actbl.h b/sys/contrib/dev/acpica/source/include/actbl.h
index d6b9e8ff21..cb3641beb0 100644
--- a/sys/contrib/dev/acpica/source/include/actbl.h
+++ b/sys/contrib/dev/acpica/source/include/actbl.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/actbl1.h b/sys/contrib/dev/acpica/source/include/actbl1.h
index b1700608c2..6cb327a10a 100644
--- a/sys/contrib/dev/acpica/source/include/actbl1.h
+++ b/sys/contrib/dev/acpica/source/include/actbl1.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/actbl2.h b/sys/contrib/dev/acpica/source/include/actbl2.h
index 07d907e398..fe17576b5a 100644
--- a/sys/contrib/dev/acpica/source/include/actbl2.h
+++ b/sys/contrib/dev/acpica/source/include/actbl2.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/actbl3.h b/sys/contrib/dev/acpica/source/include/actbl3.h
index db5535e836..cfae7c42db 100644
--- a/sys/contrib/dev/acpica/source/include/actbl3.h
+++ b/sys/contrib/dev/acpica/source/include/actbl3.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/actypes.h b/sys/contrib/dev/acpica/source/include/actypes.h
index e7a2d57804..532d1fa82d 100644
--- a/sys/contrib/dev/acpica/source/include/actypes.h
+++ b/sys/contrib/dev/acpica/source/include/actypes.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -591,8 +591,8 @@ typedef void *                          ACPI_HANDLE;    /* Actually a ptr to a N
 
 /* Owner IDs are used to track namespace nodes for selective deletion */
 
-typedef UINT8                           ACPI_OWNER_ID;
-#define ACPI_OWNER_ID_MAX               0xFF
+typedef UINT16                          ACPI_OWNER_ID;
+#define ACPI_OWNER_ID_MAX               0xFFF   /* 4095 possible owner IDs */
 
 
 #define ACPI_INTEGER_BIT_SIZE           64
@@ -657,7 +657,7 @@ typedef UINT64                          ACPI_INTEGER;
 
 /* Pointer/Integer type conversions */
 
-#define ACPI_TO_POINTER(i)              ACPI_ADD_PTR (void, (void *) 0, (ACPI_SIZE) (i))
+#define ACPI_TO_POINTER(i)              ACPI_CAST_PTR (void, (ACPI_SIZE) (i))
 #define ACPI_TO_INTEGER(p)              ACPI_PTR_DIFF (p, (void *) 0)
 #define ACPI_OFFSET(d, f)               ACPI_PTR_DIFF (&(((d *) 0)->f), (void *) 0)
 #define ACPI_PHYSADDR_TO_PTR(i)         ACPI_TO_POINTER(i)
@@ -1513,12 +1513,14 @@ typedef enum
 #define ACPI_OSI_WIN_VISTA_SP2          0x0A
 #define ACPI_OSI_WIN_7                  0x0B
 #define ACPI_OSI_WIN_8                  0x0C
-#define ACPI_OSI_WIN_10                 0x0D
-#define ACPI_OSI_WIN_10_RS1             0x0E
-#define ACPI_OSI_WIN_10_RS2             0x0F
-#define ACPI_OSI_WIN_10_RS3             0x10
-#define ACPI_OSI_WIN_10_RS4             0x11
-#define ACPI_OSI_WIN_10_RS5             0x12
+#define ACPI_OSI_WIN_8_1                0x0D
+#define ACPI_OSI_WIN_10                 0x0E
+#define ACPI_OSI_WIN_10_RS1             0x0F
+#define ACPI_OSI_WIN_10_RS2             0x10
+#define ACPI_OSI_WIN_10_RS3             0x11
+#define ACPI_OSI_WIN_10_RS4             0x12
+#define ACPI_OSI_WIN_10_RS5             0x13
+#define ACPI_OSI_WIN_10_19H1            0x14
 
 
 /* Definitions of getopt */
diff --git a/sys/contrib/dev/acpica/source/include/acutils.h b/sys/contrib/dev/acpica/source/include/acutils.h
index 2d502103f6..7f46258855 100644
--- a/sys/contrib/dev/acpica/source/include/acutils.h
+++ b/sys/contrib/dev/acpica/source/include/acutils.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -290,10 +290,11 @@ typedef struct acpi_pkg_info
 
 /* AcpiUtDumpBuffer */
 
-#define DB_BYTE_DISPLAY     1
-#define DB_WORD_DISPLAY     2
-#define DB_DWORD_DISPLAY    4
-#define DB_QWORD_DISPLAY    8
+#define DB_BYTE_DISPLAY      0x01
+#define DB_WORD_DISPLAY      0x02
+#define DB_DWORD_DISPLAY     0x04
+#define DB_QWORD_DISPLAY     0x08
+#define DB_DISPLAY_DATA_ONLY 0x10
 
 
 /*
@@ -1194,30 +1195,33 @@ AcpiUtDeleteAddressLists (
 /*
  * utxferror - various error/warning output functions
  */
+ACPI_PRINTF_LIKE(5)
 void ACPI_INTERNAL_VAR_XFACE
 AcpiUtPredefinedWarning (
     const char              *ModuleName,
     UINT32                  LineNumber,
     char                    *Pathname,
-    UINT8                   NodeFlags,
+    UINT16                  NodeFlags,
     const char              *Format,
     ...);
 
+ACPI_PRINTF_LIKE(5)
 void ACPI_INTERNAL_VAR_XFACE
 AcpiUtPredefinedInfo (
     const char              *ModuleName,
     UINT32                  LineNumber,
     char                    *Pathname,
-    UINT8                   NodeFlags,
+    UINT16                  NodeFlags,
     const char              *Format,
     ...);
 
+ACPI_PRINTF_LIKE(5)
 void ACPI_INTERNAL_VAR_XFACE
 AcpiUtPredefinedBiosError (
     const char              *ModuleName,
     UINT32                  LineNumber,
     char                    *Pathname,
-    UINT8                   NodeFlags,
+    UINT16                  NodeFlags,
     const char              *Format,
     ...);
 
diff --git a/sys/contrib/dev/acpica/source/include/acuuid.h b/sys/contrib/dev/acpica/source/include/acuuid.h
index 5e735a062c..bcbf6b1d9f 100644
--- a/sys/contrib/dev/acpica/source/include/acuuid.h
+++ b/sys/contrib/dev/acpica/source/include/acuuid.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/amlcode.h b/sys/contrib/dev/acpica/source/include/amlcode.h
index 8166bf36ce..798031ae1c 100644
--- a/sys/contrib/dev/acpica/source/include/amlcode.h
+++ b/sys/contrib/dev/acpica/source/include/amlcode.h
@@ -10,7 +10,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/amlresrc.h b/sys/contrib/dev/acpica/source/include/amlresrc.h
index 3343210534..aeb2d9a977 100644
--- a/sys/contrib/dev/acpica/source/include/amlresrc.h
+++ b/sys/contrib/dev/acpica/source/include/amlresrc.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/platform/accygwin.h b/sys/contrib/dev/acpica/source/include/platform/accygwin.h
index 4d5304d722..43e037b0e2 100644
--- a/sys/contrib/dev/acpica/source/include/platform/accygwin.h
+++ b/sys/contrib/dev/acpica/source/include/platform/accygwin.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/platform/acdragonflyex.h b/sys/contrib/dev/acpica/source/include/platform/acdragonflyex.h
index 53ae865aef..8d536d3369 100644
--- a/sys/contrib/dev/acpica/source/include/platform/acdragonflyex.h
+++ b/sys/contrib/dev/acpica/source/include/platform/acdragonflyex.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/platform/acefi.h b/sys/contrib/dev/acpica/source/include/platform/acefi.h
index 11ab4060bc..d2cab87288 100644
--- a/sys/contrib/dev/acpica/source/include/platform/acefi.h
+++ b/sys/contrib/dev/acpica/source/include/platform/acefi.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/platform/acefiex.h b/sys/contrib/dev/acpica/source/include/platform/acefiex.h
index 9ab663db9b..dc9f22bd19 100644
--- a/sys/contrib/dev/acpica/source/include/platform/acefiex.h
+++ b/sys/contrib/dev/acpica/source/include/platform/acefiex.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/platform/acenv.h b/sys/contrib/dev/acpica/source/include/platform/acenv.h
index 46eeb9df52..15f0c1e86b 100644
--- a/sys/contrib/dev/acpica/source/include/platform/acenv.h
+++ b/sys/contrib/dev/acpica/source/include/platform/acenv.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -270,6 +270,21 @@
 #define ACPI_DISASSEMBLER 1
 #endif
 
+/*
+ * acpisrc CR\LF support
+ * Unix file line endings do not include the carriage return.
+ * If the acpisrc utility is being built using a microsoft compiler, it means
+ * that it will be running on a windows machine which means that the output is
+ * expected to have CR/LF newlines. If the acpisrc utility is built with
+ * anything else, it will likely run on a system with LF newlines. This flag
+ * tells the acpisrc utility that newlines will be in the LF format.
+ */
+#if defined(ACPI_SRC_APP) && !defined(_MSC_VER)
+#define ACPI_SRC_OS_LF_ONLY 1
+#else
+#define ACPI_SRC_OS_LF_ONLY 0
+#endif
+
 /*! [Begin] no source code translation */
 
 /******************************************************************************
diff --git a/sys/contrib/dev/acpica/source/include/platform/acenvex.h b/sys/contrib/dev/acpica/source/include/platform/acenvex.h
index 3f59853d5e..2b778cc115 100644
--- a/sys/contrib/dev/acpica/source/include/platform/acenvex.h
+++ b/sys/contrib/dev/acpica/source/include/platform/acenvex.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/platform/acfreebsd.h b/sys/contrib/dev/acpica/source/include/platform/acfreebsd.h
index aaeecfb3cf..68eb4302fc 100644
--- a/sys/contrib/dev/acpica/source/include/platform/acfreebsd.h
+++ b/sys/contrib/dev/acpica/source/include/platform/acfreebsd.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -203,6 +203,10 @@
 
 #define DEBUGGER_THREADING  0   /* integrated with DDB */
 
+#ifdef INVARIANTS
+#define ACPI_MUTEX_DEBUG
+#endif
+
 #else /* _KERNEL */
 
 #if __STDC_HOSTED__
diff --git a/sys/contrib/dev/acpica/source/include/platform/acgcc.h b/sys/contrib/dev/acpica/source/include/platform/acgcc.h
index c2a20d2c82..e30cef2fc6 100644
--- a/sys/contrib/dev/acpica/source/include/platform/acgcc.h
+++ b/sys/contrib/dev/acpica/source/include/platform/acgcc.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/platform/acgccex.h b/sys/contrib/dev/acpica/source/include/platform/acgccex.h
index 2e4f570ad0..1567cedf89 100644
--- a/sys/contrib/dev/acpica/source/include/platform/acgccex.h
+++ b/sys/contrib/dev/acpica/source/include/platform/acgccex.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/platform/achaiku.h b/sys/contrib/dev/acpica/source/include/platform/achaiku.h
index fcf23d960e..db4a647b65 100644
--- a/sys/contrib/dev/acpica/source/include/platform/achaiku.h
+++ b/sys/contrib/dev/acpica/source/include/platform/achaiku.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/platform/acintel.h b/sys/contrib/dev/acpica/source/include/platform/acintel.h
index f4c72cf24f..20cbdbdc5c 100644
--- a/sys/contrib/dev/acpica/source/include/platform/acintel.h
+++ b/sys/contrib/dev/acpica/source/include/platform/acintel.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/platform/aclinux.h b/sys/contrib/dev/acpica/source/include/platform/aclinux.h
index e6d57e3162..8c8154824f 100644
--- a/sys/contrib/dev/acpica/source/include/platform/aclinux.h
+++ b/sys/contrib/dev/acpica/source/include/platform/aclinux.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/platform/aclinuxex.h b/sys/contrib/dev/acpica/source/include/platform/aclinuxex.h
index 30d9bdd538..0a884ac752 100644
--- a/sys/contrib/dev/acpica/source/include/platform/aclinuxex.h
+++ b/sys/contrib/dev/acpica/source/include/platform/aclinuxex.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/platform/acmacosx.h b/sys/contrib/dev/acpica/source/include/platform/acmacosx.h
index d5ce223adf..568af5f753 100644
--- a/sys/contrib/dev/acpica/source/include/platform/acmacosx.h
+++ b/sys/contrib/dev/acpica/source/include/platform/acmacosx.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/platform/acmsvc.h b/sys/contrib/dev/acpica/source/include/platform/acmsvc.h
index 394b8095cf..a003f9fe7e 100644
--- a/sys/contrib/dev/acpica/source/include/platform/acmsvc.h
+++ b/sys/contrib/dev/acpica/source/include/platform/acmsvc.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -287,7 +287,6 @@
 #pragma warning(disable:4459)
 
 
-
 /* Debug support. */
 
 #ifdef _DEBUG
diff --git a/sys/contrib/dev/acpica/source/include/platform/acmsvcex.h b/sys/contrib/dev/acpica/source/include/platform/acmsvcex.h
index 71d654d4db..01364f69cb 100644
--- a/sys/contrib/dev/acpica/source/include/platform/acmsvcex.h
+++ b/sys/contrib/dev/acpica/source/include/platform/acmsvcex.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/platform/acnetbsd.h b/sys/contrib/dev/acpica/source/include/platform/acnetbsd.h
index 59dd6287da..2b5f81c174 100644
--- a/sys/contrib/dev/acpica/source/include/platform/acnetbsd.h
+++ b/sys/contrib/dev/acpica/source/include/platform/acnetbsd.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/platform/acos2.h b/sys/contrib/dev/acpica/source/include/platform/acos2.h
index c4dbda6153..a569d24880 100644
--- a/sys/contrib/dev/acpica/source/include/platform/acos2.h
+++ b/sys/contrib/dev/acpica/source/include/platform/acos2.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/platform/acqnx.h b/sys/contrib/dev/acpica/source/include/platform/acqnx.h
index 40ddf3d921..e2c4b7f4f3 100644
--- a/sys/contrib/dev/acpica/source/include/platform/acqnx.h
+++ b/sys/contrib/dev/acpica/source/include/platform/acqnx.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/platform/acwin.h b/sys/contrib/dev/acpica/source/include/platform/acwin.h
index 51b28ca808..f119cf4d38 100644
--- a/sys/contrib/dev/acpica/source/include/platform/acwin.h
+++ b/sys/contrib/dev/acpica/source/include/platform/acwin.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/include/platform/acwin64.h b/sys/contrib/dev/acpica/source/include/platform/acwin64.h
index 9519c03953..bd6cd5b0a1 100644
--- a/sys/contrib/dev/acpica/source/include/platform/acwin64.h
+++ b/sys/contrib/dev/acpica/source/include/platform/acwin64.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/os_specific/service_layers/osbsdtbl.c b/sys/contrib/dev/acpica/source/os_specific/service_layers/osbsdtbl.c
index 0e00621624..573ac035cd 100644
--- a/sys/contrib/dev/acpica/source/os_specific/service_layers/osbsdtbl.c
+++ b/sys/contrib/dev/acpica/source/os_specific/service_layers/osbsdtbl.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/os_specific/service_layers/oslinuxtbl.c b/sys/contrib/dev/acpica/source/os_specific/service_layers/oslinuxtbl.c
index d60866dd42..7a1d21346f 100644
--- a/sys/contrib/dev/acpica/source/os_specific/service_layers/oslinuxtbl.c
+++ b/sys/contrib/dev/acpica/source/os_specific/service_layers/oslinuxtbl.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/os_specific/service_layers/osunixdir.c b/sys/contrib/dev/acpica/source/os_specific/service_layers/osunixdir.c
index 79ee726453..2a15da4d36 100644
--- a/sys/contrib/dev/acpica/source/os_specific/service_layers/osunixdir.c
+++ b/sys/contrib/dev/acpica/source/os_specific/service_layers/osunixdir.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/os_specific/service_layers/osunixmap.c b/sys/contrib/dev/acpica/source/os_specific/service_layers/osunixmap.c
index c5a41eba2d..ad5e1e164d 100644
--- a/sys/contrib/dev/acpica/source/os_specific/service_layers/osunixmap.c
+++ b/sys/contrib/dev/acpica/source/os_specific/service_layers/osunixmap.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/os_specific/service_layers/osunixxf.c b/sys/contrib/dev/acpica/source/os_specific/service_layers/osunixxf.c
index f8a2276f1b..358a8b88b3 100644
--- a/sys/contrib/dev/acpica/source/os_specific/service_layers/osunixxf.c
+++ b/sys/contrib/dev/acpica/source/os_specific/service_layers/osunixxf.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/os_specific/service_layers/oswindir.c b/sys/contrib/dev/acpica/source/os_specific/service_layers/oswindir.c
index e54da58990..60e61f32d8 100644
--- a/sys/contrib/dev/acpica/source/os_specific/service_layers/oswindir.c
+++ b/sys/contrib/dev/acpica/source/os_specific/service_layers/oswindir.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/os_specific/service_layers/oswintbl.c b/sys/contrib/dev/acpica/source/os_specific/service_layers/oswintbl.c
index 413c7af382..9fde3687d8 100644
--- a/sys/contrib/dev/acpica/source/os_specific/service_layers/oswintbl.c
+++ b/sys/contrib/dev/acpica/source/os_specific/service_layers/oswintbl.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/os_specific/service_layers/oswinxf.c b/sys/contrib/dev/acpica/source/os_specific/service_layers/oswinxf.c
index 138004e36d..7a17686085 100644
--- a/sys/contrib/dev/acpica/source/os_specific/service_layers/oswinxf.c
+++ b/sys/contrib/dev/acpica/source/os_specific/service_layers/oswinxf.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -458,7 +458,7 @@ AcpiOsGetTimer (
     {
         /* Convert milliseconds to 100 nanosecond ticks */
 
-        return ((UINT64) GetTickCount() * ACPI_100NSEC_PER_MSEC);
+        return (GetTickCount64() * ACPI_100NSEC_PER_MSEC);
     }
 }
 
diff --git a/sys/contrib/dev/acpica/source/tools/acpibin/abcompare.c b/sys/contrib/dev/acpica/source/tools/acpibin/abcompare.c
index 9320773139..7cef3624ff 100644
--- a/sys/contrib/dev/acpica/source/tools/acpibin/abcompare.c
+++ b/sys/contrib/dev/acpica/source/tools/acpibin/abcompare.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/tools/acpibin/abmain.c b/sys/contrib/dev/acpica/source/tools/acpibin/abmain.c
index e789e46ed0..613408143b 100644
--- a/sys/contrib/dev/acpica/source/tools/acpibin/abmain.c
+++ b/sys/contrib/dev/acpica/source/tools/acpibin/abmain.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/tools/acpibin/acpibin.h b/sys/contrib/dev/acpica/source/tools/acpibin/acpibin.h
index 17a8092209..ac769cc398 100644
--- a/sys/contrib/dev/acpica/source/tools/acpibin/acpibin.h
+++ b/sys/contrib/dev/acpica/source/tools/acpibin/acpibin.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/tools/acpidump/acpidump.h b/sys/contrib/dev/acpica/source/tools/acpidump/acpidump.h
index 744a641085..41ea0365c9 100644
--- a/sys/contrib/dev/acpica/source/tools/acpidump/acpidump.h
+++ b/sys/contrib/dev/acpica/source/tools/acpidump/acpidump.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/tools/acpidump/apdump.c b/sys/contrib/dev/acpica/source/tools/acpidump/apdump.c
index 9a2f717668..eb67289ee2 100644
--- a/sys/contrib/dev/acpica/source/tools/acpidump/apdump.c
+++ b/sys/contrib/dev/acpica/source/tools/acpidump/apdump.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/tools/acpidump/apfiles.c b/sys/contrib/dev/acpica/source/tools/acpidump/apfiles.c
index 784a9315ea..f715307682 100644
--- a/sys/contrib/dev/acpica/source/tools/acpidump/apfiles.c
+++ b/sys/contrib/dev/acpica/source/tools/acpidump/apfiles.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -177,20 +177,27 @@ ApIsExistingFile (
 {
 #if !defined(_GNU_EFI) && !defined(_EDK2_EFI)
     struct stat             StatInfo;
+    int                     InChar;
 
 
     if (!stat (Pathname, &StatInfo))
     {
         fprintf (stderr, "Target path already exists, overwrite? [y|n] ");
 
-        if (getchar () != 'y')
+        InChar = fgetc (stdin);
+        if (InChar == '\n')
+        {
+            InChar = fgetc (stdin);
+        }
+
+        if (InChar != 'y' && InChar != 'Y')
         {
             return (-1);
         }
     }
 #endif
 
-    return 0;
+    return (0);
 }
 
 
diff --git a/sys/contrib/dev/acpica/source/tools/acpidump/apmain.c b/sys/contrib/dev/acpica/source/tools/acpidump/apmain.c
index 14a37e3b3e..d79910ea43 100644
--- a/sys/contrib/dev/acpica/source/tools/acpidump/apmain.c
+++ b/sys/contrib/dev/acpica/source/tools/acpidump/apmain.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/tools/acpiexec/aecommon.h b/sys/contrib/dev/acpica/source/tools/acpiexec/aecommon.h
index 602356de9d..d9ade0b601 100644
--- a/sys/contrib/dev/acpica/source/tools/acpiexec/aecommon.h
+++ b/sys/contrib/dev/acpica/source/tools/acpiexec/aecommon.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -195,7 +195,8 @@ typedef struct ae_debug_regions
 typedef struct init_file_entry
 {
     char                    *Name;
-    UINT64                  Value;
+    ACPI_OPERAND_OBJECT     *ObjDesc;
+
 } INIT_FILE_ENTRY;
 
 extern BOOLEAN              AcpiGbl_UseLocalFaultHandler;
@@ -356,7 +357,7 @@ AeSetupConfiguration (
 ACPI_STATUS
 AeLookupInitFileEntry (
     char                    *Pathname,
-    UINT64                  *Value);
+    ACPI_OPERAND_OBJECT     **ObjDesc);
 
 /* aeexec */
 
diff --git a/sys/contrib/dev/acpica/source/tools/acpiexec/aeexception.c b/sys/contrib/dev/acpica/source/tools/acpiexec/aeexception.c
index 77ba166bbe..0e7a274fd2 100644
--- a/sys/contrib/dev/acpica/source/tools/acpiexec/aeexception.c
+++ b/sys/contrib/dev/acpica/source/tools/acpiexec/aeexception.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/tools/acpiexec/aeexec.c b/sys/contrib/dev/acpica/source/tools/acpiexec/aeexec.c
index 942fadd35c..9a9fde954e 100644
--- a/sys/contrib/dev/acpica/source/tools/acpiexec/aeexec.c
+++ b/sys/contrib/dev/acpica/source/tools/acpiexec/aeexec.c
@@ -9,7 +9,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -452,7 +452,7 @@ ExecuteOSI (
     {
         AcpiOsPrintf (
             "Return value from _OSI method too small, %.8X\n",
-            ReturnValue.Length);
+            (UINT32) ReturnValue.Length);
         goto ErrorExit;
     }
 
diff --git a/sys/contrib/dev/acpica/source/tools/acpiexec/aehandlers.c b/sys/contrib/dev/acpica/source/tools/acpiexec/aehandlers.c
index 75e8eb0a09..a9bcf981b6 100644
--- a/sys/contrib/dev/acpica/source/tools/acpiexec/aehandlers.c
+++ b/sys/contrib/dev/acpica/source/tools/acpiexec/aehandlers.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -683,20 +683,27 @@ AeInstallLateHandlers (
     {
         Status = AcpiInstallNotifyHandler (Handle, ACPI_ALL_NOTIFY,
             AeNotifyHandler1, ACPI_CAST_PTR (void, 0x01234567));
+        ACPI_CHECK_OK (AcpiInstallNotifyHandler, Status);
 
         Status = AcpiInstallNotifyHandler (Handle, ACPI_ALL_NOTIFY,
             AeNotifyHandler2, ACPI_CAST_PTR (void, 0x89ABCDEF));
+        ACPI_CHECK_OK (AcpiInstallNotifyHandler, Status);
 
         Status = AcpiRemoveNotifyHandler (Handle, ACPI_ALL_NOTIFY,
             AeNotifyHandler1);
+        ACPI_CHECK_OK (AcpiInstallNotifyHandler, Status);
+
         Status = AcpiRemoveNotifyHandler (Handle, ACPI_ALL_NOTIFY,
             AeNotifyHandler2);
+        ACPI_CHECK_OK (AcpiInstallNotifyHandler, Status);
 
         Status = AcpiInstallNotifyHandler (Handle, ACPI_ALL_NOTIFY,
             AeNotifyHandler2, ACPI_CAST_PTR (void, 0x89ABCDEF));
+        ACPI_CHECK_OK (AcpiInstallNotifyHandler, Status);
 
         Status = AcpiInstallNotifyHandler (Handle, ACPI_ALL_NOTIFY,
             AeNotifyHandler1, ACPI_CAST_PTR (void, 0x01234567));
+        ACPI_CHECK_OK (AcpiInstallNotifyHandler, Status);
     }
 
     Status = AcpiGetHandle (NULL, "\\_PR.CPU0", &Handle);
@@ -704,9 +711,11 @@ AeInstallLateHandlers (
     {
         Status = AcpiInstallNotifyHandler (Handle, ACPI_ALL_NOTIFY,
             AeNotifyHandler1, ACPI_CAST_PTR (void, 0x01234567));
+        ACPI_CHECK_OK (AcpiInstallNotifyHandler, Status);
 
         Status = AcpiInstallNotifyHandler (Handle, ACPI_SYSTEM_NOTIFY,
             AeNotifyHandler2, ACPI_CAST_PTR (void, 0x89ABCDEF));
+        ACPI_CHECK_OK (AcpiInstallNotifyHandler, Status);
     }
 
 #if (!ACPI_REDUCED_HARDWARE)
@@ -855,13 +864,15 @@ AeInstallEarlyHandlers (
 
         Status = AcpiInstallNotifyHandler (Handle, ACPI_SYSTEM_NOTIFY,
             AeNotifyHandler1, ACPI_CAST_PTR (void, 0x01234567));
+        ACPI_CHECK_OK(AcpiInstallNotifyHandler, Status);
 
         Status = AcpiInstallNotifyHandler (Handle, ACPI_SYSTEM_NOTIFY,
             AeNotifyHandler2, ACPI_CAST_PTR (void, 0x89ABCDEF));
+        ACPI_CHECK_OK(AcpiInstallNotifyHandler, Status);
 
         /* Attempt duplicate handler installation, should fail */
 
-        Status = AcpiInstallNotifyHandler (Handle, ACPI_SYSTEM_NOTIFY,
+        (void) AcpiInstallNotifyHandler (Handle, ACPI_SYSTEM_NOTIFY,
             AeNotifyHandler1, ACPI_CAST_PTR (void, 0x77777777));
 
         Status = AcpiAttachData (Handle, AeAttachedDataHandler, Handle);
diff --git a/sys/contrib/dev/acpica/source/tools/acpiexec/aeinitfile.c b/sys/contrib/dev/acpica/source/tools/acpiexec/aeinitfile.c
index f895e2ccec..0813c8739d 100644
--- a/sys/contrib/dev/acpica/source/tools/acpiexec/aeinitfile.c
+++ b/sys/contrib/dev/acpica/source/tools/acpiexec/aeinitfile.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -224,9 +224,13 @@ AeProcessInitFile(
     void)
 {
     ACPI_WALK_STATE         *WalkState;
-    int                     i;
     UINT64                  idx;
     ACPI_STATUS             Status;
+    char                    *Token;
+    char                    *ObjectBuffer;
+    char                    *TempNameBuffer;
+    ACPI_OBJECT_TYPE        Type;
+    ACPI_OBJECT             TempObject;
 
 
     if (!InitFile)
@@ -249,26 +253,44 @@ AeProcessInitFile(
         AcpiOsAllocate (sizeof (INIT_FILE_ENTRY) * AcpiGbl_InitFileLineCount);
     for (idx = 0; fgets (LineBuffer, AE_FILE_BUFFER_SIZE, InitFile); ++idx)
     {
-        if (sscanf (LineBuffer, "%s %s\n",
-                &NameBuffer[1], ValueBuffer) != 2)
+
+        TempNameBuffer = AcpiDbGetNextToken (LineBuffer, &Token, &Type);
+        if (LineBuffer[0] == '\\')
         {
-            goto CleanupAndExit;
+            strcpy (NameBuffer, TempNameBuffer);
+        }
+        else
+        {
+            /* Add a root prefix if not present in the string */
+
+            strcpy (NameBuffer + 1, TempNameBuffer);
         }
 
-        /* Add a root prefix if not present in the string */
+        AcpiGbl_InitEntries[idx].Name =
+            AcpiOsAllocateZeroed (strnlen (NameBuffer, AE_FILE_BUFFER_SIZE) + 1);
+
+        strcpy (AcpiGbl_InitEntries[idx].Name, NameBuffer);
+
+        ObjectBuffer = AcpiDbGetNextToken (Token, &Token, &Type);
 
-        i = 0;
-        if (NameBuffer[1] == '\\')
+        if (Type == ACPI_TYPE_FIELD_UNIT)
+        {
+            Status = AcpiDbConvertToObject (ACPI_TYPE_BUFFER, ObjectBuffer,
+                &TempObject);
+        }
+        else
         {
-            i = 1;
+            Status = AcpiDbConvertToObject (Type, ObjectBuffer, &TempObject);
         }
 
-        AcpiGbl_InitEntries[idx].Name =
-            AcpiOsAllocateZeroed (strnlen (NameBuffer + i, AE_FILE_BUFFER_SIZE) + 1);
+        Status = AcpiUtCopyEobjectToIobject (&TempObject,
+            &AcpiGbl_InitEntries[idx].ObjDesc);
 
-        strcpy (AcpiGbl_InitEntries[idx].Name, NameBuffer + i);
+        if (Type == ACPI_TYPE_BUFFER || Type == ACPI_TYPE_FIELD_UNIT)
+        {
+            ACPI_FREE (TempObject.Buffer.Pointer);
+        }
 
-        Status = AcpiUtStrtoul64 (ValueBuffer, &AcpiGbl_InitEntries[idx].Value);
         if (ACPI_FAILURE (Status))
         {
             AcpiOsPrintf ("%s %s\n", ValueBuffer,
@@ -276,7 +298,16 @@ AeProcessInitFile(
             goto CleanupAndExit;
         }
 
-        AeEnterInitFileEntry (AcpiGbl_InitEntries[idx], WalkState);
+        /*
+         * Special case for field units. Field units are dependent on the
+         * parent region. This parent region has yet to be created so defer the
+         * initialization until the dispatcher. For all other types, initialize
+         * the namespace node with the value found in the init file.
+         */
+        if (Type != ACPI_TYPE_FIELD_UNIT)
+        {
+            AeEnterInitFileEntry (AcpiGbl_InitEntries[idx], WalkState);
+        }
     }
 
     /* Cleanup */
@@ -309,14 +340,12 @@ AeEnterInitFileEntry (
     ACPI_WALK_STATE         *WalkState)
 {
     char                    *Pathname = InitEntry.Name;
-    UINT64                  Value = InitEntry.Value;
-    ACPI_OPERAND_OBJECT     *ObjDesc;
+    ACPI_OPERAND_OBJECT     *ObjDesc = InitEntry.ObjDesc;
     ACPI_NAMESPACE_NODE     *NewNode;
     ACPI_STATUS             Status;
 
 
-    AcpiOsPrintf ("Initializing namespace element: %s\n", Pathname);
-    Status = AcpiNsLookup (NULL, Pathname, ACPI_TYPE_INTEGER,
+    Status = AcpiNsLookup (NULL, Pathname, ObjDesc->Common.Type,
         ACPI_IMODE_LOAD_PASS2, ACPI_NS_ERROR_IF_FOUND | ACPI_NS_NO_UPSEARCH |
         ACPI_NS_EARLY_INIT, NULL, &NewNode);
     if (ACPI_FAILURE (Status))
@@ -327,15 +356,17 @@ AeEnterInitFileEntry (
         return;
     }
 
-    ObjDesc = AcpiUtCreateIntegerObject (Value);
-
-    AcpiOsPrintf ("New value: 0x%8.8X%8.8X\n",
-        ACPI_FORMAT_UINT64 (Value));
-
     /* Store pointer to value descriptor in the Node */
 
     Status = AcpiNsAttachObject (NewNode, ObjDesc,
-         ACPI_TYPE_INTEGER);
+         ObjDesc->Common.Type);
+    if (ACPI_FAILURE (Status))
+    {
+        ACPI_EXCEPTION ((AE_INFO, Status,
+            "While attaching object to node from namespace initialization file: %s",
+            Pathname));
+        return;
+    }
 
     /* Remove local reference to the object */
 
@@ -359,7 +390,7 @@ AeEnterInitFileEntry (
 ACPI_STATUS
 AeLookupInitFileEntry (
     char                    *Pathname,
-    UINT64                  *Value)
+    ACPI_OPERAND_OBJECT     **ObjDesc)
 {
     UINT32                  i;
 
@@ -372,7 +403,7 @@ AeLookupInitFileEntry (
     {
         if (!strcmp(AcpiGbl_InitEntries[i].Name, Pathname))
         {
-            *Value = AcpiGbl_InitEntries[i].Value;
+            *ObjDesc = AcpiGbl_InitEntries[i].ObjDesc;
             return AE_OK;
         }
     }
diff --git a/sys/contrib/dev/acpica/source/tools/acpiexec/aeinstall.c b/sys/contrib/dev/acpica/source/tools/acpiexec/aeinstall.c
index c526957169..037f54e8cc 100644
--- a/sys/contrib/dev/acpica/source/tools/acpiexec/aeinstall.c
+++ b/sys/contrib/dev/acpica/source/tools/acpiexec/aeinstall.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/tools/acpiexec/aemain.c b/sys/contrib/dev/acpica/source/tools/acpiexec/aemain.c
index 65664b2360..78ef6aa105 100644
--- a/sys/contrib/dev/acpica/source/tools/acpiexec/aemain.c
+++ b/sys/contrib/dev/acpica/source/tools/acpiexec/aemain.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -841,8 +841,8 @@ main (
 
 ErrorExit:
     AeLateTest ();
+    AcpiOsFree (AcpiGbl_InitEntries);
     (void) AcpiTerminate ();
     AcDeleteTableList (ListHead);
-    AcpiOsFree (AcpiGbl_InitEntries);
     return (ExitCode);
 }
diff --git a/sys/contrib/dev/acpica/source/tools/acpiexec/aeregion.c b/sys/contrib/dev/acpica/source/tools/acpiexec/aeregion.c
index e6aa7f9f45..edec2a97d0 100644
--- a/sys/contrib/dev/acpica/source/tools/acpiexec/aeregion.c
+++ b/sys/contrib/dev/acpica/source/tools/acpiexec/aeregion.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/tools/acpiexec/aetables.c b/sys/contrib/dev/acpica/source/tools/acpiexec/aetables.c
index c16033554f..9b414b6e82 100644
--- a/sys/contrib/dev/acpica/source/tools/acpiexec/aetables.c
+++ b/sys/contrib/dev/acpica/source/tools/acpiexec/aetables.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/tools/acpiexec/aetables.h b/sys/contrib/dev/acpica/source/tools/acpiexec/aetables.h
index 24be700bf7..5c095cb27d 100644
--- a/sys/contrib/dev/acpica/source/tools/acpiexec/aetables.h
+++ b/sys/contrib/dev/acpica/source/tools/acpiexec/aetables.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/tools/acpiexec/aetests.c b/sys/contrib/dev/acpica/source/tools/acpiexec/aetests.c
index f11a612836..630de23449 100644
--- a/sys/contrib/dev/acpica/source/tools/acpiexec/aetests.c
+++ b/sys/contrib/dev/acpica/source/tools/acpiexec/aetests.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -190,6 +190,7 @@ AeMiscellaneousTests (
     ACPI_STATUS             Status;
     ACPI_STATISTICS         Stats;
     ACPI_HANDLE             Handle;
+    UINT32                  TableIndex;
 
 #if (!ACPI_REDUCED_HARDWARE)
     UINT32                  Temp;
@@ -218,18 +219,15 @@ AeMiscellaneousTests (
 
         /* Load and unload SSDT4 */
 
-        Status = AcpiLoadTable ((ACPI_TABLE_HEADER *) Ssdt4Code);
+        Status = AcpiLoadTable ((ACPI_TABLE_HEADER *) Ssdt4Code, &TableIndex);
         ACPI_CHECK_OK (AcpiLoadTable, Status);
 
-        Status = AcpiGetHandle (NULL, "\\_T96", &Handle);
-        ACPI_CHECK_OK (AcpiGetHandle, Status);
-
-        Status = AcpiUnloadParentTable (Handle);
-        ACPI_CHECK_OK (AcpiUnloadParentTable, Status);
+        Status = AcpiUnloadTable (TableIndex);
+        ACPI_CHECK_OK (AcpiUnloadTable, Status);
 
         /* Re-load SSDT4 */
 
-        Status = AcpiLoadTable ((ACPI_TABLE_HEADER *) Ssdt4Code);
+        Status = AcpiLoadTable ((ACPI_TABLE_HEADER *) Ssdt4Code, NULL);
         ACPI_CHECK_OK (AcpiLoadTable, Status);
 
         /* Unload and re-load SSDT2 (SSDT2 is in the XSDT) */
@@ -240,12 +238,12 @@ AeMiscellaneousTests (
         Status = AcpiUnloadParentTable (Handle);
         ACPI_CHECK_OK (AcpiUnloadParentTable, Status);
 
-        Status = AcpiLoadTable ((ACPI_TABLE_HEADER *) Ssdt2Code);
+        Status = AcpiLoadTable ((ACPI_TABLE_HEADER *) Ssdt2Code, NULL);
         ACPI_CHECK_OK (AcpiLoadTable, Status);
 
         /* Load OEM9 table (causes table override) */
 
-        Status = AcpiLoadTable ((ACPI_TABLE_HEADER *) Ssdt3Code);
+        Status = AcpiLoadTable ((ACPI_TABLE_HEADER *) Ssdt3Code, NULL);
         ACPI_CHECK_OK (AcpiLoadTable, Status);
     }
 
diff --git a/sys/contrib/dev/acpica/source/tools/acpihelp/acpihelp.h b/sys/contrib/dev/acpica/source/tools/acpihelp/acpihelp.h
index ae7f9d1c79..637f274720 100644
--- a/sys/contrib/dev/acpica/source/tools/acpihelp/acpihelp.h
+++ b/sys/contrib/dev/acpica/source/tools/acpihelp/acpihelp.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/tools/acpihelp/ahaml.c b/sys/contrib/dev/acpica/source/tools/acpihelp/ahaml.c
index 14dad7fce7..83cd86bd90 100644
--- a/sys/contrib/dev/acpica/source/tools/acpihelp/ahaml.c
+++ b/sys/contrib/dev/acpica/source/tools/acpihelp/ahaml.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/tools/acpihelp/ahamlops.c b/sys/contrib/dev/acpica/source/tools/acpihelp/ahamlops.c
index 9533cae039..1ef6980fb5 100644
--- a/sys/contrib/dev/acpica/source/tools/acpihelp/ahamlops.c
+++ b/sys/contrib/dev/acpica/source/tools/acpihelp/ahamlops.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/tools/acpihelp/ahasl.c b/sys/contrib/dev/acpica/source/tools/acpihelp/ahasl.c
index 6827ece4b3..2ff9676d7a 100644
--- a/sys/contrib/dev/acpica/source/tools/acpihelp/ahasl.c
+++ b/sys/contrib/dev/acpica/source/tools/acpihelp/ahasl.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/tools/acpihelp/ahaslkey.c b/sys/contrib/dev/acpica/source/tools/acpihelp/ahaslkey.c
index 7e7aa4b87d..2fde601bc4 100644
--- a/sys/contrib/dev/acpica/source/tools/acpihelp/ahaslkey.c
+++ b/sys/contrib/dev/acpica/source/tools/acpihelp/ahaslkey.c
@@ -9,7 +9,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/tools/acpihelp/ahaslops.c b/sys/contrib/dev/acpica/source/tools/acpihelp/ahaslops.c
index f07bdb1136..189632ddc4 100644
--- a/sys/contrib/dev/acpica/source/tools/acpihelp/ahaslops.c
+++ b/sys/contrib/dev/acpica/source/tools/acpihelp/ahaslops.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/tools/acpihelp/ahdecode.c b/sys/contrib/dev/acpica/source/tools/acpihelp/ahdecode.c
index 13b72d6bb1..7a1497c4a8 100644
--- a/sys/contrib/dev/acpica/source/tools/acpihelp/ahdecode.c
+++ b/sys/contrib/dev/acpica/source/tools/acpihelp/ahdecode.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -302,7 +302,7 @@ AhFindPredefinedNames (
 
     if (!NamePrefix || (*NamePrefix == '*'))
     {
-        Found = AhDisplayPredefinedName (NULL, 0);
+        (void) AhDisplayPredefinedName (NULL, 0);
         return;
     }
 
diff --git a/sys/contrib/dev/acpica/source/tools/acpihelp/ahgrammar.c b/sys/contrib/dev/acpica/source/tools/acpihelp/ahgrammar.c
index d5b25f3ccd..9cf3648264 100644
--- a/sys/contrib/dev/acpica/source/tools/acpihelp/ahgrammar.c
+++ b/sys/contrib/dev/acpica/source/tools/acpihelp/ahgrammar.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/tools/acpihelp/ahmain.c b/sys/contrib/dev/acpica/source/tools/acpihelp/ahmain.c
index 1cdadc55c4..0d69385682 100644
--- a/sys/contrib/dev/acpica/source/tools/acpihelp/ahmain.c
+++ b/sys/contrib/dev/acpica/source/tools/acpihelp/ahmain.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/tools/acpinames/acpinames.h b/sys/contrib/dev/acpica/source/tools/acpinames/acpinames.h
index 8db63ed4e9..49b13bd082 100644
--- a/sys/contrib/dev/acpica/source/tools/acpinames/acpinames.h
+++ b/sys/contrib/dev/acpica/source/tools/acpinames/acpinames.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/tools/acpinames/anmain.c b/sys/contrib/dev/acpica/source/tools/acpinames/anmain.c
index 91b55215e9..aab2958894 100644
--- a/sys/contrib/dev/acpica/source/tools/acpinames/anmain.c
+++ b/sys/contrib/dev/acpica/source/tools/acpinames/anmain.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/tools/acpinames/anstubs.c b/sys/contrib/dev/acpica/source/tools/acpinames/anstubs.c
index af6cb9f8ea..2dc4e2e004 100644
--- a/sys/contrib/dev/acpica/source/tools/acpinames/anstubs.c
+++ b/sys/contrib/dev/acpica/source/tools/acpinames/anstubs.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -168,6 +168,8 @@
 
 /* Utilities */
 
+#ifdef ACPI_OBSOLETE_FUNCTIONS
+
 ACPI_STATUS
 AcpiUtCopyIobjectToEobject (
     ACPI_OPERAND_OBJECT     *Obj,
@@ -201,6 +203,7 @@ AcpiUtCopyIobjectToIobject (
 
     return (AE_NOT_IMPLEMENTED);
 }
+#endif
 
 /* Hardware */
 
@@ -213,6 +216,8 @@ AcpiHwGetMode (
 
 /* Event manager */
 
+#ifdef ACPI_OBSOLETE_FUNCTIONS
+
 ACPI_STATUS
 AcpiEvInstallRegionHandlers (
     void)
@@ -233,6 +238,7 @@ AcpiEvInitializeRegion (
 {
     return (AE_OK);
 }
+#endif
 
 ACPI_STATUS
 AcpiEvInstallXruptHandlers (
@@ -251,6 +257,8 @@ AcpiEvInitializeEvents (
 
 /* AML Interpreter */
 
+#ifdef ACPI_OBSOLETE_FUNCTIONS
+
 ACPI_STATUS
 AcpiExReadDataFromField (
     ACPI_WALK_STATE         *WalkState,
@@ -288,7 +296,6 @@ AcpiExStoreObjectToNode (
     return (AE_NOT_IMPLEMENTED);
 }
 
-
 /* Namespace manager */
 
 ACPI_STATUS
@@ -300,6 +307,7 @@ AcpiNsEvaluate (
 
     return (AE_NOT_IMPLEMENTED);
 }
+#endif
 
 void
 AcpiExDoDebugObject (
@@ -358,6 +366,8 @@ AcpiExTracePoint (
 
 /* Dispatcher */
 
+#ifdef ACPI_OBSOLETE_FUNCTIONS
+
 ACPI_STATUS
 AcpiDsAutoSerializeMethod (
     ACPI_NAMESPACE_NODE     *Node,
@@ -436,6 +446,7 @@ AcpiDsGetPredicateValue (
 
     return (AE_NOT_IMPLEMENTED);
 }
+#endif
 
 ACPI_STATUS
 AcpiDsGetBufferFieldArguments (
@@ -472,6 +483,8 @@ AcpiDsGetPackageArguments (
     return (AE_OK);
 }
 
+#ifdef ACPI_OBSOLETE_FUNCTIONS
+
 ACPI_STATUS
 AcpiDsExecBeginOp (
     ACPI_WALK_STATE         *WalkState,
@@ -492,3 +505,4 @@ AcpiDsExecEndOp (
 
     return (AE_NOT_IMPLEMENTED);
 }
+#endif
diff --git a/sys/contrib/dev/acpica/source/tools/acpinames/antables.c b/sys/contrib/dev/acpica/source/tools/acpinames/antables.c
index 289948f68a..264ebf56bd 100644
--- a/sys/contrib/dev/acpica/source/tools/acpinames/antables.c
+++ b/sys/contrib/dev/acpica/source/tools/acpinames/antables.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/tools/acpisrc/acpisrc.h b/sys/contrib/dev/acpica/source/tools/acpisrc/acpisrc.h
index 4d8225d807..7e506873f2 100644
--- a/sys/contrib/dev/acpica/source/tools/acpisrc/acpisrc.h
+++ b/sys/contrib/dev/acpica/source/tools/acpisrc/acpisrc.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/tools/acpisrc/ascase.c b/sys/contrib/dev/acpica/source/tools/acpisrc/ascase.c
index 6586844ade..8030ca30d3 100644
--- a/sys/contrib/dev/acpica/source/tools/acpisrc/ascase.c
+++ b/sys/contrib/dev/acpica/source/tools/acpisrc/ascase.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/tools/acpisrc/asconvrt.c b/sys/contrib/dev/acpica/source/tools/acpisrc/asconvrt.c
index 92018ec174..1687baf747 100644
--- a/sys/contrib/dev/acpica/source/tools/acpisrc/asconvrt.c
+++ b/sys/contrib/dev/acpica/source/tools/acpisrc/asconvrt.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -185,7 +185,7 @@ AsCountLines (
 
 #define MODULE_HEADER_BEGIN "/******************************************************************************\n *\n * Module Name:";
 #define MODULE_HEADER_END   " *****************************************************************************/\n\n"
-#define INTEL_COPYRIGHT     " * Copyright (C) 2000 - 2019, Intel Corp.\n"
+#define INTEL_COPYRIGHT     " * Copyright (C) 2000 - 2020, Intel Corp.\n"
 
 /* Opening signature of the Intel legal header */
 
diff --git a/sys/contrib/dev/acpica/source/tools/acpisrc/asfile.c b/sys/contrib/dev/acpica/source/tools/acpisrc/asfile.c
index e6d764f687..c76a502340 100644
--- a/sys/contrib/dev/acpica/source/tools/acpisrc/asfile.c
+++ b/sys/contrib/dev/acpica/source/tools/acpisrc/asfile.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -546,7 +546,7 @@ AsConvertFile (
     {
         /* Decode the function bitmap */
 
-        switch ((1 << i) & Functions)
+        switch (((UINT32) 1 << i) & Functions)
         {
         case 0:
 
diff --git a/sys/contrib/dev/acpica/source/tools/acpisrc/asmain.c b/sys/contrib/dev/acpica/source/tools/acpisrc/asmain.c
index 89b04bf968..8044955ce8 100644
--- a/sys/contrib/dev/acpica/source/tools/acpisrc/asmain.c
+++ b/sys/contrib/dev/acpica/source/tools/acpisrc/asmain.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -562,6 +562,13 @@ main (
         ConversionTable->SourceFunctions &= ~CVT_REMOVE_DEBUG_MACROS;
     }
 
+    /*
+     * Set LF only support. Note ACPI_SRC_OS_LF_ONLY indicates that newlines
+     * are represented as LF only rather than CR/LF
+     */
+    ConversionTable->Flags |= ACPI_SRC_OS_LF_ONLY;
+    Gbl_IgnoreLoneLineFeeds = ACPI_SRC_OS_LF_ONLY;
+
     /* Check source and target paths and files */
 
     if (AsExaminePaths (ConversionTable, SourcePath, TargetPath, &FileType))
diff --git a/sys/contrib/dev/acpica/source/tools/acpisrc/asremove.c b/sys/contrib/dev/acpica/source/tools/acpisrc/asremove.c
index a008e41499..76deadd535 100644
--- a/sys/contrib/dev/acpica/source/tools/acpisrc/asremove.c
+++ b/sys/contrib/dev/acpica/source/tools/acpisrc/asremove.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -264,7 +264,6 @@ AsRemoveConditionalCompile (
 
 
     KeywordLength = strlen (Keyword);
-    SubBuffer = Buffer;
     SubString = Buffer;
 
     while (SubString)
@@ -401,7 +400,7 @@ AsRemoveConditionalCompile (
 
         /* Remove the lines */
 
-        SubBuffer = AsRemoveData (SubString, SubBuffer);
+        (void) AsRemoveData (SubString, SubBuffer);
     }
 }
 
@@ -591,7 +590,7 @@ AsReduceTypedefs (
                 /* Remove the typedef itself */
 
                 SubBuffer = SubString + strlen ("typedef") + 1;
-                SubBuffer = AsRemoveData (SubString, SubBuffer);
+                (void) AsRemoveData (SubString, SubBuffer);
 
                 /* Find the opening brace of the struct or union */
 
diff --git a/sys/contrib/dev/acpica/source/tools/acpisrc/astable.c b/sys/contrib/dev/acpica/source/tools/acpisrc/astable.c
index b6706c3d58..d467bc057e 100644
--- a/sys/contrib/dev/acpica/source/tools/acpisrc/astable.c
+++ b/sys/contrib/dev/acpica/source/tools/acpisrc/astable.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -197,7 +197,7 @@ ACPI_STRING_TABLE           StandardDataTypes[] = {
 char                        EmptyHeader[] = "";
 char                        DualLicenseHeader[] =
 "/*\n"
-" * Copyright (C) 2000 - 2019, Intel Corp.\n"
+" * Copyright (C) 2000 - 2020, Intel Corp.\n"
 " * All rights reserved.\n"
 " *\n"
 " * Redistribution and use in source and binary forms, with or without\n"
@@ -464,6 +464,7 @@ ACPI_TYPED_IDENTIFIER_TABLE           AcpiIdentifiers[] = {
     {"ACPI_RASF_PARAMETER_BLOCK",           SRC_TYPE_STRUCT},
     {"ACPI_RASF_PATROL_SCRUB_PARAMETER",    SRC_TYPE_STRUCT},
     {"ACPI_RASF_SHARED_MEMORY",             SRC_TYPE_STRUCT},
+    {"ACPI_REGION_WALK_INFO",               SRC_TYPE_STRUCT},
     {"ACPI_REPAIR_FUNCTION",                SRC_TYPE_SIMPLE},
     {"ACPI_REPAIR_INFO",                    SRC_TYPE_STRUCT},
     {"ACPI_REG_WALK_INFO",                  SRC_TYPE_STRUCT},
@@ -1155,8 +1156,8 @@ ACPI_CONVERSION_TABLE       LicenseConversionTable =
 
 ACPI_STRING_TABLE           CustomReplacements[] =
 {
-    {"(c) 1999 - 2018",     "(c) 1999 - 2019",         REPLACE_WHOLE_WORD}, /* Main ACPICA source */
-    {"(c) 2006 - 2018",     "(c) 2006 - 2019",         REPLACE_WHOLE_WORD}, /* Test suites */
+    {"(c) 1999 - 2020",     "(c) 1999 - 2020",         REPLACE_WHOLE_WORD}, /* Main ACPICA source */
+    {"(c) 2006 - 2020",     "(c) 2006 - 2020",         REPLACE_WHOLE_WORD}, /* Test suites */
 
 #if 0
     {"SUPPORT, ASSISTANCE", "SUPPORT, ASSISTANCE",     REPLACE_WHOLE_WORD}, /* Fix intel header */
diff --git a/sys/contrib/dev/acpica/source/tools/acpisrc/asutils.c b/sys/contrib/dev/acpica/source/tools/acpisrc/asutils.c
index c919853e56..5f1c9b74fd 100644
--- a/sys/contrib/dev/acpica/source/tools/acpisrc/asutils.c
+++ b/sys/contrib/dev/acpica/source/tools/acpisrc/asutils.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/tools/acpixtract/acpixtract.c b/sys/contrib/dev/acpica/source/tools/acpixtract/acpixtract.c
index 4afdeeca69..cd45d4948e 100644
--- a/sys/contrib/dev/acpica/source/tools/acpixtract/acpixtract.c
+++ b/sys/contrib/dev/acpica/source/tools/acpixtract/acpixtract.c
@@ -9,7 +9,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/tools/acpixtract/acpixtract.h b/sys/contrib/dev/acpica/source/tools/acpixtract/acpixtract.h
index 9b1eb3e8b9..ad341946b5 100644
--- a/sys/contrib/dev/acpica/source/tools/acpixtract/acpixtract.h
+++ b/sys/contrib/dev/acpica/source/tools/acpixtract/acpixtract.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/tools/acpixtract/axmain.c b/sys/contrib/dev/acpica/source/tools/acpixtract/axmain.c
index a027f786c8..083f410fbd 100644
--- a/sys/contrib/dev/acpica/source/tools/acpixtract/axmain.c
+++ b/sys/contrib/dev/acpica/source/tools/acpixtract/axmain.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/tools/acpixtract/axutils.c b/sys/contrib/dev/acpica/source/tools/acpixtract/axutils.c
index 480bd0f328..783be35b17 100644
--- a/sys/contrib/dev/acpica/source/tools/acpixtract/axutils.c
+++ b/sys/contrib/dev/acpica/source/tools/acpixtract/axutils.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/tools/efihello/efihello.c b/sys/contrib/dev/acpica/source/tools/efihello/efihello.c
index c1208fafe3..93408908ee 100644
--- a/sys/contrib/dev/acpica/source/tools/efihello/efihello.c
+++ b/sys/contrib/dev/acpica/source/tools/efihello/efihello.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/tools/examples/examples.c b/sys/contrib/dev/acpica/source/tools/examples/examples.c
index 73cdd53569..e2f6aa747f 100644
--- a/sys/contrib/dev/acpica/source/tools/examples/examples.c
+++ b/sys/contrib/dev/acpica/source/tools/examples/examples.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -576,7 +576,7 @@ ExecuteOSI (
     if (ReturnValue.Length < sizeof (ACPI_OBJECT))
     {
         AcpiOsPrintf ("Return value from _OSI method too small, %.8X\n",
-            ReturnValue.Length);
+            (UINT32) ReturnValue.Length);
         goto ErrorExit;
     }
 
diff --git a/sys/contrib/dev/acpica/source/tools/examples/examples.h b/sys/contrib/dev/acpica/source/tools/examples/examples.h
index 08804c45d4..d79f4572d7 100644
--- a/sys/contrib/dev/acpica/source/tools/examples/examples.h
+++ b/sys/contrib/dev/acpica/source/tools/examples/examples.h
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/tools/examples/exstubs.c b/sys/contrib/dev/acpica/source/tools/examples/exstubs.c
index a4f9677164..0ca2d68797 100644
--- a/sys/contrib/dev/acpica/source/tools/examples/exstubs.c
+++ b/sys/contrib/dev/acpica/source/tools/examples/exstubs.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/source/tools/examples/extables.c b/sys/contrib/dev/acpica/source/tools/examples/extables.c
index b60a6c80c1..1890e43ba5 100644
--- a/sys/contrib/dev/acpica/source/tools/examples/extables.c
+++ b/sys/contrib/dev/acpica/source/tools/examples/extables.c
@@ -8,7 +8,7 @@
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2020, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/sys/contrib/dev/acpica/tests/misc/badcode.asl b/sys/contrib/dev/acpica/tests/misc/badcode.asl
index 996adfc74f..12de101b20 100644
--- a/sys/contrib/dev/acpica/tests/misc/badcode.asl
+++ b/sys/contrib/dev/acpica/tests/misc/badcode.asl
@@ -11,7 +11,7 @@
  * iasl badcode.asl
  *
  * Output:
- * Compilation complete. 45 Errors, 22 Warnings, 3 Remarks, 16 Optimizations
+ * Compilation complete. 45 Errors, 28 Warnings, 11 Remarks, 14 Optimizations
  *
  */
 DefinitionBlock ("badcode.aml", "DSDT", 1, "Intel", "Example", 0x00000001)
diff --git a/sys/contrib/dev/acpica/tests/misc/grammar.asl b/sys/contrib/dev/acpica/tests/misc/grammar.asl
index 1119ba9091..6eb77de666 100644
--- a/sys/contrib/dev/acpica/tests/misc/grammar.asl
+++ b/sys/contrib/dev/acpica/tests/misc/grammar.asl
@@ -1,5 +1,5 @@
 /*
- * Some or all of this work - Copyright (c) 2006 - 2019, Intel Corp.
+ * Some or all of this work - Copyright (c) 2006 - 2020, Intel Corp.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without modification,
diff --git a/sys/contrib/dev/acpica/tests/templates/Makefile b/sys/contrib/dev/acpica/tests/templates/Makefile
index 1880dcc041..88c78244cf 100644
--- a/sys/contrib/dev/acpica/tests/templates/Makefile
+++ b/sys/contrib/dev/acpica/tests/templates/Makefile
@@ -1,9 +1,34 @@
+# Before running this file, we assume we have generated all tables by running
+# the command `$(ASL) -T ALL`
+#
+# Note: the NAME flag is required when running the test
+
+aml_obj=$(NAME).aml
+dsl_obj=$(NAME).dsl
+aml_obj2=$(NAME)_recomp.aml
+
+
+all: $(aml_obj2)
+
+# recompile and binary compare
+$(aml_obj2): %_recomp.aml: %.dsl
+	$(ASL) -p `basename $@` $< > /dev/null 2> /dev/null
+	$(acpibin) -c $@ $(patsubst %_recomp.aml,%.aml,$@) > /dev/null 2> /dev/null
+	printf "Data table %s PASS\n" $(basename $< .dsl)
+
+# disassemble
+$(dsl_obj): %.dsl:  %.aml
+	$(ASL) -d $< > /dev/null 2> /dev/null
+
+# initial compile
+$(aml_obj): %.aml:  %.asl
+	$(ASL) $< > /dev/null 2> /dev/null
 
-PROG= templates
 
 templates :
 	sh templates.sh
 
-clean :
+.PHONY: clean
+clean:
 	rm -f *.asl *.aml *.dsl *.hex diff.log
 
diff --git a/usr.sbin/acpi/acpinames/Makefile b/usr.sbin/acpi/acpinames/Makefile
index e1fa89047d..a774e06d10 100644
--- a/usr.sbin/acpi/acpinames/Makefile
+++ b/usr.sbin/acpi/acpinames/Makefile
@@ -19,34 +19,69 @@ SRCS=	\
 
 SRCS+=	\
 	cmfsize.c \
+	dscontrol.c \
+	dsdebug.c \
 	dsfield.c \
 	dsinit.c \
+	dsmethod.c \
 	dsmthdat.c \
 	dsobject.c \
+	dsopcode.c \
 	dspkginit.c \
 	dsutils.c \
+	dswexec.c \
 	dswload.c \
 	dswload2.c \
 	dswscope.c \
 	dswstate.c \
+	evhandler.c \
+	evmisc.c \
+	evregion.c \
+	evrgnini.c \
+	evxfregn.c \
+	exconcat.c \
+	exconfig.c \
+	exconvrt.c \
 	excreate.c \
 	exdump.c \
+	exfield.c \
+	exfldio.c \
+	exmisc.c \
 	exmutex.c \
 	exnames.c \
+	exoparg1.c \
+	exoparg2.c \
+	exoparg3.c \
+	exoparg6.c \
 	exprep.c \
+	exregion.c \
 	exresnte.c \
 	exresolv.c \
+	exresop.c \
+	exserial.c \
+	exstore.c \
+	exstoren.c \
+	exstorob.c \
 	exsystem.c \
 	exutils.c \
 	getopt.c \
+	hwpci.c \
+	hwvalid.c \
 	nsaccess.c \
 	nsalloc.c \
+	nsarguments.c \
+	nsconvert.c \
 	nsdump.c \
+	nseval.c \
 	nsinit.c \
 	nsload.c \
 	nsnames.c \
 	nsobject.c \
 	nsparse.c \
+	nspredef.c \
+	nsprepkg.c \
+	nsrepair.c \
+	nsrepair2.c \
 	nssearch.c \
 	nsutils.c \
 	nswalk.c \
@@ -79,6 +114,7 @@ SRCS+=	\
 	utascii.c \
 	utbuffer.c \
 	utcache.c \
+	utcopy.c \
 	utdebug.c \
 	utdecode.c \
 	utdelete.c \
@@ -97,8 +133,12 @@ SRCS+=	\
 	utobject.c \
 	utosi.c \
 	utownerid.c \
+	utpredef.c \
+	utresrc.c \
 	utstate.c \
 	utstring.c \
+	utstrsuppt.c \
+	utstrtoul64.c \
 	utxface.c \
 	utxferror.c \
 	utxfinit.c
diff --git a/usr.sbin/acpi/iasl/Makefile b/usr.sbin/acpi/iasl/Makefile
index 5b7d59927a..2b81ab1ef6 100644
--- a/usr.sbin/acpi/iasl/Makefile
+++ b/usr.sbin/acpi/iasl/Makefile
@@ -15,6 +15,9 @@ SRCS=	\
 	aslcompilerlex.c \
 	aslcompilerparse.c \
 	aslmessages.c \
+	dtcompilerparser.y.h \
+	dtcompilerparserlex.c \
+	dtcompilerparserparse.c \
 	dtparser.y.h \
 	dtparserlex.c \
 	dtparserparse.c \
@@ -228,6 +231,7 @@ CFLAGS+= \
 	-I${.CURDIR}
 
 LFLAGS=	-i -s
+DLFLAGS=-i
 YFLAGS=	-d
 
 ASLPARSER_M4INC = \
@@ -253,8 +257,17 @@ aslcompilerparse.c: aslcompiler.y
 aslcompiler.y.h: aslcompilerparse.c
 	mv -f aslcompilerparse.h ${.TARGET}
 
+dtcompilerparserlex.c: dtcompilerparser.l
+	${LEX} ${DLFLAGS} -PDtCompilerParser -o${.TARGET} ${.ALLSRC}
+
+dtcompilerparserparse.c: dtcompilerparser.y
+	${YACC} ${YFLAGS} -pDtCompilerParser -o${.TARGET} ${.ALLSRC}
+
+dtcompilerparser.y.h: dtcompilerparserparse.c
+	mv -f dtcompilerparserparse.h ${.TARGET}
+
 dtparserlex.c: dtparser.l
-	${LEX} ${LFLAGS} -PDtParser -o${.TARGET} ${.ALLSRC}
+	${LEX} ${DLFLAGS} -PDtParser -o${.TARGET} ${.ALLSRC}
 
 dtparserparse.c: dtparser.y
 	${YACC} ${YFLAGS} -pDtParser -o${.TARGET} ${.ALLSRC}
@@ -277,6 +290,10 @@ CLEANFILES+=	\
 		aslcompilerparse.c \
 		aslcompilerparse.h \
 		aslcompiler.y.h \
+		dtcompilerparserlex.c \
+		dtcompilerparserparse.c \
+		dtcompilerparserparse.h \
+		dtcompilerparser.y.h \
 		dtparserlex.c \
 		dtparserparse.c \
 		dtparserparse.h \
diff --git a/usr.sbin/acpi/iasl/iasl.8 b/usr.sbin/acpi/iasl/iasl.8
index bd4aacec26..e739af6e28 100644
--- a/usr.sbin/acpi/iasl/iasl.8
+++ b/usr.sbin/acpi/iasl/iasl.8
@@ -28,7 +28,7 @@
 .\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.Dd December 14, 2018
+.Dd January 11, 2020
 .Dt IASL 8
 .Os
 .Sh NAME
@@ -164,6 +164,8 @@ SSDTs to same file.
 Create hex AML table in assembler (*.hex).
 .It Fl tc
 Create hex AML table in C (*.hex).
+.It Fl tp
+Compile tables with flex/bison prototype.
 .It Fl ts
 Create hex AML table in ASL (*.hex).
 .It Fl v
-- 
2.24.1

