aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJung-uk Kim <jkim@FreeBSD.org>2024-01-30 21:43:45 +0000
committerJung-uk Kim <jkim@FreeBSD.org>2024-01-30 21:43:45 +0000
commit8e013e1e3b81740266738226667431cf5c28b17a (patch)
tree9606f61233a55a4b82a0d4cc5b48e49eb8692bcc
parenta799bdd9d50e84cd6a36e8f1d2ac4301b2a6b374 (diff)
Import ACPICA 20230331vendor/acpica/20230331
-rw-r--r--changes.txt105
-rw-r--r--source/common/acfileio.c2
-rw-r--r--source/common/acgetline.c2
-rw-r--r--source/common/adfile.c2
-rw-r--r--source/common/adisasm.c3
-rw-r--r--source/common/adwalk.c2
-rw-r--r--source/common/ahids.c2
-rw-r--r--source/common/ahpredef.c2
-rw-r--r--source/common/ahtable.c5
-rw-r--r--source/common/ahuuids.c2
-rw-r--r--source/common/cmfsize.c2
-rw-r--r--source/common/dmextern.c10
-rw-r--r--source/common/dmrestag.c11
-rw-r--r--source/common/dmswitch.c2
-rw-r--r--source/common/dmtable.c54
-rw-r--r--source/common/dmtables.c2
-rw-r--r--source/common/dmtbdump.c2
-rw-r--r--source/common/dmtbdump1.c93
-rw-r--r--source/common/dmtbdump2.c242
-rw-r--r--source/common/dmtbdump3.c2
-rw-r--r--source/common/dmtbinfo.c2
-rw-r--r--source/common/dmtbinfo1.c55
-rw-r--r--source/common/dmtbinfo2.c191
-rw-r--r--source/common/dmtbinfo3.c2
-rw-r--r--source/common/getopt.c2
-rw-r--r--source/compiler/aslallocate.c8
-rw-r--r--source/compiler/aslanalyze.c2
-rw-r--r--source/compiler/aslascii.c2
-rw-r--r--source/compiler/aslbtypes.c5
-rw-r--r--source/compiler/aslcache.c2
-rw-r--r--source/compiler/aslcodegen.c2
-rw-r--r--source/compiler/aslcompile.c2
-rw-r--r--source/compiler/aslcompiler.h5
-rw-r--r--source/compiler/aslcompiler.l14
-rw-r--r--source/compiler/aslcstyle.y2
-rw-r--r--source/compiler/asldebug.c2
-rw-r--r--source/compiler/asldefine.h2
-rw-r--r--source/compiler/aslerror.c2
-rw-r--r--source/compiler/aslexternal.c2
-rw-r--r--source/compiler/aslfileio.c2
-rw-r--r--source/compiler/aslfiles.c2
-rw-r--r--source/compiler/aslfold.c2
-rw-r--r--source/compiler/aslglobal.h2
-rw-r--r--source/compiler/aslhelp.c2
-rw-r--r--source/compiler/aslhelpers.y2
-rw-r--r--source/compiler/aslhex.c2
-rw-r--r--source/compiler/aslkeywords.y13
-rw-r--r--source/compiler/asllength.c2
-rw-r--r--source/compiler/asllisting.c2
-rw-r--r--source/compiler/asllistsup.c2
-rw-r--r--source/compiler/aslload.c2
-rw-r--r--source/compiler/asllookup.c2
-rw-r--r--source/compiler/aslmain.c2
-rw-r--r--source/compiler/aslmap.c8
-rw-r--r--source/compiler/aslmapenter.c2
-rw-r--r--source/compiler/aslmapoutput.c2
-rw-r--r--source/compiler/aslmaputils.c2
-rw-r--r--source/compiler/aslmessages.c2
-rw-r--r--source/compiler/aslmessages.h2
-rw-r--r--source/compiler/aslmethod.c2
-rw-r--r--source/compiler/aslnamesp.c2
-rw-r--r--source/compiler/asloffset.c2
-rw-r--r--source/compiler/aslopcodes.c2
-rw-r--r--source/compiler/asloperands.c2
-rw-r--r--source/compiler/aslopt.c2
-rw-r--r--source/compiler/asloptions.c2
-rw-r--r--source/compiler/aslparseop.c6
-rw-r--r--source/compiler/aslparser.y4
-rw-r--r--source/compiler/aslpld.c2
-rw-r--r--source/compiler/aslpredef.c2
-rw-r--r--source/compiler/aslprepkg.c2
-rw-r--r--source/compiler/aslprimaries.y2
-rw-r--r--source/compiler/aslprintf.c2
-rw-r--r--source/compiler/aslprune.c2
-rw-r--r--source/compiler/aslresource.c8
-rw-r--r--source/compiler/aslresources.y18
-rw-r--r--source/compiler/aslrestype1.c2
-rw-r--r--source/compiler/aslrestype1i.c2
-rw-r--r--source/compiler/aslrestype2.c8
-rw-r--r--source/compiler/aslrestype2d.c2
-rw-r--r--source/compiler/aslrestype2e.c2
-rw-r--r--source/compiler/aslrestype2q.c2
-rw-r--r--source/compiler/aslrestype2s.c129
-rw-r--r--source/compiler/aslrestype2w.c2
-rw-r--r--source/compiler/aslrules.y2
-rw-r--r--source/compiler/aslstartup.c2
-rw-r--r--source/compiler/aslstubs.c2
-rw-r--r--source/compiler/aslsupport.l4
-rw-r--r--source/compiler/aslsupport.y2
-rw-r--r--source/compiler/asltokens.y8
-rw-r--r--source/compiler/asltransform.c2
-rw-r--r--source/compiler/asltree.c5
-rw-r--r--source/compiler/asltypes.h4
-rw-r--r--source/compiler/asltypes.y5
-rw-r--r--source/compiler/aslutils.c8
-rw-r--r--source/compiler/asluuid.c2
-rw-r--r--source/compiler/aslwalks.c2
-rw-r--r--source/compiler/aslxref.c2
-rw-r--r--source/compiler/aslxrefout.c2
-rw-r--r--source/compiler/cvcompiler.c2
-rw-r--r--source/compiler/cvdisasm.c2
-rw-r--r--source/compiler/cvparser.c2
-rw-r--r--source/compiler/dtcompile.c2
-rw-r--r--source/compiler/dtcompiler.h17
-rw-r--r--source/compiler/dtcompilerparser.l2
-rw-r--r--source/compiler/dtcompilerparser.y2
-rw-r--r--source/compiler/dtexpress.c7
-rw-r--r--source/compiler/dtfield.c4
-rw-r--r--source/compiler/dtio.c2
-rw-r--r--source/compiler/dtparser.l2
-rw-r--r--source/compiler/dtparser.y2
-rw-r--r--source/compiler/dtsubtable.c2
-rw-r--r--source/compiler/dttable.c2
-rw-r--r--source/compiler/dttable1.c91
-rw-r--r--source/compiler/dttable2.c285
-rw-r--r--source/compiler/dttemplate.c2
-rw-r--r--source/compiler/dttemplate.h79
-rw-r--r--source/compiler/dtutils.c4
-rw-r--r--source/compiler/preprocess.h11
-rw-r--r--source/compiler/prexpress.c2
-rw-r--r--source/compiler/prmacros.c50
-rw-r--r--source/compiler/prparser.l2
-rw-r--r--source/compiler/prparser.y2
-rw-r--r--source/compiler/prscan.c9
-rw-r--r--source/compiler/prutils.c240
-rw-r--r--source/components/debugger/dbcmds.c2
-rw-r--r--source/components/debugger/dbconvert.c2
-rw-r--r--source/components/debugger/dbdisply.c2
-rw-r--r--source/components/debugger/dbexec.c2
-rw-r--r--source/components/debugger/dbfileio.c2
-rw-r--r--source/components/debugger/dbhistry.c2
-rw-r--r--source/components/debugger/dbinput.c2
-rw-r--r--source/components/debugger/dbmethod.c2
-rw-r--r--source/components/debugger/dbnames.c5
-rw-r--r--source/components/debugger/dbobject.c2
-rw-r--r--source/components/debugger/dbstats.c2
-rw-r--r--source/components/debugger/dbtest.c2
-rw-r--r--source/components/debugger/dbutils.c2
-rw-r--r--source/components/debugger/dbxface.c2
-rw-r--r--source/components/disassembler/dmbuffer.c2
-rw-r--r--source/components/disassembler/dmcstyle.c2
-rw-r--r--source/components/disassembler/dmdeferred.c2
-rw-r--r--source/components/disassembler/dmnames.c2
-rw-r--r--source/components/disassembler/dmopcode.c2
-rw-r--r--source/components/disassembler/dmresrc.c3
-rw-r--r--source/components/disassembler/dmresrcl.c4
-rw-r--r--source/components/disassembler/dmresrcl2.c42
-rw-r--r--source/components/disassembler/dmresrcs.c2
-rw-r--r--source/components/disassembler/dmutils.c2
-rw-r--r--source/components/disassembler/dmwalk.c2
-rw-r--r--source/components/dispatcher/dsargs.c2
-rw-r--r--source/components/dispatcher/dscontrol.c2
-rw-r--r--source/components/dispatcher/dsdebug.c2
-rw-r--r--source/components/dispatcher/dsfield.c2
-rw-r--r--source/components/dispatcher/dsinit.c2
-rw-r--r--source/components/dispatcher/dsmethod.c12
-rw-r--r--source/components/dispatcher/dsmthdat.c2
-rw-r--r--source/components/dispatcher/dsobject.c2
-rw-r--r--source/components/dispatcher/dsopcode.c2
-rw-r--r--source/components/dispatcher/dspkginit.c2
-rw-r--r--source/components/dispatcher/dsutils.c2
-rw-r--r--source/components/dispatcher/dswexec.c8
-rw-r--r--source/components/dispatcher/dswload.c2
-rw-r--r--source/components/dispatcher/dswload2.c2
-rw-r--r--source/components/dispatcher/dswscope.c2
-rw-r--r--source/components/dispatcher/dswstate.c11
-rw-r--r--source/components/events/evevent.c4
-rw-r--r--source/components/events/evglock.c2
-rw-r--r--source/components/events/evgpe.c2
-rw-r--r--source/components/events/evgpeblk.c2
-rw-r--r--source/components/events/evgpeinit.c2
-rw-r--r--source/components/events/evgpeutil.c2
-rw-r--r--source/components/events/evhandler.c2
-rw-r--r--source/components/events/evmisc.c2
-rw-r--r--source/components/events/evregion.c2
-rw-r--r--source/components/events/evrgnini.c2
-rw-r--r--source/components/events/evsci.c2
-rw-r--r--source/components/events/evxface.c2
-rw-r--r--source/components/events/evxfevnt.c2
-rw-r--r--source/components/events/evxfgpe.c2
-rw-r--r--source/components/events/evxfregn.c103
-rw-r--r--source/components/executer/exconcat.c2
-rw-r--r--source/components/executer/exconfig.c2
-rw-r--r--source/components/executer/exconvrt.c2
-rw-r--r--source/components/executer/excreate.c2
-rw-r--r--source/components/executer/exdebug.c2
-rw-r--r--source/components/executer/exdump.c2
-rw-r--r--source/components/executer/exfield.c2
-rw-r--r--source/components/executer/exfldio.c2
-rw-r--r--source/components/executer/exmisc.c2
-rw-r--r--source/components/executer/exmutex.c2
-rw-r--r--source/components/executer/exnames.c2
-rw-r--r--source/components/executer/exoparg1.c2
-rw-r--r--source/components/executer/exoparg2.c2
-rw-r--r--source/components/executer/exoparg3.c2
-rw-r--r--source/components/executer/exoparg6.c2
-rw-r--r--source/components/executer/exprep.c2
-rw-r--r--source/components/executer/exregion.c2
-rw-r--r--source/components/executer/exresnte.c2
-rw-r--r--source/components/executer/exresolv.c2
-rw-r--r--source/components/executer/exresop.c2
-rw-r--r--source/components/executer/exserial.c2
-rw-r--r--source/components/executer/exstore.c2
-rw-r--r--source/components/executer/exstoren.c2
-rw-r--r--source/components/executer/exstorob.c2
-rw-r--r--source/components/executer/exsystem.c6
-rw-r--r--source/components/executer/extrace.c2
-rw-r--r--source/components/executer/exutils.c2
-rw-r--r--source/components/hardware/hwacpi.c2
-rw-r--r--source/components/hardware/hwesleep.c2
-rw-r--r--source/components/hardware/hwgpe.c2
-rw-r--r--source/components/hardware/hwpci.c2
-rw-r--r--source/components/hardware/hwregs.c2
-rw-r--r--source/components/hardware/hwsleep.c13
-rw-r--r--source/components/hardware/hwtimer.c2
-rw-r--r--source/components/hardware/hwvalid.c10
-rw-r--r--source/components/hardware/hwxface.c2
-rw-r--r--source/components/hardware/hwxfsleep.c2
-rw-r--r--source/components/namespace/nsaccess.c2
-rw-r--r--source/components/namespace/nsalloc.c2
-rw-r--r--source/components/namespace/nsarguments.c2
-rw-r--r--source/components/namespace/nsconvert.c2
-rw-r--r--source/components/namespace/nsdump.c2
-rw-r--r--source/components/namespace/nsdumpdv.c2
-rw-r--r--source/components/namespace/nseval.c2
-rw-r--r--source/components/namespace/nsinit.c2
-rw-r--r--source/components/namespace/nsload.c2
-rw-r--r--source/components/namespace/nsnames.c2
-rw-r--r--source/components/namespace/nsobject.c2
-rw-r--r--source/components/namespace/nsparse.c2
-rw-r--r--source/components/namespace/nspredef.c2
-rw-r--r--source/components/namespace/nsprepkg.c2
-rw-r--r--source/components/namespace/nsrepair.c16
-rw-r--r--source/components/namespace/nsrepair2.c11
-rw-r--r--source/components/namespace/nssearch.c2
-rw-r--r--source/components/namespace/nsutils.c4
-rw-r--r--source/components/namespace/nswalk.c2
-rw-r--r--source/components/namespace/nsxfeval.c2
-rw-r--r--source/components/namespace/nsxfname.c4
-rw-r--r--source/components/namespace/nsxfobj.c2
-rw-r--r--source/components/parser/psargs.c2
-rw-r--r--source/components/parser/psloop.c2
-rw-r--r--source/components/parser/psobject.c2
-rw-r--r--source/components/parser/psopcode.c2
-rw-r--r--source/components/parser/psopinfo.c2
-rw-r--r--source/components/parser/psparse.c2
-rw-r--r--source/components/parser/psscope.c2
-rw-r--r--source/components/parser/pstree.c2
-rw-r--r--source/components/parser/psutils.c2
-rw-r--r--source/components/parser/pswalk.c2
-rw-r--r--source/components/parser/psxface.c2
-rw-r--r--source/components/resources/rsaddr.c14
-rw-r--r--source/components/resources/rscalc.c33
-rw-r--r--source/components/resources/rscreate.c10
-rw-r--r--source/components/resources/rsdump.c2
-rw-r--r--source/components/resources/rsdumpinfo.c21
-rw-r--r--source/components/resources/rsinfo.c7
-rw-r--r--source/components/resources/rsio.c2
-rw-r--r--source/components/resources/rsirq.c14
-rw-r--r--source/components/resources/rslist.c11
-rw-r--r--source/components/resources/rsmemory.c2
-rw-r--r--source/components/resources/rsmisc.c11
-rw-r--r--source/components/resources/rsserial.c46
-rw-r--r--source/components/resources/rsutils.c2
-rw-r--r--source/components/resources/rsxface.c2
-rw-r--r--source/components/tables/tbdata.c2
-rw-r--r--source/components/tables/tbfadt.c2
-rw-r--r--source/components/tables/tbfind.c2
-rw-r--r--source/components/tables/tbinstal.c2
-rw-r--r--source/components/tables/tbprint.c3
-rw-r--r--source/components/tables/tbutils.c7
-rw-r--r--source/components/tables/tbxface.c2
-rw-r--r--source/components/tables/tbxfload.c2
-rw-r--r--source/components/tables/tbxfroot.c2
-rw-r--r--source/components/utilities/utaddress.c2
-rw-r--r--source/components/utilities/utalloc.c2
-rw-r--r--source/components/utilities/utascii.c2
-rw-r--r--source/components/utilities/utbuffer.c2
-rw-r--r--source/components/utilities/utcache.c2
-rw-r--r--source/components/utilities/utcksum.c4
-rw-r--r--source/components/utilities/utclib.c2
-rw-r--r--source/components/utilities/utcopy.c2
-rw-r--r--source/components/utilities/utdebug.c2
-rw-r--r--source/components/utilities/utdecode.c2
-rw-r--r--source/components/utilities/utdelete.c2
-rw-r--r--source/components/utilities/uterror.c2
-rw-r--r--source/components/utilities/uteval.c2
-rw-r--r--source/components/utilities/utexcep.c2
-rw-r--r--source/components/utilities/utglobal.c2
-rw-r--r--source/components/utilities/uthex.c2
-rw-r--r--source/components/utilities/utids.c2
-rw-r--r--source/components/utilities/utinit.c2
-rw-r--r--source/components/utilities/utlock.c2
-rw-r--r--source/components/utilities/utmath.c2
-rw-r--r--source/components/utilities/utmisc.c2
-rw-r--r--source/components/utilities/utmutex.c2
-rw-r--r--source/components/utilities/utnonansi.c2
-rw-r--r--source/components/utilities/utobject.c2
-rw-r--r--source/components/utilities/utosi.c2
-rw-r--r--source/components/utilities/utownerid.c2
-rw-r--r--source/components/utilities/utpredef.c2
-rw-r--r--source/components/utilities/utprint.c2
-rw-r--r--source/components/utilities/utresdecode.c15
-rw-r--r--source/components/utilities/utresrc.c16
-rw-r--r--source/components/utilities/utstate.c2
-rw-r--r--source/components/utilities/utstring.c2
-rw-r--r--source/components/utilities/utstrsuppt.c2
-rw-r--r--source/components/utilities/utstrtoul64.c2
-rw-r--r--source/components/utilities/uttrack.c2
-rw-r--r--source/components/utilities/utuuid.c2
-rw-r--r--source/components/utilities/utxface.c2
-rw-r--r--source/components/utilities/utxferror.c2
-rw-r--r--source/components/utilities/utxfinit.c2
-rw-r--r--source/components/utilities/utxfmutex.c2
-rw-r--r--source/include/acapps.h4
-rw-r--r--source/include/acbuffer.h2
-rw-r--r--source/include/acclib.h2
-rw-r--r--source/include/accommon.h2
-rw-r--r--source/include/acconfig.h2
-rw-r--r--source/include/acconvert.h2
-rw-r--r--source/include/acdebug.h2
-rw-r--r--source/include/acdisasm.h45
-rw-r--r--source/include/acdispat.h2
-rw-r--r--source/include/acevents.h2
-rw-r--r--source/include/acexcep.h2
-rw-r--r--source/include/acglobal.h2
-rw-r--r--source/include/achware.h2
-rw-r--r--source/include/acinterp.h2
-rw-r--r--source/include/aclocal.h5
-rw-r--r--source/include/acmacros.h2
-rw-r--r--source/include/acnames.h2
-rw-r--r--source/include/acnamesp.h2
-rw-r--r--source/include/acobject.h2
-rw-r--r--source/include/acopcode.h2
-rw-r--r--source/include/acoutput.h2
-rw-r--r--source/include/acparser.h2
-rw-r--r--source/include/acpi.h2
-rw-r--r--source/include/acpiosxf.h2
-rw-r--r--source/include/acpixf.h21
-rw-r--r--source/include/acpredef.h2
-rw-r--r--source/include/acresrc.h4
-rw-r--r--source/include/acrestyp.h41
-rw-r--r--source/include/acstruct.h2
-rw-r--r--source/include/actables.h2
-rw-r--r--source/include/actbinfo.h21
-rw-r--r--source/include/actbl.h2
-rw-r--r--source/include/actbl1.h97
-rw-r--r--source/include/actbl2.h244
-rw-r--r--source/include/actbl3.h2
-rw-r--r--source/include/actypes.h8
-rw-r--r--source/include/acutils.h4
-rw-r--r--source/include/acuuid.h2
-rw-r--r--source/include/amlcode.h2
-rw-r--r--source/include/amlresrc.h27
-rw-r--r--source/include/platform/accygwin.h2
-rw-r--r--source/include/platform/acdragonflyex.h2
-rw-r--r--source/include/platform/acefi.h2
-rw-r--r--source/include/platform/acefiex.h4
-rw-r--r--source/include/platform/acenv.h4
-rw-r--r--source/include/platform/acenvex.h2
-rw-r--r--source/include/platform/acfreebsd.h2
-rw-r--r--source/include/platform/acgcc.h13
-rw-r--r--source/include/platform/acgccex.h2
-rw-r--r--source/include/platform/achaiku.h6
-rw-r--r--source/include/platform/acintel.h2
-rw-r--r--source/include/platform/aclinux.h7
-rw-r--r--source/include/platform/aclinuxex.h2
-rw-r--r--source/include/platform/acmacosx.h2
-rw-r--r--source/include/platform/acmsvc.h2
-rw-r--r--source/include/platform/acmsvcex.h2
-rw-r--r--source/include/platform/acnetbsd.h2
-rw-r--r--source/include/platform/acos2.h2
-rw-r--r--source/include/platform/acqnx.h2
-rw-r--r--source/include/platform/acwin.h2
-rw-r--r--source/include/platform/acwin64.h2
-rw-r--r--source/include/platform/aczephyr.h192
-rw-r--r--source/os_specific/service_layers/osbsdtbl.c2
-rw-r--r--source/os_specific/service_layers/oslinuxtbl.c2
-rw-r--r--source/os_specific/service_layers/osunixdir.c2
-rw-r--r--source/os_specific/service_layers/osunixmap.c2
-rw-r--r--source/os_specific/service_layers/osunixxf.c2
-rw-r--r--source/os_specific/service_layers/oswindir.c2
-rw-r--r--source/os_specific/service_layers/oswintbl.c2
-rw-r--r--source/os_specific/service_layers/oswinxf.c2
-rw-r--r--source/os_specific/service_layers/oszephyr.c1151
-rw-r--r--source/tools/acpibin/abcompare.c2
-rw-r--r--source/tools/acpibin/abmain.c2
-rw-r--r--source/tools/acpibin/acpibin.h2
-rw-r--r--source/tools/acpidump/acpidump.h2
-rw-r--r--source/tools/acpidump/apdump.c2
-rw-r--r--source/tools/acpidump/apfiles.c2
-rw-r--r--source/tools/acpidump/apmain.c2
-rw-r--r--source/tools/acpiexec/aecommon.h2
-rw-r--r--source/tools/acpiexec/aeexception.c2
-rw-r--r--source/tools/acpiexec/aeexec.c2
-rw-r--r--source/tools/acpiexec/aehandlers.c2
-rw-r--r--source/tools/acpiexec/aeinitfile.c2
-rw-r--r--source/tools/acpiexec/aeinstall.c2
-rw-r--r--source/tools/acpiexec/aemain.c2
-rw-r--r--source/tools/acpiexec/aeregion.c2
-rw-r--r--source/tools/acpiexec/aetables.c2
-rw-r--r--source/tools/acpiexec/aetables.h2
-rw-r--r--source/tools/acpiexec/aetests.c2
-rw-r--r--source/tools/acpihelp/acpihelp.h2
-rw-r--r--source/tools/acpihelp/ahaml.c2
-rw-r--r--source/tools/acpihelp/ahamlops.c2
-rw-r--r--source/tools/acpihelp/ahasl.c2
-rw-r--r--source/tools/acpihelp/ahaslkey.c2
-rw-r--r--source/tools/acpihelp/ahaslops.c2
-rw-r--r--source/tools/acpihelp/ahdecode.c2
-rw-r--r--source/tools/acpihelp/ahgrammar.c2
-rw-r--r--source/tools/acpihelp/ahmain.c2
-rw-r--r--source/tools/acpisrc/acpisrc.h2
-rw-r--r--source/tools/acpisrc/ascase.c2
-rw-r--r--source/tools/acpisrc/asconvrt.c72
-rw-r--r--source/tools/acpisrc/asfile.c2
-rw-r--r--source/tools/acpisrc/asmain.c2
-rw-r--r--source/tools/acpisrc/asremove.c2
-rw-r--r--source/tools/acpisrc/astable.c17
-rw-r--r--source/tools/acpisrc/asutils.c2
-rw-r--r--source/tools/acpixtract/acpixtract.c2
-rw-r--r--source/tools/acpixtract/acpixtract.h2
-rw-r--r--source/tools/acpixtract/axmain.c2
-rw-r--r--source/tools/acpixtract/axutils.c2
-rw-r--r--source/tools/efihello/efihello.c2
-rw-r--r--source/tools/examples/examples.c2
-rw-r--r--source/tools/examples/examples.h2
-rw-r--r--source/tools/examples/exstubs.c2
-rw-r--r--source/tools/examples/extables.c2
429 files changed, 4327 insertions, 632 deletions
diff --git a/changes.txt b/changes.txt
index cf3c21898c51..af896ec7e0b0 100644
--- a/changes.txt
+++ b/changes.txt
@@ -1,4 +1,109 @@
----------------------------------------
+31 March 2023. Summary of changes for version 20230331:
+
+This release is available at https://acpica.org/downloads
+
+0) Global changes:
+
+
+Update all copyright notices to the year 2023. This effects all source
+modules, as well as utility signons.
+Add OS-specific support for Zephyr RTOS.
+Fix miscellaneous code that accesses various objects.
+Remove some dead code.
+Add C ?Flexible Array? support.
+Add support for 64 bit LoongArch compilation.
+Add first batch of RISC-V related definitions.
+Performed a global automated update to remove tabs, fix indentation
+issues, etc.
+
+1) ACPICA kernel-resident subsystem:
+
+hwvalid: Drop port I/O validation.
+
+2) ACPICA tools and utilities:
+
+iASL: Added full macro support in the preprocessor. Example:
+#define ABCD(a,b,c,d) a+b+c-d
+
+Known macro support limitations (at this time):
+ No support for multi-line #define macros (backslash continuation
+lines)
+ No support for the C-style ternary operator
+ No support for the stringizing operator (#)
+ No support for the concatenation (token pasting) operator (##)
+ No support for variable number of macro arguments
+
+Add support for AMD Secure Processor Table (ASPT) version 1.
+Add support for Arm's MPAM ACPI table version 2.
+ACPI 6.5: MADT: add support for trace buffer extension in GICC.
+Headers: Delete bogus NodeArray array of pointers from AEST table.
+PHAT table support is still ongoing.
+
+
+----------------------------------------
+20 October 2022. Summary of changes for version 20221020:
+
+This release is available at https://acpica.org/downloads
+
+0) Global changes:
+
+Allow disabling of -Werror. For distro maintainers having `-Werror` can
+delay update of GCC. Since every GCC release might add new warnings that
+were not yet captured, it might break the build of packages. With this
+change, distros can now build with `NOWERROR=TRUE` instead of patching
+either the errors or the makefiles. The default behavior keeps on using
+`-Werror`.
+
+1) ACPICA kernel-resident subsystem:
+
+Added support for FFH Operation Region special context data. FFH(Fixed
+Function Hardware) Opregion is approved to be added in ACPI 6.5 via code
+first approach[1]. It requires special context data similar to GPIO and
+Generic Serial Bus as it needs to know platform specific offset and
+length.
+
+Reverted this commit "executer/exsystem: Warn about sleeps greater than
+10 ms." Due to user complaints about valid sleeps greater than 10ms seen
+in some existing machines -- generating lots of warnings.
+
+Do not touch VGA memory when EBDA < 1KiB. The ACPICA code assumes that
+EBDA region must be at least 1KiB in size. Because this is not
+guaranteed, it might happen that while scanning the memory for RSDP
+pointer, the kernel touches memory above 640KiB. This is unwanted as the
+VGA memory range may not be decoded or even present when running under
+virtualization.
+
+Check that EBDA pointer is in valid memory. If the memory at 0x40e is
+uninitialized, the retrieved physical memory address of EBDA may be
+beyond the low memory (i.e. above 640K). If so, the kernel may
+unintentionally access the VGA memory, that might not be decoded or even
+present in case of virtualization.
+
+2) iASL Compiler/Disassembler and ACPICA tools:
+
+Completed the existing partial support for the CDAT "table". Although
+this isn't technically an ACPI table (It doesn't go into the XSDT), it is
+possible to support this table in the Data Table compiler. Created one
+new file, "utilities/utcksum.c", used to centralize checksum
+generation/validation into one location. Includes changes to makefiles
+and MSVC project files.
+
+Updated support for the IORT table - update to version E.e
+
+Added CXL 3.0 structures (CXIMS & RDPAS) to the CEDT table
+
+iASL: Added CCEL table to both compiler/disassembler.
+
+iASL: NHLT table: Fixed compilation of optional undocumented fields
+
+iASL: Fix iASL compile error due to ACPI_TDEL_OFFSET. Commit # 10e4763
+("iASL: Add CCEL table to both compiler/disassembler") introduced the
+iASL build issue. The issue is due to using ACPI_TDEL_OFFSET for CCEL
+table member reference. To fix it, change ACPI_TDEL_OFFSET with
+ACPI_CCEL_OFFSET.
+
+----------------------------------------
31 March 2022. Summary of changes for version 20220331:
0) Global changes:
diff --git a/source/common/acfileio.c b/source/common/acfileio.c
index 77f7337a3f75..a9118f61dc6a 100644
--- a/source/common/acfileio.c
+++ b/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/source/common/acgetline.c b/source/common/acgetline.c
index e5d0bf560fae..b26499277d43 100644
--- a/source/common/acgetline.c
+++ b/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/source/common/adfile.c b/source/common/adfile.c
index 647333d9d682..8bca7273fbcf 100644
--- a/source/common/adfile.c
+++ b/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/source/common/adisasm.c b/source/common/adisasm.c
index 49338e741a90..ccb98bfe0618 100644
--- a/source/common/adisasm.c
+++ b/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/source/common/adwalk.c b/source/common/adwalk.c
index 6d51c7e17748..f810abaf038f 100644
--- a/source/common/adwalk.c
+++ b/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/source/common/ahids.c b/source/common/ahids.c
index 05c31bf50fd0..8930dc64b72d 100644
--- a/source/common/ahids.c
+++ b/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/source/common/ahpredef.c b/source/common/ahpredef.c
index 724abe6a33d0..f4080587f45d 100644
--- a/source/common/ahpredef.c
+++ b/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/source/common/ahtable.c b/source/common/ahtable.c
index 418621b664c9..6013b9413c4a 100644
--- a/source/common/ahtable.c
+++ b/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/source/common/ahuuids.c b/source/common/ahuuids.c
index dcf0c4bbb738..219f0e8e2210 100644
--- a/source/common/ahuuids.c
+++ b/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/source/common/cmfsize.c b/source/common/cmfsize.c
index 474ccd9501f8..e303b7655f54 100644
--- a/source/common/cmfsize.c
+++ b/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/source/common/dmextern.c b/source/common/dmextern.c
index 806daa33f94b..6827d5e5faae 100644
--- a/source/common/dmextern.c
+++ b/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/source/common/dmrestag.c b/source/common/dmrestag.c
index b677298436fc..afacf6f70cb3 100644
--- a/source/common/dmrestag.c
+++ b/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/source/common/dmswitch.c b/source/common/dmswitch.c
index 4a4347368c9e..c6e9f8b0ec98 100644
--- a/source/common/dmswitch.c
+++ b/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/source/common/dmtable.c b/source/common/dmtable.c
index 9b95ecc74789..31ca73904a8a 100644
--- a/source/common/dmtable.c
+++ b/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/source/common/dmtables.c b/source/common/dmtables.c
index 7ade78685741..c474a8c9aaae 100644
--- a/source/common/dmtables.c
+++ b/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/source/common/dmtbdump.c b/source/common/dmtbdump.c
index dc1745d5d926..c4046b8e8262 100644
--- a/source/common/dmtbdump.c
+++ b/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/source/common/dmtbdump1.c b/source/common/dmtbdump1.c
index ae5f0f8627bf..0dee045a8c12 100644
--- a/source/common/dmtbdump1.c
+++ b/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/source/common/dmtbdump2.c b/source/common/dmtbdump2.c
index 3fb4d531e49b..e9c5dbfd6621 100644
--- a/source/common/dmtbdump2.c
+++ b/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))
@@ -2629,6 +2747,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
*
* PARAMETERS: Table - A S3PT table
diff --git a/source/common/dmtbdump3.c b/source/common/dmtbdump3.c
index cbcd9e7f0e11..8ac16cee10d1 100644
--- a/source/common/dmtbdump3.c
+++ b/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/source/common/dmtbinfo.c b/source/common/dmtbinfo.c
index 4053996992e4..717e7df94594 100644
--- a/source/common/dmtbinfo.c
+++ b/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/source/common/dmtbinfo1.c b/source/common/dmtbinfo1.c
index 9afed4d6a066..e4632085d11e 100644
--- a/source/common/dmtbinfo1.c
+++ b/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
@@ -435,6 +435,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/source/common/dmtbinfo2.c b/source/common/dmtbinfo2.c
index 3676be813e48..214206add026 100644
--- a/source/common/dmtbinfo2.c
+++ b/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},
+};
+
/*******************************************************************************
*
@@ -1946,6 +2074,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/source/common/dmtbinfo3.c b/source/common/dmtbinfo3.c
index b8ddb7aadb04..280baf396295 100644
--- a/source/common/dmtbinfo3.c
+++ b/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/source/common/getopt.c b/source/common/getopt.c
index 772b66c0d932..a2658efc2d4a 100644
--- a/source/common/getopt.c
+++ b/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/source/compiler/aslallocate.c b/source/compiler/aslallocate.c
index d697d059e6d1..d86b5f39b961 100644
--- a/source/compiler/aslallocate.c
+++ b/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/source/compiler/aslanalyze.c b/source/compiler/aslanalyze.c
index 9db7d4fbe81a..1941a4655523 100644
--- a/source/compiler/aslanalyze.c
+++ b/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/source/compiler/aslascii.c b/source/compiler/aslascii.c
index 6c0e62c41177..b6b272710fd8 100644
--- a/source/compiler/aslascii.c
+++ b/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/source/compiler/aslbtypes.c b/source/compiler/aslbtypes.c
index f7b3fb1bec75..e2f72d882415 100644
--- a/source/compiler/aslbtypes.c
+++ b/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/source/compiler/aslcache.c b/source/compiler/aslcache.c
index 9cc707e207d3..11ba5f42a46e 100644
--- a/source/compiler/aslcache.c
+++ b/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/source/compiler/aslcodegen.c b/source/compiler/aslcodegen.c
index a0c67424d250..4013398fa834 100644
--- a/source/compiler/aslcodegen.c
+++ b/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/source/compiler/aslcompile.c b/source/compiler/aslcompile.c
index f97cd9d82097..4217182c65df 100644
--- a/source/compiler/aslcompile.c
+++ b/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/source/compiler/aslcompiler.h b/source/compiler/aslcompiler.h
index d52f60f2180b..ca20de452efc 100644
--- a/source/compiler/aslcompiler.h
+++ b/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/source/compiler/aslcompiler.l b/source/compiler/aslcompiler.l
index 881096ad5bbf..fbc38a613c39 100644
--- a/source/compiler/aslcompiler.l
+++ b/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/source/compiler/aslcstyle.y b/source/compiler/aslcstyle.y
index b4e9065fee0f..d249b51e8ea9 100644
--- a/source/compiler/aslcstyle.y
+++ b/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/source/compiler/asldebug.c b/source/compiler/asldebug.c
index 5ac6a4ed6059..928bb206ddb3 100644
--- a/source/compiler/asldebug.c
+++ b/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/source/compiler/asldefine.h b/source/compiler/asldefine.h
index 12b2899e4062..fe11d45177a1 100644
--- a/source/compiler/asldefine.h
+++ b/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/source/compiler/aslerror.c b/source/compiler/aslerror.c
index 3a61bc6e5e8d..54d247e297a2 100644
--- a/source/compiler/aslerror.c
+++ b/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/source/compiler/aslexternal.c b/source/compiler/aslexternal.c
index a7d2c9c3d36d..243145ed4ee3 100644
--- a/source/compiler/aslexternal.c
+++ b/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/source/compiler/aslfileio.c b/source/compiler/aslfileio.c
index 88b9def907f2..7920de7f1765 100644
--- a/source/compiler/aslfileio.c
+++ b/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/source/compiler/aslfiles.c b/source/compiler/aslfiles.c
index 2479b404ee41..51de2d1e22c8 100644
--- a/source/compiler/aslfiles.c
+++ b/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/source/compiler/aslfold.c b/source/compiler/aslfold.c
index 316890c4ac06..f03d19c518ff 100644
--- a/source/compiler/aslfold.c
+++ b/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/source/compiler/aslglobal.h b/source/compiler/aslglobal.h
index ff00b92ef1ea..438d0c5bcb25 100644
--- a/source/compiler/aslglobal.h
+++ b/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/source/compiler/aslhelp.c b/source/compiler/aslhelp.c
index 1cdbf8a76fc2..137736da7db1 100644
--- a/source/compiler/aslhelp.c
+++ b/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/source/compiler/aslhelpers.y b/source/compiler/aslhelpers.y
index 2764bf65b9f7..37cc5844cfab 100644
--- a/source/compiler/aslhelpers.y
+++ b/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/source/compiler/aslhex.c b/source/compiler/aslhex.c
index a6e80fdf57ac..4a711823077c 100644
--- a/source/compiler/aslhex.c
+++ b/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/source/compiler/aslkeywords.y b/source/compiler/aslkeywords.y
index 661cfc9397b0..d559fd0f43ec 100644
--- a/source/compiler/aslkeywords.y
+++ b/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/source/compiler/asllength.c b/source/compiler/asllength.c
index b1c06246411c..f55443537855 100644
--- a/source/compiler/asllength.c
+++ b/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/source/compiler/asllisting.c b/source/compiler/asllisting.c
index 290d506210e5..1dd3b39bd24e 100644
--- a/source/compiler/asllisting.c
+++ b/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/source/compiler/asllistsup.c b/source/compiler/asllistsup.c
index b03560d3612a..44a87f0a1726 100644
--- a/source/compiler/asllistsup.c
+++ b/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/source/compiler/aslload.c b/source/compiler/aslload.c
index 3f827d0ba4d5..3e35d6aa732d 100644
--- a/source/compiler/aslload.c
+++ b/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/source/compiler/asllookup.c b/source/compiler/asllookup.c
index 44bf9a38667a..ae0729bb50b7 100644
--- a/source/compiler/asllookup.c
+++ b/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/source/compiler/aslmain.c b/source/compiler/aslmain.c
index 3c2ce58ea0b2..5b8f54e2b9eb 100644
--- a/source/compiler/aslmain.c
+++ b/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/source/compiler/aslmap.c b/source/compiler/aslmap.c
index 782d0d96cfb4..71fb5f034d13 100644
--- a/source/compiler/aslmap.c
+++ b/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/source/compiler/aslmapenter.c b/source/compiler/aslmapenter.c
index 5dae3e9ea86b..b167fb4e96a9 100644
--- a/source/compiler/aslmapenter.c
+++ b/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/source/compiler/aslmapoutput.c b/source/compiler/aslmapoutput.c
index 95146ea65fbb..74540f05d846 100644
--- a/source/compiler/aslmapoutput.c
+++ b/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/source/compiler/aslmaputils.c b/source/compiler/aslmaputils.c
index 0b2c7e2615e9..48b67600302b 100644
--- a/source/compiler/aslmaputils.c
+++ b/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/source/compiler/aslmessages.c b/source/compiler/aslmessages.c
index 990e376f76bd..fe697c854dae 100644
--- a/source/compiler/aslmessages.c
+++ b/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/source/compiler/aslmessages.h b/source/compiler/aslmessages.h
index 197e9e2276c0..3346c5e0168c 100644
--- a/source/compiler/aslmessages.h
+++ b/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/source/compiler/aslmethod.c b/source/compiler/aslmethod.c
index 517ba778cd8e..f092a296a45c 100644
--- a/source/compiler/aslmethod.c
+++ b/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/source/compiler/aslnamesp.c b/source/compiler/aslnamesp.c
index 60c488db05a0..a3578d3e8cfc 100644
--- a/source/compiler/aslnamesp.c
+++ b/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/source/compiler/asloffset.c b/source/compiler/asloffset.c
index b0954c70105c..874e6e59d695 100644
--- a/source/compiler/asloffset.c
+++ b/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/source/compiler/aslopcodes.c b/source/compiler/aslopcodes.c
index e07910b1f5f6..f6c993e6db1d 100644
--- a/source/compiler/aslopcodes.c
+++ b/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/source/compiler/asloperands.c b/source/compiler/asloperands.c
index 9330fdfb4244..2c3c6fa96b43 100644
--- a/source/compiler/asloperands.c
+++ b/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/source/compiler/aslopt.c b/source/compiler/aslopt.c
index 916aebfba1cd..c81e27b2ad87 100644
--- a/source/compiler/aslopt.c
+++ b/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/source/compiler/asloptions.c b/source/compiler/asloptions.c
index 37484f79bdac..ca894a3b70f0 100644
--- a/source/compiler/asloptions.c
+++ b/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/source/compiler/aslparseop.c b/source/compiler/aslparseop.c
index ab81ac286e7d..38169fee244f 100644
--- a/source/compiler/aslparseop.c
+++ b/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/source/compiler/aslparser.y b/source/compiler/aslparser.y
index dff15619283b..3e1c661f4e41 100644
--- a/source/compiler/aslparser.y
+++ b/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/source/compiler/aslpld.c b/source/compiler/aslpld.c
index 9faa8c263d6f..eedfaa24695b 100644
--- a/source/compiler/aslpld.c
+++ b/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/source/compiler/aslpredef.c b/source/compiler/aslpredef.c
index 2804e12da535..925329978df1 100644
--- a/source/compiler/aslpredef.c
+++ b/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/source/compiler/aslprepkg.c b/source/compiler/aslprepkg.c
index f562dbe6b820..21fe2db7a08a 100644
--- a/source/compiler/aslprepkg.c
+++ b/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/source/compiler/aslprimaries.y b/source/compiler/aslprimaries.y
index 69565defe405..f70597163578 100644
--- a/source/compiler/aslprimaries.y
+++ b/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/source/compiler/aslprintf.c b/source/compiler/aslprintf.c
index 3f270fec9da8..b2da0035f0e6 100644
--- a/source/compiler/aslprintf.c
+++ b/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/source/compiler/aslprune.c b/source/compiler/aslprune.c
index 4626a1eef08d..dc1162c45aeb 100644
--- a/source/compiler/aslprune.c
+++ b/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/source/compiler/aslresource.c b/source/compiler/aslresource.c
index 104a48357372..4d20c5e31d1c 100644
--- a/source/compiler/aslresource.c
+++ b/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/source/compiler/aslresources.y b/source/compiler/aslresources.y
index a5752b01c04f..52bff9c41a6a 100644
--- a/source/compiler/aslresources.y
+++ b/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/source/compiler/aslrestype1.c b/source/compiler/aslrestype1.c
index a6625c08c9cd..53fa8621bc91 100644
--- a/source/compiler/aslrestype1.c
+++ b/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/source/compiler/aslrestype1i.c b/source/compiler/aslrestype1i.c
index 84d5b653fe8b..d352e65f4024 100644
--- a/source/compiler/aslrestype1i.c
+++ b/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/source/compiler/aslrestype2.c b/source/compiler/aslrestype2.c
index 387e85c80e41..bf6f77ed726d 100644
--- a/source/compiler/aslrestype2.c
+++ b/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/source/compiler/aslrestype2d.c b/source/compiler/aslrestype2d.c
index 6b597e257758..45013c2c766b 100644
--- a/source/compiler/aslrestype2d.c
+++ b/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/source/compiler/aslrestype2e.c b/source/compiler/aslrestype2e.c
index 414b2d23f851..c557f4020ac6 100644
--- a/source/compiler/aslrestype2e.c
+++ b/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/source/compiler/aslrestype2q.c b/source/compiler/aslrestype2q.c
index ce79659720ee..62866594e6bd 100644
--- a/source/compiler/aslrestype2q.c
+++ b/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/source/compiler/aslrestype2s.c b/source/compiler/aslrestype2s.c
index ea832da3db2c..054807964cc1 100644
--- a/source/compiler/aslrestype2s.c
+++ b/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/source/compiler/aslrestype2w.c b/source/compiler/aslrestype2w.c
index a758e0581d38..9908494d364a 100644
--- a/source/compiler/aslrestype2w.c
+++ b/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/source/compiler/aslrules.y b/source/compiler/aslrules.y
index 79aa2210abb8..2793749bc631 100644
--- a/source/compiler/aslrules.y
+++ b/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/source/compiler/aslstartup.c b/source/compiler/aslstartup.c
index 9542a79d3943..8b4e5c7cd249 100644
--- a/source/compiler/aslstartup.c
+++ b/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/source/compiler/aslstubs.c b/source/compiler/aslstubs.c
index 0e6cd56f48e7..e90115b8ceda 100644
--- a/source/compiler/aslstubs.c
+++ b/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/source/compiler/aslsupport.l b/source/compiler/aslsupport.l
index 0daec602e148..8d589a9490b8 100644
--- a/source/compiler/aslsupport.l
+++ b/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/source/compiler/aslsupport.y b/source/compiler/aslsupport.y
index 3f19af2f48b1..f742067287fe 100644
--- a/source/compiler/aslsupport.y
+++ b/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/source/compiler/asltokens.y b/source/compiler/asltokens.y
index c43561e7a4a3..48db2e2211fd 100644
--- a/source/compiler/asltokens.y
+++ b/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/source/compiler/asltransform.c b/source/compiler/asltransform.c
index 573ddad1565f..d1fcbed27d5d 100644
--- a/source/compiler/asltransform.c
+++ b/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/source/compiler/asltree.c b/source/compiler/asltree.c
index 9cf49269f377..f390c4f6ca89 100644
--- a/source/compiler/asltree.c
+++ b/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/source/compiler/asltypes.h b/source/compiler/asltypes.h
index d5689dea58b0..577d3b881c1f 100644
--- a/source/compiler/asltypes.h
+++ b/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/source/compiler/asltypes.y b/source/compiler/asltypes.y
index ba98362cd323..d5f020d3282f 100644
--- a/source/compiler/asltypes.y
+++ b/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/source/compiler/aslutils.c b/source/compiler/aslutils.c
index e91fd4602c26..86b040b98e26 100644
--- a/source/compiler/aslutils.c
+++ b/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/source/compiler/asluuid.c b/source/compiler/asluuid.c
index 0eb36050e882..fbbf644af8c0 100644
--- a/source/compiler/asluuid.c
+++ b/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/source/compiler/aslwalks.c b/source/compiler/aslwalks.c
index 6e32f0818725..0f7bc94f2355 100644
--- a/source/compiler/aslwalks.c
+++ b/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/source/compiler/aslxref.c b/source/compiler/aslxref.c
index 3a00f5a92cbc..0e1034ba73a1 100644
--- a/source/compiler/aslxref.c
+++ b/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/source/compiler/aslxrefout.c b/source/compiler/aslxrefout.c
index dd3fe80c275f..04471c63549d 100644
--- a/source/compiler/aslxrefout.c
+++ b/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/source/compiler/cvcompiler.c b/source/compiler/cvcompiler.c
index b51a688b3a59..6689ca89581f 100644
--- a/source/compiler/cvcompiler.c
+++ b/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/source/compiler/cvdisasm.c b/source/compiler/cvdisasm.c
index 250c009ac315..7561e902fdd7 100644
--- a/source/compiler/cvdisasm.c
+++ b/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/source/compiler/cvparser.c b/source/compiler/cvparser.c
index 66b04e9a8597..574cbe8d9c48 100644
--- a/source/compiler/cvparser.c
+++ b/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/source/compiler/dtcompile.c b/source/compiler/dtcompile.c
index 11fcb8b9a6dc..afb4e3427671 100644
--- a/source/compiler/dtcompile.c
+++ b/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/source/compiler/dtcompiler.h b/source/compiler/dtcompiler.h
index e85ca539791a..cddc95191f4b 100644
--- a/source/compiler/dtcompiler.h
+++ b/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
@@ -578,6 +578,10 @@ DtCompileAsf (
void **PFieldList);
ACPI_STATUS
+DtCompileAspt (
+ void **PFieldList);
+
+ACPI_STATUS
DtCompileCdat (
void **PFieldList);
@@ -654,6 +658,10 @@ DtCompileMcfg (
void **PFieldList);
ACPI_STATUS
+DtCompileMpam (
+ void **PFieldList);
+
+ACPI_STATUS
DtCompileMpst (
void **PFieldList);
@@ -698,6 +706,10 @@ 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/source/compiler/dtcompilerparser.l b/source/compiler/dtcompilerparser.l
index a00ef56e2481..a4ff02a08fa9 100644
--- a/source/compiler/dtcompilerparser.l
+++ b/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/source/compiler/dtcompilerparser.y b/source/compiler/dtcompilerparser.y
index 30ead3afa9ad..f03615ff1c5e 100644
--- a/source/compiler/dtcompilerparser.y
+++ b/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/source/compiler/dtexpress.c b/source/compiler/dtexpress.c
index fd292d8fec76..7d614729e266 100644
--- a/source/compiler/dtexpress.c
+++ b/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/source/compiler/dtfield.c b/source/compiler/dtfield.c
index f931631955c2..b2ba6693dcaa 100644
--- a/source/compiler/dtfield.c
+++ b/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/source/compiler/dtio.c b/source/compiler/dtio.c
index 9ec18cd1e0f8..7d7fb2b45997 100644
--- a/source/compiler/dtio.c
+++ b/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/source/compiler/dtparser.l b/source/compiler/dtparser.l
index b7cb26e2ba32..0c003ecacfbd 100644
--- a/source/compiler/dtparser.l
+++ b/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/source/compiler/dtparser.y b/source/compiler/dtparser.y
index fc8275cc209c..df804c916a16 100644
--- a/source/compiler/dtparser.y
+++ b/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/source/compiler/dtsubtable.c b/source/compiler/dtsubtable.c
index 3c2798b64dbd..0bbaa81ca424 100644
--- a/source/compiler/dtsubtable.c
+++ b/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/source/compiler/dttable.c b/source/compiler/dttable.c
index dfc34c134667..1cbd4619ac99 100644
--- a/source/compiler/dttable.c
+++ b/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/source/compiler/dttable1.c b/source/compiler/dttable1.c
index dc25e9b9f48f..8ffcb40dc44d 100644
--- a/source/compiler/dttable1.c
+++ b/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/source/compiler/dttable2.c b/source/compiler/dttable2.c
index 59d578f91959..007b67476319 100644
--- a/source/compiler/dttable2.c
+++ b/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)
{
@@ -1971,6 +2128,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
*
* PARAMETERS: List - Current field list pointer
diff --git a/source/compiler/dttemplate.c b/source/compiler/dttemplate.c
index 1bcc4a12cbf1..77edbc852582 100644
--- a/source/compiler/dttemplate.c
+++ b/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/source/compiler/dttemplate.h b/source/compiler/dttemplate.h
index 3ab99978ab07..755da40224e4 100644
--- a/source/compiler/dttemplate.h
+++ b/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/source/compiler/dtutils.c b/source/compiler/dtutils.c
index 45bff3df5d21..de321e588094 100644
--- a/source/compiler/dtutils.c
+++ b/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/source/compiler/preprocess.h b/source/compiler/preprocess.h
index 9c25dd132a74..818eac263fe2 100644
--- a/source/compiler/preprocess.h
+++ b/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/source/compiler/prexpress.c b/source/compiler/prexpress.c
index 8ac1fd88767e..88570685865e 100644
--- a/source/compiler/prexpress.c
+++ b/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/source/compiler/prmacros.c b/source/compiler/prmacros.c
index 5b3669784204..6414867b96ef 100644
--- a/source/compiler/prmacros.c
+++ b/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/source/compiler/prparser.l b/source/compiler/prparser.l
index 828d81b263f2..c701da4a46fb 100644
--- a/source/compiler/prparser.l
+++ b/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/source/compiler/prparser.y b/source/compiler/prparser.y
index 3854d989126f..2f4d03279bf5 100644
--- a/source/compiler/prparser.y
+++ b/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/source/compiler/prscan.c b/source/compiler/prscan.c
index 0d9af86ea475..d29f4e90da90 100644
--- a/source/compiler/prscan.c
+++ b/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/source/compiler/prutils.c b/source/compiler/prutils.c
index eea42f890b00..2eb91a6c0607 100644
--- a/source/compiler/prutils.c
+++ b/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
@@ -284,6 +284,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
*
* PARAMETERS: Buffer - Original(target) buffer pointer
@@ -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/source/components/debugger/dbcmds.c b/source/components/debugger/dbcmds.c
index 6f55147633b5..b8c2b4228013 100644
--- a/source/components/debugger/dbcmds.c
+++ b/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/source/components/debugger/dbconvert.c b/source/components/debugger/dbconvert.c
index 9d1e1dddc9c6..0b852261d274 100644
--- a/source/components/debugger/dbconvert.c
+++ b/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/source/components/debugger/dbdisply.c b/source/components/debugger/dbdisply.c
index 276217f58ef3..ad69737f544b 100644
--- a/source/components/debugger/dbdisply.c
+++ b/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/source/components/debugger/dbexec.c b/source/components/debugger/dbexec.c
index eed0aa35cd4c..73759c882991 100644
--- a/source/components/debugger/dbexec.c
+++ b/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/source/components/debugger/dbfileio.c b/source/components/debugger/dbfileio.c
index 09f8f2271d39..8fc11da8f211 100644
--- a/source/components/debugger/dbfileio.c
+++ b/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/source/components/debugger/dbhistry.c b/source/components/debugger/dbhistry.c
index 31bfc3c56a37..ecdfaeba993f 100644
--- a/source/components/debugger/dbhistry.c
+++ b/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/source/components/debugger/dbinput.c b/source/components/debugger/dbinput.c
index 0f21b731c67b..5e5c62893bf6 100644
--- a/source/components/debugger/dbinput.c
+++ b/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/source/components/debugger/dbmethod.c b/source/components/debugger/dbmethod.c
index 82202e8e2cbe..5060bf6ddbcc 100644
--- a/source/components/debugger/dbmethod.c
+++ b/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/source/components/debugger/dbnames.c b/source/components/debugger/dbnames.c
index 963f81251e8d..040fed248821 100644
--- a/source/components/debugger/dbnames.c
+++ b/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/source/components/debugger/dbobject.c b/source/components/debugger/dbobject.c
index b8bade432f62..fe38be909837 100644
--- a/source/components/debugger/dbobject.c
+++ b/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/source/components/debugger/dbstats.c b/source/components/debugger/dbstats.c
index 30a686dc6d42..a30d9948df46 100644
--- a/source/components/debugger/dbstats.c
+++ b/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/source/components/debugger/dbtest.c b/source/components/debugger/dbtest.c
index 23690ed67bc7..a4d48c7a4a1e 100644
--- a/source/components/debugger/dbtest.c
+++ b/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/source/components/debugger/dbutils.c b/source/components/debugger/dbutils.c
index ef649b2c12d1..70664ee2dc64 100644
--- a/source/components/debugger/dbutils.c
+++ b/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/source/components/debugger/dbxface.c b/source/components/debugger/dbxface.c
index c44e1d0d5e49..667e90e5f3d9 100644
--- a/source/components/debugger/dbxface.c
+++ b/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/source/components/disassembler/dmbuffer.c b/source/components/disassembler/dmbuffer.c
index d5d813c83bc8..79f5a3ccf88c 100644
--- a/source/components/disassembler/dmbuffer.c
+++ b/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/source/components/disassembler/dmcstyle.c b/source/components/disassembler/dmcstyle.c
index f0bef68ef982..0af72d1e1efc 100644
--- a/source/components/disassembler/dmcstyle.c
+++ b/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/source/components/disassembler/dmdeferred.c b/source/components/disassembler/dmdeferred.c
index 82ce2bec3bf8..3a1ca550d4e6 100644
--- a/source/components/disassembler/dmdeferred.c
+++ b/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/source/components/disassembler/dmnames.c b/source/components/disassembler/dmnames.c
index 8852921f9478..356af85f7f26 100644
--- a/source/components/disassembler/dmnames.c
+++ b/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/source/components/disassembler/dmopcode.c b/source/components/disassembler/dmopcode.c
index 1cfe710d7c05..8f201d218785 100644
--- a/source/components/disassembler/dmopcode.c
+++ b/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/source/components/disassembler/dmresrc.c b/source/components/disassembler/dmresrc.c
index 0a183e9c5b87..644c8a99d07c 100644
--- a/source/components/disassembler/dmresrc.c
+++ b/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/source/components/disassembler/dmresrcl.c b/source/components/disassembler/dmresrcl.c
index 9aa6ac1fbe5f..88d19036ad73 100644
--- a/source/components/disassembler/dmresrcl.c
+++ b/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/source/components/disassembler/dmresrcl2.c b/source/components/disassembler/dmresrcl2.c
index 59d00f6c3967..1d732e21f98c 100644
--- a/source/components/disassembler/dmresrcl2.c
+++ b/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/source/components/disassembler/dmresrcs.c b/source/components/disassembler/dmresrcs.c
index db5ce5db984f..3588362567d6 100644
--- a/source/components/disassembler/dmresrcs.c
+++ b/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/source/components/disassembler/dmutils.c b/source/components/disassembler/dmutils.c
index 2a7b7b330e55..b6c133f51ae2 100644
--- a/source/components/disassembler/dmutils.c
+++ b/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/source/components/disassembler/dmwalk.c b/source/components/disassembler/dmwalk.c
index 7d2429b721e6..beaa5f0a7ebe 100644
--- a/source/components/disassembler/dmwalk.c
+++ b/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/source/components/dispatcher/dsargs.c b/source/components/dispatcher/dsargs.c
index 52246693997d..6b9e4a35da59 100644
--- a/source/components/dispatcher/dsargs.c
+++ b/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/source/components/dispatcher/dscontrol.c b/source/components/dispatcher/dscontrol.c
index 1d7d676c2c30..205b9b55be59 100644
--- a/source/components/dispatcher/dscontrol.c
+++ b/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/source/components/dispatcher/dsdebug.c b/source/components/dispatcher/dsdebug.c
index 9111a215696e..06f7ec8165e6 100644
--- a/source/components/dispatcher/dsdebug.c
+++ b/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/source/components/dispatcher/dsfield.c b/source/components/dispatcher/dsfield.c
index 2d3851ff9d7d..37cc25a945a3 100644
--- a/source/components/dispatcher/dsfield.c
+++ b/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/source/components/dispatcher/dsinit.c b/source/components/dispatcher/dsinit.c
index 5f941f0c94cc..79e55719083a 100644
--- a/source/components/dispatcher/dsinit.c
+++ b/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/source/components/dispatcher/dsmethod.c b/source/components/dispatcher/dsmethod.c
index d5fc3038f643..02d9c6beaac0 100644
--- a/source/components/dispatcher/dsmethod.c
+++ b/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/source/components/dispatcher/dsmthdat.c b/source/components/dispatcher/dsmthdat.c
index af156790166d..1461af5d9dc9 100644
--- a/source/components/dispatcher/dsmthdat.c
+++ b/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/source/components/dispatcher/dsobject.c b/source/components/dispatcher/dsobject.c
index 5ffd198ba0bd..147edc29c1ca 100644
--- a/source/components/dispatcher/dsobject.c
+++ b/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/source/components/dispatcher/dsopcode.c b/source/components/dispatcher/dsopcode.c
index 190be1b3f7d1..7689df633aa0 100644
--- a/source/components/dispatcher/dsopcode.c
+++ b/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/source/components/dispatcher/dspkginit.c b/source/components/dispatcher/dspkginit.c
index bd2bf2e32a63..a159d769c0cc 100644
--- a/source/components/dispatcher/dspkginit.c
+++ b/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/source/components/dispatcher/dsutils.c b/source/components/dispatcher/dsutils.c
index b159b34c3fa4..059e05596f8e 100644
--- a/source/components/dispatcher/dsutils.c
+++ b/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/source/components/dispatcher/dswexec.c b/source/components/dispatcher/dswexec.c
index 686f03c8cc59..5ae0ad716608 100644
--- a/source/components/dispatcher/dswexec.c
+++ b/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/source/components/dispatcher/dswload.c b/source/components/dispatcher/dswload.c
index 4fdf955a5a61..74071c2e647f 100644
--- a/source/components/dispatcher/dswload.c
+++ b/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/source/components/dispatcher/dswload2.c b/source/components/dispatcher/dswload2.c
index 496ee91fbc06..c48b555ac8e2 100644
--- a/source/components/dispatcher/dswload2.c
+++ b/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/source/components/dispatcher/dswscope.c b/source/components/dispatcher/dswscope.c
index dad0c4974a48..bce120c1792a 100644
--- a/source/components/dispatcher/dswscope.c
+++ b/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/source/components/dispatcher/dswstate.c b/source/components/dispatcher/dswstate.c
index 68b7f3d10378..cc648e3aeb75 100644
--- a/source/components/dispatcher/dswstate.c
+++ b/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/source/components/events/evevent.c b/source/components/events/evevent.c
index b92646a4e5d7..913cbd143a1a 100644
--- a/source/components/events/evevent.c
+++ b/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/source/components/events/evglock.c b/source/components/events/evglock.c
index 79b519a0f75d..5992671bd795 100644
--- a/source/components/events/evglock.c
+++ b/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/source/components/events/evgpe.c b/source/components/events/evgpe.c
index b246567d34c5..d7dcc3ea8acc 100644
--- a/source/components/events/evgpe.c
+++ b/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/source/components/events/evgpeblk.c b/source/components/events/evgpeblk.c
index 4dac205ee1c4..7317f6e0f4c1 100644
--- a/source/components/events/evgpeblk.c
+++ b/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/source/components/events/evgpeinit.c b/source/components/events/evgpeinit.c
index 6f0472cf1963..adbe86eb4ebf 100644
--- a/source/components/events/evgpeinit.c
+++ b/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/source/components/events/evgpeutil.c b/source/components/events/evgpeutil.c
index 1f66717df278..23f6369f3406 100644
--- a/source/components/events/evgpeutil.c
+++ b/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/source/components/events/evhandler.c b/source/components/events/evhandler.c
index e0859c30a599..47393a7d0966 100644
--- a/source/components/events/evhandler.c
+++ b/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/source/components/events/evmisc.c b/source/components/events/evmisc.c
index b6c6eb6ad33e..40548b50316b 100644
--- a/source/components/events/evmisc.c
+++ b/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/source/components/events/evregion.c b/source/components/events/evregion.c
index fb0cc4361ef6..73db629f6f39 100644
--- a/source/components/events/evregion.c
+++ b/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/source/components/events/evrgnini.c b/source/components/events/evrgnini.c
index 7cbbe30c069b..6d329cb20ceb 100644
--- a/source/components/events/evrgnini.c
+++ b/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/source/components/events/evsci.c b/source/components/events/evsci.c
index 26891925293c..bb850e4d1e75 100644
--- a/source/components/events/evsci.c
+++ b/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/source/components/events/evxface.c b/source/components/events/evxface.c
index 245ca8a41fb5..ef2fbcc49208 100644
--- a/source/components/events/evxface.c
+++ b/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/source/components/events/evxfevnt.c b/source/components/events/evxfevnt.c
index 3384e0982e82..2b95395d9f3f 100644
--- a/source/components/events/evxfevnt.c
+++ b/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/source/components/events/evxfgpe.c b/source/components/events/evxfgpe.c
index 87dab0f8119f..fe354d219e25 100644
--- a/source/components/events/evxfgpe.c
+++ b/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/source/components/events/evxfregn.c b/source/components/events/evxfregn.c
index ee44e10d5784..00fe86209f27 100644
--- a/source/components/events/evxfregn.c
+++ b/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/source/components/executer/exconcat.c b/source/components/executer/exconcat.c
index 335d78f19671..f504bc0c7c36 100644
--- a/source/components/executer/exconcat.c
+++ b/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/source/components/executer/exconfig.c b/source/components/executer/exconfig.c
index 11c8ba64b509..ae95a9200c76 100644
--- a/source/components/executer/exconfig.c
+++ b/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/source/components/executer/exconvrt.c b/source/components/executer/exconvrt.c
index c9572e90bbb7..3382b520fdca 100644
--- a/source/components/executer/exconvrt.c
+++ b/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/source/components/executer/excreate.c b/source/components/executer/excreate.c
index e83810810e36..563557263375 100644
--- a/source/components/executer/excreate.c
+++ b/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/source/components/executer/exdebug.c b/source/components/executer/exdebug.c
index 88f75966d848..5ccfccdb29c6 100644
--- a/source/components/executer/exdebug.c
+++ b/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/source/components/executer/exdump.c b/source/components/executer/exdump.c
index e72ac01fc0a5..7a2c4a81bf9f 100644
--- a/source/components/executer/exdump.c
+++ b/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/source/components/executer/exfield.c b/source/components/executer/exfield.c
index 4175b8eedcea..f7d092064c74 100644
--- a/source/components/executer/exfield.c
+++ b/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/source/components/executer/exfldio.c b/source/components/executer/exfldio.c
index 30d17c196be4..c29cd0e89b38 100644
--- a/source/components/executer/exfldio.c
+++ b/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/source/components/executer/exmisc.c b/source/components/executer/exmisc.c
index 4a1e2ff25239..9b6608ba8944 100644
--- a/source/components/executer/exmisc.c
+++ b/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/source/components/executer/exmutex.c b/source/components/executer/exmutex.c
index 8b335680dc30..3abac6a8ec5f 100644
--- a/source/components/executer/exmutex.c
+++ b/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/source/components/executer/exnames.c b/source/components/executer/exnames.c
index 6045bc6b3176..af68c82fadc8 100644
--- a/source/components/executer/exnames.c
+++ b/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/source/components/executer/exoparg1.c b/source/components/executer/exoparg1.c
index 2d9bbddf271f..82250ff65c2b 100644
--- a/source/components/executer/exoparg1.c
+++ b/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/source/components/executer/exoparg2.c b/source/components/executer/exoparg2.c
index 8b63d615fa51..29d9dc7e205b 100644
--- a/source/components/executer/exoparg2.c
+++ b/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/source/components/executer/exoparg3.c b/source/components/executer/exoparg3.c
index 7b74d32ef374..a22b72579b34 100644
--- a/source/components/executer/exoparg3.c
+++ b/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/source/components/executer/exoparg6.c b/source/components/executer/exoparg6.c
index 5506b2c1a75b..ad69405eecc8 100644
--- a/source/components/executer/exoparg6.c
+++ b/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/source/components/executer/exprep.c b/source/components/executer/exprep.c
index 6d239d7a78f6..678ee8a1d44e 100644
--- a/source/components/executer/exprep.c
+++ b/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/source/components/executer/exregion.c b/source/components/executer/exregion.c
index 01d49065ddd4..858d31feb19a 100644
--- a/source/components/executer/exregion.c
+++ b/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/source/components/executer/exresnte.c b/source/components/executer/exresnte.c
index 6801b25beef9..b5dc24c60278 100644
--- a/source/components/executer/exresnte.c
+++ b/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/source/components/executer/exresolv.c b/source/components/executer/exresolv.c
index af5202ab8e05..460c6d77306e 100644
--- a/source/components/executer/exresolv.c
+++ b/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/source/components/executer/exresop.c b/source/components/executer/exresop.c
index 4abe93766ae7..f4734d892227 100644
--- a/source/components/executer/exresop.c
+++ b/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/source/components/executer/exserial.c b/source/components/executer/exserial.c
index c92a895ad7f7..6d57e3761ef4 100644
--- a/source/components/executer/exserial.c
+++ b/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/source/components/executer/exstore.c b/source/components/executer/exstore.c
index ba1a05d94561..95bb19afa9f0 100644
--- a/source/components/executer/exstore.c
+++ b/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/source/components/executer/exstoren.c b/source/components/executer/exstoren.c
index df4a6f405cea..628592f26ef1 100644
--- a/source/components/executer/exstoren.c
+++ b/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/source/components/executer/exstorob.c b/source/components/executer/exstorob.c
index 56d048a7e5c6..f318f0274d60 100644
--- a/source/components/executer/exstorob.c
+++ b/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/source/components/executer/exsystem.c b/source/components/executer/exsystem.c
index 44d3a00ba9f0..68a074be3bca 100644
--- a/source/components/executer/exsystem.c
+++ b/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/source/components/executer/extrace.c b/source/components/executer/extrace.c
index a677393f18a7..e574e489096e 100644
--- a/source/components/executer/extrace.c
+++ b/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/source/components/executer/exutils.c b/source/components/executer/exutils.c
index e27f567b6e39..3d9dd4fa7612 100644
--- a/source/components/executer/exutils.c
+++ b/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/source/components/hardware/hwacpi.c b/source/components/hardware/hwacpi.c
index 8b3222099db4..1772e79545b3 100644
--- a/source/components/hardware/hwacpi.c
+++ b/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/source/components/hardware/hwesleep.c b/source/components/hardware/hwesleep.c
index 85e4cb950192..ec03e5ed1ee6 100644
--- a/source/components/hardware/hwesleep.c
+++ b/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/source/components/hardware/hwgpe.c b/source/components/hardware/hwgpe.c
index 7f9a5f052fa3..994fc47569a1 100644
--- a/source/components/hardware/hwgpe.c
+++ b/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/source/components/hardware/hwpci.c b/source/components/hardware/hwpci.c
index b8e8aa9f3b2b..745f9c81e7e8 100644
--- a/source/components/hardware/hwpci.c
+++ b/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/source/components/hardware/hwregs.c b/source/components/hardware/hwregs.c
index 7b4ae88af8dd..c499c111d0ef 100644
--- a/source/components/hardware/hwregs.c
+++ b/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/source/components/hardware/hwsleep.c b/source/components/hardware/hwsleep.c
index 6667c27eca0e..d9bb8ae03aa4 100644
--- a/source/components/hardware/hwsleep.c
+++ b/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/source/components/hardware/hwtimer.c b/source/components/hardware/hwtimer.c
index 829e2a35340e..504f84d0339e 100644
--- a/source/components/hardware/hwtimer.c
+++ b/source/components/hardware/hwtimer.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/components/hardware/hwvalid.c b/source/components/hardware/hwvalid.c
index d297905b79a0..80f0f5709f97 100644
--- a/source/components/hardware/hwvalid.c
+++ b/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/source/components/hardware/hwxface.c b/source/components/hardware/hwxface.c
index 8fd3561a05ff..febe90de565e 100644
--- a/source/components/hardware/hwxface.c
+++ b/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/source/components/hardware/hwxfsleep.c b/source/components/hardware/hwxfsleep.c
index 5f8b7db0a2fa..4cd7eba86a7f 100644
--- a/source/components/hardware/hwxfsleep.c
+++ b/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/source/components/namespace/nsaccess.c b/source/components/namespace/nsaccess.c
index 2b810facb035..b6d9d8490248 100644
--- a/source/components/namespace/nsaccess.c
+++ b/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/source/components/namespace/nsalloc.c b/source/components/namespace/nsalloc.c
index 560f6f3635d9..706270771e66 100644
--- a/source/components/namespace/nsalloc.c
+++ b/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/source/components/namespace/nsarguments.c b/source/components/namespace/nsarguments.c
index 2da06f2f6103..bb081b75427d 100644
--- a/source/components/namespace/nsarguments.c
+++ b/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/source/components/namespace/nsconvert.c b/source/components/namespace/nsconvert.c
index 2971f08ecd6b..ed2fa03e72dd 100644
--- a/source/components/namespace/nsconvert.c
+++ b/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/source/components/namespace/nsdump.c b/source/components/namespace/nsdump.c
index 36cfbdf6b172..731c32d92560 100644
--- a/source/components/namespace/nsdump.c
+++ b/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/source/components/namespace/nsdumpdv.c b/source/components/namespace/nsdumpdv.c
index 0cc9b5a5e09c..af0b29656e4c 100644
--- a/source/components/namespace/nsdumpdv.c
+++ b/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/source/components/namespace/nseval.c b/source/components/namespace/nseval.c
index 1cb07615d52f..23ed486c8b23 100644
--- a/source/components/namespace/nseval.c
+++ b/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/source/components/namespace/nsinit.c b/source/components/namespace/nsinit.c
index c523035f1d0a..5ca332eb7717 100644
--- a/source/components/namespace/nsinit.c
+++ b/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/source/components/namespace/nsload.c b/source/components/namespace/nsload.c
index c3423e55ba01..0e93791bf051 100644
--- a/source/components/namespace/nsload.c
+++ b/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/source/components/namespace/nsnames.c b/source/components/namespace/nsnames.c
index c8412c2edf29..ea3d7d571a04 100644
--- a/source/components/namespace/nsnames.c
+++ b/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/source/components/namespace/nsobject.c b/source/components/namespace/nsobject.c
index 82d735eb186e..842a36a5f2dc 100644
--- a/source/components/namespace/nsobject.c
+++ b/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/source/components/namespace/nsparse.c b/source/components/namespace/nsparse.c
index 0ac5efb428b5..86afef097fee 100644
--- a/source/components/namespace/nsparse.c
+++ b/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/source/components/namespace/nspredef.c b/source/components/namespace/nspredef.c
index e28d689670b9..04c3012a483a 100644
--- a/source/components/namespace/nspredef.c
+++ b/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/source/components/namespace/nsprepkg.c b/source/components/namespace/nsprepkg.c
index e6959dacaaf2..2bfc89a7d7b6 100644
--- a/source/components/namespace/nsprepkg.c
+++ b/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/source/components/namespace/nsrepair.c b/source/components/namespace/nsrepair.c
index 59f7aa33f32a..7aa02a80fc10 100644
--- a/source/components/namespace/nsrepair.c
+++ b/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/source/components/namespace/nsrepair2.c b/source/components/namespace/nsrepair2.c
index bf76b7dd7ba3..7f50c05f49d8 100644
--- a/source/components/namespace/nsrepair2.c
+++ b/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/source/components/namespace/nssearch.c b/source/components/namespace/nssearch.c
index 706963c49633..a992a7e4cf30 100644
--- a/source/components/namespace/nssearch.c
+++ b/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/source/components/namespace/nsutils.c b/source/components/namespace/nsutils.c
index f4208179bc41..1162fca73568 100644
--- a/source/components/namespace/nsutils.c
+++ b/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/source/components/namespace/nswalk.c b/source/components/namespace/nswalk.c
index 3d0fc639f65b..7abc6b81e9c7 100644
--- a/source/components/namespace/nswalk.c
+++ b/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/source/components/namespace/nsxfeval.c b/source/components/namespace/nsxfeval.c
index 9724d02427be..a4213f2809ee 100644
--- a/source/components/namespace/nsxfeval.c
+++ b/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/source/components/namespace/nsxfname.c b/source/components/namespace/nsxfname.c
index 7d52330f6629..c19b02442c6d 100644
--- a/source/components/namespace/nsxfname.c
+++ b/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/source/components/namespace/nsxfobj.c b/source/components/namespace/nsxfobj.c
index 2aa1fc17b9cc..50ca5b2e6b56 100644
--- a/source/components/namespace/nsxfobj.c
+++ b/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/source/components/parser/psargs.c b/source/components/parser/psargs.c
index f510623ebbb7..ff0780c6507d 100644
--- a/source/components/parser/psargs.c
+++ b/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/source/components/parser/psloop.c b/source/components/parser/psloop.c
index 2b4c1f2a8d78..e759e081f3c3 100644
--- a/source/components/parser/psloop.c
+++ b/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/source/components/parser/psobject.c b/source/components/parser/psobject.c
index 18a32ef36d3f..ff1069d0a59d 100644
--- a/source/components/parser/psobject.c
+++ b/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/source/components/parser/psopcode.c b/source/components/parser/psopcode.c
index 540716af5b08..db0c2e4758cb 100644
--- a/source/components/parser/psopcode.c
+++ b/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/source/components/parser/psopinfo.c b/source/components/parser/psopinfo.c
index fcb080cacab2..99fada1010fc 100644
--- a/source/components/parser/psopinfo.c
+++ b/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/source/components/parser/psparse.c b/source/components/parser/psparse.c
index e0cd5915b6ad..f7e584b91bc5 100644
--- a/source/components/parser/psparse.c
+++ b/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/source/components/parser/psscope.c b/source/components/parser/psscope.c
index 269410a6acf7..9fe84e387062 100644
--- a/source/components/parser/psscope.c
+++ b/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/source/components/parser/pstree.c b/source/components/parser/pstree.c
index 92f623046cf0..cbcb35994906 100644
--- a/source/components/parser/pstree.c
+++ b/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/source/components/parser/psutils.c b/source/components/parser/psutils.c
index a9ea353641d9..f10179369d15 100644
--- a/source/components/parser/psutils.c
+++ b/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/source/components/parser/pswalk.c b/source/components/parser/pswalk.c
index 31232fd46a7b..4a5fd986f2e7 100644
--- a/source/components/parser/pswalk.c
+++ b/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/source/components/parser/psxface.c b/source/components/parser/psxface.c
index 295da1af6988..d44cb9f64cb8 100644
--- a/source/components/parser/psxface.c
+++ b/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/source/components/resources/rsaddr.c b/source/components/resources/rsaddr.c
index 93d45ca35718..beee83803c57 100644
--- a/source/components/resources/rsaddr.c
+++ b/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/source/components/resources/rscalc.c b/source/components/resources/rscalc.c
index c966636b6afe..55694f1ecddf 100644
--- a/source/components/resources/rscalc.c
+++ b/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/source/components/resources/rscreate.c b/source/components/resources/rscreate.c
index 6c230bce0ee5..583abe1a75ca 100644
--- a/source/components/resources/rscreate.c
+++ b/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/source/components/resources/rsdump.c b/source/components/resources/rsdump.c
index e8f13724c90c..02fc37ca4b5e 100644
--- a/source/components/resources/rsdump.c
+++ b/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/source/components/resources/rsdumpinfo.c b/source/components/resources/rsdumpinfo.c
index 83b22caa62f9..2801e0d778d0 100644
--- a/source/components/resources/rsdumpinfo.c
+++ b/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/source/components/resources/rsinfo.c b/source/components/resources/rsinfo.c
index b9d4df46b432..551b647b795a 100644
--- a/source/components/resources/rsinfo.c
+++ b/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/source/components/resources/rsio.c b/source/components/resources/rsio.c
index 299326232bec..1640cdb2141e 100644
--- a/source/components/resources/rsio.c
+++ b/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/source/components/resources/rsirq.c b/source/components/resources/rsirq.c
index 9a8fc18fc568..10256c50b54a 100644
--- a/source/components/resources/rsirq.c
+++ b/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/source/components/resources/rslist.c b/source/components/resources/rslist.c
index fdd24688c2d5..cb408197e576 100644
--- a/source/components/resources/rslist.c
+++ b/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/source/components/resources/rsmemory.c b/source/components/resources/rsmemory.c
index e527bad7bf0c..170bb6799221 100644
--- a/source/components/resources/rsmemory.c
+++ b/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/source/components/resources/rsmisc.c b/source/components/resources/rsmisc.c
index 16c52134ed8c..6d11442d95a1 100644
--- a/source/components/resources/rsmisc.c
+++ b/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/source/components/resources/rsserial.c b/source/components/resources/rsserial.c
index 3075b4c47dcc..4c19f890865f 100644
--- a/source/components/resources/rsserial.c
+++ b/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
@@ -256,6 +256,50 @@ ACPI_RSCONVERT_INFO AcpiRsConvertGpio[18] =
/*******************************************************************************
*
+ * 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/source/components/resources/rsutils.c b/source/components/resources/rsutils.c
index 7110406f4e9e..e6889f86cece 100644
--- a/source/components/resources/rsutils.c
+++ b/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/source/components/resources/rsxface.c b/source/components/resources/rsxface.c
index d3aaf1d0fd88..f46ff346b758 100644
--- a/source/components/resources/rsxface.c
+++ b/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/source/components/tables/tbdata.c b/source/components/tables/tbdata.c
index d974d951b62d..e003763762ba 100644
--- a/source/components/tables/tbdata.c
+++ b/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/source/components/tables/tbfadt.c b/source/components/tables/tbfadt.c
index 97876614bd1c..d2bd1eb32aba 100644
--- a/source/components/tables/tbfadt.c
+++ b/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/source/components/tables/tbfind.c b/source/components/tables/tbfind.c
index 81ed2d97a66e..4adf09e22eda 100644
--- a/source/components/tables/tbfind.c
+++ b/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/source/components/tables/tbinstal.c b/source/components/tables/tbinstal.c
index 9253bd1db0a3..eda1d0a73033 100644
--- a/source/components/tables/tbinstal.c
+++ b/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/source/components/tables/tbprint.c b/source/components/tables/tbprint.c
index cdad69af46ea..9fd5c7aac4b5 100644
--- a/source/components/tables/tbprint.c
+++ b/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/source/components/tables/tbutils.c b/source/components/tables/tbutils.c
index 5188d26da3c8..680a69d9f2cf 100644
--- a/source/components/tables/tbutils.c
+++ b/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/source/components/tables/tbxface.c b/source/components/tables/tbxface.c
index 919ad13813d6..b37377efd205 100644
--- a/source/components/tables/tbxface.c
+++ b/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/source/components/tables/tbxfload.c b/source/components/tables/tbxfload.c
index ddd9b795e50a..7ae42346eae7 100644
--- a/source/components/tables/tbxfload.c
+++ b/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/source/components/tables/tbxfroot.c b/source/components/tables/tbxfroot.c
index 97cb65c79277..923d05fb7cd0 100644
--- a/source/components/tables/tbxfroot.c
+++ b/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/source/components/utilities/utaddress.c b/source/components/utilities/utaddress.c
index 5aa12832bd41..e3a502890571 100644
--- a/source/components/utilities/utaddress.c
+++ b/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/source/components/utilities/utalloc.c b/source/components/utilities/utalloc.c
index aa06339cb8c7..d4a7e501c68e 100644
--- a/source/components/utilities/utalloc.c
+++ b/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/source/components/utilities/utascii.c b/source/components/utilities/utascii.c
index db2389024d02..6f6d92298ed6 100644
--- a/source/components/utilities/utascii.c
+++ b/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/source/components/utilities/utbuffer.c b/source/components/utilities/utbuffer.c
index 2cf097bf5ceb..be1082e8cd01 100644
--- a/source/components/utilities/utbuffer.c
+++ b/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/source/components/utilities/utcache.c b/source/components/utilities/utcache.c
index 2ff1540c1662..32c527d573ea 100644
--- a/source/components/utilities/utcache.c
+++ b/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/source/components/utilities/utcksum.c b/source/components/utilities/utcksum.c
index b8ea869bac5f..de97d15ff9fa 100644
--- a/source/components/utilities/utcksum.c
+++ b/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/source/components/utilities/utclib.c b/source/components/utilities/utclib.c
index 42f8d171401c..9c49163d4894 100644
--- a/source/components/utilities/utclib.c
+++ b/source/components/utilities/utclib.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/components/utilities/utcopy.c b/source/components/utilities/utcopy.c
index e725d55b5ef2..e9024bdd1afa 100644
--- a/source/components/utilities/utcopy.c
+++ b/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/source/components/utilities/utdebug.c b/source/components/utilities/utdebug.c
index f789e686da20..b0c3640f2f72 100644
--- a/source/components/utilities/utdebug.c
+++ b/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/source/components/utilities/utdecode.c b/source/components/utilities/utdecode.c
index 2a49cbd8d83c..b100c61bf1d8 100644
--- a/source/components/utilities/utdecode.c
+++ b/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/source/components/utilities/utdelete.c b/source/components/utilities/utdelete.c
index b36c4bb3a77a..1227b21154ee 100644
--- a/source/components/utilities/utdelete.c
+++ b/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/source/components/utilities/uterror.c b/source/components/utilities/uterror.c
index 2aee4d54f9c4..c88081f9e44d 100644
--- a/source/components/utilities/uterror.c
+++ b/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/source/components/utilities/uteval.c b/source/components/utilities/uteval.c
index f4ccea68bd9c..bccbdda5aef6 100644
--- a/source/components/utilities/uteval.c
+++ b/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/source/components/utilities/utexcep.c b/source/components/utilities/utexcep.c
index 279d33fcde5d..094df3ab4481 100644
--- a/source/components/utilities/utexcep.c
+++ b/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/source/components/utilities/utglobal.c b/source/components/utilities/utglobal.c
index 43de5c0a7747..28e4c341d9a7 100644
--- a/source/components/utilities/utglobal.c
+++ b/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/source/components/utilities/uthex.c b/source/components/utilities/uthex.c
index c64d3def8839..801627e2dbe5 100644
--- a/source/components/utilities/uthex.c
+++ b/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/source/components/utilities/utids.c b/source/components/utilities/utids.c
index 498338a10b68..3df4d97dbf59 100644
--- a/source/components/utilities/utids.c
+++ b/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/source/components/utilities/utinit.c b/source/components/utilities/utinit.c
index 0f2cf48907a9..37ec63bc6667 100644
--- a/source/components/utilities/utinit.c
+++ b/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/source/components/utilities/utlock.c b/source/components/utilities/utlock.c
index 9357279b3653..e56b74843017 100644
--- a/source/components/utilities/utlock.c
+++ b/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/source/components/utilities/utmath.c b/source/components/utilities/utmath.c
index b534bb3e070b..b854368e6283 100644
--- a/source/components/utilities/utmath.c
+++ b/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/source/components/utilities/utmisc.c b/source/components/utilities/utmisc.c
index 1efe0afc99bf..64e33672fcde 100644
--- a/source/components/utilities/utmisc.c
+++ b/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/source/components/utilities/utmutex.c b/source/components/utilities/utmutex.c
index 1f1c1d82d055..2ce621fa3c5c 100644
--- a/source/components/utilities/utmutex.c
+++ b/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/source/components/utilities/utnonansi.c b/source/components/utilities/utnonansi.c
index e3c2f460d869..5db704223e49 100644
--- a/source/components/utilities/utnonansi.c
+++ b/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/source/components/utilities/utobject.c b/source/components/utilities/utobject.c
index 52e02beb9596..f53f316370cc 100644
--- a/source/components/utilities/utobject.c
+++ b/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/source/components/utilities/utosi.c b/source/components/utilities/utosi.c
index 700f30a686d3..b6431c8832d2 100644
--- a/source/components/utilities/utosi.c
+++ b/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/source/components/utilities/utownerid.c b/source/components/utilities/utownerid.c
index 30ba6b7500a7..ad2796be373f 100644
--- a/source/components/utilities/utownerid.c
+++ b/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/source/components/utilities/utpredef.c b/source/components/utilities/utpredef.c
index 7f97ee7c4e10..6afc655947c9 100644
--- a/source/components/utilities/utpredef.c
+++ b/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/source/components/utilities/utprint.c b/source/components/utilities/utprint.c
index 4d9252ac5a87..7d8611b0327b 100644
--- a/source/components/utilities/utprint.c
+++ b/source/components/utilities/utprint.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/components/utilities/utresdecode.c b/source/components/utilities/utresdecode.c
index 12ab687588cc..667f12f8eb1e 100644
--- a/source/components/utilities/utresdecode.c
+++ b/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/source/components/utilities/utresrc.c b/source/components/utilities/utresrc.c
index 26c382d879a9..f47b29246f6e 100644
--- a/source/components/utilities/utresrc.c
+++ b/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/source/components/utilities/utstate.c b/source/components/utilities/utstate.c
index f089ffeaa66b..ec13a07aa6b1 100644
--- a/source/components/utilities/utstate.c
+++ b/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/source/components/utilities/utstring.c b/source/components/utilities/utstring.c
index 770f3078767a..aed0d10c7815 100644
--- a/source/components/utilities/utstring.c
+++ b/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/source/components/utilities/utstrsuppt.c b/source/components/utilities/utstrsuppt.c
index 0487a4f63fdc..31e720c94144 100644
--- a/source/components/utilities/utstrsuppt.c
+++ b/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/source/components/utilities/utstrtoul64.c b/source/components/utilities/utstrtoul64.c
index 1ef50eac07cf..1aee5d02a062 100644
--- a/source/components/utilities/utstrtoul64.c
+++ b/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/source/components/utilities/uttrack.c b/source/components/utilities/uttrack.c
index 7791fe9b7f73..77e1b659a348 100644
--- a/source/components/utilities/uttrack.c
+++ b/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/source/components/utilities/utuuid.c b/source/components/utilities/utuuid.c
index 8fd85d62960e..055086f12042 100644
--- a/source/components/utilities/utuuid.c
+++ b/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/source/components/utilities/utxface.c b/source/components/utilities/utxface.c
index 74a8ff485bc5..d335bb1a2b5f 100644
--- a/source/components/utilities/utxface.c
+++ b/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/source/components/utilities/utxferror.c b/source/components/utilities/utxferror.c
index 77701dfec99a..6534e1a1f4bd 100644
--- a/source/components/utilities/utxferror.c
+++ b/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/source/components/utilities/utxfinit.c b/source/components/utilities/utxfinit.c
index 865fe9d2dee8..0ccaf5caae7d 100644
--- a/source/components/utilities/utxfinit.c
+++ b/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/source/components/utilities/utxfmutex.c b/source/components/utilities/utxfmutex.c
index 2e77fc95ab65..cec55dfc2915 100644
--- a/source/components/utilities/utxfmutex.c
+++ b/source/components/utilities/utxfmutex.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/include/acapps.h b/source/include/acapps.h
index 382ab1700b34..9662e5117dcf 100644
--- a/source/include/acapps.h
+++ b/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/source/include/acbuffer.h b/source/include/acbuffer.h
index 0739feb52817..63225aa7de7a 100644
--- a/source/include/acbuffer.h
+++ b/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/source/include/acclib.h b/source/include/acclib.h
index 75c48119cab7..d03652c1aad9 100644
--- a/source/include/acclib.h
+++ b/source/include/acclib.h
@@ -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/source/include/accommon.h b/source/include/accommon.h
index 210035cd4961..219372d3b7ed 100644
--- a/source/include/accommon.h
+++ b/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/source/include/acconfig.h b/source/include/acconfig.h
index 04f7f4f0caa0..5ae00322ec20 100644
--- a/source/include/acconfig.h
+++ b/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/source/include/acconvert.h b/source/include/acconvert.h
index 048fd53e4de2..3aa36a8bf389 100644
--- a/source/include/acconvert.h
+++ b/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/source/include/acdebug.h b/source/include/acdebug.h
index 6716a094d4ad..c1596ee89ddd 100644
--- a/source/include/acdebug.h
+++ b/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/source/include/acdisasm.h b/source/include/acdisasm.h
index 47ce0b15bffd..afc9034b8b26 100644
--- a/source/include/acdisasm.h
+++ b/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[];
@@ -759,6 +784,10 @@ AcpiDmDumpAsf (
ACPI_TABLE_HEADER *Table);
void
+AcpiDmDumpAspt (
+ ACPI_TABLE_HEADER *Table);
+
+void
AcpiDmDumpCcel (
ACPI_TABLE_HEADER *Table);
@@ -839,6 +868,10 @@ 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/source/include/acdispat.h b/source/include/acdispat.h
index 2c44c9f19613..3e8ad8106c53 100644
--- a/source/include/acdispat.h
+++ b/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/source/include/acevents.h b/source/include/acevents.h
index f8c5d77699a0..f9972d8ded51 100644
--- a/source/include/acevents.h
+++ b/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/source/include/acexcep.h b/source/include/acexcep.h
index 92e949722940..9271dc4c81ea 100644
--- a/source/include/acexcep.h
+++ b/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/source/include/acglobal.h b/source/include/acglobal.h
index 1850d94beb2e..28fc6514bf94 100644
--- a/source/include/acglobal.h
+++ b/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/source/include/achware.h b/source/include/achware.h
index 256008c74c7a..6e0631e05720 100644
--- a/source/include/achware.h
+++ b/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/source/include/acinterp.h b/source/include/acinterp.h
index d9cec3455d7b..4c36708a00ed 100644
--- a/source/include/acinterp.h
+++ b/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/source/include/aclocal.h b/source/include/aclocal.h
index 74eb6e27f08c..9c090a07d9b4 100644
--- a/source/include/aclocal.h
+++ b/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/source/include/acmacros.h b/source/include/acmacros.h
index 11fd47cc3cab..66c90b6aba09 100644
--- a/source/include/acmacros.h
+++ b/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/source/include/acnames.h b/source/include/acnames.h
index 846d192b229d..a6cdd2e2c7e4 100644
--- a/source/include/acnames.h
+++ b/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/source/include/acnamesp.h b/source/include/acnamesp.h
index 7b8d069d6b26..432d9d4478cb 100644
--- a/source/include/acnamesp.h
+++ b/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/source/include/acobject.h b/source/include/acobject.h
index b2c9dd9b7a0f..4454c572b521 100644
--- a/source/include/acobject.h
+++ b/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/source/include/acopcode.h b/source/include/acopcode.h
index 7e54a47f7063..f2ce2cd53e80 100644
--- a/source/include/acopcode.h
+++ b/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/source/include/acoutput.h b/source/include/acoutput.h
index cd3d26d52a22..502d9a94f7af 100644
--- a/source/include/acoutput.h
+++ b/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/source/include/acparser.h b/source/include/acparser.h
index 4437d612ea63..0dd0e345600e 100644
--- a/source/include/acparser.h
+++ b/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/source/include/acpi.h b/source/include/acpi.h
index 081e3b7d2ea7..445e4413ed11 100644
--- a/source/include/acpi.h
+++ b/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/source/include/acpiosxf.h b/source/include/acpiosxf.h
index 67c110136a54..c4857cae9db1 100644
--- a/source/include/acpiosxf.h
+++ b/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/source/include/acpixf.h b/source/include/acpixf.h
index 7b779375091f..a7d61033a7b8 100644
--- a/source/include/acpixf.h
+++ b/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 (
@@ -944,6 +944,21 @@ AcpiInstallAddressSpaceHandler (
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 (
ACPI_HANDLE Device,
ACPI_ADR_SPACE_TYPE SpaceId,
diff --git a/source/include/acpredef.h b/source/include/acpredef.h
index 9ad8c0ffcc38..ca47e7cc0963 100644
--- a/source/include/acpredef.h
+++ b/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/source/include/acresrc.h b/source/include/acresrc.h
index 8214ed835c5b..85be65dc17eb 100644
--- a/source/include/acresrc.h
+++ b/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/source/include/acrestyp.h b/source/include/acrestyp.h
index f045c2000b71..3065bdcee9f2 100644
--- a/source/include/acrestyp.h
+++ b/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/source/include/acstruct.h b/source/include/acstruct.h
index d50c7a1b6468..fe0871794341 100644
--- a/source/include/acstruct.h
+++ b/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/source/include/actables.h b/source/include/actables.h
index e9b070f91d5f..21c344358350 100644
--- a/source/include/actables.h
+++ b/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/source/include/actbinfo.h b/source/include/actbinfo.h
index 7ce3c21e594c..5417aff4a313 100644
--- a/source/include/actbinfo.h
+++ b/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/source/include/actbl.h b/source/include/actbl.h
index f23080fb4f80..2a1484910c0a 100644
--- a/source/include/actbl.h
+++ b/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/source/include/actbl1.h b/source/include/actbl1.h
index 340b636b5e24..1b115ae357a3 100644
--- a/source/include/actbl1.h
+++ b/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/source/include/actbl2.h b/source/include/actbl2.h
index 4be5f0fce884..9b2812a0f22f 100644
--- a/source/include/actbl2.h
+++ b/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;
@@ -3131,6 +3278,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
* Version 1
*
diff --git a/source/include/actbl3.h b/source/include/actbl3.h
index 7cc633a27b7c..15ef01959300 100644
--- a/source/include/actbl3.h
+++ b/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/source/include/actypes.h b/source/include/actypes.h
index 92da002ab6b3..c0f0a87f4c65 100644
--- a/source/include/actypes.h
+++ b/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/source/include/acutils.h b/source/include/acutils.h
index a0e7953b16cf..bdca11c984cf 100644
--- a/source/include/acutils.h
+++ b/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/source/include/acuuid.h b/source/include/acuuid.h
index 2ab07bb39508..cf3abc0fc72b 100644
--- a/source/include/acuuid.h
+++ b/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/source/include/amlcode.h b/source/include/amlcode.h
index 25d591e55d95..62cbffad0897 100644
--- a/source/include/amlcode.h
+++ b/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/source/include/amlresrc.h b/source/include/amlresrc.h
index e89cd824d11d..a8e288add7ff 100644
--- a/source/include/amlresrc.h
+++ b/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/source/include/platform/accygwin.h b/source/include/platform/accygwin.h
index 217237d9ba82..98782ff8e50a 100644
--- a/source/include/platform/accygwin.h
+++ b/source/include/platform/accygwin.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/source/include/platform/acdragonflyex.h b/source/include/platform/acdragonflyex.h
index ba3ef0168422..bfc3273b45cc 100644
--- a/source/include/platform/acdragonflyex.h
+++ b/source/include/platform/acdragonflyex.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/source/include/platform/acefi.h b/source/include/platform/acefi.h
index fefcca84311d..71cdf2f91e33 100644
--- a/source/include/platform/acefi.h
+++ b/source/include/platform/acefi.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/source/include/platform/acefiex.h b/source/include/platform/acefiex.h
index 83aa907b6013..8df422b44eb0 100644
--- a/source/include/platform/acefiex.h
+++ b/source/include/platform/acefiex.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
@@ -508,7 +508,7 @@ typedef struct {
ACPI_EFI_TIME LastAccessTime;
ACPI_EFI_TIME ModificationTime;
UINT64 Attribute;
- CHAR16 FileName[1];
+ CHAR16 FileName[];
} ACPI_EFI_FILE_INFO;
#define SIZE_OF_ACPI_EFI_FILE_INFO ACPI_OFFSET(ACPI_EFI_FILE_INFO, FileName)
diff --git a/source/include/platform/acenv.h b/source/include/platform/acenv.h
index 674c4c7d02c3..1fc692db8030 100644
--- a/source/include/platform/acenv.h
+++ b/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/source/include/platform/acenvex.h b/source/include/platform/acenvex.h
index 32db36c6e86c..33e19b689df9 100644
--- a/source/include/platform/acenvex.h
+++ b/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/source/include/platform/acfreebsd.h b/source/include/platform/acfreebsd.h
index 022f7165e3cb..ffe6a485687c 100644
--- a/source/include/platform/acfreebsd.h
+++ b/source/include/platform/acfreebsd.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/source/include/platform/acgcc.h b/source/include/platform/acgcc.h
index 3ad22a1f8ac1..55a66c6da23c 100644
--- a/source/include/platform/acgcc.h
+++ b/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/source/include/platform/acgccex.h b/source/include/platform/acgccex.h
index 035b999d95c3..156bab471e5b 100644
--- a/source/include/platform/acgccex.h
+++ b/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/source/include/platform/achaiku.h b/source/include/platform/achaiku.h
index 81c1927ccc7f..505b4139a3e3 100644
--- a/source/include/platform/achaiku.h
+++ b/source/include/platform/achaiku.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
@@ -194,8 +194,8 @@ struct mutex;
#define ACPI_FLUSH_CPU_CACHE() __asm __volatile("wbinvd");
/* Based on FreeBSD's due to lack of documentation */
-extern int AcpiOsAcquireGlobalLock(uint32 *lock);
-extern int AcpiOsReleaseGlobalLock(uint32 *lock);
+int AcpiOsAcquireGlobalLock(uint32 *lock);
+int AcpiOsReleaseGlobalLock(uint32 *lock);
#define ACPI_ACQUIRE_GLOBAL_LOCK(GLptr, Acq) do { \
(Acq) = AcpiOsAcquireGlobalLock(&((GLptr)->GlobalLock)); \
diff --git a/source/include/platform/acintel.h b/source/include/platform/acintel.h
index 889c7594ef73..bfdc286bf142 100644
--- a/source/include/platform/acintel.h
+++ b/source/include/platform/acintel.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/source/include/platform/aclinux.h b/source/include/platform/aclinux.h
index 1c55c659f357..da37a2fad03d 100644
--- a/source/include/platform/aclinux.h
+++ b/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 */
@@ -329,7 +332,7 @@
#if defined(__ia64__) || (defined(__x86_64__) && !defined(__ILP32__)) ||\
defined(__aarch64__) || defined(__PPC64__) ||\
- defined(__s390x__) ||\
+ defined(__s390x__) || defined(__loongarch__) ||\
(defined(__riscv) && (defined(__LP64__) || defined(_LP64)))
#define ACPI_MACHINE_WIDTH 64
#define COMPILER_DEPENDENT_INT64 long
diff --git a/source/include/platform/aclinuxex.h b/source/include/platform/aclinuxex.h
index 4e84cd4b7e94..a10412a7b6ef 100644
--- a/source/include/platform/aclinuxex.h
+++ b/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/source/include/platform/acmacosx.h b/source/include/platform/acmacosx.h
index 0335cc0ae5d6..0166c2452a66 100644
--- a/source/include/platform/acmacosx.h
+++ b/source/include/platform/acmacosx.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/source/include/platform/acmsvc.h b/source/include/platform/acmsvc.h
index 736706530d93..d6a265d2269b 100644
--- a/source/include/platform/acmsvc.h
+++ b/source/include/platform/acmsvc.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/source/include/platform/acmsvcex.h b/source/include/platform/acmsvcex.h
index 2350d859641a..306ef619c616 100644
--- a/source/include/platform/acmsvcex.h
+++ b/source/include/platform/acmsvcex.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/source/include/platform/acnetbsd.h b/source/include/platform/acnetbsd.h
index c0e3619d6597..b948a5d6de52 100644
--- a/source/include/platform/acnetbsd.h
+++ b/source/include/platform/acnetbsd.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/source/include/platform/acos2.h b/source/include/platform/acos2.h
index fe776095e3cd..f3b1183de885 100644
--- a/source/include/platform/acos2.h
+++ b/source/include/platform/acos2.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/source/include/platform/acqnx.h b/source/include/platform/acqnx.h
index db1c103fa4cb..40b50ceb9f4c 100644
--- a/source/include/platform/acqnx.h
+++ b/source/include/platform/acqnx.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/source/include/platform/acwin.h b/source/include/platform/acwin.h
index dc2d1eb5b5d0..90dc0e3ca437 100644
--- a/source/include/platform/acwin.h
+++ b/source/include/platform/acwin.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/source/include/platform/acwin64.h b/source/include/platform/acwin64.h
index e20454520a4e..f151435ab6ff 100644
--- a/source/include/platform/acwin64.h
+++ b/source/include/platform/acwin64.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/source/include/platform/aczephyr.h b/source/include/platform/aczephyr.h
new file mode 100644
index 000000000000..20d3c040cc2e
--- /dev/null
+++ b/source/include/platform/aczephyr.h
@@ -0,0 +1,192 @@
+/******************************************************************************
+ *
+ * Module Name: aczephyr.h - OS specific defines, etc.
+ *
+ *****************************************************************************/
+
+/******************************************************************************
+ *
+ * 1. Copyright Notice
+ *
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
+ * All rights reserved.
+ *
+ * 2. License
+ *
+ * 2.1. This is your license from Intel Corp. under its intellectual property
+ * rights. You may have additional license terms from the party that provided
+ * you this software, covering your right to use that party's intellectual
+ * property rights.
+ *
+ * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
+ * copy of the source code appearing in this file ("Covered Code") an
+ * irrevocable, perpetual, worldwide license under Intel's copyrights in the
+ * base code distributed originally by Intel ("Original Intel Code") to copy,
+ * make derivatives, distribute, use and display any portion of the Covered
+ * Code in any form, with the right to sublicense such rights; and
+ *
+ * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
+ * license (with the right to sublicense), under only those claims of Intel
+ * patents that are infringed by the Original Intel Code, to make, use, sell,
+ * offer to sell, and import the Covered Code and derivative works thereof
+ * solely to the minimum extent necessary to exercise the above copyright
+ * license, and in no event shall the patent license extend to any additions
+ * to or modifications of the Original Intel Code. No other license or right
+ * is granted directly or by implication, estoppel or otherwise;
+ *
+ * The above copyright and patent license is granted only if the following
+ * conditions are met:
+ *
+ * 3. Conditions
+ *
+ * 3.1. Redistribution of Source with Rights to Further Distribute Source.
+ * Redistribution of source code of any substantial portion of the Covered
+ * Code or modification with rights to further distribute source must include
+ * the above Copyright Notice, the above License, this list of Conditions,
+ * and the following Disclaimer and Export Compliance provision. In addition,
+ * Licensee must cause all Covered Code to which Licensee contributes to
+ * contain a file documenting the changes Licensee made to create that Covered
+ * Code and the date of any change. Licensee must include in that file the
+ * documentation of any changes made by any predecessor Licensee. Licensee
+ * must include a prominent statement that the modification is derived,
+ * directly or indirectly, from Original Intel Code.
+ *
+ * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
+ * Redistribution of source code of any substantial portion of the Covered
+ * Code or modification without rights to further distribute source must
+ * include the following Disclaimer and Export Compliance provision in the
+ * documentation and/or other materials provided with distribution. In
+ * addition, Licensee may not authorize further sublicense of source of any
+ * portion of the Covered Code, and must include terms to the effect that the
+ * license from Licensee to its licensee is limited to the intellectual
+ * property embodied in the software Licensee provides to its licensee, and
+ * not to intellectual property embodied in modifications its licensee may
+ * make.
+ *
+ * 3.3. Redistribution of Executable. Redistribution in executable form of any
+ * substantial portion of the Covered Code or modification must reproduce the
+ * above Copyright Notice, and the following Disclaimer and Export Compliance
+ * provision in the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3.4. Intel retains all right, title, and interest in and to the Original
+ * Intel Code.
+ *
+ * 3.5. Neither the name Intel nor any other trademark owned or controlled by
+ * Intel shall be used in advertising or otherwise to promote the sale, use or
+ * other dealings in products derived from or relating to the Covered Code
+ * without prior written authorization from Intel.
+ *
+ * 4. Disclaimer and Export Compliance
+ *
+ * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
+ * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
+ * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
+ * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
+ * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
+ * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
+ * PARTICULAR PURPOSE.
+ *
+ * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
+ * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
+ * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
+ * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
+ * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
+ * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
+ * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
+ * LIMITED REMEDY.
+ *
+ * 4.3. Licensee shall not export, either directly or indirectly, any of this
+ * software or system incorporating such software without first obtaining any
+ * required license or other approval from the U. S. Department of Commerce or
+ * any other agency or department of the United States Government. In the
+ * event Licensee exports any such software from the United States or
+ * re-exports any such software from a foreign destination, Licensee shall
+ * ensure that the distribution and export/re-export of the software is in
+ * compliance with all laws, regulations, orders, or other restrictions of the
+ * U.S. Export Administration Regulations. Licensee agrees that neither it nor
+ * any of its subsidiaries will export/re-export any technical data, process,
+ * software, or service, directly or indirectly, to any country for which the
+ * United States government or any agency thereof requires an export license,
+ * other governmental approval, or letter of assurance, without first obtaining
+ * such license, approval or letter.
+ *
+ *****************************************************************************
+ *
+ * Alternatively, you may choose to be licensed under the terms of the
+ * following license:
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions, and the following disclaimer,
+ * without modification.
+ * 2. Redistributions in binary form must reproduce at minimum a disclaimer
+ * substantially similar to the "NO WARRANTY" disclaimer below
+ * ("Disclaimer") and any redistribution must be conditioned upon
+ * including a substantially similar Disclaimer requirement for further
+ * binary redistribution.
+ * 3. Neither the names of the above-listed copyright holders nor the names
+ * of any contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Alternatively, you may choose to be licensed under the terms of the
+ * GNU General Public License ("GPL") version 2 as published by the Free
+ * Software Foundation.
+ *
+ *****************************************************************************/
+
+#ifndef __ACZEPHYR_H__
+#define __ACZEPHYR_H__
+
+#define SEEK_SET FS_SEEK_SET
+#define SEEK_END FS_SEEK_END
+
+#define ACPI_MACHINE_WIDTH 64
+
+#define ACPI_NO_ERROR_MESSAGES
+#undef ACPI_DEBUG_OUTPUT
+#define ACPI_USE_SYSTEM_CLIBRARY
+#undef ACPI_DBG_TRACK_ALLOCATIONS
+#define ACPI_SINGLE_THREADED
+#define ACPI_USE_NATIVE_RSDP_POINTER
+
+#include <zephyr/kernel.h>
+#include <zephyr/device.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include <zephyr/fs/fs.h>
+#include <zephyr/sys/printk.h>
+#include <zephyr/sys/__assert.h>
+
+
+/******************************************************************************
+ *
+ * FUNCTION: AcpiEnableDbgPrint
+ *
+ * PARAMETERS: Enable, - Enable/Disable debug print
+ *
+ * RETURN: None
+ *
+ * DESCRIPTION: Enable/disable debug print
+ *
+ *****************************************************************************/
+
+void AcpiEnableDbgPrint (
+ bool Enable);
+#endif
diff --git a/source/os_specific/service_layers/osbsdtbl.c b/source/os_specific/service_layers/osbsdtbl.c
index 043dec46f0ca..7babce61a8db 100644
--- a/source/os_specific/service_layers/osbsdtbl.c
+++ b/source/os_specific/service_layers/osbsdtbl.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/os_specific/service_layers/oslinuxtbl.c b/source/os_specific/service_layers/oslinuxtbl.c
index ad5888f10859..4382c82eb66c 100644
--- a/source/os_specific/service_layers/oslinuxtbl.c
+++ b/source/os_specific/service_layers/oslinuxtbl.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/os_specific/service_layers/osunixdir.c b/source/os_specific/service_layers/osunixdir.c
index 54f53ea2deb4..ed69c33c51b8 100644
--- a/source/os_specific/service_layers/osunixdir.c
+++ b/source/os_specific/service_layers/osunixdir.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/os_specific/service_layers/osunixmap.c b/source/os_specific/service_layers/osunixmap.c
index 2f6e0b14b632..c1252852286c 100644
--- a/source/os_specific/service_layers/osunixmap.c
+++ b/source/os_specific/service_layers/osunixmap.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/os_specific/service_layers/osunixxf.c b/source/os_specific/service_layers/osunixxf.c
index ef1651b67d9f..addccb71a517 100644
--- a/source/os_specific/service_layers/osunixxf.c
+++ b/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/source/os_specific/service_layers/oswindir.c b/source/os_specific/service_layers/oswindir.c
index b523102a5546..30ce06d9b20f 100644
--- a/source/os_specific/service_layers/oswindir.c
+++ b/source/os_specific/service_layers/oswindir.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/os_specific/service_layers/oswintbl.c b/source/os_specific/service_layers/oswintbl.c
index e053f056850a..2542e0da2ee8 100644
--- a/source/os_specific/service_layers/oswintbl.c
+++ b/source/os_specific/service_layers/oswintbl.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/os_specific/service_layers/oswinxf.c b/source/os_specific/service_layers/oswinxf.c
index dc85f9bcf13b..532218937260 100644
--- a/source/os_specific/service_layers/oswinxf.c
+++ b/source/os_specific/service_layers/oswinxf.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/os_specific/service_layers/oszephyr.c b/source/os_specific/service_layers/oszephyr.c
new file mode 100644
index 000000000000..cc5136f0d6aa
--- /dev/null
+++ b/source/os_specific/service_layers/oszephyr.c
@@ -0,0 +1,1151 @@
+/******************************************************************************
+ *
+ * Module Name: oszephyr - Zephyr OSL
+ *
+ *****************************************************************************/
+
+/******************************************************************************
+ *
+ * 1. Copyright Notice
+ *
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
+ * All rights reserved.
+ *
+ * 2. License
+ *
+ * 2.1. This is your license from Intel Corp. under its intellectual property
+ * rights. You may have additional license terms from the party that provided
+ * you this software, covering your right to use that party's intellectual
+ * property rights.
+ *
+ * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
+ * copy of the source code appearing in this file ("Covered Code") an
+ * irrevocable, perpetual, worldwide license under Intel's copyrights in the
+ * base code distributed originally by Intel ("Original Intel Code") to copy,
+ * make derivatives, distribute, use and display any portion of the Covered
+ * Code in any form, with the right to sublicense such rights; and
+ *
+ * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
+ * license (with the right to sublicense), under only those claims of Intel
+ * patents that are infringed by the Original Intel Code, to make, use, sell,
+ * offer to sell, and import the Covered Code and derivative works thereof
+ * solely to the minimum extent necessary to exercise the above copyright
+ * license, and in no event shall the patent license extend to any additions
+ * to or modifications of the Original Intel Code. No other license or right
+ * is granted directly or by implication, estoppel or otherwise;
+ *
+ * The above copyright and patent license is granted only if the following
+ * conditions are met:
+ *
+ * 3. Conditions
+ *
+ * 3.1. Redistribution of Source with Rights to Further Distribute Source.
+ * Redistribution of source code of any substantial portion of the Covered
+ * Code or modification with rights to further distribute source must include
+ * the above Copyright Notice, the above License, this list of Conditions,
+ * and the following Disclaimer and Export Compliance provision. In addition,
+ * Licensee must cause all Covered Code to which Licensee contributes to
+ * contain a file documenting the changes Licensee made to create that Covered
+ * Code and the date of any change. Licensee must include in that file the
+ * documentation of any changes made by any predecessor Licensee. Licensee
+ * must include a prominent statement that the modification is derived,
+ * directly or indirectly, from Original Intel Code.
+ *
+ * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
+ * Redistribution of source code of any substantial portion of the Covered
+ * Code or modification without rights to further distribute source must
+ * include the following Disclaimer and Export Compliance provision in the
+ * documentation and/or other materials provided with distribution. In
+ * addition, Licensee may not authorize further sublicense of source of any
+ * portion of the Covered Code, and must include terms to the effect that the
+ * license from Licensee to its licensee is limited to the intellectual
+ * property embodied in the software Licensee provides to its licensee, and
+ * not to intellectual property embodied in modifications its licensee may
+ * make.
+ *
+ * 3.3. Redistribution of Executable. Redistribution in executable form of any
+ * substantial portion of the Covered Code or modification must reproduce the
+ * above Copyright Notice, and the following Disclaimer and Export Compliance
+ * provision in the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3.4. Intel retains all right, title, and interest in and to the Original
+ * Intel Code.
+ *
+ * 3.5. Neither the name Intel nor any other trademark owned or controlled by
+ * Intel shall be used in advertising or otherwise to promote the sale, use or
+ * other dealings in products derived from or relating to the Covered Code
+ * without prior written authorization from Intel.
+ *
+ * 4. Disclaimer and Export Compliance
+ *
+ * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
+ * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
+ * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE,
+ * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY
+ * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY
+ * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
+ * PARTICULAR PURPOSE.
+ *
+ * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
+ * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
+ * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
+ * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
+ * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
+ * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS
+ * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
+ * LIMITED REMEDY.
+ *
+ * 4.3. Licensee shall not export, either directly or indirectly, any of this
+ * software or system incorporating such software without first obtaining any
+ * required license or other approval from the U. S. Department of Commerce or
+ * any other agency or department of the United States Government. In the
+ * event Licensee exports any such software from the United States or
+ * re-exports any such software from a foreign destination, Licensee shall
+ * ensure that the distribution and export/re-export of the software is in
+ * compliance with all laws, regulations, orders, or other restrictions of the
+ * U.S. Export Administration Regulations. Licensee agrees that neither it nor
+ * any of its subsidiaries will export/re-export any technical data, process,
+ * software, or service, directly or indirectly, to any country for which the
+ * United States government or any agency thereof requires an export license,
+ * other governmental approval, or letter of assurance, without first obtaining
+ * such license, approval or letter.
+ *
+ *****************************************************************************
+ *
+ * Alternatively, you may choose to be licensed under the terms of the
+ * following license:
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions, and the following disclaimer,
+ * without modification.
+ * 2. Redistributions in binary form must reproduce at minimum a disclaimer
+ * substantially similar to the "NO WARRANTY" disclaimer below
+ * ("Disclaimer") and any redistribution must be conditioned upon
+ * including a substantially similar Disclaimer requirement for further
+ * binary redistribution.
+ * 3. Neither the names of the above-listed copyright holders nor the names
+ * of any contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Alternatively, you may choose to be licensed under the terms of the
+ * GNU General Public License ("GPL") version 2 as published by the Free
+ * Software Foundation.
+ *
+ *****************************************************************************/
+
+#include "acpi.h"
+#include "accommon.h"
+#include "acapps.h"
+#include "aslcompiler.h"
+#include <zephyr/arch/x86/efi.h>
+#include <zephyr/drivers/pcie/pcie.h>
+#include <zephyr/dt-bindings/interrupt-controller/intel-ioapic.h>
+#include <zephyr/sys/__assert.h>
+
+#include <zephyr/logging/log.h>
+LOG_MODULE_DECLARE(acpica, LOG_LEVEL_ERR);
+
+typedef void (*zephyr_irq_t)(const void *);
+
+#define ASL_MSG_BUFFER_SIZE (1024 * 128)
+
+/* Global varibles use from acpica lib. */
+BOOLEAN AslGbl_DoTemplates = FALSE;
+BOOLEAN AslGbl_VerboseTemplates = FALSE;
+
+char AslGbl_MsgBuffer[ASL_MSG_BUFFER_SIZE];
+static BOOLEAN EnDbgPrint;
+
+
+/******************************************************************************
+ *
+ * FUNCTION: AcpiOsReadable
+ *
+ * PARAMETERS: Pointer - Area to be verified
+ * Length - Size of area
+ *
+ * RETURN: TRUE if readable for entire Length
+ *
+ * DESCRIPTION: Verify that a pointer is valid for reading
+ *
+ *****************************************************************************/
+
+BOOLEAN
+AcpiOsReadable (
+ void *Pointer,
+ ACPI_SIZE Length)
+{
+ return (TRUE);
+}
+
+
+/******************************************************************************
+ *
+ * FUNCTION: AcpiEnableDbgPrint
+ *
+ * PARAMETERS: en, - Enable/Disable debug print
+ *
+ * RETURN: None
+ *
+ * DESCRIPTION: Formatted output
+ *
+ *****************************************************************************/
+
+void
+AcpiEnableDbgPrint (
+ bool Enable)
+{
+ if (Enable)
+ {
+ EnDbgPrint = TRUE;
+ }
+ else
+ {
+ EnDbgPrint = FALSE;
+ }
+}
+
+
+/******************************************************************************
+ *
+ * FUNCTION: AcpiOsPrintf
+ *
+ * PARAMETERS: Fmt, ... - Standard printf format
+ *
+ * RETURN: None
+ *
+ * DESCRIPTION: Formatted output
+ *
+ *****************************************************************************/
+
+void ACPI_INTERNAL_VAR_XFACE
+AcpiOsPrintf (
+ const char *Fmt,
+ ...)
+{
+ va_list args;
+
+ va_start (args, Fmt);
+
+ if (EnDbgPrint)
+ {
+ printk (Fmt, args);
+ }
+
+ va_end (args);
+}
+
+
+/******************************************************************************
+ *
+ * FUNCTION: AcpiOsGetLine
+ *
+ * PARAMETERS: Buffer - Where to return the command line
+ * BufferLength - Maximum Length of Buffer
+ * BytesRead - Where the actual byte count is returned
+ *
+ * RETURN: Status and actual bytes read
+ *
+ * DESCRIPTION: Formatted input with argument list pointer
+ *
+ *****************************************************************************/
+
+ACPI_STATUS
+AcpiOsGetLine (
+ char *Buffer,
+ UINT32 BufferLength,
+ UINT32 *BytesRead)
+{
+ return (-1);
+}
+
+
+/******************************************************************************
+ *
+ * FUNCTION: AcpiOsAllocate
+ *
+ * PARAMETERS: Size - Amount to allocate, in bytes
+ *
+ * RETURN: Pointer to the new allocation. Null on error.
+ *
+ * DESCRIPTION: Allocate memory. Algorithm is dependent on the OS.
+ *
+ *****************************************************************************/
+
+void *
+AcpiOsAllocate (
+ ACPI_SIZE Size)
+{
+ return (k_malloc (Size));
+}
+
+
+#ifdef USE_NATIVE_ALLOCATE_ZEROED
+/******************************************************************************
+ *
+ * FUNCTION: AcpiOsAllocateZeroed
+ *
+ * PARAMETERS: Size - Amount to allocate, in bytes
+ *
+ * RETURN: Pointer to the new allocation. Null on error.
+ *
+ * DESCRIPTION: Allocate and zero memory. Algorithm is dependent on the OS.
+ *
+ *****************************************************************************/
+
+void *
+AcpiOsAllocateZeroed (
+ ACPI_SIZE Size)
+{
+ void *mem;
+
+ mem = AcpiOsAllocate (Size);
+
+ if (mem)
+ {
+ memset (mem, 0, Size);
+ }
+
+ return (mem);
+}
+#endif
+
+
+/******************************************************************************
+ *
+ * FUNCTION: AcpiOsFree
+ *
+ * PARAMETERS: Mem - Pointer to previously allocated memory
+ *
+ * RETURN: None.
+ *
+ * DESCRIPTION: Free memory allocated via AcpiOsAllocate
+ *
+ *****************************************************************************/
+
+void
+AcpiOsFree (
+ void *Mem)
+{
+ k_free (Mem);
+}
+
+
+/******************************************************************************
+ *
+ * FUNCTION: AcpiOsReadMemory
+ *
+ * PARAMETERS: Address - Physical Memory Address to read
+ * Value - Where Value is placed
+ * Width - Number of bits (8,16,32, or 64)
+ *
+ * RETURN: Value read from physical memory Address. Always returned
+ * as a 64-bit integer, regardless of the read Width.
+ *
+ * DESCRIPTION: Read data from a physical memory Address
+ *
+ *****************************************************************************/
+
+ACPI_STATUS
+AcpiOsReadMemory (
+ ACPI_PHYSICAL_ADDRESS Address,
+ UINT64 *Value,
+ UINT32 Width)
+{
+ switch (Width)
+ {
+ case 8:
+
+ *((UINT8 *) Value) = sys_read8 (Address);
+ break;
+
+ case 16:
+
+ *((UINT16 *) Value) = sys_read16 (Address);
+ break;
+
+ case 32:
+
+ *((UINT32 *) Value) = sys_read32 (Address);
+ break;
+
+ case 64:
+
+ *((UINT64 *) Value) = sys_read64 (Address);
+ break;
+
+ default:
+
+ return (AE_BAD_PARAMETER);
+ }
+
+ return (AE_OK);
+}
+
+
+/******************************************************************************
+ *
+ * FUNCTION: AcpiOsWriteMemory
+ *
+ * PARAMETERS: Address - Physical Memory Address to write
+ * Value - Value to write
+ * Width - Number of bits (8,16,32, or 64)
+ *
+ * RETURN: None
+ *
+ * DESCRIPTION: Write data to a physical memory Address
+ *
+ *****************************************************************************/
+
+ACPI_STATUS
+AcpiOsWriteMemory (
+ ACPI_PHYSICAL_ADDRESS Address,
+ UINT64 Value,
+ UINT32 Width)
+{
+ switch (Width)
+ {
+ case 8:
+
+ sys_write8 ((UINT8) Value, Address);
+ break;
+
+ case 16:
+
+ sys_write16 ((UINT16) Value, Address);
+ break;
+
+ case 32:
+
+ sys_write32 ((UINT32) Value, Address);
+ break;
+
+ case 64:
+
+ sys_write64 ((UINT64) Value, Address);
+ break;
+
+ default:
+
+ return (AE_BAD_PARAMETER);
+ }
+
+ return (AE_OK);
+}
+
+
+/******************************************************************************
+ *
+ * FUNCTION: AcpiOsReadPort
+ *
+ * PARAMETERS: Address - Address of I/O port/register to read
+ * Value - Where Value is placed
+ * Width - Number of bits
+ *
+ * RETURN: Value read from port
+ *
+ * DESCRIPTION: Read data from an I/O port or register
+ *
+ *****************************************************************************/
+
+ACPI_STATUS
+AcpiOsReadPort (
+ ACPI_IO_ADDRESS Address,
+ UINT32 *Value,
+ UINT32 Width)
+{
+
+ switch (Width)
+ {
+ case 8:
+
+ *((UINT8 *) Value) = sys_in8 (Address);
+ break;
+
+ case 16:
+
+ *((UINT16 *) Value) = sys_in16 (Address);
+ break;
+
+ case 32:
+
+ *((UINT32 *) Value) = sys_in32 (Address);
+ break;
+
+ case 64:
+
+ *((UINT32 *) Value) = sys_in32 (Address);
+ *((UINT32 *) Value + 4) = sys_in32 (Address + 4);
+ break;
+
+ default:
+
+ return (AE_BAD_PARAMETER);
+ }
+
+ return (AE_OK);
+}
+
+
+/******************************************************************************
+ *
+ * FUNCTION: AcpiOsWritePort
+ *
+ * PARAMETERS: Address - Address of I/O port/register to write
+ * Value - Value to write
+ * Width - Number of bits
+ *
+ * RETURN: None
+ *
+ * DESCRIPTION: Write data to an I/O port or register
+ *
+ *****************************************************************************/
+
+ACPI_STATUS
+AcpiOsWritePort (
+ ACPI_IO_ADDRESS Address,
+ UINT32 Value,
+ UINT32 Width)
+{
+
+ switch (Width)
+ {
+ case 8:
+
+ sys_out8 ((UINT8) Value, Address);
+ break;
+
+ case 16:
+
+ sys_out16 ((UINT16) Value, Address);
+ break;
+
+ case 32:
+
+ sys_out32 ((UINT32) Value, Address);
+ break;
+
+ case 64:
+
+ sys_out32 ((UINT32) Value, Address);
+ sys_out32 ((UINT32) (Value + 4), (Address + 4));
+ break;
+
+ default:
+
+ return (AE_BAD_PARAMETER);
+ }
+
+ return (AE_OK);
+}
+
+
+/******************************************************************************
+ *
+ * FUNCTION: AcpiOsWritePciConfiguration
+ *
+ * PARAMETERS: PciId - Seg/Bus/Dev
+ * Register - Device Register
+ * Value - Value to be written
+ * Width - Number of bits
+ *
+ * RETURN: Status
+ *
+ * DESCRIPTION: Write data to PCI configuration space
+ *
+ *****************************************************************************/
+
+ACPI_STATUS
+AcpiOsWritePciConfiguration (
+ ACPI_PCI_ID *PciId,
+ UINT32 Register,
+ UINT64 Value,
+ UINT32 Width)
+{
+ UINT32 value32;
+ pcie_bdf_t bdf = PCIE_BDF (PciId->Bus, PciId->Device, PciId->Function);
+
+
+ switch (Width)
+ {
+ case 8:
+
+ value32 = pcie_conf_read (bdf, Register);
+ value32 = (value32 & 0xffffff00) | (UINT8) Value;
+ pcie_conf_write (bdf, Register, value32);
+ break;
+
+ case 16:
+
+ value32 = pcie_conf_read (bdf, Register);
+ value32 = (value32 & 0xffff0000) | (UINT16) Value;
+ pcie_conf_write (bdf, Register, value32);
+ break;
+
+ case 32:
+
+ pcie_conf_write (bdf, Register, (UINT32) Value);
+ break;
+
+ case 64:
+
+ pcie_conf_write (bdf, Register, (UINT32) Value);
+ pcie_conf_write (bdf, (Register + 4), (UINT32) (Value >> 32));
+ break;
+
+ default:
+
+ return (AE_BAD_PARAMETER);
+ }
+
+ return (AE_OK);
+}
+
+
+/******************************************************************************
+ *
+ * FUNCTION: AcpiOsReadPciConfiguration
+ *
+ * PARAMETERS: PciId - Seg/Bus/Dev
+ * Register - Device Register
+ * Value - Buffer Where Value is placed
+ * Width - Number of bits
+ *
+ * RETURN: Status
+ *
+ * DESCRIPTION: Read data from PCI configuration space
+ *
+ *****************************************************************************/
+
+ACPI_STATUS
+AcpiOsReadPciConfiguration (
+ ACPI_PCI_ID *PciId,
+ UINT32 Register,
+ UINT64 *Value,
+ UINT32 Width)
+{
+
+ pcie_bdf_t bdf = PCIE_BDF (PciId->Bus, PciId->Device, PciId->Function);
+
+ switch (Width)
+ {
+ case 8:
+
+ *((UINT8 *) Value) = (UINT8) pcie_conf_read (bdf, Register);
+ break;
+
+ case 16:
+
+ *((UINT16 *) Value) = (UINT16) pcie_conf_read (bdf, Register);
+ break;
+
+ case 32:
+
+ *((UINT32 *) Value) = (UINT32) pcie_conf_read (bdf, Register);
+ break;
+
+ case 64:
+
+ *((UINT32 *) Value) = (UINT32) pcie_conf_read (bdf, Register);
+ *((UINT32 *) Value + 1) = (UINT32) pcie_conf_read (bdf, (Register + 4));
+ break;
+
+ default:
+
+ return (AE_BAD_PARAMETER);
+ }
+
+ return (AE_OK);
+}
+
+
+/******************************************************************************
+ *
+ * FUNCTION: AcpiOsRedirectOutput
+ *
+ * PARAMETERS: Destination - An open file handle/pointer
+ *
+ * RETURN: None
+ *
+ * DESCRIPTION: Causes redirect of AcpiOsPrintf and AcpiOsVprintf
+ *
+ *****************************************************************************/
+
+void
+AcpiOsRedirectOutput (
+ void *Destination)
+{
+
+}
+
+
+/******************************************************************************
+ *
+ * FUNCTION: AcpiOsPredefinedOverride
+ *
+ * PARAMETERS: InitVal - Initial Value of the predefined object
+ * NewVal - The new Value for the object
+ *
+ * RETURN: Status, pointer to Value. Null pointer returned if not
+ * overriding.
+ *
+ * DESCRIPTION: Allow the OS to override predefined names
+ *
+ *****************************************************************************/
+
+ACPI_STATUS
+AcpiOsPredefinedOverride (
+ const ACPI_PREDEFINED_NAMES *InitVal,
+ ACPI_STRING *NewVal)
+{
+
+ if (!InitVal || !NewVal)
+ {
+ return (AE_BAD_PARAMETER);
+ }
+
+ *NewVal = NULL;
+
+ return (AE_OK);
+}
+
+
+/******************************************************************************
+ *
+ * FUNCTION: AcpiOsTableOverride
+ *
+ * PARAMETERS: ExistingTable - Header of current table (probably firmware)
+ * NewTable - Where an entire new table is returned.
+ *
+ * RETURN: Status, pointer to new table. Null pointer returned if no
+ * table is available to override
+ *
+ * DESCRIPTION: Return a different version of a table if one is available
+ *
+ *****************************************************************************/
+
+ACPI_STATUS
+AcpiOsTableOverride (
+ ACPI_TABLE_HEADER *ExistingTable,
+ ACPI_TABLE_HEADER **NewTable)
+{
+
+ if (!ExistingTable || !NewTable)
+ {
+ return (AE_BAD_PARAMETER);
+ }
+
+ *NewTable = NULL;
+
+ return (AE_NO_ACPI_TABLES);
+}
+
+
+/******************************************************************************
+ *
+ * FUNCTION: AcpiOsGetRootPointer
+ *
+ * PARAMETERS: None
+ *
+ * RETURN: RSDP physical Address
+ *
+ * DESCRIPTION: Gets the root pointer (RSDP)
+ *
+ *****************************************************************************/
+
+ACPI_PHYSICAL_ADDRESS
+AcpiOsGetRootPointer (
+ void)
+{
+
+ LOG_DBG ("");
+ return ((ACPI_PHYSICAL_ADDRESS) efi_get_acpi_rsdp ());
+}
+
+
+#ifndef ACPI_USE_NATIVE_MEMORY_MAPPING
+/******************************************************************************
+ *
+ * FUNCTION: AcpiOsMapMemory
+ *
+ * PARAMETERS: Where - Physical Address of memory to be mapped
+ * Length - How much memory to map
+ *
+ * RETURN: Pointer to mapped memory. Null on error.
+ *
+ * DESCRIPTION: Map physical memory into caller's Address space
+ *
+ *****************************************************************************/
+
+void *
+AcpiOsMapMemory (
+ ACPI_PHYSICAL_ADDRESS Where,
+ ACPI_SIZE Length)
+{
+ uint8_t *VirtlAdd;
+
+ LOG_DBG ("");
+ z_phys_map (&VirtlAdd, Where, Length, 0);
+ return ((void *) VirtlAdd);
+}
+#endif
+
+
+/******************************************************************************
+ *
+ * FUNCTION: AcpiOsUnmapMemory
+ *
+ * PARAMETERS: Where - Logical Address of memory to be unmapped
+ * Length - How much memory to unmap
+ *
+ * RETURN: None.
+ *
+ * DESCRIPTION: Delete a previously created mapping. Where and Length must
+ * correspond to a previous mapping exactly.
+ *
+ *****************************************************************************/
+
+void
+AcpiOsUnmapMemory (
+ void *Where,
+ ACPI_SIZE Length)
+{
+ LOG_DBG ("");
+ z_phys_unmap (Where, Length);
+}
+
+
+/******************************************************************************
+ *
+ * FUNCTION: AcpiOsPhysicalTableOverride
+ *
+ * PARAMETERS: ExistingTable - Header of current table (probably firmware)
+ * NewAddress - Where new table Address is returned
+ * (Physical Address)
+ * NewTableLength - Where new table Length is returned
+ *
+ * RETURN: Status, Address/Length of new table. Null pointer returned
+ * if no table is available to override.
+ *
+ * DESCRIPTION: Returns AE_SUPPORT, function not used in user space.
+ *
+ *****************************************************************************/
+
+ACPI_STATUS
+AcpiOsPhysicalTableOverride (
+ ACPI_TABLE_HEADER *ExistingTable,
+ ACPI_PHYSICAL_ADDRESS *NewAddress,
+ UINT32 *NewTableLength)
+{
+
+ LOG_DBG ("");
+ return (AE_SUPPORT);
+}
+
+
+/******************************************************************************
+ *
+ * FUNCTION: AcpiOsInitialize
+ *
+ * PARAMETERS: None
+ *
+ * RETURN: Status
+ *
+ * DESCRIPTION: Init this OSL
+ *
+ *****************************************************************************/
+
+ACPI_STATUS
+AcpiOsInitialize (
+ void)
+{
+ LOG_DBG ("");
+ return (AE_OK);
+}
+
+
+/******************************************************************************
+ *
+ * FUNCTION: AcpiOsStall
+ *
+ * PARAMETERS: Microseconds - Time to stall
+ *
+ * RETURN: None. Blocks until stall is completed.
+ *
+ * DESCRIPTION: Sleep at microsecond granularity
+ *
+ *****************************************************************************/
+
+void
+AcpiOsStall (
+ UINT32 Microseconds)
+{
+ k_busy_wait (Microseconds);
+}
+
+
+/******************************************************************************
+ *
+ * FUNCTION: AcpiOsSleep
+ *
+ * PARAMETERS: Milliseconds - Time to sleep
+ *
+ * RETURN: None. Blocks until sleep is completed.
+ *
+ * DESCRIPTION: Sleep at millisecond granularity
+ *
+ *****************************************************************************/
+
+void
+AcpiOsSleep (
+ UINT64 Milliseconds)
+{
+ k_msleep ((UINT32) Milliseconds);
+}
+
+
+/******************************************************************************
+ *
+ * FUNCTION: AcpiOsEnterSleep
+ *
+ * PARAMETERS: SleepState - Which sleep state to enter
+ * RegaValue - Register A Value
+ * RegbValue - Register B Value
+ *
+ * RETURN: Status
+ *
+ * DESCRIPTION: A hook before writing sleep registers to enter the sleep
+ * state. Return AE_CTRL_SKIP to skip further sleep register
+ * writes.
+ *
+ *****************************************************************************/
+
+ACPI_STATUS
+AcpiOsEnterSleep (
+ UINT8 SleepState,
+ UINT32 RegaValue,
+ UINT32 RegbValue)
+{
+ __ASSERT (FALSE, "function Not implemented");
+ return (AE_OK);
+}
+
+
+/******************************************************************************
+ *
+ * FUNCTION: AcpiOsGetTimer
+ *
+ * PARAMETERS: None
+ *
+ * RETURN: Current ticks in 100-nanosecond units
+ *
+ * DESCRIPTION: Get the Value of a system timer
+ *
+ ******************************************************************************/
+
+UINT64
+AcpiOsGetTimer (
+ void)
+{
+ return (k_cycle_get_64 ());
+}
+
+
+/******************************************************************************
+ *
+ * FUNCTION: AcpiOsInstallInterruptHandler
+ *
+ * PARAMETERS: InterruptNumber - Level handler should respond to.
+ * ServiceRoutine - Address of the ACPI interrupt handler
+ * Context - User context
+ *
+ * RETURN: Handle to the newly installed handler.
+ *
+ * DESCRIPTION: Install an interrupt handler. Used to install the ACPI
+ * OS-independent handler.
+ *
+ *****************************************************************************/
+
+UINT32
+AcpiOsInstallInterruptHandler (
+ UINT32 InterruptNumber,
+ ACPI_OSD_HANDLER ServiceRoutine,
+ void *Context)
+{
+ LOG_DBG ("");
+ irq_connect_dynamic (InterruptNumber, 3, (zephyr_irq_t) ServiceRoutine, Context,
+ IRQ_TYPE_LOWEST_LEVEL_LOW);
+ irq_enable (InterruptNumber);
+ return (AE_OK);
+}
+
+
+/******************************************************************************
+ *
+ * FUNCTION: AcpiOsRemoveInterruptHandler
+ *
+ * PARAMETERS: Handle - Returned when handler was installed
+ *
+ * RETURN: Status
+ *
+ * DESCRIPTION: Uninstalls an interrupt handler.
+ *
+ *****************************************************************************/
+
+ACPI_STATUS
+AcpiOsRemoveInterruptHandler (
+ UINT32 InterruptNumber,
+ ACPI_OSD_HANDLER ServiceRoutine)
+{
+
+ LOG_DBG ("");
+ irq_disable (InterruptNumber);
+ return (AE_OK);
+}
+
+
+/******************************************************************************
+ *
+ * FUNCTION: AcpiOsSignal
+ *
+ * PARAMETERS: Function - ACPICA signal function code
+ * Info - Pointer to function-dependent structure
+ *
+ * RETURN: Status
+ *
+ * DESCRIPTION: Miscellaneous functions. Example implementation only.
+ *
+ *****************************************************************************/
+
+ACPI_STATUS
+AcpiOsSignal (
+ UINT32 Function,
+ void *Info)
+{
+ switch (Function)
+ {
+ case ACPI_SIGNAL_FATAL:
+ LOG_DBG ("ACPI_SIGNAL_FATAL error");
+ break;
+
+ case ACPI_SIGNAL_BREAKPOINT:
+ LOG_DBG ("ACPI_SIGNAL_BREAKPOINT");
+ break;
+
+ default:
+ break;
+ }
+
+ return (AE_OK);
+}
+
+
+/******************************************************************************
+ *
+ * FUNCTION: Spinlock/Semaphore interfaces
+ *
+ * DESCRIPTION: Map these interfaces to semaphore interfaces
+ *
+ *****************************************************************************/
+
+#ifdef ACPI_SINGLE_THREADED
+ACPI_STATUS
+AcpiOsCreateLock (
+ ACPI_SPINLOCK *OutHandle)
+{
+ LOG_DBG ("");
+
+ return (AE_OK);
+}
+
+void
+AcpiOsDeleteLock (
+ ACPI_SPINLOCK Handle)
+{
+ LOG_DBG ("");
+}
+
+ACPI_CPU_FLAGS
+AcpiOsAcquireLock (
+ ACPI_SPINLOCK Handle)
+{
+ LOG_DBG ("");
+ return (0);
+}
+
+void
+AcpiOsReleaseLock (
+ ACPI_SPINLOCK Handle,
+ ACPI_CPU_FLAGS Flags)
+{
+ LOG_DBG ("");
+}
+
+ACPI_STATUS
+AcpiOsCreateSemaphore (
+ UINT32 MaxUnits,
+ UINT32 InitialUnits,
+ ACPI_HANDLE *OutHandle)
+{
+ *OutHandle = (ACPI_HANDLE) 1;
+ return (AE_OK);
+}
+
+ACPI_STATUS
+AcpiOsDeleteSemaphore (
+ ACPI_HANDLE Handle)
+{
+ return (AE_OK);
+}
+
+ACPI_STATUS
+AcpiOsWaitSemaphore (
+ ACPI_HANDLE Handle,
+ UINT32 Units,
+ UINT16 Timeout)
+{
+ return (AE_OK);
+}
+
+ACPI_STATUS
+AcpiOsSignalSemaphore (
+ ACPI_HANDLE Handle,
+ UINT32 Units)
+{
+ return (AE_OK);
+}
+
+ACPI_THREAD_ID
+AcpiOsGetThreadId (
+ void)
+{
+ LOG_DBG ("");
+ return (1);
+}
+
+ACPI_STATUS
+AcpiOsExecute (
+ ACPI_EXECUTE_TYPE Type,
+ ACPI_OSD_EXEC_CALLBACK Function,
+ void *Context)
+{
+ Function (Context);
+ return (AE_OK);
+}
+#endif
diff --git a/source/tools/acpibin/abcompare.c b/source/tools/acpibin/abcompare.c
index f974f129ac14..c3a42c4c676f 100644
--- a/source/tools/acpibin/abcompare.c
+++ b/source/tools/acpibin/abcompare.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/tools/acpibin/abmain.c b/source/tools/acpibin/abmain.c
index 365b437d90aa..6bacb2a38f64 100644
--- a/source/tools/acpibin/abmain.c
+++ b/source/tools/acpibin/abmain.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/tools/acpibin/acpibin.h b/source/tools/acpibin/acpibin.h
index 510b3a855c99..ea90aee2b36b 100644
--- a/source/tools/acpibin/acpibin.h
+++ b/source/tools/acpibin/acpibin.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/source/tools/acpidump/acpidump.h b/source/tools/acpidump/acpidump.h
index 87858875f2ae..d8c14a636ec6 100644
--- a/source/tools/acpidump/acpidump.h
+++ b/source/tools/acpidump/acpidump.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/source/tools/acpidump/apdump.c b/source/tools/acpidump/apdump.c
index 0cf8d00ab8de..f2e8076753a3 100644
--- a/source/tools/acpidump/apdump.c
+++ b/source/tools/acpidump/apdump.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/tools/acpidump/apfiles.c b/source/tools/acpidump/apfiles.c
index 16371088efa3..902408e9cd01 100644
--- a/source/tools/acpidump/apfiles.c
+++ b/source/tools/acpidump/apfiles.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/tools/acpidump/apmain.c b/source/tools/acpidump/apmain.c
index 5fba99bb1627..5bb2c24ceff3 100644
--- a/source/tools/acpidump/apmain.c
+++ b/source/tools/acpidump/apmain.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/tools/acpiexec/aecommon.h b/source/tools/acpiexec/aecommon.h
index 7bfdd278c17d..0745aac2b12b 100644
--- a/source/tools/acpiexec/aecommon.h
+++ b/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/source/tools/acpiexec/aeexception.c b/source/tools/acpiexec/aeexception.c
index f0903c1f65fc..326407c8efab 100644
--- a/source/tools/acpiexec/aeexception.c
+++ b/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/source/tools/acpiexec/aeexec.c b/source/tools/acpiexec/aeexec.c
index 5bf1ebd33893..af6a18f78228 100644
--- a/source/tools/acpiexec/aeexec.c
+++ b/source/tools/acpiexec/aeexec.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/source/tools/acpiexec/aehandlers.c b/source/tools/acpiexec/aehandlers.c
index 9b12aa65e0fb..e36a4759fa6e 100644
--- a/source/tools/acpiexec/aehandlers.c
+++ b/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/source/tools/acpiexec/aeinitfile.c b/source/tools/acpiexec/aeinitfile.c
index 600f2c7d8044..c3d4d8e5b1a8 100644
--- a/source/tools/acpiexec/aeinitfile.c
+++ b/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/source/tools/acpiexec/aeinstall.c b/source/tools/acpiexec/aeinstall.c
index 28d08d8abf82..9e1940c3fbe3 100644
--- a/source/tools/acpiexec/aeinstall.c
+++ b/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/source/tools/acpiexec/aemain.c b/source/tools/acpiexec/aemain.c
index 9c5a6e0db151..01fee3ba459e 100644
--- a/source/tools/acpiexec/aemain.c
+++ b/source/tools/acpiexec/aemain.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/tools/acpiexec/aeregion.c b/source/tools/acpiexec/aeregion.c
index 400fd66e3f07..f0646729ca0b 100644
--- a/source/tools/acpiexec/aeregion.c
+++ b/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
diff --git a/source/tools/acpiexec/aetables.c b/source/tools/acpiexec/aetables.c
index c758084ce583..6cee6daebc35 100644
--- a/source/tools/acpiexec/aetables.c
+++ b/source/tools/acpiexec/aetables.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/tools/acpiexec/aetables.h b/source/tools/acpiexec/aetables.h
index 446210ae325d..0f2a0498e375 100644
--- a/source/tools/acpiexec/aetables.h
+++ b/source/tools/acpiexec/aetables.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/source/tools/acpiexec/aetests.c b/source/tools/acpiexec/aetests.c
index 94e26686ae51..f35527fb1aba 100644
--- a/source/tools/acpiexec/aetests.c
+++ b/source/tools/acpiexec/aetests.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/tools/acpihelp/acpihelp.h b/source/tools/acpihelp/acpihelp.h
index abc9480ef7cb..87cb66451a2c 100644
--- a/source/tools/acpihelp/acpihelp.h
+++ b/source/tools/acpihelp/acpihelp.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/source/tools/acpihelp/ahaml.c b/source/tools/acpihelp/ahaml.c
index df8326908240..04cd3faf8155 100644
--- a/source/tools/acpihelp/ahaml.c
+++ b/source/tools/acpihelp/ahaml.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/tools/acpihelp/ahamlops.c b/source/tools/acpihelp/ahamlops.c
index bd2b13fb7239..a27c11d42f09 100644
--- a/source/tools/acpihelp/ahamlops.c
+++ b/source/tools/acpihelp/ahamlops.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/tools/acpihelp/ahasl.c b/source/tools/acpihelp/ahasl.c
index 0b046995f612..dea6bebdaf78 100644
--- a/source/tools/acpihelp/ahasl.c
+++ b/source/tools/acpihelp/ahasl.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/tools/acpihelp/ahaslkey.c b/source/tools/acpihelp/ahaslkey.c
index 40da5b33d7c4..0f1fa80a4720 100644
--- a/source/tools/acpihelp/ahaslkey.c
+++ b/source/tools/acpihelp/ahaslkey.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/source/tools/acpihelp/ahaslops.c b/source/tools/acpihelp/ahaslops.c
index 00c05de2cf0b..44f3a4f8bc47 100644
--- a/source/tools/acpihelp/ahaslops.c
+++ b/source/tools/acpihelp/ahaslops.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/tools/acpihelp/ahdecode.c b/source/tools/acpihelp/ahdecode.c
index 0de81918f783..f9a328b7abf9 100644
--- a/source/tools/acpihelp/ahdecode.c
+++ b/source/tools/acpihelp/ahdecode.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/tools/acpihelp/ahgrammar.c b/source/tools/acpihelp/ahgrammar.c
index 03838bd97c1c..5c50f02f13c8 100644
--- a/source/tools/acpihelp/ahgrammar.c
+++ b/source/tools/acpihelp/ahgrammar.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/tools/acpihelp/ahmain.c b/source/tools/acpihelp/ahmain.c
index 6570cbc66508..828b7524148a 100644
--- a/source/tools/acpihelp/ahmain.c
+++ b/source/tools/acpihelp/ahmain.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/tools/acpisrc/acpisrc.h b/source/tools/acpisrc/acpisrc.h
index 0ebfaef35f3f..733127f3049d 100644
--- a/source/tools/acpisrc/acpisrc.h
+++ b/source/tools/acpisrc/acpisrc.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/source/tools/acpisrc/ascase.c b/source/tools/acpisrc/ascase.c
index 4f231704b0e6..b64fa7fbd690 100644
--- a/source/tools/acpisrc/ascase.c
+++ b/source/tools/acpisrc/ascase.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/tools/acpisrc/asconvrt.c b/source/tools/acpisrc/asconvrt.c
index ab34a6fe17a2..0027e45a9935 100644
--- a/source/tools/acpisrc/asconvrt.c
+++ b/source/tools/acpisrc/asconvrt.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
* All rights reserved.
*
* 2. License
@@ -185,7 +185,7 @@ AsCountLines (
#define MODULE_HEADER_BEGIN "/******************************************************************************\n *\n * Module Name:";
#define MODULE_HEADER_END " *****************************************************************************/\n\n"
-#define INTEL_COPYRIGHT " * Copyright (C) 2000 - 2022, Intel Corp.\n"
+#define INTEL_COPYRIGHT " * Copyright (C) 2000 - 2023, Intel Corp.\n"
/* Opening signature of the Intel legal header */
@@ -1230,7 +1230,6 @@ AsTabify8 (
char *NewSubBuffer;
char *CommentEnd = NULL;
UINT32 SpaceCount = 0;
- UINT32 Column = 0;
UINT32 TabCount = 0;
UINT32 LastLineTabCount = 0;
UINT32 LastLineColumnStart = 0;
@@ -1246,7 +1245,6 @@ AsTabify8 (
/* This is a standalone blank line */
FirstNonBlank = NULL;
- Column = 0;
SpaceCount = 0;
TabCount = 0;
SubBuffer++;
@@ -1285,8 +1283,6 @@ AsTabify8 (
}
}
- Column++;
-
/* Check if we are in a comment */
if ((SubBuffer[0] == '*') &&
@@ -1379,7 +1375,6 @@ AsTabify8 (
FirstNonBlank = NULL;
LastLineColumnStart = ThisColumnStart;
- Column = 0;
SpaceCount = 0;
}
else
@@ -1618,6 +1613,8 @@ AsInsertPrefix (
int TrailingSpaces;
char LowerKeyword[128];
int KeywordLength;
+ char *LineStart;
+ BOOLEAN FoundPrefix;
switch (Type)
@@ -1664,7 +1661,66 @@ AsInsertPrefix (
{
/* Make sure the keyword isn't already prefixed with the insert */
- if (!strncmp (SubString - InsertLength, InsertString, InsertLength))
+ /* We find the beginning of the line and try to find the InsertString
+ * from LineStart up to SubBuffer (our keyword). If it's not there,
+ * we assume it doesn't have a prefix; this is a limitation, as having
+ * a keyword on another line is absolutely valid C.
+ */
+
+ LineStart = SubString;
+ FoundPrefix = FALSE;
+
+ /* Find the start of the line */
+
+ while (LineStart > Buffer)
+ {
+ if (*LineStart == '\n')
+ {
+ LineStart++;
+ break;
+ }
+
+ LineStart--;
+ }
+
+ /* Try to find InsertString from the start of the line up to SubBuffer */
+ /* Note that this algorithm is a bit naive. */
+
+ while (SubBuffer > LineStart)
+ {
+ if (*LineStart != *InsertString)
+ {
+ LineStart++;
+ continue;
+ }
+
+ if (strncmp (LineStart++, InsertString, InsertLength))
+ {
+ continue;
+ }
+
+ FoundPrefix = TRUE;
+ LineStart += InsertLength - 1;
+
+ /* Now check if there's non-whitespace between InsertString and SubBuffer, as that
+ * means it's not a valid prefix in this case. */
+
+ while (LineStart != SubBuffer)
+ {
+ if (!strchr (" \t\r\n", *LineStart))
+ {
+ /* We found non-whitespace while traversing up to SubBuffer,
+ * so this isn't a prefix.
+ */
+ FoundPrefix = FALSE;
+ break;
+ }
+
+ LineStart++;
+ }
+ }
+
+ if (FoundPrefix)
{
/* Add spaces if not already at the end-of-line */
diff --git a/source/tools/acpisrc/asfile.c b/source/tools/acpisrc/asfile.c
index 3f8f97c44b2a..b79e0823d1e8 100644
--- a/source/tools/acpisrc/asfile.c
+++ b/source/tools/acpisrc/asfile.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/tools/acpisrc/asmain.c b/source/tools/acpisrc/asmain.c
index aa382f0b2d0e..7b8be3762d7c 100644
--- a/source/tools/acpisrc/asmain.c
+++ b/source/tools/acpisrc/asmain.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/tools/acpisrc/asremove.c b/source/tools/acpisrc/asremove.c
index 7f230af15251..4bd6a1597049 100644
--- a/source/tools/acpisrc/asremove.c
+++ b/source/tools/acpisrc/asremove.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/tools/acpisrc/astable.c b/source/tools/acpisrc/astable.c
index d2da8e3011e6..f12ea3e2ecd6 100644
--- a/source/tools/acpisrc/astable.c
+++ b/source/tools/acpisrc/astable.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this 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,7 +197,7 @@ ACPI_STRING_TABLE StandardDataTypes[] = {
char EmptyHeader[] = "";
char DualLicenseHeader[] =
"/*\n"
-" * Copyright (C) 2000 - 2022, Intel Corp.\n"
+" * Copyright (C) 2000 - 2023, Intel Corp.\n"
" * All rights reserved.\n"
" *\n"
" * Redistribution and use in source and binary forms, with or without\n"
@@ -306,6 +306,7 @@ ACPI_TYPED_IDENTIFIER_TABLE AcpiIdentifiers[] = {
{"ACPI_CONVERSION_TABLE", SRC_TYPE_STRUCT},
{"ACPI_CPU_FLAGS", SRC_TYPE_SIMPLE},
{"ACPI_CREATE_FIELD_INFO", SRC_TYPE_STRUCT},
+ {"ACPI_DATA_TABLE_MAPPING", SRC_TYPE_STRUCT},
{"ACPI_DB_ARGUMENT_INFO", SRC_TYPE_STRUCT},
{"ACPI_DB_COMMAND_HELP", SRC_TYPE_STRUCT},
{"ACPI_DB_COMMAND_INFO", SRC_TYPE_STRUCT},
@@ -339,6 +340,7 @@ ACPI_TYPED_IDENTIFIER_TABLE AcpiIdentifiers[] = {
{"ACPI_FIND_CONTEXT", SRC_TYPE_STRUCT},
{"ACPI_FIXED_EVENT_HANDLER", SRC_TYPE_STRUCT},
{"ACPI_FIXED_EVENT_INFO", SRC_TYPE_STRUCT},
+ {"ACPI_FFH_INFO", SRC_TYPE_STRUCT},
{"ACPI_GBL_EVENT_HANDLER", SRC_TYPE_SIMPLE},
{"ACPI_GENERIC_ADDRESS", SRC_TYPE_STRUCT},
{"ACPI_GENERIC_STATE", SRC_TYPE_UNION},
@@ -373,6 +375,7 @@ ACPI_TYPED_IDENTIFIER_TABLE AcpiIdentifiers[] = {
{"ACPI_LPIT_HEADER", SRC_TYPE_STRUCT},
{"ACPI_LPIT_IO", SRC_TYPE_STRUCT},
{"ACPI_LPIT_NATIVE", SRC_TYPE_STRUCT},
+ {"ACPI_MEM_MAPPING", SRC_TYPE_STRUCT},
{"ACPI_MEM_SPACE_CONTEXT", SRC_TYPE_STRUCT},
{"ACPI_MEMORY_ATTRIBUTE", SRC_TYPE_STRUCT},
{"ACPI_MEMORY_LIST", SRC_TYPE_STRUCT},
@@ -649,6 +652,7 @@ ACPI_TYPED_IDENTIFIER_TABLE AcpiIdentifiers[] = {
{"ACPI_TABLE_BGRT", SRC_TYPE_STRUCT},
{"ACPI_TABLE_BOOT", SRC_TYPE_STRUCT},
{"ACPI_TABLE_CCEL", SRC_TYPE_STRUCT},
+ {"ACPI_TABLE_CDAT", SRC_TYPE_STRUCT},
{"ACPI_TABLE_CEDT", SRC_TYPE_STRUCT},
{"ACPI_TABLE_CPEP", SRC_TYPE_STRUCT},
{"ACPI_TABLE_CSRT", SRC_TYPE_STRUCT},
@@ -672,6 +676,7 @@ ACPI_TYPED_IDENTIFIER_TABLE AcpiIdentifiers[] = {
{"ACPI_TABLE_MADT", SRC_TYPE_STRUCT},
{"ACPI_TABLE_MCFG", SRC_TYPE_STRUCT},
{"ACPI_TABLE_MCHI", SRC_TYPE_STRUCT},
+ {"ACPI_TABLE_MPAM", SRC_TYPE_STRUCT},
{"ACPI_TABLE_MPST", SRC_TYPE_STRUCT},
{"ACPI_TABLE_MSCT", SRC_TYPE_STRUCT},
{"ACPI_TABLE_MSDM", SRC_TYPE_STRUCT},
@@ -829,6 +834,9 @@ ACPI_TYPED_IDENTIFIER_TABLE AcpiIdentifiers[] = {
{"ACPI_MADT_MULTIPROC_WAKEUP_MAILBOX", SRC_TYPE_STRUCT},
{"ACPI_MADT_PROCESSOR_APIC", SRC_TYPE_STRUCT},
{"ACPI_MCFG_ALLOCATION", SRC_TYPE_STRUCT},
+ {"ACPI_MPAM_MSC_NODE", SRC_TYPE_STRUCT},
+ {"ACPI_MPAM_RESOURCE_LOCATOR", SRC_TYPE_STRUCT},
+ {"ACPI_MPAM_RESOURCE_NODE", SRC_TYPE_STRUCT},
{"ACPI_MPST_COMPONENT", SRC_TYPE_STRUCT},
{"ACPI_MPST_DATA_HDR", SRC_TYPE_STRUCT},
{"ACPI_MPST_POWER_DATA", SRC_TYPE_STRUCT},
@@ -955,6 +963,7 @@ ACPI_TYPED_IDENTIFIER_TABLE AcpiIdentifiers[] = {
{"AH_ASL_KEYWORD", SRC_TYPE_STRUCT},
{"AH_DEVICE_ID", SRC_TYPE_STRUCT},
{"AH_PREDEFINED_NAME", SRC_TYPE_STRUCT},
+ {"AH_TABLE", SRC_TYPE_STRUCT},
{"AH_UUID", SRC_TYPE_STRUCT},
/* AcpiXtract utility */
@@ -1245,8 +1254,8 @@ ACPI_CONVERSION_TABLE LicenseConversionTable =
ACPI_STRING_TABLE CustomReplacements[] =
{
- {"(c) 1999 - 2021", "(c) 1999 - 2022", REPLACE_WHOLE_WORD}, /* Main ACPICA source */
- {"(c) 2006 - 2021", "(c) 2006 - 2022", REPLACE_WHOLE_WORD}, /* Test suites */
+ {"(c) 1999 - 2021", "(c) 1999 - 2023", REPLACE_WHOLE_WORD}, /* Main ACPICA source */
+ {"(c) 2006 - 2021", "(c) 2006 - 2023", REPLACE_WHOLE_WORD}, /* Test suites */
#if 0
{"SUPPORT, ASSISTANCE", "SUPPORT, ASSISTANCE", REPLACE_WHOLE_WORD}, /* Fix intel header */
diff --git a/source/tools/acpisrc/asutils.c b/source/tools/acpisrc/asutils.c
index cc97cca6b2cd..6d481ea818a5 100644
--- a/source/tools/acpisrc/asutils.c
+++ b/source/tools/acpisrc/asutils.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/tools/acpixtract/acpixtract.c b/source/tools/acpixtract/acpixtract.c
index 30bb06e5b531..fd53818c9b6c 100644
--- a/source/tools/acpixtract/acpixtract.c
+++ b/source/tools/acpixtract/acpixtract.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/source/tools/acpixtract/acpixtract.h b/source/tools/acpixtract/acpixtract.h
index 2e7646bbd68e..bff2ed5c73ef 100644
--- a/source/tools/acpixtract/acpixtract.h
+++ b/source/tools/acpixtract/acpixtract.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/source/tools/acpixtract/axmain.c b/source/tools/acpixtract/axmain.c
index 30f3d68a9517..c504783ee6a5 100644
--- a/source/tools/acpixtract/axmain.c
+++ b/source/tools/acpixtract/axmain.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/tools/acpixtract/axutils.c b/source/tools/acpixtract/axutils.c
index 54021778f4d4..a51cc6917376 100644
--- a/source/tools/acpixtract/axutils.c
+++ b/source/tools/acpixtract/axutils.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/tools/efihello/efihello.c b/source/tools/efihello/efihello.c
index ed4c8b4ec6bb..a8aead35c645 100644
--- a/source/tools/efihello/efihello.c
+++ b/source/tools/efihello/efihello.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/tools/examples/examples.c b/source/tools/examples/examples.c
index 0b4497508a5f..235775556fe2 100644
--- a/source/tools/examples/examples.c
+++ b/source/tools/examples/examples.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/tools/examples/examples.h b/source/tools/examples/examples.h
index 66c28219b0e1..2881926baf03 100644
--- a/source/tools/examples/examples.h
+++ b/source/tools/examples/examples.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/source/tools/examples/exstubs.c b/source/tools/examples/exstubs.c
index 2cc8636fb996..a4fc1ad21b6c 100644
--- a/source/tools/examples/exstubs.c
+++ b/source/tools/examples/exstubs.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
* All rights reserved.
*
* 2. License
diff --git a/source/tools/examples/extables.c b/source/tools/examples/extables.c
index 8633788ea821..5c58baf019f1 100644
--- a/source/tools/examples/extables.c
+++ b/source/tools/examples/extables.c
@@ -8,7 +8,7 @@
*
* 1. Copyright Notice
*
- * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp.
+ * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp.
* All rights reserved.
*
* 2. License