diff mbox series

ACPICA: Update to version 20230331

Message ID 20230403074340.1206236-1-colin.i.king@gmail.com
State Accepted
Headers show
Series ACPICA: Update to version 20230331 | expand

Commit Message

Colin Ian King April 3, 2023, 7:43 a.m. UTC
Changes in this release of ACPICA are detailed on the ACPICA developer
mailing list for ACPICA 20230331

Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
---
 src/acpica/source/common/acfileio.c           |   2 +-
 src/acpica/source/common/acgetline.c          |   2 +-
 src/acpica/source/common/adfile.c             |   2 +-
 src/acpica/source/common/adisasm.c            |   3 +-
 src/acpica/source/common/adwalk.c             |   2 +-
 src/acpica/source/common/ahids.c              |   2 +-
 src/acpica/source/common/ahpredef.c           |   2 +-
 src/acpica/source/common/ahtable.c            |   5 +-
 src/acpica/source/common/ahuuids.c            |   2 +-
 src/acpica/source/common/cmfsize.c            |   2 +-
 src/acpica/source/common/dmextern.c           |  10 +-
 src/acpica/source/common/dmrestag.c           |  11 +-
 src/acpica/source/common/dmswitch.c           |   2 +-
 src/acpica/source/common/dmtable.c            |  54 +++-
 src/acpica/source/common/dmtables.c           |   2 +-
 src/acpica/source/common/dmtbdump.c           |   2 +-
 src/acpica/source/common/dmtbdump1.c          |  93 +++++-
 src/acpica/source/common/dmtbdump2.c          | 242 ++++++++++++++-
 src/acpica/source/common/dmtbdump3.c          |   2 +-
 src/acpica/source/common/dmtbinfo.c           |   2 +-
 src/acpica/source/common/dmtbinfo1.c          |  55 +++-
 src/acpica/source/common/dmtbinfo2.c          | 191 +++++++++++-
 src/acpica/source/common/dmtbinfo3.c          |   2 +-
 src/acpica/source/common/getopt.c             |   2 +-
 src/acpica/source/compiler/aslallocate.c      |   8 +-
 src/acpica/source/compiler/aslanalyze.c       |   2 +-
 src/acpica/source/compiler/aslascii.c         |   2 +-
 src/acpica/source/compiler/aslbtypes.c        |   5 +-
 src/acpica/source/compiler/aslcache.c         |   2 +-
 src/acpica/source/compiler/aslcodegen.c       |   2 +-
 src/acpica/source/compiler/aslcompile.c       |   2 +-
 src/acpica/source/compiler/aslcompiler.h      |   5 +-
 src/acpica/source/compiler/aslcompiler.l      |  14 +-
 src/acpica/source/compiler/aslcstyle.y        |   2 +-
 src/acpica/source/compiler/asldebug.c         |   2 +-
 src/acpica/source/compiler/asldefine.h        |   2 +-
 src/acpica/source/compiler/aslerror.c         |   2 +-
 src/acpica/source/compiler/aslexternal.c      |   2 +-
 src/acpica/source/compiler/aslfileio.c        |   2 +-
 src/acpica/source/compiler/aslfiles.c         |   2 +-
 src/acpica/source/compiler/aslfold.c          |   2 +-
 src/acpica/source/compiler/aslglobal.h        |   2 +-
 src/acpica/source/compiler/aslhelp.c          |   2 +-
 src/acpica/source/compiler/aslhelpers.y       |   2 +-
 src/acpica/source/compiler/aslhex.c           |   2 +-
 src/acpica/source/compiler/aslkeywords.y      |  13 +-
 src/acpica/source/compiler/asllength.c        |   2 +-
 src/acpica/source/compiler/asllisting.c       |   2 +-
 src/acpica/source/compiler/asllistsup.c       |   2 +-
 src/acpica/source/compiler/aslload.c          |   2 +-
 src/acpica/source/compiler/asllookup.c        |   2 +-
 src/acpica/source/compiler/aslmain.c          |   2 +-
 src/acpica/source/compiler/aslmap.c           |   8 +-
 src/acpica/source/compiler/aslmapenter.c      |   2 +-
 src/acpica/source/compiler/aslmapoutput.c     |   2 +-
 src/acpica/source/compiler/aslmaputils.c      |   2 +-
 src/acpica/source/compiler/aslmessages.c      |   2 +-
 src/acpica/source/compiler/aslmessages.h      |   2 +-
 src/acpica/source/compiler/aslmethod.c        |   2 +-
 src/acpica/source/compiler/aslnamesp.c        |   2 +-
 src/acpica/source/compiler/asloffset.c        |   2 +-
 src/acpica/source/compiler/aslopcodes.c       |   2 +-
 src/acpica/source/compiler/asloperands.c      |   2 +-
 src/acpica/source/compiler/aslopt.c           |   2 +-
 src/acpica/source/compiler/asloptions.c       |   2 +-
 src/acpica/source/compiler/aslparseop.c       |   6 +-
 src/acpica/source/compiler/aslparser.y        |   4 +-
 src/acpica/source/compiler/aslpld.c           |   2 +-
 src/acpica/source/compiler/aslpredef.c        |   2 +-
 src/acpica/source/compiler/aslprepkg.c        |   2 +-
 src/acpica/source/compiler/aslprimaries.y     |   2 +-
 src/acpica/source/compiler/aslprintf.c        |   2 +-
 src/acpica/source/compiler/aslprune.c         |   2 +-
 src/acpica/source/compiler/aslresource.c      |   8 +-
 src/acpica/source/compiler/aslresources.y     |  18 +-
 src/acpica/source/compiler/aslrestype1.c      |   2 +-
 src/acpica/source/compiler/aslrestype1i.c     |   2 +-
 src/acpica/source/compiler/aslrestype2.c      |   8 +-
 src/acpica/source/compiler/aslrestype2d.c     |   2 +-
 src/acpica/source/compiler/aslrestype2e.c     |   2 +-
 src/acpica/source/compiler/aslrestype2q.c     |   2 +-
 src/acpica/source/compiler/aslrestype2s.c     | 129 ++++++--
 src/acpica/source/compiler/aslrestype2w.c     |   2 +-
 src/acpica/source/compiler/aslrules.y         |   2 +-
 src/acpica/source/compiler/aslstartup.c       |   2 +-
 src/acpica/source/compiler/aslstubs.c         |   2 +-
 src/acpica/source/compiler/aslsupport.l       |   4 +-
 src/acpica/source/compiler/aslsupport.y       |   2 +-
 src/acpica/source/compiler/asltokens.y        |   8 +-
 src/acpica/source/compiler/asltransform.c     |   2 +-
 src/acpica/source/compiler/asltree.c          |   5 +-
 src/acpica/source/compiler/asltypes.h         |   4 +-
 src/acpica/source/compiler/asltypes.y         |   5 +-
 src/acpica/source/compiler/aslutils.c         |   8 +-
 src/acpica/source/compiler/asluuid.c          |   2 +-
 src/acpica/source/compiler/aslwalks.c         |   2 +-
 src/acpica/source/compiler/aslxref.c          |   2 +-
 src/acpica/source/compiler/aslxrefout.c       |   2 +-
 src/acpica/source/compiler/cvcompiler.c       |   2 +-
 src/acpica/source/compiler/cvdisasm.c         |   2 +-
 src/acpica/source/compiler/cvparser.c         |   2 +-
 src/acpica/source/compiler/dtcompile.c        |   2 +-
 src/acpica/source/compiler/dtcompiler.h       |  17 +-
 src/acpica/source/compiler/dtcompilerparser.l |   2 +-
 src/acpica/source/compiler/dtcompilerparser.y |   2 +-
 src/acpica/source/compiler/dtexpress.c        |   7 +-
 src/acpica/source/compiler/dtfield.c          |   4 +-
 src/acpica/source/compiler/dtio.c             |   2 +-
 src/acpica/source/compiler/dtparser.l         |   2 +-
 src/acpica/source/compiler/dtparser.y         |   2 +-
 src/acpica/source/compiler/dtsubtable.c       |   2 +-
 src/acpica/source/compiler/dttable.c          |   2 +-
 src/acpica/source/compiler/dttable1.c         |  91 +++++-
 src/acpica/source/compiler/dttable2.c         | 285 +++++++++++++++++-
 src/acpica/source/compiler/dttemplate.c       |   2 +-
 src/acpica/source/compiler/dttemplate.h       |  79 ++++-
 src/acpica/source/compiler/dtutils.c          |   4 +-
 src/acpica/source/compiler/preprocess.h       |  11 +-
 src/acpica/source/compiler/prexpress.c        |   2 +-
 src/acpica/source/compiler/prmacros.c         |  50 +--
 src/acpica/source/compiler/prparser.l         |   2 +-
 src/acpica/source/compiler/prparser.y         |   2 +-
 src/acpica/source/compiler/prscan.c           |   9 +-
 src/acpica/source/compiler/prutils.c          | 240 ++++++++++++++-
 .../source/components/debugger/dbcmds.c       |   2 +-
 .../source/components/debugger/dbconvert.c    |   2 +-
 .../source/components/debugger/dbdisply.c     |   2 +-
 .../source/components/debugger/dbexec.c       |   2 +-
 .../source/components/debugger/dbfileio.c     |   2 +-
 .../source/components/debugger/dbhistry.c     |   2 +-
 .../source/components/debugger/dbinput.c      |   2 +-
 .../source/components/debugger/dbmethod.c     |   2 +-
 .../source/components/debugger/dbnames.c      |   5 +-
 .../source/components/debugger/dbobject.c     |   2 +-
 .../source/components/debugger/dbstats.c      |   2 +-
 .../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      |   2 +-
 .../source/components/disassembler/dmnames.c  |   2 +-
 .../source/components/disassembler/dmopcode.c |   2 +-
 .../source/components/disassembler/dmresrc.c  |   3 +-
 .../source/components/disassembler/dmresrcl.c |   4 +-
 .../components/disassembler/dmresrcl2.c       |  42 ++-
 .../source/components/disassembler/dmresrcs.c |   2 +-
 .../source/components/disassembler/dmutils.c  |   2 +-
 .../source/components/disassembler/dmwalk.c   |   2 +-
 .../source/components/dispatcher/dsargs.c     |   2 +-
 .../source/components/dispatcher/dscontrol.c  |   2 +-
 .../source/components/dispatcher/dsdebug.c    |   2 +-
 .../source/components/dispatcher/dsfield.c    |   2 +-
 .../source/components/dispatcher/dsinit.c     |   2 +-
 .../source/components/dispatcher/dsmethod.c   |  12 +-
 .../source/components/dispatcher/dsmthdat.c   |   2 +-
 .../source/components/dispatcher/dsobject.c   |   2 +-
 .../source/components/dispatcher/dsopcode.c   |   2 +-
 .../source/components/dispatcher/dspkginit.c  |   2 +-
 .../source/components/dispatcher/dsutils.c    |   2 +-
 .../source/components/dispatcher/dswexec.c    |   8 +-
 .../source/components/dispatcher/dswload.c    |   2 +-
 .../source/components/dispatcher/dswload2.c   |   2 +-
 .../source/components/dispatcher/dswscope.c   |   2 +-
 .../source/components/dispatcher/dswstate.c   |  11 +-
 src/acpica/source/components/events/evevent.c |   4 +-
 src/acpica/source/components/events/evglock.c |   2 +-
 src/acpica/source/components/events/evgpe.c   |   2 +-
 .../source/components/events/evgpeblk.c       |   2 +-
 .../source/components/events/evgpeinit.c      |   2 +-
 .../source/components/events/evgpeutil.c      |   2 +-
 .../source/components/events/evhandler.c      |   2 +-
 src/acpica/source/components/events/evmisc.c  |   2 +-
 .../source/components/events/evregion.c       |   2 +-
 .../source/components/events/evrgnini.c       |   2 +-
 src/acpica/source/components/events/evsci.c   |   2 +-
 src/acpica/source/components/events/evxface.c |   2 +-
 .../source/components/events/evxfevnt.c       |   2 +-
 src/acpica/source/components/events/evxfgpe.c |   2 +-
 .../source/components/events/evxfregn.c       | 103 ++++++-
 .../source/components/executer/exconcat.c     |   2 +-
 .../source/components/executer/exconfig.c     |   2 +-
 .../source/components/executer/exconvrt.c     |   2 +-
 .../source/components/executer/excreate.c     |   2 +-
 .../source/components/executer/exdebug.c      |   2 +-
 .../source/components/executer/exdump.c       |   2 +-
 .../source/components/executer/exfield.c      |   2 +-
 .../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     |   6 +-
 .../source/components/executer/extrace.c      |   2 +-
 .../source/components/executer/exutils.c      |   2 +-
 .../source/components/hardware/hwacpi.c       |   2 +-
 .../source/components/hardware/hwesleep.c     |   2 +-
 src/acpica/source/components/hardware/hwgpe.c |   2 +-
 src/acpica/source/components/hardware/hwpci.c |   2 +-
 .../source/components/hardware/hwregs.c       |   2 +-
 .../source/components/hardware/hwsleep.c      |  13 +-
 .../source/components/hardware/hwvalid.c      |  10 +-
 .../source/components/hardware/hwxface.c      |   2 +-
 .../source/components/hardware/hwxfsleep.c    |   2 +-
 .../source/components/namespace/nsaccess.c    |   2 +-
 .../source/components/namespace/nsalloc.c     |   2 +-
 .../source/components/namespace/nsarguments.c |   2 +-
 .../source/components/namespace/nsconvert.c   |   2 +-
 .../source/components/namespace/nsdump.c      |   2 +-
 .../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    |  16 +-
 .../source/components/namespace/nsrepair2.c   |  11 +-
 .../source/components/namespace/nssearch.c    |   2 +-
 .../source/components/namespace/nsutils.c     |   4 +-
 .../source/components/namespace/nswalk.c      |   2 +-
 .../source/components/namespace/nsxfeval.c    |   2 +-
 .../source/components/namespace/nsxfname.c    |   4 +-
 .../source/components/namespace/nsxfobj.c     |   2 +-
 src/acpica/source/components/parser/psargs.c  |   2 +-
 src/acpica/source/components/parser/psloop.c  |   2 +-
 .../source/components/parser/psobject.c       |   2 +-
 .../source/components/parser/psopcode.c       |   2 +-
 .../source/components/parser/psopinfo.c       |   2 +-
 src/acpica/source/components/parser/psparse.c |   2 +-
 src/acpica/source/components/parser/psscope.c |   2 +-
 src/acpica/source/components/parser/pstree.c  |   2 +-
 src/acpica/source/components/parser/psutils.c |   2 +-
 src/acpica/source/components/parser/pswalk.c  |   2 +-
 src/acpica/source/components/parser/psxface.c |   2 +-
 .../source/components/resources/rsaddr.c      |  14 +-
 .../source/components/resources/rscalc.c      |  33 +-
 .../source/components/resources/rscreate.c    |  10 +-
 .../source/components/resources/rsdump.c      |   2 +-
 .../source/components/resources/rsdumpinfo.c  |  21 +-
 .../source/components/resources/rsinfo.c      |   7 +-
 src/acpica/source/components/resources/rsio.c |   2 +-
 .../source/components/resources/rsirq.c       |  14 +-
 .../source/components/resources/rslist.c      |  11 +-
 .../source/components/resources/rsmemory.c    |   2 +-
 .../source/components/resources/rsmisc.c      |  11 +-
 .../source/components/resources/rsserial.c    |  46 ++-
 .../source/components/resources/rsutils.c     |   2 +-
 .../source/components/resources/rsxface.c     |   2 +-
 src/acpica/source/components/tables/tbdata.c  |   2 +-
 src/acpica/source/components/tables/tbfadt.c  |   2 +-
 src/acpica/source/components/tables/tbfind.c  |   2 +-
 .../source/components/tables/tbinstal.c       |   2 +-
 src/acpica/source/components/tables/tbprint.c |   3 +-
 src/acpica/source/components/tables/tbutils.c |   7 +-
 src/acpica/source/components/tables/tbxface.c |   2 +-
 .../source/components/tables/tbxfload.c       |   2 +-
 .../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    |   2 +-
 .../source/components/utilities/utcache.c     |   2 +-
 .../source/components/utilities/utcksum.c     |   4 +-
 .../source/components/utilities/utcopy.c      |   2 +-
 .../source/components/utilities/utdebug.c     |   2 +-
 .../source/components/utilities/utdecode.c    |   2 +-
 .../source/components/utilities/utdelete.c    |   2 +-
 .../source/components/utilities/uterror.c     |   2 +-
 .../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       |   2 +-
 .../source/components/utilities/utownerid.c   |   2 +-
 .../source/components/utilities/utpredef.c    |   2 +-
 .../source/components/utilities/utresdecode.c |  15 +-
 .../source/components/utilities/utresrc.c     |  16 +-
 .../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     |   2 +-
 .../source/components/utilities/utuuid.c      |   2 +-
 .../source/components/utilities/utxface.c     |   2 +-
 .../source/components/utilities/utxferror.c   |   2 +-
 .../source/components/utilities/utxfinit.c    |   2 +-
 src/acpica/source/include/acapps.h            |   4 +-
 src/acpica/source/include/acbuffer.h          |   2 +-
 src/acpica/source/include/accommon.h          |   2 +-
 src/acpica/source/include/acconfig.h          |   2 +-
 src/acpica/source/include/acconvert.h         |   2 +-
 src/acpica/source/include/acdebug.h           |   2 +-
 src/acpica/source/include/acdisasm.h          |  45 ++-
 src/acpica/source/include/acdispat.h          |   2 +-
 src/acpica/source/include/acevents.h          |   2 +-
 src/acpica/source/include/acexcep.h           |   2 +-
 src/acpica/source/include/acglobal.h          |   2 +-
 src/acpica/source/include/achware.h           |   2 +-
 src/acpica/source/include/acinterp.h          |   2 +-
 src/acpica/source/include/aclocal.h           |   5 +-
 src/acpica/source/include/acmacros.h          |   2 +-
 src/acpica/source/include/acnames.h           |   2 +-
 src/acpica/source/include/acnamesp.h          |   2 +-
 src/acpica/source/include/acobject.h          |   2 +-
 src/acpica/source/include/acopcode.h          |   2 +-
 src/acpica/source/include/acoutput.h          |   2 +-
 src/acpica/source/include/acparser.h          |   2 +-
 src/acpica/source/include/acpi.h              |   2 +-
 src/acpica/source/include/acpiosxf.h          |   2 +-
 src/acpica/source/include/acpixf.h            |  21 +-
 src/acpica/source/include/acpredef.h          |   2 +-
 src/acpica/source/include/acresrc.h           |   4 +-
 src/acpica/source/include/acrestyp.h          |  41 ++-
 src/acpica/source/include/acstruct.h          |   2 +-
 src/acpica/source/include/actables.h          |   2 +-
 src/acpica/source/include/actbinfo.h          |  21 +-
 src/acpica/source/include/actbl.h             |   2 +-
 src/acpica/source/include/actbl1.h            |  97 +++++-
 src/acpica/source/include/actbl2.h            | 244 +++++++++++++--
 src/acpica/source/include/actbl3.h            |   2 +-
 src/acpica/source/include/actypes.h           |   8 +-
 src/acpica/source/include/acutils.h           |   4 +-
 src/acpica/source/include/acuuid.h            |   2 +-
 src/acpica/source/include/amlcode.h           |   2 +-
 src/acpica/source/include/amlresrc.h          |  27 +-
 src/acpica/source/include/platform/acenv.h    |   4 +-
 src/acpica/source/include/platform/acenvex.h  |   2 +-
 src/acpica/source/include/platform/acgcc.h    |  13 +-
 src/acpica/source/include/platform/acgccex.h  |   2 +-
 src/acpica/source/include/platform/aclinux.h  |   5 +-
 .../source/include/platform/aclinuxex.h       |   2 +-
 .../os_specific/service_layers/osunixxf.c     |   2 +-
 src/acpica/source/tools/acpiexec/aecommon.h   |   2 +-
 .../source/tools/acpiexec/aeexception.c       |   2 +-
 src/acpica/source/tools/acpiexec/aehandlers.c |   2 +-
 src/acpica/source/tools/acpiexec/aeinitfile.c |   2 +-
 src/acpica/source/tools/acpiexec/aeinstall.c  |   2 +-
 src/acpica/source/tools/acpiexec/aeregion.c   |   2 +-
 361 files changed, 2735 insertions(+), 553 deletions(-)

Comments

Ivan Hu April 6, 2023, 5:51 a.m. UTC | #1
On 4/3/23 15:43, Colin Ian King wrote:
> Changes in this release of ACPICA are detailed on the ACPICA developer
> mailing list for ACPICA 20230331
> 
> Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
> ---
>   src/acpica/source/common/acfileio.c           |   2 +-
>   src/acpica/source/common/acgetline.c          |   2 +-
>   src/acpica/source/common/adfile.c             |   2 +-
>   src/acpica/source/common/adisasm.c            |   3 +-
>   src/acpica/source/common/adwalk.c             |   2 +-
>   src/acpica/source/common/ahids.c              |   2 +-
>   src/acpica/source/common/ahpredef.c           |   2 +-
>   src/acpica/source/common/ahtable.c            |   5 +-
>   src/acpica/source/common/ahuuids.c            |   2 +-
>   src/acpica/source/common/cmfsize.c            |   2 +-
>   src/acpica/source/common/dmextern.c           |  10 +-
>   src/acpica/source/common/dmrestag.c           |  11 +-
>   src/acpica/source/common/dmswitch.c           |   2 +-
>   src/acpica/source/common/dmtable.c            |  54 +++-
>   src/acpica/source/common/dmtables.c           |   2 +-
>   src/acpica/source/common/dmtbdump.c           |   2 +-
>   src/acpica/source/common/dmtbdump1.c          |  93 +++++-
>   src/acpica/source/common/dmtbdump2.c          | 242 ++++++++++++++-
>   src/acpica/source/common/dmtbdump3.c          |   2 +-
>   src/acpica/source/common/dmtbinfo.c           |   2 +-
>   src/acpica/source/common/dmtbinfo1.c          |  55 +++-
>   src/acpica/source/common/dmtbinfo2.c          | 191 +++++++++++-
>   src/acpica/source/common/dmtbinfo3.c          |   2 +-
>   src/acpica/source/common/getopt.c             |   2 +-
>   src/acpica/source/compiler/aslallocate.c      |   8 +-
>   src/acpica/source/compiler/aslanalyze.c       |   2 +-
>   src/acpica/source/compiler/aslascii.c         |   2 +-
>   src/acpica/source/compiler/aslbtypes.c        |   5 +-
>   src/acpica/source/compiler/aslcache.c         |   2 +-
>   src/acpica/source/compiler/aslcodegen.c       |   2 +-
>   src/acpica/source/compiler/aslcompile.c       |   2 +-
>   src/acpica/source/compiler/aslcompiler.h      |   5 +-
>   src/acpica/source/compiler/aslcompiler.l      |  14 +-
>   src/acpica/source/compiler/aslcstyle.y        |   2 +-
>   src/acpica/source/compiler/asldebug.c         |   2 +-
>   src/acpica/source/compiler/asldefine.h        |   2 +-
>   src/acpica/source/compiler/aslerror.c         |   2 +-
>   src/acpica/source/compiler/aslexternal.c      |   2 +-
>   src/acpica/source/compiler/aslfileio.c        |   2 +-
>   src/acpica/source/compiler/aslfiles.c         |   2 +-
>   src/acpica/source/compiler/aslfold.c          |   2 +-
>   src/acpica/source/compiler/aslglobal.h        |   2 +-
>   src/acpica/source/compiler/aslhelp.c          |   2 +-
>   src/acpica/source/compiler/aslhelpers.y       |   2 +-
>   src/acpica/source/compiler/aslhex.c           |   2 +-
>   src/acpica/source/compiler/aslkeywords.y      |  13 +-
>   src/acpica/source/compiler/asllength.c        |   2 +-
>   src/acpica/source/compiler/asllisting.c       |   2 +-
>   src/acpica/source/compiler/asllistsup.c       |   2 +-
>   src/acpica/source/compiler/aslload.c          |   2 +-
>   src/acpica/source/compiler/asllookup.c        |   2 +-
>   src/acpica/source/compiler/aslmain.c          |   2 +-
>   src/acpica/source/compiler/aslmap.c           |   8 +-
>   src/acpica/source/compiler/aslmapenter.c      |   2 +-
>   src/acpica/source/compiler/aslmapoutput.c     |   2 +-
>   src/acpica/source/compiler/aslmaputils.c      |   2 +-
>   src/acpica/source/compiler/aslmessages.c      |   2 +-
>   src/acpica/source/compiler/aslmessages.h      |   2 +-
>   src/acpica/source/compiler/aslmethod.c        |   2 +-
>   src/acpica/source/compiler/aslnamesp.c        |   2 +-
>   src/acpica/source/compiler/asloffset.c        |   2 +-
>   src/acpica/source/compiler/aslopcodes.c       |   2 +-
>   src/acpica/source/compiler/asloperands.c      |   2 +-
>   src/acpica/source/compiler/aslopt.c           |   2 +-
>   src/acpica/source/compiler/asloptions.c       |   2 +-
>   src/acpica/source/compiler/aslparseop.c       |   6 +-
>   src/acpica/source/compiler/aslparser.y        |   4 +-
>   src/acpica/source/compiler/aslpld.c           |   2 +-
>   src/acpica/source/compiler/aslpredef.c        |   2 +-
>   src/acpica/source/compiler/aslprepkg.c        |   2 +-
>   src/acpica/source/compiler/aslprimaries.y     |   2 +-
>   src/acpica/source/compiler/aslprintf.c        |   2 +-
>   src/acpica/source/compiler/aslprune.c         |   2 +-
>   src/acpica/source/compiler/aslresource.c      |   8 +-
>   src/acpica/source/compiler/aslresources.y     |  18 +-
>   src/acpica/source/compiler/aslrestype1.c      |   2 +-
>   src/acpica/source/compiler/aslrestype1i.c     |   2 +-
>   src/acpica/source/compiler/aslrestype2.c      |   8 +-
>   src/acpica/source/compiler/aslrestype2d.c     |   2 +-
>   src/acpica/source/compiler/aslrestype2e.c     |   2 +-
>   src/acpica/source/compiler/aslrestype2q.c     |   2 +-
>   src/acpica/source/compiler/aslrestype2s.c     | 129 ++++++--
>   src/acpica/source/compiler/aslrestype2w.c     |   2 +-
>   src/acpica/source/compiler/aslrules.y         |   2 +-
>   src/acpica/source/compiler/aslstartup.c       |   2 +-
>   src/acpica/source/compiler/aslstubs.c         |   2 +-
>   src/acpica/source/compiler/aslsupport.l       |   4 +-
>   src/acpica/source/compiler/aslsupport.y       |   2 +-
>   src/acpica/source/compiler/asltokens.y        |   8 +-
>   src/acpica/source/compiler/asltransform.c     |   2 +-
>   src/acpica/source/compiler/asltree.c          |   5 +-
>   src/acpica/source/compiler/asltypes.h         |   4 +-
>   src/acpica/source/compiler/asltypes.y         |   5 +-
>   src/acpica/source/compiler/aslutils.c         |   8 +-
>   src/acpica/source/compiler/asluuid.c          |   2 +-
>   src/acpica/source/compiler/aslwalks.c         |   2 +-
>   src/acpica/source/compiler/aslxref.c          |   2 +-
>   src/acpica/source/compiler/aslxrefout.c       |   2 +-
>   src/acpica/source/compiler/cvcompiler.c       |   2 +-
>   src/acpica/source/compiler/cvdisasm.c         |   2 +-
>   src/acpica/source/compiler/cvparser.c         |   2 +-
>   src/acpica/source/compiler/dtcompile.c        |   2 +-
>   src/acpica/source/compiler/dtcompiler.h       |  17 +-
>   src/acpica/source/compiler/dtcompilerparser.l |   2 +-
>   src/acpica/source/compiler/dtcompilerparser.y |   2 +-
>   src/acpica/source/compiler/dtexpress.c        |   7 +-
>   src/acpica/source/compiler/dtfield.c          |   4 +-
>   src/acpica/source/compiler/dtio.c             |   2 +-
>   src/acpica/source/compiler/dtparser.l         |   2 +-
>   src/acpica/source/compiler/dtparser.y         |   2 +-
>   src/acpica/source/compiler/dtsubtable.c       |   2 +-
>   src/acpica/source/compiler/dttable.c          |   2 +-
>   src/acpica/source/compiler/dttable1.c         |  91 +++++-
>   src/acpica/source/compiler/dttable2.c         | 285 +++++++++++++++++-
>   src/acpica/source/compiler/dttemplate.c       |   2 +-
>   src/acpica/source/compiler/dttemplate.h       |  79 ++++-
>   src/acpica/source/compiler/dtutils.c          |   4 +-
>   src/acpica/source/compiler/preprocess.h       |  11 +-
>   src/acpica/source/compiler/prexpress.c        |   2 +-
>   src/acpica/source/compiler/prmacros.c         |  50 +--
>   src/acpica/source/compiler/prparser.l         |   2 +-
>   src/acpica/source/compiler/prparser.y         |   2 +-
>   src/acpica/source/compiler/prscan.c           |   9 +-
>   src/acpica/source/compiler/prutils.c          | 240 ++++++++++++++-
>   .../source/components/debugger/dbcmds.c       |   2 +-
>   .../source/components/debugger/dbconvert.c    |   2 +-
>   .../source/components/debugger/dbdisply.c     |   2 +-
>   .../source/components/debugger/dbexec.c       |   2 +-
>   .../source/components/debugger/dbfileio.c     |   2 +-
>   .../source/components/debugger/dbhistry.c     |   2 +-
>   .../source/components/debugger/dbinput.c      |   2 +-
>   .../source/components/debugger/dbmethod.c     |   2 +-
>   .../source/components/debugger/dbnames.c      |   5 +-
>   .../source/components/debugger/dbobject.c     |   2 +-
>   .../source/components/debugger/dbstats.c      |   2 +-
>   .../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      |   2 +-
>   .../source/components/disassembler/dmnames.c  |   2 +-
>   .../source/components/disassembler/dmopcode.c |   2 +-
>   .../source/components/disassembler/dmresrc.c  |   3 +-
>   .../source/components/disassembler/dmresrcl.c |   4 +-
>   .../components/disassembler/dmresrcl2.c       |  42 ++-
>   .../source/components/disassembler/dmresrcs.c |   2 +-
>   .../source/components/disassembler/dmutils.c  |   2 +-
>   .../source/components/disassembler/dmwalk.c   |   2 +-
>   .../source/components/dispatcher/dsargs.c     |   2 +-
>   .../source/components/dispatcher/dscontrol.c  |   2 +-
>   .../source/components/dispatcher/dsdebug.c    |   2 +-
>   .../source/components/dispatcher/dsfield.c    |   2 +-
>   .../source/components/dispatcher/dsinit.c     |   2 +-
>   .../source/components/dispatcher/dsmethod.c   |  12 +-
>   .../source/components/dispatcher/dsmthdat.c   |   2 +-
>   .../source/components/dispatcher/dsobject.c   |   2 +-
>   .../source/components/dispatcher/dsopcode.c   |   2 +-
>   .../source/components/dispatcher/dspkginit.c  |   2 +-
>   .../source/components/dispatcher/dsutils.c    |   2 +-
>   .../source/components/dispatcher/dswexec.c    |   8 +-
>   .../source/components/dispatcher/dswload.c    |   2 +-
>   .../source/components/dispatcher/dswload2.c   |   2 +-
>   .../source/components/dispatcher/dswscope.c   |   2 +-
>   .../source/components/dispatcher/dswstate.c   |  11 +-
>   src/acpica/source/components/events/evevent.c |   4 +-
>   src/acpica/source/components/events/evglock.c |   2 +-
>   src/acpica/source/components/events/evgpe.c   |   2 +-
>   .../source/components/events/evgpeblk.c       |   2 +-
>   .../source/components/events/evgpeinit.c      |   2 +-
>   .../source/components/events/evgpeutil.c      |   2 +-
>   .../source/components/events/evhandler.c      |   2 +-
>   src/acpica/source/components/events/evmisc.c  |   2 +-
>   .../source/components/events/evregion.c       |   2 +-
>   .../source/components/events/evrgnini.c       |   2 +-
>   src/acpica/source/components/events/evsci.c   |   2 +-
>   src/acpica/source/components/events/evxface.c |   2 +-
>   .../source/components/events/evxfevnt.c       |   2 +-
>   src/acpica/source/components/events/evxfgpe.c |   2 +-
>   .../source/components/events/evxfregn.c       | 103 ++++++-
>   .../source/components/executer/exconcat.c     |   2 +-
>   .../source/components/executer/exconfig.c     |   2 +-
>   .../source/components/executer/exconvrt.c     |   2 +-
>   .../source/components/executer/excreate.c     |   2 +-
>   .../source/components/executer/exdebug.c      |   2 +-
>   .../source/components/executer/exdump.c       |   2 +-
>   .../source/components/executer/exfield.c      |   2 +-
>   .../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     |   6 +-
>   .../source/components/executer/extrace.c      |   2 +-
>   .../source/components/executer/exutils.c      |   2 +-
>   .../source/components/hardware/hwacpi.c       |   2 +-
>   .../source/components/hardware/hwesleep.c     |   2 +-
>   src/acpica/source/components/hardware/hwgpe.c |   2 +-
>   src/acpica/source/components/hardware/hwpci.c |   2 +-
>   .../source/components/hardware/hwregs.c       |   2 +-
>   .../source/components/hardware/hwsleep.c      |  13 +-
>   .../source/components/hardware/hwvalid.c      |  10 +-
>   .../source/components/hardware/hwxface.c      |   2 +-
>   .../source/components/hardware/hwxfsleep.c    |   2 +-
>   .../source/components/namespace/nsaccess.c    |   2 +-
>   .../source/components/namespace/nsalloc.c     |   2 +-
>   .../source/components/namespace/nsarguments.c |   2 +-
>   .../source/components/namespace/nsconvert.c   |   2 +-
>   .../source/components/namespace/nsdump.c      |   2 +-
>   .../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    |  16 +-
>   .../source/components/namespace/nsrepair2.c   |  11 +-
>   .../source/components/namespace/nssearch.c    |   2 +-
>   .../source/components/namespace/nsutils.c     |   4 +-
>   .../source/components/namespace/nswalk.c      |   2 +-
>   .../source/components/namespace/nsxfeval.c    |   2 +-
>   .../source/components/namespace/nsxfname.c    |   4 +-
>   .../source/components/namespace/nsxfobj.c     |   2 +-
>   src/acpica/source/components/parser/psargs.c  |   2 +-
>   src/acpica/source/components/parser/psloop.c  |   2 +-
>   .../source/components/parser/psobject.c       |   2 +-
>   .../source/components/parser/psopcode.c       |   2 +-
>   .../source/components/parser/psopinfo.c       |   2 +-
>   src/acpica/source/components/parser/psparse.c |   2 +-
>   src/acpica/source/components/parser/psscope.c |   2 +-
>   src/acpica/source/components/parser/pstree.c  |   2 +-
>   src/acpica/source/components/parser/psutils.c |   2 +-
>   src/acpica/source/components/parser/pswalk.c  |   2 +-
>   src/acpica/source/components/parser/psxface.c |   2 +-
>   .../source/components/resources/rsaddr.c      |  14 +-
>   .../source/components/resources/rscalc.c      |  33 +-
>   .../source/components/resources/rscreate.c    |  10 +-
>   .../source/components/resources/rsdump.c      |   2 +-
>   .../source/components/resources/rsdumpinfo.c  |  21 +-
>   .../source/components/resources/rsinfo.c      |   7 +-
>   src/acpica/source/components/resources/rsio.c |   2 +-
>   .../source/components/resources/rsirq.c       |  14 +-
>   .../source/components/resources/rslist.c      |  11 +-
>   .../source/components/resources/rsmemory.c    |   2 +-
>   .../source/components/resources/rsmisc.c      |  11 +-
>   .../source/components/resources/rsserial.c    |  46 ++-
>   .../source/components/resources/rsutils.c     |   2 +-
>   .../source/components/resources/rsxface.c     |   2 +-
>   src/acpica/source/components/tables/tbdata.c  |   2 +-
>   src/acpica/source/components/tables/tbfadt.c  |   2 +-
>   src/acpica/source/components/tables/tbfind.c  |   2 +-
>   .../source/components/tables/tbinstal.c       |   2 +-
>   src/acpica/source/components/tables/tbprint.c |   3 +-
>   src/acpica/source/components/tables/tbutils.c |   7 +-
>   src/acpica/source/components/tables/tbxface.c |   2 +-
>   .../source/components/tables/tbxfload.c       |   2 +-
>   .../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    |   2 +-
>   .../source/components/utilities/utcache.c     |   2 +-
>   .../source/components/utilities/utcksum.c     |   4 +-
>   .../source/components/utilities/utcopy.c      |   2 +-
>   .../source/components/utilities/utdebug.c     |   2 +-
>   .../source/components/utilities/utdecode.c    |   2 +-
>   .../source/components/utilities/utdelete.c    |   2 +-
>   .../source/components/utilities/uterror.c     |   2 +-
>   .../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       |   2 +-
>   .../source/components/utilities/utownerid.c   |   2 +-
>   .../source/components/utilities/utpredef.c    |   2 +-
>   .../source/components/utilities/utresdecode.c |  15 +-
>   .../source/components/utilities/utresrc.c     |  16 +-
>   .../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     |   2 +-
>   .../source/components/utilities/utuuid.c      |   2 +-
>   .../source/components/utilities/utxface.c     |   2 +-
>   .../source/components/utilities/utxferror.c   |   2 +-
>   .../source/components/utilities/utxfinit.c    |   2 +-
>   src/acpica/source/include/acapps.h            |   4 +-
>   src/acpica/source/include/acbuffer.h          |   2 +-
>   src/acpica/source/include/accommon.h          |   2 +-
>   src/acpica/source/include/acconfig.h          |   2 +-
>   src/acpica/source/include/acconvert.h         |   2 +-
>   src/acpica/source/include/acdebug.h           |   2 +-
>   src/acpica/source/include/acdisasm.h          |  45 ++-
>   src/acpica/source/include/acdispat.h          |   2 +-
>   src/acpica/source/include/acevents.h          |   2 +-
>   src/acpica/source/include/acexcep.h           |   2 +-
>   src/acpica/source/include/acglobal.h          |   2 +-
>   src/acpica/source/include/achware.h           |   2 +-
>   src/acpica/source/include/acinterp.h          |   2 +-
>   src/acpica/source/include/aclocal.h           |   5 +-
>   src/acpica/source/include/acmacros.h          |   2 +-
>   src/acpica/source/include/acnames.h           |   2 +-
>   src/acpica/source/include/acnamesp.h          |   2 +-
>   src/acpica/source/include/acobject.h          |   2 +-
>   src/acpica/source/include/acopcode.h          |   2 +-
>   src/acpica/source/include/acoutput.h          |   2 +-
>   src/acpica/source/include/acparser.h          |   2 +-
>   src/acpica/source/include/acpi.h              |   2 +-
>   src/acpica/source/include/acpiosxf.h          |   2 +-
>   src/acpica/source/include/acpixf.h            |  21 +-
>   src/acpica/source/include/acpredef.h          |   2 +-
>   src/acpica/source/include/acresrc.h           |   4 +-
>   src/acpica/source/include/acrestyp.h          |  41 ++-
>   src/acpica/source/include/acstruct.h          |   2 +-
>   src/acpica/source/include/actables.h          |   2 +-
>   src/acpica/source/include/actbinfo.h          |  21 +-
>   src/acpica/source/include/actbl.h             |   2 +-
>   src/acpica/source/include/actbl1.h            |  97 +++++-
>   src/acpica/source/include/actbl2.h            | 244 +++++++++++++--
>   src/acpica/source/include/actbl3.h            |   2 +-
>   src/acpica/source/include/actypes.h           |   8 +-
>   src/acpica/source/include/acutils.h           |   4 +-
>   src/acpica/source/include/acuuid.h            |   2 +-
>   src/acpica/source/include/amlcode.h           |   2 +-
>   src/acpica/source/include/amlresrc.h          |  27 +-
>   src/acpica/source/include/platform/acenv.h    |   4 +-
>   src/acpica/source/include/platform/acenvex.h  |   2 +-
>   src/acpica/source/include/platform/acgcc.h    |  13 +-
>   src/acpica/source/include/platform/acgccex.h  |   2 +-
>   src/acpica/source/include/platform/aclinux.h  |   5 +-
>   .../source/include/platform/aclinuxex.h       |   2 +-
>   .../os_specific/service_layers/osunixxf.c     |   2 +-
>   src/acpica/source/tools/acpiexec/aecommon.h   |   2 +-
>   .../source/tools/acpiexec/aeexception.c       |   2 +-
>   src/acpica/source/tools/acpiexec/aehandlers.c |   2 +-
>   src/acpica/source/tools/acpiexec/aeinitfile.c |   2 +-
>   src/acpica/source/tools/acpiexec/aeinstall.c  |   2 +-
>   src/acpica/source/tools/acpiexec/aeregion.c   |   2 +-
>   361 files changed, 2735 insertions(+), 553 deletions(-)
> 
> diff --git a/src/acpica/source/common/acfileio.c b/src/acpica/source/common/acfileio.c
> index 77f7337a..a9118f61 100644
> --- a/src/acpica/source/common/acfileio.c
> +++ b/src/acpica/source/common/acfileio.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/common/acgetline.c b/src/acpica/source/common/acgetline.c
> index e5d0bf56..b2649927 100644
> --- a/src/acpica/source/common/acgetline.c
> +++ b/src/acpica/source/common/acgetline.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/common/adfile.c b/src/acpica/source/common/adfile.c
> index 647333d9..8bca7273 100644
> --- a/src/acpica/source/common/adfile.c
> +++ b/src/acpica/source/common/adfile.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/common/adisasm.c b/src/acpica/source/common/adisasm.c
> index 49338e74..ccb98bfe 100644
> --- a/src/acpica/source/common/adisasm.c
> +++ b/src/acpica/source/common/adisasm.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -789,6 +789,7 @@ AdDoExternalFileList (
>               AcpiDmFinishNamespaceLoad (AcpiGbl_ParseOpRoot,
>                   AcpiGbl_RootNode, OwnerId);
>               AcpiPsDeleteParseTree (AcpiGbl_ParseOpRoot);
> +            AcpiGbl_ParseOpRoot = NULL;
>   
>               ExternalListHead = ExternalListHead->Next;
>           }
> diff --git a/src/acpica/source/common/adwalk.c b/src/acpica/source/common/adwalk.c
> index 6d51c7e1..f810abaf 100644
> --- a/src/acpica/source/common/adwalk.c
> +++ b/src/acpica/source/common/adwalk.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/common/ahids.c b/src/acpica/source/common/ahids.c
> index 05c31bf5..8930dc64 100644
> --- a/src/acpica/source/common/ahids.c
> +++ b/src/acpica/source/common/ahids.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/common/ahpredef.c b/src/acpica/source/common/ahpredef.c
> index 724abe6a..f4080587 100644
> --- a/src/acpica/source/common/ahpredef.c
> +++ b/src/acpica/source/common/ahpredef.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/common/ahtable.c b/src/acpica/source/common/ahtable.c
> index 418621b6..6013b941 100644
> --- a/src/acpica/source/common/ahtable.c
> +++ b/src/acpica/source/common/ahtable.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -202,6 +202,7 @@ const AH_TABLE      AcpiGbl_SupportedTables[] =
>       {ACPI_SIG_AEST, "Arm Error Source Table"},
>       {ACPI_SIG_AGDI, "Arm Generic Diagnostic Dump and Reset Device Interface Table"},
>       {ACPI_SIG_ASF,  "Alert Standard Format Table"},
> +    {ACPI_SIG_ASPT, "AMD Secure Processor Table"},
>       {ACPI_SIG_BDAT, "BIOS Data ACPI Table"},
>       {ACPI_SIG_BERT, "Boot Error Record Table"},
>       {ACPI_SIG_BGRT, "Boot Graphics Resource Table"},
> @@ -232,6 +233,7 @@ const AH_TABLE      AcpiGbl_SupportedTables[] =
>       {ACPI_SIG_MADT, "Multiple APIC Description Table (MADT)"},
>       {ACPI_SIG_MCFG, "Memory Mapped Configuration Table"},
>       {ACPI_SIG_MCHI, "Management Controller Host Interface Table"},
> +    {ACPI_SIG_MPAM, "Memory System Resource Partitioning and Monitoring Table"},
>       {ACPI_SIG_MPST, "Memory Power State Table"},
>       {ACPI_SIG_MSCT, "Maximum System Characteristics Table"},
>       {ACPI_SIG_MSDM, "Microsoft Data Management Table"},
> @@ -244,6 +246,7 @@ const AH_TABLE      AcpiGbl_SupportedTables[] =
>       {ACPI_SIG_PPTT, "Processor Properties Topology Table"},
>       {ACPI_SIG_PRMT, "Platform Runtime Mechanism Table"},
>       {ACPI_SIG_RASF, "RAS Features Table"},
> +    {ACPI_SIG_RHCT, "RISC-V Hart Capabilities Table"},
>       {ACPI_SIG_RGRT, "Regulatory Graphics Resource Table"},
>       {ACPI_RSDP_NAME,"Root System Description Pointer"},
>       {ACPI_SIG_RSDT, "Root System Description Table"},
> diff --git a/src/acpica/source/common/ahuuids.c b/src/acpica/source/common/ahuuids.c
> index dcf0c4bb..219f0e8e 100644
> --- a/src/acpica/source/common/ahuuids.c
> +++ b/src/acpica/source/common/ahuuids.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/common/cmfsize.c b/src/acpica/source/common/cmfsize.c
> index 474ccd95..e303b765 100644
> --- a/src/acpica/source/common/cmfsize.c
> +++ b/src/acpica/source/common/cmfsize.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/common/dmextern.c b/src/acpica/source/common/dmextern.c
> index 806daa33..6827d5e5 100644
> --- a/src/acpica/source/common/dmextern.c
> +++ b/src/acpica/source/common/dmextern.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -1493,7 +1493,6 @@ AcpiDmMarkExternalConflict (
>       ACPI_EXTERNAL_LIST      *ExternalList = AcpiGbl_ExternalList;
>       char                    *ExternalPath;
>       char                    *InternalPath;
> -    char                    *Temp;
>       ACPI_STATUS             Status;
>   
>   
> @@ -1526,13 +1525,6 @@ AcpiDmMarkExternalConflict (
>   
>       while (ExternalList)
>       {
> -        Temp = ExternalList->InternalPath;
> -        if ((*ExternalList->InternalPath == AML_ROOT_PREFIX) &&
> -            (ExternalList->InternalPath[1]))
> -        {
> -            Temp++;
> -        }
> -
>           if (!strcmp (ExternalList->InternalPath, InternalPath))
>           {
>               ExternalList->Flags |= ACPI_EXT_CONFLICTING_DECLARATION;
> diff --git a/src/acpica/source/common/dmrestag.c b/src/acpica/source/common/dmrestag.c
> index b6772984..afacf6f7 100644
> --- a/src/acpica/source/common/dmrestag.c
> +++ b/src/acpica/source/common/dmrestag.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -480,6 +480,14 @@ static const ACPI_RESOURCE_TAG      AcpiDmIoFlagTags[] =
>       {0,             NULL}
>   };
>   
> +/* Subtype tables for ClockInput descriptor */
> +
> +static const ACPI_RESOURCE_TAG      AcpiDmClockInputTags[] =
> +{
> +    {( 6 * 8),      ACPI_RESTAG_FQD},
> +    {( 8 * 8),      ACPI_RESTAG_FQN},
> +    {0,             NULL}
> +};
>   
>   /*
>    * Dispatch table used to obtain the correct tag table for a descriptor.
> @@ -531,6 +539,7 @@ static const ACPI_RESOURCE_TAG      *AcpiGbl_ResourceTags[] =
>       NULL,                           /* 0x10, ACPI_RESOURCE_NAME_PIN_GROUP */
>       AcpiDmPinGroupFunctionTags,     /* 0x11, ACPI_RESOURCE_NAME_PIN_GROUP_FUNCTION */
>       AcpiDmPinConfigTags,            /* 0x12, ACPI_RESOURCE_NAME_PIN_GROUP_CONFIG - Same as PinConfig */
> +    AcpiDmClockInputTags,           /* 0x13, ACPI_RESOURCE_NAME_CLOCK_INPUT */
>   };
>   
>   /* GPIO Subtypes */
> diff --git a/src/acpica/source/common/dmswitch.c b/src/acpica/source/common/dmswitch.c
> index 4a434736..c6e9f8b0 100644
> --- a/src/acpica/source/common/dmswitch.c
> +++ b/src/acpica/source/common/dmswitch.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/common/dmtable.c b/src/acpica/source/common/dmtable.c
> index 9b95ecc7..31ca7390 100644
> --- a/src/acpica/source/common/dmtable.c
> +++ b/src/acpica/source/common/dmtable.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -234,6 +234,14 @@ static const char           *AcpiDmAsfSubnames[] =
>       "Unknown Subtable Type"         /* Reserved */
>   };
>   
> +static const char           *AcpiDmAsptSubnames[] =
> +{
> +    "ASPT Global Registers",
> +    "ASPT SEV Mailbox Registers",
> +    "ASPT ACPI Mailbox Registers",
> +    "Unknown Subtable Type"         /* Reserved */
> +};
> +
>   static const char           *AcpiDmCdatSubnames[] =
>   {
>       "Device Scoped Memory Affinity Structure (DSMAS)",
> @@ -421,10 +429,22 @@ static const char           *AcpiDmMadtSubnames[] =
>       "MSI Interrupt Controller",         /* ACPI_MADT_TYPE_MSI_PIC */
>       "Bridge I/O Interrupt Controller",  /* ACPI_MADT_TYPE_BIO_PIC */
>       "LPC Interrupt Controller",         /* ACPI_MADT_TYPE_LPC_PIC */
> +    "RISC-V Interrupt Controller",      /* ACPI_MADT_TYPE_RINTC */
>       "Unknown Subtable Type",            /* Reserved */
>       "Types 80-FF are used for OEM data" /* Reserved for OEM data */
>   };
>   
> +static const char           *AcpiDmMpamSubnames[] =
> +{
> +    "Processor cache",      /* ACPI_MPAM_LOCATION_TYPE_PROCESSOR_CACHE */
> +    "Memory",               /* ACPI_MPAM_LOCATION_TYPE_MEMORY */
> +    "SMMU",                 /* ACPI_MPAM_LOCATION_TYPE_SMMU */
> +    "Memory-side cache",    /* ACPI_MPAM_LOCATION_TYPE_MEMORY_CACHE */
> +    "ACPI device",          /* ACPI_MPAM_LOCATION_TYPE_ACPI_DEVICE */
> +    "Interconnect",         /* ACPI_MPAM_LOCATION_TYPE_INTERCONNECT */
> +    "Unknown"               /* ACPI_MPAM_LOCATION_TYPE_UNKNOWN */
> +};
> +
>   static const char           *AcpiDmNfitSubnames[] =
>   {
>       "System Physical Address Range",    /* ACPI_NFIT_TYPE_SYSTEM_ADDRESS */
> @@ -672,6 +692,7 @@ const ACPI_DMTABLE_DATA     AcpiDmTableData[] =
>       {ACPI_SIG_AGDI, AcpiDmTableInfoAgdi,    NULL,           NULL,           TemplateAgdi},
>       {ACPI_SIG_APMT, NULL,                   AcpiDmDumpApmt, DtCompileApmt,  TemplateApmt},
>       {ACPI_SIG_ASF,  NULL,                   AcpiDmDumpAsf,  DtCompileAsf,   TemplateAsf},
> +    {ACPI_SIG_ASPT, NULL,                   AcpiDmDumpAspt, DtCompileAspt,  TemplateAspt},
>       {ACPI_SIG_BDAT, AcpiDmTableInfoBdat,    NULL,           NULL,           TemplateBdat},
>       {ACPI_SIG_BERT, AcpiDmTableInfoBert,    NULL,           NULL,           TemplateBert},
>       {ACPI_SIG_BGRT, AcpiDmTableInfoBgrt,    NULL,           NULL,           TemplateBgrt},
> @@ -700,6 +721,7 @@ const ACPI_DMTABLE_DATA     AcpiDmTableData[] =
>       {ACPI_SIG_MADT, NULL,                   AcpiDmDumpMadt, DtCompileMadt,  TemplateMadt},
>       {ACPI_SIG_MCFG, NULL,                   AcpiDmDumpMcfg, DtCompileMcfg,  TemplateMcfg},
>       {ACPI_SIG_MCHI, AcpiDmTableInfoMchi,    NULL,           NULL,           TemplateMchi},
> +    {ACPI_SIG_MPAM, NULL,                   AcpiDmDumpMpam, DtCompileMpam,  TemplateMpam},
>       {ACPI_SIG_MPST, AcpiDmTableInfoMpst,    AcpiDmDumpMpst, DtCompileMpst,  TemplateMpst},
>       {ACPI_SIG_MSCT, NULL,                   AcpiDmDumpMsct, DtCompileMsct,  TemplateMsct},
>       {ACPI_SIG_MSDM, NULL,                   AcpiDmDumpSlic, DtCompileSlic,  TemplateMsdm},
> @@ -713,6 +735,7 @@ const ACPI_DMTABLE_DATA     AcpiDmTableData[] =
>       {ACPI_SIG_PRMT, NULL,                   AcpiDmDumpPrmt, DtCompilePrmt,  TemplatePrmt},
>       {ACPI_SIG_RASF, AcpiDmTableInfoRasf,    NULL,           NULL,           TemplateRasf},
>       {ACPI_SIG_RGRT, NULL,                   AcpiDmDumpRgrt, DtCompileRgrt,  TemplateRgrt},
> +    {ACPI_SIG_RHCT, NULL,                   AcpiDmDumpRhct, DtCompileRhct,  TemplateRhct},
>       {ACPI_SIG_RSDT, NULL,                   AcpiDmDumpRsdt, DtCompileRsdt,  TemplateRsdt},
>       {ACPI_SIG_S3PT, NULL,                   NULL,           NULL,           TemplateS3pt},
>       {ACPI_SIG_SBST, AcpiDmTableInfoSbst,    NULL,           NULL,           TemplateSbst},
> @@ -1128,6 +1151,7 @@ AcpiDmDumpTable (
>           case ACPI_DMT_IVRS_DE:
>           case ACPI_DMT_GTDT:
>           case ACPI_DMT_MADT:
> +        case ACPI_DMT_MPAM_LOCATOR:
>           case ACPI_DMT_NHLT1:
>           case ACPI_DMT_NHLT1a:
>           case ACPI_DMT_NHLT1b:
> @@ -1158,6 +1182,7 @@ AcpiDmDumpTable (
>               ByteLength = 1;
>               break;
>   
> +        case ACPI_DMT_ASPT:
>           case ACPI_DMT_UINT16:
>           case ACPI_DMT_DMAR:
>           case ACPI_DMT_HEST:
> @@ -1375,7 +1400,7 @@ AcpiDmDumpTable (
>               AcpiOsPrintf ("%2.2X\n", (*Target >> 2) & 0xFF);
>               break;
>   
> -	case ACPI_DMT_FLAGS4:
> +        case ACPI_DMT_FLAGS4:
>   
>               AcpiOsPrintf ("%1.1X\n", (*Target >> 4) & 0x03);
>               break;
> @@ -1661,6 +1686,17 @@ AcpiDmDumpTable (
>                   AcpiDmAestXruptNames[Temp8]);
>               break;
>   
> +        case ACPI_DMT_ASPT:
> +            /* ASPT subtable types */
> +            Temp16 = ACPI_GET16(Target);
> +            if (Temp16 > ACPI_ASPT_TYPE_UNKNOWN)
> +            {
> +                Temp16 = ACPI_ASPT_TYPE_UNKNOWN;
> +            }
> +
> +            AcpiOsPrintf(UINT16_FORMAT, Temp16, AcpiDmAsptSubnames[Temp16]);
> +            break;
> +
>           case ACPI_DMT_ASF:
>   
>               /* ASF subtable types */
> @@ -1890,6 +1926,20 @@ AcpiDmDumpTable (
>                   AcpiDmMadtSubnames[Temp8]);
>               break;
>   
> +        case ACPI_DMT_MPAM_LOCATOR:
> +
> +            /* MPAM subtable locator types */
> +
> +            Temp8 = *Target;
> +            if (Temp8 > ACPI_MPAM_LOCATION_TYPE_INTERCONNECT)
> +            {
> +                Temp8 = ACPI_MPAM_LOCATION_TYPE_INTERCONNECT + 1;
> +            }
> +
> +            AcpiOsPrintf (UINT8_FORMAT, *Target,
> +                AcpiDmMpamSubnames[Temp8]);
> +            break;
> +
>           case ACPI_DMT_NFIT:
>   
>               /* NFIT subtable types */
> diff --git a/src/acpica/source/common/dmtables.c b/src/acpica/source/common/dmtables.c
> index 7ade7868..c474a8c9 100644
> --- a/src/acpica/source/common/dmtables.c
> +++ b/src/acpica/source/common/dmtables.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/common/dmtbdump.c b/src/acpica/source/common/dmtbdump.c
> index dc1745d5..c4046b8e 100644
> --- a/src/acpica/source/common/dmtbdump.c
> +++ b/src/acpica/source/common/dmtbdump.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/common/dmtbdump1.c b/src/acpica/source/common/dmtbdump1.c
> index ae5f0f86..0dee045a 100644
> --- a/src/acpica/source/common/dmtbdump1.c
> +++ b/src/acpica/source/common/dmtbdump1.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -609,6 +609,95 @@ AcpiDmDumpAsf (
>       }
>   }
>   
> +/*******************************************************************************
> + *
> + * FUNCTION:    AcpiDmDumpAspt
> + *
> + * PARAMETERS:  Table               - A ASPT table
> + *
> + * RETURN:      None
> + *
> + * DESCRIPTION: Format the contents of a ASPT table
> + *
> + ******************************************************************************/
> +
> +void
> +AcpiDmDumpAspt (
> +    ACPI_TABLE_HEADER       *Table)
> +{
> +    ACPI_STATUS             Status;
> +    UINT32                  Offset = sizeof (ACPI_TABLE_ASPT);
> +    UINT32                  Length = Table->Length;
> +    ACPI_ASPT_HEADER        *Subtable;
> +    ACPI_DMTABLE_INFO       *InfoTable;
> +    UINT16                   Type;
> +
> +    /* Main table */
> +    Status = AcpiDmDumpTable(Length, 0, Table, 0, AcpiDmTableInfoAspt);
> +
> +    /* Subtables */
> +
> +    Subtable = ACPI_ADD_PTR (ACPI_ASPT_HEADER, Table, Offset);
> +    while (Offset < Table->Length)
> +    {
> +        AcpiOsPrintf ("\n");
> +
> +        /* Common subtable header */
> +        Status = AcpiDmDumpTable (Table->Length, Offset, Subtable,
> +            Subtable->Length, AcpiDmTableInfoAsptHdr);
> +        if (ACPI_FAILURE (Status))
> +        {
> +            return;
> +        }
> +
> +        Type = Subtable->Type;
> +
> +        switch (Type)
> +        {
> +        case ACPI_ASPT_TYPE_GLOBAL_REGS:
> +
> +            InfoTable = AcpiDmTableInfoAspt0;
> +            break;
> +
> +        case ACPI_ASPT_TYPE_SEV_MBOX_REGS:
> +
> +            InfoTable = AcpiDmTableInfoAspt1;
> +            break;
> +
> +        case ACPI_ASPT_TYPE_ACPI_MBOX_REGS:
> +
> +            InfoTable = AcpiDmTableInfoAspt2;
> +            break;
> +
> +        default:
> +
> +            AcpiOsPrintf ("\n**** Unknown ASPT subtable type 0x%X\n",
> +                Subtable->Type);
> +            return;
> +        }
> +
> +        Status = AcpiDmDumpTable (Table->Length, Offset, Subtable,
> +            Subtable->Length, InfoTable);
> +        if (ACPI_FAILURE (Status))
> +        {
> +            return;
> +        }
> +
> +        AcpiOsPrintf ("\n");
> +
> +        /* Point to next subtable */
> +        if (!Subtable->Length)
> +        {
> +            AcpiOsPrintf ("Invalid zero subtable header length\n");
> +            return;
> +        }
> +
> +        Offset += Subtable->Length;
> +        Subtable = ACPI_ADD_PTR (ACPI_ASPT_HEADER, Subtable,
> +            Subtable->Length);
> +    }
> +}
> +
>   
>   /*******************************************************************************
>    *
> @@ -2030,7 +2119,7 @@ AcpiDmDumpHmat (
>               return;
>           }
>   
> -        /* Dump HMAT structure additionals */
> +        /* Dump HMAT structure additional */
>   
>           switch (HmatStruct->Type)
>           {
> diff --git a/src/acpica/source/common/dmtbdump2.c b/src/acpica/source/common/dmtbdump2.c
> index 3fb4d531..e9c5dbfd 100644
> --- a/src/acpica/source/common/dmtbdump2.c
> +++ b/src/acpica/source/common/dmtbdump2.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -1129,6 +1129,124 @@ AcpiDmDumpMcfg (
>       }
>   }
>   
> +/*******************************************************************************
> + *
> + * FUNCTION:    AcpiDmDumpMpam
> + *
> + * PARAMETERS:  Table               - A MPAM table
> + *
> + * RETURN:      None
> + *
> + * DESCRIPTION: Format the contents of a MPAM table
> + *
> + ******************************************************************************/
> +
> +void
> +AcpiDmDumpMpam (
> +    ACPI_TABLE_HEADER          *Table)
> +{
> +    ACPI_STATUS                Status;
> +    ACPI_MPAM_MSC_NODE         *MpamMscNode;
> +    ACPI_MPAM_RESOURCE_NODE    *MpamResourceNode;
> +    ACPI_DMTABLE_INFO          *InfoTable;
> +    UINT32                     Offset = sizeof(ACPI_TABLE_HEADER);
> +    UINT32                     MpamResourceNodeLength = 0;
> +
> +    while (Offset < Table->Length)
> +    {
> +        MpamMscNode = ACPI_ADD_PTR (ACPI_MPAM_MSC_NODE, Table, Offset);
> +
> +        /* Subtable: MSC */
> +        Status = AcpiDmDumpTable (MpamMscNode->Length, 0, MpamMscNode, 0,
> +            AcpiDmTableInfoMpam0);
> +        if (ACPI_FAILURE (Status))
> +        {
> +            return;
> +        }
> +
> +        /* Offset the start of the array of resources */
> +        Offset += sizeof(ACPI_MPAM_MSC_NODE);
> +
> +        /* Subtable: MSC RIS(es) */
> +        for (UINT32 ResourceIdx = 0; ResourceIdx < MpamMscNode->NumResouceNodes; ResourceIdx++)
> +        {
> +            MpamResourceNode = ACPI_ADD_PTR (ACPI_MPAM_RESOURCE_NODE, Table, Offset);
> +
> +            MpamResourceNodeLength = sizeof(ACPI_MPAM_RESOURCE_NODE) +
> +                MpamResourceNode->NumFunctionalDeps * sizeof(ACPI_MPAM_FUNC_DEPS);
> +
> +            Offset += MpamResourceNodeLength;
> +
> +            /* Subtable: MSC RIS */
> +            Status = AcpiDmDumpTable (MpamResourceNodeLength, 0, MpamResourceNode, 0,
> +                AcpiDmTableInfoMpam1);
> +            if (ACPI_FAILURE (Status))
> +            {
> +                return;
> +            }
> +
> +            switch (MpamResourceNode->LocatorType)
> +            {
> +                case ACPI_MPAM_LOCATION_TYPE_PROCESSOR_CACHE:
> +                    InfoTable = AcpiDmTableInfoMpam1A;
> +                    break;
> +                case ACPI_MPAM_LOCATION_TYPE_MEMORY:
> +                    InfoTable = AcpiDmTableInfoMpam1B;
> +                    break;
> +                case ACPI_MPAM_LOCATION_TYPE_SMMU:
> +                    InfoTable = AcpiDmTableInfoMpam1C;
> +                    break;
> +                case ACPI_MPAM_LOCATION_TYPE_MEMORY_CACHE:
> +                    InfoTable = AcpiDmTableInfoMpam1D;
> +                    break;
> +                case ACPI_MPAM_LOCATION_TYPE_ACPI_DEVICE:
> +                    InfoTable = AcpiDmTableInfoMpam1E;
> +                    break;
> +                case ACPI_MPAM_LOCATION_TYPE_INTERCONNECT:
> +                    InfoTable = AcpiDmTableInfoMpam1F;
> +                    break;
> +                case ACPI_MPAM_LOCATION_TYPE_UNKNOWN:
> +                    InfoTable = AcpiDmTableInfoMpam1G;
> +                default:
> +                    AcpiOsPrintf ("\n**** Unknown MPAM locator type 0x%X\n",
> +                        MpamResourceNode->LocatorType);
> +                    return;
> +            }
> +
> +            /* Subtable: MSC Resource Locator(s) */
> +            Status = AcpiDmDumpTable (sizeof(ACPI_MPAM_RESOURCE_LOCATOR), 0,
> +                &MpamResourceNode->Locator, 0, InfoTable);
> +            if (ACPI_FAILURE (Status))
> +            {
> +                return;
> +            }
> +
> +            /* Get the number of functional dependencies of an RIS */
> +            Status = AcpiDmDumpTable (sizeof(UINT32), 0, &MpamResourceNode->NumFunctionalDeps, 0,
> +                AcpiDmTableInfoMpam1Deps);
> +            if (ACPI_FAILURE (Status))
> +            {
> +                return;
> +            }
> +
> +            /* Subtable: MSC functional dependencies */
> +            for (UINT32 funcDep = 0; funcDep < MpamResourceNode->NumFunctionalDeps; funcDep++)
> +            {
> +                Status = AcpiDmDumpTable (sizeof(ACPI_MPAM_FUNC_DEPS), 0,
> +                    &MpamResourceNode->NumFunctionalDeps, 0, AcpiDmTableInfoMpam2);
> +                if (ACPI_FAILURE (Status))
> +                {
> +                    return;
> +                }
> +            }
> +
> +            AcpiOsPrintf ("\n\n");
> +        }
> +
> +    }
> +
> +    return;
> +}
>   
>   /*******************************************************************************
>    *
> @@ -1420,7 +1538,7 @@ AcpiDmDumpNfit (
>               /* Has a variable number of 64-bit addresses at the end */
>   
>               InfoTable = AcpiDmTableInfoNfit6;
> -            FieldOffset = sizeof (ACPI_NFIT_FLUSH_ADDRESS) - sizeof (UINT64);
> +            FieldOffset = sizeof (ACPI_NFIT_FLUSH_ADDRESS);
>               break;
>   
>           case ACPI_NFIT_TYPE_CAPABILITIES:    /* ACPI 6.0A */
> @@ -1474,12 +1592,12 @@ AcpiDmDumpNfit (
>           case ACPI_NFIT_TYPE_SMBIOS:
>   
>               Length = Subtable->Length -
> -                sizeof (ACPI_NFIT_SMBIOS) + sizeof (UINT8);
> +                sizeof (ACPI_NFIT_SMBIOS);
>   
>               if (Length)
>               {
>                   Status = AcpiDmDumpTable (Table->Length,
> -                    sizeof (ACPI_NFIT_SMBIOS) - sizeof (UINT8),
> +                    sizeof (ACPI_NFIT_SMBIOS),
>                       SmbiosInfo,
>                       Length, AcpiDmTableInfoNfit3a);
>                   if (ACPI_FAILURE (Status))
> @@ -2627,6 +2745,122 @@ AcpiDmDumpRgrt (
>   }
>   
>   
> +/*******************************************************************************
> + *
> + * FUNCTION:    AcpiDmDumpRhct
> + *
> + * PARAMETERS:  Table               - A RHCT table
> + *
> + * RETURN:      None
> + *
> + * DESCRIPTION: Format the contents of a RHCT.
> + *
> + ******************************************************************************/
> +
> +void
> +AcpiDmDumpRhct (
> +    ACPI_TABLE_HEADER       *Table)
> +{
> +    ACPI_STATUS             Status;
> +    ACPI_RHCT_NODE_HEADER   *Subtable;
> +    ACPI_RHCT_HART_INFO     *RhctHartInfo;
> +    ACPI_RHCT_ISA_STRING    *RhctIsaString;
> +    UINT32                  Length = Table->Length;
> +    UINT8                   SubtableOffset, IsaPadOffset;
> +    UINT32                  Offset = sizeof (ACPI_TABLE_RHCT);
> +    UINT32                  i;
> +
> +    /* Main table */
> +
> +    Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoRhct);
> +    if (ACPI_FAILURE (Status))
> +    {
> +        return;
> +    }
> +
> +    /* Subtables */
> +
> +    while (Offset < Table->Length)
> +    {
> +        AcpiOsPrintf ("\n");
> +
> +        /* Common subtable header */
> +
> +        Subtable = ACPI_ADD_PTR (ACPI_RHCT_NODE_HEADER, Table, Offset);
> +        if (Subtable->Length < sizeof (ACPI_RHCT_NODE_HEADER))
> +        {
> +            AcpiOsPrintf ("Invalid subtable length\n");
> +            return;
> +        }
> +        Status = AcpiDmDumpTable (Table->Length, Offset, Subtable,
> +            Subtable->Length, AcpiDmTableInfoRhctNodeHdr);
> +        if (ACPI_FAILURE (Status))
> +        {
> +            return;
> +        }
> +
> +        Length = sizeof (ACPI_RHCT_NODE_HEADER);
> +
> +        if (Subtable->Length < Length)
> +        {
> +            AcpiOsPrintf ("Invalid subtable length\n");
> +            return;
> +        }
> +        SubtableOffset = (UINT8) Length;
> +
> +        switch (Subtable->Type)
> +        {
> +        case ACPI_RHCT_NODE_TYPE_HART_INFO:
> +            Status = AcpiDmDumpTable (Table->Length, Offset + SubtableOffset,
> +                    ACPI_ADD_PTR (ACPI_RHCT_HART_INFO, Subtable, SubtableOffset),
> +                    sizeof (ACPI_RHCT_HART_INFO), AcpiDmTableInfoRhctHartInfo1);
> +
> +            RhctHartInfo = ACPI_ADD_PTR (ACPI_RHCT_HART_INFO, Subtable, SubtableOffset);
> +
> +            if ((UINT16)(Subtable->Length - SubtableOffset) <
> +                (UINT16)(RhctHartInfo->NumOffsets * 4))
> +            {
> +                AcpiOsPrintf ("Invalid number of offsets\n");
> +                return;
> +            }
> +            SubtableOffset += sizeof (ACPI_RHCT_HART_INFO);
> +            for (i = 0; i < RhctHartInfo->NumOffsets; i++)
> +            {
> +                Status = AcpiDmDumpTable (Table->Length, Offset + SubtableOffset,
> +                    ACPI_ADD_PTR (UINT32, Subtable, SubtableOffset),
> +                    4, AcpiDmTableInfoRhctHartInfo2);
> +                if (ACPI_FAILURE (Status))
> +                {
> +                    return;
> +                }
> +
> +                SubtableOffset += 4;
> +            }
> +            break;
> +
> +        case ACPI_RHCT_NODE_TYPE_ISA_STRING:
> +            RhctIsaString = ACPI_ADD_PTR (ACPI_RHCT_ISA_STRING, Subtable, SubtableOffset);
> +            IsaPadOffset = (UINT8) (SubtableOffset + 2 + RhctIsaString->IsaLength);
> +            Status = AcpiDmDumpTable (Table->Length, Offset + SubtableOffset,
> +                    RhctIsaString, RhctIsaString->IsaLength, AcpiDmTableInfoRhctIsa1);
> +            if (Subtable->Length > IsaPadOffset)
> +            {
> +                Status = AcpiDmDumpTable (Table->Length, Offset + SubtableOffset,
> +                         ACPI_ADD_PTR (UINT8, Subtable, IsaPadOffset),
> +                         (Subtable->Length - IsaPadOffset), AcpiDmTableInfoRhctIsaPad);
> +            }
> +
> +        default:
> +            break;
> +        }
> +
> +        /* Point to next subtable */
> +
> +        Offset += Subtable->Length;
> +    }
> +}
> +
> +
>   /*******************************************************************************
>    *
>    * FUNCTION:    AcpiDmDumpS3pt
> diff --git a/src/acpica/source/common/dmtbdump3.c b/src/acpica/source/common/dmtbdump3.c
> index cbcd9e7f..8ac16cee 100644
> --- a/src/acpica/source/common/dmtbdump3.c
> +++ b/src/acpica/source/common/dmtbdump3.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/common/dmtbinfo.c b/src/acpica/source/common/dmtbinfo.c
> index 40539969..717e7df9 100644
> --- a/src/acpica/source/common/dmtbinfo.c
> +++ b/src/acpica/source/common/dmtbinfo.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/common/dmtbinfo1.c b/src/acpica/source/common/dmtbinfo1.c
> index 9afed4d6..e4632085 100644
> --- a/src/acpica/source/common/dmtbinfo1.c
> +++ b/src/acpica/source/common/dmtbinfo1.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -433,6 +433,57 @@ ACPI_DMTABLE_INFO           AcpiDmTableInfoAsf4[] =
>   };
>   
>   
> +/*******************************************************************************
> + *
> + * ASPT - AMD Secure Processor table (Signature "ASPT")
> + *
> + ******************************************************************************/
> +
> +ACPI_DMTABLE_INFO           AcpiDmTableInfoAspt[] =
> +{
> +    {ACPI_DMT_UINT32,   ACPI_ASPT_OFFSET(NumEntries),               "Number of Subtables", 0},
> +    ACPI_DMT_TERMINATOR
> +};
> +
> +/* Common Subtable header (one per Subtable) */
> +ACPI_DMTABLE_INFO           AcpiDmTableInfoAsptHdr[] =
> +{
> +    {ACPI_DMT_ASPT,     ACPI_ASPTH_OFFSET(Type),                    "Type", 0},
> +    {ACPI_DMT_UINT16,   ACPI_ASPTH_OFFSET(Length),                  "Length", 0},
> +    ACPI_DMT_TERMINATOR
> +};
> +
> +/* 0: ASPT Global Registers */
> +ACPI_DMTABLE_INFO AcpiDmTableInfoAspt0[] =
> +{
> +    {ACPI_DMT_UINT32,   ACPI_ASPT0_OFFSET(Reserved),                "Reserved", 0},
> +    {ACPI_DMT_UINT64,   ACPI_ASPT0_OFFSET(FeatureRegAddr),          "Feature Register Address", 0},
> +    {ACPI_DMT_UINT64,   ACPI_ASPT0_OFFSET(IrqEnRegAddr),            "Interrupt Enable Register Address", 0},
> +    {ACPI_DMT_UINT64,   ACPI_ASPT0_OFFSET(IrqStRegAddr),            "Interrupt Status Register Address", 0},
> +    ACPI_DMT_TERMINATOR
> +};
> +
> +/* 1: ASPT SEV Mailbox Registers */
> +ACPI_DMTABLE_INFO AcpiDmTableInfoAspt1[] =
> +{
> +    {ACPI_DMT_UINT8,    ACPI_ASPT1_OFFSET(MboxIrqId),               "Mailbox Interrupt ID", 0},
> +    {ACPI_DMT_UINT24,   ACPI_ASPT1_OFFSET(Reserved[0]),             "Reserved", 0},
> +    {ACPI_DMT_UINT64,   ACPI_ASPT1_OFFSET(CmdRespRegAddr),          "CmdResp Register Address", 0},
> +    {ACPI_DMT_UINT64,   ACPI_ASPT1_OFFSET(CmdBufLoRegAddr),         "CmdBufAddr_Lo Register Address", 0},
> +    {ACPI_DMT_UINT64,   ACPI_ASPT1_OFFSET(CmdBufHiRegAddr),         "CmdBufAddr_Hi Register Address", 0},
> +    ACPI_DMT_TERMINATOR
> +};
> +
> +/* 2: ASPT ACPI Maiblox Registers */
> +ACPI_DMTABLE_INFO AcpiDmTableInfoAspt2[] =
> +{
> +    {ACPI_DMT_UINT32,   ACPI_ASPT2_OFFSET(Reserved1),               "Reserved", 0},
> +    {ACPI_DMT_UINT64,   ACPI_ASPT2_OFFSET(CmdRespRegAddr),          "CmdResp Register Address", 0},
> +    {ACPI_DMT_UINT64,   ACPI_ASPT2_OFFSET(Reserved2[0]),           "Reserved", 0},
> +    {ACPI_DMT_UINT64,   ACPI_ASPT2_OFFSET(Reserved2[1]),           "Reserved", 0},
> +    ACPI_DMT_TERMINATOR
> +};
> +
>   /*******************************************************************************
>    *
>    * BDAT -  BIOS Data ACPI Table
> @@ -896,7 +947,7 @@ ACPI_DMTABLE_INFO           AcpiDmTableInfoDmar4[] =
>   {
>       {ACPI_DMT_UINT24,   ACPI_DMAR4_OFFSET (Reserved[0]),            "Reserved", 0},
>       {ACPI_DMT_UINT8,    ACPI_DMAR4_OFFSET (DeviceNumber),           "Device Number", 0},
> -    {ACPI_DMT_STRING,   ACPI_DMAR4_OFFSET (DeviceName[0]),          "Device Name", 0},
> +    {ACPI_DMT_STRING,   ACPI_DMAR4_OFFSET (u.DeviceName[0]),          "Device Name", 0},
>       ACPI_DMT_TERMINATOR
>   };
>   
> diff --git a/src/acpica/source/common/dmtbinfo2.c b/src/acpica/source/common/dmtbinfo2.c
> index 3676be81..214206ad 100644
> --- a/src/acpica/source/common/dmtbinfo2.c
> +++ b/src/acpica/source/common/dmtbinfo2.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -864,6 +864,7 @@ ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt11[] =
>       {ACPI_DMT_UINT8,    ACPI_MADT11_OFFSET (EfficiencyClass),       "Efficiency Class", 0},
>       {ACPI_DMT_UINT8,    ACPI_MADT11_OFFSET (Reserved2[0]),          "Reserved", 0},
>       {ACPI_DMT_UINT16,   ACPI_MADT11_OFFSET (SpeInterrupt),          "SPE Overflow Interrupt", 0},
> +    {ACPI_DMT_UINT16,   ACPI_MADT11_OFFSET (TrbeInterrupt),         "TRBE Interrupt", 0},
>       ACPI_DMT_TERMINATOR
>   };
>   
> @@ -979,6 +980,133 @@ ACPI_DMTABLE_INFO           AcpiDmTableInfoMchi[] =
>       ACPI_DMT_TERMINATOR
>   };
>   
> +/*******************************************************************************
> + *
> + * MPAM - Memory System Resource Partitioning and Monitoring Tables
> + * Arm's DEN0065 MPAM ACPI 2.0. December 2022.
> + ******************************************************************************/
> +
> +/* MPAM subtables */
> +
> +/* 0: MPAM Resource Node Structure - A root MSC table.
> + * Arm's DEN0065 MPAM ACPI 2.0. Table 4: MPAM MSC node body.
> + */
> +ACPI_DMTABLE_INFO           AcpiDmTableInfoMpam0[] =
> +{
> +    {ACPI_DMT_UINT16,   ACPI_MPAM0_OFFSET (Length),                      "Length", 0},
> +    {ACPI_DMT_UINT8,    ACPI_MPAM0_OFFSET (InterfaceType),               "Interface type", 0},
> +    {ACPI_DMT_UINT8,    ACPI_MPAM0_OFFSET (Reserved),                    "Reserved", 0},
> +    {ACPI_DMT_UINT32,   ACPI_MPAM0_OFFSET (Identifier),                  "Identifier", 0},
> +    {ACPI_DMT_UINT64,   ACPI_MPAM0_OFFSET (BaseAddress),                 "Base address", 0},
> +    {ACPI_DMT_UINT32,   ACPI_MPAM0_OFFSET (MMIOSize),                    "MMIO size", 0},
> +    {ACPI_DMT_UINT32,   ACPI_MPAM0_OFFSET (OverflowInterrupt),           "Overflow interrupt", 0},
> +    {ACPI_DMT_UINT32,   ACPI_MPAM0_OFFSET (OverflowInterruptFlags),      "Overflow interrupt flags", 0},
> +    {ACPI_DMT_UINT32,   ACPI_MPAM0_OFFSET (Reserved1),                   "Reserved1", 0},
> +    {ACPI_DMT_UINT32,   ACPI_MPAM0_OFFSET (OverflowInterruptAffinity),   "Overflow interrupt affinity", 0},
> +    {ACPI_DMT_UINT32,   ACPI_MPAM0_OFFSET (ErrorInterrupt),              "Error interrupt", 0},
> +    {ACPI_DMT_UINT32,   ACPI_MPAM0_OFFSET (ErrorInterruptFlags),         "Error interrupt flags", 0},
> +    {ACPI_DMT_UINT32,   ACPI_MPAM0_OFFSET (Reserved2),                   "Reserved2", 0},
> +    {ACPI_DMT_UINT32,   ACPI_MPAM0_OFFSET (ErrorInterruptAffinity),      "Error interrupt affinity", 0},
> +    {ACPI_DMT_UINT32,   ACPI_MPAM0_OFFSET (MaxNrdyUsec),                 "MAX_NRDY_USEC", 0},
> +    {ACPI_DMT_NAME8,    ACPI_MPAM0_OFFSET (HardwareIdLinkedDevice),      "Hardware ID of linked device", 0},
> +    {ACPI_DMT_UINT32,   ACPI_MPAM0_OFFSET (InstanceIdLinkedDevice),      "Instance ID of linked device", 0},
> +    {ACPI_DMT_UINT32,   ACPI_MPAM0_OFFSET (NumResouceNodes),             "Number of resource nodes", 0},
> +
> +    ACPI_DMT_TERMINATOR
> +};
> +
> +/* 1: MPAM Resource (RIS) Node Structure - A subtable of MSC Nodes.
> + * Arm's DEN0065 MPAM ACPI 2.0. Table 9: Resource node.
> + */
> +ACPI_DMTABLE_INFO           AcpiDmTableInfoMpam1[] =
> +{
> +    {ACPI_DMT_UINT32,          ACPI_MPAM1_OFFSET (Identifier),              "Identifier", 0},
> +    {ACPI_DMT_UINT8,           ACPI_MPAM1_OFFSET (RISIndex),                "RIS Index", 0},
> +    {ACPI_DMT_UINT16,          ACPI_MPAM1_OFFSET (Reserved1),               "Reserved1", 0},
> +    {ACPI_DMT_MPAM_LOCATOR,    ACPI_MPAM1_OFFSET (LocatorType),             "Locator type", 0},
> +    ACPI_DMT_TERMINATOR
> +};
> +
> +/* An RIS field part of the RIS subtable */
> +ACPI_DMTABLE_INFO           AcpiDmTableInfoMpam1Deps[] =
> +{
> +    {ACPI_DMT_UINT32, 0, "Number of functional dependencies", 0},
> +    ACPI_DMT_TERMINATOR
> +};
> +
> +/* 1A: MPAM Processor cache locator descriptor. A subtable of RIS.
> + * Arm's DEN0065 MPAM ACPI 2.0. Table 13.
> + */
> +ACPI_DMTABLE_INFO           AcpiDmTableInfoMpam1A[] =
> +{
> +    {ACPI_DMT_UINT64,   ACPI_MPAM1A_OFFSET (CacheReference),                "Cache reference", 0},
> +    {ACPI_DMT_UINT32,   ACPI_MPAM1A_OFFSET (Reserved),                      "Reserved", 0},
> +};
> +
> +/* 1B: MPAM Memory locator descriptor. A subtable of RIS.
> + * Arm's DEN0065 MPAM ACPI 2.0. Table 14.
> + */
> +ACPI_DMTABLE_INFO           AcpiDmTableInfoMpam1B[] =
> +{
> +    {ACPI_DMT_UINT64,   ACPI_MPAM1B_OFFSET (ProximityDomain),               "Proximity domain", 0},
> +    {ACPI_DMT_UINT32,   ACPI_MPAM1B_OFFSET (Reserved),                      "Reserved", 0},
> +};
> +
> +/* 1C: MPAM SMMU locator descriptor. A subtable of RIS.
> + * Arm's DEN0065 MPAM ACPI 2.0. Table 15.
> + */
> +ACPI_DMTABLE_INFO           AcpiDmTableInfoMpam1C[] =
> +{
> +    {ACPI_DMT_UINT64,   ACPI_MPAM1C_OFFSET (SmmuInterface),                 "SMMU Interface", 0},
> +    {ACPI_DMT_UINT32,   ACPI_MPAM1C_OFFSET (Reserved),                      "Reserved", 0},
> +};
> +
> +/* 1D: MPAM Memory-side cache locator descriptor. A subtable of RIS.
> + * Arm's DEN0065 MPAM ACPI 2.0. Table 16.
> + */
> +ACPI_DMTABLE_INFO           AcpiDmTableInfoMpam1D[] =
> +{
> +    {ACPI_DMT_UINT56,   ACPI_MPAM1D_OFFSET (Level),                         "Reserved", 0},
> +    {ACPI_DMT_UINT8,    ACPI_MPAM1D_OFFSET (Level),                         "Level", 0},
> +    {ACPI_DMT_UINT32,   ACPI_MPAM1D_OFFSET (Reference),                     "Reference", 0},
> +};
> +
> +/* 1E: MPAM ACPI device locator descriptor. A subtable of RIS.
> + * Arm's DEN0065 MPAM ACPI 2.0. Table 17.
> + */
> +ACPI_DMTABLE_INFO           AcpiDmTableInfoMpam1E[] =
> +{
> +    {ACPI_DMT_UINT64,   ACPI_MPAM1E_OFFSET (AcpiHwId),                      "ACPI Hardware ID", 0},
> +    {ACPI_DMT_UINT32,   ACPI_MPAM1E_OFFSET (AcpiUniqueId),                  "ACPI Unique ID", 0},
> +};
> +
> +/* 1F: MPAM Interconnect locator descriptor. A subtable of RIS.
> + * Arm's DEN0065 MPAM ACPI 2.0. Table 18.
> + */
> +ACPI_DMTABLE_INFO           AcpiDmTableInfoMpam1F[] =
> +{
> +    {ACPI_DMT_UINT64,   ACPI_MPAM1F_OFFSET (InterConnectDescTblOff),        "Interconnect descriptor table offset", 0},
> +    {ACPI_DMT_UINT32,   ACPI_MPAM1F_OFFSET (Reserved),                      "Reserved", 0},
> +};
> +
> +/* 1G: MPAM Locator structure.
> + * Arm's DEN0065 MPAM ACPI 2.0. Table 12.
> + */
> +ACPI_DMTABLE_INFO           AcpiDmTableInfoMpam1G[] =
> +{
> +    {ACPI_DMT_UINT64,   ACPI_MPAM1G_OFFSET (Descriptor1),                   "Descriptor1", 0},
> +    {ACPI_DMT_UINT32,   ACPI_MPAM1G_OFFSET (Descriptor2),                   "Descriptor2", 0},
> +};
> +
> +/* 2: MPAM Functional dependency descriptor.
> + * Arm's DEN0065 MPAM ACPI 2.0. Table 10.
> + */
> +ACPI_DMTABLE_INFO           AcpiDmTableInfoMpam2[] =
> +{
> +    {ACPI_DMT_UINT32,   ACPI_MPAM2_OFFSET (Producer),                       "Producer", 0},
> +    {ACPI_DMT_UINT32,   ACPI_MPAM2_OFFSET (Reserved),                       "Reserved", 0},
> +};
> +
>   
>   /*******************************************************************************
>    *
> @@ -1944,6 +2072,67 @@ ACPI_DMTABLE_INFO           AcpiDmTableInfoRgrt0[] =
>   };
>   
>   
> +/*******************************************************************************
> + *
> + * RHCT - RISC-V Hart Capabilities Table
> + *
> + ******************************************************************************/
> +
> +ACPI_DMTABLE_INFO           AcpiDmTableInfoRhct[] =
> +{
> +    {ACPI_DMT_UINT32,   ACPI_RHCT_OFFSET (Reserved),         "Reserved", 0},
> +    {ACPI_DMT_UINT64,   ACPI_RHCT_OFFSET (TimeBaseFreq),     "Timer Base Frequency", 0},
> +    {ACPI_DMT_UINT32,   ACPI_RHCT_OFFSET (NodeCount),        "Number of nodes", 0},
> +    {ACPI_DMT_UINT32,   ACPI_RHCT_OFFSET (NodeOffset),       "Offset to the node array", 0},
> +    ACPI_DMT_TERMINATOR
> +};
> +
> +
> +/* Common Subtable header (one per Subtable) */
> +
> +ACPI_DMTABLE_INFO           AcpiDmTableInfoRhctNodeHdr[] =
> +{
> +    {ACPI_DMT_UINT16,    ACPI_RHCTH_OFFSET (Type),            "Subtable Type", 0},
> +    {ACPI_DMT_UINT16,    ACPI_RHCTH_OFFSET (Length),          "Length", 0},
> +    {ACPI_DMT_UINT16,    ACPI_RHCTH_OFFSET (Revision),        "Revision", 0},
> +    ACPI_DMT_TERMINATOR
> +};
> +
> +/* 0: ISA string type */
> +
> +ACPI_DMTABLE_INFO           AcpiDmTableInfoRhctIsa1[] =
> +{
> +    {ACPI_DMT_UINT16,   ACPI_RHCT0_OFFSET (IsaLength),        "ISA string length", 0},
> +    {ACPI_DMT_STRING,   ACPI_RHCT0_OFFSET (Isa[0]),           "ISA string", 0},
> +    ACPI_DMT_TERMINATOR
> +};
> +
> +
> +/* Optional padding field */
> +
> +ACPI_DMTABLE_INFO           AcpiDmTableInfoRhctIsaPad[] =
> +{
> +    {ACPI_DMT_RAW_BUFFER, 0,                                  "Optional Padding", DT_OPTIONAL},
> +    ACPI_DMT_TERMINATOR
> +};
> +
> +/* 0xFFFF: Hart Info type */
> +
> +ACPI_DMTABLE_INFO           AcpiDmTableInfoRhctHartInfo1[] =
> +{
> +    {ACPI_DMT_UINT16,   ACPI_RHCTFFFF_OFFSET (NumOffsets),    "Number of offsets", 0},
> +    {ACPI_DMT_UINT32,   ACPI_RHCTFFFF_OFFSET (Uid),           "Processor UID", 0},
> +    ACPI_DMT_TERMINATOR
> +};
> +
> +
> +ACPI_DMTABLE_INFO           AcpiDmTableInfoRhctHartInfo2[] =
> +{
> +    {ACPI_DMT_UINT32,   0,                                    "Nodes", DT_OPTIONAL},
> +    ACPI_DMT_TERMINATOR
> +};
> +
> +
>   /*******************************************************************************
>    *
>    * S3PT - S3 Performance Table
> diff --git a/src/acpica/source/common/dmtbinfo3.c b/src/acpica/source/common/dmtbinfo3.c
> index b8ddb7aa..280baf39 100644
> --- a/src/acpica/source/common/dmtbinfo3.c
> +++ b/src/acpica/source/common/dmtbinfo3.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/common/getopt.c b/src/acpica/source/common/getopt.c
> index 772b66c0..a2658efc 100644
> --- a/src/acpica/source/common/getopt.c
> +++ b/src/acpica/source/common/getopt.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslallocate.c b/src/acpica/source/compiler/aslallocate.c
> index d697d059..d86b5f39 100644
> --- a/src/acpica/source/compiler/aslallocate.c
> +++ b/src/acpica/source/compiler/aslallocate.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -295,9 +295,13 @@ void
>   UtFreeLineBuffers (
>       void)
>   {
> -
>       free (AslGbl_CurrentLineBuffer);
> +
>       free (AslGbl_MainTokenBuffer);
> +
>       free (AslGbl_MacroTokenBuffer);
> +
> +    free (AslGbl_MacroTokenReplaceBuffer);
> +
>       free (AslGbl_ExpressionTokenBuffer);
>   }
> diff --git a/src/acpica/source/compiler/aslanalyze.c b/src/acpica/source/compiler/aslanalyze.c
> index 9db7d4fb..1941a465 100644
> --- a/src/acpica/source/compiler/aslanalyze.c
> +++ b/src/acpica/source/compiler/aslanalyze.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslascii.c b/src/acpica/source/compiler/aslascii.c
> index 6c0e62c4..b6b27271 100644
> --- a/src/acpica/source/compiler/aslascii.c
> +++ b/src/acpica/source/compiler/aslascii.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslbtypes.c b/src/acpica/source/compiler/aslbtypes.c
> index f7b3fb1b..e2f72d88 100644
> --- a/src/acpica/source/compiler/aslbtypes.c
> +++ b/src/acpica/source/compiler/aslbtypes.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -501,10 +501,11 @@ AnGetBtype (
>       ACPI_PARSE_OBJECT       *ReferencedNode;
>       UINT32                  ThisNodeBtype = 0;
>   
> +    ACPI_FUNCTION_NAME (AnGetBtype);
>   
>       if (!Op)
>       {
> -        AcpiOsPrintf ("Null Op in AnGetBtype\n");
> +        AcpiOsPrintf ("Null Op in %s\n",  ACPI_GET_FUNCTION_NAME);
>           return (ACPI_UINT32_MAX);
>       }
>   
> diff --git a/src/acpica/source/compiler/aslcache.c b/src/acpica/source/compiler/aslcache.c
> index 9cc707e2..11ba5f42 100644
> --- a/src/acpica/source/compiler/aslcache.c
> +++ b/src/acpica/source/compiler/aslcache.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslcodegen.c b/src/acpica/source/compiler/aslcodegen.c
> index a0c67424..4013398f 100644
> --- a/src/acpica/source/compiler/aslcodegen.c
> +++ b/src/acpica/source/compiler/aslcodegen.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslcompile.c b/src/acpica/source/compiler/aslcompile.c
> index f97cd9d8..4217182c 100644
> --- a/src/acpica/source/compiler/aslcompile.c
> +++ b/src/acpica/source/compiler/aslcompile.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslcompiler.h b/src/acpica/source/compiler/aslcompiler.h
> index d52f60f2..ca20de45 100644
> --- a/src/acpica/source/compiler/aslcompiler.h
> +++ b/src/acpica/source/compiler/aslcompiler.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -1566,6 +1566,9 @@ ASL_RESOURCE_NODE *
>   RsDoPinGroupConfigDescriptor (
>       ASL_RESOURCE_INFO       *Info);
>   
> +ASL_RESOURCE_NODE *
> +RsDoClockInputDescriptor (
> +    ASL_RESOURCE_INFO       *Info);
>   
>   /*
>    * aslrestype2d - DWord address descriptors
> diff --git a/src/acpica/source/compiler/aslcompiler.l b/src/acpica/source/compiler/aslcompiler.l
> index 881096ad..fbc38a61 100644
> --- a/src/acpica/source/compiler/aslcompiler.l
> +++ b/src/acpica/source/compiler/aslcompiler.l
> @@ -9,7 +9,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -461,6 +461,7 @@ NamePathTail                [.]{NameSeg}
>   "PinGroup"                  { count (1); return (PARSEOP_PINGROUP); }
>   "PinGroupConfig"            { count (1); return (PARSEOP_PINGROUPCONFIG); }
>   "PinGroupFunction"          { count (1); return (PARSEOP_PINGROUPFUNCTION); }
> +"ClockInput"                { count (1); return (PARSEOP_CLOCKINPUT); }
>   "QWordIO"                   { count (1); return (PARSEOP_QWORDIO); }
>   "QWordMemory"               { count (1); return (PARSEOP_QWORDMEMORY); }
>   "QWordSpace"                { count (1); return (PARSEOP_QWORDSPACE); }
> @@ -665,6 +666,17 @@ NamePathTail                [.]{NameSeg}
>   "PullDown"                  { count (0); return (PARSEOP_PIN_PULLDOWN); }
>   "PullNone"                  { count (0); return (PARSEOP_PIN_NOPULL); }
>   
> +    /* ClockScaleKeyword: Resource Descriptors (ACPI 6.5) */
> +
> +"Hz"               { count (0); return (PARSEOP_CLOCK_HZ); }
> +"KHz"              { count (0); return (PARSEOP_CLOCK_KHZ); }
> +"MHz"              { count (0); return (PARSEOP_CLOCK_MHZ); }
> +
> +    /* ClockModeKeyword: Resource Descriptors (ACPI 6.5) */
> +
> +"Fixed"               { count (0); return (PARSEOP_CLOCK_FIXED); }
> +"Variable"            { count (0); return (PARSEOP_CLOCK_VARIABLE); }
> +
>       /* PolarityKeyword: Resource Descriptors (ACPI 5.0) */
>   
>   "PolarityLow"               { count (0); return (PARSEOP_DEVICEPOLARITY_LOW); }
> diff --git a/src/acpica/source/compiler/aslcstyle.y b/src/acpica/source/compiler/aslcstyle.y
> index b4e9065f..d249b51e 100644
> --- a/src/acpica/source/compiler/aslcstyle.y
> +++ b/src/acpica/source/compiler/aslcstyle.y
> @@ -9,7 +9,7 @@ NoEcho('
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/asldebug.c b/src/acpica/source/compiler/asldebug.c
> index 5ac6a4ed..928bb206 100644
> --- a/src/acpica/source/compiler/asldebug.c
> +++ b/src/acpica/source/compiler/asldebug.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/asldefine.h b/src/acpica/source/compiler/asldefine.h
> index 12b2899e..fe11d451 100644
> --- a/src/acpica/source/compiler/asldefine.h
> +++ b/src/acpica/source/compiler/asldefine.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslerror.c b/src/acpica/source/compiler/aslerror.c
> index 3a61bc6e..54d247e2 100644
> --- a/src/acpica/source/compiler/aslerror.c
> +++ b/src/acpica/source/compiler/aslerror.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslexternal.c b/src/acpica/source/compiler/aslexternal.c
> index a7d2c9c3..243145ed 100644
> --- a/src/acpica/source/compiler/aslexternal.c
> +++ b/src/acpica/source/compiler/aslexternal.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslfileio.c b/src/acpica/source/compiler/aslfileio.c
> index 88b9def9..7920de7f 100644
> --- a/src/acpica/source/compiler/aslfileio.c
> +++ b/src/acpica/source/compiler/aslfileio.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslfiles.c b/src/acpica/source/compiler/aslfiles.c
> index 2479b404..51de2d1e 100644
> --- a/src/acpica/source/compiler/aslfiles.c
> +++ b/src/acpica/source/compiler/aslfiles.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslfold.c b/src/acpica/source/compiler/aslfold.c
> index 316890c4..f03d19c5 100644
> --- a/src/acpica/source/compiler/aslfold.c
> +++ b/src/acpica/source/compiler/aslfold.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslglobal.h b/src/acpica/source/compiler/aslglobal.h
> index ff00b92e..438d0c5b 100644
> --- a/src/acpica/source/compiler/aslglobal.h
> +++ b/src/acpica/source/compiler/aslglobal.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslhelp.c b/src/acpica/source/compiler/aslhelp.c
> index 1cdbf8a7..137736da 100644
> --- a/src/acpica/source/compiler/aslhelp.c
> +++ b/src/acpica/source/compiler/aslhelp.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslhelpers.y b/src/acpica/source/compiler/aslhelpers.y
> index 2764bf65..37cc5844 100644
> --- a/src/acpica/source/compiler/aslhelpers.y
> +++ b/src/acpica/source/compiler/aslhelpers.y
> @@ -9,7 +9,7 @@ NoEcho('
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslhex.c b/src/acpica/source/compiler/aslhex.c
> index a6e80fdf..4a711823 100644
> --- a/src/acpica/source/compiler/aslhex.c
> +++ b/src/acpica/source/compiler/aslhex.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslkeywords.y b/src/acpica/source/compiler/aslkeywords.y
> index 661cfc93..d559fd0f 100644
> --- a/src/acpica/source/compiler/aslkeywords.y
> +++ b/src/acpica/source/compiler/aslkeywords.y
> @@ -9,7 +9,7 @@ NoEcho('
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -462,3 +462,14 @@ XferTypeKeyword
>       | PARSEOP_XFERTYPE_8_16                 {$$ = TrCreateLeafOp (PARSEOP_XFERTYPE_8_16);}
>       | PARSEOP_XFERTYPE_16                   {$$ = TrCreateLeafOp (PARSEOP_XFERTYPE_16);}
>       ;
> +
> +ClockScaleKeyword
> +    : PARSEOP_CLOCK_HZ                      {$$ = TrCreateLeafOp (PARSEOP_CLOCK_HZ);}
> +    | PARSEOP_CLOCK_KHZ                     {$$ = TrCreateLeafOp (PARSEOP_CLOCK_KHZ);}
> +    | PARSEOP_CLOCK_MHZ                     {$$ = TrCreateLeafOp (PARSEOP_CLOCK_MHZ);}
> +    ;
> +
> +ClockModeKeyword
> +    : PARSEOP_CLOCK_FIXED                   {$$ = TrCreateLeafOp (PARSEOP_CLOCK_FIXED);}
> +    | PARSEOP_CLOCK_VARIABLE                {$$ = TrCreateLeafOp (PARSEOP_CLOCK_VARIABLE);}
> +    ;
> diff --git a/src/acpica/source/compiler/asllength.c b/src/acpica/source/compiler/asllength.c
> index b1c06246..f5544353 100644
> --- a/src/acpica/source/compiler/asllength.c
> +++ b/src/acpica/source/compiler/asllength.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/asllisting.c b/src/acpica/source/compiler/asllisting.c
> index 290d5062..1dd3b39b 100644
> --- a/src/acpica/source/compiler/asllisting.c
> +++ b/src/acpica/source/compiler/asllisting.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/asllistsup.c b/src/acpica/source/compiler/asllistsup.c
> index b03560d3..44a87f0a 100644
> --- a/src/acpica/source/compiler/asllistsup.c
> +++ b/src/acpica/source/compiler/asllistsup.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslload.c b/src/acpica/source/compiler/aslload.c
> index 3f827d0b..3e35d6aa 100644
> --- a/src/acpica/source/compiler/aslload.c
> +++ b/src/acpica/source/compiler/aslload.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/asllookup.c b/src/acpica/source/compiler/asllookup.c
> index 44bf9a38..ae0729bb 100644
> --- a/src/acpica/source/compiler/asllookup.c
> +++ b/src/acpica/source/compiler/asllookup.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslmain.c b/src/acpica/source/compiler/aslmain.c
> index 3c2ce58e..5b8f54e2 100644
> --- a/src/acpica/source/compiler/aslmain.c
> +++ b/src/acpica/source/compiler/aslmain.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslmap.c b/src/acpica/source/compiler/aslmap.c
> index 782d0d96..71fb5f03 100644
> --- a/src/acpica/source/compiler/aslmap.c
> +++ b/src/acpica/source/compiler/aslmap.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -462,6 +462,12 @@ const ASL_MAPPING_ENTRY     AslKeywordMapping [] =
>   /* PIN_PULLDEFAULT */           OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  0),
>   /* PIN_PULLDOWN */              OP_TABLE_ENTRY (AML_BYTE_OP,                2,                              0,                  0),
>   /* PIN_PULLUP */                OP_TABLE_ENTRY (AML_BYTE_OP,                1,                              0,                  0),
> +/* CLOCKINPUT */                OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP,         0,                              0,                  0),
> +/* CLOCK_HZ */                  OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  0),
> +/* CLOCK_KHZ */                 OP_TABLE_ENTRY (AML_BYTE_OP,                1,                              0,                  0),
> +/* CLOCK_MHZ */                 OP_TABLE_ENTRY (AML_BYTE_OP,                2,                              0,                  0),
> +/* CLOCK_FIXED */               OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  0),
> +/* CLOCK_VARIABLE */            OP_TABLE_ENTRY (AML_BYTE_OP,                1,                              0,                  0),
>   /* POWERRESOURCE */             OP_TABLE_ENTRY (AML_POWER_RESOURCE_OP,      0,                              OP_AML_PACKAGE,     0),
>   /* PROCESSOR */                 OP_TABLE_ENTRY (AML_PROCESSOR_OP,           0,                              OP_AML_PACKAGE,     0),
>   /* QWORDCONST */                OP_TABLE_ENTRY (AML_RAW_DATA_QWORD,         0,                              0,                  ACPI_BTYPE_INTEGER),
> diff --git a/src/acpica/source/compiler/aslmapenter.c b/src/acpica/source/compiler/aslmapenter.c
> index 5dae3e9e..b167fb4e 100644
> --- a/src/acpica/source/compiler/aslmapenter.c
> +++ b/src/acpica/source/compiler/aslmapenter.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslmapoutput.c b/src/acpica/source/compiler/aslmapoutput.c
> index 95146ea6..74540f05 100644
> --- a/src/acpica/source/compiler/aslmapoutput.c
> +++ b/src/acpica/source/compiler/aslmapoutput.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslmaputils.c b/src/acpica/source/compiler/aslmaputils.c
> index 0b2c7e26..48b67600 100644
> --- a/src/acpica/source/compiler/aslmaputils.c
> +++ b/src/acpica/source/compiler/aslmaputils.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslmessages.c b/src/acpica/source/compiler/aslmessages.c
> index 990e376f..fe697c85 100644
> --- a/src/acpica/source/compiler/aslmessages.c
> +++ b/src/acpica/source/compiler/aslmessages.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslmessages.h b/src/acpica/source/compiler/aslmessages.h
> index 197e9e22..3346c5e0 100644
> --- a/src/acpica/source/compiler/aslmessages.h
> +++ b/src/acpica/source/compiler/aslmessages.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslmethod.c b/src/acpica/source/compiler/aslmethod.c
> index 517ba778..f092a296 100644
> --- a/src/acpica/source/compiler/aslmethod.c
> +++ b/src/acpica/source/compiler/aslmethod.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslnamesp.c b/src/acpica/source/compiler/aslnamesp.c
> index 60c488db..a3578d3e 100644
> --- a/src/acpica/source/compiler/aslnamesp.c
> +++ b/src/acpica/source/compiler/aslnamesp.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/asloffset.c b/src/acpica/source/compiler/asloffset.c
> index b0954c70..874e6e59 100644
> --- a/src/acpica/source/compiler/asloffset.c
> +++ b/src/acpica/source/compiler/asloffset.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslopcodes.c b/src/acpica/source/compiler/aslopcodes.c
> index e07910b1..f6c993e6 100644
> --- a/src/acpica/source/compiler/aslopcodes.c
> +++ b/src/acpica/source/compiler/aslopcodes.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/asloperands.c b/src/acpica/source/compiler/asloperands.c
> index 9330fdfb..2c3c6fa9 100644
> --- a/src/acpica/source/compiler/asloperands.c
> +++ b/src/acpica/source/compiler/asloperands.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslopt.c b/src/acpica/source/compiler/aslopt.c
> index 916aebfb..c81e27b2 100644
> --- a/src/acpica/source/compiler/aslopt.c
> +++ b/src/acpica/source/compiler/aslopt.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/asloptions.c b/src/acpica/source/compiler/asloptions.c
> index 37484f79..ca894a3b 100644
> --- a/src/acpica/source/compiler/asloptions.c
> +++ b/src/acpica/source/compiler/asloptions.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslparseop.c b/src/acpica/source/compiler/aslparseop.c
> index ab81ac28..38169fee 100644
> --- a/src/acpica/source/compiler/aslparseop.c
> +++ b/src/acpica/source/compiler/aslparseop.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -817,6 +817,8 @@ TrAllocateOp (
>       ACPI_PARSE_OBJECT       *Op;
>       ACPI_PARSE_OBJECT       *LatestOp;
>   
> +    ACPI_FUNCTION_NAME (TrAllocateOp);
> +
>   
>       Op = UtParseOpCacheCalloc ();
>   
> @@ -861,7 +863,7 @@ TrAllocateOp (
>           }
>   
>           AslGbl_CommentState.LatestParseOp = Op;
> -        CvDbgPrint ("TrAllocateOp=Set latest parse op to this op.\n");
> +        CvDbgPrint ("%s=Set latest parse op to this op.\n",  ACPI_GET_FUNCTION_NAME);
>           CvDbgPrint ("           Op->Asl.ParseOpName = %s\n",
>               AslGbl_CommentState.LatestParseOp->Asl.ParseOpName);
>           CvDbgPrint ("           Op->Asl.ParseOpcode = 0x%x\n", ParseOpcode);
> diff --git a/src/acpica/source/compiler/aslparser.y b/src/acpica/source/compiler/aslparser.y
> index dff15619..3e1c661f 100644
> --- a/src/acpica/source/compiler/aslparser.y
> +++ b/src/acpica/source/compiler/aslparser.y
> @@ -9,7 +9,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -208,7 +208,7 @@ AslLocalAllocate (
>    * These shift/reduce conflicts are expected. There should be zero
>    * reduce/reduce conflicts.
>    */
> -%expect 127
> +%expect 128
>   
>   /*! [Begin] no source code translation */
>   
> diff --git a/src/acpica/source/compiler/aslpld.c b/src/acpica/source/compiler/aslpld.c
> index 9faa8c26..eedfaa24 100644
> --- a/src/acpica/source/compiler/aslpld.c
> +++ b/src/acpica/source/compiler/aslpld.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslpredef.c b/src/acpica/source/compiler/aslpredef.c
> index 2804e12d..92532997 100644
> --- a/src/acpica/source/compiler/aslpredef.c
> +++ b/src/acpica/source/compiler/aslpredef.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslprepkg.c b/src/acpica/source/compiler/aslprepkg.c
> index f562dbe6..21fe2db7 100644
> --- a/src/acpica/source/compiler/aslprepkg.c
> +++ b/src/acpica/source/compiler/aslprepkg.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslprimaries.y b/src/acpica/source/compiler/aslprimaries.y
> index 69565def..f7059716 100644
> --- a/src/acpica/source/compiler/aslprimaries.y
> +++ b/src/acpica/source/compiler/aslprimaries.y
> @@ -11,7 +11,7 @@ NoEcho('
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslprintf.c b/src/acpica/source/compiler/aslprintf.c
> index 3f270fec..b2da0035 100644
> --- a/src/acpica/source/compiler/aslprintf.c
> +++ b/src/acpica/source/compiler/aslprintf.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslprune.c b/src/acpica/source/compiler/aslprune.c
> index 4626a1ee..dc1162c4 100644
> --- a/src/acpica/source/compiler/aslprune.c
> +++ b/src/acpica/source/compiler/aslprune.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslresource.c b/src/acpica/source/compiler/aslresource.c
> index 104a4835..4d20c5e3 100644
> --- a/src/acpica/source/compiler/aslresource.c
> +++ b/src/acpica/source/compiler/aslresource.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -762,6 +762,12 @@ RsDoOneResourceDescriptor (
>   
>       switch (Info->DescriptorTypeOp->Asl.ParseOpcode)
>       {
> +
> +    case PARSEOP_CLOCKINPUT:
> +
> +        Rnode = RsDoClockInputDescriptor(Info);
> +        break;
> +
>       case PARSEOP_DMA:
>   
>           Rnode = RsDoDmaDescriptor (Info);
> diff --git a/src/acpica/source/compiler/aslresources.y b/src/acpica/source/compiler/aslresources.y
> index a5752b01..52bff9c4 100644
> --- a/src/acpica/source/compiler/aslresources.y
> +++ b/src/acpica/source/compiler/aslresources.y
> @@ -11,7 +11,7 @@ NoEcho('
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -214,6 +214,7 @@ ResourceMacroTerm
>       | Memory32Term                  {}
>       | PinConfigTerm                 {}
>       | PinFunctionTerm               {}
> +    | ClockInputTerm                {}
>       | PinGroupTerm                  {}
>       | PinGroupConfigTerm            {}
>       | PinGroupFunctionTerm          {}
> @@ -666,6 +667,21 @@ PinFunctionTerm
>           error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
>       ;
>   
> +ClockInputTerm
> +    : PARSEOP_CLOCKINPUT
> +        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_CLOCKINPUT);}
> +        DWordConstExpr              /* 04: FrequencyNumerator */
> +        ',' WordConstExpr           /* 06: FrequencyDivisor */
> +        ',' ClockScaleKeyword       /* 08: Scale */
> +        ',' ClockModeKeyword        /* 10: Mode*/
> +        OptionalStringData          /* 11: ResourceSource */
> +        OptionalByteConstExpr       /* 12: ResourceSourceIndex */
> +        PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,6,$4,$6,$8,$10,$11,$12);}
> +    | PARSEOP_CLOCKINPUT
> +        PARSEOP_OPEN_PAREN
> +        error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
> +    ;
> +
>   PinGroupTerm
>       : PARSEOP_PINGROUP
>           PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_PINGROUP);}
> diff --git a/src/acpica/source/compiler/aslrestype1.c b/src/acpica/source/compiler/aslrestype1.c
> index a6625c08..53fa8621 100644
> --- a/src/acpica/source/compiler/aslrestype1.c
> +++ b/src/acpica/source/compiler/aslrestype1.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslrestype1i.c b/src/acpica/source/compiler/aslrestype1i.c
> index 84d5b653..d352e65f 100644
> --- a/src/acpica/source/compiler/aslrestype1i.c
> +++ b/src/acpica/source/compiler/aslrestype1i.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslrestype2.c b/src/acpica/source/compiler/aslrestype2.c
> index 387e85c8..bf6f77ed 100644
> --- a/src/acpica/source/compiler/aslrestype2.c
> +++ b/src/acpica/source/compiler/aslrestype2.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -337,7 +337,7 @@ RsDoInterruptDescriptor (
>       Descriptor->ExtendedIrq.InterruptCount  = 0;
>   
>       Rover = ACPI_CAST_PTR (AML_RESOURCE,
> -        (&(Descriptor->ExtendedIrq.Interrupts[0])));
> +        (&(Descriptor->ExtendedIrq.u.Interrupts[0])));
>   
>       /* Process all child initialization nodes */
>   
> @@ -466,7 +466,7 @@ RsDoInterruptDescriptor (
>   
>                   RsCreateDwordField (InitializerOp, ACPI_RESTAG_INTERRUPT,
>                       CurrentByteOffset +
> -                    ASL_RESDESC_OFFSET (ExtendedIrq.Interrupts[0]));
> +                    ASL_RESDESC_OFFSET (ExtendedIrq.u.Interrupts[0]));
>               }
>           }
>   
> @@ -494,7 +494,7 @@ RsDoInterruptDescriptor (
>       }
>   
>       Rnode->BufferLength =
> -        (ASL_RESDESC_OFFSET (ExtendedIrq.Interrupts[0]) -
> +        (ASL_RESDESC_OFFSET (ExtendedIrq.u.Interrupts[0]) -
>           ASL_RESDESC_OFFSET (ExtendedIrq.DescriptorType))
>           + OptionIndex + StringLength;
>       return (Rnode);
> diff --git a/src/acpica/source/compiler/aslrestype2d.c b/src/acpica/source/compiler/aslrestype2d.c
> index 6b597e25..45013c2c 100644
> --- a/src/acpica/source/compiler/aslrestype2d.c
> +++ b/src/acpica/source/compiler/aslrestype2d.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslrestype2e.c b/src/acpica/source/compiler/aslrestype2e.c
> index 414b2d23..c557f402 100644
> --- a/src/acpica/source/compiler/aslrestype2e.c
> +++ b/src/acpica/source/compiler/aslrestype2e.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslrestype2q.c b/src/acpica/source/compiler/aslrestype2q.c
> index ce796597..62866594 100644
> --- a/src/acpica/source/compiler/aslrestype2q.c
> +++ b/src/acpica/source/compiler/aslrestype2q.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslrestype2s.c b/src/acpica/source/compiler/aslrestype2s.c
> index ea832da3..05480796 100644
> --- a/src/acpica/source/compiler/aslrestype2s.c
> +++ b/src/acpica/source/compiler/aslrestype2s.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -1550,7 +1550,6 @@ RsDoPinFunctionDescriptor (
>       UINT16                  PinListLength;
>       UINT16                  DescriptorSize;
>       UINT32                  CurrentByteOffset;
> -    UINT32                  PinCount = 0;
>       UINT32                  i;
>   
>       InitializerOp = Info->DescriptorTypeOp->Asl.Child;
> @@ -1668,15 +1667,10 @@ RsDoPinFunctionDescriptor (
>           default:
>               /*
>                * PINs come through here, repeatedly. Each PIN must be a WORD.
> -             * NOTE: there is no "length" field for this, so from ACPI spec:
> -             *  The number of pins in the table can be calculated from:
> -             *  PinCount = (Resource Source Name Offset - Pin Table Offset) / 2
> -             *  (implies resource source must immediately follow the pin list.)
>                *  Name: _PIN
>                */
>               *PinList = (UINT16) InitializerOp->Asl.Value.Integer;
>               PinList++;
> -            PinCount++;
>   
>               /* Case 8: First pin number in list */
>   
> @@ -1708,6 +1702,115 @@ RsDoPinFunctionDescriptor (
>       return (Rnode);
>   }
>   
> +/*******************************************************************************
> + *
> + * FUNCTION:    RsDoClockInputDescriptor
> + *
> + * PARAMETERS:  Info                - Parse Op and resource template offset
> + *
> + * RETURN:      Completed resource node
> + *
> + * DESCRIPTION: Construct a long "ClockInput" descriptor
> + *
> + ******************************************************************************/
> +
> +ASL_RESOURCE_NODE *
> +RsDoClockInputDescriptor (
> +    ASL_RESOURCE_INFO       *Info)
> +{
> +    AML_RESOURCE            *Descriptor;
> +    ACPI_PARSE_OBJECT       *InitializerOp;
> +    ASL_RESOURCE_NODE       *Rnode;
> +    char                    *ResourceSourceString = NULL;
> +    UINT8                   *ResourceSourceIndex = NULL;
> +    UINT16                  ResSourceLength;
> +    UINT16                  DescriptorSize;
> +    UINT32                  i;
> +    UINT32                  CurrentByteOffset;
> +
> +    InitializerOp = Info->DescriptorTypeOp->Asl.Child;
> +    CurrentByteOffset = Info->CurrentByteOffset;
> +
> +    /*
> +     * Calculate lengths for fields that have variable length:
> +     * 1) Resource Source string
> +     */
> +    ResSourceLength = RsGetStringDataLength (InitializerOp);
> +
> +    DescriptorSize = ACPI_AML_SIZE_LARGE (AML_RESOURCE_CLOCK_INPUT) + ResSourceLength + 1;
> +
> +    /* Allocate the local resource node and initialize */
> +
> +    Rnode = RsAllocateResourceNode (DescriptorSize +
> +        sizeof (AML_RESOURCE_LARGE_HEADER));
> +
> +    Descriptor = Rnode->Buffer;
> +    Descriptor->ClockInput.ResourceLength = DescriptorSize;
> +    Descriptor->ClockInput.DescriptorType = ACPI_RESOURCE_NAME_CLOCK_INPUT;
> +    Descriptor->ClockInput.RevisionId = AML_RESOURCE_CLOCK_INPUT_REVISION;
> +
> +    /* Build pointers to optional areas */
> +
> +    if (ResSourceLength){
> +        ResourceSourceIndex = ACPI_ADD_PTR (UINT8, Descriptor, sizeof (AML_RESOURCE_CLOCK_INPUT));
> +        ResourceSourceString = ACPI_ADD_PTR (char, Descriptor, sizeof (AML_RESOURCE_CLOCK_INPUT) + 1);
> +    }
> +
> +    /* Process all child initialization nodes */
> +
> +    for (i = 0; InitializerOp; i++)
> +    {
> +        switch (i)
> +        {
> +        case 0:
> +            Descriptor->ClockInput.FrequencyNumerator = (UINT32)InitializerOp->Asl.Value.Integer;
> +            RsCreateDwordField (InitializerOp, ACPI_RESTAG_FQN,
> +                CurrentByteOffset + ASL_RESDESC_OFFSET (ClockInput.FrequencyNumerator));
> +
> +            break;
> +
> +        case 1:
> +            Descriptor->ClockInput.FrequencyDivisor = (UINT16)InitializerOp->Asl.Value.Integer;
> +            RsCreateWordField (InitializerOp, ACPI_RESTAG_FQD,
> +                CurrentByteOffset + ASL_RESDESC_OFFSET (ClockInput.FrequencyDivisor));
> +
> +            break;
> +
> +        case 2:
> +            RsSetFlagBits16 (&Descriptor->ClockInput.Flags, InitializerOp, 1, 0);
> +            break;
> +
> +        case 3:
> +            RsSetFlagBits16 (&Descriptor->ClockInput.Flags, InitializerOp, 0, 0);
> +            break;
> +
> +        case 4: /* ResSource String [Optional Field] */
> +
> +            if (ResourceSourceString)
> +            {
> +                /* Copy string to the descriptor */
> +
> +                strcpy (ResourceSourceString, InitializerOp->Asl.Value.String);
> +            }
> +            break;
> +
> +        case 5: /* ResSource Index [Optional Field] */
> +            if (ResourceSourceIndex)
> +            {
> +                *ResourceSourceIndex = (UINT8) InitializerOp->Asl.Value.Integer;
> +            }
> +            break;
> +
> +        default:
> +            break;
> +        }
> +
> +        InitializerOp = RsCompleteNodeAndGetNext (InitializerOp);
> +    }
> +
> +    return (Rnode);
> +}
> +
>   
>   /*******************************************************************************
>    *
> @@ -1736,7 +1839,6 @@ RsDoPinConfigDescriptor (
>       UINT16                  PinListLength;
>       UINT16                  DescriptorSize;
>       UINT32                  CurrentByteOffset;
> -    UINT32                  PinCount = 0;
>       UINT32                  i;
>   
>       InitializerOp = Info->DescriptorTypeOp->Asl.Child;
> @@ -1868,15 +1970,10 @@ RsDoPinConfigDescriptor (
>           default:
>               /*
>                * PINs come through here, repeatedly. Each PIN must be a WORD.
> -             * NOTE: there is no "length" field for this, so from ACPI spec:
> -             *  The number of pins in the table can be calculated from:
> -             *  PinCount = (Resource Source Name Offset - Pin Table Offset) / 2
> -             *  (implies resource source must immediately follow the pin list.)
>                *  Name: _PIN
>                */
>               *PinList = (UINT16) InitializerOp->Asl.Value.Integer;
>               PinList++;
> -            PinCount++;
>   
>               /* Case 8: First pin number in list */
>   
> @@ -1936,7 +2033,6 @@ RsDoPinGroupDescriptor (
>       UINT16                  PinListLength;
>       UINT16                  DescriptorSize;
>       UINT32                  CurrentByteOffset;
> -    UINT32                  PinCount = 0;
>       UINT32                  i;
>   
>       InitializerOp = Info->DescriptorTypeOp->Asl.Child;
> @@ -2022,15 +2118,10 @@ RsDoPinGroupDescriptor (
>           default:
>               /*
>                * PINs come through here, repeatedly. Each PIN must be a WORD.
> -             * NOTE: there is no "length" field for this, so from ACPI spec:
> -             *  The number of pins in the table can be calculated from:
> -             *  PinCount = (Resource Source Name Offset - Pin Table Offset) / 2
> -             *  (implies resource source must immediately follow the pin list.)
>                *  Name: _PIN
>                */
>               *PinList = (UINT16) InitializerOp->Asl.Value.Integer;
>               PinList++;
> -            PinCount++;
>   
>               /* Case 3: First pin number in list */
>   
> diff --git a/src/acpica/source/compiler/aslrestype2w.c b/src/acpica/source/compiler/aslrestype2w.c
> index a758e058..9908494d 100644
> --- a/src/acpica/source/compiler/aslrestype2w.c
> +++ b/src/acpica/source/compiler/aslrestype2w.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslrules.y b/src/acpica/source/compiler/aslrules.y
> index 79aa2210..2793749b 100644
> --- a/src/acpica/source/compiler/aslrules.y
> +++ b/src/acpica/source/compiler/aslrules.y
> @@ -11,7 +11,7 @@ NoEcho('
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslstartup.c b/src/acpica/source/compiler/aslstartup.c
> index 9542a79d..8b4e5c7c 100644
> --- a/src/acpica/source/compiler/aslstartup.c
> +++ b/src/acpica/source/compiler/aslstartup.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslstubs.c b/src/acpica/source/compiler/aslstubs.c
> index 0e6cd56f..e90115b8 100644
> --- a/src/acpica/source/compiler/aslstubs.c
> +++ b/src/acpica/source/compiler/aslstubs.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslsupport.l b/src/acpica/source/compiler/aslsupport.l
> index 0daec602..8d589a94 100644
> --- a/src/acpica/source/compiler/aslsupport.l
> +++ b/src/acpica/source/compiler/aslsupport.l
> @@ -9,7 +9,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -195,7 +195,7 @@ AslParserCleanup (
>    *
>    * DESCRIPTION: Handle #line directives emitted by the preprocessor.
>    *
> - * The #line directive is emitted by the preprocesser, and is used to
> + * The #line directive is emitted by the preprocessor, and is used to
>    * pass through line numbers from the original source code file to the
>    * preprocessor output file (.i). This allows any compiler-generated
>    * error messages to be displayed with the correct line number.
> diff --git a/src/acpica/source/compiler/aslsupport.y b/src/acpica/source/compiler/aslsupport.y
> index 3f19af2f..f7420672 100644
> --- a/src/acpica/source/compiler/aslsupport.y
> +++ b/src/acpica/source/compiler/aslsupport.y
> @@ -9,7 +9,7 @@ NoEcho('
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/asltokens.y b/src/acpica/source/compiler/asltokens.y
> index c43561e7..48db2e22 100644
> --- a/src/acpica/source/compiler/asltokens.y
> +++ b/src/acpica/source/compiler/asltokens.y
> @@ -9,7 +9,7 @@ NoEcho('
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -399,6 +399,12 @@ NoEcho('
>   %token <i> PARSEOP_PIN_PULLDEFAULT
>   %token <i> PARSEOP_PIN_PULLDOWN
>   %token <i> PARSEOP_PIN_PULLUP
> +%token <i> PARSEOP_CLOCKINPUT
> +%token <i> PARSEOP_CLOCK_HZ
> +%token <i> PARSEOP_CLOCK_KHZ
> +%token <i> PARSEOP_CLOCK_MHZ
> +%token <i> PARSEOP_CLOCK_FIXED
> +%token <i> PARSEOP_CLOCK_VARIABLE
>   %token <i> PARSEOP_POWERRESOURCE
>   %token <i> PARSEOP_PROCESSOR
>   %token <i> PARSEOP_QWORDCONST
> diff --git a/src/acpica/source/compiler/asltransform.c b/src/acpica/source/compiler/asltransform.c
> index 573ddad1..d1fcbed2 100644
> --- a/src/acpica/source/compiler/asltransform.c
> +++ b/src/acpica/source/compiler/asltransform.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/asltree.c b/src/acpica/source/compiler/asltree.c
> index 9cf49269..f390c4f6 100644
> --- a/src/acpica/source/compiler/asltree.c
> +++ b/src/acpica/source/compiler/asltree.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -467,6 +467,7 @@ TrLinkOpChildren (
>       UINT32                  i;
>       BOOLEAN                 FirstChild;
>   
> +    ACPI_FUNCTION_NAME (TrLinkOpChildren);
>   
>       va_start (ap, NumChildren);
>   
> @@ -624,7 +625,7 @@ TrLinkOpChildren (
>       if (AcpiGbl_CaptureComments)
>       {
>           AslGbl_CommentState.LatestParseOp = Op;
> -        CvDbgPrint ("TrLinkOpChildren=====Set latest parse op to this op.\n");
> +        CvDbgPrint ("%s=====Set latest parse op to this op.\n",  ACPI_GET_FUNCTION_NAME);
>       }
>   
>       return (Op);
> diff --git a/src/acpica/source/compiler/asltypes.h b/src/acpica/source/compiler/asltypes.h
> index d5689dea..577d3b88 100644
> --- a/src/acpica/source/compiler/asltypes.h
> +++ b/src/acpica/source/compiler/asltypes.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -336,7 +336,7 @@ typedef struct asl_file_desc
>   typedef struct asl_cache_info
>   {
>       void                    *Next;
> -    char                    Buffer[1];
> +    char                    Buffer[];
>   
>   } ASL_CACHE_INFO;
>   
> diff --git a/src/acpica/source/compiler/asltypes.y b/src/acpica/source/compiler/asltypes.y
> index ba98362c..d5f020d3 100644
> --- a/src/acpica/source/compiler/asltypes.y
> +++ b/src/acpica/source/compiler/asltypes.y
> @@ -9,7 +9,7 @@ NoEcho('
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -359,6 +359,8 @@ NoEcho('
>   %type <n> WireModeKeyword
>   %type <n> XferSizeKeyword
>   %type <n> XferTypeKeyword
> +%type <n> ClockScaleKeyword
> +%type <n> ClockModeKeyword
>   
>   /* Types */
>   
> @@ -411,6 +413,7 @@ NoEcho('
>   
>   /* Resource Descriptors */
>   
> +%type <n> ClockInputTerm
>   %type <n> ConnectionTerm
>   %type <n> Csi2SerialBusTerm
>   %type <n> DMATerm
> diff --git a/src/acpica/source/compiler/aslutils.c b/src/acpica/source/compiler/aslutils.c
> index e91fd460..86b040b9 100644
> --- a/src/acpica/source/compiler/aslutils.c
> +++ b/src/acpica/source/compiler/aslutils.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -610,7 +610,7 @@ UtSetParseOpName (
>    *
>    * FUNCTION:    UtDisplayOneSummary
>    *
> - * PARAMETERS:  FileID              - ID of outpout file
> + * PARAMETERS:  FileID              - ID of output file
>    *
>    * RETURN:      None
>    *
> @@ -733,7 +733,7 @@ UtDisplayOneSummary (
>    *
>    * FUNCTION:    UtDisplayErrorSummary
>    *
> - * PARAMETERS:  FileID              - ID of outpout file
> + * PARAMETERS:  FileID              - ID of output file
>    *
>    * RETURN:      None
>    *
> @@ -800,7 +800,7 @@ UtDisplayErrorSummary (
>    *
>    * FUNCTION:    UtDisplaySummary
>    *
> - * PARAMETERS:  FileID              - ID of outpout file
> + * PARAMETERS:  FileID              - ID of output file
>    *
>    * RETURN:      None
>    *
> diff --git a/src/acpica/source/compiler/asluuid.c b/src/acpica/source/compiler/asluuid.c
> index 0eb36050..fbbf644a 100644
> --- a/src/acpica/source/compiler/asluuid.c
> +++ b/src/acpica/source/compiler/asluuid.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslwalks.c b/src/acpica/source/compiler/aslwalks.c
> index 6e32f081..0f7bc94f 100644
> --- a/src/acpica/source/compiler/aslwalks.c
> +++ b/src/acpica/source/compiler/aslwalks.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslxref.c b/src/acpica/source/compiler/aslxref.c
> index 3a00f5a9..0e1034ba 100644
> --- a/src/acpica/source/compiler/aslxref.c
> +++ b/src/acpica/source/compiler/aslxref.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/aslxrefout.c b/src/acpica/source/compiler/aslxrefout.c
> index dd3fe80c..04471c63 100644
> --- a/src/acpica/source/compiler/aslxrefout.c
> +++ b/src/acpica/source/compiler/aslxrefout.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/cvcompiler.c b/src/acpica/source/compiler/cvcompiler.c
> index b51a688b..6689ca89 100644
> --- a/src/acpica/source/compiler/cvcompiler.c
> +++ b/src/acpica/source/compiler/cvcompiler.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/cvdisasm.c b/src/acpica/source/compiler/cvdisasm.c
> index 250c009a..7561e902 100644
> --- a/src/acpica/source/compiler/cvdisasm.c
> +++ b/src/acpica/source/compiler/cvdisasm.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/cvparser.c b/src/acpica/source/compiler/cvparser.c
> index 66b04e9a..574cbe8d 100644
> --- a/src/acpica/source/compiler/cvparser.c
> +++ b/src/acpica/source/compiler/cvparser.c
> @@ -9,7 +9,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/dtcompile.c b/src/acpica/source/compiler/dtcompile.c
> index 11fcb8b9..afb4e342 100644
> --- a/src/acpica/source/compiler/dtcompile.c
> +++ b/src/acpica/source/compiler/dtcompile.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/dtcompiler.h b/src/acpica/source/compiler/dtcompiler.h
> index e85ca539..cddc9519 100644
> --- a/src/acpica/source/compiler/dtcompiler.h
> +++ b/src/acpica/source/compiler/dtcompiler.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -577,6 +577,10 @@ ACPI_STATUS
>   DtCompileAsf (
>       void                    **PFieldList);
>   
> +ACPI_STATUS
> +DtCompileAspt (
> +    void                    **PFieldList);
> +
>   ACPI_STATUS
>   DtCompileCdat (
>       void                    **PFieldList);
> @@ -653,6 +657,10 @@ ACPI_STATUS
>   DtCompileMcfg (
>       void                    **PFieldList);
>   
> +ACPI_STATUS
> +DtCompileMpam (
> +    void                    **PFieldList);
> +
>   ACPI_STATUS
>   DtCompileMpst (
>       void                    **PFieldList);
> @@ -697,6 +705,10 @@ ACPI_STATUS
>   DtCompileRgrt (
>       void                    **PFieldList);
>   
> +ACPI_STATUS
> +DtCompileRhct (
> +    void                    **PFieldList);
> +
>   ACPI_STATUS
>   DtCompileRsdt (
>       void                    **PFieldList);
> @@ -773,6 +785,7 @@ extern const unsigned char  TemplateAest[];
>   extern const unsigned char  TemplateAgdi[];
>   extern const unsigned char  TemplateApmt[];
>   extern const unsigned char  TemplateAsf[];
> +extern const unsigned char  TemplateAspt[];
>   extern const unsigned char  TemplateBoot[];
>   extern const unsigned char  TemplateBdat[];
>   extern const unsigned char  TemplateBert[];
> @@ -801,6 +814,7 @@ extern const unsigned char  TemplateLpit[];
>   extern const unsigned char  TemplateMadt[];
>   extern const unsigned char  TemplateMcfg[];
>   extern const unsigned char  TemplateMchi[];
> +extern const unsigned char  TemplateMpam[];
>   extern const unsigned char  TemplateMpst[];
>   extern const unsigned char  TemplateMsct[];
>   extern const unsigned char  TemplateMsdm[];
> @@ -814,6 +828,7 @@ extern const unsigned char  TemplatePptt[];
>   extern const unsigned char  TemplatePrmt[];
>   extern const unsigned char  TemplateRasf[];
>   extern const unsigned char  TemplateRgrt[];
> +extern const unsigned char  TemplateRhct[];
>   extern const unsigned char  TemplateRsdt[];
>   extern const unsigned char  TemplateS3pt[];
>   extern const unsigned char  TemplateSbst[];
> diff --git a/src/acpica/source/compiler/dtcompilerparser.l b/src/acpica/source/compiler/dtcompilerparser.l
> index a00ef56e..a4ff02a0 100644
> --- a/src/acpica/source/compiler/dtcompilerparser.l
> +++ b/src/acpica/source/compiler/dtcompilerparser.l
> @@ -9,7 +9,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/dtcompilerparser.y b/src/acpica/source/compiler/dtcompilerparser.y
> index 30ead3af..f03615ff 100644
> --- a/src/acpica/source/compiler/dtcompilerparser.y
> +++ b/src/acpica/source/compiler/dtcompilerparser.y
> @@ -9,7 +9,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/dtexpress.c b/src/acpica/source/compiler/dtexpress.c
> index fd292d8f..7d614729 100644
> --- a/src/acpica/source/compiler/dtexpress.c
> +++ b/src/acpica/source/compiler/dtexpress.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -480,10 +480,11 @@ static void
>   DtInsertLabelField (
>       DT_FIELD                *Field)
>   {
> +    ACPI_FUNCTION_NAME (DtInsertLabelField);
>   
>       DbgPrint (ASL_DEBUG_OUTPUT,
> -        "DtInsertLabelField: Found Label : %s at output table offset %X\n",
> -        Field->Value, Field->TableOffset);
> +        "%s: Found Label : %s at output table offset %X\n",
> +         ACPI_GET_FUNCTION_NAME, Field->Value, Field->TableOffset);
>   
>       Field->NextLabel = AslGbl_LabelList;
>       AslGbl_LabelList = Field;
> diff --git a/src/acpica/source/compiler/dtfield.c b/src/acpica/source/compiler/dtfield.c
> index f9316319..b2ba6693 100644
> --- a/src/acpica/source/compiler/dtfield.c
> +++ b/src/acpica/source/compiler/dtfield.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -678,7 +678,7 @@ DtCompileFlag (
>   
>       case ACPI_DMT_FLAGS8_2:
>   
> -	BitPosition = 2;
> +        BitPosition = 2;
>           BitLength = 8;
>           break;
>   
> diff --git a/src/acpica/source/compiler/dtio.c b/src/acpica/source/compiler/dtio.c
> index 9ec18cd1..7d7fb2b4 100644
> --- a/src/acpica/source/compiler/dtio.c
> +++ b/src/acpica/source/compiler/dtio.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/dtparser.l b/src/acpica/source/compiler/dtparser.l
> index b7cb26e2..0c003eca 100644
> --- a/src/acpica/source/compiler/dtparser.l
> +++ b/src/acpica/source/compiler/dtparser.l
> @@ -9,7 +9,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/dtparser.y b/src/acpica/source/compiler/dtparser.y
> index fc8275cc..df804c91 100644
> --- a/src/acpica/source/compiler/dtparser.y
> +++ b/src/acpica/source/compiler/dtparser.y
> @@ -9,7 +9,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/dtsubtable.c b/src/acpica/source/compiler/dtsubtable.c
> index 3c2798b6..0bbaa81c 100644
> --- a/src/acpica/source/compiler/dtsubtable.c
> +++ b/src/acpica/source/compiler/dtsubtable.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/dttable.c b/src/acpica/source/compiler/dttable.c
> index dfc34c13..1cbd4619 100644
> --- a/src/acpica/source/compiler/dttable.c
> +++ b/src/acpica/source/compiler/dttable.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/dttable1.c b/src/acpica/source/compiler/dttable1.c
> index dc25e9b9..8ffcb40d 100644
> --- a/src/acpica/source/compiler/dttable1.c
> +++ b/src/acpica/source/compiler/dttable1.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -654,6 +654,91 @@ DtCompileAsf (
>       return (AE_OK);
>   }
>   
> +/******************************************************************************
> + *
> + * FUNCTION:    DtCompileAspt
> + *
> + * PARAMETERS:  List                - Current field list pointer
> + *
> + * RETURN:      Status
> + *
> + * DESCRIPTION: Compile ASPT.
> + *
> + *****************************************************************************/
> +
> +ACPI_STATUS
> +DtCompileAspt (
> +    void                    **List)
> +{
> +    ACPI_ASPT_HEADER        *AsptTable;
> +    DT_SUBTABLE             *Subtable;
> +    DT_SUBTABLE             *ParentTable;
> +    ACPI_DMTABLE_INFO       *InfoTable;
> +    ACPI_STATUS             Status;
> +    DT_FIELD                **PFieldList = (DT_FIELD **) List;
> +    DT_FIELD                *SubtableStart;
> +
> +    Status = DtCompileTable (PFieldList, AcpiDmTableInfoAspt, &Subtable);
> +    if (ACPI_FAILURE (Status))
> +    {
> +        return (Status);
> +    }
> +
> +    ParentTable = DtPeekSubtable ();
> +    DtInsertSubtable (ParentTable, Subtable);
> +
> +    while (*PFieldList)
> +    {
> +        SubtableStart = *PFieldList;
> +        Status = DtCompileTable (PFieldList, AcpiDmTableInfoAsptHdr,
> +            &Subtable);
> +        if (ACPI_FAILURE (Status))
> +        {
> +            return (Status);
> +        }
> +
> +        ParentTable = DtPeekSubtable ();
> +        DtInsertSubtable (ParentTable, Subtable);
> +        DtPushSubtable (Subtable);
> +
> +        AsptTable = ACPI_CAST_PTR (ACPI_ASPT_HEADER, Subtable->Buffer);
> +
> +        switch (AsptTable->Type) /* Mask off top bit */
> +        {
> +        case ACPI_ASPT_TYPE_GLOBAL_REGS:
> +
> +            InfoTable = AcpiDmTableInfoAspt0;
> +            break;
> +
> +        case ACPI_ASPT_TYPE_SEV_MBOX_REGS:
> +
> +            InfoTable = AcpiDmTableInfoAspt1;
> +            break;
> +
> +        case ACPI_ASPT_TYPE_ACPI_MBOX_REGS:
> +
> +            InfoTable = AcpiDmTableInfoAspt2;
> +            break;
> +
> +        default:
> +
> +            DtFatal (ASL_MSG_UNKNOWN_SUBTABLE, SubtableStart, "ASPT");
> +            return (AE_ERROR);
> +        }
> +
> +        Status = DtCompileTable (PFieldList, InfoTable, &Subtable);
> +        if (ACPI_FAILURE (Status))
> +        {
> +            return (Status);
> +        }
> +        ParentTable = DtPeekSubtable ();
> +        DtInsertSubtable (ParentTable, Subtable);
> +        DtPopSubtable ();
> +    }
> +
> +    return (AE_OK);
> +}
> +
>   
>   /******************************************************************************
>    *
> @@ -854,7 +939,7 @@ DtCompileCedt (
>               /* Look in buffer for the number of targets */
>               offset = (unsigned int) ACPI_OFFSET (ACPI_CEDT_CFMWS, InterleaveWays);
>               dump = (unsigned char *) Subtable->Buffer - 4;     /* place at beginning of cedt1 */
> -            max = 0x01 << dump[offset];     /* 2^max, so 0=1, 1=2, 2=4, 3=8.  8 is MAX */
> +            max = 0x01 << dump[offset];     /* 2^max, so 0=1, 1=2, 2=4, 3=8. 8 is MAX */
>               if (max > 8)    max=1;          /* Error in encoding Interleaving Ways. */
>               if (max == 1)                   /* if only one target, then break here. */
>                   break;                      /* break if only one target. */
> @@ -2009,7 +2094,7 @@ DtCompileHmat (
>           DtInsertSubtable (ParentTable, Subtable);
>           HmatStruct->Length += Subtable->Length;
>   
> -        /* Compile HMAT structure additionals */
> +        /* Compile HMAT structure additional */
>   
>           switch (HmatStruct->Type)
>           {
> diff --git a/src/acpica/source/compiler/dttable2.c b/src/acpica/source/compiler/dttable2.c
> index 59d578f9..007b6747 100644
> --- a/src/acpica/source/compiler/dttable2.c
> +++ b/src/acpica/source/compiler/dttable2.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -425,6 +425,163 @@ DtCompileMcfg (
>       return (Status);
>   }
>   
> +/******************************************************************************
> + *
> + * FUNCTION:    DtCompileMpam
> + *
> + * PARAMETERS:  List                - Current field list pointer
> + *
> + * RETURN:      Status
> + *
> + * DESCRIPTION: Compile MPAM.
> + *
> + *****************************************************************************/
> +
> +ACPI_STATUS
> +DtCompileMpam (
> +    void                    **List)
> +{
> +    ACPI_STATUS             Status;
> +    DT_SUBTABLE             *ParentTable;
> +    DT_SUBTABLE             *Subtable;
> +    DT_FIELD                *SubtableStart;
> +    DT_FIELD                **PFieldList = (DT_FIELD **) List;
> +    ACPI_MPAM_MSC_NODE      *MpamMscNode;
> +    ACPI_MPAM_RESOURCE_NODE *MpamResourceNode;
> +    UINT32                  FuncDepsCount;
> +    UINT32                  RisLength;
> +    ACPI_DMTABLE_INFO       *InfoTable;
> +
> +    ParentTable = DtPeekSubtable ();
> +
> +    while (*PFieldList)
> +    {
> +        SubtableStart = *PFieldList;
> +
> +        /* Main MSC Node table */
> +        Status = DtCompileTable (PFieldList, AcpiDmTableInfoMpam0,
> +            &Subtable);
> +        if (ACPI_FAILURE (Status))
> +        {
> +            return (Status);
> +        }
> +
> +        MpamMscNode = ACPI_CAST_PTR (ACPI_MPAM_MSC_NODE, Subtable->Buffer);
> +
> +        ParentTable = DtPeekSubtable ();
> +        DtInsertSubtable (ParentTable, Subtable);
> +        DtPushSubtable (Subtable);
> +
> +        ParentTable = DtPeekSubtable ();
> +
> +        /*
> +         * RIS(es) per MSC node have variable lengths depending on how many RISes there and
> +         * any how many functional dependencies per RIS. Calculate it in order
> +         * to properly set the overall MSC length.
> +         */
> +        RisLength = 0;
> +
> +        /* Iterate over RIS subtables per MSC node */
> +        for (UINT32 ris = 0; ris < MpamMscNode->NumResouceNodes; ris++)
> +        {
> +            /* Compile RIS subtable */
> +            Status = DtCompileTable (PFieldList, AcpiDmTableInfoMpam1,
> +                &Subtable);
> +            if (ACPI_FAILURE (Status))
> +            {
> +                return (Status);
> +            }
> +
> +            MpamResourceNode = ACPI_CAST_PTR (ACPI_MPAM_RESOURCE_NODE, Subtable->Buffer);
> +            DtInsertSubtable (ParentTable, Subtable);
> +            DtPushSubtable (Subtable);
> +
> +            ParentTable = DtPeekSubtable ();
> +
> +            switch (MpamResourceNode->LocatorType)
> +            {
> +                case ACPI_MPAM_LOCATION_TYPE_PROCESSOR_CACHE:
> +                    InfoTable = AcpiDmTableInfoMpam1A;
> +                    break;
> +                case ACPI_MPAM_LOCATION_TYPE_MEMORY:
> +                    InfoTable = AcpiDmTableInfoMpam1B;
> +                    break;
> +                case ACPI_MPAM_LOCATION_TYPE_SMMU:
> +                    InfoTable = AcpiDmTableInfoMpam1C;
> +                    break;
> +                case ACPI_MPAM_LOCATION_TYPE_MEMORY_CACHE:
> +                    InfoTable = AcpiDmTableInfoMpam1D;
> +                    break;
> +                case ACPI_MPAM_LOCATION_TYPE_ACPI_DEVICE:
> +                    InfoTable = AcpiDmTableInfoMpam1E;
> +                    break;
> +                case ACPI_MPAM_LOCATION_TYPE_INTERCONNECT:
> +                    InfoTable = AcpiDmTableInfoMpam1F;
> +                    break;
> +                case ACPI_MPAM_LOCATION_TYPE_UNKNOWN:
> +                    InfoTable = AcpiDmTableInfoMpam1G;
> +                default:
> +                    DtFatal (ASL_MSG_UNKNOWN_SUBTABLE, SubtableStart, "Resource Locator Type");
> +                    return (AE_ERROR);
> +            }
> +
> +            /* Compile Resource Locator Table */
> +            Status = DtCompileTable (PFieldList, InfoTable,
> +                &Subtable);
> +
> +            if (ACPI_FAILURE (Status))
> +            {
> +                return (Status);
> +            }
> +
> +            DtInsertSubtable (ParentTable, Subtable);
> +
> +            /* Compile the number of functional dependencies per RIS */
> +            Status = DtCompileTable (PFieldList, AcpiDmTableInfoMpam1Deps,
> +                &Subtable);
> +
> +            if (ACPI_FAILURE (Status))
> +            {
> +                return (Status);
> +            }
> +
> +            DtInsertSubtable (ParentTable, Subtable);
> +            FuncDepsCount = *ACPI_CAST_PTR (UINT32, Subtable->Buffer);
> +
> +            RisLength += sizeof(ACPI_MPAM_RESOURCE_NODE) +
> +                FuncDepsCount * sizeof(ACPI_MPAM_FUNC_DEPS);
> +
> +            /* Iterate over functional dependencies per RIS */
> +            for (UINT32 funcDep = 0; funcDep < FuncDepsCount; funcDep++)
> +            {
> +                /* Compiler functional dependencies table */
> +                Status = DtCompileTable (PFieldList, AcpiDmTableInfoMpam2,
> +                    &Subtable);
> +
> +                if (ACPI_FAILURE (Status))
> +                {
> +                    return (Status);
> +                }
> +
> +                DtInsertSubtable (ParentTable, Subtable);
> +            }
> +
> +            DtPopSubtable ();
> +        }
> +
> +        /* Check if the length of the MSC is correct and override with the correct length */
> +        if (MpamMscNode->Length != sizeof(ACPI_MPAM_MSC_NODE) + RisLength)
> +        {
> +            MpamMscNode->Length = (UINT16) (sizeof(ACPI_MPAM_MSC_NODE) + RisLength);
> +            DbgPrint (ASL_DEBUG_OUTPUT, "Overriding MSC->Length: %X\n", MpamMscNode->Length);
> +        }
> +
> +        DtPopSubtable ();
> +    }
> +
> +    return (AE_OK);
> +}
> +
>   
>   /******************************************************************************
>    *
> @@ -1086,7 +1243,7 @@ DtCompileNhlt (
>   
>               /*
>                * If we are not done with the current Endpoint yet, then there must be
> -             * some non documeneted structure(s) yet to be processed. First, get
> +             * some non documented structure(s) yet to be processed. First, get
>                * the count of such structure(s).
>                */
>               if (*PFieldList && !(strcmp ((const char *) (*PFieldList)->Name, "Device Info struct count")))
> @@ -1800,7 +1957,7 @@ DtCompilePptt (
>           DtInsertSubtable (ParentTable, Subtable);
>           PpttHeader->Length += (UINT8)(Subtable->Length);
>   
> -        /* Compile PPTT subtable additionals */
> +        /* Compile PPTT subtable additional */
>   
>           switch (PpttHeader->Type)
>           {
> @@ -1969,6 +2126,128 @@ DtCompileRgrt (
>   }
>   
>   
> +/******************************************************************************
> + *
> + * FUNCTION:    DtCompileRhct
> + *
> + * PARAMETERS:  List                - Current field list pointer
> + *
> + * RETURN:      Status
> + *
> + * DESCRIPTION: Compile RHCT.
> + *
> + *****************************************************************************/
> +
> +ACPI_STATUS
> +DtCompileRhct (
> +    void                    **List)
> +{
> +    ACPI_STATUS             Status;
> +    ACPI_RHCT_NODE_HEADER   *RhctHeader;
> +    ACPI_RHCT_HART_INFO     *RhctHartInfo = NULL;
> +    DT_SUBTABLE             *Subtable;
> +    DT_SUBTABLE             *ParentTable;
> +    ACPI_DMTABLE_INFO       *InfoTable;
> +    DT_FIELD                **PFieldList = (DT_FIELD **) List;
> +    DT_FIELD                *SubtableStart;
> +
> +
> +    /* Compile the main table */
> +
> +    Status = DtCompileTable (PFieldList, AcpiDmTableInfoRhct,
> +        &Subtable);
> +    if (ACPI_FAILURE (Status))
> +    {
> +        return (Status);
> +    }
> +
> +    ParentTable = DtPeekSubtable ();
> +    while (*PFieldList)
> +    {
> +        SubtableStart = *PFieldList;
> +
> +        /* Compile RHCT subtable header */
> +
> +        Status = DtCompileTable (PFieldList, AcpiDmTableInfoRhctNodeHdr,
> +            &Subtable);
> +        if (ACPI_FAILURE (Status))
> +        {
> +            return (Status);
> +        }
> +        DtInsertSubtable (ParentTable, Subtable);
> +        RhctHeader = ACPI_CAST_PTR (ACPI_RHCT_NODE_HEADER, Subtable->Buffer);
> +        RhctHeader->Length = (UINT16)(Subtable->Length);
> +
> +        switch (RhctHeader->Type)
> +        {
> +        case ACPI_RHCT_NODE_TYPE_ISA_STRING:
> +
> +            InfoTable = AcpiDmTableInfoRhctIsa1;
> +            break;
> +
> +        case ACPI_RHCT_NODE_TYPE_HART_INFO:
> +
> +            InfoTable = AcpiDmTableInfoRhctHartInfo1;
> +            break;
> +
> +        default:
> +
> +            DtFatal (ASL_MSG_UNKNOWN_SUBTABLE, SubtableStart, "RHCT");
> +            return (AE_ERROR);
> +        }
> +
> +        /* Compile RHCT subtable body */
> +
> +        Status = DtCompileTable (PFieldList, InfoTable, &Subtable);
> +        if (ACPI_FAILURE (Status))
> +        {
> +            return (Status);
> +        }
> +        DtInsertSubtable (ParentTable, Subtable);
> +        RhctHeader->Length += (UINT16)(Subtable->Length);
> +
> +        /* Compile RHCT subtable additionals */
> +
> +        switch (RhctHeader->Type)
> +        {
> +        case ACPI_RHCT_NODE_TYPE_HART_INFO:
> +
> +            RhctHartInfo = ACPI_SUB_PTR (ACPI_RHCT_HART_INFO,
> +                Subtable->Buffer, sizeof (ACPI_RHCT_NODE_HEADER));
> +            if (RhctHartInfo)
> +            {
> +
> +                RhctHartInfo->NumOffsets = 0;
> +                while (*PFieldList)
> +                {
> +                    Status = DtCompileTable (PFieldList,
> +                        AcpiDmTableInfoRhctHartInfo2, &Subtable);
> +                    if (ACPI_FAILURE (Status))
> +                    {
> +                        return (Status);
> +                    }
> +                    if (!Subtable)
> +                    {
> +                        break;
> +                    }
> +
> +                    DtInsertSubtable (ParentTable, Subtable);
> +                    RhctHeader->Length += (UINT16)(Subtable->Length);
> +                    RhctHartInfo->NumOffsets++;
> +                }
> +            }
> +            break;
> +
> +        default:
> +
> +            break;
> +        }
> +    }
> +
> +    return (AE_OK);
> +}
> +
> +
>   /******************************************************************************
>    *
>    * FUNCTION:    DtCompileRsdt
> diff --git a/src/acpica/source/compiler/dttemplate.c b/src/acpica/source/compiler/dttemplate.c
> index 1bcc4a12..77edbc85 100644
> --- a/src/acpica/source/compiler/dttemplate.c
> +++ b/src/acpica/source/compiler/dttemplate.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/dttemplate.h b/src/acpica/source/compiler/dttemplate.h
> index 3ab99978..755da402 100644
> --- a/src/acpica/source/compiler/dttemplate.h
> +++ b/src/acpica/source/compiler/dttemplate.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -301,6 +301,27 @@ const unsigned char TemplateAsf[] =
>       0x01,0x00                                 /* 00000070    ".."       */
>   };
>   
> +const unsigned char TemplateAspt[] =
> +{
> +    0x41,0x53,0x50,0x54,0x88,0x00,0x00,0x00,  /* 00000000    "ASPT...." */
> +    0x01,0x2D,0x56,0x52,0x54,0x55,0x41,0x4C,  /* 00000008    "..VRTUAL" */
> +    0x4D,0x49,0x43,0x52,0x4F,0x53,0x46,0x54,  /* 00000010    "MICROSFT" */
> +    0x01,0x00,0x00,0x00,0x4D,0x53,0x46,0x54,  /* 00000018    "....INTL" */
> +    0x01,0x00,0x00,0x00,0x03,0x00,0x00,0x00,  /* 00000020    " ." ...." */
> +    0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,  /* 00000028    ".. ....." */
> +    0x00,0x00,0xB0,0xFE,0x00,0x00,0x00,0x00,  /* 00000030    "........" */
> +    0x04,0x00,0xB0,0xFE,0x00,0x00,0x00,0x00,  /* 00000038    "........" */
> +    0x08,0x00,0xB0,0xFE,0x00,0x00,0x00,0x00,  /* 00000040    "........" */
> +    0x01,0x00,0x20,0x00,0x01,0x00,0x00,0x00,  /* 00000048    ".. ....." */
> +    0x10,0x00,0xB0,0xFE,0x00,0x00,0x00,0x00,  /* 00000050    "........" */
> +    0x14,0x00,0xB0,0xFE,0x00,0x00,0x00,0x00,  /* 00000058    "........" */
> +    0x18,0x00,0xB0,0xFE,0x00,0x00,0x00,0x00,  /* 00000060    "........" */
> +    0x02,0x00,0x20,0x00,0x00,0x00,0x00,0x00,  /* 00000068    ".. ....." */
> +    0x20,0x00,0xB0,0xFE,0x00,0x00,0x00,0x00,  /* 00000070    " ......." */
> +    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  /* 00000078    "........" */
> +    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  /* 00000080    "........" */
> +};
> +
>   const unsigned char TemplateBdat[] =
>   {
>       0x42,0x44,0x41,0x54,0x30,0x00,0x00,0x00,  /* 00000000    "BDAT0..." */
> @@ -1197,6 +1218,42 @@ const unsigned char TemplateMsdm[] =
>       0x22,0x23,0x24,0x25                       /* 00000060    ""#$%"     */
>   };
>   
> +const unsigned char TemplateMpam[] =
> +{
> +    0x4D,0x50,0x41,0x4D,0xFC,0x00,0x00,0x00,  /* 00000000    "MPAM...." */
> +    0x02,0x34,0x48,0x49,0x53,0x49,0x20,0x20,  /* 00000008    ".4HISI  " */
> +    0x54,0x45,0x4D,0x50,0x4C,0x41,0x54,0x45,  /* 00000010    "TEMPLATE" */
> +    0x02,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C,  /* 00000018    "....INTL" */
> +    0x20,0x10,0x22,0x20,0x60,0x00,0x00,0x00,  /* 00000020    " ." `..." */
> +    0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,  /* 00000028    "........" */
> +    0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,  /* 00000030    "........" */
> +    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  /* 00000038    "........" */
> +    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  /* 00000040    "........" */
> +    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  /* 00000048    "........" */
> +    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  /* 00000050    "........" */
> +    0x32,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  /* 00000058    "2......." */
> +    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  /* 00000060    "........" */
> +    0x01,0x00,0x00,0x00,0x11,0x00,0x00,0x00,  /* 00000068    "........" */
> +    0x00,0x00,0x00,0x01,0x20,0x00,0x00,0x00,  /* 00000070    ".... ..." */
> +    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  /* 00000078    "........" */
> +    0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x00,  /* 00000080    "....x..." */
> +    0x02,0x00,0x00,0x00,0x00,0x00,0x00,0xD0,  /* 00000088    "........" */
> +    0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,  /* 00000090    "........" */
> +    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  /* 00000098    "........" */
> +    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  /* 000000A0    "........" */
> +    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  /* 000000A8    "........" */
> +    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  /* 000000B0    "........" */
> +    0x32,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  /* 000000B8    "2......." */
> +    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  /* 000000C0    "........" */
> +    0x02,0x00,0x00,0x00,0x12,0x00,0x00,0x00,  /* 000000C8    "........" */
> +    0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,  /* 000000D0    "........" */
> +    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  /* 000000D8    "........" */
> +    0x00,0x00,0x00,0x00,0x13,0x00,0x00,0x00,  /* 000000E0    "........" */
> +    0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,  /* 000000E8    "........" */
> +    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  /* 000000F0    "........" */
> +    0x00,0x00,0x00,0x00                       /* 000000F8    "...."     */
> +};
> +
>   const unsigned char TemplateMpst[] =
>   {
>       0x4D,0x50,0x53,0x54,0xB6,0x00,0x00,0x00,  /* 00000000    "MPST...." */
> @@ -1659,6 +1716,26 @@ const unsigned char TemplateRgrt[] =
>       0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27   /* 00000048    " !"#$%&'" */
>   };
>   
> +const unsigned char TemplateRhct[] =
> +{
> +    0x52,0x48,0x43,0x54,0x7C,0x00,0x00,0x00,  /* 00000000    "RHCT|..." */
> +    0x01,0x7D,0x4F,0x45,0x4D,0x43,0x41,0x00,  /* 00000008    "..OEMCA." */
> +    0x54,0x45,0x4D,0x50,0x4C,0x41,0x54,0x45,  /* 00000010    "TEMPLATE" */
> +    0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C,  /* 00000018    "....INTL" */
> +    0x28,0x09,0x22,0x20,0x00,0x00,0x00,0x00,  /* 00000020    "... ...." */
> +    0x80,0x96,0x98,0x00,0x00,0x00,0x00,0x00,  /* 00000028    "........" */
> +    0x02,0x00,0x00,0x00,0x38,0x00,0x00,0x00,  /* 00000030    "....8..." */
> +    0x00,0x00,0x34,0x00,0x01,0x00,0x2B,0x00,  /* 00000038    "..4...*." */
> +    0x72,0x76,0x36,0x34,0x69,0x6D,0x61,0x66,  /* 00000040    "rv64imaf" */
> +    0x64,0x63,0x68,0x5F,0x7A,0x69,0x63,0x73,  /* 00000048    "dch_zics" */
> +    0x72,0x5F,0x7A,0x69,0x66,0x65,0x6E,0x63,  /* 00000050    "r_zifenc" */
> +    0x65,0x69,0x5F,0x7A,0x62,0x61,0x5F,0x7A,  /* 00000058    "ei_zba_z" */
> +    0x62,0x62,0x5F,0x7A,0x62,0x63,0x5F,0x7A,  /* 00000060    "bb_zbc_z" */
> +    0x62,0x73,0x00,0x00,0xFF,0xFF,0x10,0x00,  /* 00000068    "bs......" */
> +    0x01,0x00,0x01,0x00,0x00,0x00,0x00,0x00,  /* 00000070    "........" */
> +    0x38,0x00,0x00,0x00                       /* 00000078    "........" */
> +};
> +
>   const unsigned char TemplateRsdp[] =
>   {
>       0x52,0x53,0x44,0x20,0x50,0x54,0x52,0x20,  /* 00000000    "RSD PTR " */
> diff --git a/src/acpica/source/compiler/dtutils.c b/src/acpica/source/compiler/dtutils.c
> index 45bff3df..de321e58 100644
> --- a/src/acpica/source/compiler/dtutils.c
> +++ b/src/acpica/source/compiler/dtutils.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -584,6 +584,7 @@ DtGetFieldLength (
>       case ACPI_DMT_IVRS_DE:
>       case ACPI_DMT_GTDT:
>       case ACPI_DMT_MADT:
> +    case ACPI_DMT_MPAM_LOCATOR:
>       case ACPI_DMT_NHLT1:
>       case ACPI_DMT_NHLT1a:
>       case ACPI_DMT_NHLT1b:
> @@ -614,6 +615,7 @@ DtGetFieldLength (
>           ByteLength = 1;
>           break;
>   
> +    case ACPI_DMT_ASPT:
>       case ACPI_DMT_UINT16:
>       case ACPI_DMT_DMAR:
>       case ACPI_DMT_HEST:
> diff --git a/src/acpica/source/compiler/preprocess.h b/src/acpica/source/compiler/preprocess.h
> index 9c25dd13..818eac26 100644
> --- a/src/acpica/source/compiler/preprocess.h
> +++ b/src/acpica/source/compiler/preprocess.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -249,6 +249,7 @@ typedef struct directive_info
>    */
>   PR_EXTERN char                  PR_INIT_GLOBAL (*AslGbl_MainTokenBuffer, NULL); /* [ASL_LINE_BUFFER_SIZE]; */
>   PR_EXTERN char                  PR_INIT_GLOBAL (*AslGbl_MacroTokenBuffer, NULL); /* [ASL_LINE_BUFFER_SIZE]; */
> +PR_EXTERN char                  PR_INIT_GLOBAL (*AslGbl_MacroTokenReplaceBuffer, NULL); /* [ASL_LINE_BUFFER_SIZE]; */
>   PR_EXTERN char                  PR_INIT_GLOBAL (*AslGbl_ExpressionTokenBuffer, NULL); /* [ASL_LINE_BUFFER_SIZE]; */
>   
>   PR_EXTERN UINT32                AslGbl_PreprocessorLineNumber;
> @@ -370,6 +371,14 @@ PrError (
>       UINT32                  Column);
>   
>   void
> +PrReplaceResizeSubstring(
> +    PR_MACRO_ARG            *Args,
> +    UINT32                  Diff1,
> +    UINT32                  Diff2,
> +    UINT32                  i,
> +    char                    *Token);
> +
> +char *
>   PrReplaceData (
>       char                    *Buffer,
>       UINT32                  LengthToRemove,
> diff --git a/src/acpica/source/compiler/prexpress.c b/src/acpica/source/compiler/prexpress.c
> index 8ac1fd88..88570685 100644
> --- a/src/acpica/source/compiler/prexpress.c
> +++ b/src/acpica/source/compiler/prexpress.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/prmacros.c b/src/acpica/source/compiler/prmacros.c
> index 5b366978..6414867b 100644
> --- a/src/acpica/source/compiler/prmacros.c
> +++ b/src/acpica/source/compiler/prmacros.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -393,10 +393,10 @@ PrAddMacro (
>       UINT16                  UseCount = 0;
>       UINT16                  ArgCount = 0;
>       UINT32                  Depth = 1;
> +    /*UINT32                  Depth = 1;*/
>       UINT32                  EndOfArgList;
>       char                    BufferChar;
>   
> -
>       /* Find the end of the arguments list */
>   
>       TokenOffset = Name - AslGbl_MainTokenBuffer + strlen (Name) + 1;
> @@ -437,6 +437,7 @@ PrAddMacro (
>       for (i = 0; i < PR_MAX_MACRO_ARGS; i++)
>       {
>           Token = PrGetNextToken (NULL, PR_MACRO_SEPARATORS, Next);
> +
>           if (!Token)
>           {
>               /* This is the case for a NULL macro body */
> @@ -454,14 +455,13 @@ PrAddMacro (
>           }
>   
>           DbgPrint (ASL_DEBUG_OUTPUT, PR_PREFIX_ID
> -            "Macro arg: %s \n",
> +            "Macro param: %s \n",
>               AslGbl_CurrentLineNumber, Token);
>   
>           Args[i].Name = UtLocalCalloc (strlen (Token) + 1);
>           strcpy (Args[i].Name, Token);
>   
>           Args[i].UseCount = 0;
> -
>           ArgCount++;
>           if (ArgCount >= PR_MAX_MACRO_ARGS)
>           {
> @@ -476,7 +476,6 @@ PrAddMacro (
>   
>       /* Match each method arg in the macro body for later use */
>   
> -    Token = PrGetNextToken (NULL, PR_MACRO_SEPARATORS, Next);
>       while (Token)
>       {
>           /* Search the macro arg list for matching arg */
> @@ -496,12 +495,14 @@ PrAddMacro (
>                   Args[i].Offset[UseCount] =
>                       (Token - AslGbl_MainTokenBuffer) - MacroBodyOffset;
>   
> +
>                   DbgPrint (ASL_DEBUG_OUTPUT, PR_PREFIX_ID
>                       "Macro Arg #%u: %s UseCount %u Offset %u \n",
>                       AslGbl_CurrentLineNumber, i, Token,
>                       UseCount+1, Args[i].Offset[UseCount]);
>   
>                   Args[i].UseCount++;
> +
>                   if (Args[i].UseCount >= PR_MAX_ARG_INSTANCES)
>                   {
>                       PrError (ASL_ERROR, ASL_MSG_TOO_MANY_ARGUMENTS,
> @@ -596,7 +597,8 @@ PrDoMacroInvocation (
>       UINT32                  TokenOffset;
>       UINT32                  Length;
>       UINT32                  i;
> -
> +    UINT32                  Diff1;
> +    UINT32                  Diff2;
>   
>       /* Take a copy of the macro body for expansion */
>   
> @@ -610,6 +612,7 @@ PrDoMacroInvocation (
>           /* This macro has no arguments */
>   
>           Token = PrGetNextToken (NULL, PR_MACRO_ARGUMENTS, Next);
> +
>           if (!Token)
>           {
>               goto BadInvocation;
> @@ -634,21 +637,35 @@ PrDoMacroInvocation (
>               goto BadInvocation;
>           }
>   
> +        /*
> +         * Avoid optimizing using just 1 signed int due to specific
> +         * non-portable implementations of signed ints
> +         */
> +        Diff1 = strlen (Args->Name) > strlen (Token) ? strlen (Args->Name) -
> +            strlen (Token) : 0;
> +
> +        Diff2 = strlen (Args->Name) < strlen (Token) ? strlen (Token) -
> +            strlen (Args->Name) : 0;
> +
>           /* Replace all instances of this argument */
>   
>           for (i = 0; i < Args->UseCount; i++)
>           {
> -            /* Offset zero indicates "arg not used" */
> -            /* TBD: Not really needed now, with UseCount available */
> +            /*
> +             * To test the output of the preprocessed macro function that
> +             * is passed to the compiler
> +             */
>   
> -            if (Args->Offset[i] == 0)
> -            {
> -                break;
> -            }
> +             /*
> +              * fprintf (stderr, "Current token = %s \t Current arg_name = %s \
> +              * \t strlen (Token) = %u \t strlen (Args->Name) = %u \t Offset = %u \
> +              * \t UseCount = %u \t", Token, Args->Name, strlen (Token), \
> +              *     strlen (Args->Name), Args->Offset[i], Args->UseCount);
> +              */
> +
> +            AslGbl_MacroTokenReplaceBuffer = (char *) calloc ((strlen (AslGbl_MacroTokenBuffer)), sizeof (char));
>   
> -            PrReplaceData (
> -                &AslGbl_MacroTokenBuffer[Args->Offset[i]], strlen (Args->Name),
> -                Token, strlen (Token));
> +            PrReplaceResizeSubstring (Args, Diff1, Diff2, i, Token);
>   
>               DbgPrint (ASL_DEBUG_OUTPUT, PR_PREFIX_ID
>                   "ExpandArg: %s \n",
> @@ -658,8 +675,6 @@ PrDoMacroInvocation (
>           Args++;
>       }
>   
> -    /* TBD: need to make sure macro was not invoked with too many arguments */
> -
>       if (!Token)
>       {
>           return;
> @@ -676,7 +691,6 @@ PrDoMacroInvocation (
>   
>       return;
>   
> -
>   BadInvocation:
>       PrError (ASL_ERROR, ASL_MSG_INVALID_INVOCATION,
>           THIS_TOKEN_OFFSET (MacroStart));
> diff --git a/src/acpica/source/compiler/prparser.l b/src/acpica/source/compiler/prparser.l
> index 828d81b2..c701da4a 100644
> --- a/src/acpica/source/compiler/prparser.l
> +++ b/src/acpica/source/compiler/prparser.l
> @@ -9,7 +9,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/prparser.y b/src/acpica/source/compiler/prparser.y
> index 3854d989..2f4d0327 100644
> --- a/src/acpica/source/compiler/prparser.y
> +++ b/src/acpica/source/compiler/prparser.y
> @@ -9,7 +9,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/compiler/prscan.c b/src/acpica/source/compiler/prscan.c
> index 0d9af86e..d29f4e90 100644
> --- a/src/acpica/source/compiler/prscan.c
> +++ b/src/acpica/source/compiler/prscan.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -780,8 +780,9 @@ PrDoDirective (
>           TokenOffset = Token - AslGbl_MainTokenBuffer + strlen (Token);
>           if (*(&AslGbl_CurrentLineBuffer[TokenOffset]) == '(')
>           {
> -#ifndef MACROS_SUPPORTED
> -            AcpiOsPrintf (
> +
> +#ifdef MACROS_SUPPORTED
> +            AcpiOsPrintf(
>                   "%s ERROR - line %u: #define macros are not supported yet\n",
>                   AslGbl_CurrentLineBuffer, AslGbl_LogicalLineNumber);
>               exit(1);
> @@ -789,6 +790,8 @@ PrDoDirective (
>               PrAddMacro (Token, Next);
>   #endif
>           }
> +
> +
>           else
>           {
>               /* Use the remainder of the line for the #define */
> diff --git a/src/acpica/source/compiler/prutils.c b/src/acpica/source/compiler/prutils.c
> index eea42f89..2eb91a6c 100644
> --- a/src/acpica/source/compiler/prutils.c
> +++ b/src/acpica/source/compiler/prutils.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -282,6 +282,238 @@ PrError (
>   }
>   
>   
> +/*******************************************************************************
> + *
> + * FUNCTION:    PrReplaceResizeSubstring
> + *
> + * PARAMETERS:  Args                - Struct containing name, offset & usecount
> + *              Diff1               - Difference in lengths when new < old
> + *              Diff2               - Difference in lengths when new > old
> +*               i                   - The curr. no. of iteration of replacement
> + *              Token               - Substring that replaces Args->Name
> + *
> + * RETURN:      None
> + *
> + * DESCRIPTION: Advanced substring replacement in a string using resized buffer.
> + *
> + ******************************************************************************/
> +
> +void
> +PrReplaceResizeSubstring(
> +    PR_MACRO_ARG            *Args,
> +    UINT32                  Diff1,
> +    UINT32                  Diff2,
> +    UINT32                  i,
> +    char                    *Token)
> +{
> +    UINT32                  b, PrevOffset;
> +    char                    *temp;
> +    char                    macro_sep[64];
> +
> +
> +    AslGbl_MacroTokenReplaceBuffer = (char *) realloc (AslGbl_MacroTokenReplaceBuffer,
> +        (2 * (strlen (AslGbl_MacroTokenBuffer))));
> +
> +    strcpy (macro_sep, "~,() {}!*/%+-<>=&^|\"\t\n");
> +
> +    /*
> +     * When the replacement argument (during invocation) length
> +     * < replaced parameter (in the macro function definition
> +     * and its expansion) length
> +     */
> +    if (Diff1 != 0)
> +    {
> +        /*
> +         * We save the offset value to reset it after replacing each
> +         * instance of each arg and setting the offset value to
> +         * the start of the arg to be replaced since it changes
> +         * with each iteration when arg length != token length
> +         */
> +        PrevOffset = Args->Offset[i];
> +        temp = strstr (AslGbl_MacroTokenBuffer, Args->Name);
> +
> +ResetHere1:
> +        temp = strstr (temp, Args->Name);
> +        Args->Offset[i] = strlen (AslGbl_MacroTokenBuffer) -
> +            strlen (temp);
> +        if (Args->Offset[i] == 0)
> +        {
> +            goto JumpHere1;
> +        }
> +        if ((strchr (macro_sep, AslGbl_MacroTokenBuffer[(Args->Offset[i] - 1)])) &&
> +            (strchr (macro_sep, AslGbl_MacroTokenBuffer[(Args->Offset[i] + strlen (Args->Name))])))
> +        {
> +            Args->Offset[i] += 0;
> +        }
> +        else
> +        {
> +            temp += strlen (Args->Name);
> +            goto ResetHere1;
> +        }
> +
> +        /*
> +         * For now, we simply set the extra char positions (generated
> +         * due to longer name replaced by shorter name) to whitespace
> +         * chars so it will be ignored during compilation
> +         */
> +JumpHere1:
> +        b = strlen (Token) + Args->Offset[i];
> +        memset (&AslGbl_MacroTokenBuffer[b], ' ', Diff1);
> +
> +# if 0
> +
> +    /* Work in progress as of 03/08/2023 - experimental 'if' block
> +     * to test code for removing extra whitespaces from the macro
> +     * replacement when replacement arg < replaced param
> +     */
> +        char Buff[8192];
> +        /* char* Replace; */
> +        /* Replace = Buff; */
> +
> +        for (j = 0; j < strlen (AslGbl_MacroTokenBuffer); j++)
> +        {
> +            Buff[j] = AslGbl_MacroTokenBuffer[j];
> +        }
> +        Buff[strlen (AslGbl_MacroTokenBuffer)] = '\0';
> +        //fprintf (stderr, "Buff: %s\n", Buff);
> +
> +        UINT32 len = strlen (Buff);
> +
> +        for (j = 0; j < len; j++)
> +        {
> +            if (Buff[0] == ' ')
> +            {
> +                for (j = 0; j < (len - 1); j++)
> +                {
> +                    Buff[j] = Buff[j + 1];
> +                }
> +                Buff[j] = '\0';
> +                len--;
> +                j = -1;
> +                continue;
> +            }
> +
> +            if (Buff[j] == ' ' && Buff[j + 1] == ' ')
> +            {
> +                for (k = 0; k < (len - 1); k++)
> +                {
> +                    Buff[j] = Buff[j + 1];
> +                }
> +                Buff[j] = '\0';
> +                len--;
> +                j--;
> +            }
> +        }
> +        //fprintf(stderr, "Buff: %s\n", Buff);
> +
> +        for (k = 0; k < strlen (Buff); k++)
> +        {
> +            AslGbl_MacroTokenBuffer[k] = Buff[k];
> +        }
> +#endif
> +
> +        PrReplaceData (
> +            &AslGbl_MacroTokenBuffer[Args->Offset[i]],
> +            strlen (Token), Token, strlen (Token));
> +
> +        temp = NULL;
> +        Args->Offset[i] = PrevOffset;
> +    }
> +
> +    /*
> +     * When the replacement argument (during invocation) length
> +     * > replaced parameter (in the macro function definition
> +     * and its expansion) length
> +     */
> +    else if (Diff2 != 0)
> +    {
> +        /* Doing the same thing with offset value as for prev case */
> +
> +        PrevOffset = Args->Offset[i];
> +        temp = strstr (AslGbl_MacroTokenBuffer, Args->Name);
> +
> +ResetHere2:
> +        temp = strstr (temp, Args->Name);
> +        Args->Offset[i] = strlen (AslGbl_MacroTokenBuffer) -
> +            strlen (temp);
> +        if (Args->Offset[i] == 0)
> +        {
> +            goto JumpHere2;
> +        }
> +        if ((strchr (macro_sep, AslGbl_MacroTokenBuffer[(Args->Offset[i] - 1)])) &&
> +            (strchr (macro_sep, AslGbl_MacroTokenBuffer[(Args->Offset[i] + strlen (Args->Name))])))
> +        {
> +            Args->Offset[i] += 0;
> +        }
> +        else
> +        {
> +            temp+= strlen (Args->Name);
> +            goto ResetHere2;
> +        }
> +
> +        /*
> +         * We will need to allocate some extra space in our buffer to
> +         * accommodate the increase in the replacement string length
> +         * over the shorter outgoing arg string and do the replacement
> +         * at the correct offset value which is resetted every iteration
> +         */
> +JumpHere2:
> +        strncpy (AslGbl_MacroTokenReplaceBuffer, AslGbl_MacroTokenBuffer, Args->Offset[i]);
> +        strcat (AslGbl_MacroTokenReplaceBuffer, Token);
> +        strcat (AslGbl_MacroTokenReplaceBuffer, (AslGbl_MacroTokenBuffer +
> +            (Args->Offset[i] + strlen (Args->Name))));
> +
> +        strcpy (AslGbl_MacroTokenBuffer, AslGbl_MacroTokenReplaceBuffer);
> +
> +        temp = NULL;
> +        Args->Offset[i] = PrevOffset;
> +    }
> +
> +    /*
> +     * When the replacement argument (during invocation) length =
> +     * replaced parameter (in the macro function definition and
> +     * its expansion) length
> +     */
> +    else
> +    {
> +
> +        /*
> +         * We still need to reset the offset for each iteration even when
> +         * arg and param lengths are same since any macro func invocation
> +         * could use various cases for each separate arg-param pair
> +         */
> +        PrevOffset = Args->Offset[i];
> +        temp = strstr (AslGbl_MacroTokenBuffer, Args->Name);
> +
> +ResetHere3:
> +        temp = strstr (temp, Args->Name);
> +        Args->Offset[i] = strlen (AslGbl_MacroTokenBuffer) -
> +            strlen (temp);
> +        if (Args->Offset[i] == 0)
> +        {
> +            goto JumpHere3;
> +        }
> +        if ((strchr (macro_sep, AslGbl_MacroTokenBuffer[(Args->Offset[i] - 1)])) &&
> +            (strchr (macro_sep, AslGbl_MacroTokenBuffer[(Args->Offset[i] + strlen (Args->Name))])))
> +        {
> +            Args->Offset[i] += 0;
> +        }
> +        else
> +        {
> +            temp += strlen (Args->Name);
> +            goto ResetHere3;
> +        }
> +
> +JumpHere3:
> +        PrReplaceData (
> +            &AslGbl_MacroTokenBuffer[Args->Offset[i]],
> +            strlen (Args->Name), Token, strlen (Token));
> +        temp = NULL;
> +        Args->Offset[i] = PrevOffset;
> +    }
> +}
> +
> +
>   /*******************************************************************************
>    *
>    * FUNCTION:    PrReplaceData
> @@ -291,13 +523,13 @@ PrError (
>    *              BufferToAdd         - Data to be inserted into target buffer
>    *              LengthToAdd         - Length of BufferToAdd
>    *
> - * RETURN:      None
> + * RETURN:      Pointer to where the buffer is replaced with data
>    *
>    * DESCRIPTION: Generic buffer data replacement.
>    *
>    ******************************************************************************/
>   
> -void
> +char *
>   PrReplaceData (
>       char                    *Buffer,
>       UINT32                  LengthToRemove,
> @@ -325,12 +557,14 @@ PrReplaceData (
>           }
>       }
>   
> +
>       /* Now we can move in the new data */
>   
>       if (LengthToAdd > 0)
>       {
>           memmove (Buffer, BufferToAdd, LengthToAdd);
>       }
> +    return (Buffer + LengthToAdd);
>   }
>   
>   
> diff --git a/src/acpica/source/components/debugger/dbcmds.c b/src/acpica/source/components/debugger/dbcmds.c
> index 6f551476..b8c2b422 100644
> --- a/src/acpica/source/components/debugger/dbcmds.c
> +++ b/src/acpica/source/components/debugger/dbcmds.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/debugger/dbconvert.c b/src/acpica/source/components/debugger/dbconvert.c
> index 9d1e1ddd..0b852261 100644
> --- a/src/acpica/source/components/debugger/dbconvert.c
> +++ b/src/acpica/source/components/debugger/dbconvert.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/debugger/dbdisply.c b/src/acpica/source/components/debugger/dbdisply.c
> index 276217f5..ad69737f 100644
> --- a/src/acpica/source/components/debugger/dbdisply.c
> +++ b/src/acpica/source/components/debugger/dbdisply.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/debugger/dbexec.c b/src/acpica/source/components/debugger/dbexec.c
> index eed0aa35..73759c88 100644
> --- a/src/acpica/source/components/debugger/dbexec.c
> +++ b/src/acpica/source/components/debugger/dbexec.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/debugger/dbfileio.c b/src/acpica/source/components/debugger/dbfileio.c
> index 09f8f227..8fc11da8 100644
> --- a/src/acpica/source/components/debugger/dbfileio.c
> +++ b/src/acpica/source/components/debugger/dbfileio.c
> @@ -9,7 +9,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/debugger/dbhistry.c b/src/acpica/source/components/debugger/dbhistry.c
> index 31bfc3c5..ecdfaeba 100644
> --- a/src/acpica/source/components/debugger/dbhistry.c
> +++ b/src/acpica/source/components/debugger/dbhistry.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/debugger/dbinput.c b/src/acpica/source/components/debugger/dbinput.c
> index 0f21b731..5e5c6289 100644
> --- a/src/acpica/source/components/debugger/dbinput.c
> +++ b/src/acpica/source/components/debugger/dbinput.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/debugger/dbmethod.c b/src/acpica/source/components/debugger/dbmethod.c
> index 82202e8e..5060bf6d 100644
> --- a/src/acpica/source/components/debugger/dbmethod.c
> +++ b/src/acpica/source/components/debugger/dbmethod.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/debugger/dbnames.c b/src/acpica/source/components/debugger/dbnames.c
> index 963f8125..040fed24 100644
> --- a/src/acpica/source/components/debugger/dbnames.c
> +++ b/src/acpica/source/components/debugger/dbnames.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -884,6 +884,9 @@ AcpiDbDisplayObjects (
>       {
>           ObjectInfo = ACPI_ALLOCATE_ZEROED (sizeof (ACPI_OBJECT_INFO));
>   
> +        if (!ObjectInfo)
> +                return (AE_NO_MEMORY);
> +
>           /* Walk the namespace from the root */
>   
>           (void) AcpiWalkNamespace (ACPI_TYPE_ANY, ACPI_ROOT_OBJECT,
> diff --git a/src/acpica/source/components/debugger/dbobject.c b/src/acpica/source/components/debugger/dbobject.c
> index b8bade43..fe38be90 100644
> --- a/src/acpica/source/components/debugger/dbobject.c
> +++ b/src/acpica/source/components/debugger/dbobject.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/debugger/dbstats.c b/src/acpica/source/components/debugger/dbstats.c
> index 30a686dc..a30d9948 100644
> --- a/src/acpica/source/components/debugger/dbstats.c
> +++ b/src/acpica/source/components/debugger/dbstats.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/debugger/dbtest.c b/src/acpica/source/components/debugger/dbtest.c
> index 23690ed6..a4d48c7a 100644
> --- a/src/acpica/source/components/debugger/dbtest.c
> +++ b/src/acpica/source/components/debugger/dbtest.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/debugger/dbutils.c b/src/acpica/source/components/debugger/dbutils.c
> index ef649b2c..70664ee2 100644
> --- a/src/acpica/source/components/debugger/dbutils.c
> +++ b/src/acpica/source/components/debugger/dbutils.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/debugger/dbxface.c b/src/acpica/source/components/debugger/dbxface.c
> index c44e1d0d..667e90e5 100644
> --- a/src/acpica/source/components/debugger/dbxface.c
> +++ b/src/acpica/source/components/debugger/dbxface.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/disassembler/dmbuffer.c b/src/acpica/source/components/disassembler/dmbuffer.c
> index d5d813c8..79f5a3cc 100644
> --- a/src/acpica/source/components/disassembler/dmbuffer.c
> +++ b/src/acpica/source/components/disassembler/dmbuffer.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/disassembler/dmcstyle.c b/src/acpica/source/components/disassembler/dmcstyle.c
> index f0bef68e..0af72d1e 100644
> --- a/src/acpica/source/components/disassembler/dmcstyle.c
> +++ b/src/acpica/source/components/disassembler/dmcstyle.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/disassembler/dmdeferred.c b/src/acpica/source/components/disassembler/dmdeferred.c
> index 82ce2bec..3a1ca550 100644
> --- a/src/acpica/source/components/disassembler/dmdeferred.c
> +++ b/src/acpica/source/components/disassembler/dmdeferred.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/disassembler/dmnames.c b/src/acpica/source/components/disassembler/dmnames.c
> index 8852921f..356af85f 100644
> --- a/src/acpica/source/components/disassembler/dmnames.c
> +++ b/src/acpica/source/components/disassembler/dmnames.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/disassembler/dmopcode.c b/src/acpica/source/components/disassembler/dmopcode.c
> index 1cfe710d..8f201d21 100644
> --- a/src/acpica/source/components/disassembler/dmopcode.c
> +++ b/src/acpica/source/components/disassembler/dmopcode.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/disassembler/dmresrc.c b/src/acpica/source/components/disassembler/dmresrc.c
> index 0a183e9c..644c8a99 100644
> --- a/src/acpica/source/components/disassembler/dmresrc.c
> +++ b/src/acpica/source/components/disassembler/dmresrc.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -203,6 +203,7 @@ static ACPI_RESOURCE_HANDLER    AcpiGbl_DmResourceDispatch [] =
>       AcpiDmPinGroupDescriptor,       /* 0x10, ACPI_RESOURCE_NAME_PIN_GROUP */
>       AcpiDmPinGroupFunctionDescriptor, /* 0x11, ACPI_RESOURCE_NAME_PIN_GROUP_FUNCTION */
>       AcpiDmPinGroupConfigDescriptor, /* 0x12, ACPI_RESOURCE_NAME_PIN_GROUP_CONFIG */
> +    AcpiDmClockInputDescriptor,     /* 0x13, ACPI_RESOURCE_NAME_CLOCK_INPUT */
>   };
>   
>   
> diff --git a/src/acpica/source/components/disassembler/dmresrcl.c b/src/acpica/source/components/disassembler/dmresrcl.c
> index 9aa6ac1f..88d19036 100644
> --- a/src/acpica/source/components/disassembler/dmresrcl.c
> +++ b/src/acpica/source/components/disassembler/dmresrcl.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -1112,7 +1112,7 @@ AcpiDmInterruptDescriptor (
>       {
>           AcpiDmIndent (Level + 1);
>           AcpiOsPrintf ("0x%8.8X,\n",
> -            (UINT32) Resource->ExtendedIrq.Interrupts[i]);
> +            (UINT32) Resource->ExtendedIrq.u.Interrupts[i]);
>       }
>   
>       AcpiDmIndent (Level);
> diff --git a/src/acpica/source/components/disassembler/dmresrcl2.c b/src/acpica/source/components/disassembler/dmresrcl2.c
> index 59d00f6c..1d732e21 100644
> --- a/src/acpica/source/components/disassembler/dmresrcl2.c
> +++ b/src/acpica/source/components/disassembler/dmresrcl2.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -523,6 +523,46 @@ AcpiDmGpioDescriptor (
>       }
>   }
>   
> +void
> +AcpiDmClockInputDescriptor (
> +    ACPI_OP_WALK_INFO       *Info,
> +    AML_RESOURCE            *Resource,
> +    UINT32                  Length,
> +    UINT32                  Level)
> +{
> +    char                    *DeviceName = NULL;
> +    UINT8                   *ResourceIndex = NULL;
> +    AcpiDmIndent (Level);
> +
> +    AcpiOsPrintf ("ClockInput (");
> +
> +    AcpiOsPrintf ("0x%8.8X, ", Resource->ClockInput.FrequencyNumerator);
> +
> +    AcpiOsPrintf ("0x%4.4X, ", Resource->ClockInput.FrequencyDivisor);
> +
> +    AcpiOsPrintf ("%s, ",
> +        AcpiGbl_ClockInputScale [ACPI_EXTRACT_2BIT_FLAG (Resource->ClockInput.Flags, 1)]);
> +
> +    AcpiOsPrintf ("%s, ",
> +        AcpiGbl_ClockInputMode [ACPI_GET_1BIT_FLAG (Resource->ClockInput.Flags)]);
> +
> +    if (Length > sizeof(Resource->ClockInput))
> +    {
> +        DeviceName = ACPI_ADD_PTR (char,
> +            Resource, sizeof(Resource->ClockInput)+1),
> +        AcpiUtPrintString (DeviceName, ACPI_UINT16_MAX);
> +
> +        AcpiOsPrintf (", ");
> +        ResourceIndex = ACPI_ADD_PTR (UINT8,
> +            Resource, sizeof(Resource->ClockInput)),
> +
> +        AcpiOsPrintf ("0x%2.2X", *ResourceIndex);
> +    }
> +
> +    AcpiOsPrintf (")\n");
> +
> +}
> +
>   /*******************************************************************************
>    *
>    * FUNCTION:    AcpiDmPinFunctionDescriptor
> diff --git a/src/acpica/source/components/disassembler/dmresrcs.c b/src/acpica/source/components/disassembler/dmresrcs.c
> index db5ce5db..35883625 100644
> --- a/src/acpica/source/components/disassembler/dmresrcs.c
> +++ b/src/acpica/source/components/disassembler/dmresrcs.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/disassembler/dmutils.c b/src/acpica/source/components/disassembler/dmutils.c
> index 2a7b7b33..b6c133f5 100644
> --- a/src/acpica/source/components/disassembler/dmutils.c
> +++ b/src/acpica/source/components/disassembler/dmutils.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/disassembler/dmwalk.c b/src/acpica/source/components/disassembler/dmwalk.c
> index 7d2429b7..beaa5f0a 100644
> --- a/src/acpica/source/components/disassembler/dmwalk.c
> +++ b/src/acpica/source/components/disassembler/dmwalk.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/dispatcher/dsargs.c b/src/acpica/source/components/dispatcher/dsargs.c
> index 52246693..6b9e4a35 100644
> --- a/src/acpica/source/components/dispatcher/dsargs.c
> +++ b/src/acpica/source/components/dispatcher/dsargs.c
> @@ -9,7 +9,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/dispatcher/dscontrol.c b/src/acpica/source/components/dispatcher/dscontrol.c
> index 1d7d676c..205b9b55 100644
> --- a/src/acpica/source/components/dispatcher/dscontrol.c
> +++ b/src/acpica/source/components/dispatcher/dscontrol.c
> @@ -9,7 +9,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/dispatcher/dsdebug.c b/src/acpica/source/components/dispatcher/dsdebug.c
> index 9111a215..06f7ec81 100644
> --- a/src/acpica/source/components/dispatcher/dsdebug.c
> +++ b/src/acpica/source/components/dispatcher/dsdebug.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/dispatcher/dsfield.c b/src/acpica/source/components/dispatcher/dsfield.c
> index 2d3851ff..37cc25a9 100644
> --- a/src/acpica/source/components/dispatcher/dsfield.c
> +++ b/src/acpica/source/components/dispatcher/dsfield.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/dispatcher/dsinit.c b/src/acpica/source/components/dispatcher/dsinit.c
> index 5f941f0c..79e55719 100644
> --- a/src/acpica/source/components/dispatcher/dsinit.c
> +++ b/src/acpica/source/components/dispatcher/dsinit.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/dispatcher/dsmethod.c b/src/acpica/source/components/dispatcher/dsmethod.c
> index d5fc3038..02d9c6be 100644
> --- a/src/acpica/source/components/dispatcher/dsmethod.c
> +++ b/src/acpica/source/components/dispatcher/dsmethod.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -705,7 +705,7 @@ AcpiDsCallControlMethod (
>       if (!Info)
>       {
>           Status = AE_NO_MEMORY;
> -        goto Cleanup;
> +        goto PopWalkState;
>       }
>   
>       Info->Parameters = &ThisWalkState->Operands[0];
> @@ -717,7 +717,7 @@ AcpiDsCallControlMethod (
>       ACPI_FREE (Info);
>       if (ACPI_FAILURE (Status))
>       {
> -        goto Cleanup;
> +        goto PopWalkState;
>       }
>   
>       NextWalkState->MethodNestingDepth = ThisWalkState->MethodNestingDepth + 1;
> @@ -764,6 +764,12 @@ AcpiDsCallControlMethod (
>       return_ACPI_STATUS (Status);
>   
>   
> +PopWalkState:
> +
> +    /* On error, pop the walk state to be deleted from thread */
> +
> +    AcpiDsPopWalkState(Thread);
> +
>   Cleanup:
>   
>       /* On error, we must terminate the method properly */
> diff --git a/src/acpica/source/components/dispatcher/dsmthdat.c b/src/acpica/source/components/dispatcher/dsmthdat.c
> index af156790..1461af5d 100644
> --- a/src/acpica/source/components/dispatcher/dsmthdat.c
> +++ b/src/acpica/source/components/dispatcher/dsmthdat.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/dispatcher/dsobject.c b/src/acpica/source/components/dispatcher/dsobject.c
> index 5ffd198b..147edc29 100644
> --- a/src/acpica/source/components/dispatcher/dsobject.c
> +++ b/src/acpica/source/components/dispatcher/dsobject.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/dispatcher/dsopcode.c b/src/acpica/source/components/dispatcher/dsopcode.c
> index 190be1b3..7689df63 100644
> --- a/src/acpica/source/components/dispatcher/dsopcode.c
> +++ b/src/acpica/source/components/dispatcher/dsopcode.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/dispatcher/dspkginit.c b/src/acpica/source/components/dispatcher/dspkginit.c
> index bd2bf2e3..a159d769 100644
> --- a/src/acpica/source/components/dispatcher/dspkginit.c
> +++ b/src/acpica/source/components/dispatcher/dspkginit.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/dispatcher/dsutils.c b/src/acpica/source/components/dispatcher/dsutils.c
> index b159b34c..059e0559 100644
> --- a/src/acpica/source/components/dispatcher/dsutils.c
> +++ b/src/acpica/source/components/dispatcher/dsutils.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/dispatcher/dswexec.c b/src/acpica/source/components/dispatcher/dswexec.c
> index 686f03c8..5ae0ad71 100644
> --- a/src/acpica/source/components/dispatcher/dswexec.c
> +++ b/src/acpica/source/components/dispatcher/dswexec.c
> @@ -9,7 +9,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -569,9 +569,11 @@ AcpiDsExecEndOp (
>   
>           /*
>            * All opcodes require operand resolution, with the only exceptions
> -         * being the ObjectType and SizeOf operators.
> +         * being the ObjectType and SizeOf operators as well as opcodes that
> +         * take no arguments.
>            */
> -        if (!(WalkState->OpInfo->Flags & AML_NO_OPERAND_RESOLVE))
> +        if (!(WalkState->OpInfo->Flags & AML_NO_OPERAND_RESOLVE) &&
> +            (WalkState->OpInfo->Flags & AML_HAS_ARGS))
>           {
>               /* Resolve all operands */
>   
> diff --git a/src/acpica/source/components/dispatcher/dswload.c b/src/acpica/source/components/dispatcher/dswload.c
> index 4fdf955a..74071c2e 100644
> --- a/src/acpica/source/components/dispatcher/dswload.c
> +++ b/src/acpica/source/components/dispatcher/dswload.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/dispatcher/dswload2.c b/src/acpica/source/components/dispatcher/dswload2.c
> index 496ee91f..c48b555a 100644
> --- a/src/acpica/source/components/dispatcher/dswload2.c
> +++ b/src/acpica/source/components/dispatcher/dswload2.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/dispatcher/dswscope.c b/src/acpica/source/components/dispatcher/dswscope.c
> index dad0c497..bce120c1 100644
> --- a/src/acpica/source/components/dispatcher/dswscope.c
> +++ b/src/acpica/source/components/dispatcher/dswscope.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/dispatcher/dswstate.c b/src/acpica/source/components/dispatcher/dswstate.c
> index 68b7f3d1..cc648e3a 100644
> --- a/src/acpica/source/components/dispatcher/dswstate.c
> +++ b/src/acpica/source/components/dispatcher/dswstate.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -785,9 +785,14 @@ AcpiDsInitAmlWalk (
>   
>   
>       WalkState->ParserState.Aml =
> -    WalkState->ParserState.AmlStart = AmlStart;
> +    WalkState->ParserState.AmlStart =
>       WalkState->ParserState.AmlEnd =
> -    WalkState->ParserState.PkgEnd = AmlStart + AmlLength;
> +    WalkState->ParserState.PkgEnd = AmlStart;
> +    /* Avoid undefined behavior: applying zero offset to null pointer */
> +    if (AmlLength != 0) {
> +      WalkState->ParserState.AmlEnd += AmlLength;
> +      WalkState->ParserState.PkgEnd += AmlLength;
> +    }
>   
>       /* The NextOp of the NextWalk will be the beginning of the method */
>   
> diff --git a/src/acpica/source/components/events/evevent.c b/src/acpica/source/components/events/evevent.c
> index b92646a4..913cbd14 100644
> --- a/src/acpica/source/components/events/evevent.c
> +++ b/src/acpica/source/components/events/evevent.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -438,7 +438,7 @@ AcpiEvFixedEventDispatch (
>           (void) AcpiWriteBitRegister (
>               AcpiGbl_FixedEventInfo[Event].EnableRegisterId,
>               (Event == ACPI_EVENT_PCIE_WAKE) ?
> -	    ACPI_ENABLE_EVENT : ACPI_DISABLE_EVENT);
> +            ACPI_ENABLE_EVENT : ACPI_DISABLE_EVENT);
>   
>           ACPI_ERROR ((AE_INFO,
>               "No installed handler for fixed event - %s (%u), disabling",
> diff --git a/src/acpica/source/components/events/evglock.c b/src/acpica/source/components/events/evglock.c
> index 79b519a0..5992671b 100644
> --- a/src/acpica/source/components/events/evglock.c
> +++ b/src/acpica/source/components/events/evglock.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/events/evgpe.c b/src/acpica/source/components/events/evgpe.c
> index b246567d..d7dcc3ea 100644
> --- a/src/acpica/source/components/events/evgpe.c
> +++ b/src/acpica/source/components/events/evgpe.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/events/evgpeblk.c b/src/acpica/source/components/events/evgpeblk.c
> index 4dac205e..7317f6e0 100644
> --- a/src/acpica/source/components/events/evgpeblk.c
> +++ b/src/acpica/source/components/events/evgpeblk.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/events/evgpeinit.c b/src/acpica/source/components/events/evgpeinit.c
> index 6f0472cf..adbe86eb 100644
> --- a/src/acpica/source/components/events/evgpeinit.c
> +++ b/src/acpica/source/components/events/evgpeinit.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/events/evgpeutil.c b/src/acpica/source/components/events/evgpeutil.c
> index 1f66717d..23f6369f 100644
> --- a/src/acpica/source/components/events/evgpeutil.c
> +++ b/src/acpica/source/components/events/evgpeutil.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/events/evhandler.c b/src/acpica/source/components/events/evhandler.c
> index e0859c30..47393a7d 100644
> --- a/src/acpica/source/components/events/evhandler.c
> +++ b/src/acpica/source/components/events/evhandler.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/events/evmisc.c b/src/acpica/source/components/events/evmisc.c
> index b6c6eb6a..40548b50 100644
> --- a/src/acpica/source/components/events/evmisc.c
> +++ b/src/acpica/source/components/events/evmisc.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/events/evregion.c b/src/acpica/source/components/events/evregion.c
> index fb0cc436..73db629f 100644
> --- a/src/acpica/source/components/events/evregion.c
> +++ b/src/acpica/source/components/events/evregion.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/events/evrgnini.c b/src/acpica/source/components/events/evrgnini.c
> index 7cbbe30c..6d329cb2 100644
> --- a/src/acpica/source/components/events/evrgnini.c
> +++ b/src/acpica/source/components/events/evrgnini.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/events/evsci.c b/src/acpica/source/components/events/evsci.c
> index 26891925..bb850e4d 100644
> --- a/src/acpica/source/components/events/evsci.c
> +++ b/src/acpica/source/components/events/evsci.c
> @@ -9,7 +9,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/events/evxface.c b/src/acpica/source/components/events/evxface.c
> index 245ca8a4..ef2fbcc4 100644
> --- a/src/acpica/source/components/events/evxface.c
> +++ b/src/acpica/source/components/events/evxface.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/events/evxfevnt.c b/src/acpica/source/components/events/evxfevnt.c
> index 3384e098..2b95395d 100644
> --- a/src/acpica/source/components/events/evxfevnt.c
> +++ b/src/acpica/source/components/events/evxfevnt.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/events/evxfgpe.c b/src/acpica/source/components/events/evxfgpe.c
> index 87dab0f8..fe354d21 100644
> --- a/src/acpica/source/components/events/evxfgpe.c
> +++ b/src/acpica/source/components/events/evxfgpe.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/events/evxfregn.c b/src/acpica/source/components/events/evxfregn.c
> index ee44e10d..00fe8620 100644
> --- a/src/acpica/source/components/events/evxfregn.c
> +++ b/src/acpica/source/components/events/evxfregn.c
> @@ -9,7 +9,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -163,13 +163,14 @@
>   
>   /*******************************************************************************
>    *
> - * FUNCTION:    AcpiInstallAddressSpaceHandler
> + * FUNCTION:    AcpiInstallAddressSpaceHandlerInternal
>    *
>    * PARAMETERS:  Device          - Handle for the device
>    *              SpaceId         - The address space ID
>    *              Handler         - Address of the handler
>    *              Setup           - Address of the setup function
>    *              Context         - Value passed to the handler on each access
> + *              Run_Reg         - Run _REG methods for this address space?
>    *
>    * RETURN:      Status
>    *
> @@ -180,16 +181,19 @@
>    * are executed here, and these methods can only be safely executed after
>    * the default handlers have been installed and the hardware has been
>    * initialized (via AcpiEnableSubsystem.)
> + * To avoid this problem pass FALSE for Run_Reg and later on call
> + * AcpiExecuteRegMethods() to execute _REG.
>    *
>    ******************************************************************************/
>   
> -ACPI_STATUS
> -AcpiInstallAddressSpaceHandler (
> +static ACPI_STATUS
> +AcpiInstallAddressSpaceHandlerInternal (
>       ACPI_HANDLE             Device,
>       ACPI_ADR_SPACE_TYPE     SpaceId,
>       ACPI_ADR_SPACE_HANDLER  Handler,
>       ACPI_ADR_SPACE_SETUP    Setup,
> -    void                    *Context)
> +    void                    *Context,
> +    BOOLEAN                 Run_Reg)
>   {
>       ACPI_NAMESPACE_NODE     *Node;
>       ACPI_STATUS             Status;
> @@ -231,16 +235,42 @@ AcpiInstallAddressSpaceHandler (
>   
>       /* Run all _REG methods for this address space */
>   
> -    AcpiEvExecuteRegMethods (Node, SpaceId, ACPI_REG_CONNECT);
> -
> +    if (Run_Reg)
> +    {
> +        AcpiEvExecuteRegMethods (Node, SpaceId, ACPI_REG_CONNECT);
> +    }
>   
>   UnlockAndExit:
>       (void) AcpiUtReleaseMutex (ACPI_MTX_NAMESPACE);
>       return_ACPI_STATUS (Status);
>   }
>   
> +ACPI_STATUS
> +AcpiInstallAddressSpaceHandler (
> +    ACPI_HANDLE             Device,
> +    ACPI_ADR_SPACE_TYPE     SpaceId,
> +    ACPI_ADR_SPACE_HANDLER  Handler,
> +    ACPI_ADR_SPACE_SETUP    Setup,
> +    void                    *Context)
> +{
> +    return AcpiInstallAddressSpaceHandlerInternal (Device, SpaceId, Handler, Setup, Context, TRUE);
> +}
> +
>   ACPI_EXPORT_SYMBOL (AcpiInstallAddressSpaceHandler)
>   
> +ACPI_STATUS
> +AcpiInstallAddressSpaceHandlerNo_Reg (
> +    ACPI_HANDLE             Device,
> +    ACPI_ADR_SPACE_TYPE     SpaceId,
> +    ACPI_ADR_SPACE_HANDLER  Handler,
> +    ACPI_ADR_SPACE_SETUP    Setup,
> +    void                    *Context)
> +{
> +    return AcpiInstallAddressSpaceHandlerInternal (Device, SpaceId, Handler, Setup, Context, FALSE);
> +}
> +
> +ACPI_EXPORT_SYMBOL (AcpiInstallAddressSpaceHandlerNo_Reg)
> +
>   
>   /*******************************************************************************
>    *
> @@ -387,3 +417,62 @@ UnlockAndExit:
>   }
>   
>   ACPI_EXPORT_SYMBOL (AcpiRemoveAddressSpaceHandler)
> +
> +
> +/*******************************************************************************
> + *
> + * FUNCTION:    AcpiExecuteRegMethods
> + *
> + * PARAMETERS:  Device          - Handle for the device
> + *              SpaceId         - The address space ID
> + *
> + * RETURN:      Status
> + *
> + * DESCRIPTION: Execute _REG for all OpRegions of a given SpaceId.
> + *
> + ******************************************************************************/
> +
> +ACPI_STATUS
> +AcpiExecuteRegMethods (
> +    ACPI_HANDLE             Device,
> +    ACPI_ADR_SPACE_TYPE     SpaceId)
> +{
> +    ACPI_NAMESPACE_NODE     *Node;
> +    ACPI_STATUS             Status;
> +
> +
> +    ACPI_FUNCTION_TRACE (AcpiExecuteRegMethods);
> +
> +
> +    /* Parameter validation */
> +
> +    if (!Device)
> +    {
> +        return_ACPI_STATUS (AE_BAD_PARAMETER);
> +    }
> +
> +    Status = AcpiUtAcquireMutex (ACPI_MTX_NAMESPACE);
> +    if (ACPI_FAILURE (Status))
> +    {
> +        return_ACPI_STATUS (Status);
> +    }
> +
> +    /* Convert and validate the device handle */
> +
> +    Node = AcpiNsValidateHandle (Device);
> +    if (Node)
> +    {
> +        /* Run all _REG methods for this address space */
> +
> +        AcpiEvExecuteRegMethods (Node, SpaceId, ACPI_REG_CONNECT);
> +    }
> +    else
> +    {
> +        Status = AE_BAD_PARAMETER;
> +    }
> +
> +    (void) AcpiUtReleaseMutex (ACPI_MTX_NAMESPACE);
> +    return_ACPI_STATUS (Status);
> +}
> +
> +ACPI_EXPORT_SYMBOL (AcpiExecuteRegMethods)
> diff --git a/src/acpica/source/components/executer/exconcat.c b/src/acpica/source/components/executer/exconcat.c
> index 335d78f1..f504bc0c 100644
> --- a/src/acpica/source/components/executer/exconcat.c
> +++ b/src/acpica/source/components/executer/exconcat.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/executer/exconfig.c b/src/acpica/source/components/executer/exconfig.c
> index 11c8ba64..ae95a920 100644
> --- a/src/acpica/source/components/executer/exconfig.c
> +++ b/src/acpica/source/components/executer/exconfig.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/executer/exconvrt.c b/src/acpica/source/components/executer/exconvrt.c
> index c9572e90..3382b520 100644
> --- a/src/acpica/source/components/executer/exconvrt.c
> +++ b/src/acpica/source/components/executer/exconvrt.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/executer/excreate.c b/src/acpica/source/components/executer/excreate.c
> index e8381081..56355726 100644
> --- a/src/acpica/source/components/executer/excreate.c
> +++ b/src/acpica/source/components/executer/excreate.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/executer/exdebug.c b/src/acpica/source/components/executer/exdebug.c
> index 88f75966..5ccfccdb 100644
> --- a/src/acpica/source/components/executer/exdebug.c
> +++ b/src/acpica/source/components/executer/exdebug.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/executer/exdump.c b/src/acpica/source/components/executer/exdump.c
> index e72ac01f..7a2c4a81 100644
> --- a/src/acpica/source/components/executer/exdump.c
> +++ b/src/acpica/source/components/executer/exdump.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/executer/exfield.c b/src/acpica/source/components/executer/exfield.c
> index 4175b8ee..f7d09206 100644
> --- a/src/acpica/source/components/executer/exfield.c
> +++ b/src/acpica/source/components/executer/exfield.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/executer/exfldio.c b/src/acpica/source/components/executer/exfldio.c
> index 30d17c19..c29cd0e8 100644
> --- a/src/acpica/source/components/executer/exfldio.c
> +++ b/src/acpica/source/components/executer/exfldio.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/executer/exmisc.c b/src/acpica/source/components/executer/exmisc.c
> index 4a1e2ff2..9b6608ba 100644
> --- a/src/acpica/source/components/executer/exmisc.c
> +++ b/src/acpica/source/components/executer/exmisc.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/executer/exmutex.c b/src/acpica/source/components/executer/exmutex.c
> index 8b335680..3abac6a8 100644
> --- a/src/acpica/source/components/executer/exmutex.c
> +++ b/src/acpica/source/components/executer/exmutex.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/executer/exnames.c b/src/acpica/source/components/executer/exnames.c
> index 6045bc6b..af68c82f 100644
> --- a/src/acpica/source/components/executer/exnames.c
> +++ b/src/acpica/source/components/executer/exnames.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/executer/exoparg1.c b/src/acpica/source/components/executer/exoparg1.c
> index 2d9bbddf..82250ff6 100644
> --- a/src/acpica/source/components/executer/exoparg1.c
> +++ b/src/acpica/source/components/executer/exoparg1.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/executer/exoparg2.c b/src/acpica/source/components/executer/exoparg2.c
> index 8b63d615..29d9dc7e 100644
> --- a/src/acpica/source/components/executer/exoparg2.c
> +++ b/src/acpica/source/components/executer/exoparg2.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/executer/exoparg3.c b/src/acpica/source/components/executer/exoparg3.c
> index 7b74d32e..a22b7257 100644
> --- a/src/acpica/source/components/executer/exoparg3.c
> +++ b/src/acpica/source/components/executer/exoparg3.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/executer/exoparg6.c b/src/acpica/source/components/executer/exoparg6.c
> index 5506b2c1..ad69405e 100644
> --- a/src/acpica/source/components/executer/exoparg6.c
> +++ b/src/acpica/source/components/executer/exoparg6.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/executer/exprep.c b/src/acpica/source/components/executer/exprep.c
> index 6d239d7a..678ee8a1 100644
> --- a/src/acpica/source/components/executer/exprep.c
> +++ b/src/acpica/source/components/executer/exprep.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/executer/exregion.c b/src/acpica/source/components/executer/exregion.c
> index 01d49065..858d31fe 100644
> --- a/src/acpica/source/components/executer/exregion.c
> +++ b/src/acpica/source/components/executer/exregion.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/executer/exresnte.c b/src/acpica/source/components/executer/exresnte.c
> index 6801b25b..b5dc24c6 100644
> --- a/src/acpica/source/components/executer/exresnte.c
> +++ b/src/acpica/source/components/executer/exresnte.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/executer/exresolv.c b/src/acpica/source/components/executer/exresolv.c
> index af5202ab..460c6d77 100644
> --- a/src/acpica/source/components/executer/exresolv.c
> +++ b/src/acpica/source/components/executer/exresolv.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/executer/exresop.c b/src/acpica/source/components/executer/exresop.c
> index 4abe9376..f4734d89 100644
> --- a/src/acpica/source/components/executer/exresop.c
> +++ b/src/acpica/source/components/executer/exresop.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/executer/exserial.c b/src/acpica/source/components/executer/exserial.c
> index c92a895a..6d57e376 100644
> --- a/src/acpica/source/components/executer/exserial.c
> +++ b/src/acpica/source/components/executer/exserial.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/executer/exstore.c b/src/acpica/source/components/executer/exstore.c
> index ba1a05d9..95bb19af 100644
> --- a/src/acpica/source/components/executer/exstore.c
> +++ b/src/acpica/source/components/executer/exstore.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/executer/exstoren.c b/src/acpica/source/components/executer/exstoren.c
> index df4a6f40..628592f2 100644
> --- a/src/acpica/source/components/executer/exstoren.c
> +++ b/src/acpica/source/components/executer/exstoren.c
> @@ -9,7 +9,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/executer/exstorob.c b/src/acpica/source/components/executer/exstorob.c
> index 56d048a7..f318f027 100644
> --- a/src/acpica/source/components/executer/exstorob.c
> +++ b/src/acpica/source/components/executer/exstorob.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/executer/exsystem.c b/src/acpica/source/components/executer/exsystem.c
> index 44d3a00b..68a074be 100644
> --- a/src/acpica/source/components/executer/exsystem.c
> +++ b/src/acpica/source/components/executer/exsystem.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -303,10 +303,10 @@ AcpiExSystemDoStall (
>       else
>       {
>           if (HowLongUs > 100)
> -	{
> +        {
>               ACPI_WARNING ((AE_INFO,
>                   "Time parameter %u us > 100 us violating ACPI spec, please fix the firmware.", HowLongUs));
> -	}
> +        }
>           AcpiOsStall (HowLongUs);
>       }
>   
> diff --git a/src/acpica/source/components/executer/extrace.c b/src/acpica/source/components/executer/extrace.c
> index a677393f..e574e489 100644
> --- a/src/acpica/source/components/executer/extrace.c
> +++ b/src/acpica/source/components/executer/extrace.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/executer/exutils.c b/src/acpica/source/components/executer/exutils.c
> index e27f567b..3d9dd4fa 100644
> --- a/src/acpica/source/components/executer/exutils.c
> +++ b/src/acpica/source/components/executer/exutils.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/hardware/hwacpi.c b/src/acpica/source/components/hardware/hwacpi.c
> index 8b322209..1772e795 100644
> --- a/src/acpica/source/components/hardware/hwacpi.c
> +++ b/src/acpica/source/components/hardware/hwacpi.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/hardware/hwesleep.c b/src/acpica/source/components/hardware/hwesleep.c
> index 85e4cb95..ec03e5ed 100644
> --- a/src/acpica/source/components/hardware/hwesleep.c
> +++ b/src/acpica/source/components/hardware/hwesleep.c
> @@ -9,7 +9,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/hardware/hwgpe.c b/src/acpica/source/components/hardware/hwgpe.c
> index 7f9a5f05..994fc475 100644
> --- a/src/acpica/source/components/hardware/hwgpe.c
> +++ b/src/acpica/source/components/hardware/hwgpe.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/hardware/hwpci.c b/src/acpica/source/components/hardware/hwpci.c
> index b8e8aa9f..745f9c81 100644
> --- a/src/acpica/source/components/hardware/hwpci.c
> +++ b/src/acpica/source/components/hardware/hwpci.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/hardware/hwregs.c b/src/acpica/source/components/hardware/hwregs.c
> index 7b4ae88a..c499c111 100644
> --- a/src/acpica/source/components/hardware/hwregs.c
> +++ b/src/acpica/source/components/hardware/hwregs.c
> @@ -9,7 +9,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/hardware/hwsleep.c b/src/acpica/source/components/hardware/hwsleep.c
> index 6667c27e..d9bb8ae0 100644
> --- a/src/acpica/source/components/hardware/hwsleep.c
> +++ b/src/acpica/source/components/hardware/hwsleep.c
> @@ -9,7 +9,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -476,13 +476,14 @@ AcpiHwLegacyWake (
>               ACPI_CLEAR_STATUS);
>   
>       /* Enable pcie wake event if support */
> -    if ((AcpiGbl_FADT.Flags & ACPI_FADT_PCI_EXPRESS_WAKE)) {
> +    if ((AcpiGbl_FADT.Flags & ACPI_FADT_PCI_EXPRESS_WAKE))
> +    {
>           (void) AcpiWriteBitRegister (
> -		AcpiGbl_FixedEventInfo[ACPI_EVENT_PCIE_WAKE].EnableRegisterId,
> -		ACPI_DISABLE_EVENT);
> +            AcpiGbl_FixedEventInfo[ACPI_EVENT_PCIE_WAKE].EnableRegisterId,
> +            ACPI_DISABLE_EVENT);
>           (void) AcpiWriteBitRegister (
> -		AcpiGbl_FixedEventInfo[ACPI_EVENT_PCIE_WAKE].StatusRegisterId,
> -		ACPI_CLEAR_STATUS);
> +            AcpiGbl_FixedEventInfo[ACPI_EVENT_PCIE_WAKE].StatusRegisterId,
> +            ACPI_CLEAR_STATUS);
>       }
>   
>       AcpiHwExecuteSleepMethod (METHOD_PATHNAME__SST, ACPI_SST_WORKING);
> diff --git a/src/acpica/source/components/hardware/hwvalid.c b/src/acpica/source/components/hardware/hwvalid.c
> index d297905b..80f0f570 100644
> --- a/src/acpica/source/components/hardware/hwvalid.c
> +++ b/src/acpica/source/components/hardware/hwvalid.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -169,8 +169,8 @@ AcpiHwValidateIoRequest (
>    *
>    * The table is used to implement the Microsoft port access rules that
>    * first appeared in Windows XP. Some ports are always illegal, and some
> - * ports are only illegal if the BIOS calls _OSI with a WinXP string or
> - * later (meaning that the BIOS itelf is post-XP.)
> + * ports are only illegal if the BIOS calls _OSI with nothing newer than
> + * the specific _OSI strings.
>    *
>    * This provides ACPICA with the desired port protections and
>    * Microsoft compatibility.
> @@ -301,8 +301,8 @@ AcpiHwValidateIoRequest (
>           if ((Address <= PortInfo->End) && (LastAddress >= PortInfo->Start))
>           {
>               /* Port illegality may depend on the _OSI calls made by the BIOS */
> -
> -            if (AcpiGbl_OsiData >= PortInfo->OsiDependency)
> +            if (PortInfo->OsiDependency == ACPI_ALWAYS_ILLEGAL ||
> +                AcpiGbl_OsiData == PortInfo->OsiDependency)
>               {
>                   ACPI_DEBUG_PRINT ((ACPI_DB_VALUES,
>                       "Denied AML access to port 0x%8.8X%8.8X/%X (%s 0x%.4X-0x%.4X)\n",
> diff --git a/src/acpica/source/components/hardware/hwxface.c b/src/acpica/source/components/hardware/hwxface.c
> index 8fd3561a..febe90de 100644
> --- a/src/acpica/source/components/hardware/hwxface.c
> +++ b/src/acpica/source/components/hardware/hwxface.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/hardware/hwxfsleep.c b/src/acpica/source/components/hardware/hwxfsleep.c
> index 5f8b7db0..4cd7eba8 100644
> --- a/src/acpica/source/components/hardware/hwxfsleep.c
> +++ b/src/acpica/source/components/hardware/hwxfsleep.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/namespace/nsaccess.c b/src/acpica/source/components/namespace/nsaccess.c
> index 2b810fac..b6d9d849 100644
> --- a/src/acpica/source/components/namespace/nsaccess.c
> +++ b/src/acpica/source/components/namespace/nsaccess.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/namespace/nsalloc.c b/src/acpica/source/components/namespace/nsalloc.c
> index 560f6f36..70627077 100644
> --- a/src/acpica/source/components/namespace/nsalloc.c
> +++ b/src/acpica/source/components/namespace/nsalloc.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/namespace/nsarguments.c b/src/acpica/source/components/namespace/nsarguments.c
> index 2da06f2f..bb081b75 100644
> --- a/src/acpica/source/components/namespace/nsarguments.c
> +++ b/src/acpica/source/components/namespace/nsarguments.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/namespace/nsconvert.c b/src/acpica/source/components/namespace/nsconvert.c
> index 2971f08e..ed2fa03e 100644
> --- a/src/acpica/source/components/namespace/nsconvert.c
> +++ b/src/acpica/source/components/namespace/nsconvert.c
> @@ -9,7 +9,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/namespace/nsdump.c b/src/acpica/source/components/namespace/nsdump.c
> index 36cfbdf6..731c32d9 100644
> --- a/src/acpica/source/components/namespace/nsdump.c
> +++ b/src/acpica/source/components/namespace/nsdump.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/namespace/nsdumpdv.c b/src/acpica/source/components/namespace/nsdumpdv.c
> index 0cc9b5a5..af0b2965 100644
> --- a/src/acpica/source/components/namespace/nsdumpdv.c
> +++ b/src/acpica/source/components/namespace/nsdumpdv.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/namespace/nseval.c b/src/acpica/source/components/namespace/nseval.c
> index 1cb07615..23ed486c 100644
> --- a/src/acpica/source/components/namespace/nseval.c
> +++ b/src/acpica/source/components/namespace/nseval.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/namespace/nsinit.c b/src/acpica/source/components/namespace/nsinit.c
> index c523035f..5ca332eb 100644
> --- a/src/acpica/source/components/namespace/nsinit.c
> +++ b/src/acpica/source/components/namespace/nsinit.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/namespace/nsload.c b/src/acpica/source/components/namespace/nsload.c
> index c3423e55..0e93791b 100644
> --- a/src/acpica/source/components/namespace/nsload.c
> +++ b/src/acpica/source/components/namespace/nsload.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/namespace/nsnames.c b/src/acpica/source/components/namespace/nsnames.c
> index c8412c2e..ea3d7d57 100644
> --- a/src/acpica/source/components/namespace/nsnames.c
> +++ b/src/acpica/source/components/namespace/nsnames.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/namespace/nsobject.c b/src/acpica/source/components/namespace/nsobject.c
> index 82d735eb..842a36a5 100644
> --- a/src/acpica/source/components/namespace/nsobject.c
> +++ b/src/acpica/source/components/namespace/nsobject.c
> @@ -9,7 +9,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/namespace/nsparse.c b/src/acpica/source/components/namespace/nsparse.c
> index 0ac5efb4..86afef09 100644
> --- a/src/acpica/source/components/namespace/nsparse.c
> +++ b/src/acpica/source/components/namespace/nsparse.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/namespace/nspredef.c b/src/acpica/source/components/namespace/nspredef.c
> index e28d6896..04c3012a 100644
> --- a/src/acpica/source/components/namespace/nspredef.c
> +++ b/src/acpica/source/components/namespace/nspredef.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/namespace/nsprepkg.c b/src/acpica/source/components/namespace/nsprepkg.c
> index e6959dac..2bfc89a7 100644
> --- a/src/acpica/source/components/namespace/nsprepkg.c
> +++ b/src/acpica/source/components/namespace/nsprepkg.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/namespace/nsrepair.c b/src/acpica/source/components/namespace/nsrepair.c
> index 59f7aa33..7aa02a80 100644
> --- a/src/acpica/source/components/namespace/nsrepair.c
> +++ b/src/acpica/source/components/namespace/nsrepair.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -328,9 +328,10 @@ AcpiNsSimpleRepair (
>        */
>       if (!ReturnObject)
>       {
> -        if (ExpectedBtypes && (!(ExpectedBtypes & ACPI_RTYPE_NONE)))
> +        if (ExpectedBtypes)
>           {
> -            if (PackageIndex != ACPI_NOT_PACKAGE_ELEMENT)
> +            if (!(ExpectedBtypes & ACPI_RTYPE_NONE) &&
> +                PackageIndex != ACPI_NOT_PACKAGE_ELEMENT)
>               {
>                   ACPI_WARN_PREDEFINED ((AE_INFO, Info->FullPathname,
>                       ACPI_WARN_ALWAYS, "Found unexpected NULL package element"));
> @@ -342,13 +343,14 @@ AcpiNsSimpleRepair (
>                       return (AE_OK); /* Repair was successful */
>                   }
>               }
> -            else
> +
> +            if (ExpectedBtypes != ACPI_RTYPE_NONE)
>               {
>                   ACPI_WARN_PREDEFINED ((AE_INFO, Info->FullPathname,
> -                    ACPI_WARN_ALWAYS, "Missing expected return value"));
> +                                       ACPI_WARN_ALWAYS,
> +                                       "Missing expected return value"));
> +                return (AE_AML_NO_RETURN_VALUE);
>               }
> -
> -            return (AE_AML_NO_RETURN_VALUE);
>           }
>       }
>   
> diff --git a/src/acpica/source/components/namespace/nsrepair2.c b/src/acpica/source/components/namespace/nsrepair2.c
> index bf76b7dd..7f50c05f 100644
> --- a/src/acpica/source/components/namespace/nsrepair2.c
> +++ b/src/acpica/source/components/namespace/nsrepair2.c
> @@ -9,7 +9,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -565,13 +565,6 @@ AcpiNsRepair_CID (
>   
>               (*ElementPtr)->Common.ReferenceCount =
>                   OriginalRefCount;
> -
> -            /*
> -             * The OriginalElement holds a reference from the package object
> -             * that represents _HID. Since a new element was created by _HID,
> -             * remove the reference from the _CID package.
> -             */
> -            AcpiUtRemoveReference (OriginalElement);
>           }
>   
>           ElementPtr++;
> @@ -702,7 +695,7 @@ AcpiNsRepair_HID (
>       char                    *Dest;
>   
>   
> -    ACPI_FUNCTION_NAME (NsRepair_HID);
> +    ACPI_FUNCTION_TRACE (NsRepair_HID);
>   
>   
>       /* We only care about string _HID objects (not integers) */
> diff --git a/src/acpica/source/components/namespace/nssearch.c b/src/acpica/source/components/namespace/nssearch.c
> index 706963c4..a992a7e4 100644
> --- a/src/acpica/source/components/namespace/nssearch.c
> +++ b/src/acpica/source/components/namespace/nssearch.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/namespace/nsutils.c b/src/acpica/source/components/namespace/nsutils.c
> index f4208179..1162fca7 100644
> --- a/src/acpica/source/components/namespace/nsutils.c
> +++ b/src/acpica/source/components/namespace/nsutils.c
> @@ -9,7 +9,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -500,7 +500,7 @@ AcpiNsBuildInternalName (
>    *
>    * PARAMETERS:  *ExternalName           - External representation of name
>    *              **Converted Name        - Where to return the resulting
> - *                                        internal represention of the name
> + *                                        internal representation of the name
>    *
>    * RETURN:      Status
>    *
> diff --git a/src/acpica/source/components/namespace/nswalk.c b/src/acpica/source/components/namespace/nswalk.c
> index 3d0fc639..7abc6b81 100644
> --- a/src/acpica/source/components/namespace/nswalk.c
> +++ b/src/acpica/source/components/namespace/nswalk.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/namespace/nsxfeval.c b/src/acpica/source/components/namespace/nsxfeval.c
> index 9724d024..a4213f28 100644
> --- a/src/acpica/source/components/namespace/nsxfeval.c
> +++ b/src/acpica/source/components/namespace/nsxfeval.c
> @@ -9,7 +9,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/namespace/nsxfname.c b/src/acpica/source/components/namespace/nsxfname.c
> index 7d52330f..c19b0244 100644
> --- a/src/acpica/source/components/namespace/nsxfname.c
> +++ b/src/acpica/source/components/namespace/nsxfname.c
> @@ -9,7 +9,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -192,7 +192,7 @@ AcpiNsCopyDeviceId (
>   ACPI_STATUS
>   AcpiGetHandle (
>       ACPI_HANDLE             Parent,
> -    ACPI_STRING             Pathname,
> +    const char              *Pathname,
>       ACPI_HANDLE             *RetHandle)
>   {
>       ACPI_STATUS             Status;
> diff --git a/src/acpica/source/components/namespace/nsxfobj.c b/src/acpica/source/components/namespace/nsxfobj.c
> index 2aa1fc17..50ca5b2e 100644
> --- a/src/acpica/source/components/namespace/nsxfobj.c
> +++ b/src/acpica/source/components/namespace/nsxfobj.c
> @@ -9,7 +9,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/parser/psargs.c b/src/acpica/source/components/parser/psargs.c
> index f510623e..ff0780c6 100644
> --- a/src/acpica/source/components/parser/psargs.c
> +++ b/src/acpica/source/components/parser/psargs.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/parser/psloop.c b/src/acpica/source/components/parser/psloop.c
> index 2b4c1f2a..e759e081 100644
> --- a/src/acpica/source/components/parser/psloop.c
> +++ b/src/acpica/source/components/parser/psloop.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/parser/psobject.c b/src/acpica/source/components/parser/psobject.c
> index 18a32ef3..ff1069d0 100644
> --- a/src/acpica/source/components/parser/psobject.c
> +++ b/src/acpica/source/components/parser/psobject.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/parser/psopcode.c b/src/acpica/source/components/parser/psopcode.c
> index 540716af..db0c2e47 100644
> --- a/src/acpica/source/components/parser/psopcode.c
> +++ b/src/acpica/source/components/parser/psopcode.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/parser/psopinfo.c b/src/acpica/source/components/parser/psopinfo.c
> index fcb080ca..99fada10 100644
> --- a/src/acpica/source/components/parser/psopinfo.c
> +++ b/src/acpica/source/components/parser/psopinfo.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/parser/psparse.c b/src/acpica/source/components/parser/psparse.c
> index e0cd5915..f7e584b9 100644
> --- a/src/acpica/source/components/parser/psparse.c
> +++ b/src/acpica/source/components/parser/psparse.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/parser/psscope.c b/src/acpica/source/components/parser/psscope.c
> index 269410a6..9fe84e38 100644
> --- a/src/acpica/source/components/parser/psscope.c
> +++ b/src/acpica/source/components/parser/psscope.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/parser/pstree.c b/src/acpica/source/components/parser/pstree.c
> index 92f62304..cbcb3599 100644
> --- a/src/acpica/source/components/parser/pstree.c
> +++ b/src/acpica/source/components/parser/pstree.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/parser/psutils.c b/src/acpica/source/components/parser/psutils.c
> index a9ea3536..f1017936 100644
> --- a/src/acpica/source/components/parser/psutils.c
> +++ b/src/acpica/source/components/parser/psutils.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/parser/pswalk.c b/src/acpica/source/components/parser/pswalk.c
> index 31232fd4..4a5fd986 100644
> --- a/src/acpica/source/components/parser/pswalk.c
> +++ b/src/acpica/source/components/parser/pswalk.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/parser/psxface.c b/src/acpica/source/components/parser/psxface.c
> index 295da1af..d44cb9f6 100644
> --- a/src/acpica/source/components/parser/psxface.c
> +++ b/src/acpica/source/components/parser/psxface.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/resources/rsaddr.c b/src/acpica/source/components/resources/rsaddr.c
> index 93d45ca3..beee8380 100644
> --- a/src/acpica/source/components/resources/rsaddr.c
> +++ b/src/acpica/source/components/resources/rsaddr.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -431,13 +431,17 @@ AcpiRsGetAddressCommon (
>       ACPI_RESOURCE           *Resource,
>       AML_RESOURCE            *Aml)
>   {
> -    ACPI_FUNCTION_ENTRY ();
> +    /* Avoid undefined behavior: member access within misaligned address */
> +
> +    AML_RESOURCE_ADDRESS Address;
> +    memcpy(&Address, Aml, sizeof(Address));
>   
> +    ACPI_FUNCTION_ENTRY();
>   
>       /* Validate the Resource Type */
>   
> -    if ((Aml->Address.ResourceType > 2) &&
> -        (Aml->Address.ResourceType < 0xC0))
> +    if ((Address.ResourceType > 2) &&
> +        (Address.ResourceType < 0xC0))
>       {
>           return (FALSE);
>       }
> @@ -464,7 +468,7 @@ AcpiRsGetAddressCommon (
>           /* Generic resource type, just grab the TypeSpecific byte */
>   
>           Resource->Data.Address.Info.TypeSpecific =
> -            Aml->Address.SpecificFlags;
> +            Address.SpecificFlags;
>       }
>   
>       return (TRUE);
> diff --git a/src/acpica/source/components/resources/rscalc.c b/src/acpica/source/components/resources/rscalc.c
> index c966636b..55694f1e 100644
> --- a/src/acpica/source/components/resources/rscalc.c
> +++ b/src/acpica/source/components/resources/rscalc.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -480,6 +480,13 @@ AcpiRsGetAmlLength (
>   
>               break;
>   
> +        case ACPI_RESOURCE_TYPE_CLOCK_INPUT:
> +
> +            TotalSize = (ACPI_RS_LENGTH) (TotalSize +
> +                Resource->Data.ClockInput.ResourceSource.StringLength);
> +
> +            break;
> +
>   
>           case ACPI_RESOURCE_TYPE_SERIAL_BUS:
>   
> @@ -733,14 +740,19 @@ AcpiRsGetListLength (
>               }
>               break;
>   
> -        case ACPI_RESOURCE_NAME_SERIAL_BUS:
> +        case ACPI_RESOURCE_NAME_SERIAL_BUS: {
> +            /* Avoid undefined behavior: member access within misaligned address */
> +
> +            AML_RESOURCE_COMMON_SERIALBUS CommonSerialBus;
> +            memcpy(&CommonSerialBus, AmlResource, sizeof(CommonSerialBus));
>   
>               MinimumAmlResourceLength = AcpiGbl_ResourceAmlSerialBusSizes[
> -                AmlResource->CommonSerialBus.Type];
> +                CommonSerialBus.Type];
>               ExtraStructBytes +=
> -                AmlResource->CommonSerialBus.ResourceLength -
> +                CommonSerialBus.ResourceLength -
>                   MinimumAmlResourceLength;
>               break;
> +        }
>   
>           case ACPI_RESOURCE_NAME_PIN_CONFIG:
>   
> @@ -789,6 +801,12 @@ AcpiRsGetListLength (
>   
>               break;
>   
> +        case ACPI_RESOURCE_NAME_CLOCK_INPUT:
> +            ExtraStructBytes = AcpiRsStreamOptionLength (
> +                ResourceLength, MinimumAmlResourceLength);
> +
> +            break;
> +
>           default:
>   
>               break;
> @@ -803,8 +821,13 @@ AcpiRsGetListLength (
>           if (AcpiUtGetResourceType (AmlBuffer) ==
>               ACPI_RESOURCE_NAME_SERIAL_BUS)
>           {
> +            /* Avoid undefined behavior: member access within misaligned address */
> +
> +            AML_RESOURCE_COMMON_SERIALBUS CommonSerialBus;
> +            memcpy(&CommonSerialBus, AmlResource, sizeof(CommonSerialBus));
> +
>               BufferSize = AcpiGbl_ResourceStructSerialBusSizes[
> -                AmlResource->CommonSerialBus.Type] + ExtraStructBytes;
> +                CommonSerialBus.Type] + ExtraStructBytes;
>           }
>           else
>           {
> diff --git a/src/acpica/source/components/resources/rscreate.c b/src/acpica/source/components/resources/rscreate.c
> index 6c230bce..583abe1a 100644
> --- a/src/acpica/source/components/resources/rscreate.c
> +++ b/src/acpica/source/components/resources/rscreate.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -475,9 +475,9 @@ AcpiRsCreatePciRoutingTable (
>                   /* Use *remaining* length of the buffer as max for pathname */
>   
>                   PathBuffer.Length = OutputBuffer->Length -
> -                    (UINT32) ((UINT8 *) UserPrt->Source -
> +                    (UINT32) ((UINT8 *) UserPrt->u.Source -
>                       (UINT8 *) OutputBuffer->Pointer);
> -                PathBuffer.Pointer = UserPrt->Source;
> +                PathBuffer.Pointer = UserPrt->u.Source;
>   
>                   Status = AcpiNsHandleToPathname (
>                       (ACPI_HANDLE) Node, &PathBuffer, FALSE);
> @@ -488,12 +488,12 @@ AcpiRsCreatePciRoutingTable (
>   
>                   /* +1 to include null terminator */
>   
> -                UserPrt->Length += (UINT32) strlen (UserPrt->Source) + 1;
> +                UserPrt->Length += (UINT32) strlen (UserPrt->u.Source) + 1;
>                   break;
>   
>               case ACPI_TYPE_STRING:
>   
> -                strcpy (UserPrt->Source, ObjDesc->String.Pointer);
> +                strcpy (UserPrt->u.Source, ObjDesc->String.Pointer);
>   
>                   /*
>                    * Add to the Length field the length of the string
> diff --git a/src/acpica/source/components/resources/rsdump.c b/src/acpica/source/components/resources/rsdump.c
> index e8f13724..02fc37ca 100644
> --- a/src/acpica/source/components/resources/rsdump.c
> +++ b/src/acpica/source/components/resources/rsdump.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/resources/rsdumpinfo.c b/src/acpica/source/components/resources/rsdumpinfo.c
> index 83b22caa..2801e0d7 100644
> --- a/src/acpica/source/components/resources/rsdumpinfo.c
> +++ b/src/acpica/source/components/resources/rsdumpinfo.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -182,7 +182,7 @@ ACPI_RSDUMP_INFO        AcpiRsDumpIrq[7] =
>       {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (Irq.Polarity),                     "Polarity",                 AcpiGbl_LlDecode},
>       {ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET (Irq.Shareable),                    "Sharing",                  AcpiGbl_ShrDecode},
>       {ACPI_RSD_UINT8 ,   ACPI_RSD_OFFSET (Irq.InterruptCount),               "Interrupt Count",          NULL},
> -    {ACPI_RSD_SHORTLIST,ACPI_RSD_OFFSET (Irq.Interrupts[0]),                "Interrupt List",           NULL}
> +    {ACPI_RSD_SHORTLIST,ACPI_RSD_OFFSET (Irq.u.Interrupts[0]),                "Interrupt List",           NULL}
>   };
>   
>   ACPI_RSDUMP_INFO        AcpiRsDumpDma[6] =
> @@ -192,7 +192,7 @@ ACPI_RSDUMP_INFO        AcpiRsDumpDma[6] =
>       {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (Dma.BusMaster),                    "Mastering",                AcpiGbl_BmDecode},
>       {ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET (Dma.Transfer),                     "Transfer Type",            AcpiGbl_SizDecode},
>       {ACPI_RSD_UINT8,    ACPI_RSD_OFFSET (Dma.ChannelCount),                 "Channel Count",            NULL},
> -    {ACPI_RSD_SHORTLIST,ACPI_RSD_OFFSET (Dma.Channels[0]),                  "Channel List",             NULL}
> +    {ACPI_RSD_SHORTLIST,ACPI_RSD_OFFSET (Dma.u.Channels[0]),                  "Channel List",             NULL}
>   };
>   
>   ACPI_RSDUMP_INFO        AcpiRsDumpStartDpf[4] =
> @@ -327,7 +327,7 @@ ACPI_RSDUMP_INFO        AcpiRsDumpExtIrq[8] =
>       {ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET (ExtendedIrq.Shareable),            "Sharing",                  AcpiGbl_ShrDecode},
>       {ACPI_RSD_SOURCE,   ACPI_RSD_OFFSET (ExtendedIrq.ResourceSource),       NULL,                       NULL},
>       {ACPI_RSD_UINT8,    ACPI_RSD_OFFSET (ExtendedIrq.InterruptCount),       "Interrupt Count",          NULL},
> -    {ACPI_RSD_DWORDLIST,ACPI_RSD_OFFSET (ExtendedIrq.Interrupts[0]),        "Interrupt List",           NULL}
> +    {ACPI_RSD_DWORDLIST,ACPI_RSD_OFFSET (ExtendedIrq.u.Interrupts[0]),        "Interrupt List",           NULL}
>   };
>   
>   ACPI_RSDUMP_INFO        AcpiRsDumpGenericReg[6] =
> @@ -374,6 +374,17 @@ ACPI_RSDUMP_INFO        AcpiRsDumpPinFunction[10] =
>       {ACPI_RSD_SHORTLISTX,ACPI_RSD_OFFSET (PinFunction.VendorData),          "VendorData",               NULL},
>   };
>   
> +ACPI_RSDUMP_INFO        AcpiRsDumpClockInput[7] =
> +{
> +    {ACPI_RSD_TITLE,    ACPI_RSD_TABLE_SIZE (AcpiRsDumpClockInput),         "ClockInput",            NULL},
> +    {ACPI_RSD_UINT8,    ACPI_RSD_OFFSET (ClockInput.RevisionId),            "RevisionId",            NULL},
> +    {ACPI_RSD_UINT32,   ACPI_RSD_OFFSET (ClockInput.FrequencyNumerator),    "FrequencyNumerator",    NULL},
> +    {ACPI_RSD_UINT32,   ACPI_RSD_OFFSET (ClockInput.FrequencyDivisor),      "FrequencyDivisor",      NULL},
> +    {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (ClockInput.Scale),                 "Scale",                 AcpiGbl_ClockInputScale},
> +    {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (ClockInput.Mode),                  "Mode",                  AcpiGbl_ClockInputMode},
> +    {ACPI_RSD_SOURCE,   ACPI_RSD_OFFSET (ClockInput.ResourceSource),        "ResourceSource",        NULL},
> +};
> +
>   ACPI_RSDUMP_INFO        AcpiRsDumpPinConfig[11] =
>   {
>       {ACPI_RSD_TITLE,    ACPI_RSD_TABLE_SIZE (AcpiRsDumpPinConfig),          "PinConfig",                NULL},
> @@ -544,7 +555,7 @@ ACPI_RSDUMP_INFO        AcpiRsDumpPrt[5] =
>       {ACPI_RSD_TITLE,    ACPI_RSD_TABLE_SIZE (AcpiRsDumpPrt),                NULL,                       NULL},
>       {ACPI_RSD_UINT64,   ACPI_PRT_OFFSET (Address),                          "Address",                  NULL},
>       {ACPI_RSD_UINT32,   ACPI_PRT_OFFSET (Pin),                              "Pin",                      NULL},
> -    {ACPI_RSD_STRING,   ACPI_PRT_OFFSET (Source[0]),                        "Source",                   NULL},
> +    {ACPI_RSD_STRING,   ACPI_PRT_OFFSET (u.Source[0]),                        "Source",                   NULL},
>       {ACPI_RSD_UINT32,   ACPI_PRT_OFFSET (SourceIndex),                      "Source Index",             NULL}
>   };
>   
> diff --git a/src/acpica/source/components/resources/rsinfo.c b/src/acpica/source/components/resources/rsinfo.c
> index b9d4df46..551b647b 100644
> --- a/src/acpica/source/components/resources/rsinfo.c
> +++ b/src/acpica/source/components/resources/rsinfo.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -197,6 +197,7 @@ ACPI_RSCONVERT_INFO         *AcpiGbl_SetResourceDispatch[] =
>       AcpiRsConvertPinGroup,          /* 0x16, ACPI_RESOURCE_TYPE_PIN_GROUP */
>       AcpiRsConvertPinGroupFunction,  /* 0x17, ACPI_RESOURCE_TYPE_PIN_GROUP_FUNCTION */
>       AcpiRsConvertPinGroupConfig,    /* 0x18, ACPI_RESOURCE_TYPE_PIN_GROUP_CONFIG */
> +    AcpiRsConvertClockInput,        /* 0x19, ACPI_RESOURCE_TYPE_CLOCK_INPUT */
>   };
>   
>   /* Dispatch tables for AML-to-resource (Get Resource) conversion functions */
> @@ -243,6 +244,7 @@ ACPI_RSCONVERT_INFO         *AcpiGbl_GetResourceDispatch[] =
>       AcpiRsConvertPinGroup,          /* 0x10, ACPI_RESOURCE_NAME_PIN_GROUP */
>       AcpiRsConvertPinGroupFunction,  /* 0x11, ACPI_RESOURCE_NAME_PIN_GROUP_FUNCTION */
>       AcpiRsConvertPinGroupConfig,    /* 0x12, ACPI_RESOURCE_NAME_PIN_GROUP_CONFIG */
> +    AcpiRsConvertClockInput,        /* 0x13, ACPI_RESOURCE_NAME_CLOCK_INPUT */
>   };
>   
>   /* Subtype table for SerialBus -- I2C, SPI, UART, and CSI2 */
> @@ -288,6 +290,7 @@ ACPI_RSDUMP_INFO            *AcpiGbl_DumpResourceDispatch[] =
>       AcpiRsDumpPinGroup,             /* ACPI_RESOURCE_TYPE_PIN_GROUP */
>       AcpiRsDumpPinGroupFunction,     /* ACPI_RESOURCE_TYPE_PIN_GROUP_FUNCTION */
>       AcpiRsDumpPinGroupConfig,       /* ACPI_RESOURCE_TYPE_PIN_GROUP_CONFIG */
> +    AcpiRsDumpClockInput,           /* ACPI_RESOURCE_TYPE_CLOCK_INPUT */
>   };
>   
>   ACPI_RSDUMP_INFO            *AcpiGbl_DumpSerialBusDispatch[] =
> @@ -333,6 +336,7 @@ const UINT8                 AcpiGbl_AmlResourceSizes[] =
>       sizeof (AML_RESOURCE_PIN_GROUP),        /* ACPI_RESOURCE_TYPE_PIN_GROUP */
>       sizeof (AML_RESOURCE_PIN_GROUP_FUNCTION), /* ACPI_RESOURCE_TYPE_PIN_GROUP_FUNCTION */
>       sizeof (AML_RESOURCE_PIN_GROUP_CONFIG), /* ACPI_RESOURCE_TYPE_PIN_GROUP_CONFIG */
> +    sizeof (AML_RESOURCE_CLOCK_INPUT),      /* ACPI_RESOURCE_TYPE_CLOCK_INPUT */
>   };
>   
>   
> @@ -378,6 +382,7 @@ const UINT8                 AcpiGbl_ResourceStructSizes[] =
>       ACPI_RS_SIZE (ACPI_RESOURCE_PIN_GROUP),
>       ACPI_RS_SIZE (ACPI_RESOURCE_PIN_GROUP_FUNCTION),
>       ACPI_RS_SIZE (ACPI_RESOURCE_PIN_GROUP_CONFIG),
> +    ACPI_RS_SIZE (ACPI_RESOURCE_CLOCK_INPUT),
>   };
>   
>   const UINT8                 AcpiGbl_AmlResourceSerialBusSizes[] =
> diff --git a/src/acpica/source/components/resources/rsio.c b/src/acpica/source/components/resources/rsio.c
> index 29932623..1640cdb2 100644
> --- a/src/acpica/source/components/resources/rsio.c
> +++ b/src/acpica/source/components/resources/rsio.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/resources/rsirq.c b/src/acpica/source/components/resources/rsirq.c
> index 9a8fc18f..10256c50 100644
> --- a/src/acpica/source/components/resources/rsirq.c
> +++ b/src/acpica/source/components/resources/rsirq.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -171,7 +171,7 @@ ACPI_RSCONVERT_INFO     AcpiRsGetIrq[9] =
>   
>       /* Get the IRQ mask (bytes 1:2) */
>   
> -    {ACPI_RSC_BITMASK16,ACPI_RS_OFFSET (Data.Irq.Interrupts[0]),
> +    {ACPI_RSC_BITMASK16,ACPI_RS_OFFSET (Data.Irq.u.Interrupts[0]),
>                           AML_OFFSET (Irq.IrqMask),
>                           ACPI_RS_OFFSET (Data.Irq.InterruptCount)},
>   
> @@ -227,7 +227,7 @@ ACPI_RSCONVERT_INFO     AcpiRsSetIrq[14] =
>   
>       /* Convert interrupt list to 16-bit IRQ bitmask */
>   
> -    {ACPI_RSC_BITMASK16,ACPI_RS_OFFSET (Data.Irq.Interrupts[0]),
> +    {ACPI_RSC_BITMASK16,ACPI_RS_OFFSET (Data.Irq.u.Interrupts[0]),
>                           AML_OFFSET (Irq.IrqMask),
>                           ACPI_RS_OFFSET (Data.Irq.InterruptCount)},
>   
> @@ -345,14 +345,14 @@ ACPI_RSCONVERT_INFO     AcpiRsConvertExtIrq[10] =
>   
>       /* Copy every IRQ in the table, each is 32 bits */
>   
> -    {ACPI_RSC_MOVE32,   ACPI_RS_OFFSET (Data.ExtendedIrq.Interrupts[0]),
> -                        AML_OFFSET (ExtendedIrq.Interrupts[0]),
> +    {ACPI_RSC_MOVE32,   ACPI_RS_OFFSET (Data.ExtendedIrq.u.Interrupts[0]),
> +                        AML_OFFSET (ExtendedIrq.u.Interrupts[0]),
>                           0},
>   
>       /* Optional ResourceSource (Index and String) */
>   
>       {ACPI_RSC_SOURCEX,  ACPI_RS_OFFSET (Data.ExtendedIrq.ResourceSource),
> -                        ACPI_RS_OFFSET (Data.ExtendedIrq.Interrupts[0]),
> +                        ACPI_RS_OFFSET (Data.ExtendedIrq.u.Interrupts[0]),
>                           sizeof (AML_RESOURCE_EXTENDED_IRQ)}
>   };
>   
> @@ -389,7 +389,7 @@ ACPI_RSCONVERT_INFO     AcpiRsConvertDma[6] =
>   
>       /* DMA channel mask bits */
>   
> -    {ACPI_RSC_BITMASK,  ACPI_RS_OFFSET (Data.Dma.Channels[0]),
> +    {ACPI_RSC_BITMASK,  ACPI_RS_OFFSET (Data.Dma.u.Channels[0]),
>                           AML_OFFSET (Dma.DmaChannelMask),
>                           ACPI_RS_OFFSET (Data.Dma.ChannelCount)}
>   };
> diff --git a/src/acpica/source/components/resources/rslist.c b/src/acpica/source/components/resources/rslist.c
> index fdd24688..cb408197 100644
> --- a/src/acpica/source/components/resources/rslist.c
> +++ b/src/acpica/source/components/resources/rslist.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -209,7 +209,12 @@ AcpiRsConvertAmlToResources (
>       if (AcpiUtGetResourceType (Aml) ==
>           ACPI_RESOURCE_NAME_SERIAL_BUS)
>       {
> -        if (AmlResource->CommonSerialBus.Type >
> +        /* Avoid undefined behavior: member access within misaligned address */
> +
> +        AML_RESOURCE_COMMON_SERIALBUS CommonSerialBus;
> +        memcpy(&CommonSerialBus, AmlResource, sizeof(CommonSerialBus));
> +
> +        if (CommonSerialBus.Type >
>               AML_RESOURCE_MAX_SERIALBUSTYPE)
>           {
>               ConversionTable = NULL;
> @@ -219,7 +224,7 @@ AcpiRsConvertAmlToResources (
>               /* This is an I2C, SPI, UART, or CSI2 SerialBus descriptor */
>   
>               ConversionTable = AcpiGbl_ConvertResourceSerialBusDispatch [
> -                AmlResource->CommonSerialBus.Type];
> +                CommonSerialBus.Type];
>           }
>       }
>       else
> diff --git a/src/acpica/source/components/resources/rsmemory.c b/src/acpica/source/components/resources/rsmemory.c
> index e527bad7..170bb679 100644
> --- a/src/acpica/source/components/resources/rsmemory.c
> +++ b/src/acpica/source/components/resources/rsmemory.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/resources/rsmisc.c b/src/acpica/source/components/resources/rsmisc.c
> index 16c52134..6d11442d 100644
> --- a/src/acpica/source/components/resources/rsmisc.c
> +++ b/src/acpica/source/components/resources/rsmisc.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -349,7 +349,8 @@ AcpiRsConvertAmlToResource (
>   
>           case ACPI_RSC_COUNT_SERIAL_VEN:
>   
> -            ItemCount = ACPI_GET16 (Source) - Info->Value;
> +            ACPI_MOVE_16_TO_16(&Temp16, Source);
> +            ItemCount = Temp16 - Info->Value;
>   
>               Resource->Length = Resource->Length + ItemCount;
>               ACPI_SET16 (Destination, ItemCount);
> @@ -357,9 +358,10 @@ AcpiRsConvertAmlToResource (
>   
>           case ACPI_RSC_COUNT_SERIAL_RES:
>   
> +            ACPI_MOVE_16_TO_16(&Temp16, Source);
>               ItemCount = (AmlResourceLength +
>                   sizeof (AML_RESOURCE_LARGE_HEADER)) -
> -                ACPI_GET16 (Source) - Info->Value;
> +                Temp16 - Info->Value;
>   
>               Resource->Length = Resource->Length + ItemCount;
>               ACPI_SET16 (Destination, ItemCount);
> @@ -437,8 +439,9 @@ AcpiRsConvertAmlToResource (
>   
>               /* Copy the ResourceSource string */
>   
> +            ACPI_MOVE_16_TO_16 (&Temp16, Source);
>               Source = ACPI_ADD_PTR (
> -                void, Aml, (ACPI_GET16 (Source) + Info->Value));
> +                void, Aml, (Temp16 + Info->Value));
>               AcpiRsMoveData (Target, Source, ItemCount, Info->Opcode);
>               break;
>   
> diff --git a/src/acpica/source/components/resources/rsserial.c b/src/acpica/source/components/resources/rsserial.c
> index 3075b4c4..4c19f890 100644
> --- a/src/acpica/source/components/resources/rsserial.c
> +++ b/src/acpica/source/components/resources/rsserial.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -254,6 +254,50 @@ ACPI_RSCONVERT_INFO     AcpiRsConvertGpio[18] =
>                           0},
>   };
>   
> +/*******************************************************************************
> + *
> + * AcpiRsConvertClockInput
> + *
> + ******************************************************************************/
> +
> +ACPI_RSCONVERT_INFO     AcpiRsConvertClockInput[8] =
> +{
> +    {ACPI_RSC_INITGET,  ACPI_RESOURCE_TYPE_CLOCK_INPUT,
> +                        ACPI_RS_SIZE (ACPI_RESOURCE_CLOCK_INPUT),
> +                        ACPI_RSC_TABLE_SIZE (AcpiRsConvertClockInput)},
> +
> +    {ACPI_RSC_INITSET,  ACPI_RESOURCE_NAME_CLOCK_INPUT,
> +                        sizeof (AML_RESOURCE_CLOCK_INPUT),
> +                        0},
> +
> +    {ACPI_RSC_MOVE8,    ACPI_RS_OFFSET (Data.ClockInput.RevisionId),
> +                        AML_OFFSET (ClockInput.RevisionId),
> +                        1},
> +
> +    {ACPI_RSC_1BITFLAG, ACPI_RS_OFFSET (Data.ClockInput.Mode),
> +                        AML_OFFSET (ClockInput.Flags),
> +                        0},
> +
> +    {ACPI_RSC_2BITFLAG, ACPI_RS_OFFSET (Data.ClockInput.Scale),
> +                        AML_OFFSET (ClockInput.Flags),
> +                        1},
> +
> +    {ACPI_RSC_MOVE16,   ACPI_RS_OFFSET (Data.ClockInput.FrequencyDivisor),
> +                        AML_OFFSET (ClockInput.FrequencyDivisor),
> +                        2},
> +
> +    {ACPI_RSC_MOVE32,   ACPI_RS_OFFSET (Data.ClockInput.FrequencyNumerator),
> +                        AML_OFFSET (ClockInput.FrequencyNumerator),
> +                        4},
> +
> +    /* Resource Source */
> +    {ACPI_RSC_SOURCE,    ACPI_RS_OFFSET (Data.ClockInput.ResourceSource),
> +                        0,
> +                        sizeof(AML_RESOURCE_CLOCK_INPUT)},
> +
> +};
> +
> +
>   /*******************************************************************************
>    *
>    * AcpiRsConvertPinfunction
> diff --git a/src/acpica/source/components/resources/rsutils.c b/src/acpica/source/components/resources/rsutils.c
> index 7110406f..e6889f86 100644
> --- a/src/acpica/source/components/resources/rsutils.c
> +++ b/src/acpica/source/components/resources/rsutils.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/resources/rsxface.c b/src/acpica/source/components/resources/rsxface.c
> index d3aaf1d0..f46ff346 100644
> --- a/src/acpica/source/components/resources/rsxface.c
> +++ b/src/acpica/source/components/resources/rsxface.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/tables/tbdata.c b/src/acpica/source/components/tables/tbdata.c
> index d974d951..e0037637 100644
> --- a/src/acpica/source/components/tables/tbdata.c
> +++ b/src/acpica/source/components/tables/tbdata.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/tables/tbfadt.c b/src/acpica/source/components/tables/tbfadt.c
> index 97876614..d2bd1eb3 100644
> --- a/src/acpica/source/components/tables/tbfadt.c
> +++ b/src/acpica/source/components/tables/tbfadt.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/tables/tbfind.c b/src/acpica/source/components/tables/tbfind.c
> index 81ed2d97..4adf09e2 100644
> --- a/src/acpica/source/components/tables/tbfind.c
> +++ b/src/acpica/source/components/tables/tbfind.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/tables/tbinstal.c b/src/acpica/source/components/tables/tbinstal.c
> index 9253bd1d..eda1d0a7 100644
> --- a/src/acpica/source/components/tables/tbinstal.c
> +++ b/src/acpica/source/components/tables/tbinstal.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/tables/tbprint.c b/src/acpica/source/components/tables/tbprint.c
> index cdad69af..9fd5c7aa 100644
> --- a/src/acpica/source/components/tables/tbprint.c
> +++ b/src/acpica/source/components/tables/tbprint.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -294,4 +294,3 @@ AcpiTbPrintTableHeader (
>               LocalHeader.AslCompilerId, LocalHeader.AslCompilerRevision));
>       }
>   }
> -
> diff --git a/src/acpica/source/components/tables/tbutils.c b/src/acpica/source/components/tables/tbutils.c
> index 5188d26d..680a69d9 100644
> --- a/src/acpica/source/components/tables/tbutils.c
> +++ b/src/acpica/source/components/tables/tbutils.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -323,6 +323,7 @@ AcpiTbGetRootTableEntry (
>       UINT8                   *TableEntry,
>       UINT32                  TableEntrySize)
>   {
> +    UINT32                  Address32;
>       UINT64                  Address64;
>   
>   
> @@ -336,8 +337,8 @@ AcpiTbGetRootTableEntry (
>            * 32-bit platform, RSDT: Return 32-bit table entry
>            * 64-bit platform, RSDT: Expand 32-bit to 64-bit and return
>            */
> -        return ((ACPI_PHYSICAL_ADDRESS) (*ACPI_CAST_PTR (
> -            UINT32, TableEntry)));
> +        ACPI_MOVE_32_TO_32(&Address32, TableEntry);
> +        return Address32;
>       }
>       else
>       {
> diff --git a/src/acpica/source/components/tables/tbxface.c b/src/acpica/source/components/tables/tbxface.c
> index 919ad138..b37377ef 100644
> --- a/src/acpica/source/components/tables/tbxface.c
> +++ b/src/acpica/source/components/tables/tbxface.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/tables/tbxfload.c b/src/acpica/source/components/tables/tbxfload.c
> index ddd9b795..7ae42346 100644
> --- a/src/acpica/source/components/tables/tbxfload.c
> +++ b/src/acpica/source/components/tables/tbxfload.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/tables/tbxfroot.c b/src/acpica/source/components/tables/tbxfroot.c
> index 97cb65c7..923d05fb 100644
> --- a/src/acpica/source/components/tables/tbxfroot.c
> +++ b/src/acpica/source/components/tables/tbxfroot.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/utilities/utaddress.c b/src/acpica/source/components/utilities/utaddress.c
> index 5aa12832..e3a50289 100644
> --- a/src/acpica/source/components/utilities/utaddress.c
> +++ b/src/acpica/source/components/utilities/utaddress.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/utilities/utalloc.c b/src/acpica/source/components/utilities/utalloc.c
> index aa06339c..d4a7e501 100644
> --- a/src/acpica/source/components/utilities/utalloc.c
> +++ b/src/acpica/source/components/utilities/utalloc.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/utilities/utascii.c b/src/acpica/source/components/utilities/utascii.c
> index db238902..6f6d9229 100644
> --- a/src/acpica/source/components/utilities/utascii.c
> +++ b/src/acpica/source/components/utilities/utascii.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/utilities/utbuffer.c b/src/acpica/source/components/utilities/utbuffer.c
> index 2cf097bf..be1082e8 100644
> --- a/src/acpica/source/components/utilities/utbuffer.c
> +++ b/src/acpica/source/components/utilities/utbuffer.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/utilities/utcache.c b/src/acpica/source/components/utilities/utcache.c
> index 2ff1540c..32c527d5 100644
> --- a/src/acpica/source/components/utilities/utcache.c
> +++ b/src/acpica/source/components/utilities/utcache.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/utilities/utcksum.c b/src/acpica/source/components/utilities/utcksum.c
> index b8ea869b..de97d15f 100644
> --- a/src/acpica/source/components/utilities/utcksum.c
> +++ b/src/acpica/source/components/utilities/utcksum.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -172,7 +172,7 @@
>    *
>    * DESCRIPTION: Verifies that the table checksums to zero. Optionally returns
>    *              exception on bad checksum.
> - *              Note: We don't have to check for a CDAT here, since CDAT is
> + *              Note: We don't have to check for a CDAT here, since CDAT is
>    *              not in the RSDT/XSDT, and the CDAT table is never installed
>    *              via ACPICA.
>    *
> diff --git a/src/acpica/source/components/utilities/utcopy.c b/src/acpica/source/components/utilities/utcopy.c
> index e725d55b..e9024bdd 100644
> --- a/src/acpica/source/components/utilities/utcopy.c
> +++ b/src/acpica/source/components/utilities/utcopy.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/utilities/utdebug.c b/src/acpica/source/components/utilities/utdebug.c
> index f789e686..b0c3640f 100644
> --- a/src/acpica/source/components/utilities/utdebug.c
> +++ b/src/acpica/source/components/utilities/utdebug.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/utilities/utdecode.c b/src/acpica/source/components/utilities/utdecode.c
> index 2a49cbd8..b100c61b 100644
> --- a/src/acpica/source/components/utilities/utdecode.c
> +++ b/src/acpica/source/components/utilities/utdecode.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/utilities/utdelete.c b/src/acpica/source/components/utilities/utdelete.c
> index b36c4bb3..1227b211 100644
> --- a/src/acpica/source/components/utilities/utdelete.c
> +++ b/src/acpica/source/components/utilities/utdelete.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/utilities/uterror.c b/src/acpica/source/components/utilities/uterror.c
> index 2aee4d54..c88081f9 100644
> --- a/src/acpica/source/components/utilities/uterror.c
> +++ b/src/acpica/source/components/utilities/uterror.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/utilities/uteval.c b/src/acpica/source/components/utilities/uteval.c
> index f4ccea68..bccbdda5 100644
> --- a/src/acpica/source/components/utilities/uteval.c
> +++ b/src/acpica/source/components/utilities/uteval.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/utilities/utexcep.c b/src/acpica/source/components/utilities/utexcep.c
> index 279d33fc..094df3ab 100644
> --- a/src/acpica/source/components/utilities/utexcep.c
> +++ b/src/acpica/source/components/utilities/utexcep.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/utilities/utglobal.c b/src/acpica/source/components/utilities/utglobal.c
> index 43de5c0a..28e4c341 100644
> --- a/src/acpica/source/components/utilities/utglobal.c
> +++ b/src/acpica/source/components/utilities/utglobal.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/utilities/uthex.c b/src/acpica/source/components/utilities/uthex.c
> index c64d3def..801627e2 100644
> --- a/src/acpica/source/components/utilities/uthex.c
> +++ b/src/acpica/source/components/utilities/uthex.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/utilities/utids.c b/src/acpica/source/components/utilities/utids.c
> index 498338a1..3df4d97d 100644
> --- a/src/acpica/source/components/utilities/utids.c
> +++ b/src/acpica/source/components/utilities/utids.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/utilities/utinit.c b/src/acpica/source/components/utilities/utinit.c
> index 0f2cf489..37ec63bc 100644
> --- a/src/acpica/source/components/utilities/utinit.c
> +++ b/src/acpica/source/components/utilities/utinit.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/utilities/utlock.c b/src/acpica/source/components/utilities/utlock.c
> index 9357279b..e56b7484 100644
> --- a/src/acpica/source/components/utilities/utlock.c
> +++ b/src/acpica/source/components/utilities/utlock.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/utilities/utmath.c b/src/acpica/source/components/utilities/utmath.c
> index b534bb3e..b854368e 100644
> --- a/src/acpica/source/components/utilities/utmath.c
> +++ b/src/acpica/source/components/utilities/utmath.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/utilities/utmisc.c b/src/acpica/source/components/utilities/utmisc.c
> index 1efe0afc..64e33672 100644
> --- a/src/acpica/source/components/utilities/utmisc.c
> +++ b/src/acpica/source/components/utilities/utmisc.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/utilities/utmutex.c b/src/acpica/source/components/utilities/utmutex.c
> index 1f1c1d82..2ce621fa 100644
> --- a/src/acpica/source/components/utilities/utmutex.c
> +++ b/src/acpica/source/components/utilities/utmutex.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/utilities/utnonansi.c b/src/acpica/source/components/utilities/utnonansi.c
> index e3c2f460..5db70422 100644
> --- a/src/acpica/source/components/utilities/utnonansi.c
> +++ b/src/acpica/source/components/utilities/utnonansi.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/utilities/utobject.c b/src/acpica/source/components/utilities/utobject.c
> index 52e02beb..f53f3163 100644
> --- a/src/acpica/source/components/utilities/utobject.c
> +++ b/src/acpica/source/components/utilities/utobject.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/utilities/utosi.c b/src/acpica/source/components/utilities/utosi.c
> index 700f30a6..b6431c88 100644
> --- a/src/acpica/source/components/utilities/utosi.c
> +++ b/src/acpica/source/components/utilities/utosi.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/utilities/utownerid.c b/src/acpica/source/components/utilities/utownerid.c
> index 30ba6b75..ad2796be 100644
> --- a/src/acpica/source/components/utilities/utownerid.c
> +++ b/src/acpica/source/components/utilities/utownerid.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/utilities/utpredef.c b/src/acpica/source/components/utilities/utpredef.c
> index 7f97ee7c..6afc6559 100644
> --- a/src/acpica/source/components/utilities/utpredef.c
> +++ b/src/acpica/source/components/utilities/utpredef.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/utilities/utresdecode.c b/src/acpica/source/components/utilities/utresdecode.c
> index 12ab6875..667f12f8 100644
> --- a/src/acpica/source/components/utilities/utresdecode.c
> +++ b/src/acpica/source/components/utilities/utresdecode.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -467,4 +467,17 @@ const char                      *AcpiGbl_PtypDecode[] =
>       "Input Schmitt Trigger",
>   };
>   
> +const char                      *AcpiGbl_ClockInputMode[] =
> +{
> +    "Fixed",
> +    "Variable",
> +};
> +
> +const char                      *AcpiGbl_ClockInputScale[] =
> +{
> +    "Hz",
> +    "KHz",
> +    "MHz",
> +};
> +
>   #endif
> diff --git a/src/acpica/source/components/utilities/utresrc.c b/src/acpica/source/components/utilities/utresrc.c
> index 26c382d8..f47b2924 100644
> --- a/src/acpica/source/components/utilities/utresrc.c
> +++ b/src/acpica/source/components/utilities/utresrc.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -204,6 +204,8 @@ const UINT8                 AcpiGbl_ResourceAmlSizes[] =
>       ACPI_AML_SIZE_LARGE (AML_RESOURCE_PIN_GROUP),
>       ACPI_AML_SIZE_LARGE (AML_RESOURCE_PIN_GROUP_FUNCTION),
>       ACPI_AML_SIZE_LARGE (AML_RESOURCE_PIN_GROUP_CONFIG),
> +    ACPI_AML_SIZE_LARGE (AML_RESOURCE_CLOCK_INPUT),
> +
>   };
>   
>   const UINT8                 AcpiGbl_ResourceAmlSerialBusSizes[] =
> @@ -264,6 +266,7 @@ static const UINT8          AcpiGbl_ResourceTypes[] =
>       ACPI_VARIABLE_LENGTH,           /* 10 PinGroup */
>       ACPI_VARIABLE_LENGTH,           /* 11 PinGroupFunction */
>       ACPI_VARIABLE_LENGTH,           /* 12 PinGroupConfig */
> +    ACPI_VARIABLE_LENGTH,           /* 13 ClockInput */
>   };
>   
>   
> @@ -529,16 +532,21 @@ AcpiUtValidateResource (
>       AmlResource = ACPI_CAST_PTR (AML_RESOURCE, Aml);
>       if (ResourceType == ACPI_RESOURCE_NAME_SERIAL_BUS)
>       {
> +        /* Avoid undefined behavior: member access within misaligned address */
> +
> +        AML_RESOURCE_COMMON_SERIALBUS CommonSerialBus;
> +        memcpy(&CommonSerialBus, AmlResource, sizeof(CommonSerialBus));
> +
>           /* Validate the BusType field */
>   
> -        if ((AmlResource->CommonSerialBus.Type == 0) ||
> -            (AmlResource->CommonSerialBus.Type > AML_RESOURCE_MAX_SERIALBUSTYPE))
> +        if ((CommonSerialBus.Type == 0) ||
> +            (CommonSerialBus.Type > AML_RESOURCE_MAX_SERIALBUSTYPE))
>           {
>               if (WalkState)
>               {
>                   ACPI_ERROR ((AE_INFO,
>                       "Invalid/unsupported SerialBus resource descriptor: BusType 0x%2.2X",
> -                    AmlResource->CommonSerialBus.Type));
> +                    CommonSerialBus.Type));
>               }
>               return (AE_AML_INVALID_RESOURCE_TYPE);
>           }
> diff --git a/src/acpica/source/components/utilities/utstate.c b/src/acpica/source/components/utilities/utstate.c
> index f089ffea..ec13a07a 100644
> --- a/src/acpica/source/components/utilities/utstate.c
> +++ b/src/acpica/source/components/utilities/utstate.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/utilities/utstring.c b/src/acpica/source/components/utilities/utstring.c
> index 770f3078..aed0d10c 100644
> --- a/src/acpica/source/components/utilities/utstring.c
> +++ b/src/acpica/source/components/utilities/utstring.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/utilities/utstrsuppt.c b/src/acpica/source/components/utilities/utstrsuppt.c
> index 0487a4f6..31e720c9 100644
> --- a/src/acpica/source/components/utilities/utstrsuppt.c
> +++ b/src/acpica/source/components/utilities/utstrsuppt.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/utilities/utstrtoul64.c b/src/acpica/source/components/utilities/utstrtoul64.c
> index 1ef50eac..1aee5d02 100644
> --- a/src/acpica/source/components/utilities/utstrtoul64.c
> +++ b/src/acpica/source/components/utilities/utstrtoul64.c
> @@ -9,7 +9,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/utilities/uttrack.c b/src/acpica/source/components/utilities/uttrack.c
> index 7791fe9b..77e1b659 100644
> --- a/src/acpica/source/components/utilities/uttrack.c
> +++ b/src/acpica/source/components/utilities/uttrack.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/utilities/utuuid.c b/src/acpica/source/components/utilities/utuuid.c
> index 8fd85d62..055086f1 100644
> --- a/src/acpica/source/components/utilities/utuuid.c
> +++ b/src/acpica/source/components/utilities/utuuid.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/utilities/utxface.c b/src/acpica/source/components/utilities/utxface.c
> index 74a8ff48..d335bb1a 100644
> --- a/src/acpica/source/components/utilities/utxface.c
> +++ b/src/acpica/source/components/utilities/utxface.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/utilities/utxferror.c b/src/acpica/source/components/utilities/utxferror.c
> index 77701dfe..6534e1a1 100644
> --- a/src/acpica/source/components/utilities/utxferror.c
> +++ b/src/acpica/source/components/utilities/utxferror.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/components/utilities/utxfinit.c b/src/acpica/source/components/utilities/utxfinit.c
> index 865fe9d2..0ccaf5ca 100644
> --- a/src/acpica/source/components/utilities/utxfinit.c
> +++ b/src/acpica/source/components/utilities/utxfinit.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/include/acapps.h b/src/acpica/source/include/acapps.h
> index 382ab170..9662e511 100644
> --- a/src/acpica/source/include/acapps.h
> +++ b/src/acpica/source/include/acapps.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, 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 - 2022 Intel Corporation"
> +#define ACPICA_COPYRIGHT            "Copyright (c) 2000 - 2023 Intel Corporation"
>   
>   #if ACPI_MACHINE_WIDTH == 64
>   #define ACPI_WIDTH          " (64-bit version)"
> diff --git a/src/acpica/source/include/acbuffer.h b/src/acpica/source/include/acbuffer.h
> index 0739feb5..63225aa7 100644
> --- a/src/acpica/source/include/acbuffer.h
> +++ b/src/acpica/source/include/acbuffer.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/include/accommon.h b/src/acpica/source/include/accommon.h
> index 210035cd..219372d3 100644
> --- a/src/acpica/source/include/accommon.h
> +++ b/src/acpica/source/include/accommon.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/include/acconfig.h b/src/acpica/source/include/acconfig.h
> index 04f7f4f0..5ae00322 100644
> --- a/src/acpica/source/include/acconfig.h
> +++ b/src/acpica/source/include/acconfig.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/include/acconvert.h b/src/acpica/source/include/acconvert.h
> index 048fd53e..3aa36a8b 100644
> --- a/src/acpica/source/include/acconvert.h
> +++ b/src/acpica/source/include/acconvert.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/include/acdebug.h b/src/acpica/source/include/acdebug.h
> index 6716a094..c1596ee8 100644
> --- a/src/acpica/source/include/acdebug.h
> +++ b/src/acpica/source/include/acdebug.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/include/acdisasm.h b/src/acpica/source/include/acdisasm.h
> index 47ce0b15..afc9034b 100644
> --- a/src/acpica/source/include/acdisasm.h
> +++ b/src/acpica/source/include/acdisasm.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -260,6 +260,7 @@ typedef enum
>       ACPI_DMT_AEST_XRUPT,
>       ACPI_DMT_AGDI,
>       ACPI_DMT_ASF,
> +    ACPI_DMT_ASPT,
>       ACPI_DMT_CDAT,
>       ACPI_DMT_CEDT,
>       ACPI_DMT_DMAR,
> @@ -280,6 +281,7 @@ typedef enum
>       ACPI_DMT_IVRS_UNTERMINATED_STRING,
>       ACPI_DMT_LPIT,
>       ACPI_DMT_MADT,
> +    ACPI_DMT_MPAM_LOCATOR,
>       ACPI_DMT_NFIT,
>       ACPI_DMT_NHLT1,
>       ACPI_DMT_NHLT1a,
> @@ -294,6 +296,7 @@ typedef enum
>       ACPI_DMT_PMTT_VENDOR,
>       ACPI_DMT_PPTT,
>       ACPI_DMT_RGRT,
> +    ACPI_DMT_RHCT,
>       ACPI_DMT_SDEI,
>       ACPI_DMT_SDEV,
>       ACPI_DMT_SLIC,
> @@ -399,6 +402,11 @@ extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf2a[];
>   extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf3[];
>   extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf4[];
>   extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsfHdr[];
> +extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAspt[];
> +extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsptHdr[];
> +extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAspt0[];
> +extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAspt1[];
> +extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAspt2[];
>   extern ACPI_DMTABLE_INFO        AcpiDmTableInfoBdat[];
>   extern ACPI_DMTABLE_INFO        AcpiDmTableInfoBoot[];
>   extern ACPI_DMTABLE_INFO        AcpiDmTableInfoBert[];
> @@ -550,6 +558,17 @@ extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadtHdr[];
>   extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMcfg[];
>   extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMcfg0[];
>   extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMchi[];
> +extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpam0[];
> +extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpam1[];
> +extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpam1A[];
> +extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpam1B[];
> +extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpam1C[];
> +extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpam1D[];
> +extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpam1E[];
> +extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpam1F[];
> +extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpam1G[];
> +extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpam1Deps[];
> +extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpam2[];
>   extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst[];
>   extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst0[];
>   extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst0A[];
> @@ -623,6 +642,12 @@ extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPrmtHandler[];
>   extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRasf[];
>   extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRgrt[];
>   extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRgrt0[];
> +extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRhct[];
> +extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRhctNodeHdr[];
> +extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRhctIsa1[];
> +extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRhctIsaPad[];
> +extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRhctHartInfo1[];
> +extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRhctHartInfo2[];
>   extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRsdp1[];
>   extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRsdp2[];
>   extern ACPI_DMTABLE_INFO        AcpiDmTableInfoS3pt[];
> @@ -758,6 +783,10 @@ void
>   AcpiDmDumpAsf (
>       ACPI_TABLE_HEADER       *Table);
>   
> +void
> +AcpiDmDumpAspt (
> +    ACPI_TABLE_HEADER       *Table);
> +
>   void
>   AcpiDmDumpCcel (
>       ACPI_TABLE_HEADER       *Table);
> @@ -838,6 +867,10 @@ void
>   AcpiDmDumpMcfg (
>       ACPI_TABLE_HEADER       *Table);
>   
> +void
> +AcpiDmDumpMpam (
> +    ACPI_TABLE_HEADER       *Table);
> +
>   void
>   AcpiDmDumpMpst (
>       ACPI_TABLE_HEADER       *Table);
> @@ -882,6 +915,10 @@ void
>   AcpiDmDumpRgrt (
>       ACPI_TABLE_HEADER       *Table);
>   
> +void
> +AcpiDmDumpRhct (
> +    ACPI_TABLE_HEADER       *Table);
> +
>   UINT32
>   AcpiDmDumpRsdp (
>       ACPI_TABLE_HEADER       *Table);
> @@ -1323,6 +1360,12 @@ AcpiDmVendorCommon (
>       UINT32                  Length,
>       UINT32                  Level);
>   
> +void
> +AcpiDmClockInputDescriptor (
> +    ACPI_OP_WALK_INFO       *Info,
> +    AML_RESOURCE            *Resource,
> +    UINT32                  Length,
> +    UINT32                  Level);
>   
>   /*
>    * dmresrcs
> diff --git a/src/acpica/source/include/acdispat.h b/src/acpica/source/include/acdispat.h
> index 2c44c9f1..3e8ad810 100644
> --- a/src/acpica/source/include/acdispat.h
> +++ b/src/acpica/source/include/acdispat.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/include/acevents.h b/src/acpica/source/include/acevents.h
> index f8c5d776..f9972d8d 100644
> --- a/src/acpica/source/include/acevents.h
> +++ b/src/acpica/source/include/acevents.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/include/acexcep.h b/src/acpica/source/include/acexcep.h
> index 92e94972..9271dc4c 100644
> --- a/src/acpica/source/include/acexcep.h
> +++ b/src/acpica/source/include/acexcep.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/include/acglobal.h b/src/acpica/source/include/acglobal.h
> index 1850d94b..28fc6514 100644
> --- a/src/acpica/source/include/acglobal.h
> +++ b/src/acpica/source/include/acglobal.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/include/achware.h b/src/acpica/source/include/achware.h
> index 256008c7..6e0631e0 100644
> --- a/src/acpica/source/include/achware.h
> +++ b/src/acpica/source/include/achware.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/include/acinterp.h b/src/acpica/source/include/acinterp.h
> index d9cec345..4c36708a 100644
> --- a/src/acpica/source/include/acinterp.h
> +++ b/src/acpica/source/include/acinterp.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/include/aclocal.h b/src/acpica/source/include/aclocal.h
> index 74eb6e27..9c090a07 100644
> --- a/src/acpica/source/include/aclocal.h
> +++ b/src/acpica/source/include/aclocal.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -1452,7 +1452,8 @@ typedef struct acpi_port_info
>   #define ACPI_RESOURCE_NAME_PIN_GROUP            0x90
>   #define ACPI_RESOURCE_NAME_PIN_GROUP_FUNCTION   0x91
>   #define ACPI_RESOURCE_NAME_PIN_GROUP_CONFIG     0x92
> -#define ACPI_RESOURCE_NAME_LARGE_MAX            0x92
> +#define ACPI_RESOURCE_NAME_CLOCK_INPUT          0x93
> +#define ACPI_RESOURCE_NAME_LARGE_MAX            0x94
>   
>   
>   /*****************************************************************************
> diff --git a/src/acpica/source/include/acmacros.h b/src/acpica/source/include/acmacros.h
> index 11fd47cc..66c90b6a 100644
> --- a/src/acpica/source/include/acmacros.h
> +++ b/src/acpica/source/include/acmacros.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/include/acnames.h b/src/acpica/source/include/acnames.h
> index 846d192b..a6cdd2e2 100644
> --- a/src/acpica/source/include/acnames.h
> +++ b/src/acpica/source/include/acnames.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/include/acnamesp.h b/src/acpica/source/include/acnamesp.h
> index 7b8d069d..432d9d44 100644
> --- a/src/acpica/source/include/acnamesp.h
> +++ b/src/acpica/source/include/acnamesp.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/include/acobject.h b/src/acpica/source/include/acobject.h
> index b2c9dd9b..4454c572 100644
> --- a/src/acpica/source/include/acobject.h
> +++ b/src/acpica/source/include/acobject.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/include/acopcode.h b/src/acpica/source/include/acopcode.h
> index 7e54a47f..f2ce2cd5 100644
> --- a/src/acpica/source/include/acopcode.h
> +++ b/src/acpica/source/include/acopcode.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/include/acoutput.h b/src/acpica/source/include/acoutput.h
> index cd3d26d5..502d9a94 100644
> --- a/src/acpica/source/include/acoutput.h
> +++ b/src/acpica/source/include/acoutput.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/include/acparser.h b/src/acpica/source/include/acparser.h
> index 4437d612..0dd0e345 100644
> --- a/src/acpica/source/include/acparser.h
> +++ b/src/acpica/source/include/acparser.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/include/acpi.h b/src/acpica/source/include/acpi.h
> index 081e3b7d..445e4413 100644
> --- a/src/acpica/source/include/acpi.h
> +++ b/src/acpica/source/include/acpi.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/include/acpiosxf.h b/src/acpica/source/include/acpiosxf.h
> index 67c11013..c4857cae 100644
> --- a/src/acpica/source/include/acpiosxf.h
> +++ b/src/acpica/source/include/acpiosxf.h
> @@ -10,7 +10,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/include/acpixf.h b/src/acpica/source/include/acpixf.h
> index 7b779375..a7d61033 100644
> --- a/src/acpica/source/include/acpixf.h
> +++ b/src/acpica/source/include/acpixf.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -154,7 +154,7 @@
>   
>   /* Current ACPICA subsystem version in YYYYMMDD format */
>   
> -#define ACPI_CA_VERSION                 0x20221020
> +#define ACPI_CA_VERSION                 0x20230331
>   
>   #include "acconfig.h"
>   #include "actypes.h"
> @@ -770,7 +770,7 @@ ACPI_EXTERNAL_RETURN_STATUS (
>   ACPI_STATUS
>   AcpiGetHandle (
>       ACPI_HANDLE             Parent,
> -    ACPI_STRING             Pathname,
> +    const char              *Pathname,
>       ACPI_HANDLE             *RetHandle))
>   
>   ACPI_EXTERNAL_RETURN_STATUS (
> @@ -942,6 +942,21 @@ AcpiInstallAddressSpaceHandler (
>       ACPI_ADR_SPACE_SETUP    Setup,
>       void                    *Context))
>   
> +ACPI_EXTERNAL_RETURN_STATUS (
> +ACPI_STATUS
> +AcpiInstallAddressSpaceHandlerNo_Reg(
> +    ACPI_HANDLE             Device,
> +    ACPI_ADR_SPACE_TYPE     SpaceId,
> +    ACPI_ADR_SPACE_HANDLER  Handler,
> +    ACPI_ADR_SPACE_SETUP    Setup,
> +    void                    *Context))
> +
> +ACPI_EXTERNAL_RETURN_STATUS (
> +ACPI_STATUS
> +AcpiExecuteRegMethods (
> +    ACPI_HANDLE             Device,
> +    ACPI_ADR_SPACE_TYPE     SpaceId))
> +
>   ACPI_EXTERNAL_RETURN_STATUS (
>   ACPI_STATUS
>   AcpiRemoveAddressSpaceHandler (
> diff --git a/src/acpica/source/include/acpredef.h b/src/acpica/source/include/acpredef.h
> index 9ad8c0ff..ca47e7cc 100644
> --- a/src/acpica/source/include/acpredef.h
> +++ b/src/acpica/source/include/acpredef.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/include/acresrc.h b/src/acpica/source/include/acresrc.h
> index 8214ed83..85be65dc 100644
> --- a/src/acpica/source/include/acresrc.h
> +++ b/src/acpica/source/include/acresrc.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -506,6 +506,7 @@ extern ACPI_RSCONVERT_INFO      AcpiRsConvertPinConfig[];
>   extern ACPI_RSCONVERT_INFO      AcpiRsConvertPinGroup[];
>   extern ACPI_RSCONVERT_INFO      AcpiRsConvertPinGroupFunction[];
>   extern ACPI_RSCONVERT_INFO      AcpiRsConvertPinGroupConfig[];
> +extern ACPI_RSCONVERT_INFO      AcpiRsConvertClockInput[];
>   
>   /* These resources require separate get/set tables */
>   
> @@ -562,6 +563,7 @@ extern ACPI_RSDUMP_INFO         AcpiRsDumpPinConfig[];
>   extern ACPI_RSDUMP_INFO         AcpiRsDumpPinGroup[];
>   extern ACPI_RSDUMP_INFO         AcpiRsDumpPinGroupFunction[];
>   extern ACPI_RSDUMP_INFO         AcpiRsDumpPinGroupConfig[];
> +extern ACPI_RSDUMP_INFO         AcpiRsDumpClockInput[];
>   #endif
>   
>   #endif  /* __ACRESRC_H__ */
> diff --git a/src/acpica/source/include/acrestyp.h b/src/acpica/source/include/acrestyp.h
> index f045c200..3065bdce 100644
> --- a/src/acpica/source/include/acrestyp.h
> +++ b/src/acpica/source/include/acrestyp.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -290,7 +290,10 @@ typedef struct acpi_resource_irq
>       UINT8                           Shareable;
>       UINT8                           WakeCapable;
>       UINT8                           InterruptCount;
> -    UINT8                           Interrupts[1];
> +    union {
> +        UINT8                       Interrupt;
> +        ACPI_FLEX_ARRAY(UINT8,      Interrupts);
> +    } u;
>   
>   } ACPI_RESOURCE_IRQ;
>   
> @@ -300,7 +303,10 @@ typedef struct acpi_resource_dma
>       UINT8                           BusMaster;
>       UINT8                           Transfer;
>       UINT8                           ChannelCount;
> -    UINT8                           Channels[1];
> +    union {
> +        UINT8                       Channel;
> +        ACPI_FLEX_ARRAY(UINT8,      Channels);
> +    } u;
>   
>   } ACPI_RESOURCE_DMA;
>   
> @@ -357,7 +363,7 @@ typedef struct acpi_resource_fixed_dma
>   typedef struct acpi_resource_vendor
>   {
>       UINT16                          ByteLength;
> -    UINT8                           ByteData[1];
> +    UINT8                           ByteData[];
>   
>   } ACPI_RESOURCE_VENDOR;
>   
> @@ -368,7 +374,7 @@ typedef struct acpi_resource_vendor_typed
>       UINT16                          ByteLength;
>       UINT8                           UuidSubtype;
>       UINT8                           Uuid[ACPI_UUID_LENGTH];
> -    UINT8                           ByteData[1];
> +    UINT8                           ByteData[];
>   
>   } ACPI_RESOURCE_VENDOR_TYPED;
>   
> @@ -538,7 +544,10 @@ typedef struct acpi_resource_extended_irq
>       UINT8                           WakeCapable;
>       UINT8                           InterruptCount;
>       ACPI_RESOURCE_SOURCE            ResourceSource;
> -    UINT32                          Interrupts[1];
> +    union {
> +        UINT32                      Interrupt;
> +        ACPI_FLEX_ARRAY(UINT32,     Interrupts);
> +    } u;
>   
>   } ACPI_RESOURCE_EXTENDED_IRQ;
>   
> @@ -770,6 +779,16 @@ typedef struct acpi_resource_pin_config
>   
>   } ACPI_RESOURCE_PIN_CONFIG;
>   
> +typedef struct acpi_resource_clock_input
> +{
> +    UINT8                           RevisionId;
> +    UINT8                           Mode;
> +    UINT8                           Scale;
> +    UINT16                          FrequencyDivisor;
> +    UINT32                          FrequencyNumerator;
> +    ACPI_RESOURCE_SOURCE            ResourceSource;
> +} ACPI_RESOURCE_CLOCK_INPUT;
> +
>   /* Values for PinConfigType field above */
>   
>   #define ACPI_PIN_CONFIG_DEFAULT                 0
> @@ -853,7 +872,8 @@ typedef struct acpi_resource_pin_group_config
>   #define ACPI_RESOURCE_TYPE_PIN_GROUP            22  /* ACPI 6.2 */
>   #define ACPI_RESOURCE_TYPE_PIN_GROUP_FUNCTION   23  /* ACPI 6.2 */
>   #define ACPI_RESOURCE_TYPE_PIN_GROUP_CONFIG     24  /* ACPI 6.2 */
> -#define ACPI_RESOURCE_TYPE_MAX                  24
> +#define ACPI_RESOURCE_TYPE_CLOCK_INPUT          25  /* ACPI 6.5 */
> +#define ACPI_RESOURCE_TYPE_MAX                  25
>   
>   /* Master union for resource descriptors */
>   
> @@ -888,6 +908,7 @@ typedef union acpi_resource_data
>       ACPI_RESOURCE_PIN_GROUP                 PinGroup;
>       ACPI_RESOURCE_PIN_GROUP_FUNCTION        PinGroupFunction;
>       ACPI_RESOURCE_PIN_GROUP_CONFIG          PinGroupConfig;
> +    ACPI_RESOURCE_CLOCK_INPUT               ClockInput;
>   
>       /* Common fields */
>   
> @@ -927,8 +948,10 @@ typedef struct acpi_pci_routing_table
>       UINT32                          Pin;
>       UINT64                          Address;        /* here for 64-bit alignment */
>       UINT32                          SourceIndex;
> -    char                            Source[4];      /* pad to 64 bits so sizeof() works in all cases */
> -
> +    union {
> +                                    char Pad[4];    /* pad to 64 bits so sizeof() works in all cases */
> +                                    ACPI_FLEX_ARRAY(char, Source);
> +    } u;
>   } ACPI_PCI_ROUTING_TABLE;
>   
>   #endif /* __ACRESTYP_H__ */
> diff --git a/src/acpica/source/include/acstruct.h b/src/acpica/source/include/acstruct.h
> index d50c7a1b..fe087179 100644
> --- a/src/acpica/source/include/acstruct.h
> +++ b/src/acpica/source/include/acstruct.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/include/actables.h b/src/acpica/source/include/actables.h
> index e9b070f9..21c34435 100644
> --- a/src/acpica/source/include/actables.h
> +++ b/src/acpica/source/include/actables.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/include/actbinfo.h b/src/acpica/source/include/actbinfo.h
> index 7ce3c21e..5417aff4 100644
> --- a/src/acpica/source/include/actbinfo.h
> +++ b/src/acpica/source/include/actbinfo.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -153,6 +153,7 @@
>    * Macros used to generate offsets to specific table fields
>    */
>   #define ACPI_AGDI_OFFSET(f)             (UINT16) ACPI_OFFSET (ACPI_TABLE_AGDI,f)
> +#define ACPI_ASPT_OFFSET(f)             (UINT16) ACPI_OFFSET (ACPI_TABLE_ASPT,f)
>   #define ACPI_FACS_OFFSET(f)             (UINT16) ACPI_OFFSET (ACPI_TABLE_FACS,f)
>   #define ACPI_GAS_OFFSET(f)              (UINT16) ACPI_OFFSET (ACPI_GENERIC_ADDRESS,f)
>   #define ACPI_HDR_OFFSET(f)              (UINT16) ACPI_OFFSET (ACPI_TABLE_HEADER,f)
> @@ -188,6 +189,7 @@
>   #define ACPI_PMTT_OFFSET(f)             (UINT16) ACPI_OFFSET (ACPI_TABLE_PMTT,f)
>   #define ACPI_RASF_OFFSET(f)             (UINT16) ACPI_OFFSET (ACPI_TABLE_RASF,f)
>   #define ACPI_RGRT_OFFSET(f)             (UINT16) ACPI_OFFSET (ACPI_TABLE_RGRT,f)
> +#define ACPI_RHCT_OFFSET(f)             (UINT16) ACPI_OFFSET (ACPI_TABLE_RHCT,f)
>   #define ACPI_S3PT_OFFSET(f)             (UINT16) ACPI_OFFSET (ACPI_TABLE_S3PT,f)
>   #define ACPI_SBST_OFFSET(f)             (UINT16) ACPI_OFFSET (ACPI_TABLE_SBST,f)
>   #define ACPI_SDEI_OFFSET(f)             (UINT16) ACPI_OFFSET (ACPI_TABLE_SDEI,f)
> @@ -234,6 +236,10 @@
>   #define ACPI_ASF2a_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_ASF_CONTROL_DATA,f)
>   #define ACPI_ASF3_OFFSET(f)             (UINT16) ACPI_OFFSET (ACPI_ASF_RMCP,f)
>   #define ACPI_ASF4_OFFSET(f)             (UINT16) ACPI_OFFSET (ACPI_ASF_ADDRESS,f)
> +#define ACPI_ASPTH_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_ASPT_HEADER,f)
> +#define ACPI_ASPT0_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_ASPT_GLOBAL_REGS,f)
> +#define ACPI_ASPT1_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_ASPT_SEV_MBOX_REGS,f)
> +#define ACPI_ASPT2_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_ASPT_ACPI_MBOX_REGS,f)
>   #define ACPI_CDAT_OFFSET(f)             (UINT16) ACPI_OFFSET (ACPI_TABLE_CDAT,f)
>   #define ACPI_CDATH_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_CDAT_HEADER,f)
>   #define ACPI_CDAT0_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_CDAT_DSMAS,f)
> @@ -331,6 +337,16 @@
>   #define ACPI_MADT17_OFFSET(f)           (UINT16) ACPI_OFFSET (ACPI_MADT_OEM_DATA,f)
>   #define ACPI_MADTH_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_SUBTABLE_HEADER,f)
>   #define ACPI_MCFG0_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_MCFG_ALLOCATION,f)
> +#define ACPI_MPAM0_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_MPAM_MSC_NODE,f)
> +#define ACPI_MPAM1_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_NODE,f)
> +#define ACPI_MPAM1A_OFFSET(f)           (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_CACHE_LOCATOR,f)
> +#define ACPI_MPAM1B_OFFSET(f)           (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_MEMORY_LOCATOR,f)
> +#define ACPI_MPAM1C_OFFSET(f)           (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_SMMU_INTERFACE,f)
> +#define ACPI_MPAM1D_OFFSET(f)           (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_MEMCACHE_INTERFACE,f)
> +#define ACPI_MPAM1E_OFFSET(f)           (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_ACPI_INTERFACE,f)
> +#define ACPI_MPAM1F_OFFSET(f)           (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_INTERCONNECT_INTERFACE,f)
> +#define ACPI_MPAM1G_OFFSET(f)           (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_GENERIC_LOCATOR,f)
> +#define ACPI_MPAM2_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_MPAM_FUNC_DEPS,f)
>   #define ACPI_MPST0_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_MPST_POWER_NODE,f)
>   #define ACPI_MPST0A_OFFSET(f)           (UINT16) ACPI_OFFSET (ACPI_MPST_POWER_STATE,f)
>   #define ACPI_MPST0B_OFFSET(f)           (UINT16) ACPI_OFFSET (ACPI_MPST_COMPONENT,f)
> @@ -385,6 +401,9 @@
>   #define ACPI_PRMTH_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_TABLE_PRMT_HEADER,f)
>   #define ACPI_PRMT0_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_PRMT_MODULE_INFO,f)
>   #define ACPI_PRMT1_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_PRMT_HANDLER_INFO,f)
> +#define ACPI_RHCTH_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_RHCT_NODE_HEADER,f)
> +#define ACPI_RHCT0_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_RHCT_ISA_STRING,f)
> +#define ACPI_RHCTFFFF_OFFSET(f)         (UINT16) ACPI_OFFSET (ACPI_RHCT_HART_INFO,f)
>   #define ACPI_S3PTH_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_FPDT_HEADER,f)
>   #define ACPI_S3PT0_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_S3PT_RESUME,f)
>   #define ACPI_S3PT1_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_S3PT_SUSPEND,f)
> diff --git a/src/acpica/source/include/actbl.h b/src/acpica/source/include/actbl.h
> index f23080fb..2a148491 100644
> --- a/src/acpica/source/include/actbl.h
> +++ b/src/acpica/source/include/actbl.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/include/actbl1.h b/src/acpica/source/include/actbl1.h
> index 340b636b..1b115ae3 100644
> --- a/src/acpica/source/include/actbl1.h
> +++ b/src/acpica/source/include/actbl1.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -170,6 +170,7 @@
>    */
>   #define ACPI_SIG_AEST           "AEST"      /* Arm Error Source Table */
>   #define ACPI_SIG_ASF            "ASF!"      /* Alert Standard Format table */
> +#define ACPI_SIG_ASPT           "ASPT"      /* AMD Secure Processor Table */
>   #define ACPI_SIG_BERT           "BERT"      /* Boot Error Record Table */
>   #define ACPI_SIG_BGRT           "BGRT"      /* Boot Graphics Resource Table */
>   #define ACPI_SIG_BOOT           "BOOT"      /* Simple Boot Flag Table */
> @@ -398,6 +399,86 @@ typedef struct acpi_asf_address
>   
>   } ACPI_ASF_ADDRESS;
>   
> +/*******************************************************************************
> + *
> + * ASPT - AMD Secure Processor Table (Signature "ASPT")
> + *        Revision 0x1
> + *
> + * Conforms to AMD Socket SP5/SP6 Platform ASPT Rev1 Specification,
> + * 12 September 2022
> + *
> + ******************************************************************************/
> +
> +typedef struct acpi_table_aspt
> +{
> +    ACPI_TABLE_HEADER       Header;             /* Common ACPI table header */
> +    UINT32                  NumEntries;
> +
> +} ACPI_TABLE_ASPT;
> +
> +
> +/* ASPT subtable header */
> +
> +typedef struct acpi_aspt_header
> +{
> +    UINT16                  Type;
> +    UINT16                  Length;
> +
> +} ACPI_ASPT_HEADER;
> +
> +
> +/* Values for Type field above */
> +
> +enum AcpiAsptType
> +{
> +    ACPI_ASPT_TYPE_GLOBAL_REGS      = 0,
> +    ACPI_ASPT_TYPE_SEV_MBOX_REGS    = 1,
> +    ACPI_ASPT_TYPE_ACPI_MBOX_REGS   = 2,
> +    ACPI_ASPT_TYPE_UNKNOWN          = 3,
> +};
> +
> +/*
> + * ASPT subtables
> + */
> +
> +/* 0: ASPT Global Registers */
> +
> +typedef struct acpi_aspt_global_regs
> +{
> +    ACPI_ASPT_HEADER        Header;
> +    UINT32                  Reserved;
> +    UINT64                  FeatureRegAddr;
> +    UINT64                  IrqEnRegAddr;
> +    UINT64                  IrqStRegAddr;
> +
> +} ACPI_ASPT_GLOBAL_REGS;
> +
> +
> +/* 1: ASPT SEV Mailbox Registers */
> +
> +typedef struct acpi_aspt_sev_mbox_regs
> +{
> +    ACPI_ASPT_HEADER        Header;
> +    UINT8                   MboxIrqId;
> +    UINT8                   Reserved[3];
> +    UINT64                  CmdRespRegAddr;
> +    UINT64                  CmdBufLoRegAddr;
> +    UINT64                  CmdBufHiRegAddr;
> +
> +} ACPI_ASPT_SEV_MBOX_REGS;
> +
> +
> +/* 2: ASPT ACPI Mailbox Registers */
> +
> +typedef struct acpi_aspt_acpi_mbox_regs
> +{
> +    ACPI_ASPT_HEADER        Header;
> +    UINT32                  Reserved1;
> +    UINT64                  CmdRespRegAddr;
> +    UINT64                  Reserved2[2];
> +
> +} ACPI_ASPT_ACPI_MBOX_REGS;
> +
>   
>   /*******************************************************************************
>    *
> @@ -495,7 +576,6 @@ typedef struct acpi_table_boot
>   } ACPI_TABLE_BOOT;
>   
>   
> -
>   /*******************************************************************************
>    *
>    * CDAT - Coherent Device Attribute Table
> @@ -543,7 +623,7 @@ enum AcpiCdatType
>   
>   /* Subtable 0: Device Scoped Memory Affinity Structure (DSMAS) */
>   
> -typedef struct acpi_cadt_dsmas
> +typedef struct acpi_cdat_dsmas
>   {
>       UINT8                   DsmadHandle;
>       UINT8                   Flags;
> @@ -1139,7 +1219,10 @@ typedef struct acpi_dmar_andd
>       ACPI_DMAR_HEADER        Header;
>       UINT8                   Reserved[3];
>       UINT8                   DeviceNumber;
> -    char                    DeviceName[1];
> +    union {
> +        char                  __pad;
> +        ACPI_FLEX_ARRAY(char, DeviceName);
> +    } u;
>   
>   } ACPI_DMAR_ANDD;
>   
> @@ -1192,7 +1275,7 @@ typedef struct acpi_table_drtm
>   typedef struct acpi_drtm_vtable_list
>   {
>       UINT32                  ValidatedTableCount;
> -    UINT64                  ValidatedTables[1];
> +    UINT64                  ValidatedTables[];
>   
>   } ACPI_DRTM_VTABLE_LIST;
>   
> @@ -1211,7 +1294,7 @@ typedef struct acpi_drtm_resource
>   typedef struct acpi_drtm_resource_list
>   {
>       UINT32                  ResourceCount;
> -    ACPI_DRTM_RESOURCE      Resources[1];
> +    ACPI_DRTM_RESOURCE      Resources[];
>   
>   } ACPI_DRTM_RESOURCE_LIST;
>   
> @@ -1239,7 +1322,7 @@ typedef struct acpi_table_ecdt
>       ACPI_GENERIC_ADDRESS    Data;               /* Address of EC data register */
>       UINT32                  Uid;                /* Unique ID - must be same as the EC _UID method */
>       UINT8                   Gpe;                /* The GPE for the EC */
> -    UINT8                   Id[1];              /* Full namepath of the EC in the ACPI namespace */
> +    UINT8                   Id[];               /* Full namepath of the EC in the ACPI namespace */
>   
>   } ACPI_TABLE_ECDT;
>   
> diff --git a/src/acpica/source/include/actbl2.h b/src/acpica/source/include/actbl2.h
> index 4be5f0fc..9b2812a0 100644
> --- a/src/acpica/source/include/actbl2.h
> +++ b/src/acpica/source/include/actbl2.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -179,6 +179,7 @@
>   #define ACPI_SIG_MADT           "APIC"      /* Multiple APIC Description Table */
>   #define ACPI_SIG_MCFG           "MCFG"      /* PCI Memory Mapped Configuration table */
>   #define ACPI_SIG_MCHI           "MCHI"      /* Management Controller Host Interface table */
> +#define ACPI_SIG_MPAM           "MPAM"      /* Memory System Resource Partitioning and Monitoring Table */
>   #define ACPI_SIG_MPST           "MPST"      /* Memory Power State Table */
>   #define ACPI_SIG_MSDM           "MSDM"      /* Microsoft Data Management Table */
>   #define ACPI_SIG_NFIT           "NFIT"      /* NVDIMM Firmware Interface Table */
> @@ -191,6 +192,7 @@
>   #define ACPI_SIG_PRMT           "PRMT"      /* Platform Runtime Mechanism Table */
>   #define ACPI_SIG_RASF           "RASF"      /* RAS Feature table */
>   #define ACPI_SIG_RGRT           "RGRT"      /* Regulatory Graphics Resource Table */
> +#define ACPI_SIG_RHCT           "RHCT"      /* RISC-V Hart Capabilities Table */
>   #define ACPI_SIG_SBST           "SBST"      /* Smart Battery Specification Table */
>   #define ACPI_SIG_SDEI           "SDEI"      /* Software Delegated Exception Interface Table */
>   #define ACPI_SIG_SDEV           "SDEV"      /* Secure Devices table */
> @@ -229,13 +231,12 @@
>   typedef struct acpi_table_aest
>   {
>       ACPI_TABLE_HEADER       Header;
> -    void                    *NodeArray[];
>   
>   } ACPI_TABLE_AEST;
>   
>   /* Common Subtable header - one per Node Structure (Subtable) */
>   
> -typedef struct              acpi_aest_hdr
> +typedef struct acpi_aest_hdr
>   {
>       UINT8                   Type;
>       UINT16                  Length;
> @@ -266,7 +267,7 @@ typedef struct              acpi_aest_hdr
>   
>   /* 0: Processor Error */
>   
> -typedef struct              acpi_aest_processor
> +typedef struct acpi_aest_processor
>   {
>       UINT32                  ProcessorId;
>       UINT8                   ResourceType;
> @@ -286,7 +287,7 @@ typedef struct              acpi_aest_processor
>   
>   /* 0R: Processor Cache Resource Substructure */
>   
> -typedef struct              acpi_aest_processor_cache
> +typedef struct acpi_aest_processor_cache
>   {
>       UINT32                  CacheReference;
>       UINT32                  Reserved;
> @@ -302,7 +303,7 @@ typedef struct              acpi_aest_processor_cache
>   
>   /* 1R: Processor TLB Resource Substructure */
>   
> -typedef struct              acpi_aest_processor_tlb
> +typedef struct acpi_aest_processor_tlb
>   {
>       UINT32                  TlbLevel;
>       UINT32                  Reserved;
> @@ -311,7 +312,7 @@ typedef struct              acpi_aest_processor_tlb
>   
>   /* 2R: Processor Generic Resource Substructure */
>   
> -typedef struct              acpi_aest_processor_generic
> +typedef struct acpi_aest_processor_generic
>   {
>       UINT32                   Resource;
>   
> @@ -319,7 +320,7 @@ typedef struct              acpi_aest_processor_generic
>   
>   /* 1: Memory Error */
>   
> -typedef struct              acpi_aest_memory
> +typedef struct acpi_aest_memory
>   {
>       UINT32                  SratProximityDomain;
>   
> @@ -327,7 +328,7 @@ typedef struct              acpi_aest_memory
>   
>   /* 2: Smmu Error */
>   
> -typedef struct              acpi_aest_smmu
> +typedef struct acpi_aest_smmu
>   {
>       UINT32                  IortNodeReference;
>       UINT32                  SubcomponentReference;
> @@ -336,7 +337,7 @@ typedef struct              acpi_aest_smmu
>   
>   /* 3: Vendor Defined */
>   
> -typedef struct              acpi_aest_vendor
> +typedef struct acpi_aest_vendor
>   {
>       UINT32                  AcpiHid;
>       UINT32                  AcpiUid;
> @@ -346,7 +347,7 @@ typedef struct              acpi_aest_vendor
>   
>   /* 4: Gic Error */
>   
> -typedef struct              acpi_aest_gic
> +typedef struct acpi_aest_gic
>   {
>       UINT32                  InterfaceType;
>       UINT32                  InstanceId;
> @@ -364,7 +365,7 @@ typedef struct              acpi_aest_gic
>   
>   /* Node Interface Structure */
>   
> -typedef struct              acpi_aest_node_interface
> +typedef struct acpi_aest_node_interface
>   {
>       UINT8                   Type;
>       UINT8                   Reserved[3];
> @@ -386,7 +387,7 @@ typedef struct              acpi_aest_node_interface
>   
>   /* Node Interrupt Structure */
>   
> -typedef struct              acpi_aest_node_interrupt
> +typedef struct acpi_aest_node_interrupt
>   {
>       UINT8                   Type;
>       UINT8                   Reserved[2];
> @@ -571,7 +572,7 @@ typedef struct acpi_iort_node
>       UINT32                  Identifier;
>       UINT32                  MappingCount;
>       UINT32                  MappingOffset;
> -    char                    NodeData[1];
> +    char                    NodeData[];
>   
>   } ACPI_IORT_NODE;
>   
> @@ -637,7 +638,7 @@ typedef struct acpi_iort_memory_access
>   typedef struct acpi_iort_its_group
>   {
>       UINT32                  ItsCount;
> -    UINT32                  Identifiers[1];         /* GIC ITS identifier array */
> +    UINT32                  Identifiers[];          /* GIC ITS identifier array */
>   
>   } ACPI_IORT_ITS_GROUP;
>   
> @@ -647,7 +648,7 @@ typedef struct acpi_iort_named_component
>       UINT32                  NodeFlags;
>       UINT64                  MemoryProperties;       /* Memory access properties */
>       UINT8                   MemoryAddressLimit;     /* Memory address size limit */
> -    char                    DeviceName[1];          /* Path of namespace object */
> +    char                    DeviceName[];           /* Path of namespace object */
>   
>   } ACPI_IORT_NAMED_COMPONENT;
>   
> @@ -663,7 +664,7 @@ typedef struct acpi_iort_root_complex
>       UINT32                  PciSegmentNumber;
>       UINT8                   MemoryAddressLimit;     /* Memory address size limit */
>       UINT16                  PasidCapabilities;      /* PASID Capabilities */
> -    UINT8                   Reserved[1];            /* Reserved, must be zero */
> +    UINT8                   Reserved[];             /* Reserved, must be zero */
>   
>   } ACPI_IORT_ROOT_COMPLEX;
>   
> @@ -687,7 +688,7 @@ typedef struct acpi_iort_smmu
>       UINT32                  ContextInterruptOffset;
>       UINT32                  PmuInterruptCount;
>       UINT32                  PmuInterruptOffset;
> -    UINT64                  Interrupts[1];          /* Interrupt array */
> +    UINT64                  Interrupts[];           /* Interrupt array */
>   
>   } ACPI_IORT_SMMU;
>   
> @@ -1134,7 +1135,8 @@ enum AcpiMadtType
>       ACPI_MADT_TYPE_MSI_PIC                  = 21,
>       ACPI_MADT_TYPE_BIO_PIC                  = 22,
>       ACPI_MADT_TYPE_LPC_PIC                  = 23,
> -    ACPI_MADT_TYPE_RESERVED                 = 24,   /* 24 to 0x7F are reserved */
> +    ACPI_MADT_TYPE_RINTC                    = 24,
> +    ACPI_MADT_TYPE_RESERVED                 = 25,   /* 25 to 0x7F are reserved */
>       ACPI_MADT_TYPE_OEM_RESERVED             = 0x80  /* 0x80 to 0xFF are reserved for OEM use */
>   };
>   
> @@ -1239,7 +1241,7 @@ typedef struct acpi_madt_local_sapic
>       UINT8                   Reserved[3];        /* Reserved, must be zero */
>       UINT32                  LapicFlags;
>       UINT32                  Uid;                /* Numeric UID - ACPI 3.0 */
> -    char                    UidString[1];       /* String UID  - ACPI 3.0 */
> +    char                    UidString[];        /* String UID  - ACPI 3.0 */
>   
>   } ACPI_MADT_LOCAL_SAPIC;
>   
> @@ -1290,7 +1292,7 @@ typedef struct acpi_madt_local_x2apic_nmi
>   } ACPI_MADT_LOCAL_X2APIC_NMI;
>   
>   
> -/* 11: Generic Interrupt - GICC (ACPI 5.0 + ACPI 6.0 + ACPI 6.3 changes) */
> +/* 11: Generic Interrupt - GICC (ACPI 5.0 + ACPI 6.0 + ACPI 6.3 + ACPI 6.5 changes) */
>   
>   typedef struct acpi_madt_generic_interrupt
>   {
> @@ -1311,6 +1313,7 @@ typedef struct acpi_madt_generic_interrupt
>       UINT8                   EfficiencyClass;
>       UINT8                   Reserved2[1];
>       UINT16                  SpeInterrupt;       /* ACPI 6.3 */
> +    UINT16                  TrbeInterrupt;      /* ACPI 6.5 */
>   
>   } ACPI_MADT_GENERIC_INTERRUPT;
>   
> @@ -1546,11 +1549,29 @@ enum AcpiMadtLpcPicVersion {
>       ACPI_MADT_LPC_PIC_VERSION_RESERVED   = 2	/* 2 and greater are reserved */
>   };
>   
> +/* 24: RISC-V INTC */
> +struct acpi_madt_rintc {
> +    ACPI_SUBTABLE_HEADER    Header;
> +    UINT8                   Version;
> +    UINT8                   Reserved;
> +    UINT32                  Flags;
> +    UINT64                  HartId;
> +    UINT32                  Uid;                /* ACPI processor UID */
> +};
> +
> +/* Values for RISC-V INTC Version field above */
> +
> +enum AcpiMadtRintcVersion {
> +    ACPI_MADT_RINTC_VERSION_NONE       = 0,
> +    ACPI_MADT_RINTC_VERSION_V1         = 1,
> +    ACPI_MADT_RINTC_VERSION_RESERVED   = 2	/* 2 and greater are reserved */
> +};
> +
>   /* 80: OEM data */
>   
>   typedef struct acpi_madt_oem_data
>   {
> -    UINT8                   OemData[0];
> +    ACPI_FLEX_ARRAY(UINT8,  OemData);
>   } ACPI_MADT_OEM_DATA;
>   
>   
> @@ -1639,6 +1660,132 @@ typedef struct acpi_table_mchi
>   
>   } ACPI_TABLE_MCHI;
>   
> +/*******************************************************************************
> + *
> + * MPAM - Memory System Resource Partitioning and Monitoring
> + *
> + * Conforms to "ACPI for Memory System Resource Partitioning and Monitoring 2.0"
> + * Document number: ARM DEN 0065, December, 2022.
> + *
> + ******************************************************************************/
> +
> +/* MPAM RIS locator types. Table 11, Location types */
> +enum AcpiMpamLocatorType {
> +    ACPI_MPAM_LOCATION_TYPE_PROCESSOR_CACHE    = 0,
> +    ACPI_MPAM_LOCATION_TYPE_MEMORY             = 1,
> +    ACPI_MPAM_LOCATION_TYPE_SMMU               = 2,
> +    ACPI_MPAM_LOCATION_TYPE_MEMORY_CACHE       = 3,
> +    ACPI_MPAM_LOCATION_TYPE_ACPI_DEVICE        = 4,
> +    ACPI_MPAM_LOCATION_TYPE_INTERCONNECT       = 5,
> +    ACPI_MPAM_LOCATION_TYPE_UNKNOWN            = 0xFF
> +};
> +
> +/* MPAM Functional dependency descriptor. Table 10 */
> +typedef struct acpi_mpam_func_deps
> +{
> +    UINT32                        Producer;
> +    UINT32                        Reserved;
> +} ACPI_MPAM_FUNC_DEPS;
> +
> +/* MPAM Processor cache locator descriptor. Table 13 */
> +typedef struct acpi_mpam_resource_cache_locator
> +{
> +    UINT64                        CacheReference;
> +    UINT32                        Reserved;
> +} ACPI_MPAM_RESOURCE_CACHE_LOCATOR;
> +
> +/* MPAM Memory locator descriptor. Table 14 */
> +typedef struct acpi_mpam_resource_memory_locator
> +{
> +    UINT64                        ProximityDomain;
> +    UINT32                        Reserved;
> +} ACPI_MPAM_RESOURCE_MEMORY_LOCATOR;
> +
> +/* MPAM SMMU locator descriptor. Table 15 */
> +typedef struct acpi_mpam_resource_smmu_locator
> +{
> +    UINT64                        SmmuInterface;
> +    UINT32                        Reserved;
> +} ACPI_MPAM_RESOURCE_SMMU_INTERFACE;
> +
> +/* MPAM Memory-side cache locator descriptor. Table 16 */
> +typedef struct acpi_mpam_resource_memcache_locator
> +{
> +    UINT8                         Reserved[7];
> +    UINT8                         Level;
> +    UINT32                        Reference;
> +} ACPI_MPAM_RESOURCE_MEMCACHE_INTERFACE;
> +
> +/* MPAM ACPI device locator descriptor. Table 17 */
> +typedef struct acpi_mpam_resource_acpi_locator
> +{
> +    UINT64                        AcpiHwId;
> +    UINT32                        AcpiUniqueId;
> +} ACPI_MPAM_RESOURCE_ACPI_INTERFACE;
> +
> +/* MPAM Interconnect locator descriptor. Table 18 */
> +typedef struct acpi_mpam_resource_interconnect_locator
> +{
> +    UINT64                        InterConnectDescTblOff;
> +    UINT32                        Reserved;
> +} ACPI_MPAM_RESOURCE_INTERCONNECT_INTERFACE;
> +
> +/* MPAM Locator structure. Table 12 */
> +typedef struct acpi_mpam_resource_generic_locator
> +{
> +    UINT64                        Descriptor1;
> +    UINT32                        Descriptor2;
> +} ACPI_MPAM_RESOURCE_GENERIC_LOCATOR;
> +
> +typedef union acpi_mpam_resource_locator
> +{
> +    ACPI_MPAM_RESOURCE_CACHE_LOCATOR             CacheLocator;
> +    ACPI_MPAM_RESOURCE_MEMORY_LOCATOR            MemoryLocator;
> +    ACPI_MPAM_RESOURCE_SMMU_INTERFACE            SmmuLocator;
> +    ACPI_MPAM_RESOURCE_MEMCACHE_INTERFACE        MemCacheLocator;
> +    ACPI_MPAM_RESOURCE_ACPI_INTERFACE            AcpiLocator;
> +    ACPI_MPAM_RESOURCE_INTERCONNECT_INTERFACE    InterconnectIfcLocator;
> +    ACPI_MPAM_RESOURCE_GENERIC_LOCATOR           GenericLocator;
> +} ACPI_MPAM_RESOURCE_LOCATOR;
> +
> +/* Memory System Component Resource Node Structure Table 9 */
> +typedef struct acpi_mpam_resource_node
> +{
> +    UINT32                        Identifier;
> +    UINT8                         RISIndex;
> +    UINT16                        Reserved1;
> +    UINT8                         LocatorType;
> +    ACPI_MPAM_RESOURCE_LOCATOR    Locator;
> +    UINT32                        NumFunctionalDeps;
> +} ACPI_MPAM_RESOURCE_NODE;
> +
> +/* Memory System Component (MSC) Node Structure. Table 4 */
> +typedef struct acpi_mpam_msc_node
> +{
> +    UINT16                     Length;
> +    UINT8                      InterfaceType;
> +    UINT8                      Reserved;
> +    UINT32                     Identifier;
> +    UINT64                     BaseAddress;
> +    UINT32                     MMIOSize;
> +    UINT32                     OverflowInterrupt;
> +    UINT32                     OverflowInterruptFlags;
> +    UINT32                     Reserved1;
> +    UINT32                     OverflowInterruptAffinity;
> +    UINT32                     ErrorInterrupt;
> +    UINT32                     ErrorInterruptFlags;
> +    UINT32                     Reserved2;
> +    UINT32                     ErrorInterruptAffinity;
> +    UINT32                     MaxNrdyUsec;
> +    UINT64                     HardwareIdLinkedDevice;
> +    UINT32                     InstanceIdLinkedDevice;
> +    UINT32                     NumResouceNodes;
> +} ACPI_MPAM_MSC_NODE;
> +
> +typedef struct acpi_table_mpam
> +{
> +    ACPI_TABLE_HEADER         Header;          /* Common ACPI table header */
> +} ACPI_TABLE_MPAM;
>   
>   /*******************************************************************************
>    *
> @@ -1917,7 +2064,7 @@ typedef struct acpi_nfit_interleave
>       UINT16                  Reserved;           /* Reserved, must be zero */
>       UINT32                  LineCount;
>       UINT32                  LineSize;
> -    UINT32                  LineOffset[1];      /* Variable length */
> +    UINT32                  LineOffset[];       /* Variable length */
>   
>   } ACPI_NFIT_INTERLEAVE;
>   
> @@ -1928,7 +2075,7 @@ typedef struct acpi_nfit_smbios
>   {
>       ACPI_NFIT_HEADER        Header;
>       UINT32                  Reserved;           /* Reserved, must be zero */
> -    UINT8                   Data[1];            /* Variable length */
> +    UINT8                   Data[];             /* Variable length */
>   
>   } ACPI_NFIT_SMBIOS;
>   
> @@ -1994,7 +2141,7 @@ typedef struct acpi_nfit_flush_address
>       UINT32                  DeviceHandle;
>       UINT16                  HintCount;
>       UINT8                   Reserved[6];        /* Reserved, must be zero */
> -    UINT64                  HintAddress[1];     /* Variable length */
> +    UINT64                  HintAddress[];      /* Variable length */
>   
>   } ACPI_NFIT_FLUSH_ADDRESS;
>   
> @@ -3129,6 +3276,53 @@ enum AcpiRgrtImageType
>   };
>   
>   
> +/*******************************************************************************
> + *
> + * RHCT - RISC-V Hart Capabilities Table
> + *        Version 1
> + *
> + ******************************************************************************/
> +
> +typedef struct acpi_table_rhct {
> +    ACPI_TABLE_HEADER       Header;             /* Common ACPI table header */
> +    UINT32                  Reserved;
> +    UINT64                  TimeBaseFreq;
> +    UINT32                  NodeCount;
> +    UINT32                  NodeOffset;
> +} ACPI_TABLE_RHCT;
> +
> +/*
> + * RHCT subtables
> + */
> +typedef struct acpi_rhct_node_header {
> +    UINT16                  Type;
> +    UINT16                  Length;
> +    UINT16                  Revision;
> +} ACPI_RHCT_NODE_HEADER;
> +
> +/* Values for RHCT subtable Type above */
> +
> +enum acpi_rhct_node_type {
> +    ACPI_RHCT_NODE_TYPE_ISA_STRING = 0x0000,
> +    ACPI_RHCT_NODE_TYPE_HART_INFO  = 0xFFFF,
> +};
> +
> +/*
> + * RHCT node specific subtables
> + */
> +
> +/* ISA string node structure */
> +typedef struct acpi_rhct_isa_string {
> +    UINT16                  IsaLength;
> +    char                    Isa[];
> +} ACPI_RHCT_ISA_STRING;
> +
> +/* Hart Info node structure */
> +typedef struct acpi_rhct_hart_info {
> +    UINT16                  NumOffsets;
> +    UINT32                  Uid;                /* ACPI processor UID */
> +} ACPI_RHCT_HART_INFO;
> +
>   /*******************************************************************************
>    *
>    * SBST - Smart Battery Specification Table
> diff --git a/src/acpica/source/include/actbl3.h b/src/acpica/source/include/actbl3.h
> index 7cc633a2..15ef0195 100644
> --- a/src/acpica/source/include/actbl3.h
> +++ b/src/acpica/source/include/actbl3.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/include/actypes.h b/src/acpica/source/include/actypes.h
> index 92da002a..c0f0a87f 100644
> --- a/src/acpica/source/include/actypes.h
> +++ b/src/acpica/source/include/actypes.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -1481,7 +1481,7 @@ typedef struct acpi_mem_space_context
>   
>   } ACPI_MEM_SPACE_CONTEXT;
>   
> -typedef struct acpi_data_table_space_context
> +typedef struct acpi_data_table_mapping
>   {
>       void                            *Pointer;
>   
> @@ -1574,4 +1574,8 @@ typedef enum
>   #define ACPI_FALLTHROUGH do {} while(0)
>   #endif
>   
> +#ifndef ACPI_FLEX_ARRAY
> +#define ACPI_FLEX_ARRAY(TYPE, NAME)     TYPE NAME[0]
> +#endif
> +
>   #endif /* __ACTYPES_H__ */
> diff --git a/src/acpica/source/include/acutils.h b/src/acpica/source/include/acutils.h
> index a0e7953b..bdca11c9 100644
> --- a/src/acpica/source/include/acutils.h
> +++ b/src/acpica/source/include/acutils.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -196,6 +196,8 @@ extern const char                       *AcpiGbl_SbDecode[];
>   extern const char                       *AcpiGbl_FcDecode[];
>   extern const char                       *AcpiGbl_PtDecode[];
>   extern const char                       *AcpiGbl_PtypDecode[];
> +extern const char                       *AcpiGbl_ClockInputMode[];
> +extern const char                       *AcpiGbl_ClockInputScale[];
>   #endif
>   
>   /*
> diff --git a/src/acpica/source/include/acuuid.h b/src/acpica/source/include/acuuid.h
> index 2ab07bb3..cf3abc0f 100644
> --- a/src/acpica/source/include/acuuid.h
> +++ b/src/acpica/source/include/acuuid.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/include/amlcode.h b/src/acpica/source/include/amlcode.h
> index 25d591e5..62cbffad 100644
> --- a/src/acpica/source/include/amlcode.h
> +++ b/src/acpica/source/include/amlcode.h
> @@ -10,7 +10,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/include/amlresrc.h b/src/acpica/source/include/amlresrc.h
> index e89cd824..a8e288ad 100644
> --- a/src/acpica/source/include/amlresrc.h
> +++ b/src/acpica/source/include/amlresrc.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -213,6 +213,8 @@
>   #define ACPI_RESTAG_TYPE                        "_TTP"  /* Translation(1), Static (0) */
>   #define ACPI_RESTAG_XFERTYPE                    "_SIZ"  /* 8(0), 8And16(1), 16(2) */
>   #define ACPI_RESTAG_VENDORDATA                  "_VEN"
> +#define ACPI_RESTAG_FQN                         "_FQN"
> +#define ACPI_RESTAG_FQD                         "_FQD"
>   
>   
>   /* Default sizes for "small" resource descriptors */
> @@ -501,7 +503,10 @@ typedef struct aml_resource_extended_irq
>       AML_RESOURCE_LARGE_HEADER_COMMON
>       UINT8                           Flags;
>       UINT8                           InterruptCount;
> -    UINT32                          Interrupts[1];
> +    union {
> +        UINT32                      Interrupt;
> +        ACPI_FLEX_ARRAY(UINT32,     Interrupts);
> +    } u;
>       /* ResSourceIndex, ResSource optional fields follow */
>   
>   } AML_RESOURCE_EXTENDED_IRQ;
> @@ -703,6 +708,23 @@ typedef struct aml_resource_pin_config
>   
>   } AML_RESOURCE_PIN_CONFIG;
>   
> +#define AML_RESOURCE_CLOCK_INPUT_REVISION      1       /* ACPI 6.5 */
> +
> +typedef struct aml_resource_clock_input
> +{
> +    AML_RESOURCE_LARGE_HEADER_COMMON
> +    UINT8                           RevisionId;
> +    UINT16                          Flags;
> +    UINT16                          FrequencyDivisor;
> +    UINT32                          FrequencyNumerator;
> +    /*
> +     * Optional fields follow immediately:
> +     * 1) Resource Source index
> +     * 2) Resource Source String
> +     */
> +} AML_RESOURCE_CLOCK_INPUT;
> +
> +
>   #define AML_RESOURCE_PIN_CONFIG_REVISION      1       /* ACPI 6.2 */
>   
>   typedef struct aml_resource_pin_group
> @@ -819,6 +841,7 @@ typedef union aml_resource
>       AML_RESOURCE_PIN_GROUP                  PinGroup;
>       AML_RESOURCE_PIN_GROUP_FUNCTION         PinGroupFunction;
>       AML_RESOURCE_PIN_GROUP_CONFIG           PinGroupConfig;
> +    AML_RESOURCE_CLOCK_INPUT                ClockInput;
>   
>       /* Utility overlays */
>   
> diff --git a/src/acpica/source/include/platform/acenv.h b/src/acpica/source/include/platform/acenv.h
> index 674c4c7d..1fc692db 100644
> --- a/src/acpica/source/include/platform/acenv.h
> +++ b/src/acpica/source/include/platform/acenv.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -358,6 +358,8 @@
>   #elif defined(_AED_EFI) || defined(_GNU_EFI) || defined(_EDK2_EFI)
>   #include "acefi.h"
>   
> +#elif defined(__ZEPHYR__)
> +#include "aczephyr.h"
>   #else
>   
>   /* Unknown environment */
> diff --git a/src/acpica/source/include/platform/acenvex.h b/src/acpica/source/include/platform/acenvex.h
> index 32db36c6..33e19b68 100644
> --- a/src/acpica/source/include/platform/acenvex.h
> +++ b/src/acpica/source/include/platform/acenvex.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/include/platform/acgcc.h b/src/acpica/source/include/platform/acgcc.h
> index 3ad22a1f..55a66c6d 100644
> --- a/src/acpica/source/include/platform/acgcc.h
> +++ b/src/acpica/source/include/platform/acgcc.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -211,4 +211,15 @@ typedef __builtin_va_list       va_list;
>   #define ACPI_FALLTHROUGH __attribute__((__fallthrough__))
>   #endif
>   
> +/*
> + * Flexible array members are not allowed to be part of a union under
> + * C99, but this is not for any technical reason. Work around the
> + * limitation.
> + */
> +#define ACPI_FLEX_ARRAY(TYPE, NAME)             \
> +        struct {                                \
> +                struct { } __Empty_ ## NAME;    \
> +                TYPE NAME[];                    \
> +        }
> +
>   #endif /* __ACGCC_H__ */
> diff --git a/src/acpica/source/include/platform/acgccex.h b/src/acpica/source/include/platform/acgccex.h
> index 035b999d..156bab47 100644
> --- a/src/acpica/source/include/platform/acgccex.h
> +++ b/src/acpica/source/include/platform/acgccex.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/include/platform/aclinux.h b/src/acpica/source/include/platform/aclinux.h
> index e9c1954d..da37a2fa 100644
> --- a/src/acpica/source/include/platform/aclinux.h
> +++ b/src/acpica/source/include/platform/aclinux.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> @@ -310,7 +310,10 @@
>   #define ACPI_USE_STANDARD_HEADERS
>   
>   #ifdef ACPI_USE_STANDARD_HEADERS
> +#include <stddef.h>
>   #include <unistd.h>
> +
> +#define ACPI_OFFSET(d, f)   offsetof(d, f)
>   #endif
>   
>   /* Define/disable kernel-specific declarators */
> diff --git a/src/acpica/source/include/platform/aclinuxex.h b/src/acpica/source/include/platform/aclinuxex.h
> index 4e84cd4b..a10412a7 100644
> --- a/src/acpica/source/include/platform/aclinuxex.h
> +++ b/src/acpica/source/include/platform/aclinuxex.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/os_specific/service_layers/osunixxf.c b/src/acpica/source/os_specific/service_layers/osunixxf.c
> index ef1651b6..addccb71 100644
> --- a/src/acpica/source/os_specific/service_layers/osunixxf.c
> +++ b/src/acpica/source/os_specific/service_layers/osunixxf.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/tools/acpiexec/aecommon.h b/src/acpica/source/tools/acpiexec/aecommon.h
> index 7bfdd278..0745aac2 100644
> --- a/src/acpica/source/tools/acpiexec/aecommon.h
> +++ b/src/acpica/source/tools/acpiexec/aecommon.h
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/tools/acpiexec/aeexception.c b/src/acpica/source/tools/acpiexec/aeexception.c
> index f0903c1f..326407c8 100644
> --- a/src/acpica/source/tools/acpiexec/aeexception.c
> +++ b/src/acpica/source/tools/acpiexec/aeexception.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/tools/acpiexec/aehandlers.c b/src/acpica/source/tools/acpiexec/aehandlers.c
> index 9b12aa65..e36a4759 100644
> --- a/src/acpica/source/tools/acpiexec/aehandlers.c
> +++ b/src/acpica/source/tools/acpiexec/aehandlers.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/tools/acpiexec/aeinitfile.c b/src/acpica/source/tools/acpiexec/aeinitfile.c
> index 600f2c7d..c3d4d8e5 100644
> --- a/src/acpica/source/tools/acpiexec/aeinitfile.c
> +++ b/src/acpica/source/tools/acpiexec/aeinitfile.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/tools/acpiexec/aeinstall.c b/src/acpica/source/tools/acpiexec/aeinstall.c
> index 28d08d8a..9e1940c3 100644
> --- a/src/acpica/source/tools/acpiexec/aeinstall.c
> +++ b/src/acpica/source/tools/acpiexec/aeinstall.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License
> diff --git a/src/acpica/source/tools/acpiexec/aeregion.c b/src/acpica/source/tools/acpiexec/aeregion.c
> index 400fd66e..f0646729 100644
> --- a/src/acpica/source/tools/acpiexec/aeregion.c
> +++ b/src/acpica/source/tools/acpiexec/aeregion.c
> @@ -8,7 +8,7 @@
>    *
>    * 1. Copyright Notice
>    *
> - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
> + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
>    * All rights reserved.
>    *
>    * 2. License

Acked-by: Ivan Hu <ivan.hu@canonical.com>
diff mbox series

Patch

diff --git a/src/acpica/source/common/acfileio.c b/src/acpica/source/common/acfileio.c
index 77f7337a..a9118f61 100644
--- a/src/acpica/source/common/acfileio.c
+++ b/src/acpica/source/common/acfileio.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/common/acgetline.c b/src/acpica/source/common/acgetline.c
index e5d0bf56..b2649927 100644
--- a/src/acpica/source/common/acgetline.c
+++ b/src/acpica/source/common/acgetline.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/common/adfile.c b/src/acpica/source/common/adfile.c
index 647333d9..8bca7273 100644
--- a/src/acpica/source/common/adfile.c
+++ b/src/acpica/source/common/adfile.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/common/adisasm.c b/src/acpica/source/common/adisasm.c
index 49338e74..ccb98bfe 100644
--- a/src/acpica/source/common/adisasm.c
+++ b/src/acpica/source/common/adisasm.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -789,6 +789,7 @@  AdDoExternalFileList (
             AcpiDmFinishNamespaceLoad (AcpiGbl_ParseOpRoot,
                 AcpiGbl_RootNode, OwnerId);
             AcpiPsDeleteParseTree (AcpiGbl_ParseOpRoot);
+            AcpiGbl_ParseOpRoot = NULL;
 
             ExternalListHead = ExternalListHead->Next;
         }
diff --git a/src/acpica/source/common/adwalk.c b/src/acpica/source/common/adwalk.c
index 6d51c7e1..f810abaf 100644
--- a/src/acpica/source/common/adwalk.c
+++ b/src/acpica/source/common/adwalk.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/common/ahids.c b/src/acpica/source/common/ahids.c
index 05c31bf5..8930dc64 100644
--- a/src/acpica/source/common/ahids.c
+++ b/src/acpica/source/common/ahids.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/common/ahpredef.c b/src/acpica/source/common/ahpredef.c
index 724abe6a..f4080587 100644
--- a/src/acpica/source/common/ahpredef.c
+++ b/src/acpica/source/common/ahpredef.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/common/ahtable.c b/src/acpica/source/common/ahtable.c
index 418621b6..6013b941 100644
--- a/src/acpica/source/common/ahtable.c
+++ b/src/acpica/source/common/ahtable.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -202,6 +202,7 @@  const AH_TABLE      AcpiGbl_SupportedTables[] =
     {ACPI_SIG_AEST, "Arm Error Source Table"},
     {ACPI_SIG_AGDI, "Arm Generic Diagnostic Dump and Reset Device Interface Table"},
     {ACPI_SIG_ASF,  "Alert Standard Format Table"},
+    {ACPI_SIG_ASPT, "AMD Secure Processor Table"},
     {ACPI_SIG_BDAT, "BIOS Data ACPI Table"},
     {ACPI_SIG_BERT, "Boot Error Record Table"},
     {ACPI_SIG_BGRT, "Boot Graphics Resource Table"},
@@ -232,6 +233,7 @@  const AH_TABLE      AcpiGbl_SupportedTables[] =
     {ACPI_SIG_MADT, "Multiple APIC Description Table (MADT)"},
     {ACPI_SIG_MCFG, "Memory Mapped Configuration Table"},
     {ACPI_SIG_MCHI, "Management Controller Host Interface Table"},
+    {ACPI_SIG_MPAM, "Memory System Resource Partitioning and Monitoring Table"},
     {ACPI_SIG_MPST, "Memory Power State Table"},
     {ACPI_SIG_MSCT, "Maximum System Characteristics Table"},
     {ACPI_SIG_MSDM, "Microsoft Data Management Table"},
@@ -244,6 +246,7 @@  const AH_TABLE      AcpiGbl_SupportedTables[] =
     {ACPI_SIG_PPTT, "Processor Properties Topology Table"},
     {ACPI_SIG_PRMT, "Platform Runtime Mechanism Table"},
     {ACPI_SIG_RASF, "RAS Features Table"},
+    {ACPI_SIG_RHCT, "RISC-V Hart Capabilities Table"},
     {ACPI_SIG_RGRT, "Regulatory Graphics Resource Table"},
     {ACPI_RSDP_NAME,"Root System Description Pointer"},
     {ACPI_SIG_RSDT, "Root System Description Table"},
diff --git a/src/acpica/source/common/ahuuids.c b/src/acpica/source/common/ahuuids.c
index dcf0c4bb..219f0e8e 100644
--- a/src/acpica/source/common/ahuuids.c
+++ b/src/acpica/source/common/ahuuids.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/common/cmfsize.c b/src/acpica/source/common/cmfsize.c
index 474ccd95..e303b765 100644
--- a/src/acpica/source/common/cmfsize.c
+++ b/src/acpica/source/common/cmfsize.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/common/dmextern.c b/src/acpica/source/common/dmextern.c
index 806daa33..6827d5e5 100644
--- a/src/acpica/source/common/dmextern.c
+++ b/src/acpica/source/common/dmextern.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -1493,7 +1493,6 @@  AcpiDmMarkExternalConflict (
     ACPI_EXTERNAL_LIST      *ExternalList = AcpiGbl_ExternalList;
     char                    *ExternalPath;
     char                    *InternalPath;
-    char                    *Temp;
     ACPI_STATUS             Status;
 
 
@@ -1526,13 +1525,6 @@  AcpiDmMarkExternalConflict (
 
     while (ExternalList)
     {
-        Temp = ExternalList->InternalPath;
-        if ((*ExternalList->InternalPath == AML_ROOT_PREFIX) &&
-            (ExternalList->InternalPath[1]))
-        {
-            Temp++;
-        }
-
         if (!strcmp (ExternalList->InternalPath, InternalPath))
         {
             ExternalList->Flags |= ACPI_EXT_CONFLICTING_DECLARATION;
diff --git a/src/acpica/source/common/dmrestag.c b/src/acpica/source/common/dmrestag.c
index b6772984..afacf6f7 100644
--- a/src/acpica/source/common/dmrestag.c
+++ b/src/acpica/source/common/dmrestag.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -480,6 +480,14 @@  static const ACPI_RESOURCE_TAG      AcpiDmIoFlagTags[] =
     {0,             NULL}
 };
 
+/* Subtype tables for ClockInput descriptor */
+
+static const ACPI_RESOURCE_TAG      AcpiDmClockInputTags[] =
+{
+    {( 6 * 8),      ACPI_RESTAG_FQD},
+    {( 8 * 8),      ACPI_RESTAG_FQN},
+    {0,             NULL}
+};
 
 /*
  * Dispatch table used to obtain the correct tag table for a descriptor.
@@ -531,6 +539,7 @@  static const ACPI_RESOURCE_TAG      *AcpiGbl_ResourceTags[] =
     NULL,                           /* 0x10, ACPI_RESOURCE_NAME_PIN_GROUP */
     AcpiDmPinGroupFunctionTags,     /* 0x11, ACPI_RESOURCE_NAME_PIN_GROUP_FUNCTION */
     AcpiDmPinConfigTags,            /* 0x12, ACPI_RESOURCE_NAME_PIN_GROUP_CONFIG - Same as PinConfig */
+    AcpiDmClockInputTags,           /* 0x13, ACPI_RESOURCE_NAME_CLOCK_INPUT */
 };
 
 /* GPIO Subtypes */
diff --git a/src/acpica/source/common/dmswitch.c b/src/acpica/source/common/dmswitch.c
index 4a434736..c6e9f8b0 100644
--- a/src/acpica/source/common/dmswitch.c
+++ b/src/acpica/source/common/dmswitch.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/common/dmtable.c b/src/acpica/source/common/dmtable.c
index 9b95ecc7..31ca7390 100644
--- a/src/acpica/source/common/dmtable.c
+++ b/src/acpica/source/common/dmtable.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -234,6 +234,14 @@  static const char           *AcpiDmAsfSubnames[] =
     "Unknown Subtable Type"         /* Reserved */
 };
 
+static const char           *AcpiDmAsptSubnames[] =
+{
+    "ASPT Global Registers",
+    "ASPT SEV Mailbox Registers",
+    "ASPT ACPI Mailbox Registers",
+    "Unknown Subtable Type"         /* Reserved */
+};
+
 static const char           *AcpiDmCdatSubnames[] =
 {
     "Device Scoped Memory Affinity Structure (DSMAS)",
@@ -421,10 +429,22 @@  static const char           *AcpiDmMadtSubnames[] =
     "MSI Interrupt Controller",         /* ACPI_MADT_TYPE_MSI_PIC */
     "Bridge I/O Interrupt Controller",  /* ACPI_MADT_TYPE_BIO_PIC */
     "LPC Interrupt Controller",         /* ACPI_MADT_TYPE_LPC_PIC */
+    "RISC-V Interrupt Controller",      /* ACPI_MADT_TYPE_RINTC */
     "Unknown Subtable Type",            /* Reserved */
     "Types 80-FF are used for OEM data" /* Reserved for OEM data */
 };
 
+static const char           *AcpiDmMpamSubnames[] =
+{
+    "Processor cache",      /* ACPI_MPAM_LOCATION_TYPE_PROCESSOR_CACHE */
+    "Memory",               /* ACPI_MPAM_LOCATION_TYPE_MEMORY */
+    "SMMU",                 /* ACPI_MPAM_LOCATION_TYPE_SMMU */
+    "Memory-side cache",    /* ACPI_MPAM_LOCATION_TYPE_MEMORY_CACHE */
+    "ACPI device",          /* ACPI_MPAM_LOCATION_TYPE_ACPI_DEVICE */
+    "Interconnect",         /* ACPI_MPAM_LOCATION_TYPE_INTERCONNECT */
+    "Unknown"               /* ACPI_MPAM_LOCATION_TYPE_UNKNOWN */
+};
+
 static const char           *AcpiDmNfitSubnames[] =
 {
     "System Physical Address Range",    /* ACPI_NFIT_TYPE_SYSTEM_ADDRESS */
@@ -672,6 +692,7 @@  const ACPI_DMTABLE_DATA     AcpiDmTableData[] =
     {ACPI_SIG_AGDI, AcpiDmTableInfoAgdi,    NULL,           NULL,           TemplateAgdi},
     {ACPI_SIG_APMT, NULL,                   AcpiDmDumpApmt, DtCompileApmt,  TemplateApmt},
     {ACPI_SIG_ASF,  NULL,                   AcpiDmDumpAsf,  DtCompileAsf,   TemplateAsf},
+    {ACPI_SIG_ASPT, NULL,                   AcpiDmDumpAspt, DtCompileAspt,  TemplateAspt},
     {ACPI_SIG_BDAT, AcpiDmTableInfoBdat,    NULL,           NULL,           TemplateBdat},
     {ACPI_SIG_BERT, AcpiDmTableInfoBert,    NULL,           NULL,           TemplateBert},
     {ACPI_SIG_BGRT, AcpiDmTableInfoBgrt,    NULL,           NULL,           TemplateBgrt},
@@ -700,6 +721,7 @@  const ACPI_DMTABLE_DATA     AcpiDmTableData[] =
     {ACPI_SIG_MADT, NULL,                   AcpiDmDumpMadt, DtCompileMadt,  TemplateMadt},
     {ACPI_SIG_MCFG, NULL,                   AcpiDmDumpMcfg, DtCompileMcfg,  TemplateMcfg},
     {ACPI_SIG_MCHI, AcpiDmTableInfoMchi,    NULL,           NULL,           TemplateMchi},
+    {ACPI_SIG_MPAM, NULL,                   AcpiDmDumpMpam, DtCompileMpam,  TemplateMpam},
     {ACPI_SIG_MPST, AcpiDmTableInfoMpst,    AcpiDmDumpMpst, DtCompileMpst,  TemplateMpst},
     {ACPI_SIG_MSCT, NULL,                   AcpiDmDumpMsct, DtCompileMsct,  TemplateMsct},
     {ACPI_SIG_MSDM, NULL,                   AcpiDmDumpSlic, DtCompileSlic,  TemplateMsdm},
@@ -713,6 +735,7 @@  const ACPI_DMTABLE_DATA     AcpiDmTableData[] =
     {ACPI_SIG_PRMT, NULL,                   AcpiDmDumpPrmt, DtCompilePrmt,  TemplatePrmt},
     {ACPI_SIG_RASF, AcpiDmTableInfoRasf,    NULL,           NULL,           TemplateRasf},
     {ACPI_SIG_RGRT, NULL,                   AcpiDmDumpRgrt, DtCompileRgrt,  TemplateRgrt},
+    {ACPI_SIG_RHCT, NULL,                   AcpiDmDumpRhct, DtCompileRhct,  TemplateRhct},
     {ACPI_SIG_RSDT, NULL,                   AcpiDmDumpRsdt, DtCompileRsdt,  TemplateRsdt},
     {ACPI_SIG_S3PT, NULL,                   NULL,           NULL,           TemplateS3pt},
     {ACPI_SIG_SBST, AcpiDmTableInfoSbst,    NULL,           NULL,           TemplateSbst},
@@ -1128,6 +1151,7 @@  AcpiDmDumpTable (
         case ACPI_DMT_IVRS_DE:
         case ACPI_DMT_GTDT:
         case ACPI_DMT_MADT:
+        case ACPI_DMT_MPAM_LOCATOR:
         case ACPI_DMT_NHLT1:
         case ACPI_DMT_NHLT1a:
         case ACPI_DMT_NHLT1b:
@@ -1158,6 +1182,7 @@  AcpiDmDumpTable (
             ByteLength = 1;
             break;
 
+        case ACPI_DMT_ASPT:
         case ACPI_DMT_UINT16:
         case ACPI_DMT_DMAR:
         case ACPI_DMT_HEST:
@@ -1375,7 +1400,7 @@  AcpiDmDumpTable (
             AcpiOsPrintf ("%2.2X\n", (*Target >> 2) & 0xFF);
             break;
 
-	case ACPI_DMT_FLAGS4:
+        case ACPI_DMT_FLAGS4:
 
             AcpiOsPrintf ("%1.1X\n", (*Target >> 4) & 0x03);
             break;
@@ -1661,6 +1686,17 @@  AcpiDmDumpTable (
                 AcpiDmAestXruptNames[Temp8]);
             break;
 
+        case ACPI_DMT_ASPT:
+            /* ASPT subtable types */
+            Temp16 = ACPI_GET16(Target);
+            if (Temp16 > ACPI_ASPT_TYPE_UNKNOWN)
+            {
+                Temp16 = ACPI_ASPT_TYPE_UNKNOWN;
+            }
+
+            AcpiOsPrintf(UINT16_FORMAT, Temp16, AcpiDmAsptSubnames[Temp16]);
+            break;
+
         case ACPI_DMT_ASF:
 
             /* ASF subtable types */
@@ -1890,6 +1926,20 @@  AcpiDmDumpTable (
                 AcpiDmMadtSubnames[Temp8]);
             break;
 
+        case ACPI_DMT_MPAM_LOCATOR:
+
+            /* MPAM subtable locator types */
+
+            Temp8 = *Target;
+            if (Temp8 > ACPI_MPAM_LOCATION_TYPE_INTERCONNECT)
+            {
+                Temp8 = ACPI_MPAM_LOCATION_TYPE_INTERCONNECT + 1;
+            }
+
+            AcpiOsPrintf (UINT8_FORMAT, *Target,
+                AcpiDmMpamSubnames[Temp8]);
+            break;
+
         case ACPI_DMT_NFIT:
 
             /* NFIT subtable types */
diff --git a/src/acpica/source/common/dmtables.c b/src/acpica/source/common/dmtables.c
index 7ade7868..c474a8c9 100644
--- a/src/acpica/source/common/dmtables.c
+++ b/src/acpica/source/common/dmtables.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/common/dmtbdump.c b/src/acpica/source/common/dmtbdump.c
index dc1745d5..c4046b8e 100644
--- a/src/acpica/source/common/dmtbdump.c
+++ b/src/acpica/source/common/dmtbdump.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/common/dmtbdump1.c b/src/acpica/source/common/dmtbdump1.c
index ae5f0f86..0dee045a 100644
--- a/src/acpica/source/common/dmtbdump1.c
+++ b/src/acpica/source/common/dmtbdump1.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -609,6 +609,95 @@  AcpiDmDumpAsf (
     }
 }
 
+/*******************************************************************************
+ *
+ * FUNCTION:    AcpiDmDumpAspt
+ *
+ * PARAMETERS:  Table               - A ASPT table
+ *
+ * RETURN:      None
+ *
+ * DESCRIPTION: Format the contents of a ASPT table
+ *
+ ******************************************************************************/
+
+void
+AcpiDmDumpAspt (
+    ACPI_TABLE_HEADER       *Table)
+{
+    ACPI_STATUS             Status;
+    UINT32                  Offset = sizeof (ACPI_TABLE_ASPT);
+    UINT32                  Length = Table->Length;
+    ACPI_ASPT_HEADER        *Subtable;
+    ACPI_DMTABLE_INFO       *InfoTable;
+    UINT16                   Type;
+
+    /* Main table */
+    Status = AcpiDmDumpTable(Length, 0, Table, 0, AcpiDmTableInfoAspt);
+
+    /* Subtables */
+
+    Subtable = ACPI_ADD_PTR (ACPI_ASPT_HEADER, Table, Offset);
+    while (Offset < Table->Length)
+    {
+        AcpiOsPrintf ("\n");
+
+        /* Common subtable header */
+        Status = AcpiDmDumpTable (Table->Length, Offset, Subtable,
+            Subtable->Length, AcpiDmTableInfoAsptHdr);
+        if (ACPI_FAILURE (Status))
+        {
+            return;
+        }
+
+        Type = Subtable->Type;
+
+        switch (Type)
+        {
+        case ACPI_ASPT_TYPE_GLOBAL_REGS:
+
+            InfoTable = AcpiDmTableInfoAspt0;
+            break;
+
+        case ACPI_ASPT_TYPE_SEV_MBOX_REGS:
+
+            InfoTable = AcpiDmTableInfoAspt1;
+            break;
+
+        case ACPI_ASPT_TYPE_ACPI_MBOX_REGS:
+
+            InfoTable = AcpiDmTableInfoAspt2;
+            break;
+
+        default:
+
+            AcpiOsPrintf ("\n**** Unknown ASPT subtable type 0x%X\n",
+                Subtable->Type);
+            return;
+        }
+
+        Status = AcpiDmDumpTable (Table->Length, Offset, Subtable,
+            Subtable->Length, InfoTable);
+        if (ACPI_FAILURE (Status))
+        {
+            return;
+        }
+
+        AcpiOsPrintf ("\n");
+
+        /* Point to next subtable */
+        if (!Subtable->Length)
+        {
+            AcpiOsPrintf ("Invalid zero subtable header length\n");
+            return;
+        }
+
+        Offset += Subtable->Length;
+        Subtable = ACPI_ADD_PTR (ACPI_ASPT_HEADER, Subtable,
+            Subtable->Length);
+    }
+}
+
 
 /*******************************************************************************
  *
@@ -2030,7 +2119,7 @@  AcpiDmDumpHmat (
             return;
         }
 
-        /* Dump HMAT structure additionals */
+        /* Dump HMAT structure additional */
 
         switch (HmatStruct->Type)
         {
diff --git a/src/acpica/source/common/dmtbdump2.c b/src/acpica/source/common/dmtbdump2.c
index 3fb4d531..e9c5dbfd 100644
--- a/src/acpica/source/common/dmtbdump2.c
+++ b/src/acpica/source/common/dmtbdump2.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -1129,6 +1129,124 @@  AcpiDmDumpMcfg (
     }
 }
 
+/*******************************************************************************
+ *
+ * FUNCTION:    AcpiDmDumpMpam
+ *
+ * PARAMETERS:  Table               - A MPAM table
+ *
+ * RETURN:      None
+ *
+ * DESCRIPTION: Format the contents of a MPAM table
+ *
+ ******************************************************************************/
+
+void
+AcpiDmDumpMpam (
+    ACPI_TABLE_HEADER          *Table)
+{
+    ACPI_STATUS                Status;
+    ACPI_MPAM_MSC_NODE         *MpamMscNode;
+    ACPI_MPAM_RESOURCE_NODE    *MpamResourceNode;
+    ACPI_DMTABLE_INFO          *InfoTable;
+    UINT32                     Offset = sizeof(ACPI_TABLE_HEADER);
+    UINT32                     MpamResourceNodeLength = 0;
+
+    while (Offset < Table->Length)
+    {
+        MpamMscNode = ACPI_ADD_PTR (ACPI_MPAM_MSC_NODE, Table, Offset);
+
+        /* Subtable: MSC */
+        Status = AcpiDmDumpTable (MpamMscNode->Length, 0, MpamMscNode, 0,
+            AcpiDmTableInfoMpam0);
+        if (ACPI_FAILURE (Status))
+        {
+            return;
+        }
+
+        /* Offset the start of the array of resources */
+        Offset += sizeof(ACPI_MPAM_MSC_NODE);
+
+        /* Subtable: MSC RIS(es) */
+        for (UINT32 ResourceIdx = 0; ResourceIdx < MpamMscNode->NumResouceNodes; ResourceIdx++)
+        {
+            MpamResourceNode = ACPI_ADD_PTR (ACPI_MPAM_RESOURCE_NODE, Table, Offset);
+
+            MpamResourceNodeLength = sizeof(ACPI_MPAM_RESOURCE_NODE) +
+                MpamResourceNode->NumFunctionalDeps * sizeof(ACPI_MPAM_FUNC_DEPS);
+
+            Offset += MpamResourceNodeLength;
+
+            /* Subtable: MSC RIS */
+            Status = AcpiDmDumpTable (MpamResourceNodeLength, 0, MpamResourceNode, 0,
+                AcpiDmTableInfoMpam1);
+            if (ACPI_FAILURE (Status))
+            {
+                return;
+            }
+
+            switch (MpamResourceNode->LocatorType)
+            {
+                case ACPI_MPAM_LOCATION_TYPE_PROCESSOR_CACHE:
+                    InfoTable = AcpiDmTableInfoMpam1A;
+                    break;
+                case ACPI_MPAM_LOCATION_TYPE_MEMORY:
+                    InfoTable = AcpiDmTableInfoMpam1B;
+                    break;
+                case ACPI_MPAM_LOCATION_TYPE_SMMU:
+                    InfoTable = AcpiDmTableInfoMpam1C;
+                    break;
+                case ACPI_MPAM_LOCATION_TYPE_MEMORY_CACHE:
+                    InfoTable = AcpiDmTableInfoMpam1D;
+                    break;
+                case ACPI_MPAM_LOCATION_TYPE_ACPI_DEVICE:
+                    InfoTable = AcpiDmTableInfoMpam1E;
+                    break;
+                case ACPI_MPAM_LOCATION_TYPE_INTERCONNECT:
+                    InfoTable = AcpiDmTableInfoMpam1F;
+                    break;
+                case ACPI_MPAM_LOCATION_TYPE_UNKNOWN:
+                    InfoTable = AcpiDmTableInfoMpam1G;
+                default:
+                    AcpiOsPrintf ("\n**** Unknown MPAM locator type 0x%X\n",
+                        MpamResourceNode->LocatorType);
+                    return;
+            }
+
+            /* Subtable: MSC Resource Locator(s) */
+            Status = AcpiDmDumpTable (sizeof(ACPI_MPAM_RESOURCE_LOCATOR), 0,
+                &MpamResourceNode->Locator, 0, InfoTable);
+            if (ACPI_FAILURE (Status))
+            {
+                return;
+            }
+
+            /* Get the number of functional dependencies of an RIS */
+            Status = AcpiDmDumpTable (sizeof(UINT32), 0, &MpamResourceNode->NumFunctionalDeps, 0,
+                AcpiDmTableInfoMpam1Deps);
+            if (ACPI_FAILURE (Status))
+            {
+                return;
+            }
+
+            /* Subtable: MSC functional dependencies */
+            for (UINT32 funcDep = 0; funcDep < MpamResourceNode->NumFunctionalDeps; funcDep++)
+            {
+                Status = AcpiDmDumpTable (sizeof(ACPI_MPAM_FUNC_DEPS), 0,
+                    &MpamResourceNode->NumFunctionalDeps, 0, AcpiDmTableInfoMpam2);
+                if (ACPI_FAILURE (Status))
+                {
+                    return;
+                }
+            }
+
+            AcpiOsPrintf ("\n\n");
+        }
+
+    }
+
+    return;
+}
 
 /*******************************************************************************
  *
@@ -1420,7 +1538,7 @@  AcpiDmDumpNfit (
             /* Has a variable number of 64-bit addresses at the end */
 
             InfoTable = AcpiDmTableInfoNfit6;
-            FieldOffset = sizeof (ACPI_NFIT_FLUSH_ADDRESS) - sizeof (UINT64);
+            FieldOffset = sizeof (ACPI_NFIT_FLUSH_ADDRESS);
             break;
 
         case ACPI_NFIT_TYPE_CAPABILITIES:    /* ACPI 6.0A */
@@ -1474,12 +1592,12 @@  AcpiDmDumpNfit (
         case ACPI_NFIT_TYPE_SMBIOS:
 
             Length = Subtable->Length -
-                sizeof (ACPI_NFIT_SMBIOS) + sizeof (UINT8);
+                sizeof (ACPI_NFIT_SMBIOS);
 
             if (Length)
             {
                 Status = AcpiDmDumpTable (Table->Length,
-                    sizeof (ACPI_NFIT_SMBIOS) - sizeof (UINT8),
+                    sizeof (ACPI_NFIT_SMBIOS),
                     SmbiosInfo,
                     Length, AcpiDmTableInfoNfit3a);
                 if (ACPI_FAILURE (Status))
@@ -2627,6 +2745,122 @@  AcpiDmDumpRgrt (
 }
 
 
+/*******************************************************************************
+ *
+ * FUNCTION:    AcpiDmDumpRhct
+ *
+ * PARAMETERS:  Table               - A RHCT table
+ *
+ * RETURN:      None
+ *
+ * DESCRIPTION: Format the contents of a RHCT.
+ *
+ ******************************************************************************/
+
+void
+AcpiDmDumpRhct (
+    ACPI_TABLE_HEADER       *Table)
+{
+    ACPI_STATUS             Status;
+    ACPI_RHCT_NODE_HEADER   *Subtable;
+    ACPI_RHCT_HART_INFO     *RhctHartInfo;
+    ACPI_RHCT_ISA_STRING    *RhctIsaString;
+    UINT32                  Length = Table->Length;
+    UINT8                   SubtableOffset, IsaPadOffset;
+    UINT32                  Offset = sizeof (ACPI_TABLE_RHCT);
+    UINT32                  i;
+
+    /* Main table */
+
+    Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoRhct);
+    if (ACPI_FAILURE (Status))
+    {
+        return;
+    }
+
+    /* Subtables */
+
+    while (Offset < Table->Length)
+    {
+        AcpiOsPrintf ("\n");
+
+        /* Common subtable header */
+
+        Subtable = ACPI_ADD_PTR (ACPI_RHCT_NODE_HEADER, Table, Offset);
+        if (Subtable->Length < sizeof (ACPI_RHCT_NODE_HEADER))
+        {
+            AcpiOsPrintf ("Invalid subtable length\n");
+            return;
+        }
+        Status = AcpiDmDumpTable (Table->Length, Offset, Subtable,
+            Subtable->Length, AcpiDmTableInfoRhctNodeHdr);
+        if (ACPI_FAILURE (Status))
+        {
+            return;
+        }
+
+        Length = sizeof (ACPI_RHCT_NODE_HEADER);
+
+        if (Subtable->Length < Length)
+        {
+            AcpiOsPrintf ("Invalid subtable length\n");
+            return;
+        }
+        SubtableOffset = (UINT8) Length;
+
+        switch (Subtable->Type)
+        {
+        case ACPI_RHCT_NODE_TYPE_HART_INFO:
+            Status = AcpiDmDumpTable (Table->Length, Offset + SubtableOffset,
+                    ACPI_ADD_PTR (ACPI_RHCT_HART_INFO, Subtable, SubtableOffset),
+                    sizeof (ACPI_RHCT_HART_INFO), AcpiDmTableInfoRhctHartInfo1);
+
+            RhctHartInfo = ACPI_ADD_PTR (ACPI_RHCT_HART_INFO, Subtable, SubtableOffset);
+
+            if ((UINT16)(Subtable->Length - SubtableOffset) <
+                (UINT16)(RhctHartInfo->NumOffsets * 4))
+            {
+                AcpiOsPrintf ("Invalid number of offsets\n");
+                return;
+            }
+            SubtableOffset += sizeof (ACPI_RHCT_HART_INFO);
+            for (i = 0; i < RhctHartInfo->NumOffsets; i++)
+            {
+                Status = AcpiDmDumpTable (Table->Length, Offset + SubtableOffset,
+                    ACPI_ADD_PTR (UINT32, Subtable, SubtableOffset),
+                    4, AcpiDmTableInfoRhctHartInfo2);
+                if (ACPI_FAILURE (Status))
+                {
+                    return;
+                }
+
+                SubtableOffset += 4;
+            }
+            break;
+
+        case ACPI_RHCT_NODE_TYPE_ISA_STRING:
+            RhctIsaString = ACPI_ADD_PTR (ACPI_RHCT_ISA_STRING, Subtable, SubtableOffset);
+            IsaPadOffset = (UINT8) (SubtableOffset + 2 + RhctIsaString->IsaLength);
+            Status = AcpiDmDumpTable (Table->Length, Offset + SubtableOffset,
+                    RhctIsaString, RhctIsaString->IsaLength, AcpiDmTableInfoRhctIsa1);
+            if (Subtable->Length > IsaPadOffset)
+            {
+                Status = AcpiDmDumpTable (Table->Length, Offset + SubtableOffset,
+                         ACPI_ADD_PTR (UINT8, Subtable, IsaPadOffset),
+                         (Subtable->Length - IsaPadOffset), AcpiDmTableInfoRhctIsaPad);
+            }
+
+        default:
+            break;
+        }
+
+        /* Point to next subtable */
+
+        Offset += Subtable->Length;
+    }
+}
+
+
 /*******************************************************************************
  *
  * FUNCTION:    AcpiDmDumpS3pt
diff --git a/src/acpica/source/common/dmtbdump3.c b/src/acpica/source/common/dmtbdump3.c
index cbcd9e7f..8ac16cee 100644
--- a/src/acpica/source/common/dmtbdump3.c
+++ b/src/acpica/source/common/dmtbdump3.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/common/dmtbinfo.c b/src/acpica/source/common/dmtbinfo.c
index 40539969..717e7df9 100644
--- a/src/acpica/source/common/dmtbinfo.c
+++ b/src/acpica/source/common/dmtbinfo.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/common/dmtbinfo1.c b/src/acpica/source/common/dmtbinfo1.c
index 9afed4d6..e4632085 100644
--- a/src/acpica/source/common/dmtbinfo1.c
+++ b/src/acpica/source/common/dmtbinfo1.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -433,6 +433,57 @@  ACPI_DMTABLE_INFO           AcpiDmTableInfoAsf4[] =
 };
 
 
+/*******************************************************************************
+ *
+ * ASPT - AMD Secure Processor table (Signature "ASPT")
+ *
+ ******************************************************************************/
+
+ACPI_DMTABLE_INFO           AcpiDmTableInfoAspt[] =
+{
+    {ACPI_DMT_UINT32,   ACPI_ASPT_OFFSET(NumEntries),               "Number of Subtables", 0},
+    ACPI_DMT_TERMINATOR
+};
+
+/* Common Subtable header (one per Subtable) */
+ACPI_DMTABLE_INFO           AcpiDmTableInfoAsptHdr[] =
+{
+    {ACPI_DMT_ASPT,     ACPI_ASPTH_OFFSET(Type),                    "Type", 0},
+    {ACPI_DMT_UINT16,   ACPI_ASPTH_OFFSET(Length),                  "Length", 0},
+    ACPI_DMT_TERMINATOR
+};
+
+/* 0: ASPT Global Registers */
+ACPI_DMTABLE_INFO AcpiDmTableInfoAspt0[] =
+{
+    {ACPI_DMT_UINT32,   ACPI_ASPT0_OFFSET(Reserved),                "Reserved", 0},
+    {ACPI_DMT_UINT64,   ACPI_ASPT0_OFFSET(FeatureRegAddr),          "Feature Register Address", 0},
+    {ACPI_DMT_UINT64,   ACPI_ASPT0_OFFSET(IrqEnRegAddr),            "Interrupt Enable Register Address", 0},
+    {ACPI_DMT_UINT64,   ACPI_ASPT0_OFFSET(IrqStRegAddr),            "Interrupt Status Register Address", 0},
+    ACPI_DMT_TERMINATOR
+};
+
+/* 1: ASPT SEV Mailbox Registers */
+ACPI_DMTABLE_INFO AcpiDmTableInfoAspt1[] =
+{
+    {ACPI_DMT_UINT8,    ACPI_ASPT1_OFFSET(MboxIrqId),               "Mailbox Interrupt ID", 0},
+    {ACPI_DMT_UINT24,   ACPI_ASPT1_OFFSET(Reserved[0]),             "Reserved", 0},
+    {ACPI_DMT_UINT64,   ACPI_ASPT1_OFFSET(CmdRespRegAddr),          "CmdResp Register Address", 0},
+    {ACPI_DMT_UINT64,   ACPI_ASPT1_OFFSET(CmdBufLoRegAddr),         "CmdBufAddr_Lo Register Address", 0},
+    {ACPI_DMT_UINT64,   ACPI_ASPT1_OFFSET(CmdBufHiRegAddr),         "CmdBufAddr_Hi Register Address", 0},
+    ACPI_DMT_TERMINATOR
+};
+
+/* 2: ASPT ACPI Maiblox Registers */
+ACPI_DMTABLE_INFO AcpiDmTableInfoAspt2[] =
+{
+    {ACPI_DMT_UINT32,   ACPI_ASPT2_OFFSET(Reserved1),               "Reserved", 0},
+    {ACPI_DMT_UINT64,   ACPI_ASPT2_OFFSET(CmdRespRegAddr),          "CmdResp Register Address", 0},
+    {ACPI_DMT_UINT64,   ACPI_ASPT2_OFFSET(Reserved2[0]),           "Reserved", 0},
+    {ACPI_DMT_UINT64,   ACPI_ASPT2_OFFSET(Reserved2[1]),           "Reserved", 0},
+    ACPI_DMT_TERMINATOR
+};
+
 /*******************************************************************************
  *
  * BDAT -  BIOS Data ACPI Table
@@ -896,7 +947,7 @@  ACPI_DMTABLE_INFO           AcpiDmTableInfoDmar4[] =
 {
     {ACPI_DMT_UINT24,   ACPI_DMAR4_OFFSET (Reserved[0]),            "Reserved", 0},
     {ACPI_DMT_UINT8,    ACPI_DMAR4_OFFSET (DeviceNumber),           "Device Number", 0},
-    {ACPI_DMT_STRING,   ACPI_DMAR4_OFFSET (DeviceName[0]),          "Device Name", 0},
+    {ACPI_DMT_STRING,   ACPI_DMAR4_OFFSET (u.DeviceName[0]),          "Device Name", 0},
     ACPI_DMT_TERMINATOR
 };
 
diff --git a/src/acpica/source/common/dmtbinfo2.c b/src/acpica/source/common/dmtbinfo2.c
index 3676be81..214206ad 100644
--- a/src/acpica/source/common/dmtbinfo2.c
+++ b/src/acpica/source/common/dmtbinfo2.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -864,6 +864,7 @@  ACPI_DMTABLE_INFO           AcpiDmTableInfoMadt11[] =
     {ACPI_DMT_UINT8,    ACPI_MADT11_OFFSET (EfficiencyClass),       "Efficiency Class", 0},
     {ACPI_DMT_UINT8,    ACPI_MADT11_OFFSET (Reserved2[0]),          "Reserved", 0},
     {ACPI_DMT_UINT16,   ACPI_MADT11_OFFSET (SpeInterrupt),          "SPE Overflow Interrupt", 0},
+    {ACPI_DMT_UINT16,   ACPI_MADT11_OFFSET (TrbeInterrupt),         "TRBE Interrupt", 0},
     ACPI_DMT_TERMINATOR
 };
 
@@ -979,6 +980,133 @@  ACPI_DMTABLE_INFO           AcpiDmTableInfoMchi[] =
     ACPI_DMT_TERMINATOR
 };
 
+/*******************************************************************************
+ *
+ * MPAM - Memory System Resource Partitioning and Monitoring Tables
+ * Arm's DEN0065 MPAM ACPI 2.0. December 2022.
+ ******************************************************************************/
+
+/* MPAM subtables */
+
+/* 0: MPAM Resource Node Structure - A root MSC table.
+ * Arm's DEN0065 MPAM ACPI 2.0. Table 4: MPAM MSC node body.
+ */
+ACPI_DMTABLE_INFO           AcpiDmTableInfoMpam0[] =
+{
+    {ACPI_DMT_UINT16,   ACPI_MPAM0_OFFSET (Length),                      "Length", 0},
+    {ACPI_DMT_UINT8,    ACPI_MPAM0_OFFSET (InterfaceType),               "Interface type", 0},
+    {ACPI_DMT_UINT8,    ACPI_MPAM0_OFFSET (Reserved),                    "Reserved", 0},
+    {ACPI_DMT_UINT32,   ACPI_MPAM0_OFFSET (Identifier),                  "Identifier", 0},
+    {ACPI_DMT_UINT64,   ACPI_MPAM0_OFFSET (BaseAddress),                 "Base address", 0},
+    {ACPI_DMT_UINT32,   ACPI_MPAM0_OFFSET (MMIOSize),                    "MMIO size", 0},
+    {ACPI_DMT_UINT32,   ACPI_MPAM0_OFFSET (OverflowInterrupt),           "Overflow interrupt", 0},
+    {ACPI_DMT_UINT32,   ACPI_MPAM0_OFFSET (OverflowInterruptFlags),      "Overflow interrupt flags", 0},
+    {ACPI_DMT_UINT32,   ACPI_MPAM0_OFFSET (Reserved1),                   "Reserved1", 0},
+    {ACPI_DMT_UINT32,   ACPI_MPAM0_OFFSET (OverflowInterruptAffinity),   "Overflow interrupt affinity", 0},
+    {ACPI_DMT_UINT32,   ACPI_MPAM0_OFFSET (ErrorInterrupt),              "Error interrupt", 0},
+    {ACPI_DMT_UINT32,   ACPI_MPAM0_OFFSET (ErrorInterruptFlags),         "Error interrupt flags", 0},
+    {ACPI_DMT_UINT32,   ACPI_MPAM0_OFFSET (Reserved2),                   "Reserved2", 0},
+    {ACPI_DMT_UINT32,   ACPI_MPAM0_OFFSET (ErrorInterruptAffinity),      "Error interrupt affinity", 0},
+    {ACPI_DMT_UINT32,   ACPI_MPAM0_OFFSET (MaxNrdyUsec),                 "MAX_NRDY_USEC", 0},
+    {ACPI_DMT_NAME8,    ACPI_MPAM0_OFFSET (HardwareIdLinkedDevice),      "Hardware ID of linked device", 0},
+    {ACPI_DMT_UINT32,   ACPI_MPAM0_OFFSET (InstanceIdLinkedDevice),      "Instance ID of linked device", 0},
+    {ACPI_DMT_UINT32,   ACPI_MPAM0_OFFSET (NumResouceNodes),             "Number of resource nodes", 0},
+
+    ACPI_DMT_TERMINATOR
+};
+
+/* 1: MPAM Resource (RIS) Node Structure - A subtable of MSC Nodes.
+ * Arm's DEN0065 MPAM ACPI 2.0. Table 9: Resource node.
+ */
+ACPI_DMTABLE_INFO           AcpiDmTableInfoMpam1[] =
+{
+    {ACPI_DMT_UINT32,          ACPI_MPAM1_OFFSET (Identifier),              "Identifier", 0},
+    {ACPI_DMT_UINT8,           ACPI_MPAM1_OFFSET (RISIndex),                "RIS Index", 0},
+    {ACPI_DMT_UINT16,          ACPI_MPAM1_OFFSET (Reserved1),               "Reserved1", 0},
+    {ACPI_DMT_MPAM_LOCATOR,    ACPI_MPAM1_OFFSET (LocatorType),             "Locator type", 0},
+    ACPI_DMT_TERMINATOR
+};
+
+/* An RIS field part of the RIS subtable */
+ACPI_DMTABLE_INFO           AcpiDmTableInfoMpam1Deps[] =
+{
+    {ACPI_DMT_UINT32, 0, "Number of functional dependencies", 0},
+    ACPI_DMT_TERMINATOR
+};
+
+/* 1A: MPAM Processor cache locator descriptor. A subtable of RIS.
+ * Arm's DEN0065 MPAM ACPI 2.0. Table 13.
+ */
+ACPI_DMTABLE_INFO           AcpiDmTableInfoMpam1A[] =
+{
+    {ACPI_DMT_UINT64,   ACPI_MPAM1A_OFFSET (CacheReference),                "Cache reference", 0},
+    {ACPI_DMT_UINT32,   ACPI_MPAM1A_OFFSET (Reserved),                      "Reserved", 0},
+};
+
+/* 1B: MPAM Memory locator descriptor. A subtable of RIS.
+ * Arm's DEN0065 MPAM ACPI 2.0. Table 14.
+ */
+ACPI_DMTABLE_INFO           AcpiDmTableInfoMpam1B[] =
+{
+    {ACPI_DMT_UINT64,   ACPI_MPAM1B_OFFSET (ProximityDomain),               "Proximity domain", 0},
+    {ACPI_DMT_UINT32,   ACPI_MPAM1B_OFFSET (Reserved),                      "Reserved", 0},
+};
+
+/* 1C: MPAM SMMU locator descriptor. A subtable of RIS.
+ * Arm's DEN0065 MPAM ACPI 2.0. Table 15.
+ */
+ACPI_DMTABLE_INFO           AcpiDmTableInfoMpam1C[] =
+{
+    {ACPI_DMT_UINT64,   ACPI_MPAM1C_OFFSET (SmmuInterface),                 "SMMU Interface", 0},
+    {ACPI_DMT_UINT32,   ACPI_MPAM1C_OFFSET (Reserved),                      "Reserved", 0},
+};
+
+/* 1D: MPAM Memory-side cache locator descriptor. A subtable of RIS.
+ * Arm's DEN0065 MPAM ACPI 2.0. Table 16.
+ */
+ACPI_DMTABLE_INFO           AcpiDmTableInfoMpam1D[] =
+{
+    {ACPI_DMT_UINT56,   ACPI_MPAM1D_OFFSET (Level),                         "Reserved", 0},
+    {ACPI_DMT_UINT8,    ACPI_MPAM1D_OFFSET (Level),                         "Level", 0},
+    {ACPI_DMT_UINT32,   ACPI_MPAM1D_OFFSET (Reference),                     "Reference", 0},
+};
+
+/* 1E: MPAM ACPI device locator descriptor. A subtable of RIS.
+ * Arm's DEN0065 MPAM ACPI 2.0. Table 17.
+ */
+ACPI_DMTABLE_INFO           AcpiDmTableInfoMpam1E[] =
+{
+    {ACPI_DMT_UINT64,   ACPI_MPAM1E_OFFSET (AcpiHwId),                      "ACPI Hardware ID", 0},
+    {ACPI_DMT_UINT32,   ACPI_MPAM1E_OFFSET (AcpiUniqueId),                  "ACPI Unique ID", 0},
+};
+
+/* 1F: MPAM Interconnect locator descriptor. A subtable of RIS.
+ * Arm's DEN0065 MPAM ACPI 2.0. Table 18.
+ */
+ACPI_DMTABLE_INFO           AcpiDmTableInfoMpam1F[] =
+{
+    {ACPI_DMT_UINT64,   ACPI_MPAM1F_OFFSET (InterConnectDescTblOff),        "Interconnect descriptor table offset", 0},
+    {ACPI_DMT_UINT32,   ACPI_MPAM1F_OFFSET (Reserved),                      "Reserved", 0},
+};
+
+/* 1G: MPAM Locator structure.
+ * Arm's DEN0065 MPAM ACPI 2.0. Table 12.
+ */
+ACPI_DMTABLE_INFO           AcpiDmTableInfoMpam1G[] =
+{
+    {ACPI_DMT_UINT64,   ACPI_MPAM1G_OFFSET (Descriptor1),                   "Descriptor1", 0},
+    {ACPI_DMT_UINT32,   ACPI_MPAM1G_OFFSET (Descriptor2),                   "Descriptor2", 0},
+};
+
+/* 2: MPAM Functional dependency descriptor.
+ * Arm's DEN0065 MPAM ACPI 2.0. Table 10.
+ */
+ACPI_DMTABLE_INFO           AcpiDmTableInfoMpam2[] =
+{
+    {ACPI_DMT_UINT32,   ACPI_MPAM2_OFFSET (Producer),                       "Producer", 0},
+    {ACPI_DMT_UINT32,   ACPI_MPAM2_OFFSET (Reserved),                       "Reserved", 0},
+};
+
 
 /*******************************************************************************
  *
@@ -1944,6 +2072,67 @@  ACPI_DMTABLE_INFO           AcpiDmTableInfoRgrt0[] =
 };
 
 
+/*******************************************************************************
+ *
+ * RHCT - RISC-V Hart Capabilities Table
+ *
+ ******************************************************************************/
+
+ACPI_DMTABLE_INFO           AcpiDmTableInfoRhct[] =
+{
+    {ACPI_DMT_UINT32,   ACPI_RHCT_OFFSET (Reserved),         "Reserved", 0},
+    {ACPI_DMT_UINT64,   ACPI_RHCT_OFFSET (TimeBaseFreq),     "Timer Base Frequency", 0},
+    {ACPI_DMT_UINT32,   ACPI_RHCT_OFFSET (NodeCount),        "Number of nodes", 0},
+    {ACPI_DMT_UINT32,   ACPI_RHCT_OFFSET (NodeOffset),       "Offset to the node array", 0},
+    ACPI_DMT_TERMINATOR
+};
+
+
+/* Common Subtable header (one per Subtable) */
+
+ACPI_DMTABLE_INFO           AcpiDmTableInfoRhctNodeHdr[] =
+{
+    {ACPI_DMT_UINT16,    ACPI_RHCTH_OFFSET (Type),            "Subtable Type", 0},
+    {ACPI_DMT_UINT16,    ACPI_RHCTH_OFFSET (Length),          "Length", 0},
+    {ACPI_DMT_UINT16,    ACPI_RHCTH_OFFSET (Revision),        "Revision", 0},
+    ACPI_DMT_TERMINATOR
+};
+
+/* 0: ISA string type */
+
+ACPI_DMTABLE_INFO           AcpiDmTableInfoRhctIsa1[] =
+{
+    {ACPI_DMT_UINT16,   ACPI_RHCT0_OFFSET (IsaLength),        "ISA string length", 0},
+    {ACPI_DMT_STRING,   ACPI_RHCT0_OFFSET (Isa[0]),           "ISA string", 0},
+    ACPI_DMT_TERMINATOR
+};
+
+
+/* Optional padding field */
+
+ACPI_DMTABLE_INFO           AcpiDmTableInfoRhctIsaPad[] =
+{
+    {ACPI_DMT_RAW_BUFFER, 0,                                  "Optional Padding", DT_OPTIONAL},
+    ACPI_DMT_TERMINATOR
+};
+
+/* 0xFFFF: Hart Info type */
+
+ACPI_DMTABLE_INFO           AcpiDmTableInfoRhctHartInfo1[] =
+{
+    {ACPI_DMT_UINT16,   ACPI_RHCTFFFF_OFFSET (NumOffsets),    "Number of offsets", 0},
+    {ACPI_DMT_UINT32,   ACPI_RHCTFFFF_OFFSET (Uid),           "Processor UID", 0},
+    ACPI_DMT_TERMINATOR
+};
+
+
+ACPI_DMTABLE_INFO           AcpiDmTableInfoRhctHartInfo2[] =
+{
+    {ACPI_DMT_UINT32,   0,                                    "Nodes", DT_OPTIONAL},
+    ACPI_DMT_TERMINATOR
+};
+
+
 /*******************************************************************************
  *
  * S3PT - S3 Performance Table
diff --git a/src/acpica/source/common/dmtbinfo3.c b/src/acpica/source/common/dmtbinfo3.c
index b8ddb7aa..280baf39 100644
--- a/src/acpica/source/common/dmtbinfo3.c
+++ b/src/acpica/source/common/dmtbinfo3.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/common/getopt.c b/src/acpica/source/common/getopt.c
index 772b66c0..a2658efc 100644
--- a/src/acpica/source/common/getopt.c
+++ b/src/acpica/source/common/getopt.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslallocate.c b/src/acpica/source/compiler/aslallocate.c
index d697d059..d86b5f39 100644
--- a/src/acpica/source/compiler/aslallocate.c
+++ b/src/acpica/source/compiler/aslallocate.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -295,9 +295,13 @@  void
 UtFreeLineBuffers (
     void)
 {
-
     free (AslGbl_CurrentLineBuffer);
+
     free (AslGbl_MainTokenBuffer);
+
     free (AslGbl_MacroTokenBuffer);
+
+    free (AslGbl_MacroTokenReplaceBuffer);
+
     free (AslGbl_ExpressionTokenBuffer);
 }
diff --git a/src/acpica/source/compiler/aslanalyze.c b/src/acpica/source/compiler/aslanalyze.c
index 9db7d4fb..1941a465 100644
--- a/src/acpica/source/compiler/aslanalyze.c
+++ b/src/acpica/source/compiler/aslanalyze.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslascii.c b/src/acpica/source/compiler/aslascii.c
index 6c0e62c4..b6b27271 100644
--- a/src/acpica/source/compiler/aslascii.c
+++ b/src/acpica/source/compiler/aslascii.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslbtypes.c b/src/acpica/source/compiler/aslbtypes.c
index f7b3fb1b..e2f72d88 100644
--- a/src/acpica/source/compiler/aslbtypes.c
+++ b/src/acpica/source/compiler/aslbtypes.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -501,10 +501,11 @@  AnGetBtype (
     ACPI_PARSE_OBJECT       *ReferencedNode;
     UINT32                  ThisNodeBtype = 0;
 
+    ACPI_FUNCTION_NAME (AnGetBtype);
 
     if (!Op)
     {
-        AcpiOsPrintf ("Null Op in AnGetBtype\n");
+        AcpiOsPrintf ("Null Op in %s\n",  ACPI_GET_FUNCTION_NAME);
         return (ACPI_UINT32_MAX);
     }
 
diff --git a/src/acpica/source/compiler/aslcache.c b/src/acpica/source/compiler/aslcache.c
index 9cc707e2..11ba5f42 100644
--- a/src/acpica/source/compiler/aslcache.c
+++ b/src/acpica/source/compiler/aslcache.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslcodegen.c b/src/acpica/source/compiler/aslcodegen.c
index a0c67424..4013398f 100644
--- a/src/acpica/source/compiler/aslcodegen.c
+++ b/src/acpica/source/compiler/aslcodegen.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslcompile.c b/src/acpica/source/compiler/aslcompile.c
index f97cd9d8..4217182c 100644
--- a/src/acpica/source/compiler/aslcompile.c
+++ b/src/acpica/source/compiler/aslcompile.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslcompiler.h b/src/acpica/source/compiler/aslcompiler.h
index d52f60f2..ca20de45 100644
--- a/src/acpica/source/compiler/aslcompiler.h
+++ b/src/acpica/source/compiler/aslcompiler.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -1566,6 +1566,9 @@  ASL_RESOURCE_NODE *
 RsDoPinGroupConfigDescriptor (
     ASL_RESOURCE_INFO       *Info);
 
+ASL_RESOURCE_NODE *
+RsDoClockInputDescriptor (
+    ASL_RESOURCE_INFO       *Info);
 
 /*
  * aslrestype2d - DWord address descriptors
diff --git a/src/acpica/source/compiler/aslcompiler.l b/src/acpica/source/compiler/aslcompiler.l
index 881096ad..fbc38a61 100644
--- a/src/acpica/source/compiler/aslcompiler.l
+++ b/src/acpica/source/compiler/aslcompiler.l
@@ -9,7 +9,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -461,6 +461,7 @@  NamePathTail                [.]{NameSeg}
 "PinGroup"                  { count (1); return (PARSEOP_PINGROUP); }
 "PinGroupConfig"            { count (1); return (PARSEOP_PINGROUPCONFIG); }
 "PinGroupFunction"          { count (1); return (PARSEOP_PINGROUPFUNCTION); }
+"ClockInput"                { count (1); return (PARSEOP_CLOCKINPUT); }
 "QWordIO"                   { count (1); return (PARSEOP_QWORDIO); }
 "QWordMemory"               { count (1); return (PARSEOP_QWORDMEMORY); }
 "QWordSpace"                { count (1); return (PARSEOP_QWORDSPACE); }
@@ -665,6 +666,17 @@  NamePathTail                [.]{NameSeg}
 "PullDown"                  { count (0); return (PARSEOP_PIN_PULLDOWN); }
 "PullNone"                  { count (0); return (PARSEOP_PIN_NOPULL); }
 
+    /* ClockScaleKeyword: Resource Descriptors (ACPI 6.5) */
+
+"Hz"               { count (0); return (PARSEOP_CLOCK_HZ); }
+"KHz"              { count (0); return (PARSEOP_CLOCK_KHZ); }
+"MHz"              { count (0); return (PARSEOP_CLOCK_MHZ); }
+
+    /* ClockModeKeyword: Resource Descriptors (ACPI 6.5) */
+
+"Fixed"               { count (0); return (PARSEOP_CLOCK_FIXED); }
+"Variable"            { count (0); return (PARSEOP_CLOCK_VARIABLE); }
+
     /* PolarityKeyword: Resource Descriptors (ACPI 5.0) */
 
 "PolarityLow"               { count (0); return (PARSEOP_DEVICEPOLARITY_LOW); }
diff --git a/src/acpica/source/compiler/aslcstyle.y b/src/acpica/source/compiler/aslcstyle.y
index b4e9065f..d249b51e 100644
--- a/src/acpica/source/compiler/aslcstyle.y
+++ b/src/acpica/source/compiler/aslcstyle.y
@@ -9,7 +9,7 @@  NoEcho('
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/asldebug.c b/src/acpica/source/compiler/asldebug.c
index 5ac6a4ed..928bb206 100644
--- a/src/acpica/source/compiler/asldebug.c
+++ b/src/acpica/source/compiler/asldebug.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/asldefine.h b/src/acpica/source/compiler/asldefine.h
index 12b2899e..fe11d451 100644
--- a/src/acpica/source/compiler/asldefine.h
+++ b/src/acpica/source/compiler/asldefine.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslerror.c b/src/acpica/source/compiler/aslerror.c
index 3a61bc6e..54d247e2 100644
--- a/src/acpica/source/compiler/aslerror.c
+++ b/src/acpica/source/compiler/aslerror.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslexternal.c b/src/acpica/source/compiler/aslexternal.c
index a7d2c9c3..243145ed 100644
--- a/src/acpica/source/compiler/aslexternal.c
+++ b/src/acpica/source/compiler/aslexternal.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslfileio.c b/src/acpica/source/compiler/aslfileio.c
index 88b9def9..7920de7f 100644
--- a/src/acpica/source/compiler/aslfileio.c
+++ b/src/acpica/source/compiler/aslfileio.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslfiles.c b/src/acpica/source/compiler/aslfiles.c
index 2479b404..51de2d1e 100644
--- a/src/acpica/source/compiler/aslfiles.c
+++ b/src/acpica/source/compiler/aslfiles.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslfold.c b/src/acpica/source/compiler/aslfold.c
index 316890c4..f03d19c5 100644
--- a/src/acpica/source/compiler/aslfold.c
+++ b/src/acpica/source/compiler/aslfold.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslglobal.h b/src/acpica/source/compiler/aslglobal.h
index ff00b92e..438d0c5b 100644
--- a/src/acpica/source/compiler/aslglobal.h
+++ b/src/acpica/source/compiler/aslglobal.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslhelp.c b/src/acpica/source/compiler/aslhelp.c
index 1cdbf8a7..137736da 100644
--- a/src/acpica/source/compiler/aslhelp.c
+++ b/src/acpica/source/compiler/aslhelp.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslhelpers.y b/src/acpica/source/compiler/aslhelpers.y
index 2764bf65..37cc5844 100644
--- a/src/acpica/source/compiler/aslhelpers.y
+++ b/src/acpica/source/compiler/aslhelpers.y
@@ -9,7 +9,7 @@  NoEcho('
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslhex.c b/src/acpica/source/compiler/aslhex.c
index a6e80fdf..4a711823 100644
--- a/src/acpica/source/compiler/aslhex.c
+++ b/src/acpica/source/compiler/aslhex.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslkeywords.y b/src/acpica/source/compiler/aslkeywords.y
index 661cfc93..d559fd0f 100644
--- a/src/acpica/source/compiler/aslkeywords.y
+++ b/src/acpica/source/compiler/aslkeywords.y
@@ -9,7 +9,7 @@  NoEcho('
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -462,3 +462,14 @@  XferTypeKeyword
     | PARSEOP_XFERTYPE_8_16                 {$$ = TrCreateLeafOp (PARSEOP_XFERTYPE_8_16);}
     | PARSEOP_XFERTYPE_16                   {$$ = TrCreateLeafOp (PARSEOP_XFERTYPE_16);}
     ;
+
+ClockScaleKeyword
+    : PARSEOP_CLOCK_HZ                      {$$ = TrCreateLeafOp (PARSEOP_CLOCK_HZ);}
+    | PARSEOP_CLOCK_KHZ                     {$$ = TrCreateLeafOp (PARSEOP_CLOCK_KHZ);}
+    | PARSEOP_CLOCK_MHZ                     {$$ = TrCreateLeafOp (PARSEOP_CLOCK_MHZ);}
+    ;
+
+ClockModeKeyword
+    : PARSEOP_CLOCK_FIXED                   {$$ = TrCreateLeafOp (PARSEOP_CLOCK_FIXED);}
+    | PARSEOP_CLOCK_VARIABLE                {$$ = TrCreateLeafOp (PARSEOP_CLOCK_VARIABLE);}
+    ;
diff --git a/src/acpica/source/compiler/asllength.c b/src/acpica/source/compiler/asllength.c
index b1c06246..f5544353 100644
--- a/src/acpica/source/compiler/asllength.c
+++ b/src/acpica/source/compiler/asllength.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/asllisting.c b/src/acpica/source/compiler/asllisting.c
index 290d5062..1dd3b39b 100644
--- a/src/acpica/source/compiler/asllisting.c
+++ b/src/acpica/source/compiler/asllisting.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/asllistsup.c b/src/acpica/source/compiler/asllistsup.c
index b03560d3..44a87f0a 100644
--- a/src/acpica/source/compiler/asllistsup.c
+++ b/src/acpica/source/compiler/asllistsup.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslload.c b/src/acpica/source/compiler/aslload.c
index 3f827d0b..3e35d6aa 100644
--- a/src/acpica/source/compiler/aslload.c
+++ b/src/acpica/source/compiler/aslload.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/asllookup.c b/src/acpica/source/compiler/asllookup.c
index 44bf9a38..ae0729bb 100644
--- a/src/acpica/source/compiler/asllookup.c
+++ b/src/acpica/source/compiler/asllookup.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslmain.c b/src/acpica/source/compiler/aslmain.c
index 3c2ce58e..5b8f54e2 100644
--- a/src/acpica/source/compiler/aslmain.c
+++ b/src/acpica/source/compiler/aslmain.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslmap.c b/src/acpica/source/compiler/aslmap.c
index 782d0d96..71fb5f03 100644
--- a/src/acpica/source/compiler/aslmap.c
+++ b/src/acpica/source/compiler/aslmap.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -462,6 +462,12 @@  const ASL_MAPPING_ENTRY     AslKeywordMapping [] =
 /* PIN_PULLDEFAULT */           OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  0),
 /* PIN_PULLDOWN */              OP_TABLE_ENTRY (AML_BYTE_OP,                2,                              0,                  0),
 /* PIN_PULLUP */                OP_TABLE_ENTRY (AML_BYTE_OP,                1,                              0,                  0),
+/* CLOCKINPUT */                OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP,         0,                              0,                  0),
+/* CLOCK_HZ */                  OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  0),
+/* CLOCK_KHZ */                 OP_TABLE_ENTRY (AML_BYTE_OP,                1,                              0,                  0),
+/* CLOCK_MHZ */                 OP_TABLE_ENTRY (AML_BYTE_OP,                2,                              0,                  0),
+/* CLOCK_FIXED */               OP_TABLE_ENTRY (AML_BYTE_OP,                0,                              0,                  0),
+/* CLOCK_VARIABLE */            OP_TABLE_ENTRY (AML_BYTE_OP,                1,                              0,                  0),
 /* POWERRESOURCE */             OP_TABLE_ENTRY (AML_POWER_RESOURCE_OP,      0,                              OP_AML_PACKAGE,     0),
 /* PROCESSOR */                 OP_TABLE_ENTRY (AML_PROCESSOR_OP,           0,                              OP_AML_PACKAGE,     0),
 /* QWORDCONST */                OP_TABLE_ENTRY (AML_RAW_DATA_QWORD,         0,                              0,                  ACPI_BTYPE_INTEGER),
diff --git a/src/acpica/source/compiler/aslmapenter.c b/src/acpica/source/compiler/aslmapenter.c
index 5dae3e9e..b167fb4e 100644
--- a/src/acpica/source/compiler/aslmapenter.c
+++ b/src/acpica/source/compiler/aslmapenter.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslmapoutput.c b/src/acpica/source/compiler/aslmapoutput.c
index 95146ea6..74540f05 100644
--- a/src/acpica/source/compiler/aslmapoutput.c
+++ b/src/acpica/source/compiler/aslmapoutput.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslmaputils.c b/src/acpica/source/compiler/aslmaputils.c
index 0b2c7e26..48b67600 100644
--- a/src/acpica/source/compiler/aslmaputils.c
+++ b/src/acpica/source/compiler/aslmaputils.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslmessages.c b/src/acpica/source/compiler/aslmessages.c
index 990e376f..fe697c85 100644
--- a/src/acpica/source/compiler/aslmessages.c
+++ b/src/acpica/source/compiler/aslmessages.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslmessages.h b/src/acpica/source/compiler/aslmessages.h
index 197e9e22..3346c5e0 100644
--- a/src/acpica/source/compiler/aslmessages.h
+++ b/src/acpica/source/compiler/aslmessages.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslmethod.c b/src/acpica/source/compiler/aslmethod.c
index 517ba778..f092a296 100644
--- a/src/acpica/source/compiler/aslmethod.c
+++ b/src/acpica/source/compiler/aslmethod.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslnamesp.c b/src/acpica/source/compiler/aslnamesp.c
index 60c488db..a3578d3e 100644
--- a/src/acpica/source/compiler/aslnamesp.c
+++ b/src/acpica/source/compiler/aslnamesp.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/asloffset.c b/src/acpica/source/compiler/asloffset.c
index b0954c70..874e6e59 100644
--- a/src/acpica/source/compiler/asloffset.c
+++ b/src/acpica/source/compiler/asloffset.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslopcodes.c b/src/acpica/source/compiler/aslopcodes.c
index e07910b1..f6c993e6 100644
--- a/src/acpica/source/compiler/aslopcodes.c
+++ b/src/acpica/source/compiler/aslopcodes.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/asloperands.c b/src/acpica/source/compiler/asloperands.c
index 9330fdfb..2c3c6fa9 100644
--- a/src/acpica/source/compiler/asloperands.c
+++ b/src/acpica/source/compiler/asloperands.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslopt.c b/src/acpica/source/compiler/aslopt.c
index 916aebfb..c81e27b2 100644
--- a/src/acpica/source/compiler/aslopt.c
+++ b/src/acpica/source/compiler/aslopt.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/asloptions.c b/src/acpica/source/compiler/asloptions.c
index 37484f79..ca894a3b 100644
--- a/src/acpica/source/compiler/asloptions.c
+++ b/src/acpica/source/compiler/asloptions.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslparseop.c b/src/acpica/source/compiler/aslparseop.c
index ab81ac28..38169fee 100644
--- a/src/acpica/source/compiler/aslparseop.c
+++ b/src/acpica/source/compiler/aslparseop.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -817,6 +817,8 @@  TrAllocateOp (
     ACPI_PARSE_OBJECT       *Op;
     ACPI_PARSE_OBJECT       *LatestOp;
 
+    ACPI_FUNCTION_NAME (TrAllocateOp);
+
 
     Op = UtParseOpCacheCalloc ();
 
@@ -861,7 +863,7 @@  TrAllocateOp (
         }
 
         AslGbl_CommentState.LatestParseOp = Op;
-        CvDbgPrint ("TrAllocateOp=Set latest parse op to this op.\n");
+        CvDbgPrint ("%s=Set latest parse op to this op.\n",  ACPI_GET_FUNCTION_NAME);
         CvDbgPrint ("           Op->Asl.ParseOpName = %s\n",
             AslGbl_CommentState.LatestParseOp->Asl.ParseOpName);
         CvDbgPrint ("           Op->Asl.ParseOpcode = 0x%x\n", ParseOpcode);
diff --git a/src/acpica/source/compiler/aslparser.y b/src/acpica/source/compiler/aslparser.y
index dff15619..3e1c661f 100644
--- a/src/acpica/source/compiler/aslparser.y
+++ b/src/acpica/source/compiler/aslparser.y
@@ -9,7 +9,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -208,7 +208,7 @@  AslLocalAllocate (
  * These shift/reduce conflicts are expected. There should be zero
  * reduce/reduce conflicts.
  */
-%expect 127
+%expect 128
 
 /*! [Begin] no source code translation */
 
diff --git a/src/acpica/source/compiler/aslpld.c b/src/acpica/source/compiler/aslpld.c
index 9faa8c26..eedfaa24 100644
--- a/src/acpica/source/compiler/aslpld.c
+++ b/src/acpica/source/compiler/aslpld.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslpredef.c b/src/acpica/source/compiler/aslpredef.c
index 2804e12d..92532997 100644
--- a/src/acpica/source/compiler/aslpredef.c
+++ b/src/acpica/source/compiler/aslpredef.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslprepkg.c b/src/acpica/source/compiler/aslprepkg.c
index f562dbe6..21fe2db7 100644
--- a/src/acpica/source/compiler/aslprepkg.c
+++ b/src/acpica/source/compiler/aslprepkg.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslprimaries.y b/src/acpica/source/compiler/aslprimaries.y
index 69565def..f7059716 100644
--- a/src/acpica/source/compiler/aslprimaries.y
+++ b/src/acpica/source/compiler/aslprimaries.y
@@ -11,7 +11,7 @@  NoEcho('
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslprintf.c b/src/acpica/source/compiler/aslprintf.c
index 3f270fec..b2da0035 100644
--- a/src/acpica/source/compiler/aslprintf.c
+++ b/src/acpica/source/compiler/aslprintf.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslprune.c b/src/acpica/source/compiler/aslprune.c
index 4626a1ee..dc1162c4 100644
--- a/src/acpica/source/compiler/aslprune.c
+++ b/src/acpica/source/compiler/aslprune.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslresource.c b/src/acpica/source/compiler/aslresource.c
index 104a4835..4d20c5e3 100644
--- a/src/acpica/source/compiler/aslresource.c
+++ b/src/acpica/source/compiler/aslresource.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -762,6 +762,12 @@  RsDoOneResourceDescriptor (
 
     switch (Info->DescriptorTypeOp->Asl.ParseOpcode)
     {
+
+    case PARSEOP_CLOCKINPUT:
+
+        Rnode = RsDoClockInputDescriptor(Info);
+        break;
+
     case PARSEOP_DMA:
 
         Rnode = RsDoDmaDescriptor (Info);
diff --git a/src/acpica/source/compiler/aslresources.y b/src/acpica/source/compiler/aslresources.y
index a5752b01..52bff9c4 100644
--- a/src/acpica/source/compiler/aslresources.y
+++ b/src/acpica/source/compiler/aslresources.y
@@ -11,7 +11,7 @@  NoEcho('
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -214,6 +214,7 @@  ResourceMacroTerm
     | Memory32Term                  {}
     | PinConfigTerm                 {}
     | PinFunctionTerm               {}
+    | ClockInputTerm                {}
     | PinGroupTerm                  {}
     | PinGroupConfigTerm            {}
     | PinGroupFunctionTerm          {}
@@ -666,6 +667,21 @@  PinFunctionTerm
         error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
     ;
 
+ClockInputTerm
+    : PARSEOP_CLOCKINPUT
+        PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_CLOCKINPUT);}
+        DWordConstExpr              /* 04: FrequencyNumerator */
+        ',' WordConstExpr           /* 06: FrequencyDivisor */
+        ',' ClockScaleKeyword       /* 08: Scale */
+        ',' ClockModeKeyword        /* 10: Mode*/
+        OptionalStringData          /* 11: ResourceSource */
+        OptionalByteConstExpr       /* 12: ResourceSourceIndex */
+        PARSEOP_CLOSE_PAREN         {$$ = TrLinkOpChildren ($<n>3,6,$4,$6,$8,$10,$11,$12);}
+    | PARSEOP_CLOCKINPUT
+        PARSEOP_OPEN_PAREN
+        error PARSEOP_CLOSE_PAREN   {$$ = AslDoError(); yyclearin;}
+    ;
+
 PinGroupTerm
     : PARSEOP_PINGROUP
         PARSEOP_OPEN_PAREN          {$<n>$ = TrCreateLeafOp (PARSEOP_PINGROUP);}
diff --git a/src/acpica/source/compiler/aslrestype1.c b/src/acpica/source/compiler/aslrestype1.c
index a6625c08..53fa8621 100644
--- a/src/acpica/source/compiler/aslrestype1.c
+++ b/src/acpica/source/compiler/aslrestype1.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslrestype1i.c b/src/acpica/source/compiler/aslrestype1i.c
index 84d5b653..d352e65f 100644
--- a/src/acpica/source/compiler/aslrestype1i.c
+++ b/src/acpica/source/compiler/aslrestype1i.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslrestype2.c b/src/acpica/source/compiler/aslrestype2.c
index 387e85c8..bf6f77ed 100644
--- a/src/acpica/source/compiler/aslrestype2.c
+++ b/src/acpica/source/compiler/aslrestype2.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -337,7 +337,7 @@  RsDoInterruptDescriptor (
     Descriptor->ExtendedIrq.InterruptCount  = 0;
 
     Rover = ACPI_CAST_PTR (AML_RESOURCE,
-        (&(Descriptor->ExtendedIrq.Interrupts[0])));
+        (&(Descriptor->ExtendedIrq.u.Interrupts[0])));
 
     /* Process all child initialization nodes */
 
@@ -466,7 +466,7 @@  RsDoInterruptDescriptor (
 
                 RsCreateDwordField (InitializerOp, ACPI_RESTAG_INTERRUPT,
                     CurrentByteOffset +
-                    ASL_RESDESC_OFFSET (ExtendedIrq.Interrupts[0]));
+                    ASL_RESDESC_OFFSET (ExtendedIrq.u.Interrupts[0]));
             }
         }
 
@@ -494,7 +494,7 @@  RsDoInterruptDescriptor (
     }
 
     Rnode->BufferLength =
-        (ASL_RESDESC_OFFSET (ExtendedIrq.Interrupts[0]) -
+        (ASL_RESDESC_OFFSET (ExtendedIrq.u.Interrupts[0]) -
         ASL_RESDESC_OFFSET (ExtendedIrq.DescriptorType))
         + OptionIndex + StringLength;
     return (Rnode);
diff --git a/src/acpica/source/compiler/aslrestype2d.c b/src/acpica/source/compiler/aslrestype2d.c
index 6b597e25..45013c2c 100644
--- a/src/acpica/source/compiler/aslrestype2d.c
+++ b/src/acpica/source/compiler/aslrestype2d.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslrestype2e.c b/src/acpica/source/compiler/aslrestype2e.c
index 414b2d23..c557f402 100644
--- a/src/acpica/source/compiler/aslrestype2e.c
+++ b/src/acpica/source/compiler/aslrestype2e.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslrestype2q.c b/src/acpica/source/compiler/aslrestype2q.c
index ce796597..62866594 100644
--- a/src/acpica/source/compiler/aslrestype2q.c
+++ b/src/acpica/source/compiler/aslrestype2q.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslrestype2s.c b/src/acpica/source/compiler/aslrestype2s.c
index ea832da3..05480796 100644
--- a/src/acpica/source/compiler/aslrestype2s.c
+++ b/src/acpica/source/compiler/aslrestype2s.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -1550,7 +1550,6 @@  RsDoPinFunctionDescriptor (
     UINT16                  PinListLength;
     UINT16                  DescriptorSize;
     UINT32                  CurrentByteOffset;
-    UINT32                  PinCount = 0;
     UINT32                  i;
 
     InitializerOp = Info->DescriptorTypeOp->Asl.Child;
@@ -1668,15 +1667,10 @@  RsDoPinFunctionDescriptor (
         default:
             /*
              * PINs come through here, repeatedly. Each PIN must be a WORD.
-             * NOTE: there is no "length" field for this, so from ACPI spec:
-             *  The number of pins in the table can be calculated from:
-             *  PinCount = (Resource Source Name Offset - Pin Table Offset) / 2
-             *  (implies resource source must immediately follow the pin list.)
              *  Name: _PIN
              */
             *PinList = (UINT16) InitializerOp->Asl.Value.Integer;
             PinList++;
-            PinCount++;
 
             /* Case 8: First pin number in list */
 
@@ -1708,6 +1702,115 @@  RsDoPinFunctionDescriptor (
     return (Rnode);
 }
 
+/*******************************************************************************
+ *
+ * FUNCTION:    RsDoClockInputDescriptor
+ *
+ * PARAMETERS:  Info                - Parse Op and resource template offset
+ *
+ * RETURN:      Completed resource node
+ *
+ * DESCRIPTION: Construct a long "ClockInput" descriptor
+ *
+ ******************************************************************************/
+
+ASL_RESOURCE_NODE *
+RsDoClockInputDescriptor (
+    ASL_RESOURCE_INFO       *Info)
+{
+    AML_RESOURCE            *Descriptor;
+    ACPI_PARSE_OBJECT       *InitializerOp;
+    ASL_RESOURCE_NODE       *Rnode;
+    char                    *ResourceSourceString = NULL;
+    UINT8                   *ResourceSourceIndex = NULL;
+    UINT16                  ResSourceLength;
+    UINT16                  DescriptorSize;
+    UINT32                  i;
+    UINT32                  CurrentByteOffset;
+
+    InitializerOp = Info->DescriptorTypeOp->Asl.Child;
+    CurrentByteOffset = Info->CurrentByteOffset;
+
+    /*
+     * Calculate lengths for fields that have variable length:
+     * 1) Resource Source string
+     */
+    ResSourceLength = RsGetStringDataLength (InitializerOp);
+
+    DescriptorSize = ACPI_AML_SIZE_LARGE (AML_RESOURCE_CLOCK_INPUT) + ResSourceLength + 1;
+
+    /* Allocate the local resource node and initialize */
+
+    Rnode = RsAllocateResourceNode (DescriptorSize +
+        sizeof (AML_RESOURCE_LARGE_HEADER));
+
+    Descriptor = Rnode->Buffer;
+    Descriptor->ClockInput.ResourceLength = DescriptorSize;
+    Descriptor->ClockInput.DescriptorType = ACPI_RESOURCE_NAME_CLOCK_INPUT;
+    Descriptor->ClockInput.RevisionId = AML_RESOURCE_CLOCK_INPUT_REVISION;
+
+    /* Build pointers to optional areas */
+
+    if (ResSourceLength){
+        ResourceSourceIndex = ACPI_ADD_PTR (UINT8, Descriptor, sizeof (AML_RESOURCE_CLOCK_INPUT));
+        ResourceSourceString = ACPI_ADD_PTR (char, Descriptor, sizeof (AML_RESOURCE_CLOCK_INPUT) + 1);
+    }
+
+    /* Process all child initialization nodes */
+
+    for (i = 0; InitializerOp; i++)
+    {
+        switch (i)
+        {
+        case 0:
+            Descriptor->ClockInput.FrequencyNumerator = (UINT32)InitializerOp->Asl.Value.Integer;
+            RsCreateDwordField (InitializerOp, ACPI_RESTAG_FQN,
+                CurrentByteOffset + ASL_RESDESC_OFFSET (ClockInput.FrequencyNumerator));
+
+            break;
+
+        case 1:
+            Descriptor->ClockInput.FrequencyDivisor = (UINT16)InitializerOp->Asl.Value.Integer;
+            RsCreateWordField (InitializerOp, ACPI_RESTAG_FQD,
+                CurrentByteOffset + ASL_RESDESC_OFFSET (ClockInput.FrequencyDivisor));
+
+            break;
+
+        case 2:
+            RsSetFlagBits16 (&Descriptor->ClockInput.Flags, InitializerOp, 1, 0);
+            break;
+
+        case 3:
+            RsSetFlagBits16 (&Descriptor->ClockInput.Flags, InitializerOp, 0, 0);
+            break;
+
+        case 4: /* ResSource String [Optional Field] */
+
+            if (ResourceSourceString)
+            {
+                /* Copy string to the descriptor */
+
+                strcpy (ResourceSourceString, InitializerOp->Asl.Value.String);
+            }
+            break;
+
+        case 5: /* ResSource Index [Optional Field] */
+            if (ResourceSourceIndex)
+            {
+                *ResourceSourceIndex = (UINT8) InitializerOp->Asl.Value.Integer;
+            }
+            break;
+
+        default:
+            break;
+        }
+
+        InitializerOp = RsCompleteNodeAndGetNext (InitializerOp);
+    }
+
+    return (Rnode);
+}
+
 
 /*******************************************************************************
  *
@@ -1736,7 +1839,6 @@  RsDoPinConfigDescriptor (
     UINT16                  PinListLength;
     UINT16                  DescriptorSize;
     UINT32                  CurrentByteOffset;
-    UINT32                  PinCount = 0;
     UINT32                  i;
 
     InitializerOp = Info->DescriptorTypeOp->Asl.Child;
@@ -1868,15 +1970,10 @@  RsDoPinConfigDescriptor (
         default:
             /*
              * PINs come through here, repeatedly. Each PIN must be a WORD.
-             * NOTE: there is no "length" field for this, so from ACPI spec:
-             *  The number of pins in the table can be calculated from:
-             *  PinCount = (Resource Source Name Offset - Pin Table Offset) / 2
-             *  (implies resource source must immediately follow the pin list.)
              *  Name: _PIN
              */
             *PinList = (UINT16) InitializerOp->Asl.Value.Integer;
             PinList++;
-            PinCount++;
 
             /* Case 8: First pin number in list */
 
@@ -1936,7 +2033,6 @@  RsDoPinGroupDescriptor (
     UINT16                  PinListLength;
     UINT16                  DescriptorSize;
     UINT32                  CurrentByteOffset;
-    UINT32                  PinCount = 0;
     UINT32                  i;
 
     InitializerOp = Info->DescriptorTypeOp->Asl.Child;
@@ -2022,15 +2118,10 @@  RsDoPinGroupDescriptor (
         default:
             /*
              * PINs come through here, repeatedly. Each PIN must be a WORD.
-             * NOTE: there is no "length" field for this, so from ACPI spec:
-             *  The number of pins in the table can be calculated from:
-             *  PinCount = (Resource Source Name Offset - Pin Table Offset) / 2
-             *  (implies resource source must immediately follow the pin list.)
              *  Name: _PIN
              */
             *PinList = (UINT16) InitializerOp->Asl.Value.Integer;
             PinList++;
-            PinCount++;
 
             /* Case 3: First pin number in list */
 
diff --git a/src/acpica/source/compiler/aslrestype2w.c b/src/acpica/source/compiler/aslrestype2w.c
index a758e058..9908494d 100644
--- a/src/acpica/source/compiler/aslrestype2w.c
+++ b/src/acpica/source/compiler/aslrestype2w.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslrules.y b/src/acpica/source/compiler/aslrules.y
index 79aa2210..2793749b 100644
--- a/src/acpica/source/compiler/aslrules.y
+++ b/src/acpica/source/compiler/aslrules.y
@@ -11,7 +11,7 @@  NoEcho('
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslstartup.c b/src/acpica/source/compiler/aslstartup.c
index 9542a79d..8b4e5c7c 100644
--- a/src/acpica/source/compiler/aslstartup.c
+++ b/src/acpica/source/compiler/aslstartup.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslstubs.c b/src/acpica/source/compiler/aslstubs.c
index 0e6cd56f..e90115b8 100644
--- a/src/acpica/source/compiler/aslstubs.c
+++ b/src/acpica/source/compiler/aslstubs.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslsupport.l b/src/acpica/source/compiler/aslsupport.l
index 0daec602..8d589a94 100644
--- a/src/acpica/source/compiler/aslsupport.l
+++ b/src/acpica/source/compiler/aslsupport.l
@@ -9,7 +9,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -195,7 +195,7 @@  AslParserCleanup (
  *
  * DESCRIPTION: Handle #line directives emitted by the preprocessor.
  *
- * The #line directive is emitted by the preprocesser, and is used to
+ * The #line directive is emitted by the preprocessor, and is used to
  * pass through line numbers from the original source code file to the
  * preprocessor output file (.i). This allows any compiler-generated
  * error messages to be displayed with the correct line number.
diff --git a/src/acpica/source/compiler/aslsupport.y b/src/acpica/source/compiler/aslsupport.y
index 3f19af2f..f7420672 100644
--- a/src/acpica/source/compiler/aslsupport.y
+++ b/src/acpica/source/compiler/aslsupport.y
@@ -9,7 +9,7 @@  NoEcho('
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/asltokens.y b/src/acpica/source/compiler/asltokens.y
index c43561e7..48db2e22 100644
--- a/src/acpica/source/compiler/asltokens.y
+++ b/src/acpica/source/compiler/asltokens.y
@@ -9,7 +9,7 @@  NoEcho('
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -399,6 +399,12 @@  NoEcho('
 %token <i> PARSEOP_PIN_PULLDEFAULT
 %token <i> PARSEOP_PIN_PULLDOWN
 %token <i> PARSEOP_PIN_PULLUP
+%token <i> PARSEOP_CLOCKINPUT
+%token <i> PARSEOP_CLOCK_HZ
+%token <i> PARSEOP_CLOCK_KHZ
+%token <i> PARSEOP_CLOCK_MHZ
+%token <i> PARSEOP_CLOCK_FIXED
+%token <i> PARSEOP_CLOCK_VARIABLE
 %token <i> PARSEOP_POWERRESOURCE
 %token <i> PARSEOP_PROCESSOR
 %token <i> PARSEOP_QWORDCONST
diff --git a/src/acpica/source/compiler/asltransform.c b/src/acpica/source/compiler/asltransform.c
index 573ddad1..d1fcbed2 100644
--- a/src/acpica/source/compiler/asltransform.c
+++ b/src/acpica/source/compiler/asltransform.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/asltree.c b/src/acpica/source/compiler/asltree.c
index 9cf49269..f390c4f6 100644
--- a/src/acpica/source/compiler/asltree.c
+++ b/src/acpica/source/compiler/asltree.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -467,6 +467,7 @@  TrLinkOpChildren (
     UINT32                  i;
     BOOLEAN                 FirstChild;
 
+    ACPI_FUNCTION_NAME (TrLinkOpChildren);
 
     va_start (ap, NumChildren);
 
@@ -624,7 +625,7 @@  TrLinkOpChildren (
     if (AcpiGbl_CaptureComments)
     {
         AslGbl_CommentState.LatestParseOp = Op;
-        CvDbgPrint ("TrLinkOpChildren=====Set latest parse op to this op.\n");
+        CvDbgPrint ("%s=====Set latest parse op to this op.\n",  ACPI_GET_FUNCTION_NAME);
     }
 
     return (Op);
diff --git a/src/acpica/source/compiler/asltypes.h b/src/acpica/source/compiler/asltypes.h
index d5689dea..577d3b88 100644
--- a/src/acpica/source/compiler/asltypes.h
+++ b/src/acpica/source/compiler/asltypes.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -336,7 +336,7 @@  typedef struct asl_file_desc
 typedef struct asl_cache_info
 {
     void                    *Next;
-    char                    Buffer[1];
+    char                    Buffer[];
 
 } ASL_CACHE_INFO;
 
diff --git a/src/acpica/source/compiler/asltypes.y b/src/acpica/source/compiler/asltypes.y
index ba98362c..d5f020d3 100644
--- a/src/acpica/source/compiler/asltypes.y
+++ b/src/acpica/source/compiler/asltypes.y
@@ -9,7 +9,7 @@  NoEcho('
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -359,6 +359,8 @@  NoEcho('
 %type <n> WireModeKeyword
 %type <n> XferSizeKeyword
 %type <n> XferTypeKeyword
+%type <n> ClockScaleKeyword
+%type <n> ClockModeKeyword
 
 /* Types */
 
@@ -411,6 +413,7 @@  NoEcho('
 
 /* Resource Descriptors */
 
+%type <n> ClockInputTerm
 %type <n> ConnectionTerm
 %type <n> Csi2SerialBusTerm
 %type <n> DMATerm
diff --git a/src/acpica/source/compiler/aslutils.c b/src/acpica/source/compiler/aslutils.c
index e91fd460..86b040b9 100644
--- a/src/acpica/source/compiler/aslutils.c
+++ b/src/acpica/source/compiler/aslutils.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -610,7 +610,7 @@  UtSetParseOpName (
  *
  * FUNCTION:    UtDisplayOneSummary
  *
- * PARAMETERS:  FileID              - ID of outpout file
+ * PARAMETERS:  FileID              - ID of output file
  *
  * RETURN:      None
  *
@@ -733,7 +733,7 @@  UtDisplayOneSummary (
  *
  * FUNCTION:    UtDisplayErrorSummary
  *
- * PARAMETERS:  FileID              - ID of outpout file
+ * PARAMETERS:  FileID              - ID of output file
  *
  * RETURN:      None
  *
@@ -800,7 +800,7 @@  UtDisplayErrorSummary (
  *
  * FUNCTION:    UtDisplaySummary
  *
- * PARAMETERS:  FileID              - ID of outpout file
+ * PARAMETERS:  FileID              - ID of output file
  *
  * RETURN:      None
  *
diff --git a/src/acpica/source/compiler/asluuid.c b/src/acpica/source/compiler/asluuid.c
index 0eb36050..fbbf644a 100644
--- a/src/acpica/source/compiler/asluuid.c
+++ b/src/acpica/source/compiler/asluuid.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslwalks.c b/src/acpica/source/compiler/aslwalks.c
index 6e32f081..0f7bc94f 100644
--- a/src/acpica/source/compiler/aslwalks.c
+++ b/src/acpica/source/compiler/aslwalks.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslxref.c b/src/acpica/source/compiler/aslxref.c
index 3a00f5a9..0e1034ba 100644
--- a/src/acpica/source/compiler/aslxref.c
+++ b/src/acpica/source/compiler/aslxref.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/aslxrefout.c b/src/acpica/source/compiler/aslxrefout.c
index dd3fe80c..04471c63 100644
--- a/src/acpica/source/compiler/aslxrefout.c
+++ b/src/acpica/source/compiler/aslxrefout.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/cvcompiler.c b/src/acpica/source/compiler/cvcompiler.c
index b51a688b..6689ca89 100644
--- a/src/acpica/source/compiler/cvcompiler.c
+++ b/src/acpica/source/compiler/cvcompiler.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/cvdisasm.c b/src/acpica/source/compiler/cvdisasm.c
index 250c009a..7561e902 100644
--- a/src/acpica/source/compiler/cvdisasm.c
+++ b/src/acpica/source/compiler/cvdisasm.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/cvparser.c b/src/acpica/source/compiler/cvparser.c
index 66b04e9a..574cbe8d 100644
--- a/src/acpica/source/compiler/cvparser.c
+++ b/src/acpica/source/compiler/cvparser.c
@@ -9,7 +9,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/dtcompile.c b/src/acpica/source/compiler/dtcompile.c
index 11fcb8b9..afb4e342 100644
--- a/src/acpica/source/compiler/dtcompile.c
+++ b/src/acpica/source/compiler/dtcompile.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/dtcompiler.h b/src/acpica/source/compiler/dtcompiler.h
index e85ca539..cddc9519 100644
--- a/src/acpica/source/compiler/dtcompiler.h
+++ b/src/acpica/source/compiler/dtcompiler.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -577,6 +577,10 @@  ACPI_STATUS
 DtCompileAsf (
     void                    **PFieldList);
 
+ACPI_STATUS
+DtCompileAspt (
+    void                    **PFieldList);
+
 ACPI_STATUS
 DtCompileCdat (
     void                    **PFieldList);
@@ -653,6 +657,10 @@  ACPI_STATUS
 DtCompileMcfg (
     void                    **PFieldList);
 
+ACPI_STATUS
+DtCompileMpam (
+    void                    **PFieldList);
+
 ACPI_STATUS
 DtCompileMpst (
     void                    **PFieldList);
@@ -697,6 +705,10 @@  ACPI_STATUS
 DtCompileRgrt (
     void                    **PFieldList);
 
+ACPI_STATUS
+DtCompileRhct (
+    void                    **PFieldList);
+
 ACPI_STATUS
 DtCompileRsdt (
     void                    **PFieldList);
@@ -773,6 +785,7 @@  extern const unsigned char  TemplateAest[];
 extern const unsigned char  TemplateAgdi[];
 extern const unsigned char  TemplateApmt[];
 extern const unsigned char  TemplateAsf[];
+extern const unsigned char  TemplateAspt[];
 extern const unsigned char  TemplateBoot[];
 extern const unsigned char  TemplateBdat[];
 extern const unsigned char  TemplateBert[];
@@ -801,6 +814,7 @@  extern const unsigned char  TemplateLpit[];
 extern const unsigned char  TemplateMadt[];
 extern const unsigned char  TemplateMcfg[];
 extern const unsigned char  TemplateMchi[];
+extern const unsigned char  TemplateMpam[];
 extern const unsigned char  TemplateMpst[];
 extern const unsigned char  TemplateMsct[];
 extern const unsigned char  TemplateMsdm[];
@@ -814,6 +828,7 @@  extern const unsigned char  TemplatePptt[];
 extern const unsigned char  TemplatePrmt[];
 extern const unsigned char  TemplateRasf[];
 extern const unsigned char  TemplateRgrt[];
+extern const unsigned char  TemplateRhct[];
 extern const unsigned char  TemplateRsdt[];
 extern const unsigned char  TemplateS3pt[];
 extern const unsigned char  TemplateSbst[];
diff --git a/src/acpica/source/compiler/dtcompilerparser.l b/src/acpica/source/compiler/dtcompilerparser.l
index a00ef56e..a4ff02a0 100644
--- a/src/acpica/source/compiler/dtcompilerparser.l
+++ b/src/acpica/source/compiler/dtcompilerparser.l
@@ -9,7 +9,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/dtcompilerparser.y b/src/acpica/source/compiler/dtcompilerparser.y
index 30ead3af..f03615ff 100644
--- a/src/acpica/source/compiler/dtcompilerparser.y
+++ b/src/acpica/source/compiler/dtcompilerparser.y
@@ -9,7 +9,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/dtexpress.c b/src/acpica/source/compiler/dtexpress.c
index fd292d8f..7d614729 100644
--- a/src/acpica/source/compiler/dtexpress.c
+++ b/src/acpica/source/compiler/dtexpress.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -480,10 +480,11 @@  static void
 DtInsertLabelField (
     DT_FIELD                *Field)
 {
+    ACPI_FUNCTION_NAME (DtInsertLabelField);
 
     DbgPrint (ASL_DEBUG_OUTPUT,
-        "DtInsertLabelField: Found Label : %s at output table offset %X\n",
-        Field->Value, Field->TableOffset);
+        "%s: Found Label : %s at output table offset %X\n",
+         ACPI_GET_FUNCTION_NAME, Field->Value, Field->TableOffset);
 
     Field->NextLabel = AslGbl_LabelList;
     AslGbl_LabelList = Field;
diff --git a/src/acpica/source/compiler/dtfield.c b/src/acpica/source/compiler/dtfield.c
index f9316319..b2ba6693 100644
--- a/src/acpica/source/compiler/dtfield.c
+++ b/src/acpica/source/compiler/dtfield.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -678,7 +678,7 @@  DtCompileFlag (
 
     case ACPI_DMT_FLAGS8_2:
 
-	BitPosition = 2;
+        BitPosition = 2;
         BitLength = 8;
         break;
 
diff --git a/src/acpica/source/compiler/dtio.c b/src/acpica/source/compiler/dtio.c
index 9ec18cd1..7d7fb2b4 100644
--- a/src/acpica/source/compiler/dtio.c
+++ b/src/acpica/source/compiler/dtio.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/dtparser.l b/src/acpica/source/compiler/dtparser.l
index b7cb26e2..0c003eca 100644
--- a/src/acpica/source/compiler/dtparser.l
+++ b/src/acpica/source/compiler/dtparser.l
@@ -9,7 +9,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/dtparser.y b/src/acpica/source/compiler/dtparser.y
index fc8275cc..df804c91 100644
--- a/src/acpica/source/compiler/dtparser.y
+++ b/src/acpica/source/compiler/dtparser.y
@@ -9,7 +9,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/dtsubtable.c b/src/acpica/source/compiler/dtsubtable.c
index 3c2798b6..0bbaa81c 100644
--- a/src/acpica/source/compiler/dtsubtable.c
+++ b/src/acpica/source/compiler/dtsubtable.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/dttable.c b/src/acpica/source/compiler/dttable.c
index dfc34c13..1cbd4619 100644
--- a/src/acpica/source/compiler/dttable.c
+++ b/src/acpica/source/compiler/dttable.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/dttable1.c b/src/acpica/source/compiler/dttable1.c
index dc25e9b9..8ffcb40d 100644
--- a/src/acpica/source/compiler/dttable1.c
+++ b/src/acpica/source/compiler/dttable1.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -654,6 +654,91 @@  DtCompileAsf (
     return (AE_OK);
 }
 
+/******************************************************************************
+ *
+ * FUNCTION:    DtCompileAspt
+ *
+ * PARAMETERS:  List                - Current field list pointer
+ *
+ * RETURN:      Status
+ *
+ * DESCRIPTION: Compile ASPT.
+ *
+ *****************************************************************************/
+
+ACPI_STATUS
+DtCompileAspt (
+    void                    **List)
+{
+    ACPI_ASPT_HEADER        *AsptTable;
+    DT_SUBTABLE             *Subtable;
+    DT_SUBTABLE             *ParentTable;
+    ACPI_DMTABLE_INFO       *InfoTable;
+    ACPI_STATUS             Status;
+    DT_FIELD                **PFieldList = (DT_FIELD **) List;
+    DT_FIELD                *SubtableStart;
+
+    Status = DtCompileTable (PFieldList, AcpiDmTableInfoAspt, &Subtable);
+    if (ACPI_FAILURE (Status))
+    {
+        return (Status);
+    }
+
+    ParentTable = DtPeekSubtable ();
+    DtInsertSubtable (ParentTable, Subtable);
+
+    while (*PFieldList)
+    {
+        SubtableStart = *PFieldList;
+        Status = DtCompileTable (PFieldList, AcpiDmTableInfoAsptHdr,
+            &Subtable);
+        if (ACPI_FAILURE (Status))
+        {
+            return (Status);
+        }
+
+        ParentTable = DtPeekSubtable ();
+        DtInsertSubtable (ParentTable, Subtable);
+        DtPushSubtable (Subtable);
+
+        AsptTable = ACPI_CAST_PTR (ACPI_ASPT_HEADER, Subtable->Buffer);
+
+        switch (AsptTable->Type) /* Mask off top bit */
+        {
+        case ACPI_ASPT_TYPE_GLOBAL_REGS:
+
+            InfoTable = AcpiDmTableInfoAspt0;
+            break;
+
+        case ACPI_ASPT_TYPE_SEV_MBOX_REGS:
+
+            InfoTable = AcpiDmTableInfoAspt1;
+            break;
+
+        case ACPI_ASPT_TYPE_ACPI_MBOX_REGS:
+
+            InfoTable = AcpiDmTableInfoAspt2;
+            break;
+
+        default:
+
+            DtFatal (ASL_MSG_UNKNOWN_SUBTABLE, SubtableStart, "ASPT");
+            return (AE_ERROR);
+        }
+
+        Status = DtCompileTable (PFieldList, InfoTable, &Subtable);
+        if (ACPI_FAILURE (Status))
+        {
+            return (Status);
+        }
+        ParentTable = DtPeekSubtable ();
+        DtInsertSubtable (ParentTable, Subtable);
+        DtPopSubtable ();
+    }
+
+    return (AE_OK);
+}
+
 
 /******************************************************************************
  *
@@ -854,7 +939,7 @@  DtCompileCedt (
             /* Look in buffer for the number of targets */
             offset = (unsigned int) ACPI_OFFSET (ACPI_CEDT_CFMWS, InterleaveWays);
             dump = (unsigned char *) Subtable->Buffer - 4;     /* place at beginning of cedt1 */
-            max = 0x01 << dump[offset];     /* 2^max, so 0=1, 1=2, 2=4, 3=8.  8 is MAX */
+            max = 0x01 << dump[offset];     /* 2^max, so 0=1, 1=2, 2=4, 3=8. 8 is MAX */
             if (max > 8)    max=1;          /* Error in encoding Interleaving Ways. */
             if (max == 1)                   /* if only one target, then break here. */
                 break;                      /* break if only one target. */
@@ -2009,7 +2094,7 @@  DtCompileHmat (
         DtInsertSubtable (ParentTable, Subtable);
         HmatStruct->Length += Subtable->Length;
 
-        /* Compile HMAT structure additionals */
+        /* Compile HMAT structure additional */
 
         switch (HmatStruct->Type)
         {
diff --git a/src/acpica/source/compiler/dttable2.c b/src/acpica/source/compiler/dttable2.c
index 59d578f9..007b6747 100644
--- a/src/acpica/source/compiler/dttable2.c
+++ b/src/acpica/source/compiler/dttable2.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -425,6 +425,163 @@  DtCompileMcfg (
     return (Status);
 }
 
+/******************************************************************************
+ *
+ * FUNCTION:    DtCompileMpam
+ *
+ * PARAMETERS:  List                - Current field list pointer
+ *
+ * RETURN:      Status
+ *
+ * DESCRIPTION: Compile MPAM.
+ *
+ *****************************************************************************/
+
+ACPI_STATUS
+DtCompileMpam (
+    void                    **List)
+{
+    ACPI_STATUS             Status;
+    DT_SUBTABLE             *ParentTable;
+    DT_SUBTABLE             *Subtable;
+    DT_FIELD                *SubtableStart;
+    DT_FIELD                **PFieldList = (DT_FIELD **) List;
+    ACPI_MPAM_MSC_NODE      *MpamMscNode;
+    ACPI_MPAM_RESOURCE_NODE *MpamResourceNode;
+    UINT32                  FuncDepsCount;
+    UINT32                  RisLength;
+    ACPI_DMTABLE_INFO       *InfoTable;
+
+    ParentTable = DtPeekSubtable ();
+
+    while (*PFieldList)
+    {
+        SubtableStart = *PFieldList;
+
+        /* Main MSC Node table */
+        Status = DtCompileTable (PFieldList, AcpiDmTableInfoMpam0,
+            &Subtable);
+        if (ACPI_FAILURE (Status))
+        {
+            return (Status);
+        }
+
+        MpamMscNode = ACPI_CAST_PTR (ACPI_MPAM_MSC_NODE, Subtable->Buffer);
+
+        ParentTable = DtPeekSubtable ();
+        DtInsertSubtable (ParentTable, Subtable);
+        DtPushSubtable (Subtable);
+
+        ParentTable = DtPeekSubtable ();
+
+        /*
+         * RIS(es) per MSC node have variable lengths depending on how many RISes there and
+         * any how many functional dependencies per RIS. Calculate it in order
+         * to properly set the overall MSC length.
+         */
+        RisLength = 0;
+
+        /* Iterate over RIS subtables per MSC node */
+        for (UINT32 ris = 0; ris < MpamMscNode->NumResouceNodes; ris++)
+        {
+            /* Compile RIS subtable */
+            Status = DtCompileTable (PFieldList, AcpiDmTableInfoMpam1,
+                &Subtable);
+            if (ACPI_FAILURE (Status))
+            {
+                return (Status);
+            }
+
+            MpamResourceNode = ACPI_CAST_PTR (ACPI_MPAM_RESOURCE_NODE, Subtable->Buffer);
+            DtInsertSubtable (ParentTable, Subtable);
+            DtPushSubtable (Subtable);
+
+            ParentTable = DtPeekSubtable ();
+
+            switch (MpamResourceNode->LocatorType)
+            {
+                case ACPI_MPAM_LOCATION_TYPE_PROCESSOR_CACHE:
+                    InfoTable = AcpiDmTableInfoMpam1A;
+                    break;
+                case ACPI_MPAM_LOCATION_TYPE_MEMORY:
+                    InfoTable = AcpiDmTableInfoMpam1B;
+                    break;
+                case ACPI_MPAM_LOCATION_TYPE_SMMU:
+                    InfoTable = AcpiDmTableInfoMpam1C;
+                    break;
+                case ACPI_MPAM_LOCATION_TYPE_MEMORY_CACHE:
+                    InfoTable = AcpiDmTableInfoMpam1D;
+                    break;
+                case ACPI_MPAM_LOCATION_TYPE_ACPI_DEVICE:
+                    InfoTable = AcpiDmTableInfoMpam1E;
+                    break;
+                case ACPI_MPAM_LOCATION_TYPE_INTERCONNECT:
+                    InfoTable = AcpiDmTableInfoMpam1F;
+                    break;
+                case ACPI_MPAM_LOCATION_TYPE_UNKNOWN:
+                    InfoTable = AcpiDmTableInfoMpam1G;
+                default:
+                    DtFatal (ASL_MSG_UNKNOWN_SUBTABLE, SubtableStart, "Resource Locator Type");
+                    return (AE_ERROR);
+            }
+
+            /* Compile Resource Locator Table */
+            Status = DtCompileTable (PFieldList, InfoTable,
+                &Subtable);
+
+            if (ACPI_FAILURE (Status))
+            {
+                return (Status);
+            }
+
+            DtInsertSubtable (ParentTable, Subtable);
+
+            /* Compile the number of functional dependencies per RIS */
+            Status = DtCompileTable (PFieldList, AcpiDmTableInfoMpam1Deps,
+                &Subtable);
+
+            if (ACPI_FAILURE (Status))
+            {
+                return (Status);
+            }
+
+            DtInsertSubtable (ParentTable, Subtable);
+            FuncDepsCount = *ACPI_CAST_PTR (UINT32, Subtable->Buffer);
+
+            RisLength += sizeof(ACPI_MPAM_RESOURCE_NODE) +
+                FuncDepsCount * sizeof(ACPI_MPAM_FUNC_DEPS);
+
+            /* Iterate over functional dependencies per RIS */
+            for (UINT32 funcDep = 0; funcDep < FuncDepsCount; funcDep++)
+            {
+                /* Compiler functional dependencies table */
+                Status = DtCompileTable (PFieldList, AcpiDmTableInfoMpam2,
+                    &Subtable);
+
+                if (ACPI_FAILURE (Status))
+                {
+                    return (Status);
+                }
+
+                DtInsertSubtable (ParentTable, Subtable);
+            }
+
+            DtPopSubtable ();
+        }
+
+        /* Check if the length of the MSC is correct and override with the correct length */
+        if (MpamMscNode->Length != sizeof(ACPI_MPAM_MSC_NODE) + RisLength)
+        {
+            MpamMscNode->Length = (UINT16) (sizeof(ACPI_MPAM_MSC_NODE) + RisLength);
+            DbgPrint (ASL_DEBUG_OUTPUT, "Overriding MSC->Length: %X\n", MpamMscNode->Length);
+        }
+
+        DtPopSubtable ();
+    }
+
+    return (AE_OK);
+}
+
 
 /******************************************************************************
  *
@@ -1086,7 +1243,7 @@  DtCompileNhlt (
 
             /*
              * If we are not done with the current Endpoint yet, then there must be
-             * some non documeneted structure(s) yet to be processed. First, get
+             * some non documented structure(s) yet to be processed. First, get
              * the count of such structure(s).
              */
             if (*PFieldList && !(strcmp ((const char *) (*PFieldList)->Name, "Device Info struct count")))
@@ -1800,7 +1957,7 @@  DtCompilePptt (
         DtInsertSubtable (ParentTable, Subtable);
         PpttHeader->Length += (UINT8)(Subtable->Length);
 
-        /* Compile PPTT subtable additionals */
+        /* Compile PPTT subtable additional */
 
         switch (PpttHeader->Type)
         {
@@ -1969,6 +2126,128 @@  DtCompileRgrt (
 }
 
 
+/******************************************************************************
+ *
+ * FUNCTION:    DtCompileRhct
+ *
+ * PARAMETERS:  List                - Current field list pointer
+ *
+ * RETURN:      Status
+ *
+ * DESCRIPTION: Compile RHCT.
+ *
+ *****************************************************************************/
+
+ACPI_STATUS
+DtCompileRhct (
+    void                    **List)
+{
+    ACPI_STATUS             Status;
+    ACPI_RHCT_NODE_HEADER   *RhctHeader;
+    ACPI_RHCT_HART_INFO     *RhctHartInfo = NULL;
+    DT_SUBTABLE             *Subtable;
+    DT_SUBTABLE             *ParentTable;
+    ACPI_DMTABLE_INFO       *InfoTable;
+    DT_FIELD                **PFieldList = (DT_FIELD **) List;
+    DT_FIELD                *SubtableStart;
+
+
+    /* Compile the main table */
+
+    Status = DtCompileTable (PFieldList, AcpiDmTableInfoRhct,
+        &Subtable);
+    if (ACPI_FAILURE (Status))
+    {
+        return (Status);
+    }
+
+    ParentTable = DtPeekSubtable ();
+    while (*PFieldList)
+    {
+        SubtableStart = *PFieldList;
+
+        /* Compile RHCT subtable header */
+
+        Status = DtCompileTable (PFieldList, AcpiDmTableInfoRhctNodeHdr,
+            &Subtable);
+        if (ACPI_FAILURE (Status))
+        {
+            return (Status);
+        }
+        DtInsertSubtable (ParentTable, Subtable);
+        RhctHeader = ACPI_CAST_PTR (ACPI_RHCT_NODE_HEADER, Subtable->Buffer);
+        RhctHeader->Length = (UINT16)(Subtable->Length);
+
+        switch (RhctHeader->Type)
+        {
+        case ACPI_RHCT_NODE_TYPE_ISA_STRING:
+
+            InfoTable = AcpiDmTableInfoRhctIsa1;
+            break;
+
+        case ACPI_RHCT_NODE_TYPE_HART_INFO:
+
+            InfoTable = AcpiDmTableInfoRhctHartInfo1;
+            break;
+
+        default:
+
+            DtFatal (ASL_MSG_UNKNOWN_SUBTABLE, SubtableStart, "RHCT");
+            return (AE_ERROR);
+        }
+
+        /* Compile RHCT subtable body */
+
+        Status = DtCompileTable (PFieldList, InfoTable, &Subtable);
+        if (ACPI_FAILURE (Status))
+        {
+            return (Status);
+        }
+        DtInsertSubtable (ParentTable, Subtable);
+        RhctHeader->Length += (UINT16)(Subtable->Length);
+
+        /* Compile RHCT subtable additionals */
+
+        switch (RhctHeader->Type)
+        {
+        case ACPI_RHCT_NODE_TYPE_HART_INFO:
+
+            RhctHartInfo = ACPI_SUB_PTR (ACPI_RHCT_HART_INFO,
+                Subtable->Buffer, sizeof (ACPI_RHCT_NODE_HEADER));
+            if (RhctHartInfo)
+            {
+
+                RhctHartInfo->NumOffsets = 0;
+                while (*PFieldList)
+                {
+                    Status = DtCompileTable (PFieldList,
+                        AcpiDmTableInfoRhctHartInfo2, &Subtable);
+                    if (ACPI_FAILURE (Status))
+                    {
+                        return (Status);
+                    }
+                    if (!Subtable)
+                    {
+                        break;
+                    }
+
+                    DtInsertSubtable (ParentTable, Subtable);
+                    RhctHeader->Length += (UINT16)(Subtable->Length);
+                    RhctHartInfo->NumOffsets++;
+                }
+            }
+            break;
+
+        default:
+
+            break;
+        }
+    }
+
+    return (AE_OK);
+}
+
+
 /******************************************************************************
  *
  * FUNCTION:    DtCompileRsdt
diff --git a/src/acpica/source/compiler/dttemplate.c b/src/acpica/source/compiler/dttemplate.c
index 1bcc4a12..77edbc85 100644
--- a/src/acpica/source/compiler/dttemplate.c
+++ b/src/acpica/source/compiler/dttemplate.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/dttemplate.h b/src/acpica/source/compiler/dttemplate.h
index 3ab99978..755da402 100644
--- a/src/acpica/source/compiler/dttemplate.h
+++ b/src/acpica/source/compiler/dttemplate.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -301,6 +301,27 @@  const unsigned char TemplateAsf[] =
     0x01,0x00                                 /* 00000070    ".."       */
 };
 
+const unsigned char TemplateAspt[] =
+{
+    0x41,0x53,0x50,0x54,0x88,0x00,0x00,0x00,  /* 00000000    "ASPT...." */
+    0x01,0x2D,0x56,0x52,0x54,0x55,0x41,0x4C,  /* 00000008    "..VRTUAL" */
+    0x4D,0x49,0x43,0x52,0x4F,0x53,0x46,0x54,  /* 00000010    "MICROSFT" */
+    0x01,0x00,0x00,0x00,0x4D,0x53,0x46,0x54,  /* 00000018    "....INTL" */
+    0x01,0x00,0x00,0x00,0x03,0x00,0x00,0x00,  /* 00000020    " ." ...." */
+    0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,  /* 00000028    ".. ....." */
+    0x00,0x00,0xB0,0xFE,0x00,0x00,0x00,0x00,  /* 00000030    "........" */
+    0x04,0x00,0xB0,0xFE,0x00,0x00,0x00,0x00,  /* 00000038    "........" */
+    0x08,0x00,0xB0,0xFE,0x00,0x00,0x00,0x00,  /* 00000040    "........" */
+    0x01,0x00,0x20,0x00,0x01,0x00,0x00,0x00,  /* 00000048    ".. ....." */
+    0x10,0x00,0xB0,0xFE,0x00,0x00,0x00,0x00,  /* 00000050    "........" */
+    0x14,0x00,0xB0,0xFE,0x00,0x00,0x00,0x00,  /* 00000058    "........" */
+    0x18,0x00,0xB0,0xFE,0x00,0x00,0x00,0x00,  /* 00000060    "........" */
+    0x02,0x00,0x20,0x00,0x00,0x00,0x00,0x00,  /* 00000068    ".. ....." */
+    0x20,0x00,0xB0,0xFE,0x00,0x00,0x00,0x00,  /* 00000070    " ......." */
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  /* 00000078    "........" */
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  /* 00000080    "........" */
+};
+
 const unsigned char TemplateBdat[] =
 {
     0x42,0x44,0x41,0x54,0x30,0x00,0x00,0x00,  /* 00000000    "BDAT0..." */
@@ -1197,6 +1218,42 @@  const unsigned char TemplateMsdm[] =
     0x22,0x23,0x24,0x25                       /* 00000060    ""#$%"     */
 };
 
+const unsigned char TemplateMpam[] =
+{
+    0x4D,0x50,0x41,0x4D,0xFC,0x00,0x00,0x00,  /* 00000000    "MPAM...." */
+    0x02,0x34,0x48,0x49,0x53,0x49,0x20,0x20,  /* 00000008    ".4HISI  " */
+    0x54,0x45,0x4D,0x50,0x4C,0x41,0x54,0x45,  /* 00000010    "TEMPLATE" */
+    0x02,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C,  /* 00000018    "....INTL" */
+    0x20,0x10,0x22,0x20,0x60,0x00,0x00,0x00,  /* 00000020    " ." `..." */
+    0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,  /* 00000028    "........" */
+    0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,  /* 00000030    "........" */
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  /* 00000038    "........" */
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  /* 00000040    "........" */
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  /* 00000048    "........" */
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  /* 00000050    "........" */
+    0x32,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  /* 00000058    "2......." */
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  /* 00000060    "........" */
+    0x01,0x00,0x00,0x00,0x11,0x00,0x00,0x00,  /* 00000068    "........" */
+    0x00,0x00,0x00,0x01,0x20,0x00,0x00,0x00,  /* 00000070    ".... ..." */
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  /* 00000078    "........" */
+    0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x00,  /* 00000080    "....x..." */
+    0x02,0x00,0x00,0x00,0x00,0x00,0x00,0xD0,  /* 00000088    "........" */
+    0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,  /* 00000090    "........" */
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  /* 00000098    "........" */
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  /* 000000A0    "........" */
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  /* 000000A8    "........" */
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  /* 000000B0    "........" */
+    0x32,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  /* 000000B8    "2......." */
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  /* 000000C0    "........" */
+    0x02,0x00,0x00,0x00,0x12,0x00,0x00,0x00,  /* 000000C8    "........" */
+    0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,  /* 000000D0    "........" */
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  /* 000000D8    "........" */
+    0x00,0x00,0x00,0x00,0x13,0x00,0x00,0x00,  /* 000000E0    "........" */
+    0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,  /* 000000E8    "........" */
+    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,  /* 000000F0    "........" */
+    0x00,0x00,0x00,0x00                       /* 000000F8    "...."     */
+};
+
 const unsigned char TemplateMpst[] =
 {
     0x4D,0x50,0x53,0x54,0xB6,0x00,0x00,0x00,  /* 00000000    "MPST...." */
@@ -1659,6 +1716,26 @@  const unsigned char TemplateRgrt[] =
     0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27   /* 00000048    " !"#$%&'" */
 };
 
+const unsigned char TemplateRhct[] =
+{
+    0x52,0x48,0x43,0x54,0x7C,0x00,0x00,0x00,  /* 00000000    "RHCT|..." */
+    0x01,0x7D,0x4F,0x45,0x4D,0x43,0x41,0x00,  /* 00000008    "..OEMCA." */
+    0x54,0x45,0x4D,0x50,0x4C,0x41,0x54,0x45,  /* 00000010    "TEMPLATE" */
+    0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C,  /* 00000018    "....INTL" */
+    0x28,0x09,0x22,0x20,0x00,0x00,0x00,0x00,  /* 00000020    "... ...." */
+    0x80,0x96,0x98,0x00,0x00,0x00,0x00,0x00,  /* 00000028    "........" */
+    0x02,0x00,0x00,0x00,0x38,0x00,0x00,0x00,  /* 00000030    "....8..." */
+    0x00,0x00,0x34,0x00,0x01,0x00,0x2B,0x00,  /* 00000038    "..4...*." */
+    0x72,0x76,0x36,0x34,0x69,0x6D,0x61,0x66,  /* 00000040    "rv64imaf" */
+    0x64,0x63,0x68,0x5F,0x7A,0x69,0x63,0x73,  /* 00000048    "dch_zics" */
+    0x72,0x5F,0x7A,0x69,0x66,0x65,0x6E,0x63,  /* 00000050    "r_zifenc" */
+    0x65,0x69,0x5F,0x7A,0x62,0x61,0x5F,0x7A,  /* 00000058    "ei_zba_z" */
+    0x62,0x62,0x5F,0x7A,0x62,0x63,0x5F,0x7A,  /* 00000060    "bb_zbc_z" */
+    0x62,0x73,0x00,0x00,0xFF,0xFF,0x10,0x00,  /* 00000068    "bs......" */
+    0x01,0x00,0x01,0x00,0x00,0x00,0x00,0x00,  /* 00000070    "........" */
+    0x38,0x00,0x00,0x00                       /* 00000078    "........" */
+};
+
 const unsigned char TemplateRsdp[] =
 {
     0x52,0x53,0x44,0x20,0x50,0x54,0x52,0x20,  /* 00000000    "RSD PTR " */
diff --git a/src/acpica/source/compiler/dtutils.c b/src/acpica/source/compiler/dtutils.c
index 45bff3df..de321e58 100644
--- a/src/acpica/source/compiler/dtutils.c
+++ b/src/acpica/source/compiler/dtutils.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -584,6 +584,7 @@  DtGetFieldLength (
     case ACPI_DMT_IVRS_DE:
     case ACPI_DMT_GTDT:
     case ACPI_DMT_MADT:
+    case ACPI_DMT_MPAM_LOCATOR:
     case ACPI_DMT_NHLT1:
     case ACPI_DMT_NHLT1a:
     case ACPI_DMT_NHLT1b:
@@ -614,6 +615,7 @@  DtGetFieldLength (
         ByteLength = 1;
         break;
 
+    case ACPI_DMT_ASPT:
     case ACPI_DMT_UINT16:
     case ACPI_DMT_DMAR:
     case ACPI_DMT_HEST:
diff --git a/src/acpica/source/compiler/preprocess.h b/src/acpica/source/compiler/preprocess.h
index 9c25dd13..818eac26 100644
--- a/src/acpica/source/compiler/preprocess.h
+++ b/src/acpica/source/compiler/preprocess.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -249,6 +249,7 @@  typedef struct directive_info
  */
 PR_EXTERN char                  PR_INIT_GLOBAL (*AslGbl_MainTokenBuffer, NULL); /* [ASL_LINE_BUFFER_SIZE]; */
 PR_EXTERN char                  PR_INIT_GLOBAL (*AslGbl_MacroTokenBuffer, NULL); /* [ASL_LINE_BUFFER_SIZE]; */
+PR_EXTERN char                  PR_INIT_GLOBAL (*AslGbl_MacroTokenReplaceBuffer, NULL); /* [ASL_LINE_BUFFER_SIZE]; */
 PR_EXTERN char                  PR_INIT_GLOBAL (*AslGbl_ExpressionTokenBuffer, NULL); /* [ASL_LINE_BUFFER_SIZE]; */
 
 PR_EXTERN UINT32                AslGbl_PreprocessorLineNumber;
@@ -370,6 +371,14 @@  PrError (
     UINT32                  Column);
 
 void
+PrReplaceResizeSubstring(
+    PR_MACRO_ARG            *Args,
+    UINT32                  Diff1,
+    UINT32                  Diff2,
+    UINT32                  i,
+    char                    *Token);
+
+char *
 PrReplaceData (
     char                    *Buffer,
     UINT32                  LengthToRemove,
diff --git a/src/acpica/source/compiler/prexpress.c b/src/acpica/source/compiler/prexpress.c
index 8ac1fd88..88570685 100644
--- a/src/acpica/source/compiler/prexpress.c
+++ b/src/acpica/source/compiler/prexpress.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/prmacros.c b/src/acpica/source/compiler/prmacros.c
index 5b366978..6414867b 100644
--- a/src/acpica/source/compiler/prmacros.c
+++ b/src/acpica/source/compiler/prmacros.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -393,10 +393,10 @@  PrAddMacro (
     UINT16                  UseCount = 0;
     UINT16                  ArgCount = 0;
     UINT32                  Depth = 1;
+    /*UINT32                  Depth = 1;*/
     UINT32                  EndOfArgList;
     char                    BufferChar;
 
-
     /* Find the end of the arguments list */
 
     TokenOffset = Name - AslGbl_MainTokenBuffer + strlen (Name) + 1;
@@ -437,6 +437,7 @@  PrAddMacro (
     for (i = 0; i < PR_MAX_MACRO_ARGS; i++)
     {
         Token = PrGetNextToken (NULL, PR_MACRO_SEPARATORS, Next);
+
         if (!Token)
         {
             /* This is the case for a NULL macro body */
@@ -454,14 +455,13 @@  PrAddMacro (
         }
 
         DbgPrint (ASL_DEBUG_OUTPUT, PR_PREFIX_ID
-            "Macro arg: %s \n",
+            "Macro param: %s \n",
             AslGbl_CurrentLineNumber, Token);
 
         Args[i].Name = UtLocalCalloc (strlen (Token) + 1);
         strcpy (Args[i].Name, Token);
 
         Args[i].UseCount = 0;
-
         ArgCount++;
         if (ArgCount >= PR_MAX_MACRO_ARGS)
         {
@@ -476,7 +476,6 @@  PrAddMacro (
 
     /* Match each method arg in the macro body for later use */
 
-    Token = PrGetNextToken (NULL, PR_MACRO_SEPARATORS, Next);
     while (Token)
     {
         /* Search the macro arg list for matching arg */
@@ -496,12 +495,14 @@  PrAddMacro (
                 Args[i].Offset[UseCount] =
                     (Token - AslGbl_MainTokenBuffer) - MacroBodyOffset;
 
+
                 DbgPrint (ASL_DEBUG_OUTPUT, PR_PREFIX_ID
                     "Macro Arg #%u: %s UseCount %u Offset %u \n",
                     AslGbl_CurrentLineNumber, i, Token,
                     UseCount+1, Args[i].Offset[UseCount]);
 
                 Args[i].UseCount++;
+
                 if (Args[i].UseCount >= PR_MAX_ARG_INSTANCES)
                 {
                     PrError (ASL_ERROR, ASL_MSG_TOO_MANY_ARGUMENTS,
@@ -596,7 +597,8 @@  PrDoMacroInvocation (
     UINT32                  TokenOffset;
     UINT32                  Length;
     UINT32                  i;
-
+    UINT32                  Diff1;
+    UINT32                  Diff2;
 
     /* Take a copy of the macro body for expansion */
 
@@ -610,6 +612,7 @@  PrDoMacroInvocation (
         /* This macro has no arguments */
 
         Token = PrGetNextToken (NULL, PR_MACRO_ARGUMENTS, Next);
+
         if (!Token)
         {
             goto BadInvocation;
@@ -634,21 +637,35 @@  PrDoMacroInvocation (
             goto BadInvocation;
         }
 
+        /*
+         * Avoid optimizing using just 1 signed int due to specific
+         * non-portable implementations of signed ints
+         */
+        Diff1 = strlen (Args->Name) > strlen (Token) ? strlen (Args->Name) -
+            strlen (Token) : 0;
+
+        Diff2 = strlen (Args->Name) < strlen (Token) ? strlen (Token) -
+            strlen (Args->Name) : 0;
+
         /* Replace all instances of this argument */
 
         for (i = 0; i < Args->UseCount; i++)
         {
-            /* Offset zero indicates "arg not used" */
-            /* TBD: Not really needed now, with UseCount available */
+            /*
+             * To test the output of the preprocessed macro function that
+             * is passed to the compiler
+             */
 
-            if (Args->Offset[i] == 0)
-            {
-                break;
-            }
+             /*
+              * fprintf (stderr, "Current token = %s \t Current arg_name = %s \
+              * \t strlen (Token) = %u \t strlen (Args->Name) = %u \t Offset = %u \
+              * \t UseCount = %u \t", Token, Args->Name, strlen (Token), \
+              *     strlen (Args->Name), Args->Offset[i], Args->UseCount);
+              */
+
+            AslGbl_MacroTokenReplaceBuffer = (char *) calloc ((strlen (AslGbl_MacroTokenBuffer)), sizeof (char));
 
-            PrReplaceData (
-                &AslGbl_MacroTokenBuffer[Args->Offset[i]], strlen (Args->Name),
-                Token, strlen (Token));
+            PrReplaceResizeSubstring (Args, Diff1, Diff2, i, Token);
 
             DbgPrint (ASL_DEBUG_OUTPUT, PR_PREFIX_ID
                 "ExpandArg: %s \n",
@@ -658,8 +675,6 @@  PrDoMacroInvocation (
         Args++;
     }
 
-    /* TBD: need to make sure macro was not invoked with too many arguments */
-
     if (!Token)
     {
         return;
@@ -676,7 +691,6 @@  PrDoMacroInvocation (
 
     return;
 
-
 BadInvocation:
     PrError (ASL_ERROR, ASL_MSG_INVALID_INVOCATION,
         THIS_TOKEN_OFFSET (MacroStart));
diff --git a/src/acpica/source/compiler/prparser.l b/src/acpica/source/compiler/prparser.l
index 828d81b2..c701da4a 100644
--- a/src/acpica/source/compiler/prparser.l
+++ b/src/acpica/source/compiler/prparser.l
@@ -9,7 +9,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/prparser.y b/src/acpica/source/compiler/prparser.y
index 3854d989..2f4d0327 100644
--- a/src/acpica/source/compiler/prparser.y
+++ b/src/acpica/source/compiler/prparser.y
@@ -9,7 +9,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/compiler/prscan.c b/src/acpica/source/compiler/prscan.c
index 0d9af86e..d29f4e90 100644
--- a/src/acpica/source/compiler/prscan.c
+++ b/src/acpica/source/compiler/prscan.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -780,8 +780,9 @@  PrDoDirective (
         TokenOffset = Token - AslGbl_MainTokenBuffer + strlen (Token);
         if (*(&AslGbl_CurrentLineBuffer[TokenOffset]) == '(')
         {
-#ifndef MACROS_SUPPORTED
-            AcpiOsPrintf (
+
+#ifdef MACROS_SUPPORTED
+            AcpiOsPrintf(
                 "%s ERROR - line %u: #define macros are not supported yet\n",
                 AslGbl_CurrentLineBuffer, AslGbl_LogicalLineNumber);
             exit(1);
@@ -789,6 +790,8 @@  PrDoDirective (
             PrAddMacro (Token, Next);
 #endif
         }
+
+
         else
         {
             /* Use the remainder of the line for the #define */
diff --git a/src/acpica/source/compiler/prutils.c b/src/acpica/source/compiler/prutils.c
index eea42f89..2eb91a6c 100644
--- a/src/acpica/source/compiler/prutils.c
+++ b/src/acpica/source/compiler/prutils.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -282,6 +282,238 @@  PrError (
 }
 
 
+/*******************************************************************************
+ *
+ * FUNCTION:    PrReplaceResizeSubstring
+ *
+ * PARAMETERS:  Args                - Struct containing name, offset & usecount
+ *              Diff1               - Difference in lengths when new < old
+ *              Diff2               - Difference in lengths when new > old
+*               i                   - The curr. no. of iteration of replacement
+ *              Token               - Substring that replaces Args->Name
+ *
+ * RETURN:      None
+ *
+ * DESCRIPTION: Advanced substring replacement in a string using resized buffer.
+ *
+ ******************************************************************************/
+
+void
+PrReplaceResizeSubstring(
+    PR_MACRO_ARG            *Args,
+    UINT32                  Diff1,
+    UINT32                  Diff2,
+    UINT32                  i,
+    char                    *Token)
+{
+    UINT32                  b, PrevOffset;
+    char                    *temp;
+    char                    macro_sep[64];
+
+
+    AslGbl_MacroTokenReplaceBuffer = (char *) realloc (AslGbl_MacroTokenReplaceBuffer,
+        (2 * (strlen (AslGbl_MacroTokenBuffer))));
+
+    strcpy (macro_sep, "~,() {}!*/%+-<>=&^|\"\t\n");
+
+    /*
+     * When the replacement argument (during invocation) length
+     * < replaced parameter (in the macro function definition
+     * and its expansion) length
+     */
+    if (Diff1 != 0)
+    {
+        /*
+         * We save the offset value to reset it after replacing each
+         * instance of each arg and setting the offset value to
+         * the start of the arg to be replaced since it changes
+         * with each iteration when arg length != token length
+         */
+        PrevOffset = Args->Offset[i];
+        temp = strstr (AslGbl_MacroTokenBuffer, Args->Name);
+
+ResetHere1:
+        temp = strstr (temp, Args->Name);
+        Args->Offset[i] = strlen (AslGbl_MacroTokenBuffer) -
+            strlen (temp);
+        if (Args->Offset[i] == 0)
+        {
+            goto JumpHere1;
+        }
+        if ((strchr (macro_sep, AslGbl_MacroTokenBuffer[(Args->Offset[i] - 1)])) &&
+            (strchr (macro_sep, AslGbl_MacroTokenBuffer[(Args->Offset[i] + strlen (Args->Name))])))
+        {
+            Args->Offset[i] += 0;
+        }
+        else
+        {
+            temp += strlen (Args->Name);
+            goto ResetHere1;
+        }
+
+        /*
+         * For now, we simply set the extra char positions (generated
+         * due to longer name replaced by shorter name) to whitespace
+         * chars so it will be ignored during compilation
+         */
+JumpHere1:
+        b = strlen (Token) + Args->Offset[i];
+        memset (&AslGbl_MacroTokenBuffer[b], ' ', Diff1);
+
+# if 0
+
+    /* Work in progress as of 03/08/2023 - experimental 'if' block
+     * to test code for removing extra whitespaces from the macro
+     * replacement when replacement arg < replaced param
+     */
+        char Buff[8192];
+        /* char* Replace; */
+        /* Replace = Buff; */
+
+        for (j = 0; j < strlen (AslGbl_MacroTokenBuffer); j++)
+        {
+            Buff[j] = AslGbl_MacroTokenBuffer[j];
+        }
+        Buff[strlen (AslGbl_MacroTokenBuffer)] = '\0';
+        //fprintf (stderr, "Buff: %s\n", Buff);
+
+        UINT32 len = strlen (Buff);
+
+        for (j = 0; j < len; j++)
+        {
+            if (Buff[0] == ' ')
+            {
+                for (j = 0; j < (len - 1); j++)
+                {
+                    Buff[j] = Buff[j + 1];
+                }
+                Buff[j] = '\0';
+                len--;
+                j = -1;
+                continue;
+            }
+
+            if (Buff[j] == ' ' && Buff[j + 1] == ' ')
+            {
+                for (k = 0; k < (len - 1); k++)
+                {
+                    Buff[j] = Buff[j + 1];
+                }
+                Buff[j] = '\0';
+                len--;
+                j--;
+            }
+        }
+        //fprintf(stderr, "Buff: %s\n", Buff);
+
+        for (k = 0; k < strlen (Buff); k++)
+        {
+            AslGbl_MacroTokenBuffer[k] = Buff[k];
+        }
+#endif
+
+        PrReplaceData (
+            &AslGbl_MacroTokenBuffer[Args->Offset[i]],
+            strlen (Token), Token, strlen (Token));
+
+        temp = NULL;
+        Args->Offset[i] = PrevOffset;
+    }
+
+    /*
+     * When the replacement argument (during invocation) length
+     * > replaced parameter (in the macro function definition
+     * and its expansion) length
+     */
+    else if (Diff2 != 0)
+    {
+        /* Doing the same thing with offset value as for prev case */
+
+        PrevOffset = Args->Offset[i];
+        temp = strstr (AslGbl_MacroTokenBuffer, Args->Name);
+
+ResetHere2:
+        temp = strstr (temp, Args->Name);
+        Args->Offset[i] = strlen (AslGbl_MacroTokenBuffer) -
+            strlen (temp);
+        if (Args->Offset[i] == 0)
+        {
+            goto JumpHere2;
+        }
+        if ((strchr (macro_sep, AslGbl_MacroTokenBuffer[(Args->Offset[i] - 1)])) &&
+            (strchr (macro_sep, AslGbl_MacroTokenBuffer[(Args->Offset[i] + strlen (Args->Name))])))
+        {
+            Args->Offset[i] += 0;
+        }
+        else
+        {
+            temp+= strlen (Args->Name);
+            goto ResetHere2;
+        }
+
+        /*
+         * We will need to allocate some extra space in our buffer to
+         * accommodate the increase in the replacement string length
+         * over the shorter outgoing arg string and do the replacement
+         * at the correct offset value which is resetted every iteration
+         */
+JumpHere2:
+        strncpy (AslGbl_MacroTokenReplaceBuffer, AslGbl_MacroTokenBuffer, Args->Offset[i]);
+        strcat (AslGbl_MacroTokenReplaceBuffer, Token);
+        strcat (AslGbl_MacroTokenReplaceBuffer, (AslGbl_MacroTokenBuffer +
+            (Args->Offset[i] + strlen (Args->Name))));
+
+        strcpy (AslGbl_MacroTokenBuffer, AslGbl_MacroTokenReplaceBuffer);
+
+        temp = NULL;
+        Args->Offset[i] = PrevOffset;
+    }
+
+    /*
+     * When the replacement argument (during invocation) length =
+     * replaced parameter (in the macro function definition and
+     * its expansion) length
+     */
+    else
+    {
+
+        /*
+         * We still need to reset the offset for each iteration even when
+         * arg and param lengths are same since any macro func invocation
+         * could use various cases for each separate arg-param pair
+         */
+        PrevOffset = Args->Offset[i];
+        temp = strstr (AslGbl_MacroTokenBuffer, Args->Name);
+
+ResetHere3:
+        temp = strstr (temp, Args->Name);
+        Args->Offset[i] = strlen (AslGbl_MacroTokenBuffer) -
+            strlen (temp);
+        if (Args->Offset[i] == 0)
+        {
+            goto JumpHere3;
+        }
+        if ((strchr (macro_sep, AslGbl_MacroTokenBuffer[(Args->Offset[i] - 1)])) &&
+            (strchr (macro_sep, AslGbl_MacroTokenBuffer[(Args->Offset[i] + strlen (Args->Name))])))
+        {
+            Args->Offset[i] += 0;
+        }
+        else
+        {
+            temp += strlen (Args->Name);
+            goto ResetHere3;
+        }
+
+JumpHere3:
+        PrReplaceData (
+            &AslGbl_MacroTokenBuffer[Args->Offset[i]],
+            strlen (Args->Name), Token, strlen (Token));
+        temp = NULL;
+        Args->Offset[i] = PrevOffset;
+    }
+}
+
+
 /*******************************************************************************
  *
  * FUNCTION:    PrReplaceData
@@ -291,13 +523,13 @@  PrError (
  *              BufferToAdd         - Data to be inserted into target buffer
  *              LengthToAdd         - Length of BufferToAdd
  *
- * RETURN:      None
+ * RETURN:      Pointer to where the buffer is replaced with data
  *
  * DESCRIPTION: Generic buffer data replacement.
  *
  ******************************************************************************/
 
-void
+char *
 PrReplaceData (
     char                    *Buffer,
     UINT32                  LengthToRemove,
@@ -325,12 +557,14 @@  PrReplaceData (
         }
     }
 
+
     /* Now we can move in the new data */
 
     if (LengthToAdd > 0)
     {
         memmove (Buffer, BufferToAdd, LengthToAdd);
     }
+    return (Buffer + LengthToAdd);
 }
 
 
diff --git a/src/acpica/source/components/debugger/dbcmds.c b/src/acpica/source/components/debugger/dbcmds.c
index 6f551476..b8c2b422 100644
--- a/src/acpica/source/components/debugger/dbcmds.c
+++ b/src/acpica/source/components/debugger/dbcmds.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/debugger/dbconvert.c b/src/acpica/source/components/debugger/dbconvert.c
index 9d1e1ddd..0b852261 100644
--- a/src/acpica/source/components/debugger/dbconvert.c
+++ b/src/acpica/source/components/debugger/dbconvert.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/debugger/dbdisply.c b/src/acpica/source/components/debugger/dbdisply.c
index 276217f5..ad69737f 100644
--- a/src/acpica/source/components/debugger/dbdisply.c
+++ b/src/acpica/source/components/debugger/dbdisply.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/debugger/dbexec.c b/src/acpica/source/components/debugger/dbexec.c
index eed0aa35..73759c88 100644
--- a/src/acpica/source/components/debugger/dbexec.c
+++ b/src/acpica/source/components/debugger/dbexec.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/debugger/dbfileio.c b/src/acpica/source/components/debugger/dbfileio.c
index 09f8f227..8fc11da8 100644
--- a/src/acpica/source/components/debugger/dbfileio.c
+++ b/src/acpica/source/components/debugger/dbfileio.c
@@ -9,7 +9,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/debugger/dbhistry.c b/src/acpica/source/components/debugger/dbhistry.c
index 31bfc3c5..ecdfaeba 100644
--- a/src/acpica/source/components/debugger/dbhistry.c
+++ b/src/acpica/source/components/debugger/dbhistry.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/debugger/dbinput.c b/src/acpica/source/components/debugger/dbinput.c
index 0f21b731..5e5c6289 100644
--- a/src/acpica/source/components/debugger/dbinput.c
+++ b/src/acpica/source/components/debugger/dbinput.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/debugger/dbmethod.c b/src/acpica/source/components/debugger/dbmethod.c
index 82202e8e..5060bf6d 100644
--- a/src/acpica/source/components/debugger/dbmethod.c
+++ b/src/acpica/source/components/debugger/dbmethod.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/debugger/dbnames.c b/src/acpica/source/components/debugger/dbnames.c
index 963f8125..040fed24 100644
--- a/src/acpica/source/components/debugger/dbnames.c
+++ b/src/acpica/source/components/debugger/dbnames.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -884,6 +884,9 @@  AcpiDbDisplayObjects (
     {
         ObjectInfo = ACPI_ALLOCATE_ZEROED (sizeof (ACPI_OBJECT_INFO));
 
+        if (!ObjectInfo)
+                return (AE_NO_MEMORY);
+
         /* Walk the namespace from the root */
 
         (void) AcpiWalkNamespace (ACPI_TYPE_ANY, ACPI_ROOT_OBJECT,
diff --git a/src/acpica/source/components/debugger/dbobject.c b/src/acpica/source/components/debugger/dbobject.c
index b8bade43..fe38be90 100644
--- a/src/acpica/source/components/debugger/dbobject.c
+++ b/src/acpica/source/components/debugger/dbobject.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/debugger/dbstats.c b/src/acpica/source/components/debugger/dbstats.c
index 30a686dc..a30d9948 100644
--- a/src/acpica/source/components/debugger/dbstats.c
+++ b/src/acpica/source/components/debugger/dbstats.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/debugger/dbtest.c b/src/acpica/source/components/debugger/dbtest.c
index 23690ed6..a4d48c7a 100644
--- a/src/acpica/source/components/debugger/dbtest.c
+++ b/src/acpica/source/components/debugger/dbtest.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/debugger/dbutils.c b/src/acpica/source/components/debugger/dbutils.c
index ef649b2c..70664ee2 100644
--- a/src/acpica/source/components/debugger/dbutils.c
+++ b/src/acpica/source/components/debugger/dbutils.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/debugger/dbxface.c b/src/acpica/source/components/debugger/dbxface.c
index c44e1d0d..667e90e5 100644
--- a/src/acpica/source/components/debugger/dbxface.c
+++ b/src/acpica/source/components/debugger/dbxface.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/disassembler/dmbuffer.c b/src/acpica/source/components/disassembler/dmbuffer.c
index d5d813c8..79f5a3cc 100644
--- a/src/acpica/source/components/disassembler/dmbuffer.c
+++ b/src/acpica/source/components/disassembler/dmbuffer.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/disassembler/dmcstyle.c b/src/acpica/source/components/disassembler/dmcstyle.c
index f0bef68e..0af72d1e 100644
--- a/src/acpica/source/components/disassembler/dmcstyle.c
+++ b/src/acpica/source/components/disassembler/dmcstyle.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/disassembler/dmdeferred.c b/src/acpica/source/components/disassembler/dmdeferred.c
index 82ce2bec..3a1ca550 100644
--- a/src/acpica/source/components/disassembler/dmdeferred.c
+++ b/src/acpica/source/components/disassembler/dmdeferred.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/disassembler/dmnames.c b/src/acpica/source/components/disassembler/dmnames.c
index 8852921f..356af85f 100644
--- a/src/acpica/source/components/disassembler/dmnames.c
+++ b/src/acpica/source/components/disassembler/dmnames.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/disassembler/dmopcode.c b/src/acpica/source/components/disassembler/dmopcode.c
index 1cfe710d..8f201d21 100644
--- a/src/acpica/source/components/disassembler/dmopcode.c
+++ b/src/acpica/source/components/disassembler/dmopcode.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/disassembler/dmresrc.c b/src/acpica/source/components/disassembler/dmresrc.c
index 0a183e9c..644c8a99 100644
--- a/src/acpica/source/components/disassembler/dmresrc.c
+++ b/src/acpica/source/components/disassembler/dmresrc.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -203,6 +203,7 @@  static ACPI_RESOURCE_HANDLER    AcpiGbl_DmResourceDispatch [] =
     AcpiDmPinGroupDescriptor,       /* 0x10, ACPI_RESOURCE_NAME_PIN_GROUP */
     AcpiDmPinGroupFunctionDescriptor, /* 0x11, ACPI_RESOURCE_NAME_PIN_GROUP_FUNCTION */
     AcpiDmPinGroupConfigDescriptor, /* 0x12, ACPI_RESOURCE_NAME_PIN_GROUP_CONFIG */
+    AcpiDmClockInputDescriptor,     /* 0x13, ACPI_RESOURCE_NAME_CLOCK_INPUT */
 };
 
 
diff --git a/src/acpica/source/components/disassembler/dmresrcl.c b/src/acpica/source/components/disassembler/dmresrcl.c
index 9aa6ac1f..88d19036 100644
--- a/src/acpica/source/components/disassembler/dmresrcl.c
+++ b/src/acpica/source/components/disassembler/dmresrcl.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -1112,7 +1112,7 @@  AcpiDmInterruptDescriptor (
     {
         AcpiDmIndent (Level + 1);
         AcpiOsPrintf ("0x%8.8X,\n",
-            (UINT32) Resource->ExtendedIrq.Interrupts[i]);
+            (UINT32) Resource->ExtendedIrq.u.Interrupts[i]);
     }
 
     AcpiDmIndent (Level);
diff --git a/src/acpica/source/components/disassembler/dmresrcl2.c b/src/acpica/source/components/disassembler/dmresrcl2.c
index 59d00f6c..1d732e21 100644
--- a/src/acpica/source/components/disassembler/dmresrcl2.c
+++ b/src/acpica/source/components/disassembler/dmresrcl2.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -523,6 +523,46 @@  AcpiDmGpioDescriptor (
     }
 }
 
+void
+AcpiDmClockInputDescriptor (
+    ACPI_OP_WALK_INFO       *Info,
+    AML_RESOURCE            *Resource,
+    UINT32                  Length,
+    UINT32                  Level)
+{
+    char                    *DeviceName = NULL;
+    UINT8                   *ResourceIndex = NULL;
+    AcpiDmIndent (Level);
+
+    AcpiOsPrintf ("ClockInput (");
+
+    AcpiOsPrintf ("0x%8.8X, ", Resource->ClockInput.FrequencyNumerator);
+
+    AcpiOsPrintf ("0x%4.4X, ", Resource->ClockInput.FrequencyDivisor);
+
+    AcpiOsPrintf ("%s, ",
+        AcpiGbl_ClockInputScale [ACPI_EXTRACT_2BIT_FLAG (Resource->ClockInput.Flags, 1)]);
+
+    AcpiOsPrintf ("%s, ",
+        AcpiGbl_ClockInputMode [ACPI_GET_1BIT_FLAG (Resource->ClockInput.Flags)]);
+
+    if (Length > sizeof(Resource->ClockInput))
+    {
+        DeviceName = ACPI_ADD_PTR (char,
+            Resource, sizeof(Resource->ClockInput)+1),
+        AcpiUtPrintString (DeviceName, ACPI_UINT16_MAX);
+
+        AcpiOsPrintf (", ");
+        ResourceIndex = ACPI_ADD_PTR (UINT8,
+            Resource, sizeof(Resource->ClockInput)),
+
+        AcpiOsPrintf ("0x%2.2X", *ResourceIndex);
+    }
+
+    AcpiOsPrintf (")\n");
+
+}
+
 /*******************************************************************************
  *
  * FUNCTION:    AcpiDmPinFunctionDescriptor
diff --git a/src/acpica/source/components/disassembler/dmresrcs.c b/src/acpica/source/components/disassembler/dmresrcs.c
index db5ce5db..35883625 100644
--- a/src/acpica/source/components/disassembler/dmresrcs.c
+++ b/src/acpica/source/components/disassembler/dmresrcs.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/disassembler/dmutils.c b/src/acpica/source/components/disassembler/dmutils.c
index 2a7b7b33..b6c133f5 100644
--- a/src/acpica/source/components/disassembler/dmutils.c
+++ b/src/acpica/source/components/disassembler/dmutils.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/disassembler/dmwalk.c b/src/acpica/source/components/disassembler/dmwalk.c
index 7d2429b7..beaa5f0a 100644
--- a/src/acpica/source/components/disassembler/dmwalk.c
+++ b/src/acpica/source/components/disassembler/dmwalk.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/dispatcher/dsargs.c b/src/acpica/source/components/dispatcher/dsargs.c
index 52246693..6b9e4a35 100644
--- a/src/acpica/source/components/dispatcher/dsargs.c
+++ b/src/acpica/source/components/dispatcher/dsargs.c
@@ -9,7 +9,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/dispatcher/dscontrol.c b/src/acpica/source/components/dispatcher/dscontrol.c
index 1d7d676c..205b9b55 100644
--- a/src/acpica/source/components/dispatcher/dscontrol.c
+++ b/src/acpica/source/components/dispatcher/dscontrol.c
@@ -9,7 +9,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/dispatcher/dsdebug.c b/src/acpica/source/components/dispatcher/dsdebug.c
index 9111a215..06f7ec81 100644
--- a/src/acpica/source/components/dispatcher/dsdebug.c
+++ b/src/acpica/source/components/dispatcher/dsdebug.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/dispatcher/dsfield.c b/src/acpica/source/components/dispatcher/dsfield.c
index 2d3851ff..37cc25a9 100644
--- a/src/acpica/source/components/dispatcher/dsfield.c
+++ b/src/acpica/source/components/dispatcher/dsfield.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/dispatcher/dsinit.c b/src/acpica/source/components/dispatcher/dsinit.c
index 5f941f0c..79e55719 100644
--- a/src/acpica/source/components/dispatcher/dsinit.c
+++ b/src/acpica/source/components/dispatcher/dsinit.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/dispatcher/dsmethod.c b/src/acpica/source/components/dispatcher/dsmethod.c
index d5fc3038..02d9c6be 100644
--- a/src/acpica/source/components/dispatcher/dsmethod.c
+++ b/src/acpica/source/components/dispatcher/dsmethod.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -705,7 +705,7 @@  AcpiDsCallControlMethod (
     if (!Info)
     {
         Status = AE_NO_MEMORY;
-        goto Cleanup;
+        goto PopWalkState;
     }
 
     Info->Parameters = &ThisWalkState->Operands[0];
@@ -717,7 +717,7 @@  AcpiDsCallControlMethod (
     ACPI_FREE (Info);
     if (ACPI_FAILURE (Status))
     {
-        goto Cleanup;
+        goto PopWalkState;
     }
 
     NextWalkState->MethodNestingDepth = ThisWalkState->MethodNestingDepth + 1;
@@ -764,6 +764,12 @@  AcpiDsCallControlMethod (
     return_ACPI_STATUS (Status);
 
 
+PopWalkState:
+
+    /* On error, pop the walk state to be deleted from thread */
+
+    AcpiDsPopWalkState(Thread);
+
 Cleanup:
 
     /* On error, we must terminate the method properly */
diff --git a/src/acpica/source/components/dispatcher/dsmthdat.c b/src/acpica/source/components/dispatcher/dsmthdat.c
index af156790..1461af5d 100644
--- a/src/acpica/source/components/dispatcher/dsmthdat.c
+++ b/src/acpica/source/components/dispatcher/dsmthdat.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/dispatcher/dsobject.c b/src/acpica/source/components/dispatcher/dsobject.c
index 5ffd198b..147edc29 100644
--- a/src/acpica/source/components/dispatcher/dsobject.c
+++ b/src/acpica/source/components/dispatcher/dsobject.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/dispatcher/dsopcode.c b/src/acpica/source/components/dispatcher/dsopcode.c
index 190be1b3..7689df63 100644
--- a/src/acpica/source/components/dispatcher/dsopcode.c
+++ b/src/acpica/source/components/dispatcher/dsopcode.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/dispatcher/dspkginit.c b/src/acpica/source/components/dispatcher/dspkginit.c
index bd2bf2e3..a159d769 100644
--- a/src/acpica/source/components/dispatcher/dspkginit.c
+++ b/src/acpica/source/components/dispatcher/dspkginit.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/dispatcher/dsutils.c b/src/acpica/source/components/dispatcher/dsutils.c
index b159b34c..059e0559 100644
--- a/src/acpica/source/components/dispatcher/dsutils.c
+++ b/src/acpica/source/components/dispatcher/dsutils.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/dispatcher/dswexec.c b/src/acpica/source/components/dispatcher/dswexec.c
index 686f03c8..5ae0ad71 100644
--- a/src/acpica/source/components/dispatcher/dswexec.c
+++ b/src/acpica/source/components/dispatcher/dswexec.c
@@ -9,7 +9,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -569,9 +569,11 @@  AcpiDsExecEndOp (
 
         /*
          * All opcodes require operand resolution, with the only exceptions
-         * being the ObjectType and SizeOf operators.
+         * being the ObjectType and SizeOf operators as well as opcodes that
+         * take no arguments.
          */
-        if (!(WalkState->OpInfo->Flags & AML_NO_OPERAND_RESOLVE))
+        if (!(WalkState->OpInfo->Flags & AML_NO_OPERAND_RESOLVE) &&
+            (WalkState->OpInfo->Flags & AML_HAS_ARGS))
         {
             /* Resolve all operands */
 
diff --git a/src/acpica/source/components/dispatcher/dswload.c b/src/acpica/source/components/dispatcher/dswload.c
index 4fdf955a..74071c2e 100644
--- a/src/acpica/source/components/dispatcher/dswload.c
+++ b/src/acpica/source/components/dispatcher/dswload.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/dispatcher/dswload2.c b/src/acpica/source/components/dispatcher/dswload2.c
index 496ee91f..c48b555a 100644
--- a/src/acpica/source/components/dispatcher/dswload2.c
+++ b/src/acpica/source/components/dispatcher/dswload2.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/dispatcher/dswscope.c b/src/acpica/source/components/dispatcher/dswscope.c
index dad0c497..bce120c1 100644
--- a/src/acpica/source/components/dispatcher/dswscope.c
+++ b/src/acpica/source/components/dispatcher/dswscope.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/dispatcher/dswstate.c b/src/acpica/source/components/dispatcher/dswstate.c
index 68b7f3d1..cc648e3a 100644
--- a/src/acpica/source/components/dispatcher/dswstate.c
+++ b/src/acpica/source/components/dispatcher/dswstate.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -785,9 +785,14 @@  AcpiDsInitAmlWalk (
 
 
     WalkState->ParserState.Aml =
-    WalkState->ParserState.AmlStart = AmlStart;
+    WalkState->ParserState.AmlStart =
     WalkState->ParserState.AmlEnd =
-    WalkState->ParserState.PkgEnd = AmlStart + AmlLength;
+    WalkState->ParserState.PkgEnd = AmlStart;
+    /* Avoid undefined behavior: applying zero offset to null pointer */
+    if (AmlLength != 0) {
+      WalkState->ParserState.AmlEnd += AmlLength;
+      WalkState->ParserState.PkgEnd += AmlLength;
+    }
 
     /* The NextOp of the NextWalk will be the beginning of the method */
 
diff --git a/src/acpica/source/components/events/evevent.c b/src/acpica/source/components/events/evevent.c
index b92646a4..913cbd14 100644
--- a/src/acpica/source/components/events/evevent.c
+++ b/src/acpica/source/components/events/evevent.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -438,7 +438,7 @@  AcpiEvFixedEventDispatch (
         (void) AcpiWriteBitRegister (
             AcpiGbl_FixedEventInfo[Event].EnableRegisterId,
             (Event == ACPI_EVENT_PCIE_WAKE) ?
-	    ACPI_ENABLE_EVENT : ACPI_DISABLE_EVENT);
+            ACPI_ENABLE_EVENT : ACPI_DISABLE_EVENT);
 
         ACPI_ERROR ((AE_INFO,
             "No installed handler for fixed event - %s (%u), disabling",
diff --git a/src/acpica/source/components/events/evglock.c b/src/acpica/source/components/events/evglock.c
index 79b519a0..5992671b 100644
--- a/src/acpica/source/components/events/evglock.c
+++ b/src/acpica/source/components/events/evglock.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/events/evgpe.c b/src/acpica/source/components/events/evgpe.c
index b246567d..d7dcc3ea 100644
--- a/src/acpica/source/components/events/evgpe.c
+++ b/src/acpica/source/components/events/evgpe.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/events/evgpeblk.c b/src/acpica/source/components/events/evgpeblk.c
index 4dac205e..7317f6e0 100644
--- a/src/acpica/source/components/events/evgpeblk.c
+++ b/src/acpica/source/components/events/evgpeblk.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/events/evgpeinit.c b/src/acpica/source/components/events/evgpeinit.c
index 6f0472cf..adbe86eb 100644
--- a/src/acpica/source/components/events/evgpeinit.c
+++ b/src/acpica/source/components/events/evgpeinit.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/events/evgpeutil.c b/src/acpica/source/components/events/evgpeutil.c
index 1f66717d..23f6369f 100644
--- a/src/acpica/source/components/events/evgpeutil.c
+++ b/src/acpica/source/components/events/evgpeutil.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/events/evhandler.c b/src/acpica/source/components/events/evhandler.c
index e0859c30..47393a7d 100644
--- a/src/acpica/source/components/events/evhandler.c
+++ b/src/acpica/source/components/events/evhandler.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/events/evmisc.c b/src/acpica/source/components/events/evmisc.c
index b6c6eb6a..40548b50 100644
--- a/src/acpica/source/components/events/evmisc.c
+++ b/src/acpica/source/components/events/evmisc.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/events/evregion.c b/src/acpica/source/components/events/evregion.c
index fb0cc436..73db629f 100644
--- a/src/acpica/source/components/events/evregion.c
+++ b/src/acpica/source/components/events/evregion.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/events/evrgnini.c b/src/acpica/source/components/events/evrgnini.c
index 7cbbe30c..6d329cb2 100644
--- a/src/acpica/source/components/events/evrgnini.c
+++ b/src/acpica/source/components/events/evrgnini.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/events/evsci.c b/src/acpica/source/components/events/evsci.c
index 26891925..bb850e4d 100644
--- a/src/acpica/source/components/events/evsci.c
+++ b/src/acpica/source/components/events/evsci.c
@@ -9,7 +9,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/events/evxface.c b/src/acpica/source/components/events/evxface.c
index 245ca8a4..ef2fbcc4 100644
--- a/src/acpica/source/components/events/evxface.c
+++ b/src/acpica/source/components/events/evxface.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/events/evxfevnt.c b/src/acpica/source/components/events/evxfevnt.c
index 3384e098..2b95395d 100644
--- a/src/acpica/source/components/events/evxfevnt.c
+++ b/src/acpica/source/components/events/evxfevnt.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/events/evxfgpe.c b/src/acpica/source/components/events/evxfgpe.c
index 87dab0f8..fe354d21 100644
--- a/src/acpica/source/components/events/evxfgpe.c
+++ b/src/acpica/source/components/events/evxfgpe.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/events/evxfregn.c b/src/acpica/source/components/events/evxfregn.c
index ee44e10d..00fe8620 100644
--- a/src/acpica/source/components/events/evxfregn.c
+++ b/src/acpica/source/components/events/evxfregn.c
@@ -9,7 +9,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -163,13 +163,14 @@ 
 
 /*******************************************************************************
  *
- * FUNCTION:    AcpiInstallAddressSpaceHandler
+ * FUNCTION:    AcpiInstallAddressSpaceHandlerInternal
  *
  * PARAMETERS:  Device          - Handle for the device
  *              SpaceId         - The address space ID
  *              Handler         - Address of the handler
  *              Setup           - Address of the setup function
  *              Context         - Value passed to the handler on each access
+ *              Run_Reg         - Run _REG methods for this address space?
  *
  * RETURN:      Status
  *
@@ -180,16 +181,19 @@ 
  * are executed here, and these methods can only be safely executed after
  * the default handlers have been installed and the hardware has been
  * initialized (via AcpiEnableSubsystem.)
+ * To avoid this problem pass FALSE for Run_Reg and later on call
+ * AcpiExecuteRegMethods() to execute _REG.
  *
  ******************************************************************************/
 
-ACPI_STATUS
-AcpiInstallAddressSpaceHandler (
+static ACPI_STATUS
+AcpiInstallAddressSpaceHandlerInternal (
     ACPI_HANDLE             Device,
     ACPI_ADR_SPACE_TYPE     SpaceId,
     ACPI_ADR_SPACE_HANDLER  Handler,
     ACPI_ADR_SPACE_SETUP    Setup,
-    void                    *Context)
+    void                    *Context,
+    BOOLEAN                 Run_Reg)
 {
     ACPI_NAMESPACE_NODE     *Node;
     ACPI_STATUS             Status;
@@ -231,16 +235,42 @@  AcpiInstallAddressSpaceHandler (
 
     /* Run all _REG methods for this address space */
 
-    AcpiEvExecuteRegMethods (Node, SpaceId, ACPI_REG_CONNECT);
-
+    if (Run_Reg)
+    {
+        AcpiEvExecuteRegMethods (Node, SpaceId, ACPI_REG_CONNECT);
+    }
 
 UnlockAndExit:
     (void) AcpiUtReleaseMutex (ACPI_MTX_NAMESPACE);
     return_ACPI_STATUS (Status);
 }
 
+ACPI_STATUS
+AcpiInstallAddressSpaceHandler (
+    ACPI_HANDLE             Device,
+    ACPI_ADR_SPACE_TYPE     SpaceId,
+    ACPI_ADR_SPACE_HANDLER  Handler,
+    ACPI_ADR_SPACE_SETUP    Setup,
+    void                    *Context)
+{
+    return AcpiInstallAddressSpaceHandlerInternal (Device, SpaceId, Handler, Setup, Context, TRUE);
+}
+
 ACPI_EXPORT_SYMBOL (AcpiInstallAddressSpaceHandler)
 
+ACPI_STATUS
+AcpiInstallAddressSpaceHandlerNo_Reg (
+    ACPI_HANDLE             Device,
+    ACPI_ADR_SPACE_TYPE     SpaceId,
+    ACPI_ADR_SPACE_HANDLER  Handler,
+    ACPI_ADR_SPACE_SETUP    Setup,
+    void                    *Context)
+{
+    return AcpiInstallAddressSpaceHandlerInternal (Device, SpaceId, Handler, Setup, Context, FALSE);
+}
+
+ACPI_EXPORT_SYMBOL (AcpiInstallAddressSpaceHandlerNo_Reg)
+
 
 /*******************************************************************************
  *
@@ -387,3 +417,62 @@  UnlockAndExit:
 }
 
 ACPI_EXPORT_SYMBOL (AcpiRemoveAddressSpaceHandler)
+
+
+/*******************************************************************************
+ *
+ * FUNCTION:    AcpiExecuteRegMethods
+ *
+ * PARAMETERS:  Device          - Handle for the device
+ *              SpaceId         - The address space ID
+ *
+ * RETURN:      Status
+ *
+ * DESCRIPTION: Execute _REG for all OpRegions of a given SpaceId.
+ *
+ ******************************************************************************/
+
+ACPI_STATUS
+AcpiExecuteRegMethods (
+    ACPI_HANDLE             Device,
+    ACPI_ADR_SPACE_TYPE     SpaceId)
+{
+    ACPI_NAMESPACE_NODE     *Node;
+    ACPI_STATUS             Status;
+
+
+    ACPI_FUNCTION_TRACE (AcpiExecuteRegMethods);
+
+
+    /* Parameter validation */
+
+    if (!Device)
+    {
+        return_ACPI_STATUS (AE_BAD_PARAMETER);
+    }
+
+    Status = AcpiUtAcquireMutex (ACPI_MTX_NAMESPACE);
+    if (ACPI_FAILURE (Status))
+    {
+        return_ACPI_STATUS (Status);
+    }
+
+    /* Convert and validate the device handle */
+
+    Node = AcpiNsValidateHandle (Device);
+    if (Node)
+    {
+        /* Run all _REG methods for this address space */
+
+        AcpiEvExecuteRegMethods (Node, SpaceId, ACPI_REG_CONNECT);
+    }
+    else
+    {
+        Status = AE_BAD_PARAMETER;
+    }
+
+    (void) AcpiUtReleaseMutex (ACPI_MTX_NAMESPACE);
+    return_ACPI_STATUS (Status);
+}
+
+ACPI_EXPORT_SYMBOL (AcpiExecuteRegMethods)
diff --git a/src/acpica/source/components/executer/exconcat.c b/src/acpica/source/components/executer/exconcat.c
index 335d78f1..f504bc0c 100644
--- a/src/acpica/source/components/executer/exconcat.c
+++ b/src/acpica/source/components/executer/exconcat.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/executer/exconfig.c b/src/acpica/source/components/executer/exconfig.c
index 11c8ba64..ae95a920 100644
--- a/src/acpica/source/components/executer/exconfig.c
+++ b/src/acpica/source/components/executer/exconfig.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/executer/exconvrt.c b/src/acpica/source/components/executer/exconvrt.c
index c9572e90..3382b520 100644
--- a/src/acpica/source/components/executer/exconvrt.c
+++ b/src/acpica/source/components/executer/exconvrt.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/executer/excreate.c b/src/acpica/source/components/executer/excreate.c
index e8381081..56355726 100644
--- a/src/acpica/source/components/executer/excreate.c
+++ b/src/acpica/source/components/executer/excreate.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/executer/exdebug.c b/src/acpica/source/components/executer/exdebug.c
index 88f75966..5ccfccdb 100644
--- a/src/acpica/source/components/executer/exdebug.c
+++ b/src/acpica/source/components/executer/exdebug.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/executer/exdump.c b/src/acpica/source/components/executer/exdump.c
index e72ac01f..7a2c4a81 100644
--- a/src/acpica/source/components/executer/exdump.c
+++ b/src/acpica/source/components/executer/exdump.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/executer/exfield.c b/src/acpica/source/components/executer/exfield.c
index 4175b8ee..f7d09206 100644
--- a/src/acpica/source/components/executer/exfield.c
+++ b/src/acpica/source/components/executer/exfield.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/executer/exfldio.c b/src/acpica/source/components/executer/exfldio.c
index 30d17c19..c29cd0e8 100644
--- a/src/acpica/source/components/executer/exfldio.c
+++ b/src/acpica/source/components/executer/exfldio.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/executer/exmisc.c b/src/acpica/source/components/executer/exmisc.c
index 4a1e2ff2..9b6608ba 100644
--- a/src/acpica/source/components/executer/exmisc.c
+++ b/src/acpica/source/components/executer/exmisc.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/executer/exmutex.c b/src/acpica/source/components/executer/exmutex.c
index 8b335680..3abac6a8 100644
--- a/src/acpica/source/components/executer/exmutex.c
+++ b/src/acpica/source/components/executer/exmutex.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/executer/exnames.c b/src/acpica/source/components/executer/exnames.c
index 6045bc6b..af68c82f 100644
--- a/src/acpica/source/components/executer/exnames.c
+++ b/src/acpica/source/components/executer/exnames.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/executer/exoparg1.c b/src/acpica/source/components/executer/exoparg1.c
index 2d9bbddf..82250ff6 100644
--- a/src/acpica/source/components/executer/exoparg1.c
+++ b/src/acpica/source/components/executer/exoparg1.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/executer/exoparg2.c b/src/acpica/source/components/executer/exoparg2.c
index 8b63d615..29d9dc7e 100644
--- a/src/acpica/source/components/executer/exoparg2.c
+++ b/src/acpica/source/components/executer/exoparg2.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/executer/exoparg3.c b/src/acpica/source/components/executer/exoparg3.c
index 7b74d32e..a22b7257 100644
--- a/src/acpica/source/components/executer/exoparg3.c
+++ b/src/acpica/source/components/executer/exoparg3.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/executer/exoparg6.c b/src/acpica/source/components/executer/exoparg6.c
index 5506b2c1..ad69405e 100644
--- a/src/acpica/source/components/executer/exoparg6.c
+++ b/src/acpica/source/components/executer/exoparg6.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/executer/exprep.c b/src/acpica/source/components/executer/exprep.c
index 6d239d7a..678ee8a1 100644
--- a/src/acpica/source/components/executer/exprep.c
+++ b/src/acpica/source/components/executer/exprep.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/executer/exregion.c b/src/acpica/source/components/executer/exregion.c
index 01d49065..858d31fe 100644
--- a/src/acpica/source/components/executer/exregion.c
+++ b/src/acpica/source/components/executer/exregion.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/executer/exresnte.c b/src/acpica/source/components/executer/exresnte.c
index 6801b25b..b5dc24c6 100644
--- a/src/acpica/source/components/executer/exresnte.c
+++ b/src/acpica/source/components/executer/exresnte.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/executer/exresolv.c b/src/acpica/source/components/executer/exresolv.c
index af5202ab..460c6d77 100644
--- a/src/acpica/source/components/executer/exresolv.c
+++ b/src/acpica/source/components/executer/exresolv.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/executer/exresop.c b/src/acpica/source/components/executer/exresop.c
index 4abe9376..f4734d89 100644
--- a/src/acpica/source/components/executer/exresop.c
+++ b/src/acpica/source/components/executer/exresop.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/executer/exserial.c b/src/acpica/source/components/executer/exserial.c
index c92a895a..6d57e376 100644
--- a/src/acpica/source/components/executer/exserial.c
+++ b/src/acpica/source/components/executer/exserial.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/executer/exstore.c b/src/acpica/source/components/executer/exstore.c
index ba1a05d9..95bb19af 100644
--- a/src/acpica/source/components/executer/exstore.c
+++ b/src/acpica/source/components/executer/exstore.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/executer/exstoren.c b/src/acpica/source/components/executer/exstoren.c
index df4a6f40..628592f2 100644
--- a/src/acpica/source/components/executer/exstoren.c
+++ b/src/acpica/source/components/executer/exstoren.c
@@ -9,7 +9,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/executer/exstorob.c b/src/acpica/source/components/executer/exstorob.c
index 56d048a7..f318f027 100644
--- a/src/acpica/source/components/executer/exstorob.c
+++ b/src/acpica/source/components/executer/exstorob.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/executer/exsystem.c b/src/acpica/source/components/executer/exsystem.c
index 44d3a00b..68a074be 100644
--- a/src/acpica/source/components/executer/exsystem.c
+++ b/src/acpica/source/components/executer/exsystem.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -303,10 +303,10 @@  AcpiExSystemDoStall (
     else
     {
         if (HowLongUs > 100)
-	{
+        {
             ACPI_WARNING ((AE_INFO,
                 "Time parameter %u us > 100 us violating ACPI spec, please fix the firmware.", HowLongUs));
-	}
+        }
         AcpiOsStall (HowLongUs);
     }
 
diff --git a/src/acpica/source/components/executer/extrace.c b/src/acpica/source/components/executer/extrace.c
index a677393f..e574e489 100644
--- a/src/acpica/source/components/executer/extrace.c
+++ b/src/acpica/source/components/executer/extrace.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/executer/exutils.c b/src/acpica/source/components/executer/exutils.c
index e27f567b..3d9dd4fa 100644
--- a/src/acpica/source/components/executer/exutils.c
+++ b/src/acpica/source/components/executer/exutils.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/hardware/hwacpi.c b/src/acpica/source/components/hardware/hwacpi.c
index 8b322209..1772e795 100644
--- a/src/acpica/source/components/hardware/hwacpi.c
+++ b/src/acpica/source/components/hardware/hwacpi.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/hardware/hwesleep.c b/src/acpica/source/components/hardware/hwesleep.c
index 85e4cb95..ec03e5ed 100644
--- a/src/acpica/source/components/hardware/hwesleep.c
+++ b/src/acpica/source/components/hardware/hwesleep.c
@@ -9,7 +9,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/hardware/hwgpe.c b/src/acpica/source/components/hardware/hwgpe.c
index 7f9a5f05..994fc475 100644
--- a/src/acpica/source/components/hardware/hwgpe.c
+++ b/src/acpica/source/components/hardware/hwgpe.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/hardware/hwpci.c b/src/acpica/source/components/hardware/hwpci.c
index b8e8aa9f..745f9c81 100644
--- a/src/acpica/source/components/hardware/hwpci.c
+++ b/src/acpica/source/components/hardware/hwpci.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/hardware/hwregs.c b/src/acpica/source/components/hardware/hwregs.c
index 7b4ae88a..c499c111 100644
--- a/src/acpica/source/components/hardware/hwregs.c
+++ b/src/acpica/source/components/hardware/hwregs.c
@@ -9,7 +9,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/hardware/hwsleep.c b/src/acpica/source/components/hardware/hwsleep.c
index 6667c27e..d9bb8ae0 100644
--- a/src/acpica/source/components/hardware/hwsleep.c
+++ b/src/acpica/source/components/hardware/hwsleep.c
@@ -9,7 +9,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -476,13 +476,14 @@  AcpiHwLegacyWake (
             ACPI_CLEAR_STATUS);
 
     /* Enable pcie wake event if support */
-    if ((AcpiGbl_FADT.Flags & ACPI_FADT_PCI_EXPRESS_WAKE)) {
+    if ((AcpiGbl_FADT.Flags & ACPI_FADT_PCI_EXPRESS_WAKE))
+    {
         (void) AcpiWriteBitRegister (
-		AcpiGbl_FixedEventInfo[ACPI_EVENT_PCIE_WAKE].EnableRegisterId,
-		ACPI_DISABLE_EVENT);
+            AcpiGbl_FixedEventInfo[ACPI_EVENT_PCIE_WAKE].EnableRegisterId,
+            ACPI_DISABLE_EVENT);
         (void) AcpiWriteBitRegister (
-		AcpiGbl_FixedEventInfo[ACPI_EVENT_PCIE_WAKE].StatusRegisterId,
-		ACPI_CLEAR_STATUS);
+            AcpiGbl_FixedEventInfo[ACPI_EVENT_PCIE_WAKE].StatusRegisterId,
+            ACPI_CLEAR_STATUS);
     }
 
     AcpiHwExecuteSleepMethod (METHOD_PATHNAME__SST, ACPI_SST_WORKING);
diff --git a/src/acpica/source/components/hardware/hwvalid.c b/src/acpica/source/components/hardware/hwvalid.c
index d297905b..80f0f570 100644
--- a/src/acpica/source/components/hardware/hwvalid.c
+++ b/src/acpica/source/components/hardware/hwvalid.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -169,8 +169,8 @@  AcpiHwValidateIoRequest (
  *
  * The table is used to implement the Microsoft port access rules that
  * first appeared in Windows XP. Some ports are always illegal, and some
- * ports are only illegal if the BIOS calls _OSI with a WinXP string or
- * later (meaning that the BIOS itelf is post-XP.)
+ * ports are only illegal if the BIOS calls _OSI with nothing newer than
+ * the specific _OSI strings.
  *
  * This provides ACPICA with the desired port protections and
  * Microsoft compatibility.
@@ -301,8 +301,8 @@  AcpiHwValidateIoRequest (
         if ((Address <= PortInfo->End) && (LastAddress >= PortInfo->Start))
         {
             /* Port illegality may depend on the _OSI calls made by the BIOS */
-
-            if (AcpiGbl_OsiData >= PortInfo->OsiDependency)
+            if (PortInfo->OsiDependency == ACPI_ALWAYS_ILLEGAL ||
+                AcpiGbl_OsiData == PortInfo->OsiDependency)
             {
                 ACPI_DEBUG_PRINT ((ACPI_DB_VALUES,
                     "Denied AML access to port 0x%8.8X%8.8X/%X (%s 0x%.4X-0x%.4X)\n",
diff --git a/src/acpica/source/components/hardware/hwxface.c b/src/acpica/source/components/hardware/hwxface.c
index 8fd3561a..febe90de 100644
--- a/src/acpica/source/components/hardware/hwxface.c
+++ b/src/acpica/source/components/hardware/hwxface.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/hardware/hwxfsleep.c b/src/acpica/source/components/hardware/hwxfsleep.c
index 5f8b7db0..4cd7eba8 100644
--- a/src/acpica/source/components/hardware/hwxfsleep.c
+++ b/src/acpica/source/components/hardware/hwxfsleep.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/namespace/nsaccess.c b/src/acpica/source/components/namespace/nsaccess.c
index 2b810fac..b6d9d849 100644
--- a/src/acpica/source/components/namespace/nsaccess.c
+++ b/src/acpica/source/components/namespace/nsaccess.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/namespace/nsalloc.c b/src/acpica/source/components/namespace/nsalloc.c
index 560f6f36..70627077 100644
--- a/src/acpica/source/components/namespace/nsalloc.c
+++ b/src/acpica/source/components/namespace/nsalloc.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/namespace/nsarguments.c b/src/acpica/source/components/namespace/nsarguments.c
index 2da06f2f..bb081b75 100644
--- a/src/acpica/source/components/namespace/nsarguments.c
+++ b/src/acpica/source/components/namespace/nsarguments.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/namespace/nsconvert.c b/src/acpica/source/components/namespace/nsconvert.c
index 2971f08e..ed2fa03e 100644
--- a/src/acpica/source/components/namespace/nsconvert.c
+++ b/src/acpica/source/components/namespace/nsconvert.c
@@ -9,7 +9,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/namespace/nsdump.c b/src/acpica/source/components/namespace/nsdump.c
index 36cfbdf6..731c32d9 100644
--- a/src/acpica/source/components/namespace/nsdump.c
+++ b/src/acpica/source/components/namespace/nsdump.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/namespace/nsdumpdv.c b/src/acpica/source/components/namespace/nsdumpdv.c
index 0cc9b5a5..af0b2965 100644
--- a/src/acpica/source/components/namespace/nsdumpdv.c
+++ b/src/acpica/source/components/namespace/nsdumpdv.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/namespace/nseval.c b/src/acpica/source/components/namespace/nseval.c
index 1cb07615..23ed486c 100644
--- a/src/acpica/source/components/namespace/nseval.c
+++ b/src/acpica/source/components/namespace/nseval.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/namespace/nsinit.c b/src/acpica/source/components/namespace/nsinit.c
index c523035f..5ca332eb 100644
--- a/src/acpica/source/components/namespace/nsinit.c
+++ b/src/acpica/source/components/namespace/nsinit.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/namespace/nsload.c b/src/acpica/source/components/namespace/nsload.c
index c3423e55..0e93791b 100644
--- a/src/acpica/source/components/namespace/nsload.c
+++ b/src/acpica/source/components/namespace/nsload.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/namespace/nsnames.c b/src/acpica/source/components/namespace/nsnames.c
index c8412c2e..ea3d7d57 100644
--- a/src/acpica/source/components/namespace/nsnames.c
+++ b/src/acpica/source/components/namespace/nsnames.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/namespace/nsobject.c b/src/acpica/source/components/namespace/nsobject.c
index 82d735eb..842a36a5 100644
--- a/src/acpica/source/components/namespace/nsobject.c
+++ b/src/acpica/source/components/namespace/nsobject.c
@@ -9,7 +9,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/namespace/nsparse.c b/src/acpica/source/components/namespace/nsparse.c
index 0ac5efb4..86afef09 100644
--- a/src/acpica/source/components/namespace/nsparse.c
+++ b/src/acpica/source/components/namespace/nsparse.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/namespace/nspredef.c b/src/acpica/source/components/namespace/nspredef.c
index e28d6896..04c3012a 100644
--- a/src/acpica/source/components/namespace/nspredef.c
+++ b/src/acpica/source/components/namespace/nspredef.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/namespace/nsprepkg.c b/src/acpica/source/components/namespace/nsprepkg.c
index e6959dac..2bfc89a7 100644
--- a/src/acpica/source/components/namespace/nsprepkg.c
+++ b/src/acpica/source/components/namespace/nsprepkg.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/namespace/nsrepair.c b/src/acpica/source/components/namespace/nsrepair.c
index 59f7aa33..7aa02a80 100644
--- a/src/acpica/source/components/namespace/nsrepair.c
+++ b/src/acpica/source/components/namespace/nsrepair.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -328,9 +328,10 @@  AcpiNsSimpleRepair (
      */
     if (!ReturnObject)
     {
-        if (ExpectedBtypes && (!(ExpectedBtypes & ACPI_RTYPE_NONE)))
+        if (ExpectedBtypes)
         {
-            if (PackageIndex != ACPI_NOT_PACKAGE_ELEMENT)
+            if (!(ExpectedBtypes & ACPI_RTYPE_NONE) &&
+                PackageIndex != ACPI_NOT_PACKAGE_ELEMENT)
             {
                 ACPI_WARN_PREDEFINED ((AE_INFO, Info->FullPathname,
                     ACPI_WARN_ALWAYS, "Found unexpected NULL package element"));
@@ -342,13 +343,14 @@  AcpiNsSimpleRepair (
                     return (AE_OK); /* Repair was successful */
                 }
             }
-            else
+
+            if (ExpectedBtypes != ACPI_RTYPE_NONE)
             {
                 ACPI_WARN_PREDEFINED ((AE_INFO, Info->FullPathname,
-                    ACPI_WARN_ALWAYS, "Missing expected return value"));
+                                       ACPI_WARN_ALWAYS,
+                                       "Missing expected return value"));
+                return (AE_AML_NO_RETURN_VALUE);
             }
-
-            return (AE_AML_NO_RETURN_VALUE);
         }
     }
 
diff --git a/src/acpica/source/components/namespace/nsrepair2.c b/src/acpica/source/components/namespace/nsrepair2.c
index bf76b7dd..7f50c05f 100644
--- a/src/acpica/source/components/namespace/nsrepair2.c
+++ b/src/acpica/source/components/namespace/nsrepair2.c
@@ -9,7 +9,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -565,13 +565,6 @@  AcpiNsRepair_CID (
 
             (*ElementPtr)->Common.ReferenceCount =
                 OriginalRefCount;
-
-            /*
-             * The OriginalElement holds a reference from the package object
-             * that represents _HID. Since a new element was created by _HID,
-             * remove the reference from the _CID package.
-             */
-            AcpiUtRemoveReference (OriginalElement);
         }
 
         ElementPtr++;
@@ -702,7 +695,7 @@  AcpiNsRepair_HID (
     char                    *Dest;
 
 
-    ACPI_FUNCTION_NAME (NsRepair_HID);
+    ACPI_FUNCTION_TRACE (NsRepair_HID);
 
 
     /* We only care about string _HID objects (not integers) */
diff --git a/src/acpica/source/components/namespace/nssearch.c b/src/acpica/source/components/namespace/nssearch.c
index 706963c4..a992a7e4 100644
--- a/src/acpica/source/components/namespace/nssearch.c
+++ b/src/acpica/source/components/namespace/nssearch.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/namespace/nsutils.c b/src/acpica/source/components/namespace/nsutils.c
index f4208179..1162fca7 100644
--- a/src/acpica/source/components/namespace/nsutils.c
+++ b/src/acpica/source/components/namespace/nsutils.c
@@ -9,7 +9,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -500,7 +500,7 @@  AcpiNsBuildInternalName (
  *
  * PARAMETERS:  *ExternalName           - External representation of name
  *              **Converted Name        - Where to return the resulting
- *                                        internal represention of the name
+ *                                        internal representation of the name
  *
  * RETURN:      Status
  *
diff --git a/src/acpica/source/components/namespace/nswalk.c b/src/acpica/source/components/namespace/nswalk.c
index 3d0fc639..7abc6b81 100644
--- a/src/acpica/source/components/namespace/nswalk.c
+++ b/src/acpica/source/components/namespace/nswalk.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/namespace/nsxfeval.c b/src/acpica/source/components/namespace/nsxfeval.c
index 9724d024..a4213f28 100644
--- a/src/acpica/source/components/namespace/nsxfeval.c
+++ b/src/acpica/source/components/namespace/nsxfeval.c
@@ -9,7 +9,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/namespace/nsxfname.c b/src/acpica/source/components/namespace/nsxfname.c
index 7d52330f..c19b0244 100644
--- a/src/acpica/source/components/namespace/nsxfname.c
+++ b/src/acpica/source/components/namespace/nsxfname.c
@@ -9,7 +9,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -192,7 +192,7 @@  AcpiNsCopyDeviceId (
 ACPI_STATUS
 AcpiGetHandle (
     ACPI_HANDLE             Parent,
-    ACPI_STRING             Pathname,
+    const char              *Pathname,
     ACPI_HANDLE             *RetHandle)
 {
     ACPI_STATUS             Status;
diff --git a/src/acpica/source/components/namespace/nsxfobj.c b/src/acpica/source/components/namespace/nsxfobj.c
index 2aa1fc17..50ca5b2e 100644
--- a/src/acpica/source/components/namespace/nsxfobj.c
+++ b/src/acpica/source/components/namespace/nsxfobj.c
@@ -9,7 +9,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/parser/psargs.c b/src/acpica/source/components/parser/psargs.c
index f510623e..ff0780c6 100644
--- a/src/acpica/source/components/parser/psargs.c
+++ b/src/acpica/source/components/parser/psargs.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/parser/psloop.c b/src/acpica/source/components/parser/psloop.c
index 2b4c1f2a..e759e081 100644
--- a/src/acpica/source/components/parser/psloop.c
+++ b/src/acpica/source/components/parser/psloop.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/parser/psobject.c b/src/acpica/source/components/parser/psobject.c
index 18a32ef3..ff1069d0 100644
--- a/src/acpica/source/components/parser/psobject.c
+++ b/src/acpica/source/components/parser/psobject.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/parser/psopcode.c b/src/acpica/source/components/parser/psopcode.c
index 540716af..db0c2e47 100644
--- a/src/acpica/source/components/parser/psopcode.c
+++ b/src/acpica/source/components/parser/psopcode.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/parser/psopinfo.c b/src/acpica/source/components/parser/psopinfo.c
index fcb080ca..99fada10 100644
--- a/src/acpica/source/components/parser/psopinfo.c
+++ b/src/acpica/source/components/parser/psopinfo.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/parser/psparse.c b/src/acpica/source/components/parser/psparse.c
index e0cd5915..f7e584b9 100644
--- a/src/acpica/source/components/parser/psparse.c
+++ b/src/acpica/source/components/parser/psparse.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/parser/psscope.c b/src/acpica/source/components/parser/psscope.c
index 269410a6..9fe84e38 100644
--- a/src/acpica/source/components/parser/psscope.c
+++ b/src/acpica/source/components/parser/psscope.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/parser/pstree.c b/src/acpica/source/components/parser/pstree.c
index 92f62304..cbcb3599 100644
--- a/src/acpica/source/components/parser/pstree.c
+++ b/src/acpica/source/components/parser/pstree.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/parser/psutils.c b/src/acpica/source/components/parser/psutils.c
index a9ea3536..f1017936 100644
--- a/src/acpica/source/components/parser/psutils.c
+++ b/src/acpica/source/components/parser/psutils.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/parser/pswalk.c b/src/acpica/source/components/parser/pswalk.c
index 31232fd4..4a5fd986 100644
--- a/src/acpica/source/components/parser/pswalk.c
+++ b/src/acpica/source/components/parser/pswalk.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/parser/psxface.c b/src/acpica/source/components/parser/psxface.c
index 295da1af..d44cb9f6 100644
--- a/src/acpica/source/components/parser/psxface.c
+++ b/src/acpica/source/components/parser/psxface.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/resources/rsaddr.c b/src/acpica/source/components/resources/rsaddr.c
index 93d45ca3..beee8380 100644
--- a/src/acpica/source/components/resources/rsaddr.c
+++ b/src/acpica/source/components/resources/rsaddr.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -431,13 +431,17 @@  AcpiRsGetAddressCommon (
     ACPI_RESOURCE           *Resource,
     AML_RESOURCE            *Aml)
 {
-    ACPI_FUNCTION_ENTRY ();
+    /* Avoid undefined behavior: member access within misaligned address */
+
+    AML_RESOURCE_ADDRESS Address;
+    memcpy(&Address, Aml, sizeof(Address));
 
+    ACPI_FUNCTION_ENTRY();
 
     /* Validate the Resource Type */
 
-    if ((Aml->Address.ResourceType > 2) &&
-        (Aml->Address.ResourceType < 0xC0))
+    if ((Address.ResourceType > 2) &&
+        (Address.ResourceType < 0xC0))
     {
         return (FALSE);
     }
@@ -464,7 +468,7 @@  AcpiRsGetAddressCommon (
         /* Generic resource type, just grab the TypeSpecific byte */
 
         Resource->Data.Address.Info.TypeSpecific =
-            Aml->Address.SpecificFlags;
+            Address.SpecificFlags;
     }
 
     return (TRUE);
diff --git a/src/acpica/source/components/resources/rscalc.c b/src/acpica/source/components/resources/rscalc.c
index c966636b..55694f1e 100644
--- a/src/acpica/source/components/resources/rscalc.c
+++ b/src/acpica/source/components/resources/rscalc.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -480,6 +480,13 @@  AcpiRsGetAmlLength (
 
             break;
 
+        case ACPI_RESOURCE_TYPE_CLOCK_INPUT:
+
+            TotalSize = (ACPI_RS_LENGTH) (TotalSize +
+                Resource->Data.ClockInput.ResourceSource.StringLength);
+
+            break;
+
 
         case ACPI_RESOURCE_TYPE_SERIAL_BUS:
 
@@ -733,14 +740,19 @@  AcpiRsGetListLength (
             }
             break;
 
-        case ACPI_RESOURCE_NAME_SERIAL_BUS:
+        case ACPI_RESOURCE_NAME_SERIAL_BUS: {
+            /* Avoid undefined behavior: member access within misaligned address */
+
+            AML_RESOURCE_COMMON_SERIALBUS CommonSerialBus;
+            memcpy(&CommonSerialBus, AmlResource, sizeof(CommonSerialBus));
 
             MinimumAmlResourceLength = AcpiGbl_ResourceAmlSerialBusSizes[
-                AmlResource->CommonSerialBus.Type];
+                CommonSerialBus.Type];
             ExtraStructBytes +=
-                AmlResource->CommonSerialBus.ResourceLength -
+                CommonSerialBus.ResourceLength -
                 MinimumAmlResourceLength;
             break;
+        }
 
         case ACPI_RESOURCE_NAME_PIN_CONFIG:
 
@@ -789,6 +801,12 @@  AcpiRsGetListLength (
 
             break;
 
+        case ACPI_RESOURCE_NAME_CLOCK_INPUT:
+            ExtraStructBytes = AcpiRsStreamOptionLength (
+                ResourceLength, MinimumAmlResourceLength);
+
+            break;
+
         default:
 
             break;
@@ -803,8 +821,13 @@  AcpiRsGetListLength (
         if (AcpiUtGetResourceType (AmlBuffer) ==
             ACPI_RESOURCE_NAME_SERIAL_BUS)
         {
+            /* Avoid undefined behavior: member access within misaligned address */
+
+            AML_RESOURCE_COMMON_SERIALBUS CommonSerialBus;
+            memcpy(&CommonSerialBus, AmlResource, sizeof(CommonSerialBus));
+
             BufferSize = AcpiGbl_ResourceStructSerialBusSizes[
-                AmlResource->CommonSerialBus.Type] + ExtraStructBytes;
+                CommonSerialBus.Type] + ExtraStructBytes;
         }
         else
         {
diff --git a/src/acpica/source/components/resources/rscreate.c b/src/acpica/source/components/resources/rscreate.c
index 6c230bce..583abe1a 100644
--- a/src/acpica/source/components/resources/rscreate.c
+++ b/src/acpica/source/components/resources/rscreate.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -475,9 +475,9 @@  AcpiRsCreatePciRoutingTable (
                 /* Use *remaining* length of the buffer as max for pathname */
 
                 PathBuffer.Length = OutputBuffer->Length -
-                    (UINT32) ((UINT8 *) UserPrt->Source -
+                    (UINT32) ((UINT8 *) UserPrt->u.Source -
                     (UINT8 *) OutputBuffer->Pointer);
-                PathBuffer.Pointer = UserPrt->Source;
+                PathBuffer.Pointer = UserPrt->u.Source;
 
                 Status = AcpiNsHandleToPathname (
                     (ACPI_HANDLE) Node, &PathBuffer, FALSE);
@@ -488,12 +488,12 @@  AcpiRsCreatePciRoutingTable (
 
                 /* +1 to include null terminator */
 
-                UserPrt->Length += (UINT32) strlen (UserPrt->Source) + 1;
+                UserPrt->Length += (UINT32) strlen (UserPrt->u.Source) + 1;
                 break;
 
             case ACPI_TYPE_STRING:
 
-                strcpy (UserPrt->Source, ObjDesc->String.Pointer);
+                strcpy (UserPrt->u.Source, ObjDesc->String.Pointer);
 
                 /*
                  * Add to the Length field the length of the string
diff --git a/src/acpica/source/components/resources/rsdump.c b/src/acpica/source/components/resources/rsdump.c
index e8f13724..02fc37ca 100644
--- a/src/acpica/source/components/resources/rsdump.c
+++ b/src/acpica/source/components/resources/rsdump.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/resources/rsdumpinfo.c b/src/acpica/source/components/resources/rsdumpinfo.c
index 83b22caa..2801e0d7 100644
--- a/src/acpica/source/components/resources/rsdumpinfo.c
+++ b/src/acpica/source/components/resources/rsdumpinfo.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -182,7 +182,7 @@  ACPI_RSDUMP_INFO        AcpiRsDumpIrq[7] =
     {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (Irq.Polarity),                     "Polarity",                 AcpiGbl_LlDecode},
     {ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET (Irq.Shareable),                    "Sharing",                  AcpiGbl_ShrDecode},
     {ACPI_RSD_UINT8 ,   ACPI_RSD_OFFSET (Irq.InterruptCount),               "Interrupt Count",          NULL},
-    {ACPI_RSD_SHORTLIST,ACPI_RSD_OFFSET (Irq.Interrupts[0]),                "Interrupt List",           NULL}
+    {ACPI_RSD_SHORTLIST,ACPI_RSD_OFFSET (Irq.u.Interrupts[0]),                "Interrupt List",           NULL}
 };
 
 ACPI_RSDUMP_INFO        AcpiRsDumpDma[6] =
@@ -192,7 +192,7 @@  ACPI_RSDUMP_INFO        AcpiRsDumpDma[6] =
     {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (Dma.BusMaster),                    "Mastering",                AcpiGbl_BmDecode},
     {ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET (Dma.Transfer),                     "Transfer Type",            AcpiGbl_SizDecode},
     {ACPI_RSD_UINT8,    ACPI_RSD_OFFSET (Dma.ChannelCount),                 "Channel Count",            NULL},
-    {ACPI_RSD_SHORTLIST,ACPI_RSD_OFFSET (Dma.Channels[0]),                  "Channel List",             NULL}
+    {ACPI_RSD_SHORTLIST,ACPI_RSD_OFFSET (Dma.u.Channels[0]),                  "Channel List",             NULL}
 };
 
 ACPI_RSDUMP_INFO        AcpiRsDumpStartDpf[4] =
@@ -327,7 +327,7 @@  ACPI_RSDUMP_INFO        AcpiRsDumpExtIrq[8] =
     {ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET (ExtendedIrq.Shareable),            "Sharing",                  AcpiGbl_ShrDecode},
     {ACPI_RSD_SOURCE,   ACPI_RSD_OFFSET (ExtendedIrq.ResourceSource),       NULL,                       NULL},
     {ACPI_RSD_UINT8,    ACPI_RSD_OFFSET (ExtendedIrq.InterruptCount),       "Interrupt Count",          NULL},
-    {ACPI_RSD_DWORDLIST,ACPI_RSD_OFFSET (ExtendedIrq.Interrupts[0]),        "Interrupt List",           NULL}
+    {ACPI_RSD_DWORDLIST,ACPI_RSD_OFFSET (ExtendedIrq.u.Interrupts[0]),        "Interrupt List",           NULL}
 };
 
 ACPI_RSDUMP_INFO        AcpiRsDumpGenericReg[6] =
@@ -374,6 +374,17 @@  ACPI_RSDUMP_INFO        AcpiRsDumpPinFunction[10] =
     {ACPI_RSD_SHORTLISTX,ACPI_RSD_OFFSET (PinFunction.VendorData),          "VendorData",               NULL},
 };
 
+ACPI_RSDUMP_INFO        AcpiRsDumpClockInput[7] =
+{
+    {ACPI_RSD_TITLE,    ACPI_RSD_TABLE_SIZE (AcpiRsDumpClockInput),         "ClockInput",            NULL},
+    {ACPI_RSD_UINT8,    ACPI_RSD_OFFSET (ClockInput.RevisionId),            "RevisionId",            NULL},
+    {ACPI_RSD_UINT32,   ACPI_RSD_OFFSET (ClockInput.FrequencyNumerator),    "FrequencyNumerator",    NULL},
+    {ACPI_RSD_UINT32,   ACPI_RSD_OFFSET (ClockInput.FrequencyDivisor),      "FrequencyDivisor",      NULL},
+    {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (ClockInput.Scale),                 "Scale",                 AcpiGbl_ClockInputScale},
+    {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (ClockInput.Mode),                  "Mode",                  AcpiGbl_ClockInputMode},
+    {ACPI_RSD_SOURCE,   ACPI_RSD_OFFSET (ClockInput.ResourceSource),        "ResourceSource",        NULL},
+};
+
 ACPI_RSDUMP_INFO        AcpiRsDumpPinConfig[11] =
 {
     {ACPI_RSD_TITLE,    ACPI_RSD_TABLE_SIZE (AcpiRsDumpPinConfig),          "PinConfig",                NULL},
@@ -544,7 +555,7 @@  ACPI_RSDUMP_INFO        AcpiRsDumpPrt[5] =
     {ACPI_RSD_TITLE,    ACPI_RSD_TABLE_SIZE (AcpiRsDumpPrt),                NULL,                       NULL},
     {ACPI_RSD_UINT64,   ACPI_PRT_OFFSET (Address),                          "Address",                  NULL},
     {ACPI_RSD_UINT32,   ACPI_PRT_OFFSET (Pin),                              "Pin",                      NULL},
-    {ACPI_RSD_STRING,   ACPI_PRT_OFFSET (Source[0]),                        "Source",                   NULL},
+    {ACPI_RSD_STRING,   ACPI_PRT_OFFSET (u.Source[0]),                        "Source",                   NULL},
     {ACPI_RSD_UINT32,   ACPI_PRT_OFFSET (SourceIndex),                      "Source Index",             NULL}
 };
 
diff --git a/src/acpica/source/components/resources/rsinfo.c b/src/acpica/source/components/resources/rsinfo.c
index b9d4df46..551b647b 100644
--- a/src/acpica/source/components/resources/rsinfo.c
+++ b/src/acpica/source/components/resources/rsinfo.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -197,6 +197,7 @@  ACPI_RSCONVERT_INFO         *AcpiGbl_SetResourceDispatch[] =
     AcpiRsConvertPinGroup,          /* 0x16, ACPI_RESOURCE_TYPE_PIN_GROUP */
     AcpiRsConvertPinGroupFunction,  /* 0x17, ACPI_RESOURCE_TYPE_PIN_GROUP_FUNCTION */
     AcpiRsConvertPinGroupConfig,    /* 0x18, ACPI_RESOURCE_TYPE_PIN_GROUP_CONFIG */
+    AcpiRsConvertClockInput,        /* 0x19, ACPI_RESOURCE_TYPE_CLOCK_INPUT */
 };
 
 /* Dispatch tables for AML-to-resource (Get Resource) conversion functions */
@@ -243,6 +244,7 @@  ACPI_RSCONVERT_INFO         *AcpiGbl_GetResourceDispatch[] =
     AcpiRsConvertPinGroup,          /* 0x10, ACPI_RESOURCE_NAME_PIN_GROUP */
     AcpiRsConvertPinGroupFunction,  /* 0x11, ACPI_RESOURCE_NAME_PIN_GROUP_FUNCTION */
     AcpiRsConvertPinGroupConfig,    /* 0x12, ACPI_RESOURCE_NAME_PIN_GROUP_CONFIG */
+    AcpiRsConvertClockInput,        /* 0x13, ACPI_RESOURCE_NAME_CLOCK_INPUT */
 };
 
 /* Subtype table for SerialBus -- I2C, SPI, UART, and CSI2 */
@@ -288,6 +290,7 @@  ACPI_RSDUMP_INFO            *AcpiGbl_DumpResourceDispatch[] =
     AcpiRsDumpPinGroup,             /* ACPI_RESOURCE_TYPE_PIN_GROUP */
     AcpiRsDumpPinGroupFunction,     /* ACPI_RESOURCE_TYPE_PIN_GROUP_FUNCTION */
     AcpiRsDumpPinGroupConfig,       /* ACPI_RESOURCE_TYPE_PIN_GROUP_CONFIG */
+    AcpiRsDumpClockInput,           /* ACPI_RESOURCE_TYPE_CLOCK_INPUT */
 };
 
 ACPI_RSDUMP_INFO            *AcpiGbl_DumpSerialBusDispatch[] =
@@ -333,6 +336,7 @@  const UINT8                 AcpiGbl_AmlResourceSizes[] =
     sizeof (AML_RESOURCE_PIN_GROUP),        /* ACPI_RESOURCE_TYPE_PIN_GROUP */
     sizeof (AML_RESOURCE_PIN_GROUP_FUNCTION), /* ACPI_RESOURCE_TYPE_PIN_GROUP_FUNCTION */
     sizeof (AML_RESOURCE_PIN_GROUP_CONFIG), /* ACPI_RESOURCE_TYPE_PIN_GROUP_CONFIG */
+    sizeof (AML_RESOURCE_CLOCK_INPUT),      /* ACPI_RESOURCE_TYPE_CLOCK_INPUT */
 };
 
 
@@ -378,6 +382,7 @@  const UINT8                 AcpiGbl_ResourceStructSizes[] =
     ACPI_RS_SIZE (ACPI_RESOURCE_PIN_GROUP),
     ACPI_RS_SIZE (ACPI_RESOURCE_PIN_GROUP_FUNCTION),
     ACPI_RS_SIZE (ACPI_RESOURCE_PIN_GROUP_CONFIG),
+    ACPI_RS_SIZE (ACPI_RESOURCE_CLOCK_INPUT),
 };
 
 const UINT8                 AcpiGbl_AmlResourceSerialBusSizes[] =
diff --git a/src/acpica/source/components/resources/rsio.c b/src/acpica/source/components/resources/rsio.c
index 29932623..1640cdb2 100644
--- a/src/acpica/source/components/resources/rsio.c
+++ b/src/acpica/source/components/resources/rsio.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/resources/rsirq.c b/src/acpica/source/components/resources/rsirq.c
index 9a8fc18f..10256c50 100644
--- a/src/acpica/source/components/resources/rsirq.c
+++ b/src/acpica/source/components/resources/rsirq.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -171,7 +171,7 @@  ACPI_RSCONVERT_INFO     AcpiRsGetIrq[9] =
 
     /* Get the IRQ mask (bytes 1:2) */
 
-    {ACPI_RSC_BITMASK16,ACPI_RS_OFFSET (Data.Irq.Interrupts[0]),
+    {ACPI_RSC_BITMASK16,ACPI_RS_OFFSET (Data.Irq.u.Interrupts[0]),
                         AML_OFFSET (Irq.IrqMask),
                         ACPI_RS_OFFSET (Data.Irq.InterruptCount)},
 
@@ -227,7 +227,7 @@  ACPI_RSCONVERT_INFO     AcpiRsSetIrq[14] =
 
     /* Convert interrupt list to 16-bit IRQ bitmask */
 
-    {ACPI_RSC_BITMASK16,ACPI_RS_OFFSET (Data.Irq.Interrupts[0]),
+    {ACPI_RSC_BITMASK16,ACPI_RS_OFFSET (Data.Irq.u.Interrupts[0]),
                         AML_OFFSET (Irq.IrqMask),
                         ACPI_RS_OFFSET (Data.Irq.InterruptCount)},
 
@@ -345,14 +345,14 @@  ACPI_RSCONVERT_INFO     AcpiRsConvertExtIrq[10] =
 
     /* Copy every IRQ in the table, each is 32 bits */
 
-    {ACPI_RSC_MOVE32,   ACPI_RS_OFFSET (Data.ExtendedIrq.Interrupts[0]),
-                        AML_OFFSET (ExtendedIrq.Interrupts[0]),
+    {ACPI_RSC_MOVE32,   ACPI_RS_OFFSET (Data.ExtendedIrq.u.Interrupts[0]),
+                        AML_OFFSET (ExtendedIrq.u.Interrupts[0]),
                         0},
 
     /* Optional ResourceSource (Index and String) */
 
     {ACPI_RSC_SOURCEX,  ACPI_RS_OFFSET (Data.ExtendedIrq.ResourceSource),
-                        ACPI_RS_OFFSET (Data.ExtendedIrq.Interrupts[0]),
+                        ACPI_RS_OFFSET (Data.ExtendedIrq.u.Interrupts[0]),
                         sizeof (AML_RESOURCE_EXTENDED_IRQ)}
 };
 
@@ -389,7 +389,7 @@  ACPI_RSCONVERT_INFO     AcpiRsConvertDma[6] =
 
     /* DMA channel mask bits */
 
-    {ACPI_RSC_BITMASK,  ACPI_RS_OFFSET (Data.Dma.Channels[0]),
+    {ACPI_RSC_BITMASK,  ACPI_RS_OFFSET (Data.Dma.u.Channels[0]),
                         AML_OFFSET (Dma.DmaChannelMask),
                         ACPI_RS_OFFSET (Data.Dma.ChannelCount)}
 };
diff --git a/src/acpica/source/components/resources/rslist.c b/src/acpica/source/components/resources/rslist.c
index fdd24688..cb408197 100644
--- a/src/acpica/source/components/resources/rslist.c
+++ b/src/acpica/source/components/resources/rslist.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -209,7 +209,12 @@  AcpiRsConvertAmlToResources (
     if (AcpiUtGetResourceType (Aml) ==
         ACPI_RESOURCE_NAME_SERIAL_BUS)
     {
-        if (AmlResource->CommonSerialBus.Type >
+        /* Avoid undefined behavior: member access within misaligned address */
+
+        AML_RESOURCE_COMMON_SERIALBUS CommonSerialBus;
+        memcpy(&CommonSerialBus, AmlResource, sizeof(CommonSerialBus));
+
+        if (CommonSerialBus.Type >
             AML_RESOURCE_MAX_SERIALBUSTYPE)
         {
             ConversionTable = NULL;
@@ -219,7 +224,7 @@  AcpiRsConvertAmlToResources (
             /* This is an I2C, SPI, UART, or CSI2 SerialBus descriptor */
 
             ConversionTable = AcpiGbl_ConvertResourceSerialBusDispatch [
-                AmlResource->CommonSerialBus.Type];
+                CommonSerialBus.Type];
         }
     }
     else
diff --git a/src/acpica/source/components/resources/rsmemory.c b/src/acpica/source/components/resources/rsmemory.c
index e527bad7..170bb679 100644
--- a/src/acpica/source/components/resources/rsmemory.c
+++ b/src/acpica/source/components/resources/rsmemory.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/resources/rsmisc.c b/src/acpica/source/components/resources/rsmisc.c
index 16c52134..6d11442d 100644
--- a/src/acpica/source/components/resources/rsmisc.c
+++ b/src/acpica/source/components/resources/rsmisc.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -349,7 +349,8 @@  AcpiRsConvertAmlToResource (
 
         case ACPI_RSC_COUNT_SERIAL_VEN:
 
-            ItemCount = ACPI_GET16 (Source) - Info->Value;
+            ACPI_MOVE_16_TO_16(&Temp16, Source);
+            ItemCount = Temp16 - Info->Value;
 
             Resource->Length = Resource->Length + ItemCount;
             ACPI_SET16 (Destination, ItemCount);
@@ -357,9 +358,10 @@  AcpiRsConvertAmlToResource (
 
         case ACPI_RSC_COUNT_SERIAL_RES:
 
+            ACPI_MOVE_16_TO_16(&Temp16, Source);
             ItemCount = (AmlResourceLength +
                 sizeof (AML_RESOURCE_LARGE_HEADER)) -
-                ACPI_GET16 (Source) - Info->Value;
+                Temp16 - Info->Value;
 
             Resource->Length = Resource->Length + ItemCount;
             ACPI_SET16 (Destination, ItemCount);
@@ -437,8 +439,9 @@  AcpiRsConvertAmlToResource (
 
             /* Copy the ResourceSource string */
 
+            ACPI_MOVE_16_TO_16 (&Temp16, Source);
             Source = ACPI_ADD_PTR (
-                void, Aml, (ACPI_GET16 (Source) + Info->Value));
+                void, Aml, (Temp16 + Info->Value));
             AcpiRsMoveData (Target, Source, ItemCount, Info->Opcode);
             break;
 
diff --git a/src/acpica/source/components/resources/rsserial.c b/src/acpica/source/components/resources/rsserial.c
index 3075b4c4..4c19f890 100644
--- a/src/acpica/source/components/resources/rsserial.c
+++ b/src/acpica/source/components/resources/rsserial.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -254,6 +254,50 @@  ACPI_RSCONVERT_INFO     AcpiRsConvertGpio[18] =
                         0},
 };
 
+/*******************************************************************************
+ *
+ * AcpiRsConvertClockInput
+ *
+ ******************************************************************************/
+
+ACPI_RSCONVERT_INFO     AcpiRsConvertClockInput[8] =
+{
+    {ACPI_RSC_INITGET,  ACPI_RESOURCE_TYPE_CLOCK_INPUT,
+                        ACPI_RS_SIZE (ACPI_RESOURCE_CLOCK_INPUT),
+                        ACPI_RSC_TABLE_SIZE (AcpiRsConvertClockInput)},
+
+    {ACPI_RSC_INITSET,  ACPI_RESOURCE_NAME_CLOCK_INPUT,
+                        sizeof (AML_RESOURCE_CLOCK_INPUT),
+                        0},
+
+    {ACPI_RSC_MOVE8,    ACPI_RS_OFFSET (Data.ClockInput.RevisionId),
+                        AML_OFFSET (ClockInput.RevisionId),
+                        1},
+
+    {ACPI_RSC_1BITFLAG, ACPI_RS_OFFSET (Data.ClockInput.Mode),
+                        AML_OFFSET (ClockInput.Flags),
+                        0},
+
+    {ACPI_RSC_2BITFLAG, ACPI_RS_OFFSET (Data.ClockInput.Scale),
+                        AML_OFFSET (ClockInput.Flags),
+                        1},
+
+    {ACPI_RSC_MOVE16,   ACPI_RS_OFFSET (Data.ClockInput.FrequencyDivisor),
+                        AML_OFFSET (ClockInput.FrequencyDivisor),
+                        2},
+
+    {ACPI_RSC_MOVE32,   ACPI_RS_OFFSET (Data.ClockInput.FrequencyNumerator),
+                        AML_OFFSET (ClockInput.FrequencyNumerator),
+                        4},
+
+    /* Resource Source */
+    {ACPI_RSC_SOURCE,    ACPI_RS_OFFSET (Data.ClockInput.ResourceSource),
+                        0,
+                        sizeof(AML_RESOURCE_CLOCK_INPUT)},
+
+};
+
+
 /*******************************************************************************
  *
  * AcpiRsConvertPinfunction
diff --git a/src/acpica/source/components/resources/rsutils.c b/src/acpica/source/components/resources/rsutils.c
index 7110406f..e6889f86 100644
--- a/src/acpica/source/components/resources/rsutils.c
+++ b/src/acpica/source/components/resources/rsutils.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/resources/rsxface.c b/src/acpica/source/components/resources/rsxface.c
index d3aaf1d0..f46ff346 100644
--- a/src/acpica/source/components/resources/rsxface.c
+++ b/src/acpica/source/components/resources/rsxface.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/tables/tbdata.c b/src/acpica/source/components/tables/tbdata.c
index d974d951..e0037637 100644
--- a/src/acpica/source/components/tables/tbdata.c
+++ b/src/acpica/source/components/tables/tbdata.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/tables/tbfadt.c b/src/acpica/source/components/tables/tbfadt.c
index 97876614..d2bd1eb3 100644
--- a/src/acpica/source/components/tables/tbfadt.c
+++ b/src/acpica/source/components/tables/tbfadt.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/tables/tbfind.c b/src/acpica/source/components/tables/tbfind.c
index 81ed2d97..4adf09e2 100644
--- a/src/acpica/source/components/tables/tbfind.c
+++ b/src/acpica/source/components/tables/tbfind.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/tables/tbinstal.c b/src/acpica/source/components/tables/tbinstal.c
index 9253bd1d..eda1d0a7 100644
--- a/src/acpica/source/components/tables/tbinstal.c
+++ b/src/acpica/source/components/tables/tbinstal.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/tables/tbprint.c b/src/acpica/source/components/tables/tbprint.c
index cdad69af..9fd5c7aa 100644
--- a/src/acpica/source/components/tables/tbprint.c
+++ b/src/acpica/source/components/tables/tbprint.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -294,4 +294,3 @@  AcpiTbPrintTableHeader (
             LocalHeader.AslCompilerId, LocalHeader.AslCompilerRevision));
     }
 }
-
diff --git a/src/acpica/source/components/tables/tbutils.c b/src/acpica/source/components/tables/tbutils.c
index 5188d26d..680a69d9 100644
--- a/src/acpica/source/components/tables/tbutils.c
+++ b/src/acpica/source/components/tables/tbutils.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -323,6 +323,7 @@  AcpiTbGetRootTableEntry (
     UINT8                   *TableEntry,
     UINT32                  TableEntrySize)
 {
+    UINT32                  Address32;
     UINT64                  Address64;
 
 
@@ -336,8 +337,8 @@  AcpiTbGetRootTableEntry (
          * 32-bit platform, RSDT: Return 32-bit table entry
          * 64-bit platform, RSDT: Expand 32-bit to 64-bit and return
          */
-        return ((ACPI_PHYSICAL_ADDRESS) (*ACPI_CAST_PTR (
-            UINT32, TableEntry)));
+        ACPI_MOVE_32_TO_32(&Address32, TableEntry);
+        return Address32;
     }
     else
     {
diff --git a/src/acpica/source/components/tables/tbxface.c b/src/acpica/source/components/tables/tbxface.c
index 919ad138..b37377ef 100644
--- a/src/acpica/source/components/tables/tbxface.c
+++ b/src/acpica/source/components/tables/tbxface.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/tables/tbxfload.c b/src/acpica/source/components/tables/tbxfload.c
index ddd9b795..7ae42346 100644
--- a/src/acpica/source/components/tables/tbxfload.c
+++ b/src/acpica/source/components/tables/tbxfload.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/tables/tbxfroot.c b/src/acpica/source/components/tables/tbxfroot.c
index 97cb65c7..923d05fb 100644
--- a/src/acpica/source/components/tables/tbxfroot.c
+++ b/src/acpica/source/components/tables/tbxfroot.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/utilities/utaddress.c b/src/acpica/source/components/utilities/utaddress.c
index 5aa12832..e3a50289 100644
--- a/src/acpica/source/components/utilities/utaddress.c
+++ b/src/acpica/source/components/utilities/utaddress.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/utilities/utalloc.c b/src/acpica/source/components/utilities/utalloc.c
index aa06339c..d4a7e501 100644
--- a/src/acpica/source/components/utilities/utalloc.c
+++ b/src/acpica/source/components/utilities/utalloc.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/utilities/utascii.c b/src/acpica/source/components/utilities/utascii.c
index db238902..6f6d9229 100644
--- a/src/acpica/source/components/utilities/utascii.c
+++ b/src/acpica/source/components/utilities/utascii.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/utilities/utbuffer.c b/src/acpica/source/components/utilities/utbuffer.c
index 2cf097bf..be1082e8 100644
--- a/src/acpica/source/components/utilities/utbuffer.c
+++ b/src/acpica/source/components/utilities/utbuffer.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/utilities/utcache.c b/src/acpica/source/components/utilities/utcache.c
index 2ff1540c..32c527d5 100644
--- a/src/acpica/source/components/utilities/utcache.c
+++ b/src/acpica/source/components/utilities/utcache.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/utilities/utcksum.c b/src/acpica/source/components/utilities/utcksum.c
index b8ea869b..de97d15f 100644
--- a/src/acpica/source/components/utilities/utcksum.c
+++ b/src/acpica/source/components/utilities/utcksum.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -172,7 +172,7 @@ 
  *
  * DESCRIPTION: Verifies that the table checksums to zero. Optionally returns
  *              exception on bad checksum.
- *              Note: We don't have to check for a CDAT here, since CDAT is 
+ *              Note: We don't have to check for a CDAT here, since CDAT is
  *              not in the RSDT/XSDT, and the CDAT table is never installed
  *              via ACPICA.
  *
diff --git a/src/acpica/source/components/utilities/utcopy.c b/src/acpica/source/components/utilities/utcopy.c
index e725d55b..e9024bdd 100644
--- a/src/acpica/source/components/utilities/utcopy.c
+++ b/src/acpica/source/components/utilities/utcopy.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/utilities/utdebug.c b/src/acpica/source/components/utilities/utdebug.c
index f789e686..b0c3640f 100644
--- a/src/acpica/source/components/utilities/utdebug.c
+++ b/src/acpica/source/components/utilities/utdebug.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/utilities/utdecode.c b/src/acpica/source/components/utilities/utdecode.c
index 2a49cbd8..b100c61b 100644
--- a/src/acpica/source/components/utilities/utdecode.c
+++ b/src/acpica/source/components/utilities/utdecode.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/utilities/utdelete.c b/src/acpica/source/components/utilities/utdelete.c
index b36c4bb3..1227b211 100644
--- a/src/acpica/source/components/utilities/utdelete.c
+++ b/src/acpica/source/components/utilities/utdelete.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/utilities/uterror.c b/src/acpica/source/components/utilities/uterror.c
index 2aee4d54..c88081f9 100644
--- a/src/acpica/source/components/utilities/uterror.c
+++ b/src/acpica/source/components/utilities/uterror.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/utilities/uteval.c b/src/acpica/source/components/utilities/uteval.c
index f4ccea68..bccbdda5 100644
--- a/src/acpica/source/components/utilities/uteval.c
+++ b/src/acpica/source/components/utilities/uteval.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/utilities/utexcep.c b/src/acpica/source/components/utilities/utexcep.c
index 279d33fc..094df3ab 100644
--- a/src/acpica/source/components/utilities/utexcep.c
+++ b/src/acpica/source/components/utilities/utexcep.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/utilities/utglobal.c b/src/acpica/source/components/utilities/utglobal.c
index 43de5c0a..28e4c341 100644
--- a/src/acpica/source/components/utilities/utglobal.c
+++ b/src/acpica/source/components/utilities/utglobal.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/utilities/uthex.c b/src/acpica/source/components/utilities/uthex.c
index c64d3def..801627e2 100644
--- a/src/acpica/source/components/utilities/uthex.c
+++ b/src/acpica/source/components/utilities/uthex.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/utilities/utids.c b/src/acpica/source/components/utilities/utids.c
index 498338a1..3df4d97d 100644
--- a/src/acpica/source/components/utilities/utids.c
+++ b/src/acpica/source/components/utilities/utids.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/utilities/utinit.c b/src/acpica/source/components/utilities/utinit.c
index 0f2cf489..37ec63bc 100644
--- a/src/acpica/source/components/utilities/utinit.c
+++ b/src/acpica/source/components/utilities/utinit.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/utilities/utlock.c b/src/acpica/source/components/utilities/utlock.c
index 9357279b..e56b7484 100644
--- a/src/acpica/source/components/utilities/utlock.c
+++ b/src/acpica/source/components/utilities/utlock.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/utilities/utmath.c b/src/acpica/source/components/utilities/utmath.c
index b534bb3e..b854368e 100644
--- a/src/acpica/source/components/utilities/utmath.c
+++ b/src/acpica/source/components/utilities/utmath.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/utilities/utmisc.c b/src/acpica/source/components/utilities/utmisc.c
index 1efe0afc..64e33672 100644
--- a/src/acpica/source/components/utilities/utmisc.c
+++ b/src/acpica/source/components/utilities/utmisc.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/utilities/utmutex.c b/src/acpica/source/components/utilities/utmutex.c
index 1f1c1d82..2ce621fa 100644
--- a/src/acpica/source/components/utilities/utmutex.c
+++ b/src/acpica/source/components/utilities/utmutex.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/utilities/utnonansi.c b/src/acpica/source/components/utilities/utnonansi.c
index e3c2f460..5db70422 100644
--- a/src/acpica/source/components/utilities/utnonansi.c
+++ b/src/acpica/source/components/utilities/utnonansi.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/utilities/utobject.c b/src/acpica/source/components/utilities/utobject.c
index 52e02beb..f53f3163 100644
--- a/src/acpica/source/components/utilities/utobject.c
+++ b/src/acpica/source/components/utilities/utobject.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/utilities/utosi.c b/src/acpica/source/components/utilities/utosi.c
index 700f30a6..b6431c88 100644
--- a/src/acpica/source/components/utilities/utosi.c
+++ b/src/acpica/source/components/utilities/utosi.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/utilities/utownerid.c b/src/acpica/source/components/utilities/utownerid.c
index 30ba6b75..ad2796be 100644
--- a/src/acpica/source/components/utilities/utownerid.c
+++ b/src/acpica/source/components/utilities/utownerid.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/utilities/utpredef.c b/src/acpica/source/components/utilities/utpredef.c
index 7f97ee7c..6afc6559 100644
--- a/src/acpica/source/components/utilities/utpredef.c
+++ b/src/acpica/source/components/utilities/utpredef.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/utilities/utresdecode.c b/src/acpica/source/components/utilities/utresdecode.c
index 12ab6875..667f12f8 100644
--- a/src/acpica/source/components/utilities/utresdecode.c
+++ b/src/acpica/source/components/utilities/utresdecode.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -467,4 +467,17 @@  const char                      *AcpiGbl_PtypDecode[] =
     "Input Schmitt Trigger",
 };
 
+const char                      *AcpiGbl_ClockInputMode[] =
+{
+    "Fixed",
+    "Variable",
+};
+
+const char                      *AcpiGbl_ClockInputScale[] =
+{
+    "Hz",
+    "KHz",
+    "MHz",
+};
+
 #endif
diff --git a/src/acpica/source/components/utilities/utresrc.c b/src/acpica/source/components/utilities/utresrc.c
index 26c382d8..f47b2924 100644
--- a/src/acpica/source/components/utilities/utresrc.c
+++ b/src/acpica/source/components/utilities/utresrc.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -204,6 +204,8 @@  const UINT8                 AcpiGbl_ResourceAmlSizes[] =
     ACPI_AML_SIZE_LARGE (AML_RESOURCE_PIN_GROUP),
     ACPI_AML_SIZE_LARGE (AML_RESOURCE_PIN_GROUP_FUNCTION),
     ACPI_AML_SIZE_LARGE (AML_RESOURCE_PIN_GROUP_CONFIG),
+    ACPI_AML_SIZE_LARGE (AML_RESOURCE_CLOCK_INPUT),
+
 };
 
 const UINT8                 AcpiGbl_ResourceAmlSerialBusSizes[] =
@@ -264,6 +266,7 @@  static const UINT8          AcpiGbl_ResourceTypes[] =
     ACPI_VARIABLE_LENGTH,           /* 10 PinGroup */
     ACPI_VARIABLE_LENGTH,           /* 11 PinGroupFunction */
     ACPI_VARIABLE_LENGTH,           /* 12 PinGroupConfig */
+    ACPI_VARIABLE_LENGTH,           /* 13 ClockInput */
 };
 
 
@@ -529,16 +532,21 @@  AcpiUtValidateResource (
     AmlResource = ACPI_CAST_PTR (AML_RESOURCE, Aml);
     if (ResourceType == ACPI_RESOURCE_NAME_SERIAL_BUS)
     {
+        /* Avoid undefined behavior: member access within misaligned address */
+
+        AML_RESOURCE_COMMON_SERIALBUS CommonSerialBus;
+        memcpy(&CommonSerialBus, AmlResource, sizeof(CommonSerialBus));
+
         /* Validate the BusType field */
 
-        if ((AmlResource->CommonSerialBus.Type == 0) ||
-            (AmlResource->CommonSerialBus.Type > AML_RESOURCE_MAX_SERIALBUSTYPE))
+        if ((CommonSerialBus.Type == 0) ||
+            (CommonSerialBus.Type > AML_RESOURCE_MAX_SERIALBUSTYPE))
         {
             if (WalkState)
             {
                 ACPI_ERROR ((AE_INFO,
                     "Invalid/unsupported SerialBus resource descriptor: BusType 0x%2.2X",
-                    AmlResource->CommonSerialBus.Type));
+                    CommonSerialBus.Type));
             }
             return (AE_AML_INVALID_RESOURCE_TYPE);
         }
diff --git a/src/acpica/source/components/utilities/utstate.c b/src/acpica/source/components/utilities/utstate.c
index f089ffea..ec13a07a 100644
--- a/src/acpica/source/components/utilities/utstate.c
+++ b/src/acpica/source/components/utilities/utstate.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/utilities/utstring.c b/src/acpica/source/components/utilities/utstring.c
index 770f3078..aed0d10c 100644
--- a/src/acpica/source/components/utilities/utstring.c
+++ b/src/acpica/source/components/utilities/utstring.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/utilities/utstrsuppt.c b/src/acpica/source/components/utilities/utstrsuppt.c
index 0487a4f6..31e720c9 100644
--- a/src/acpica/source/components/utilities/utstrsuppt.c
+++ b/src/acpica/source/components/utilities/utstrsuppt.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/utilities/utstrtoul64.c b/src/acpica/source/components/utilities/utstrtoul64.c
index 1ef50eac..1aee5d02 100644
--- a/src/acpica/source/components/utilities/utstrtoul64.c
+++ b/src/acpica/source/components/utilities/utstrtoul64.c
@@ -9,7 +9,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/utilities/uttrack.c b/src/acpica/source/components/utilities/uttrack.c
index 7791fe9b..77e1b659 100644
--- a/src/acpica/source/components/utilities/uttrack.c
+++ b/src/acpica/source/components/utilities/uttrack.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/utilities/utuuid.c b/src/acpica/source/components/utilities/utuuid.c
index 8fd85d62..055086f1 100644
--- a/src/acpica/source/components/utilities/utuuid.c
+++ b/src/acpica/source/components/utilities/utuuid.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/utilities/utxface.c b/src/acpica/source/components/utilities/utxface.c
index 74a8ff48..d335bb1a 100644
--- a/src/acpica/source/components/utilities/utxface.c
+++ b/src/acpica/source/components/utilities/utxface.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/utilities/utxferror.c b/src/acpica/source/components/utilities/utxferror.c
index 77701dfe..6534e1a1 100644
--- a/src/acpica/source/components/utilities/utxferror.c
+++ b/src/acpica/source/components/utilities/utxferror.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/components/utilities/utxfinit.c b/src/acpica/source/components/utilities/utxfinit.c
index 865fe9d2..0ccaf5ca 100644
--- a/src/acpica/source/components/utilities/utxfinit.c
+++ b/src/acpica/source/components/utilities/utxfinit.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/include/acapps.h b/src/acpica/source/include/acapps.h
index 382ab170..9662e511 100644
--- a/src/acpica/source/include/acapps.h
+++ b/src/acpica/source/include/acapps.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, 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 - 2022 Intel Corporation"
+#define ACPICA_COPYRIGHT            "Copyright (c) 2000 - 2023 Intel Corporation"
 
 #if ACPI_MACHINE_WIDTH == 64
 #define ACPI_WIDTH          " (64-bit version)"
diff --git a/src/acpica/source/include/acbuffer.h b/src/acpica/source/include/acbuffer.h
index 0739feb5..63225aa7 100644
--- a/src/acpica/source/include/acbuffer.h
+++ b/src/acpica/source/include/acbuffer.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/include/accommon.h b/src/acpica/source/include/accommon.h
index 210035cd..219372d3 100644
--- a/src/acpica/source/include/accommon.h
+++ b/src/acpica/source/include/accommon.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/include/acconfig.h b/src/acpica/source/include/acconfig.h
index 04f7f4f0..5ae00322 100644
--- a/src/acpica/source/include/acconfig.h
+++ b/src/acpica/source/include/acconfig.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/include/acconvert.h b/src/acpica/source/include/acconvert.h
index 048fd53e..3aa36a8b 100644
--- a/src/acpica/source/include/acconvert.h
+++ b/src/acpica/source/include/acconvert.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/include/acdebug.h b/src/acpica/source/include/acdebug.h
index 6716a094..c1596ee8 100644
--- a/src/acpica/source/include/acdebug.h
+++ b/src/acpica/source/include/acdebug.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/include/acdisasm.h b/src/acpica/source/include/acdisasm.h
index 47ce0b15..afc9034b 100644
--- a/src/acpica/source/include/acdisasm.h
+++ b/src/acpica/source/include/acdisasm.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -260,6 +260,7 @@  typedef enum
     ACPI_DMT_AEST_XRUPT,
     ACPI_DMT_AGDI,
     ACPI_DMT_ASF,
+    ACPI_DMT_ASPT,
     ACPI_DMT_CDAT,
     ACPI_DMT_CEDT,
     ACPI_DMT_DMAR,
@@ -280,6 +281,7 @@  typedef enum
     ACPI_DMT_IVRS_UNTERMINATED_STRING,
     ACPI_DMT_LPIT,
     ACPI_DMT_MADT,
+    ACPI_DMT_MPAM_LOCATOR,
     ACPI_DMT_NFIT,
     ACPI_DMT_NHLT1,
     ACPI_DMT_NHLT1a,
@@ -294,6 +296,7 @@  typedef enum
     ACPI_DMT_PMTT_VENDOR,
     ACPI_DMT_PPTT,
     ACPI_DMT_RGRT,
+    ACPI_DMT_RHCT,
     ACPI_DMT_SDEI,
     ACPI_DMT_SDEV,
     ACPI_DMT_SLIC,
@@ -399,6 +402,11 @@  extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf2a[];
 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf3[];
 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsf4[];
 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsfHdr[];
+extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAspt[];
+extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAsptHdr[];
+extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAspt0[];
+extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAspt1[];
+extern ACPI_DMTABLE_INFO        AcpiDmTableInfoAspt2[];
 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoBdat[];
 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoBoot[];
 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoBert[];
@@ -550,6 +558,17 @@  extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMadtHdr[];
 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMcfg[];
 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMcfg0[];
 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMchi[];
+extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpam0[];
+extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpam1[];
+extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpam1A[];
+extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpam1B[];
+extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpam1C[];
+extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpam1D[];
+extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpam1E[];
+extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpam1F[];
+extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpam1G[];
+extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpam1Deps[];
+extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpam2[];
 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst[];
 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst0[];
 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoMpst0A[];
@@ -623,6 +642,12 @@  extern ACPI_DMTABLE_INFO        AcpiDmTableInfoPrmtHandler[];
 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRasf[];
 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRgrt[];
 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRgrt0[];
+extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRhct[];
+extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRhctNodeHdr[];
+extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRhctIsa1[];
+extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRhctIsaPad[];
+extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRhctHartInfo1[];
+extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRhctHartInfo2[];
 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRsdp1[];
 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoRsdp2[];
 extern ACPI_DMTABLE_INFO        AcpiDmTableInfoS3pt[];
@@ -758,6 +783,10 @@  void
 AcpiDmDumpAsf (
     ACPI_TABLE_HEADER       *Table);
 
+void
+AcpiDmDumpAspt (
+    ACPI_TABLE_HEADER       *Table);
+
 void
 AcpiDmDumpCcel (
     ACPI_TABLE_HEADER       *Table);
@@ -838,6 +867,10 @@  void
 AcpiDmDumpMcfg (
     ACPI_TABLE_HEADER       *Table);
 
+void
+AcpiDmDumpMpam (
+    ACPI_TABLE_HEADER       *Table);
+
 void
 AcpiDmDumpMpst (
     ACPI_TABLE_HEADER       *Table);
@@ -882,6 +915,10 @@  void
 AcpiDmDumpRgrt (
     ACPI_TABLE_HEADER       *Table);
 
+void
+AcpiDmDumpRhct (
+    ACPI_TABLE_HEADER       *Table);
+
 UINT32
 AcpiDmDumpRsdp (
     ACPI_TABLE_HEADER       *Table);
@@ -1323,6 +1360,12 @@  AcpiDmVendorCommon (
     UINT32                  Length,
     UINT32                  Level);
 
+void
+AcpiDmClockInputDescriptor (
+    ACPI_OP_WALK_INFO       *Info,
+    AML_RESOURCE            *Resource,
+    UINT32                  Length,
+    UINT32                  Level);
 
 /*
  * dmresrcs
diff --git a/src/acpica/source/include/acdispat.h b/src/acpica/source/include/acdispat.h
index 2c44c9f1..3e8ad810 100644
--- a/src/acpica/source/include/acdispat.h
+++ b/src/acpica/source/include/acdispat.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/include/acevents.h b/src/acpica/source/include/acevents.h
index f8c5d776..f9972d8d 100644
--- a/src/acpica/source/include/acevents.h
+++ b/src/acpica/source/include/acevents.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/include/acexcep.h b/src/acpica/source/include/acexcep.h
index 92e94972..9271dc4c 100644
--- a/src/acpica/source/include/acexcep.h
+++ b/src/acpica/source/include/acexcep.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/include/acglobal.h b/src/acpica/source/include/acglobal.h
index 1850d94b..28fc6514 100644
--- a/src/acpica/source/include/acglobal.h
+++ b/src/acpica/source/include/acglobal.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/include/achware.h b/src/acpica/source/include/achware.h
index 256008c7..6e0631e0 100644
--- a/src/acpica/source/include/achware.h
+++ b/src/acpica/source/include/achware.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/include/acinterp.h b/src/acpica/source/include/acinterp.h
index d9cec345..4c36708a 100644
--- a/src/acpica/source/include/acinterp.h
+++ b/src/acpica/source/include/acinterp.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/include/aclocal.h b/src/acpica/source/include/aclocal.h
index 74eb6e27..9c090a07 100644
--- a/src/acpica/source/include/aclocal.h
+++ b/src/acpica/source/include/aclocal.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -1452,7 +1452,8 @@  typedef struct acpi_port_info
 #define ACPI_RESOURCE_NAME_PIN_GROUP            0x90
 #define ACPI_RESOURCE_NAME_PIN_GROUP_FUNCTION   0x91
 #define ACPI_RESOURCE_NAME_PIN_GROUP_CONFIG     0x92
-#define ACPI_RESOURCE_NAME_LARGE_MAX            0x92
+#define ACPI_RESOURCE_NAME_CLOCK_INPUT          0x93
+#define ACPI_RESOURCE_NAME_LARGE_MAX            0x94
 
 
 /*****************************************************************************
diff --git a/src/acpica/source/include/acmacros.h b/src/acpica/source/include/acmacros.h
index 11fd47cc..66c90b6a 100644
--- a/src/acpica/source/include/acmacros.h
+++ b/src/acpica/source/include/acmacros.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/include/acnames.h b/src/acpica/source/include/acnames.h
index 846d192b..a6cdd2e2 100644
--- a/src/acpica/source/include/acnames.h
+++ b/src/acpica/source/include/acnames.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/include/acnamesp.h b/src/acpica/source/include/acnamesp.h
index 7b8d069d..432d9d44 100644
--- a/src/acpica/source/include/acnamesp.h
+++ b/src/acpica/source/include/acnamesp.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/include/acobject.h b/src/acpica/source/include/acobject.h
index b2c9dd9b..4454c572 100644
--- a/src/acpica/source/include/acobject.h
+++ b/src/acpica/source/include/acobject.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/include/acopcode.h b/src/acpica/source/include/acopcode.h
index 7e54a47f..f2ce2cd5 100644
--- a/src/acpica/source/include/acopcode.h
+++ b/src/acpica/source/include/acopcode.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/include/acoutput.h b/src/acpica/source/include/acoutput.h
index cd3d26d5..502d9a94 100644
--- a/src/acpica/source/include/acoutput.h
+++ b/src/acpica/source/include/acoutput.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/include/acparser.h b/src/acpica/source/include/acparser.h
index 4437d612..0dd0e345 100644
--- a/src/acpica/source/include/acparser.h
+++ b/src/acpica/source/include/acparser.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/include/acpi.h b/src/acpica/source/include/acpi.h
index 081e3b7d..445e4413 100644
--- a/src/acpica/source/include/acpi.h
+++ b/src/acpica/source/include/acpi.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/include/acpiosxf.h b/src/acpica/source/include/acpiosxf.h
index 67c11013..c4857cae 100644
--- a/src/acpica/source/include/acpiosxf.h
+++ b/src/acpica/source/include/acpiosxf.h
@@ -10,7 +10,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/include/acpixf.h b/src/acpica/source/include/acpixf.h
index 7b779375..a7d61033 100644
--- a/src/acpica/source/include/acpixf.h
+++ b/src/acpica/source/include/acpixf.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -154,7 +154,7 @@ 
 
 /* Current ACPICA subsystem version in YYYYMMDD format */
 
-#define ACPI_CA_VERSION                 0x20221020
+#define ACPI_CA_VERSION                 0x20230331
 
 #include "acconfig.h"
 #include "actypes.h"
@@ -770,7 +770,7 @@  ACPI_EXTERNAL_RETURN_STATUS (
 ACPI_STATUS
 AcpiGetHandle (
     ACPI_HANDLE             Parent,
-    ACPI_STRING             Pathname,
+    const char              *Pathname,
     ACPI_HANDLE             *RetHandle))
 
 ACPI_EXTERNAL_RETURN_STATUS (
@@ -942,6 +942,21 @@  AcpiInstallAddressSpaceHandler (
     ACPI_ADR_SPACE_SETUP    Setup,
     void                    *Context))
 
+ACPI_EXTERNAL_RETURN_STATUS (
+ACPI_STATUS
+AcpiInstallAddressSpaceHandlerNo_Reg(
+    ACPI_HANDLE             Device,
+    ACPI_ADR_SPACE_TYPE     SpaceId,
+    ACPI_ADR_SPACE_HANDLER  Handler,
+    ACPI_ADR_SPACE_SETUP    Setup,
+    void                    *Context))
+
+ACPI_EXTERNAL_RETURN_STATUS (
+ACPI_STATUS
+AcpiExecuteRegMethods (
+    ACPI_HANDLE             Device,
+    ACPI_ADR_SPACE_TYPE     SpaceId))
+
 ACPI_EXTERNAL_RETURN_STATUS (
 ACPI_STATUS
 AcpiRemoveAddressSpaceHandler (
diff --git a/src/acpica/source/include/acpredef.h b/src/acpica/source/include/acpredef.h
index 9ad8c0ff..ca47e7cc 100644
--- a/src/acpica/source/include/acpredef.h
+++ b/src/acpica/source/include/acpredef.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/include/acresrc.h b/src/acpica/source/include/acresrc.h
index 8214ed83..85be65dc 100644
--- a/src/acpica/source/include/acresrc.h
+++ b/src/acpica/source/include/acresrc.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -506,6 +506,7 @@  extern ACPI_RSCONVERT_INFO      AcpiRsConvertPinConfig[];
 extern ACPI_RSCONVERT_INFO      AcpiRsConvertPinGroup[];
 extern ACPI_RSCONVERT_INFO      AcpiRsConvertPinGroupFunction[];
 extern ACPI_RSCONVERT_INFO      AcpiRsConvertPinGroupConfig[];
+extern ACPI_RSCONVERT_INFO      AcpiRsConvertClockInput[];
 
 /* These resources require separate get/set tables */
 
@@ -562,6 +563,7 @@  extern ACPI_RSDUMP_INFO         AcpiRsDumpPinConfig[];
 extern ACPI_RSDUMP_INFO         AcpiRsDumpPinGroup[];
 extern ACPI_RSDUMP_INFO         AcpiRsDumpPinGroupFunction[];
 extern ACPI_RSDUMP_INFO         AcpiRsDumpPinGroupConfig[];
+extern ACPI_RSDUMP_INFO         AcpiRsDumpClockInput[];
 #endif
 
 #endif  /* __ACRESRC_H__ */
diff --git a/src/acpica/source/include/acrestyp.h b/src/acpica/source/include/acrestyp.h
index f045c200..3065bdce 100644
--- a/src/acpica/source/include/acrestyp.h
+++ b/src/acpica/source/include/acrestyp.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -290,7 +290,10 @@  typedef struct acpi_resource_irq
     UINT8                           Shareable;
     UINT8                           WakeCapable;
     UINT8                           InterruptCount;
-    UINT8                           Interrupts[1];
+    union {
+        UINT8                       Interrupt;
+        ACPI_FLEX_ARRAY(UINT8,      Interrupts);
+    } u;
 
 } ACPI_RESOURCE_IRQ;
 
@@ -300,7 +303,10 @@  typedef struct acpi_resource_dma
     UINT8                           BusMaster;
     UINT8                           Transfer;
     UINT8                           ChannelCount;
-    UINT8                           Channels[1];
+    union {
+        UINT8                       Channel;
+        ACPI_FLEX_ARRAY(UINT8,      Channels);
+    } u;
 
 } ACPI_RESOURCE_DMA;
 
@@ -357,7 +363,7 @@  typedef struct acpi_resource_fixed_dma
 typedef struct acpi_resource_vendor
 {
     UINT16                          ByteLength;
-    UINT8                           ByteData[1];
+    UINT8                           ByteData[];
 
 } ACPI_RESOURCE_VENDOR;
 
@@ -368,7 +374,7 @@  typedef struct acpi_resource_vendor_typed
     UINT16                          ByteLength;
     UINT8                           UuidSubtype;
     UINT8                           Uuid[ACPI_UUID_LENGTH];
-    UINT8                           ByteData[1];
+    UINT8                           ByteData[];
 
 } ACPI_RESOURCE_VENDOR_TYPED;
 
@@ -538,7 +544,10 @@  typedef struct acpi_resource_extended_irq
     UINT8                           WakeCapable;
     UINT8                           InterruptCount;
     ACPI_RESOURCE_SOURCE            ResourceSource;
-    UINT32                          Interrupts[1];
+    union {
+        UINT32                      Interrupt;
+        ACPI_FLEX_ARRAY(UINT32,     Interrupts);
+    } u;
 
 } ACPI_RESOURCE_EXTENDED_IRQ;
 
@@ -770,6 +779,16 @@  typedef struct acpi_resource_pin_config
 
 } ACPI_RESOURCE_PIN_CONFIG;
 
+typedef struct acpi_resource_clock_input
+{
+    UINT8                           RevisionId;
+    UINT8                           Mode;
+    UINT8                           Scale;
+    UINT16                          FrequencyDivisor;
+    UINT32                          FrequencyNumerator;
+    ACPI_RESOURCE_SOURCE            ResourceSource;
+} ACPI_RESOURCE_CLOCK_INPUT;
+
 /* Values for PinConfigType field above */
 
 #define ACPI_PIN_CONFIG_DEFAULT                 0
@@ -853,7 +872,8 @@  typedef struct acpi_resource_pin_group_config
 #define ACPI_RESOURCE_TYPE_PIN_GROUP            22  /* ACPI 6.2 */
 #define ACPI_RESOURCE_TYPE_PIN_GROUP_FUNCTION   23  /* ACPI 6.2 */
 #define ACPI_RESOURCE_TYPE_PIN_GROUP_CONFIG     24  /* ACPI 6.2 */
-#define ACPI_RESOURCE_TYPE_MAX                  24
+#define ACPI_RESOURCE_TYPE_CLOCK_INPUT          25  /* ACPI 6.5 */
+#define ACPI_RESOURCE_TYPE_MAX                  25
 
 /* Master union for resource descriptors */
 
@@ -888,6 +908,7 @@  typedef union acpi_resource_data
     ACPI_RESOURCE_PIN_GROUP                 PinGroup;
     ACPI_RESOURCE_PIN_GROUP_FUNCTION        PinGroupFunction;
     ACPI_RESOURCE_PIN_GROUP_CONFIG          PinGroupConfig;
+    ACPI_RESOURCE_CLOCK_INPUT               ClockInput;
 
     /* Common fields */
 
@@ -927,8 +948,10 @@  typedef struct acpi_pci_routing_table
     UINT32                          Pin;
     UINT64                          Address;        /* here for 64-bit alignment */
     UINT32                          SourceIndex;
-    char                            Source[4];      /* pad to 64 bits so sizeof() works in all cases */
-
+    union {
+                                    char Pad[4];    /* pad to 64 bits so sizeof() works in all cases */
+                                    ACPI_FLEX_ARRAY(char, Source);
+    } u;
 } ACPI_PCI_ROUTING_TABLE;
 
 #endif /* __ACRESTYP_H__ */
diff --git a/src/acpica/source/include/acstruct.h b/src/acpica/source/include/acstruct.h
index d50c7a1b..fe087179 100644
--- a/src/acpica/source/include/acstruct.h
+++ b/src/acpica/source/include/acstruct.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/include/actables.h b/src/acpica/source/include/actables.h
index e9b070f9..21c34435 100644
--- a/src/acpica/source/include/actables.h
+++ b/src/acpica/source/include/actables.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/include/actbinfo.h b/src/acpica/source/include/actbinfo.h
index 7ce3c21e..5417aff4 100644
--- a/src/acpica/source/include/actbinfo.h
+++ b/src/acpica/source/include/actbinfo.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -153,6 +153,7 @@ 
  * Macros used to generate offsets to specific table fields
  */
 #define ACPI_AGDI_OFFSET(f)             (UINT16) ACPI_OFFSET (ACPI_TABLE_AGDI,f)
+#define ACPI_ASPT_OFFSET(f)             (UINT16) ACPI_OFFSET (ACPI_TABLE_ASPT,f)
 #define ACPI_FACS_OFFSET(f)             (UINT16) ACPI_OFFSET (ACPI_TABLE_FACS,f)
 #define ACPI_GAS_OFFSET(f)              (UINT16) ACPI_OFFSET (ACPI_GENERIC_ADDRESS,f)
 #define ACPI_HDR_OFFSET(f)              (UINT16) ACPI_OFFSET (ACPI_TABLE_HEADER,f)
@@ -188,6 +189,7 @@ 
 #define ACPI_PMTT_OFFSET(f)             (UINT16) ACPI_OFFSET (ACPI_TABLE_PMTT,f)
 #define ACPI_RASF_OFFSET(f)             (UINT16) ACPI_OFFSET (ACPI_TABLE_RASF,f)
 #define ACPI_RGRT_OFFSET(f)             (UINT16) ACPI_OFFSET (ACPI_TABLE_RGRT,f)
+#define ACPI_RHCT_OFFSET(f)             (UINT16) ACPI_OFFSET (ACPI_TABLE_RHCT,f)
 #define ACPI_S3PT_OFFSET(f)             (UINT16) ACPI_OFFSET (ACPI_TABLE_S3PT,f)
 #define ACPI_SBST_OFFSET(f)             (UINT16) ACPI_OFFSET (ACPI_TABLE_SBST,f)
 #define ACPI_SDEI_OFFSET(f)             (UINT16) ACPI_OFFSET (ACPI_TABLE_SDEI,f)
@@ -234,6 +236,10 @@ 
 #define ACPI_ASF2a_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_ASF_CONTROL_DATA,f)
 #define ACPI_ASF3_OFFSET(f)             (UINT16) ACPI_OFFSET (ACPI_ASF_RMCP,f)
 #define ACPI_ASF4_OFFSET(f)             (UINT16) ACPI_OFFSET (ACPI_ASF_ADDRESS,f)
+#define ACPI_ASPTH_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_ASPT_HEADER,f)
+#define ACPI_ASPT0_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_ASPT_GLOBAL_REGS,f)
+#define ACPI_ASPT1_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_ASPT_SEV_MBOX_REGS,f)
+#define ACPI_ASPT2_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_ASPT_ACPI_MBOX_REGS,f)
 #define ACPI_CDAT_OFFSET(f)             (UINT16) ACPI_OFFSET (ACPI_TABLE_CDAT,f)
 #define ACPI_CDATH_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_CDAT_HEADER,f)
 #define ACPI_CDAT0_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_CDAT_DSMAS,f)
@@ -331,6 +337,16 @@ 
 #define ACPI_MADT17_OFFSET(f)           (UINT16) ACPI_OFFSET (ACPI_MADT_OEM_DATA,f)
 #define ACPI_MADTH_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_SUBTABLE_HEADER,f)
 #define ACPI_MCFG0_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_MCFG_ALLOCATION,f)
+#define ACPI_MPAM0_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_MPAM_MSC_NODE,f)
+#define ACPI_MPAM1_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_NODE,f)
+#define ACPI_MPAM1A_OFFSET(f)           (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_CACHE_LOCATOR,f)
+#define ACPI_MPAM1B_OFFSET(f)           (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_MEMORY_LOCATOR,f)
+#define ACPI_MPAM1C_OFFSET(f)           (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_SMMU_INTERFACE,f)
+#define ACPI_MPAM1D_OFFSET(f)           (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_MEMCACHE_INTERFACE,f)
+#define ACPI_MPAM1E_OFFSET(f)           (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_ACPI_INTERFACE,f)
+#define ACPI_MPAM1F_OFFSET(f)           (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_INTERCONNECT_INTERFACE,f)
+#define ACPI_MPAM1G_OFFSET(f)           (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_GENERIC_LOCATOR,f)
+#define ACPI_MPAM2_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_MPAM_FUNC_DEPS,f)
 #define ACPI_MPST0_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_MPST_POWER_NODE,f)
 #define ACPI_MPST0A_OFFSET(f)           (UINT16) ACPI_OFFSET (ACPI_MPST_POWER_STATE,f)
 #define ACPI_MPST0B_OFFSET(f)           (UINT16) ACPI_OFFSET (ACPI_MPST_COMPONENT,f)
@@ -385,6 +401,9 @@ 
 #define ACPI_PRMTH_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_TABLE_PRMT_HEADER,f)
 #define ACPI_PRMT0_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_PRMT_MODULE_INFO,f)
 #define ACPI_PRMT1_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_PRMT_HANDLER_INFO,f)
+#define ACPI_RHCTH_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_RHCT_NODE_HEADER,f)
+#define ACPI_RHCT0_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_RHCT_ISA_STRING,f)
+#define ACPI_RHCTFFFF_OFFSET(f)         (UINT16) ACPI_OFFSET (ACPI_RHCT_HART_INFO,f)
 #define ACPI_S3PTH_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_FPDT_HEADER,f)
 #define ACPI_S3PT0_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_S3PT_RESUME,f)
 #define ACPI_S3PT1_OFFSET(f)            (UINT16) ACPI_OFFSET (ACPI_S3PT_SUSPEND,f)
diff --git a/src/acpica/source/include/actbl.h b/src/acpica/source/include/actbl.h
index f23080fb..2a148491 100644
--- a/src/acpica/source/include/actbl.h
+++ b/src/acpica/source/include/actbl.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/include/actbl1.h b/src/acpica/source/include/actbl1.h
index 340b636b..1b115ae3 100644
--- a/src/acpica/source/include/actbl1.h
+++ b/src/acpica/source/include/actbl1.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -170,6 +170,7 @@ 
  */
 #define ACPI_SIG_AEST           "AEST"      /* Arm Error Source Table */
 #define ACPI_SIG_ASF            "ASF!"      /* Alert Standard Format table */
+#define ACPI_SIG_ASPT           "ASPT"      /* AMD Secure Processor Table */
 #define ACPI_SIG_BERT           "BERT"      /* Boot Error Record Table */
 #define ACPI_SIG_BGRT           "BGRT"      /* Boot Graphics Resource Table */
 #define ACPI_SIG_BOOT           "BOOT"      /* Simple Boot Flag Table */
@@ -398,6 +399,86 @@  typedef struct acpi_asf_address
 
 } ACPI_ASF_ADDRESS;
 
+/*******************************************************************************
+ *
+ * ASPT - AMD Secure Processor Table (Signature "ASPT")
+ *        Revision 0x1
+ *
+ * Conforms to AMD Socket SP5/SP6 Platform ASPT Rev1 Specification,
+ * 12 September 2022
+ *
+ ******************************************************************************/
+
+typedef struct acpi_table_aspt
+{
+    ACPI_TABLE_HEADER       Header;             /* Common ACPI table header */
+    UINT32                  NumEntries;
+
+} ACPI_TABLE_ASPT;
+
+
+/* ASPT subtable header */
+
+typedef struct acpi_aspt_header
+{
+    UINT16                  Type;
+    UINT16                  Length;
+
+} ACPI_ASPT_HEADER;
+
+
+/* Values for Type field above */
+
+enum AcpiAsptType
+{
+    ACPI_ASPT_TYPE_GLOBAL_REGS      = 0,
+    ACPI_ASPT_TYPE_SEV_MBOX_REGS    = 1,
+    ACPI_ASPT_TYPE_ACPI_MBOX_REGS   = 2,
+    ACPI_ASPT_TYPE_UNKNOWN          = 3,
+};
+
+/*
+ * ASPT subtables
+ */
+
+/* 0: ASPT Global Registers */
+
+typedef struct acpi_aspt_global_regs
+{
+    ACPI_ASPT_HEADER        Header;
+    UINT32                  Reserved;
+    UINT64                  FeatureRegAddr;
+    UINT64                  IrqEnRegAddr;
+    UINT64                  IrqStRegAddr;
+
+} ACPI_ASPT_GLOBAL_REGS;
+
+
+/* 1: ASPT SEV Mailbox Registers */
+
+typedef struct acpi_aspt_sev_mbox_regs
+{
+    ACPI_ASPT_HEADER        Header;
+    UINT8                   MboxIrqId;
+    UINT8                   Reserved[3];
+    UINT64                  CmdRespRegAddr;
+    UINT64                  CmdBufLoRegAddr;
+    UINT64                  CmdBufHiRegAddr;
+
+} ACPI_ASPT_SEV_MBOX_REGS;
+
+
+/* 2: ASPT ACPI Mailbox Registers */
+
+typedef struct acpi_aspt_acpi_mbox_regs
+{
+    ACPI_ASPT_HEADER        Header;
+    UINT32                  Reserved1;
+    UINT64                  CmdRespRegAddr;
+    UINT64                  Reserved2[2];
+
+} ACPI_ASPT_ACPI_MBOX_REGS;
+
 
 /*******************************************************************************
  *
@@ -495,7 +576,6 @@  typedef struct acpi_table_boot
 } ACPI_TABLE_BOOT;
 
 
-
 /*******************************************************************************
  *
  * CDAT - Coherent Device Attribute Table
@@ -543,7 +623,7 @@  enum AcpiCdatType
 
 /* Subtable 0: Device Scoped Memory Affinity Structure (DSMAS) */
 
-typedef struct acpi_cadt_dsmas
+typedef struct acpi_cdat_dsmas
 {
     UINT8                   DsmadHandle;
     UINT8                   Flags;
@@ -1139,7 +1219,10 @@  typedef struct acpi_dmar_andd
     ACPI_DMAR_HEADER        Header;
     UINT8                   Reserved[3];
     UINT8                   DeviceNumber;
-    char                    DeviceName[1];
+    union {
+        char                  __pad;
+        ACPI_FLEX_ARRAY(char, DeviceName);
+    } u;
 
 } ACPI_DMAR_ANDD;
 
@@ -1192,7 +1275,7 @@  typedef struct acpi_table_drtm
 typedef struct acpi_drtm_vtable_list
 {
     UINT32                  ValidatedTableCount;
-    UINT64                  ValidatedTables[1];
+    UINT64                  ValidatedTables[];
 
 } ACPI_DRTM_VTABLE_LIST;
 
@@ -1211,7 +1294,7 @@  typedef struct acpi_drtm_resource
 typedef struct acpi_drtm_resource_list
 {
     UINT32                  ResourceCount;
-    ACPI_DRTM_RESOURCE      Resources[1];
+    ACPI_DRTM_RESOURCE      Resources[];
 
 } ACPI_DRTM_RESOURCE_LIST;
 
@@ -1239,7 +1322,7 @@  typedef struct acpi_table_ecdt
     ACPI_GENERIC_ADDRESS    Data;               /* Address of EC data register */
     UINT32                  Uid;                /* Unique ID - must be same as the EC _UID method */
     UINT8                   Gpe;                /* The GPE for the EC */
-    UINT8                   Id[1];              /* Full namepath of the EC in the ACPI namespace */
+    UINT8                   Id[];               /* Full namepath of the EC in the ACPI namespace */
 
 } ACPI_TABLE_ECDT;
 
diff --git a/src/acpica/source/include/actbl2.h b/src/acpica/source/include/actbl2.h
index 4be5f0fc..9b2812a0 100644
--- a/src/acpica/source/include/actbl2.h
+++ b/src/acpica/source/include/actbl2.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -179,6 +179,7 @@ 
 #define ACPI_SIG_MADT           "APIC"      /* Multiple APIC Description Table */
 #define ACPI_SIG_MCFG           "MCFG"      /* PCI Memory Mapped Configuration table */
 #define ACPI_SIG_MCHI           "MCHI"      /* Management Controller Host Interface table */
+#define ACPI_SIG_MPAM           "MPAM"      /* Memory System Resource Partitioning and Monitoring Table */
 #define ACPI_SIG_MPST           "MPST"      /* Memory Power State Table */
 #define ACPI_SIG_MSDM           "MSDM"      /* Microsoft Data Management Table */
 #define ACPI_SIG_NFIT           "NFIT"      /* NVDIMM Firmware Interface Table */
@@ -191,6 +192,7 @@ 
 #define ACPI_SIG_PRMT           "PRMT"      /* Platform Runtime Mechanism Table */
 #define ACPI_SIG_RASF           "RASF"      /* RAS Feature table */
 #define ACPI_SIG_RGRT           "RGRT"      /* Regulatory Graphics Resource Table */
+#define ACPI_SIG_RHCT           "RHCT"      /* RISC-V Hart Capabilities Table */
 #define ACPI_SIG_SBST           "SBST"      /* Smart Battery Specification Table */
 #define ACPI_SIG_SDEI           "SDEI"      /* Software Delegated Exception Interface Table */
 #define ACPI_SIG_SDEV           "SDEV"      /* Secure Devices table */
@@ -229,13 +231,12 @@ 
 typedef struct acpi_table_aest
 {
     ACPI_TABLE_HEADER       Header;
-    void                    *NodeArray[];
 
 } ACPI_TABLE_AEST;
 
 /* Common Subtable header - one per Node Structure (Subtable) */
 
-typedef struct              acpi_aest_hdr
+typedef struct acpi_aest_hdr
 {
     UINT8                   Type;
     UINT16                  Length;
@@ -266,7 +267,7 @@  typedef struct              acpi_aest_hdr
 
 /* 0: Processor Error */
 
-typedef struct              acpi_aest_processor
+typedef struct acpi_aest_processor
 {
     UINT32                  ProcessorId;
     UINT8                   ResourceType;
@@ -286,7 +287,7 @@  typedef struct              acpi_aest_processor
 
 /* 0R: Processor Cache Resource Substructure */
 
-typedef struct              acpi_aest_processor_cache
+typedef struct acpi_aest_processor_cache
 {
     UINT32                  CacheReference;
     UINT32                  Reserved;
@@ -302,7 +303,7 @@  typedef struct              acpi_aest_processor_cache
 
 /* 1R: Processor TLB Resource Substructure */
 
-typedef struct              acpi_aest_processor_tlb
+typedef struct acpi_aest_processor_tlb
 {
     UINT32                  TlbLevel;
     UINT32                  Reserved;
@@ -311,7 +312,7 @@  typedef struct              acpi_aest_processor_tlb
 
 /* 2R: Processor Generic Resource Substructure */
 
-typedef struct              acpi_aest_processor_generic
+typedef struct acpi_aest_processor_generic
 {
     UINT32                   Resource;
 
@@ -319,7 +320,7 @@  typedef struct              acpi_aest_processor_generic
 
 /* 1: Memory Error */
 
-typedef struct              acpi_aest_memory
+typedef struct acpi_aest_memory
 {
     UINT32                  SratProximityDomain;
 
@@ -327,7 +328,7 @@  typedef struct              acpi_aest_memory
 
 /* 2: Smmu Error */
 
-typedef struct              acpi_aest_smmu
+typedef struct acpi_aest_smmu
 {
     UINT32                  IortNodeReference;
     UINT32                  SubcomponentReference;
@@ -336,7 +337,7 @@  typedef struct              acpi_aest_smmu
 
 /* 3: Vendor Defined */
 
-typedef struct              acpi_aest_vendor
+typedef struct acpi_aest_vendor
 {
     UINT32                  AcpiHid;
     UINT32                  AcpiUid;
@@ -346,7 +347,7 @@  typedef struct              acpi_aest_vendor
 
 /* 4: Gic Error */
 
-typedef struct              acpi_aest_gic
+typedef struct acpi_aest_gic
 {
     UINT32                  InterfaceType;
     UINT32                  InstanceId;
@@ -364,7 +365,7 @@  typedef struct              acpi_aest_gic
 
 /* Node Interface Structure */
 
-typedef struct              acpi_aest_node_interface
+typedef struct acpi_aest_node_interface
 {
     UINT8                   Type;
     UINT8                   Reserved[3];
@@ -386,7 +387,7 @@  typedef struct              acpi_aest_node_interface
 
 /* Node Interrupt Structure */
 
-typedef struct              acpi_aest_node_interrupt
+typedef struct acpi_aest_node_interrupt
 {
     UINT8                   Type;
     UINT8                   Reserved[2];
@@ -571,7 +572,7 @@  typedef struct acpi_iort_node
     UINT32                  Identifier;
     UINT32                  MappingCount;
     UINT32                  MappingOffset;
-    char                    NodeData[1];
+    char                    NodeData[];
 
 } ACPI_IORT_NODE;
 
@@ -637,7 +638,7 @@  typedef struct acpi_iort_memory_access
 typedef struct acpi_iort_its_group
 {
     UINT32                  ItsCount;
-    UINT32                  Identifiers[1];         /* GIC ITS identifier array */
+    UINT32                  Identifiers[];          /* GIC ITS identifier array */
 
 } ACPI_IORT_ITS_GROUP;
 
@@ -647,7 +648,7 @@  typedef struct acpi_iort_named_component
     UINT32                  NodeFlags;
     UINT64                  MemoryProperties;       /* Memory access properties */
     UINT8                   MemoryAddressLimit;     /* Memory address size limit */
-    char                    DeviceName[1];          /* Path of namespace object */
+    char                    DeviceName[];           /* Path of namespace object */
 
 } ACPI_IORT_NAMED_COMPONENT;
 
@@ -663,7 +664,7 @@  typedef struct acpi_iort_root_complex
     UINT32                  PciSegmentNumber;
     UINT8                   MemoryAddressLimit;     /* Memory address size limit */
     UINT16                  PasidCapabilities;      /* PASID Capabilities */
-    UINT8                   Reserved[1];            /* Reserved, must be zero */
+    UINT8                   Reserved[];             /* Reserved, must be zero */
 
 } ACPI_IORT_ROOT_COMPLEX;
 
@@ -687,7 +688,7 @@  typedef struct acpi_iort_smmu
     UINT32                  ContextInterruptOffset;
     UINT32                  PmuInterruptCount;
     UINT32                  PmuInterruptOffset;
-    UINT64                  Interrupts[1];          /* Interrupt array */
+    UINT64                  Interrupts[];           /* Interrupt array */
 
 } ACPI_IORT_SMMU;
 
@@ -1134,7 +1135,8 @@  enum AcpiMadtType
     ACPI_MADT_TYPE_MSI_PIC                  = 21,
     ACPI_MADT_TYPE_BIO_PIC                  = 22,
     ACPI_MADT_TYPE_LPC_PIC                  = 23,
-    ACPI_MADT_TYPE_RESERVED                 = 24,   /* 24 to 0x7F are reserved */
+    ACPI_MADT_TYPE_RINTC                    = 24,
+    ACPI_MADT_TYPE_RESERVED                 = 25,   /* 25 to 0x7F are reserved */
     ACPI_MADT_TYPE_OEM_RESERVED             = 0x80  /* 0x80 to 0xFF are reserved for OEM use */
 };
 
@@ -1239,7 +1241,7 @@  typedef struct acpi_madt_local_sapic
     UINT8                   Reserved[3];        /* Reserved, must be zero */
     UINT32                  LapicFlags;
     UINT32                  Uid;                /* Numeric UID - ACPI 3.0 */
-    char                    UidString[1];       /* String UID  - ACPI 3.0 */
+    char                    UidString[];        /* String UID  - ACPI 3.0 */
 
 } ACPI_MADT_LOCAL_SAPIC;
 
@@ -1290,7 +1292,7 @@  typedef struct acpi_madt_local_x2apic_nmi
 } ACPI_MADT_LOCAL_X2APIC_NMI;
 
 
-/* 11: Generic Interrupt - GICC (ACPI 5.0 + ACPI 6.0 + ACPI 6.3 changes) */
+/* 11: Generic Interrupt - GICC (ACPI 5.0 + ACPI 6.0 + ACPI 6.3 + ACPI 6.5 changes) */
 
 typedef struct acpi_madt_generic_interrupt
 {
@@ -1311,6 +1313,7 @@  typedef struct acpi_madt_generic_interrupt
     UINT8                   EfficiencyClass;
     UINT8                   Reserved2[1];
     UINT16                  SpeInterrupt;       /* ACPI 6.3 */
+    UINT16                  TrbeInterrupt;      /* ACPI 6.5 */
 
 } ACPI_MADT_GENERIC_INTERRUPT;
 
@@ -1546,11 +1549,29 @@  enum AcpiMadtLpcPicVersion {
     ACPI_MADT_LPC_PIC_VERSION_RESERVED   = 2	/* 2 and greater are reserved */
 };
 
+/* 24: RISC-V INTC */
+struct acpi_madt_rintc {
+    ACPI_SUBTABLE_HEADER    Header;
+    UINT8                   Version;
+    UINT8                   Reserved;
+    UINT32                  Flags;
+    UINT64                  HartId;
+    UINT32                  Uid;                /* ACPI processor UID */
+};
+
+/* Values for RISC-V INTC Version field above */
+
+enum AcpiMadtRintcVersion {
+    ACPI_MADT_RINTC_VERSION_NONE       = 0,
+    ACPI_MADT_RINTC_VERSION_V1         = 1,
+    ACPI_MADT_RINTC_VERSION_RESERVED   = 2	/* 2 and greater are reserved */
+};
+
 /* 80: OEM data */
 
 typedef struct acpi_madt_oem_data
 {
-    UINT8                   OemData[0];
+    ACPI_FLEX_ARRAY(UINT8,  OemData);
 } ACPI_MADT_OEM_DATA;
 
 
@@ -1639,6 +1660,132 @@  typedef struct acpi_table_mchi
 
 } ACPI_TABLE_MCHI;
 
+/*******************************************************************************
+ *
+ * MPAM - Memory System Resource Partitioning and Monitoring
+ *
+ * Conforms to "ACPI for Memory System Resource Partitioning and Monitoring 2.0"
+ * Document number: ARM DEN 0065, December, 2022.
+ *
+ ******************************************************************************/
+
+/* MPAM RIS locator types. Table 11, Location types */
+enum AcpiMpamLocatorType {
+    ACPI_MPAM_LOCATION_TYPE_PROCESSOR_CACHE    = 0,
+    ACPI_MPAM_LOCATION_TYPE_MEMORY             = 1,
+    ACPI_MPAM_LOCATION_TYPE_SMMU               = 2,
+    ACPI_MPAM_LOCATION_TYPE_MEMORY_CACHE       = 3,
+    ACPI_MPAM_LOCATION_TYPE_ACPI_DEVICE        = 4,
+    ACPI_MPAM_LOCATION_TYPE_INTERCONNECT       = 5,
+    ACPI_MPAM_LOCATION_TYPE_UNKNOWN            = 0xFF
+};
+
+/* MPAM Functional dependency descriptor. Table 10 */
+typedef struct acpi_mpam_func_deps
+{
+    UINT32                        Producer;
+    UINT32                        Reserved;
+} ACPI_MPAM_FUNC_DEPS;
+
+/* MPAM Processor cache locator descriptor. Table 13 */
+typedef struct acpi_mpam_resource_cache_locator
+{
+    UINT64                        CacheReference;
+    UINT32                        Reserved;
+} ACPI_MPAM_RESOURCE_CACHE_LOCATOR;
+
+/* MPAM Memory locator descriptor. Table 14 */
+typedef struct acpi_mpam_resource_memory_locator
+{
+    UINT64                        ProximityDomain;
+    UINT32                        Reserved;
+} ACPI_MPAM_RESOURCE_MEMORY_LOCATOR;
+
+/* MPAM SMMU locator descriptor. Table 15 */
+typedef struct acpi_mpam_resource_smmu_locator
+{
+    UINT64                        SmmuInterface;
+    UINT32                        Reserved;
+} ACPI_MPAM_RESOURCE_SMMU_INTERFACE;
+
+/* MPAM Memory-side cache locator descriptor. Table 16 */
+typedef struct acpi_mpam_resource_memcache_locator
+{
+    UINT8                         Reserved[7];
+    UINT8                         Level;
+    UINT32                        Reference;
+} ACPI_MPAM_RESOURCE_MEMCACHE_INTERFACE;
+
+/* MPAM ACPI device locator descriptor. Table 17 */
+typedef struct acpi_mpam_resource_acpi_locator
+{
+    UINT64                        AcpiHwId;
+    UINT32                        AcpiUniqueId;
+} ACPI_MPAM_RESOURCE_ACPI_INTERFACE;
+
+/* MPAM Interconnect locator descriptor. Table 18 */
+typedef struct acpi_mpam_resource_interconnect_locator
+{
+    UINT64                        InterConnectDescTblOff;
+    UINT32                        Reserved;
+} ACPI_MPAM_RESOURCE_INTERCONNECT_INTERFACE;
+
+/* MPAM Locator structure. Table 12 */
+typedef struct acpi_mpam_resource_generic_locator
+{
+    UINT64                        Descriptor1;
+    UINT32                        Descriptor2;
+} ACPI_MPAM_RESOURCE_GENERIC_LOCATOR;
+
+typedef union acpi_mpam_resource_locator
+{
+    ACPI_MPAM_RESOURCE_CACHE_LOCATOR             CacheLocator;
+    ACPI_MPAM_RESOURCE_MEMORY_LOCATOR            MemoryLocator;
+    ACPI_MPAM_RESOURCE_SMMU_INTERFACE            SmmuLocator;
+    ACPI_MPAM_RESOURCE_MEMCACHE_INTERFACE        MemCacheLocator;
+    ACPI_MPAM_RESOURCE_ACPI_INTERFACE            AcpiLocator;
+    ACPI_MPAM_RESOURCE_INTERCONNECT_INTERFACE    InterconnectIfcLocator;
+    ACPI_MPAM_RESOURCE_GENERIC_LOCATOR           GenericLocator;
+} ACPI_MPAM_RESOURCE_LOCATOR;
+
+/* Memory System Component Resource Node Structure Table 9 */
+typedef struct acpi_mpam_resource_node
+{
+    UINT32                        Identifier;
+    UINT8                         RISIndex;
+    UINT16                        Reserved1;
+    UINT8                         LocatorType;
+    ACPI_MPAM_RESOURCE_LOCATOR    Locator;
+    UINT32                        NumFunctionalDeps;
+} ACPI_MPAM_RESOURCE_NODE;
+
+/* Memory System Component (MSC) Node Structure. Table 4 */
+typedef struct acpi_mpam_msc_node
+{
+    UINT16                     Length;
+    UINT8                      InterfaceType;
+    UINT8                      Reserved;
+    UINT32                     Identifier;
+    UINT64                     BaseAddress;
+    UINT32                     MMIOSize;
+    UINT32                     OverflowInterrupt;
+    UINT32                     OverflowInterruptFlags;
+    UINT32                     Reserved1;
+    UINT32                     OverflowInterruptAffinity;
+    UINT32                     ErrorInterrupt;
+    UINT32                     ErrorInterruptFlags;
+    UINT32                     Reserved2;
+    UINT32                     ErrorInterruptAffinity;
+    UINT32                     MaxNrdyUsec;
+    UINT64                     HardwareIdLinkedDevice;
+    UINT32                     InstanceIdLinkedDevice;
+    UINT32                     NumResouceNodes;
+} ACPI_MPAM_MSC_NODE;
+
+typedef struct acpi_table_mpam
+{
+    ACPI_TABLE_HEADER         Header;          /* Common ACPI table header */
+} ACPI_TABLE_MPAM;
 
 /*******************************************************************************
  *
@@ -1917,7 +2064,7 @@  typedef struct acpi_nfit_interleave
     UINT16                  Reserved;           /* Reserved, must be zero */
     UINT32                  LineCount;
     UINT32                  LineSize;
-    UINT32                  LineOffset[1];      /* Variable length */
+    UINT32                  LineOffset[];       /* Variable length */
 
 } ACPI_NFIT_INTERLEAVE;
 
@@ -1928,7 +2075,7 @@  typedef struct acpi_nfit_smbios
 {
     ACPI_NFIT_HEADER        Header;
     UINT32                  Reserved;           /* Reserved, must be zero */
-    UINT8                   Data[1];            /* Variable length */
+    UINT8                   Data[];             /* Variable length */
 
 } ACPI_NFIT_SMBIOS;
 
@@ -1994,7 +2141,7 @@  typedef struct acpi_nfit_flush_address
     UINT32                  DeviceHandle;
     UINT16                  HintCount;
     UINT8                   Reserved[6];        /* Reserved, must be zero */
-    UINT64                  HintAddress[1];     /* Variable length */
+    UINT64                  HintAddress[];      /* Variable length */
 
 } ACPI_NFIT_FLUSH_ADDRESS;
 
@@ -3129,6 +3276,53 @@  enum AcpiRgrtImageType
 };
 
 
+/*******************************************************************************
+ *
+ * RHCT - RISC-V Hart Capabilities Table
+ *        Version 1
+ *
+ ******************************************************************************/
+
+typedef struct acpi_table_rhct {
+    ACPI_TABLE_HEADER       Header;             /* Common ACPI table header */
+    UINT32                  Reserved;
+    UINT64                  TimeBaseFreq;
+    UINT32                  NodeCount;
+    UINT32                  NodeOffset;
+} ACPI_TABLE_RHCT;
+
+/*
+ * RHCT subtables
+ */
+typedef struct acpi_rhct_node_header {
+    UINT16                  Type;
+    UINT16                  Length;
+    UINT16                  Revision;
+} ACPI_RHCT_NODE_HEADER;
+
+/* Values for RHCT subtable Type above */
+
+enum acpi_rhct_node_type {
+    ACPI_RHCT_NODE_TYPE_ISA_STRING = 0x0000,
+    ACPI_RHCT_NODE_TYPE_HART_INFO  = 0xFFFF,
+};
+
+/*
+ * RHCT node specific subtables
+ */
+
+/* ISA string node structure */
+typedef struct acpi_rhct_isa_string {
+    UINT16                  IsaLength;
+    char                    Isa[];
+} ACPI_RHCT_ISA_STRING;
+
+/* Hart Info node structure */
+typedef struct acpi_rhct_hart_info {
+    UINT16                  NumOffsets;
+    UINT32                  Uid;                /* ACPI processor UID */
+} ACPI_RHCT_HART_INFO;
+
 /*******************************************************************************
  *
  * SBST - Smart Battery Specification Table
diff --git a/src/acpica/source/include/actbl3.h b/src/acpica/source/include/actbl3.h
index 7cc633a2..15ef0195 100644
--- a/src/acpica/source/include/actbl3.h
+++ b/src/acpica/source/include/actbl3.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/include/actypes.h b/src/acpica/source/include/actypes.h
index 92da002a..c0f0a87f 100644
--- a/src/acpica/source/include/actypes.h
+++ b/src/acpica/source/include/actypes.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -1481,7 +1481,7 @@  typedef struct acpi_mem_space_context
 
 } ACPI_MEM_SPACE_CONTEXT;
 
-typedef struct acpi_data_table_space_context
+typedef struct acpi_data_table_mapping
 {
     void                            *Pointer;
 
@@ -1574,4 +1574,8 @@  typedef enum
 #define ACPI_FALLTHROUGH do {} while(0)
 #endif
 
+#ifndef ACPI_FLEX_ARRAY
+#define ACPI_FLEX_ARRAY(TYPE, NAME)     TYPE NAME[0]
+#endif
+
 #endif /* __ACTYPES_H__ */
diff --git a/src/acpica/source/include/acutils.h b/src/acpica/source/include/acutils.h
index a0e7953b..bdca11c9 100644
--- a/src/acpica/source/include/acutils.h
+++ b/src/acpica/source/include/acutils.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -196,6 +196,8 @@  extern const char                       *AcpiGbl_SbDecode[];
 extern const char                       *AcpiGbl_FcDecode[];
 extern const char                       *AcpiGbl_PtDecode[];
 extern const char                       *AcpiGbl_PtypDecode[];
+extern const char                       *AcpiGbl_ClockInputMode[];
+extern const char                       *AcpiGbl_ClockInputScale[];
 #endif
 
 /*
diff --git a/src/acpica/source/include/acuuid.h b/src/acpica/source/include/acuuid.h
index 2ab07bb3..cf3abc0f 100644
--- a/src/acpica/source/include/acuuid.h
+++ b/src/acpica/source/include/acuuid.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/include/amlcode.h b/src/acpica/source/include/amlcode.h
index 25d591e5..62cbffad 100644
--- a/src/acpica/source/include/amlcode.h
+++ b/src/acpica/source/include/amlcode.h
@@ -10,7 +10,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/include/amlresrc.h b/src/acpica/source/include/amlresrc.h
index e89cd824..a8e288ad 100644
--- a/src/acpica/source/include/amlresrc.h
+++ b/src/acpica/source/include/amlresrc.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -213,6 +213,8 @@ 
 #define ACPI_RESTAG_TYPE                        "_TTP"  /* Translation(1), Static (0) */
 #define ACPI_RESTAG_XFERTYPE                    "_SIZ"  /* 8(0), 8And16(1), 16(2) */
 #define ACPI_RESTAG_VENDORDATA                  "_VEN"
+#define ACPI_RESTAG_FQN                         "_FQN"
+#define ACPI_RESTAG_FQD                         "_FQD"
 
 
 /* Default sizes for "small" resource descriptors */
@@ -501,7 +503,10 @@  typedef struct aml_resource_extended_irq
     AML_RESOURCE_LARGE_HEADER_COMMON
     UINT8                           Flags;
     UINT8                           InterruptCount;
-    UINT32                          Interrupts[1];
+    union {
+        UINT32                      Interrupt;
+        ACPI_FLEX_ARRAY(UINT32,     Interrupts);
+    } u;
     /* ResSourceIndex, ResSource optional fields follow */
 
 } AML_RESOURCE_EXTENDED_IRQ;
@@ -703,6 +708,23 @@  typedef struct aml_resource_pin_config
 
 } AML_RESOURCE_PIN_CONFIG;
 
+#define AML_RESOURCE_CLOCK_INPUT_REVISION      1       /* ACPI 6.5 */
+
+typedef struct aml_resource_clock_input
+{
+    AML_RESOURCE_LARGE_HEADER_COMMON
+    UINT8                           RevisionId;
+    UINT16                          Flags;
+    UINT16                          FrequencyDivisor;
+    UINT32                          FrequencyNumerator;
+    /*
+     * Optional fields follow immediately:
+     * 1) Resource Source index
+     * 2) Resource Source String
+     */
+} AML_RESOURCE_CLOCK_INPUT;
+
+
 #define AML_RESOURCE_PIN_CONFIG_REVISION      1       /* ACPI 6.2 */
 
 typedef struct aml_resource_pin_group
@@ -819,6 +841,7 @@  typedef union aml_resource
     AML_RESOURCE_PIN_GROUP                  PinGroup;
     AML_RESOURCE_PIN_GROUP_FUNCTION         PinGroupFunction;
     AML_RESOURCE_PIN_GROUP_CONFIG           PinGroupConfig;
+    AML_RESOURCE_CLOCK_INPUT                ClockInput;
 
     /* Utility overlays */
 
diff --git a/src/acpica/source/include/platform/acenv.h b/src/acpica/source/include/platform/acenv.h
index 674c4c7d..1fc692db 100644
--- a/src/acpica/source/include/platform/acenv.h
+++ b/src/acpica/source/include/platform/acenv.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -358,6 +358,8 @@ 
 #elif defined(_AED_EFI) || defined(_GNU_EFI) || defined(_EDK2_EFI)
 #include "acefi.h"
 
+#elif defined(__ZEPHYR__)
+#include "aczephyr.h"
 #else
 
 /* Unknown environment */
diff --git a/src/acpica/source/include/platform/acenvex.h b/src/acpica/source/include/platform/acenvex.h
index 32db36c6..33e19b68 100644
--- a/src/acpica/source/include/platform/acenvex.h
+++ b/src/acpica/source/include/platform/acenvex.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/include/platform/acgcc.h b/src/acpica/source/include/platform/acgcc.h
index 3ad22a1f..55a66c6d 100644
--- a/src/acpica/source/include/platform/acgcc.h
+++ b/src/acpica/source/include/platform/acgcc.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -211,4 +211,15 @@  typedef __builtin_va_list       va_list;
 #define ACPI_FALLTHROUGH __attribute__((__fallthrough__))
 #endif
 
+/*
+ * Flexible array members are not allowed to be part of a union under
+ * C99, but this is not for any technical reason. Work around the
+ * limitation.
+ */
+#define ACPI_FLEX_ARRAY(TYPE, NAME)             \
+        struct {                                \
+                struct { } __Empty_ ## NAME;    \
+                TYPE NAME[];                    \
+        }
+
 #endif /* __ACGCC_H__ */
diff --git a/src/acpica/source/include/platform/acgccex.h b/src/acpica/source/include/platform/acgccex.h
index 035b999d..156bab47 100644
--- a/src/acpica/source/include/platform/acgccex.h
+++ b/src/acpica/source/include/platform/acgccex.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/include/platform/aclinux.h b/src/acpica/source/include/platform/aclinux.h
index e9c1954d..da37a2fa 100644
--- a/src/acpica/source/include/platform/aclinux.h
+++ b/src/acpica/source/include/platform/aclinux.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
@@ -310,7 +310,10 @@ 
 #define ACPI_USE_STANDARD_HEADERS
 
 #ifdef ACPI_USE_STANDARD_HEADERS
+#include <stddef.h>
 #include <unistd.h>
+
+#define ACPI_OFFSET(d, f)   offsetof(d, f)
 #endif
 
 /* Define/disable kernel-specific declarators */
diff --git a/src/acpica/source/include/platform/aclinuxex.h b/src/acpica/source/include/platform/aclinuxex.h
index 4e84cd4b..a10412a7 100644
--- a/src/acpica/source/include/platform/aclinuxex.h
+++ b/src/acpica/source/include/platform/aclinuxex.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/os_specific/service_layers/osunixxf.c b/src/acpica/source/os_specific/service_layers/osunixxf.c
index ef1651b6..addccb71 100644
--- a/src/acpica/source/os_specific/service_layers/osunixxf.c
+++ b/src/acpica/source/os_specific/service_layers/osunixxf.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/tools/acpiexec/aecommon.h b/src/acpica/source/tools/acpiexec/aecommon.h
index 7bfdd278..0745aac2 100644
--- a/src/acpica/source/tools/acpiexec/aecommon.h
+++ b/src/acpica/source/tools/acpiexec/aecommon.h
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/tools/acpiexec/aeexception.c b/src/acpica/source/tools/acpiexec/aeexception.c
index f0903c1f..326407c8 100644
--- a/src/acpica/source/tools/acpiexec/aeexception.c
+++ b/src/acpica/source/tools/acpiexec/aeexception.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/tools/acpiexec/aehandlers.c b/src/acpica/source/tools/acpiexec/aehandlers.c
index 9b12aa65..e36a4759 100644
--- a/src/acpica/source/tools/acpiexec/aehandlers.c
+++ b/src/acpica/source/tools/acpiexec/aehandlers.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/tools/acpiexec/aeinitfile.c b/src/acpica/source/tools/acpiexec/aeinitfile.c
index 600f2c7d..c3d4d8e5 100644
--- a/src/acpica/source/tools/acpiexec/aeinitfile.c
+++ b/src/acpica/source/tools/acpiexec/aeinitfile.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/tools/acpiexec/aeinstall.c b/src/acpica/source/tools/acpiexec/aeinstall.c
index 28d08d8a..9e1940c3 100644
--- a/src/acpica/source/tools/acpiexec/aeinstall.c
+++ b/src/acpica/source/tools/acpiexec/aeinstall.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License
diff --git a/src/acpica/source/tools/acpiexec/aeregion.c b/src/acpica/source/tools/acpiexec/aeregion.c
index 400fd66e..f0646729 100644
--- a/src/acpica/source/tools/acpiexec/aeregion.c
+++ b/src/acpica/source/tools/acpiexec/aeregion.c
@@ -8,7 +8,7 @@ 
  *
  * 1. Copyright Notice
  *
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
  * All rights reserved.
  *
  * 2. License