ACK: [PATCH] ACPICA: Update to version 20230331
ivanhu
ivan.hu at canonical.com
Thu Apr 6 05:51:52 UTC 2023
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 at 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 at canonical.com>
More information about the fwts-devel
mailing list