Message ID | 20230403074340.1206236-1-colin.i.king@gmail.com |
---|---|
State | Accepted |
Headers | show |
Series | ACPICA: Update to version 20230331 | expand |
On 4/3/23 15:43, Colin Ian King wrote: > Changes in this release of ACPICA are detailed on the ACPICA developer > mailing list for ACPICA 20230331 > > Signed-off-by: Colin Ian King <colin.i.king@gmail.com> > --- > src/acpica/source/common/acfileio.c | 2 +- > src/acpica/source/common/acgetline.c | 2 +- > src/acpica/source/common/adfile.c | 2 +- > src/acpica/source/common/adisasm.c | 3 +- > src/acpica/source/common/adwalk.c | 2 +- > src/acpica/source/common/ahids.c | 2 +- > src/acpica/source/common/ahpredef.c | 2 +- > src/acpica/source/common/ahtable.c | 5 +- > src/acpica/source/common/ahuuids.c | 2 +- > src/acpica/source/common/cmfsize.c | 2 +- > src/acpica/source/common/dmextern.c | 10 +- > src/acpica/source/common/dmrestag.c | 11 +- > src/acpica/source/common/dmswitch.c | 2 +- > src/acpica/source/common/dmtable.c | 54 +++- > src/acpica/source/common/dmtables.c | 2 +- > src/acpica/source/common/dmtbdump.c | 2 +- > src/acpica/source/common/dmtbdump1.c | 93 +++++- > src/acpica/source/common/dmtbdump2.c | 242 ++++++++++++++- > src/acpica/source/common/dmtbdump3.c | 2 +- > src/acpica/source/common/dmtbinfo.c | 2 +- > src/acpica/source/common/dmtbinfo1.c | 55 +++- > src/acpica/source/common/dmtbinfo2.c | 191 +++++++++++- > src/acpica/source/common/dmtbinfo3.c | 2 +- > src/acpica/source/common/getopt.c | 2 +- > src/acpica/source/compiler/aslallocate.c | 8 +- > src/acpica/source/compiler/aslanalyze.c | 2 +- > src/acpica/source/compiler/aslascii.c | 2 +- > src/acpica/source/compiler/aslbtypes.c | 5 +- > src/acpica/source/compiler/aslcache.c | 2 +- > src/acpica/source/compiler/aslcodegen.c | 2 +- > src/acpica/source/compiler/aslcompile.c | 2 +- > src/acpica/source/compiler/aslcompiler.h | 5 +- > src/acpica/source/compiler/aslcompiler.l | 14 +- > src/acpica/source/compiler/aslcstyle.y | 2 +- > src/acpica/source/compiler/asldebug.c | 2 +- > src/acpica/source/compiler/asldefine.h | 2 +- > src/acpica/source/compiler/aslerror.c | 2 +- > src/acpica/source/compiler/aslexternal.c | 2 +- > src/acpica/source/compiler/aslfileio.c | 2 +- > src/acpica/source/compiler/aslfiles.c | 2 +- > src/acpica/source/compiler/aslfold.c | 2 +- > src/acpica/source/compiler/aslglobal.h | 2 +- > src/acpica/source/compiler/aslhelp.c | 2 +- > src/acpica/source/compiler/aslhelpers.y | 2 +- > src/acpica/source/compiler/aslhex.c | 2 +- > src/acpica/source/compiler/aslkeywords.y | 13 +- > src/acpica/source/compiler/asllength.c | 2 +- > src/acpica/source/compiler/asllisting.c | 2 +- > src/acpica/source/compiler/asllistsup.c | 2 +- > src/acpica/source/compiler/aslload.c | 2 +- > src/acpica/source/compiler/asllookup.c | 2 +- > src/acpica/source/compiler/aslmain.c | 2 +- > src/acpica/source/compiler/aslmap.c | 8 +- > src/acpica/source/compiler/aslmapenter.c | 2 +- > src/acpica/source/compiler/aslmapoutput.c | 2 +- > src/acpica/source/compiler/aslmaputils.c | 2 +- > src/acpica/source/compiler/aslmessages.c | 2 +- > src/acpica/source/compiler/aslmessages.h | 2 +- > src/acpica/source/compiler/aslmethod.c | 2 +- > src/acpica/source/compiler/aslnamesp.c | 2 +- > src/acpica/source/compiler/asloffset.c | 2 +- > src/acpica/source/compiler/aslopcodes.c | 2 +- > src/acpica/source/compiler/asloperands.c | 2 +- > src/acpica/source/compiler/aslopt.c | 2 +- > src/acpica/source/compiler/asloptions.c | 2 +- > src/acpica/source/compiler/aslparseop.c | 6 +- > src/acpica/source/compiler/aslparser.y | 4 +- > src/acpica/source/compiler/aslpld.c | 2 +- > src/acpica/source/compiler/aslpredef.c | 2 +- > src/acpica/source/compiler/aslprepkg.c | 2 +- > src/acpica/source/compiler/aslprimaries.y | 2 +- > src/acpica/source/compiler/aslprintf.c | 2 +- > src/acpica/source/compiler/aslprune.c | 2 +- > src/acpica/source/compiler/aslresource.c | 8 +- > src/acpica/source/compiler/aslresources.y | 18 +- > src/acpica/source/compiler/aslrestype1.c | 2 +- > src/acpica/source/compiler/aslrestype1i.c | 2 +- > src/acpica/source/compiler/aslrestype2.c | 8 +- > src/acpica/source/compiler/aslrestype2d.c | 2 +- > src/acpica/source/compiler/aslrestype2e.c | 2 +- > src/acpica/source/compiler/aslrestype2q.c | 2 +- > src/acpica/source/compiler/aslrestype2s.c | 129 ++++++-- > src/acpica/source/compiler/aslrestype2w.c | 2 +- > src/acpica/source/compiler/aslrules.y | 2 +- > src/acpica/source/compiler/aslstartup.c | 2 +- > src/acpica/source/compiler/aslstubs.c | 2 +- > src/acpica/source/compiler/aslsupport.l | 4 +- > src/acpica/source/compiler/aslsupport.y | 2 +- > src/acpica/source/compiler/asltokens.y | 8 +- > src/acpica/source/compiler/asltransform.c | 2 +- > src/acpica/source/compiler/asltree.c | 5 +- > src/acpica/source/compiler/asltypes.h | 4 +- > src/acpica/source/compiler/asltypes.y | 5 +- > src/acpica/source/compiler/aslutils.c | 8 +- > src/acpica/source/compiler/asluuid.c | 2 +- > src/acpica/source/compiler/aslwalks.c | 2 +- > src/acpica/source/compiler/aslxref.c | 2 +- > src/acpica/source/compiler/aslxrefout.c | 2 +- > src/acpica/source/compiler/cvcompiler.c | 2 +- > src/acpica/source/compiler/cvdisasm.c | 2 +- > src/acpica/source/compiler/cvparser.c | 2 +- > src/acpica/source/compiler/dtcompile.c | 2 +- > src/acpica/source/compiler/dtcompiler.h | 17 +- > src/acpica/source/compiler/dtcompilerparser.l | 2 +- > src/acpica/source/compiler/dtcompilerparser.y | 2 +- > src/acpica/source/compiler/dtexpress.c | 7 +- > src/acpica/source/compiler/dtfield.c | 4 +- > src/acpica/source/compiler/dtio.c | 2 +- > src/acpica/source/compiler/dtparser.l | 2 +- > src/acpica/source/compiler/dtparser.y | 2 +- > src/acpica/source/compiler/dtsubtable.c | 2 +- > src/acpica/source/compiler/dttable.c | 2 +- > src/acpica/source/compiler/dttable1.c | 91 +++++- > src/acpica/source/compiler/dttable2.c | 285 +++++++++++++++++- > src/acpica/source/compiler/dttemplate.c | 2 +- > src/acpica/source/compiler/dttemplate.h | 79 ++++- > src/acpica/source/compiler/dtutils.c | 4 +- > src/acpica/source/compiler/preprocess.h | 11 +- > src/acpica/source/compiler/prexpress.c | 2 +- > src/acpica/source/compiler/prmacros.c | 50 +-- > src/acpica/source/compiler/prparser.l | 2 +- > src/acpica/source/compiler/prparser.y | 2 +- > src/acpica/source/compiler/prscan.c | 9 +- > src/acpica/source/compiler/prutils.c | 240 ++++++++++++++- > .../source/components/debugger/dbcmds.c | 2 +- > .../source/components/debugger/dbconvert.c | 2 +- > .../source/components/debugger/dbdisply.c | 2 +- > .../source/components/debugger/dbexec.c | 2 +- > .../source/components/debugger/dbfileio.c | 2 +- > .../source/components/debugger/dbhistry.c | 2 +- > .../source/components/debugger/dbinput.c | 2 +- > .../source/components/debugger/dbmethod.c | 2 +- > .../source/components/debugger/dbnames.c | 5 +- > .../source/components/debugger/dbobject.c | 2 +- > .../source/components/debugger/dbstats.c | 2 +- > .../source/components/debugger/dbtest.c | 2 +- > .../source/components/debugger/dbutils.c | 2 +- > .../source/components/debugger/dbxface.c | 2 +- > .../source/components/disassembler/dmbuffer.c | 2 +- > .../source/components/disassembler/dmcstyle.c | 2 +- > .../components/disassembler/dmdeferred.c | 2 +- > .../source/components/disassembler/dmnames.c | 2 +- > .../source/components/disassembler/dmopcode.c | 2 +- > .../source/components/disassembler/dmresrc.c | 3 +- > .../source/components/disassembler/dmresrcl.c | 4 +- > .../components/disassembler/dmresrcl2.c | 42 ++- > .../source/components/disassembler/dmresrcs.c | 2 +- > .../source/components/disassembler/dmutils.c | 2 +- > .../source/components/disassembler/dmwalk.c | 2 +- > .../source/components/dispatcher/dsargs.c | 2 +- > .../source/components/dispatcher/dscontrol.c | 2 +- > .../source/components/dispatcher/dsdebug.c | 2 +- > .../source/components/dispatcher/dsfield.c | 2 +- > .../source/components/dispatcher/dsinit.c | 2 +- > .../source/components/dispatcher/dsmethod.c | 12 +- > .../source/components/dispatcher/dsmthdat.c | 2 +- > .../source/components/dispatcher/dsobject.c | 2 +- > .../source/components/dispatcher/dsopcode.c | 2 +- > .../source/components/dispatcher/dspkginit.c | 2 +- > .../source/components/dispatcher/dsutils.c | 2 +- > .../source/components/dispatcher/dswexec.c | 8 +- > .../source/components/dispatcher/dswload.c | 2 +- > .../source/components/dispatcher/dswload2.c | 2 +- > .../source/components/dispatcher/dswscope.c | 2 +- > .../source/components/dispatcher/dswstate.c | 11 +- > src/acpica/source/components/events/evevent.c | 4 +- > src/acpica/source/components/events/evglock.c | 2 +- > src/acpica/source/components/events/evgpe.c | 2 +- > .../source/components/events/evgpeblk.c | 2 +- > .../source/components/events/evgpeinit.c | 2 +- > .../source/components/events/evgpeutil.c | 2 +- > .../source/components/events/evhandler.c | 2 +- > src/acpica/source/components/events/evmisc.c | 2 +- > .../source/components/events/evregion.c | 2 +- > .../source/components/events/evrgnini.c | 2 +- > src/acpica/source/components/events/evsci.c | 2 +- > src/acpica/source/components/events/evxface.c | 2 +- > .../source/components/events/evxfevnt.c | 2 +- > src/acpica/source/components/events/evxfgpe.c | 2 +- > .../source/components/events/evxfregn.c | 103 ++++++- > .../source/components/executer/exconcat.c | 2 +- > .../source/components/executer/exconfig.c | 2 +- > .../source/components/executer/exconvrt.c | 2 +- > .../source/components/executer/excreate.c | 2 +- > .../source/components/executer/exdebug.c | 2 +- > .../source/components/executer/exdump.c | 2 +- > .../source/components/executer/exfield.c | 2 +- > .../source/components/executer/exfldio.c | 2 +- > .../source/components/executer/exmisc.c | 2 +- > .../source/components/executer/exmutex.c | 2 +- > .../source/components/executer/exnames.c | 2 +- > .../source/components/executer/exoparg1.c | 2 +- > .../source/components/executer/exoparg2.c | 2 +- > .../source/components/executer/exoparg3.c | 2 +- > .../source/components/executer/exoparg6.c | 2 +- > .../source/components/executer/exprep.c | 2 +- > .../source/components/executer/exregion.c | 2 +- > .../source/components/executer/exresnte.c | 2 +- > .../source/components/executer/exresolv.c | 2 +- > .../source/components/executer/exresop.c | 2 +- > .../source/components/executer/exserial.c | 2 +- > .../source/components/executer/exstore.c | 2 +- > .../source/components/executer/exstoren.c | 2 +- > .../source/components/executer/exstorob.c | 2 +- > .../source/components/executer/exsystem.c | 6 +- > .../source/components/executer/extrace.c | 2 +- > .../source/components/executer/exutils.c | 2 +- > .../source/components/hardware/hwacpi.c | 2 +- > .../source/components/hardware/hwesleep.c | 2 +- > src/acpica/source/components/hardware/hwgpe.c | 2 +- > src/acpica/source/components/hardware/hwpci.c | 2 +- > .../source/components/hardware/hwregs.c | 2 +- > .../source/components/hardware/hwsleep.c | 13 +- > .../source/components/hardware/hwvalid.c | 10 +- > .../source/components/hardware/hwxface.c | 2 +- > .../source/components/hardware/hwxfsleep.c | 2 +- > .../source/components/namespace/nsaccess.c | 2 +- > .../source/components/namespace/nsalloc.c | 2 +- > .../source/components/namespace/nsarguments.c | 2 +- > .../source/components/namespace/nsconvert.c | 2 +- > .../source/components/namespace/nsdump.c | 2 +- > .../source/components/namespace/nsdumpdv.c | 2 +- > .../source/components/namespace/nseval.c | 2 +- > .../source/components/namespace/nsinit.c | 2 +- > .../source/components/namespace/nsload.c | 2 +- > .../source/components/namespace/nsnames.c | 2 +- > .../source/components/namespace/nsobject.c | 2 +- > .../source/components/namespace/nsparse.c | 2 +- > .../source/components/namespace/nspredef.c | 2 +- > .../source/components/namespace/nsprepkg.c | 2 +- > .../source/components/namespace/nsrepair.c | 16 +- > .../source/components/namespace/nsrepair2.c | 11 +- > .../source/components/namespace/nssearch.c | 2 +- > .../source/components/namespace/nsutils.c | 4 +- > .../source/components/namespace/nswalk.c | 2 +- > .../source/components/namespace/nsxfeval.c | 2 +- > .../source/components/namespace/nsxfname.c | 4 +- > .../source/components/namespace/nsxfobj.c | 2 +- > src/acpica/source/components/parser/psargs.c | 2 +- > src/acpica/source/components/parser/psloop.c | 2 +- > .../source/components/parser/psobject.c | 2 +- > .../source/components/parser/psopcode.c | 2 +- > .../source/components/parser/psopinfo.c | 2 +- > src/acpica/source/components/parser/psparse.c | 2 +- > src/acpica/source/components/parser/psscope.c | 2 +- > src/acpica/source/components/parser/pstree.c | 2 +- > src/acpica/source/components/parser/psutils.c | 2 +- > src/acpica/source/components/parser/pswalk.c | 2 +- > src/acpica/source/components/parser/psxface.c | 2 +- > .../source/components/resources/rsaddr.c | 14 +- > .../source/components/resources/rscalc.c | 33 +- > .../source/components/resources/rscreate.c | 10 +- > .../source/components/resources/rsdump.c | 2 +- > .../source/components/resources/rsdumpinfo.c | 21 +- > .../source/components/resources/rsinfo.c | 7 +- > src/acpica/source/components/resources/rsio.c | 2 +- > .../source/components/resources/rsirq.c | 14 +- > .../source/components/resources/rslist.c | 11 +- > .../source/components/resources/rsmemory.c | 2 +- > .../source/components/resources/rsmisc.c | 11 +- > .../source/components/resources/rsserial.c | 46 ++- > .../source/components/resources/rsutils.c | 2 +- > .../source/components/resources/rsxface.c | 2 +- > src/acpica/source/components/tables/tbdata.c | 2 +- > src/acpica/source/components/tables/tbfadt.c | 2 +- > src/acpica/source/components/tables/tbfind.c | 2 +- > .../source/components/tables/tbinstal.c | 2 +- > src/acpica/source/components/tables/tbprint.c | 3 +- > src/acpica/source/components/tables/tbutils.c | 7 +- > src/acpica/source/components/tables/tbxface.c | 2 +- > .../source/components/tables/tbxfload.c | 2 +- > .../source/components/tables/tbxfroot.c | 2 +- > .../source/components/utilities/utaddress.c | 2 +- > .../source/components/utilities/utalloc.c | 2 +- > .../source/components/utilities/utascii.c | 2 +- > .../source/components/utilities/utbuffer.c | 2 +- > .../source/components/utilities/utcache.c | 2 +- > .../source/components/utilities/utcksum.c | 4 +- > .../source/components/utilities/utcopy.c | 2 +- > .../source/components/utilities/utdebug.c | 2 +- > .../source/components/utilities/utdecode.c | 2 +- > .../source/components/utilities/utdelete.c | 2 +- > .../source/components/utilities/uterror.c | 2 +- > .../source/components/utilities/uteval.c | 2 +- > .../source/components/utilities/utexcep.c | 2 +- > .../source/components/utilities/utglobal.c | 2 +- > .../source/components/utilities/uthex.c | 2 +- > .../source/components/utilities/utids.c | 2 +- > .../source/components/utilities/utinit.c | 2 +- > .../source/components/utilities/utlock.c | 2 +- > .../source/components/utilities/utmath.c | 2 +- > .../source/components/utilities/utmisc.c | 2 +- > .../source/components/utilities/utmutex.c | 2 +- > .../source/components/utilities/utnonansi.c | 2 +- > .../source/components/utilities/utobject.c | 2 +- > .../source/components/utilities/utosi.c | 2 +- > .../source/components/utilities/utownerid.c | 2 +- > .../source/components/utilities/utpredef.c | 2 +- > .../source/components/utilities/utresdecode.c | 15 +- > .../source/components/utilities/utresrc.c | 16 +- > .../source/components/utilities/utstate.c | 2 +- > .../source/components/utilities/utstring.c | 2 +- > .../source/components/utilities/utstrsuppt.c | 2 +- > .../source/components/utilities/utstrtoul64.c | 2 +- > .../source/components/utilities/uttrack.c | 2 +- > .../source/components/utilities/utuuid.c | 2 +- > .../source/components/utilities/utxface.c | 2 +- > .../source/components/utilities/utxferror.c | 2 +- > .../source/components/utilities/utxfinit.c | 2 +- > src/acpica/source/include/acapps.h | 4 +- > src/acpica/source/include/acbuffer.h | 2 +- > src/acpica/source/include/accommon.h | 2 +- > src/acpica/source/include/acconfig.h | 2 +- > src/acpica/source/include/acconvert.h | 2 +- > src/acpica/source/include/acdebug.h | 2 +- > src/acpica/source/include/acdisasm.h | 45 ++- > src/acpica/source/include/acdispat.h | 2 +- > src/acpica/source/include/acevents.h | 2 +- > src/acpica/source/include/acexcep.h | 2 +- > src/acpica/source/include/acglobal.h | 2 +- > src/acpica/source/include/achware.h | 2 +- > src/acpica/source/include/acinterp.h | 2 +- > src/acpica/source/include/aclocal.h | 5 +- > src/acpica/source/include/acmacros.h | 2 +- > src/acpica/source/include/acnames.h | 2 +- > src/acpica/source/include/acnamesp.h | 2 +- > src/acpica/source/include/acobject.h | 2 +- > src/acpica/source/include/acopcode.h | 2 +- > src/acpica/source/include/acoutput.h | 2 +- > src/acpica/source/include/acparser.h | 2 +- > src/acpica/source/include/acpi.h | 2 +- > src/acpica/source/include/acpiosxf.h | 2 +- > src/acpica/source/include/acpixf.h | 21 +- > src/acpica/source/include/acpredef.h | 2 +- > src/acpica/source/include/acresrc.h | 4 +- > src/acpica/source/include/acrestyp.h | 41 ++- > src/acpica/source/include/acstruct.h | 2 +- > src/acpica/source/include/actables.h | 2 +- > src/acpica/source/include/actbinfo.h | 21 +- > src/acpica/source/include/actbl.h | 2 +- > src/acpica/source/include/actbl1.h | 97 +++++- > src/acpica/source/include/actbl2.h | 244 +++++++++++++-- > src/acpica/source/include/actbl3.h | 2 +- > src/acpica/source/include/actypes.h | 8 +- > src/acpica/source/include/acutils.h | 4 +- > src/acpica/source/include/acuuid.h | 2 +- > src/acpica/source/include/amlcode.h | 2 +- > src/acpica/source/include/amlresrc.h | 27 +- > src/acpica/source/include/platform/acenv.h | 4 +- > src/acpica/source/include/platform/acenvex.h | 2 +- > src/acpica/source/include/platform/acgcc.h | 13 +- > src/acpica/source/include/platform/acgccex.h | 2 +- > src/acpica/source/include/platform/aclinux.h | 5 +- > .../source/include/platform/aclinuxex.h | 2 +- > .../os_specific/service_layers/osunixxf.c | 2 +- > src/acpica/source/tools/acpiexec/aecommon.h | 2 +- > .../source/tools/acpiexec/aeexception.c | 2 +- > src/acpica/source/tools/acpiexec/aehandlers.c | 2 +- > src/acpica/source/tools/acpiexec/aeinitfile.c | 2 +- > src/acpica/source/tools/acpiexec/aeinstall.c | 2 +- > src/acpica/source/tools/acpiexec/aeregion.c | 2 +- > 361 files changed, 2735 insertions(+), 553 deletions(-) > > diff --git a/src/acpica/source/common/acfileio.c b/src/acpica/source/common/acfileio.c > index 77f7337a..a9118f61 100644 > --- a/src/acpica/source/common/acfileio.c > +++ b/src/acpica/source/common/acfileio.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/common/acgetline.c b/src/acpica/source/common/acgetline.c > index e5d0bf56..b2649927 100644 > --- a/src/acpica/source/common/acgetline.c > +++ b/src/acpica/source/common/acgetline.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/common/adfile.c b/src/acpica/source/common/adfile.c > index 647333d9..8bca7273 100644 > --- a/src/acpica/source/common/adfile.c > +++ b/src/acpica/source/common/adfile.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/common/adisasm.c b/src/acpica/source/common/adisasm.c > index 49338e74..ccb98bfe 100644 > --- a/src/acpica/source/common/adisasm.c > +++ b/src/acpica/source/common/adisasm.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -789,6 +789,7 @@ AdDoExternalFileList ( > AcpiDmFinishNamespaceLoad (AcpiGbl_ParseOpRoot, > AcpiGbl_RootNode, OwnerId); > AcpiPsDeleteParseTree (AcpiGbl_ParseOpRoot); > + AcpiGbl_ParseOpRoot = NULL; > > ExternalListHead = ExternalListHead->Next; > } > diff --git a/src/acpica/source/common/adwalk.c b/src/acpica/source/common/adwalk.c > index 6d51c7e1..f810abaf 100644 > --- a/src/acpica/source/common/adwalk.c > +++ b/src/acpica/source/common/adwalk.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/common/ahids.c b/src/acpica/source/common/ahids.c > index 05c31bf5..8930dc64 100644 > --- a/src/acpica/source/common/ahids.c > +++ b/src/acpica/source/common/ahids.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/common/ahpredef.c b/src/acpica/source/common/ahpredef.c > index 724abe6a..f4080587 100644 > --- a/src/acpica/source/common/ahpredef.c > +++ b/src/acpica/source/common/ahpredef.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/common/ahtable.c b/src/acpica/source/common/ahtable.c > index 418621b6..6013b941 100644 > --- a/src/acpica/source/common/ahtable.c > +++ b/src/acpica/source/common/ahtable.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -202,6 +202,7 @@ const AH_TABLE AcpiGbl_SupportedTables[] = > {ACPI_SIG_AEST, "Arm Error Source Table"}, > {ACPI_SIG_AGDI, "Arm Generic Diagnostic Dump and Reset Device Interface Table"}, > {ACPI_SIG_ASF, "Alert Standard Format Table"}, > + {ACPI_SIG_ASPT, "AMD Secure Processor Table"}, > {ACPI_SIG_BDAT, "BIOS Data ACPI Table"}, > {ACPI_SIG_BERT, "Boot Error Record Table"}, > {ACPI_SIG_BGRT, "Boot Graphics Resource Table"}, > @@ -232,6 +233,7 @@ const AH_TABLE AcpiGbl_SupportedTables[] = > {ACPI_SIG_MADT, "Multiple APIC Description Table (MADT)"}, > {ACPI_SIG_MCFG, "Memory Mapped Configuration Table"}, > {ACPI_SIG_MCHI, "Management Controller Host Interface Table"}, > + {ACPI_SIG_MPAM, "Memory System Resource Partitioning and Monitoring Table"}, > {ACPI_SIG_MPST, "Memory Power State Table"}, > {ACPI_SIG_MSCT, "Maximum System Characteristics Table"}, > {ACPI_SIG_MSDM, "Microsoft Data Management Table"}, > @@ -244,6 +246,7 @@ const AH_TABLE AcpiGbl_SupportedTables[] = > {ACPI_SIG_PPTT, "Processor Properties Topology Table"}, > {ACPI_SIG_PRMT, "Platform Runtime Mechanism Table"}, > {ACPI_SIG_RASF, "RAS Features Table"}, > + {ACPI_SIG_RHCT, "RISC-V Hart Capabilities Table"}, > {ACPI_SIG_RGRT, "Regulatory Graphics Resource Table"}, > {ACPI_RSDP_NAME,"Root System Description Pointer"}, > {ACPI_SIG_RSDT, "Root System Description Table"}, > diff --git a/src/acpica/source/common/ahuuids.c b/src/acpica/source/common/ahuuids.c > index dcf0c4bb..219f0e8e 100644 > --- a/src/acpica/source/common/ahuuids.c > +++ b/src/acpica/source/common/ahuuids.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/common/cmfsize.c b/src/acpica/source/common/cmfsize.c > index 474ccd95..e303b765 100644 > --- a/src/acpica/source/common/cmfsize.c > +++ b/src/acpica/source/common/cmfsize.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/common/dmextern.c b/src/acpica/source/common/dmextern.c > index 806daa33..6827d5e5 100644 > --- a/src/acpica/source/common/dmextern.c > +++ b/src/acpica/source/common/dmextern.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -1493,7 +1493,6 @@ AcpiDmMarkExternalConflict ( > ACPI_EXTERNAL_LIST *ExternalList = AcpiGbl_ExternalList; > char *ExternalPath; > char *InternalPath; > - char *Temp; > ACPI_STATUS Status; > > > @@ -1526,13 +1525,6 @@ AcpiDmMarkExternalConflict ( > > while (ExternalList) > { > - Temp = ExternalList->InternalPath; > - if ((*ExternalList->InternalPath == AML_ROOT_PREFIX) && > - (ExternalList->InternalPath[1])) > - { > - Temp++; > - } > - > if (!strcmp (ExternalList->InternalPath, InternalPath)) > { > ExternalList->Flags |= ACPI_EXT_CONFLICTING_DECLARATION; > diff --git a/src/acpica/source/common/dmrestag.c b/src/acpica/source/common/dmrestag.c > index b6772984..afacf6f7 100644 > --- a/src/acpica/source/common/dmrestag.c > +++ b/src/acpica/source/common/dmrestag.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -480,6 +480,14 @@ static const ACPI_RESOURCE_TAG AcpiDmIoFlagTags[] = > {0, NULL} > }; > > +/* Subtype tables for ClockInput descriptor */ > + > +static const ACPI_RESOURCE_TAG AcpiDmClockInputTags[] = > +{ > + {( 6 * 8), ACPI_RESTAG_FQD}, > + {( 8 * 8), ACPI_RESTAG_FQN}, > + {0, NULL} > +}; > > /* > * Dispatch table used to obtain the correct tag table for a descriptor. > @@ -531,6 +539,7 @@ static const ACPI_RESOURCE_TAG *AcpiGbl_ResourceTags[] = > NULL, /* 0x10, ACPI_RESOURCE_NAME_PIN_GROUP */ > AcpiDmPinGroupFunctionTags, /* 0x11, ACPI_RESOURCE_NAME_PIN_GROUP_FUNCTION */ > AcpiDmPinConfigTags, /* 0x12, ACPI_RESOURCE_NAME_PIN_GROUP_CONFIG - Same as PinConfig */ > + AcpiDmClockInputTags, /* 0x13, ACPI_RESOURCE_NAME_CLOCK_INPUT */ > }; > > /* GPIO Subtypes */ > diff --git a/src/acpica/source/common/dmswitch.c b/src/acpica/source/common/dmswitch.c > index 4a434736..c6e9f8b0 100644 > --- a/src/acpica/source/common/dmswitch.c > +++ b/src/acpica/source/common/dmswitch.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/common/dmtable.c b/src/acpica/source/common/dmtable.c > index 9b95ecc7..31ca7390 100644 > --- a/src/acpica/source/common/dmtable.c > +++ b/src/acpica/source/common/dmtable.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -234,6 +234,14 @@ static const char *AcpiDmAsfSubnames[] = > "Unknown Subtable Type" /* Reserved */ > }; > > +static const char *AcpiDmAsptSubnames[] = > +{ > + "ASPT Global Registers", > + "ASPT SEV Mailbox Registers", > + "ASPT ACPI Mailbox Registers", > + "Unknown Subtable Type" /* Reserved */ > +}; > + > static const char *AcpiDmCdatSubnames[] = > { > "Device Scoped Memory Affinity Structure (DSMAS)", > @@ -421,10 +429,22 @@ static const char *AcpiDmMadtSubnames[] = > "MSI Interrupt Controller", /* ACPI_MADT_TYPE_MSI_PIC */ > "Bridge I/O Interrupt Controller", /* ACPI_MADT_TYPE_BIO_PIC */ > "LPC Interrupt Controller", /* ACPI_MADT_TYPE_LPC_PIC */ > + "RISC-V Interrupt Controller", /* ACPI_MADT_TYPE_RINTC */ > "Unknown Subtable Type", /* Reserved */ > "Types 80-FF are used for OEM data" /* Reserved for OEM data */ > }; > > +static const char *AcpiDmMpamSubnames[] = > +{ > + "Processor cache", /* ACPI_MPAM_LOCATION_TYPE_PROCESSOR_CACHE */ > + "Memory", /* ACPI_MPAM_LOCATION_TYPE_MEMORY */ > + "SMMU", /* ACPI_MPAM_LOCATION_TYPE_SMMU */ > + "Memory-side cache", /* ACPI_MPAM_LOCATION_TYPE_MEMORY_CACHE */ > + "ACPI device", /* ACPI_MPAM_LOCATION_TYPE_ACPI_DEVICE */ > + "Interconnect", /* ACPI_MPAM_LOCATION_TYPE_INTERCONNECT */ > + "Unknown" /* ACPI_MPAM_LOCATION_TYPE_UNKNOWN */ > +}; > + > static const char *AcpiDmNfitSubnames[] = > { > "System Physical Address Range", /* ACPI_NFIT_TYPE_SYSTEM_ADDRESS */ > @@ -672,6 +692,7 @@ const ACPI_DMTABLE_DATA AcpiDmTableData[] = > {ACPI_SIG_AGDI, AcpiDmTableInfoAgdi, NULL, NULL, TemplateAgdi}, > {ACPI_SIG_APMT, NULL, AcpiDmDumpApmt, DtCompileApmt, TemplateApmt}, > {ACPI_SIG_ASF, NULL, AcpiDmDumpAsf, DtCompileAsf, TemplateAsf}, > + {ACPI_SIG_ASPT, NULL, AcpiDmDumpAspt, DtCompileAspt, TemplateAspt}, > {ACPI_SIG_BDAT, AcpiDmTableInfoBdat, NULL, NULL, TemplateBdat}, > {ACPI_SIG_BERT, AcpiDmTableInfoBert, NULL, NULL, TemplateBert}, > {ACPI_SIG_BGRT, AcpiDmTableInfoBgrt, NULL, NULL, TemplateBgrt}, > @@ -700,6 +721,7 @@ const ACPI_DMTABLE_DATA AcpiDmTableData[] = > {ACPI_SIG_MADT, NULL, AcpiDmDumpMadt, DtCompileMadt, TemplateMadt}, > {ACPI_SIG_MCFG, NULL, AcpiDmDumpMcfg, DtCompileMcfg, TemplateMcfg}, > {ACPI_SIG_MCHI, AcpiDmTableInfoMchi, NULL, NULL, TemplateMchi}, > + {ACPI_SIG_MPAM, NULL, AcpiDmDumpMpam, DtCompileMpam, TemplateMpam}, > {ACPI_SIG_MPST, AcpiDmTableInfoMpst, AcpiDmDumpMpst, DtCompileMpst, TemplateMpst}, > {ACPI_SIG_MSCT, NULL, AcpiDmDumpMsct, DtCompileMsct, TemplateMsct}, > {ACPI_SIG_MSDM, NULL, AcpiDmDumpSlic, DtCompileSlic, TemplateMsdm}, > @@ -713,6 +735,7 @@ const ACPI_DMTABLE_DATA AcpiDmTableData[] = > {ACPI_SIG_PRMT, NULL, AcpiDmDumpPrmt, DtCompilePrmt, TemplatePrmt}, > {ACPI_SIG_RASF, AcpiDmTableInfoRasf, NULL, NULL, TemplateRasf}, > {ACPI_SIG_RGRT, NULL, AcpiDmDumpRgrt, DtCompileRgrt, TemplateRgrt}, > + {ACPI_SIG_RHCT, NULL, AcpiDmDumpRhct, DtCompileRhct, TemplateRhct}, > {ACPI_SIG_RSDT, NULL, AcpiDmDumpRsdt, DtCompileRsdt, TemplateRsdt}, > {ACPI_SIG_S3PT, NULL, NULL, NULL, TemplateS3pt}, > {ACPI_SIG_SBST, AcpiDmTableInfoSbst, NULL, NULL, TemplateSbst}, > @@ -1128,6 +1151,7 @@ AcpiDmDumpTable ( > case ACPI_DMT_IVRS_DE: > case ACPI_DMT_GTDT: > case ACPI_DMT_MADT: > + case ACPI_DMT_MPAM_LOCATOR: > case ACPI_DMT_NHLT1: > case ACPI_DMT_NHLT1a: > case ACPI_DMT_NHLT1b: > @@ -1158,6 +1182,7 @@ AcpiDmDumpTable ( > ByteLength = 1; > break; > > + case ACPI_DMT_ASPT: > case ACPI_DMT_UINT16: > case ACPI_DMT_DMAR: > case ACPI_DMT_HEST: > @@ -1375,7 +1400,7 @@ AcpiDmDumpTable ( > AcpiOsPrintf ("%2.2X\n", (*Target >> 2) & 0xFF); > break; > > - case ACPI_DMT_FLAGS4: > + case ACPI_DMT_FLAGS4: > > AcpiOsPrintf ("%1.1X\n", (*Target >> 4) & 0x03); > break; > @@ -1661,6 +1686,17 @@ AcpiDmDumpTable ( > AcpiDmAestXruptNames[Temp8]); > break; > > + case ACPI_DMT_ASPT: > + /* ASPT subtable types */ > + Temp16 = ACPI_GET16(Target); > + if (Temp16 > ACPI_ASPT_TYPE_UNKNOWN) > + { > + Temp16 = ACPI_ASPT_TYPE_UNKNOWN; > + } > + > + AcpiOsPrintf(UINT16_FORMAT, Temp16, AcpiDmAsptSubnames[Temp16]); > + break; > + > case ACPI_DMT_ASF: > > /* ASF subtable types */ > @@ -1890,6 +1926,20 @@ AcpiDmDumpTable ( > AcpiDmMadtSubnames[Temp8]); > break; > > + case ACPI_DMT_MPAM_LOCATOR: > + > + /* MPAM subtable locator types */ > + > + Temp8 = *Target; > + if (Temp8 > ACPI_MPAM_LOCATION_TYPE_INTERCONNECT) > + { > + Temp8 = ACPI_MPAM_LOCATION_TYPE_INTERCONNECT + 1; > + } > + > + AcpiOsPrintf (UINT8_FORMAT, *Target, > + AcpiDmMpamSubnames[Temp8]); > + break; > + > case ACPI_DMT_NFIT: > > /* NFIT subtable types */ > diff --git a/src/acpica/source/common/dmtables.c b/src/acpica/source/common/dmtables.c > index 7ade7868..c474a8c9 100644 > --- a/src/acpica/source/common/dmtables.c > +++ b/src/acpica/source/common/dmtables.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/common/dmtbdump.c b/src/acpica/source/common/dmtbdump.c > index dc1745d5..c4046b8e 100644 > --- a/src/acpica/source/common/dmtbdump.c > +++ b/src/acpica/source/common/dmtbdump.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/common/dmtbdump1.c b/src/acpica/source/common/dmtbdump1.c > index ae5f0f86..0dee045a 100644 > --- a/src/acpica/source/common/dmtbdump1.c > +++ b/src/acpica/source/common/dmtbdump1.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -609,6 +609,95 @@ AcpiDmDumpAsf ( > } > } > > +/******************************************************************************* > + * > + * FUNCTION: AcpiDmDumpAspt > + * > + * PARAMETERS: Table - A ASPT table > + * > + * RETURN: None > + * > + * DESCRIPTION: Format the contents of a ASPT table > + * > + ******************************************************************************/ > + > +void > +AcpiDmDumpAspt ( > + ACPI_TABLE_HEADER *Table) > +{ > + ACPI_STATUS Status; > + UINT32 Offset = sizeof (ACPI_TABLE_ASPT); > + UINT32 Length = Table->Length; > + ACPI_ASPT_HEADER *Subtable; > + ACPI_DMTABLE_INFO *InfoTable; > + UINT16 Type; > + > + /* Main table */ > + Status = AcpiDmDumpTable(Length, 0, Table, 0, AcpiDmTableInfoAspt); > + > + /* Subtables */ > + > + Subtable = ACPI_ADD_PTR (ACPI_ASPT_HEADER, Table, Offset); > + while (Offset < Table->Length) > + { > + AcpiOsPrintf ("\n"); > + > + /* Common subtable header */ > + Status = AcpiDmDumpTable (Table->Length, Offset, Subtable, > + Subtable->Length, AcpiDmTableInfoAsptHdr); > + if (ACPI_FAILURE (Status)) > + { > + return; > + } > + > + Type = Subtable->Type; > + > + switch (Type) > + { > + case ACPI_ASPT_TYPE_GLOBAL_REGS: > + > + InfoTable = AcpiDmTableInfoAspt0; > + break; > + > + case ACPI_ASPT_TYPE_SEV_MBOX_REGS: > + > + InfoTable = AcpiDmTableInfoAspt1; > + break; > + > + case ACPI_ASPT_TYPE_ACPI_MBOX_REGS: > + > + InfoTable = AcpiDmTableInfoAspt2; > + break; > + > + default: > + > + AcpiOsPrintf ("\n**** Unknown ASPT subtable type 0x%X\n", > + Subtable->Type); > + return; > + } > + > + Status = AcpiDmDumpTable (Table->Length, Offset, Subtable, > + Subtable->Length, InfoTable); > + if (ACPI_FAILURE (Status)) > + { > + return; > + } > + > + AcpiOsPrintf ("\n"); > + > + /* Point to next subtable */ > + if (!Subtable->Length) > + { > + AcpiOsPrintf ("Invalid zero subtable header length\n"); > + return; > + } > + > + Offset += Subtable->Length; > + Subtable = ACPI_ADD_PTR (ACPI_ASPT_HEADER, Subtable, > + Subtable->Length); > + } > +} > + > > /******************************************************************************* > * > @@ -2030,7 +2119,7 @@ AcpiDmDumpHmat ( > return; > } > > - /* Dump HMAT structure additionals */ > + /* Dump HMAT structure additional */ > > switch (HmatStruct->Type) > { > diff --git a/src/acpica/source/common/dmtbdump2.c b/src/acpica/source/common/dmtbdump2.c > index 3fb4d531..e9c5dbfd 100644 > --- a/src/acpica/source/common/dmtbdump2.c > +++ b/src/acpica/source/common/dmtbdump2.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -1129,6 +1129,124 @@ AcpiDmDumpMcfg ( > } > } > > +/******************************************************************************* > + * > + * FUNCTION: AcpiDmDumpMpam > + * > + * PARAMETERS: Table - A MPAM table > + * > + * RETURN: None > + * > + * DESCRIPTION: Format the contents of a MPAM table > + * > + ******************************************************************************/ > + > +void > +AcpiDmDumpMpam ( > + ACPI_TABLE_HEADER *Table) > +{ > + ACPI_STATUS Status; > + ACPI_MPAM_MSC_NODE *MpamMscNode; > + ACPI_MPAM_RESOURCE_NODE *MpamResourceNode; > + ACPI_DMTABLE_INFO *InfoTable; > + UINT32 Offset = sizeof(ACPI_TABLE_HEADER); > + UINT32 MpamResourceNodeLength = 0; > + > + while (Offset < Table->Length) > + { > + MpamMscNode = ACPI_ADD_PTR (ACPI_MPAM_MSC_NODE, Table, Offset); > + > + /* Subtable: MSC */ > + Status = AcpiDmDumpTable (MpamMscNode->Length, 0, MpamMscNode, 0, > + AcpiDmTableInfoMpam0); > + if (ACPI_FAILURE (Status)) > + { > + return; > + } > + > + /* Offset the start of the array of resources */ > + Offset += sizeof(ACPI_MPAM_MSC_NODE); > + > + /* Subtable: MSC RIS(es) */ > + for (UINT32 ResourceIdx = 0; ResourceIdx < MpamMscNode->NumResouceNodes; ResourceIdx++) > + { > + MpamResourceNode = ACPI_ADD_PTR (ACPI_MPAM_RESOURCE_NODE, Table, Offset); > + > + MpamResourceNodeLength = sizeof(ACPI_MPAM_RESOURCE_NODE) + > + MpamResourceNode->NumFunctionalDeps * sizeof(ACPI_MPAM_FUNC_DEPS); > + > + Offset += MpamResourceNodeLength; > + > + /* Subtable: MSC RIS */ > + Status = AcpiDmDumpTable (MpamResourceNodeLength, 0, MpamResourceNode, 0, > + AcpiDmTableInfoMpam1); > + if (ACPI_FAILURE (Status)) > + { > + return; > + } > + > + switch (MpamResourceNode->LocatorType) > + { > + case ACPI_MPAM_LOCATION_TYPE_PROCESSOR_CACHE: > + InfoTable = AcpiDmTableInfoMpam1A; > + break; > + case ACPI_MPAM_LOCATION_TYPE_MEMORY: > + InfoTable = AcpiDmTableInfoMpam1B; > + break; > + case ACPI_MPAM_LOCATION_TYPE_SMMU: > + InfoTable = AcpiDmTableInfoMpam1C; > + break; > + case ACPI_MPAM_LOCATION_TYPE_MEMORY_CACHE: > + InfoTable = AcpiDmTableInfoMpam1D; > + break; > + case ACPI_MPAM_LOCATION_TYPE_ACPI_DEVICE: > + InfoTable = AcpiDmTableInfoMpam1E; > + break; > + case ACPI_MPAM_LOCATION_TYPE_INTERCONNECT: > + InfoTable = AcpiDmTableInfoMpam1F; > + break; > + case ACPI_MPAM_LOCATION_TYPE_UNKNOWN: > + InfoTable = AcpiDmTableInfoMpam1G; > + default: > + AcpiOsPrintf ("\n**** Unknown MPAM locator type 0x%X\n", > + MpamResourceNode->LocatorType); > + return; > + } > + > + /* Subtable: MSC Resource Locator(s) */ > + Status = AcpiDmDumpTable (sizeof(ACPI_MPAM_RESOURCE_LOCATOR), 0, > + &MpamResourceNode->Locator, 0, InfoTable); > + if (ACPI_FAILURE (Status)) > + { > + return; > + } > + > + /* Get the number of functional dependencies of an RIS */ > + Status = AcpiDmDumpTable (sizeof(UINT32), 0, &MpamResourceNode->NumFunctionalDeps, 0, > + AcpiDmTableInfoMpam1Deps); > + if (ACPI_FAILURE (Status)) > + { > + return; > + } > + > + /* Subtable: MSC functional dependencies */ > + for (UINT32 funcDep = 0; funcDep < MpamResourceNode->NumFunctionalDeps; funcDep++) > + { > + Status = AcpiDmDumpTable (sizeof(ACPI_MPAM_FUNC_DEPS), 0, > + &MpamResourceNode->NumFunctionalDeps, 0, AcpiDmTableInfoMpam2); > + if (ACPI_FAILURE (Status)) > + { > + return; > + } > + } > + > + AcpiOsPrintf ("\n\n"); > + } > + > + } > + > + return; > +} > > /******************************************************************************* > * > @@ -1420,7 +1538,7 @@ AcpiDmDumpNfit ( > /* Has a variable number of 64-bit addresses at the end */ > > InfoTable = AcpiDmTableInfoNfit6; > - FieldOffset = sizeof (ACPI_NFIT_FLUSH_ADDRESS) - sizeof (UINT64); > + FieldOffset = sizeof (ACPI_NFIT_FLUSH_ADDRESS); > break; > > case ACPI_NFIT_TYPE_CAPABILITIES: /* ACPI 6.0A */ > @@ -1474,12 +1592,12 @@ AcpiDmDumpNfit ( > case ACPI_NFIT_TYPE_SMBIOS: > > Length = Subtable->Length - > - sizeof (ACPI_NFIT_SMBIOS) + sizeof (UINT8); > + sizeof (ACPI_NFIT_SMBIOS); > > if (Length) > { > Status = AcpiDmDumpTable (Table->Length, > - sizeof (ACPI_NFIT_SMBIOS) - sizeof (UINT8), > + sizeof (ACPI_NFIT_SMBIOS), > SmbiosInfo, > Length, AcpiDmTableInfoNfit3a); > if (ACPI_FAILURE (Status)) > @@ -2627,6 +2745,122 @@ AcpiDmDumpRgrt ( > } > > > +/******************************************************************************* > + * > + * FUNCTION: AcpiDmDumpRhct > + * > + * PARAMETERS: Table - A RHCT table > + * > + * RETURN: None > + * > + * DESCRIPTION: Format the contents of a RHCT. > + * > + ******************************************************************************/ > + > +void > +AcpiDmDumpRhct ( > + ACPI_TABLE_HEADER *Table) > +{ > + ACPI_STATUS Status; > + ACPI_RHCT_NODE_HEADER *Subtable; > + ACPI_RHCT_HART_INFO *RhctHartInfo; > + ACPI_RHCT_ISA_STRING *RhctIsaString; > + UINT32 Length = Table->Length; > + UINT8 SubtableOffset, IsaPadOffset; > + UINT32 Offset = sizeof (ACPI_TABLE_RHCT); > + UINT32 i; > + > + /* Main table */ > + > + Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoRhct); > + if (ACPI_FAILURE (Status)) > + { > + return; > + } > + > + /* Subtables */ > + > + while (Offset < Table->Length) > + { > + AcpiOsPrintf ("\n"); > + > + /* Common subtable header */ > + > + Subtable = ACPI_ADD_PTR (ACPI_RHCT_NODE_HEADER, Table, Offset); > + if (Subtable->Length < sizeof (ACPI_RHCT_NODE_HEADER)) > + { > + AcpiOsPrintf ("Invalid subtable length\n"); > + return; > + } > + Status = AcpiDmDumpTable (Table->Length, Offset, Subtable, > + Subtable->Length, AcpiDmTableInfoRhctNodeHdr); > + if (ACPI_FAILURE (Status)) > + { > + return; > + } > + > + Length = sizeof (ACPI_RHCT_NODE_HEADER); > + > + if (Subtable->Length < Length) > + { > + AcpiOsPrintf ("Invalid subtable length\n"); > + return; > + } > + SubtableOffset = (UINT8) Length; > + > + switch (Subtable->Type) > + { > + case ACPI_RHCT_NODE_TYPE_HART_INFO: > + Status = AcpiDmDumpTable (Table->Length, Offset + SubtableOffset, > + ACPI_ADD_PTR (ACPI_RHCT_HART_INFO, Subtable, SubtableOffset), > + sizeof (ACPI_RHCT_HART_INFO), AcpiDmTableInfoRhctHartInfo1); > + > + RhctHartInfo = ACPI_ADD_PTR (ACPI_RHCT_HART_INFO, Subtable, SubtableOffset); > + > + if ((UINT16)(Subtable->Length - SubtableOffset) < > + (UINT16)(RhctHartInfo->NumOffsets * 4)) > + { > + AcpiOsPrintf ("Invalid number of offsets\n"); > + return; > + } > + SubtableOffset += sizeof (ACPI_RHCT_HART_INFO); > + for (i = 0; i < RhctHartInfo->NumOffsets; i++) > + { > + Status = AcpiDmDumpTable (Table->Length, Offset + SubtableOffset, > + ACPI_ADD_PTR (UINT32, Subtable, SubtableOffset), > + 4, AcpiDmTableInfoRhctHartInfo2); > + if (ACPI_FAILURE (Status)) > + { > + return; > + } > + > + SubtableOffset += 4; > + } > + break; > + > + case ACPI_RHCT_NODE_TYPE_ISA_STRING: > + RhctIsaString = ACPI_ADD_PTR (ACPI_RHCT_ISA_STRING, Subtable, SubtableOffset); > + IsaPadOffset = (UINT8) (SubtableOffset + 2 + RhctIsaString->IsaLength); > + Status = AcpiDmDumpTable (Table->Length, Offset + SubtableOffset, > + RhctIsaString, RhctIsaString->IsaLength, AcpiDmTableInfoRhctIsa1); > + if (Subtable->Length > IsaPadOffset) > + { > + Status = AcpiDmDumpTable (Table->Length, Offset + SubtableOffset, > + ACPI_ADD_PTR (UINT8, Subtable, IsaPadOffset), > + (Subtable->Length - IsaPadOffset), AcpiDmTableInfoRhctIsaPad); > + } > + > + default: > + break; > + } > + > + /* Point to next subtable */ > + > + Offset += Subtable->Length; > + } > +} > + > + > /******************************************************************************* > * > * FUNCTION: AcpiDmDumpS3pt > diff --git a/src/acpica/source/common/dmtbdump3.c b/src/acpica/source/common/dmtbdump3.c > index cbcd9e7f..8ac16cee 100644 > --- a/src/acpica/source/common/dmtbdump3.c > +++ b/src/acpica/source/common/dmtbdump3.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/common/dmtbinfo.c b/src/acpica/source/common/dmtbinfo.c > index 40539969..717e7df9 100644 > --- a/src/acpica/source/common/dmtbinfo.c > +++ b/src/acpica/source/common/dmtbinfo.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/common/dmtbinfo1.c b/src/acpica/source/common/dmtbinfo1.c > index 9afed4d6..e4632085 100644 > --- a/src/acpica/source/common/dmtbinfo1.c > +++ b/src/acpica/source/common/dmtbinfo1.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -433,6 +433,57 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoAsf4[] = > }; > > > +/******************************************************************************* > + * > + * ASPT - AMD Secure Processor table (Signature "ASPT") > + * > + ******************************************************************************/ > + > +ACPI_DMTABLE_INFO AcpiDmTableInfoAspt[] = > +{ > + {ACPI_DMT_UINT32, ACPI_ASPT_OFFSET(NumEntries), "Number of Subtables", 0}, > + ACPI_DMT_TERMINATOR > +}; > + > +/* Common Subtable header (one per Subtable) */ > +ACPI_DMTABLE_INFO AcpiDmTableInfoAsptHdr[] = > +{ > + {ACPI_DMT_ASPT, ACPI_ASPTH_OFFSET(Type), "Type", 0}, > + {ACPI_DMT_UINT16, ACPI_ASPTH_OFFSET(Length), "Length", 0}, > + ACPI_DMT_TERMINATOR > +}; > + > +/* 0: ASPT Global Registers */ > +ACPI_DMTABLE_INFO AcpiDmTableInfoAspt0[] = > +{ > + {ACPI_DMT_UINT32, ACPI_ASPT0_OFFSET(Reserved), "Reserved", 0}, > + {ACPI_DMT_UINT64, ACPI_ASPT0_OFFSET(FeatureRegAddr), "Feature Register Address", 0}, > + {ACPI_DMT_UINT64, ACPI_ASPT0_OFFSET(IrqEnRegAddr), "Interrupt Enable Register Address", 0}, > + {ACPI_DMT_UINT64, ACPI_ASPT0_OFFSET(IrqStRegAddr), "Interrupt Status Register Address", 0}, > + ACPI_DMT_TERMINATOR > +}; > + > +/* 1: ASPT SEV Mailbox Registers */ > +ACPI_DMTABLE_INFO AcpiDmTableInfoAspt1[] = > +{ > + {ACPI_DMT_UINT8, ACPI_ASPT1_OFFSET(MboxIrqId), "Mailbox Interrupt ID", 0}, > + {ACPI_DMT_UINT24, ACPI_ASPT1_OFFSET(Reserved[0]), "Reserved", 0}, > + {ACPI_DMT_UINT64, ACPI_ASPT1_OFFSET(CmdRespRegAddr), "CmdResp Register Address", 0}, > + {ACPI_DMT_UINT64, ACPI_ASPT1_OFFSET(CmdBufLoRegAddr), "CmdBufAddr_Lo Register Address", 0}, > + {ACPI_DMT_UINT64, ACPI_ASPT1_OFFSET(CmdBufHiRegAddr), "CmdBufAddr_Hi Register Address", 0}, > + ACPI_DMT_TERMINATOR > +}; > + > +/* 2: ASPT ACPI Maiblox Registers */ > +ACPI_DMTABLE_INFO AcpiDmTableInfoAspt2[] = > +{ > + {ACPI_DMT_UINT32, ACPI_ASPT2_OFFSET(Reserved1), "Reserved", 0}, > + {ACPI_DMT_UINT64, ACPI_ASPT2_OFFSET(CmdRespRegAddr), "CmdResp Register Address", 0}, > + {ACPI_DMT_UINT64, ACPI_ASPT2_OFFSET(Reserved2[0]), "Reserved", 0}, > + {ACPI_DMT_UINT64, ACPI_ASPT2_OFFSET(Reserved2[1]), "Reserved", 0}, > + ACPI_DMT_TERMINATOR > +}; > + > /******************************************************************************* > * > * BDAT - BIOS Data ACPI Table > @@ -896,7 +947,7 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoDmar4[] = > { > {ACPI_DMT_UINT24, ACPI_DMAR4_OFFSET (Reserved[0]), "Reserved", 0}, > {ACPI_DMT_UINT8, ACPI_DMAR4_OFFSET (DeviceNumber), "Device Number", 0}, > - {ACPI_DMT_STRING, ACPI_DMAR4_OFFSET (DeviceName[0]), "Device Name", 0}, > + {ACPI_DMT_STRING, ACPI_DMAR4_OFFSET (u.DeviceName[0]), "Device Name", 0}, > ACPI_DMT_TERMINATOR > }; > > diff --git a/src/acpica/source/common/dmtbinfo2.c b/src/acpica/source/common/dmtbinfo2.c > index 3676be81..214206ad 100644 > --- a/src/acpica/source/common/dmtbinfo2.c > +++ b/src/acpica/source/common/dmtbinfo2.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -864,6 +864,7 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoMadt11[] = > {ACPI_DMT_UINT8, ACPI_MADT11_OFFSET (EfficiencyClass), "Efficiency Class", 0}, > {ACPI_DMT_UINT8, ACPI_MADT11_OFFSET (Reserved2[0]), "Reserved", 0}, > {ACPI_DMT_UINT16, ACPI_MADT11_OFFSET (SpeInterrupt), "SPE Overflow Interrupt", 0}, > + {ACPI_DMT_UINT16, ACPI_MADT11_OFFSET (TrbeInterrupt), "TRBE Interrupt", 0}, > ACPI_DMT_TERMINATOR > }; > > @@ -979,6 +980,133 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoMchi[] = > ACPI_DMT_TERMINATOR > }; > > +/******************************************************************************* > + * > + * MPAM - Memory System Resource Partitioning and Monitoring Tables > + * Arm's DEN0065 MPAM ACPI 2.0. December 2022. > + ******************************************************************************/ > + > +/* MPAM subtables */ > + > +/* 0: MPAM Resource Node Structure - A root MSC table. > + * Arm's DEN0065 MPAM ACPI 2.0. Table 4: MPAM MSC node body. > + */ > +ACPI_DMTABLE_INFO AcpiDmTableInfoMpam0[] = > +{ > + {ACPI_DMT_UINT16, ACPI_MPAM0_OFFSET (Length), "Length", 0}, > + {ACPI_DMT_UINT8, ACPI_MPAM0_OFFSET (InterfaceType), "Interface type", 0}, > + {ACPI_DMT_UINT8, ACPI_MPAM0_OFFSET (Reserved), "Reserved", 0}, > + {ACPI_DMT_UINT32, ACPI_MPAM0_OFFSET (Identifier), "Identifier", 0}, > + {ACPI_DMT_UINT64, ACPI_MPAM0_OFFSET (BaseAddress), "Base address", 0}, > + {ACPI_DMT_UINT32, ACPI_MPAM0_OFFSET (MMIOSize), "MMIO size", 0}, > + {ACPI_DMT_UINT32, ACPI_MPAM0_OFFSET (OverflowInterrupt), "Overflow interrupt", 0}, > + {ACPI_DMT_UINT32, ACPI_MPAM0_OFFSET (OverflowInterruptFlags), "Overflow interrupt flags", 0}, > + {ACPI_DMT_UINT32, ACPI_MPAM0_OFFSET (Reserved1), "Reserved1", 0}, > + {ACPI_DMT_UINT32, ACPI_MPAM0_OFFSET (OverflowInterruptAffinity), "Overflow interrupt affinity", 0}, > + {ACPI_DMT_UINT32, ACPI_MPAM0_OFFSET (ErrorInterrupt), "Error interrupt", 0}, > + {ACPI_DMT_UINT32, ACPI_MPAM0_OFFSET (ErrorInterruptFlags), "Error interrupt flags", 0}, > + {ACPI_DMT_UINT32, ACPI_MPAM0_OFFSET (Reserved2), "Reserved2", 0}, > + {ACPI_DMT_UINT32, ACPI_MPAM0_OFFSET (ErrorInterruptAffinity), "Error interrupt affinity", 0}, > + {ACPI_DMT_UINT32, ACPI_MPAM0_OFFSET (MaxNrdyUsec), "MAX_NRDY_USEC", 0}, > + {ACPI_DMT_NAME8, ACPI_MPAM0_OFFSET (HardwareIdLinkedDevice), "Hardware ID of linked device", 0}, > + {ACPI_DMT_UINT32, ACPI_MPAM0_OFFSET (InstanceIdLinkedDevice), "Instance ID of linked device", 0}, > + {ACPI_DMT_UINT32, ACPI_MPAM0_OFFSET (NumResouceNodes), "Number of resource nodes", 0}, > + > + ACPI_DMT_TERMINATOR > +}; > + > +/* 1: MPAM Resource (RIS) Node Structure - A subtable of MSC Nodes. > + * Arm's DEN0065 MPAM ACPI 2.0. Table 9: Resource node. > + */ > +ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1[] = > +{ > + {ACPI_DMT_UINT32, ACPI_MPAM1_OFFSET (Identifier), "Identifier", 0}, > + {ACPI_DMT_UINT8, ACPI_MPAM1_OFFSET (RISIndex), "RIS Index", 0}, > + {ACPI_DMT_UINT16, ACPI_MPAM1_OFFSET (Reserved1), "Reserved1", 0}, > + {ACPI_DMT_MPAM_LOCATOR, ACPI_MPAM1_OFFSET (LocatorType), "Locator type", 0}, > + ACPI_DMT_TERMINATOR > +}; > + > +/* An RIS field part of the RIS subtable */ > +ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1Deps[] = > +{ > + {ACPI_DMT_UINT32, 0, "Number of functional dependencies", 0}, > + ACPI_DMT_TERMINATOR > +}; > + > +/* 1A: MPAM Processor cache locator descriptor. A subtable of RIS. > + * Arm's DEN0065 MPAM ACPI 2.0. Table 13. > + */ > +ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1A[] = > +{ > + {ACPI_DMT_UINT64, ACPI_MPAM1A_OFFSET (CacheReference), "Cache reference", 0}, > + {ACPI_DMT_UINT32, ACPI_MPAM1A_OFFSET (Reserved), "Reserved", 0}, > +}; > + > +/* 1B: MPAM Memory locator descriptor. A subtable of RIS. > + * Arm's DEN0065 MPAM ACPI 2.0. Table 14. > + */ > +ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1B[] = > +{ > + {ACPI_DMT_UINT64, ACPI_MPAM1B_OFFSET (ProximityDomain), "Proximity domain", 0}, > + {ACPI_DMT_UINT32, ACPI_MPAM1B_OFFSET (Reserved), "Reserved", 0}, > +}; > + > +/* 1C: MPAM SMMU locator descriptor. A subtable of RIS. > + * Arm's DEN0065 MPAM ACPI 2.0. Table 15. > + */ > +ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1C[] = > +{ > + {ACPI_DMT_UINT64, ACPI_MPAM1C_OFFSET (SmmuInterface), "SMMU Interface", 0}, > + {ACPI_DMT_UINT32, ACPI_MPAM1C_OFFSET (Reserved), "Reserved", 0}, > +}; > + > +/* 1D: MPAM Memory-side cache locator descriptor. A subtable of RIS. > + * Arm's DEN0065 MPAM ACPI 2.0. Table 16. > + */ > +ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1D[] = > +{ > + {ACPI_DMT_UINT56, ACPI_MPAM1D_OFFSET (Level), "Reserved", 0}, > + {ACPI_DMT_UINT8, ACPI_MPAM1D_OFFSET (Level), "Level", 0}, > + {ACPI_DMT_UINT32, ACPI_MPAM1D_OFFSET (Reference), "Reference", 0}, > +}; > + > +/* 1E: MPAM ACPI device locator descriptor. A subtable of RIS. > + * Arm's DEN0065 MPAM ACPI 2.0. Table 17. > + */ > +ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1E[] = > +{ > + {ACPI_DMT_UINT64, ACPI_MPAM1E_OFFSET (AcpiHwId), "ACPI Hardware ID", 0}, > + {ACPI_DMT_UINT32, ACPI_MPAM1E_OFFSET (AcpiUniqueId), "ACPI Unique ID", 0}, > +}; > + > +/* 1F: MPAM Interconnect locator descriptor. A subtable of RIS. > + * Arm's DEN0065 MPAM ACPI 2.0. Table 18. > + */ > +ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1F[] = > +{ > + {ACPI_DMT_UINT64, ACPI_MPAM1F_OFFSET (InterConnectDescTblOff), "Interconnect descriptor table offset", 0}, > + {ACPI_DMT_UINT32, ACPI_MPAM1F_OFFSET (Reserved), "Reserved", 0}, > +}; > + > +/* 1G: MPAM Locator structure. > + * Arm's DEN0065 MPAM ACPI 2.0. Table 12. > + */ > +ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1G[] = > +{ > + {ACPI_DMT_UINT64, ACPI_MPAM1G_OFFSET (Descriptor1), "Descriptor1", 0}, > + {ACPI_DMT_UINT32, ACPI_MPAM1G_OFFSET (Descriptor2), "Descriptor2", 0}, > +}; > + > +/* 2: MPAM Functional dependency descriptor. > + * Arm's DEN0065 MPAM ACPI 2.0. Table 10. > + */ > +ACPI_DMTABLE_INFO AcpiDmTableInfoMpam2[] = > +{ > + {ACPI_DMT_UINT32, ACPI_MPAM2_OFFSET (Producer), "Producer", 0}, > + {ACPI_DMT_UINT32, ACPI_MPAM2_OFFSET (Reserved), "Reserved", 0}, > +}; > + > > /******************************************************************************* > * > @@ -1944,6 +2072,67 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoRgrt0[] = > }; > > > +/******************************************************************************* > + * > + * RHCT - RISC-V Hart Capabilities Table > + * > + ******************************************************************************/ > + > +ACPI_DMTABLE_INFO AcpiDmTableInfoRhct[] = > +{ > + {ACPI_DMT_UINT32, ACPI_RHCT_OFFSET (Reserved), "Reserved", 0}, > + {ACPI_DMT_UINT64, ACPI_RHCT_OFFSET (TimeBaseFreq), "Timer Base Frequency", 0}, > + {ACPI_DMT_UINT32, ACPI_RHCT_OFFSET (NodeCount), "Number of nodes", 0}, > + {ACPI_DMT_UINT32, ACPI_RHCT_OFFSET (NodeOffset), "Offset to the node array", 0}, > + ACPI_DMT_TERMINATOR > +}; > + > + > +/* Common Subtable header (one per Subtable) */ > + > +ACPI_DMTABLE_INFO AcpiDmTableInfoRhctNodeHdr[] = > +{ > + {ACPI_DMT_UINT16, ACPI_RHCTH_OFFSET (Type), "Subtable Type", 0}, > + {ACPI_DMT_UINT16, ACPI_RHCTH_OFFSET (Length), "Length", 0}, > + {ACPI_DMT_UINT16, ACPI_RHCTH_OFFSET (Revision), "Revision", 0}, > + ACPI_DMT_TERMINATOR > +}; > + > +/* 0: ISA string type */ > + > +ACPI_DMTABLE_INFO AcpiDmTableInfoRhctIsa1[] = > +{ > + {ACPI_DMT_UINT16, ACPI_RHCT0_OFFSET (IsaLength), "ISA string length", 0}, > + {ACPI_DMT_STRING, ACPI_RHCT0_OFFSET (Isa[0]), "ISA string", 0}, > + ACPI_DMT_TERMINATOR > +}; > + > + > +/* Optional padding field */ > + > +ACPI_DMTABLE_INFO AcpiDmTableInfoRhctIsaPad[] = > +{ > + {ACPI_DMT_RAW_BUFFER, 0, "Optional Padding", DT_OPTIONAL}, > + ACPI_DMT_TERMINATOR > +}; > + > +/* 0xFFFF: Hart Info type */ > + > +ACPI_DMTABLE_INFO AcpiDmTableInfoRhctHartInfo1[] = > +{ > + {ACPI_DMT_UINT16, ACPI_RHCTFFFF_OFFSET (NumOffsets), "Number of offsets", 0}, > + {ACPI_DMT_UINT32, ACPI_RHCTFFFF_OFFSET (Uid), "Processor UID", 0}, > + ACPI_DMT_TERMINATOR > +}; > + > + > +ACPI_DMTABLE_INFO AcpiDmTableInfoRhctHartInfo2[] = > +{ > + {ACPI_DMT_UINT32, 0, "Nodes", DT_OPTIONAL}, > + ACPI_DMT_TERMINATOR > +}; > + > + > /******************************************************************************* > * > * S3PT - S3 Performance Table > diff --git a/src/acpica/source/common/dmtbinfo3.c b/src/acpica/source/common/dmtbinfo3.c > index b8ddb7aa..280baf39 100644 > --- a/src/acpica/source/common/dmtbinfo3.c > +++ b/src/acpica/source/common/dmtbinfo3.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/common/getopt.c b/src/acpica/source/common/getopt.c > index 772b66c0..a2658efc 100644 > --- a/src/acpica/source/common/getopt.c > +++ b/src/acpica/source/common/getopt.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslallocate.c b/src/acpica/source/compiler/aslallocate.c > index d697d059..d86b5f39 100644 > --- a/src/acpica/source/compiler/aslallocate.c > +++ b/src/acpica/source/compiler/aslallocate.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -295,9 +295,13 @@ void > UtFreeLineBuffers ( > void) > { > - > free (AslGbl_CurrentLineBuffer); > + > free (AslGbl_MainTokenBuffer); > + > free (AslGbl_MacroTokenBuffer); > + > + free (AslGbl_MacroTokenReplaceBuffer); > + > free (AslGbl_ExpressionTokenBuffer); > } > diff --git a/src/acpica/source/compiler/aslanalyze.c b/src/acpica/source/compiler/aslanalyze.c > index 9db7d4fb..1941a465 100644 > --- a/src/acpica/source/compiler/aslanalyze.c > +++ b/src/acpica/source/compiler/aslanalyze.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslascii.c b/src/acpica/source/compiler/aslascii.c > index 6c0e62c4..b6b27271 100644 > --- a/src/acpica/source/compiler/aslascii.c > +++ b/src/acpica/source/compiler/aslascii.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslbtypes.c b/src/acpica/source/compiler/aslbtypes.c > index f7b3fb1b..e2f72d88 100644 > --- a/src/acpica/source/compiler/aslbtypes.c > +++ b/src/acpica/source/compiler/aslbtypes.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -501,10 +501,11 @@ AnGetBtype ( > ACPI_PARSE_OBJECT *ReferencedNode; > UINT32 ThisNodeBtype = 0; > > + ACPI_FUNCTION_NAME (AnGetBtype); > > if (!Op) > { > - AcpiOsPrintf ("Null Op in AnGetBtype\n"); > + AcpiOsPrintf ("Null Op in %s\n", ACPI_GET_FUNCTION_NAME); > return (ACPI_UINT32_MAX); > } > > diff --git a/src/acpica/source/compiler/aslcache.c b/src/acpica/source/compiler/aslcache.c > index 9cc707e2..11ba5f42 100644 > --- a/src/acpica/source/compiler/aslcache.c > +++ b/src/acpica/source/compiler/aslcache.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslcodegen.c b/src/acpica/source/compiler/aslcodegen.c > index a0c67424..4013398f 100644 > --- a/src/acpica/source/compiler/aslcodegen.c > +++ b/src/acpica/source/compiler/aslcodegen.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslcompile.c b/src/acpica/source/compiler/aslcompile.c > index f97cd9d8..4217182c 100644 > --- a/src/acpica/source/compiler/aslcompile.c > +++ b/src/acpica/source/compiler/aslcompile.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslcompiler.h b/src/acpica/source/compiler/aslcompiler.h > index d52f60f2..ca20de45 100644 > --- a/src/acpica/source/compiler/aslcompiler.h > +++ b/src/acpica/source/compiler/aslcompiler.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -1566,6 +1566,9 @@ ASL_RESOURCE_NODE * > RsDoPinGroupConfigDescriptor ( > ASL_RESOURCE_INFO *Info); > > +ASL_RESOURCE_NODE * > +RsDoClockInputDescriptor ( > + ASL_RESOURCE_INFO *Info); > > /* > * aslrestype2d - DWord address descriptors > diff --git a/src/acpica/source/compiler/aslcompiler.l b/src/acpica/source/compiler/aslcompiler.l > index 881096ad..fbc38a61 100644 > --- a/src/acpica/source/compiler/aslcompiler.l > +++ b/src/acpica/source/compiler/aslcompiler.l > @@ -9,7 +9,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -461,6 +461,7 @@ NamePathTail [.]{NameSeg} > "PinGroup" { count (1); return (PARSEOP_PINGROUP); } > "PinGroupConfig" { count (1); return (PARSEOP_PINGROUPCONFIG); } > "PinGroupFunction" { count (1); return (PARSEOP_PINGROUPFUNCTION); } > +"ClockInput" { count (1); return (PARSEOP_CLOCKINPUT); } > "QWordIO" { count (1); return (PARSEOP_QWORDIO); } > "QWordMemory" { count (1); return (PARSEOP_QWORDMEMORY); } > "QWordSpace" { count (1); return (PARSEOP_QWORDSPACE); } > @@ -665,6 +666,17 @@ NamePathTail [.]{NameSeg} > "PullDown" { count (0); return (PARSEOP_PIN_PULLDOWN); } > "PullNone" { count (0); return (PARSEOP_PIN_NOPULL); } > > + /* ClockScaleKeyword: Resource Descriptors (ACPI 6.5) */ > + > +"Hz" { count (0); return (PARSEOP_CLOCK_HZ); } > +"KHz" { count (0); return (PARSEOP_CLOCK_KHZ); } > +"MHz" { count (0); return (PARSEOP_CLOCK_MHZ); } > + > + /* ClockModeKeyword: Resource Descriptors (ACPI 6.5) */ > + > +"Fixed" { count (0); return (PARSEOP_CLOCK_FIXED); } > +"Variable" { count (0); return (PARSEOP_CLOCK_VARIABLE); } > + > /* PolarityKeyword: Resource Descriptors (ACPI 5.0) */ > > "PolarityLow" { count (0); return (PARSEOP_DEVICEPOLARITY_LOW); } > diff --git a/src/acpica/source/compiler/aslcstyle.y b/src/acpica/source/compiler/aslcstyle.y > index b4e9065f..d249b51e 100644 > --- a/src/acpica/source/compiler/aslcstyle.y > +++ b/src/acpica/source/compiler/aslcstyle.y > @@ -9,7 +9,7 @@ NoEcho(' > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/asldebug.c b/src/acpica/source/compiler/asldebug.c > index 5ac6a4ed..928bb206 100644 > --- a/src/acpica/source/compiler/asldebug.c > +++ b/src/acpica/source/compiler/asldebug.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/asldefine.h b/src/acpica/source/compiler/asldefine.h > index 12b2899e..fe11d451 100644 > --- a/src/acpica/source/compiler/asldefine.h > +++ b/src/acpica/source/compiler/asldefine.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslerror.c b/src/acpica/source/compiler/aslerror.c > index 3a61bc6e..54d247e2 100644 > --- a/src/acpica/source/compiler/aslerror.c > +++ b/src/acpica/source/compiler/aslerror.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslexternal.c b/src/acpica/source/compiler/aslexternal.c > index a7d2c9c3..243145ed 100644 > --- a/src/acpica/source/compiler/aslexternal.c > +++ b/src/acpica/source/compiler/aslexternal.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslfileio.c b/src/acpica/source/compiler/aslfileio.c > index 88b9def9..7920de7f 100644 > --- a/src/acpica/source/compiler/aslfileio.c > +++ b/src/acpica/source/compiler/aslfileio.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslfiles.c b/src/acpica/source/compiler/aslfiles.c > index 2479b404..51de2d1e 100644 > --- a/src/acpica/source/compiler/aslfiles.c > +++ b/src/acpica/source/compiler/aslfiles.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslfold.c b/src/acpica/source/compiler/aslfold.c > index 316890c4..f03d19c5 100644 > --- a/src/acpica/source/compiler/aslfold.c > +++ b/src/acpica/source/compiler/aslfold.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslglobal.h b/src/acpica/source/compiler/aslglobal.h > index ff00b92e..438d0c5b 100644 > --- a/src/acpica/source/compiler/aslglobal.h > +++ b/src/acpica/source/compiler/aslglobal.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslhelp.c b/src/acpica/source/compiler/aslhelp.c > index 1cdbf8a7..137736da 100644 > --- a/src/acpica/source/compiler/aslhelp.c > +++ b/src/acpica/source/compiler/aslhelp.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslhelpers.y b/src/acpica/source/compiler/aslhelpers.y > index 2764bf65..37cc5844 100644 > --- a/src/acpica/source/compiler/aslhelpers.y > +++ b/src/acpica/source/compiler/aslhelpers.y > @@ -9,7 +9,7 @@ NoEcho(' > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslhex.c b/src/acpica/source/compiler/aslhex.c > index a6e80fdf..4a711823 100644 > --- a/src/acpica/source/compiler/aslhex.c > +++ b/src/acpica/source/compiler/aslhex.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslkeywords.y b/src/acpica/source/compiler/aslkeywords.y > index 661cfc93..d559fd0f 100644 > --- a/src/acpica/source/compiler/aslkeywords.y > +++ b/src/acpica/source/compiler/aslkeywords.y > @@ -9,7 +9,7 @@ NoEcho(' > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -462,3 +462,14 @@ XferTypeKeyword > | PARSEOP_XFERTYPE_8_16 {$$ = TrCreateLeafOp (PARSEOP_XFERTYPE_8_16);} > | PARSEOP_XFERTYPE_16 {$$ = TrCreateLeafOp (PARSEOP_XFERTYPE_16);} > ; > + > +ClockScaleKeyword > + : PARSEOP_CLOCK_HZ {$$ = TrCreateLeafOp (PARSEOP_CLOCK_HZ);} > + | PARSEOP_CLOCK_KHZ {$$ = TrCreateLeafOp (PARSEOP_CLOCK_KHZ);} > + | PARSEOP_CLOCK_MHZ {$$ = TrCreateLeafOp (PARSEOP_CLOCK_MHZ);} > + ; > + > +ClockModeKeyword > + : PARSEOP_CLOCK_FIXED {$$ = TrCreateLeafOp (PARSEOP_CLOCK_FIXED);} > + | PARSEOP_CLOCK_VARIABLE {$$ = TrCreateLeafOp (PARSEOP_CLOCK_VARIABLE);} > + ; > diff --git a/src/acpica/source/compiler/asllength.c b/src/acpica/source/compiler/asllength.c > index b1c06246..f5544353 100644 > --- a/src/acpica/source/compiler/asllength.c > +++ b/src/acpica/source/compiler/asllength.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/asllisting.c b/src/acpica/source/compiler/asllisting.c > index 290d5062..1dd3b39b 100644 > --- a/src/acpica/source/compiler/asllisting.c > +++ b/src/acpica/source/compiler/asllisting.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/asllistsup.c b/src/acpica/source/compiler/asllistsup.c > index b03560d3..44a87f0a 100644 > --- a/src/acpica/source/compiler/asllistsup.c > +++ b/src/acpica/source/compiler/asllistsup.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslload.c b/src/acpica/source/compiler/aslload.c > index 3f827d0b..3e35d6aa 100644 > --- a/src/acpica/source/compiler/aslload.c > +++ b/src/acpica/source/compiler/aslload.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/asllookup.c b/src/acpica/source/compiler/asllookup.c > index 44bf9a38..ae0729bb 100644 > --- a/src/acpica/source/compiler/asllookup.c > +++ b/src/acpica/source/compiler/asllookup.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslmain.c b/src/acpica/source/compiler/aslmain.c > index 3c2ce58e..5b8f54e2 100644 > --- a/src/acpica/source/compiler/aslmain.c > +++ b/src/acpica/source/compiler/aslmain.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslmap.c b/src/acpica/source/compiler/aslmap.c > index 782d0d96..71fb5f03 100644 > --- a/src/acpica/source/compiler/aslmap.c > +++ b/src/acpica/source/compiler/aslmap.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -462,6 +462,12 @@ const ASL_MAPPING_ENTRY AslKeywordMapping [] = > /* PIN_PULLDEFAULT */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), > /* PIN_PULLDOWN */ OP_TABLE_ENTRY (AML_BYTE_OP, 2, 0, 0), > /* PIN_PULLUP */ OP_TABLE_ENTRY (AML_BYTE_OP, 1, 0, 0), > +/* CLOCKINPUT */ OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP, 0, 0, 0), > +/* CLOCK_HZ */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), > +/* CLOCK_KHZ */ OP_TABLE_ENTRY (AML_BYTE_OP, 1, 0, 0), > +/* CLOCK_MHZ */ OP_TABLE_ENTRY (AML_BYTE_OP, 2, 0, 0), > +/* CLOCK_FIXED */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), > +/* CLOCK_VARIABLE */ OP_TABLE_ENTRY (AML_BYTE_OP, 1, 0, 0), > /* POWERRESOURCE */ OP_TABLE_ENTRY (AML_POWER_RESOURCE_OP, 0, OP_AML_PACKAGE, 0), > /* PROCESSOR */ OP_TABLE_ENTRY (AML_PROCESSOR_OP, 0, OP_AML_PACKAGE, 0), > /* QWORDCONST */ OP_TABLE_ENTRY (AML_RAW_DATA_QWORD, 0, 0, ACPI_BTYPE_INTEGER), > diff --git a/src/acpica/source/compiler/aslmapenter.c b/src/acpica/source/compiler/aslmapenter.c > index 5dae3e9e..b167fb4e 100644 > --- a/src/acpica/source/compiler/aslmapenter.c > +++ b/src/acpica/source/compiler/aslmapenter.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslmapoutput.c b/src/acpica/source/compiler/aslmapoutput.c > index 95146ea6..74540f05 100644 > --- a/src/acpica/source/compiler/aslmapoutput.c > +++ b/src/acpica/source/compiler/aslmapoutput.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslmaputils.c b/src/acpica/source/compiler/aslmaputils.c > index 0b2c7e26..48b67600 100644 > --- a/src/acpica/source/compiler/aslmaputils.c > +++ b/src/acpica/source/compiler/aslmaputils.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslmessages.c b/src/acpica/source/compiler/aslmessages.c > index 990e376f..fe697c85 100644 > --- a/src/acpica/source/compiler/aslmessages.c > +++ b/src/acpica/source/compiler/aslmessages.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslmessages.h b/src/acpica/source/compiler/aslmessages.h > index 197e9e22..3346c5e0 100644 > --- a/src/acpica/source/compiler/aslmessages.h > +++ b/src/acpica/source/compiler/aslmessages.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslmethod.c b/src/acpica/source/compiler/aslmethod.c > index 517ba778..f092a296 100644 > --- a/src/acpica/source/compiler/aslmethod.c > +++ b/src/acpica/source/compiler/aslmethod.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslnamesp.c b/src/acpica/source/compiler/aslnamesp.c > index 60c488db..a3578d3e 100644 > --- a/src/acpica/source/compiler/aslnamesp.c > +++ b/src/acpica/source/compiler/aslnamesp.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/asloffset.c b/src/acpica/source/compiler/asloffset.c > index b0954c70..874e6e59 100644 > --- a/src/acpica/source/compiler/asloffset.c > +++ b/src/acpica/source/compiler/asloffset.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslopcodes.c b/src/acpica/source/compiler/aslopcodes.c > index e07910b1..f6c993e6 100644 > --- a/src/acpica/source/compiler/aslopcodes.c > +++ b/src/acpica/source/compiler/aslopcodes.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/asloperands.c b/src/acpica/source/compiler/asloperands.c > index 9330fdfb..2c3c6fa9 100644 > --- a/src/acpica/source/compiler/asloperands.c > +++ b/src/acpica/source/compiler/asloperands.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslopt.c b/src/acpica/source/compiler/aslopt.c > index 916aebfb..c81e27b2 100644 > --- a/src/acpica/source/compiler/aslopt.c > +++ b/src/acpica/source/compiler/aslopt.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/asloptions.c b/src/acpica/source/compiler/asloptions.c > index 37484f79..ca894a3b 100644 > --- a/src/acpica/source/compiler/asloptions.c > +++ b/src/acpica/source/compiler/asloptions.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslparseop.c b/src/acpica/source/compiler/aslparseop.c > index ab81ac28..38169fee 100644 > --- a/src/acpica/source/compiler/aslparseop.c > +++ b/src/acpica/source/compiler/aslparseop.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -817,6 +817,8 @@ TrAllocateOp ( > ACPI_PARSE_OBJECT *Op; > ACPI_PARSE_OBJECT *LatestOp; > > + ACPI_FUNCTION_NAME (TrAllocateOp); > + > > Op = UtParseOpCacheCalloc (); > > @@ -861,7 +863,7 @@ TrAllocateOp ( > } > > AslGbl_CommentState.LatestParseOp = Op; > - CvDbgPrint ("TrAllocateOp=Set latest parse op to this op.\n"); > + CvDbgPrint ("%s=Set latest parse op to this op.\n", ACPI_GET_FUNCTION_NAME); > CvDbgPrint (" Op->Asl.ParseOpName = %s\n", > AslGbl_CommentState.LatestParseOp->Asl.ParseOpName); > CvDbgPrint (" Op->Asl.ParseOpcode = 0x%x\n", ParseOpcode); > diff --git a/src/acpica/source/compiler/aslparser.y b/src/acpica/source/compiler/aslparser.y > index dff15619..3e1c661f 100644 > --- a/src/acpica/source/compiler/aslparser.y > +++ b/src/acpica/source/compiler/aslparser.y > @@ -9,7 +9,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -208,7 +208,7 @@ AslLocalAllocate ( > * These shift/reduce conflicts are expected. There should be zero > * reduce/reduce conflicts. > */ > -%expect 127 > +%expect 128 > > /*! [Begin] no source code translation */ > > diff --git a/src/acpica/source/compiler/aslpld.c b/src/acpica/source/compiler/aslpld.c > index 9faa8c26..eedfaa24 100644 > --- a/src/acpica/source/compiler/aslpld.c > +++ b/src/acpica/source/compiler/aslpld.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslpredef.c b/src/acpica/source/compiler/aslpredef.c > index 2804e12d..92532997 100644 > --- a/src/acpica/source/compiler/aslpredef.c > +++ b/src/acpica/source/compiler/aslpredef.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslprepkg.c b/src/acpica/source/compiler/aslprepkg.c > index f562dbe6..21fe2db7 100644 > --- a/src/acpica/source/compiler/aslprepkg.c > +++ b/src/acpica/source/compiler/aslprepkg.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslprimaries.y b/src/acpica/source/compiler/aslprimaries.y > index 69565def..f7059716 100644 > --- a/src/acpica/source/compiler/aslprimaries.y > +++ b/src/acpica/source/compiler/aslprimaries.y > @@ -11,7 +11,7 @@ NoEcho(' > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslprintf.c b/src/acpica/source/compiler/aslprintf.c > index 3f270fec..b2da0035 100644 > --- a/src/acpica/source/compiler/aslprintf.c > +++ b/src/acpica/source/compiler/aslprintf.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslprune.c b/src/acpica/source/compiler/aslprune.c > index 4626a1ee..dc1162c4 100644 > --- a/src/acpica/source/compiler/aslprune.c > +++ b/src/acpica/source/compiler/aslprune.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslresource.c b/src/acpica/source/compiler/aslresource.c > index 104a4835..4d20c5e3 100644 > --- a/src/acpica/source/compiler/aslresource.c > +++ b/src/acpica/source/compiler/aslresource.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -762,6 +762,12 @@ RsDoOneResourceDescriptor ( > > switch (Info->DescriptorTypeOp->Asl.ParseOpcode) > { > + > + case PARSEOP_CLOCKINPUT: > + > + Rnode = RsDoClockInputDescriptor(Info); > + break; > + > case PARSEOP_DMA: > > Rnode = RsDoDmaDescriptor (Info); > diff --git a/src/acpica/source/compiler/aslresources.y b/src/acpica/source/compiler/aslresources.y > index a5752b01..52bff9c4 100644 > --- a/src/acpica/source/compiler/aslresources.y > +++ b/src/acpica/source/compiler/aslresources.y > @@ -11,7 +11,7 @@ NoEcho(' > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -214,6 +214,7 @@ ResourceMacroTerm > | Memory32Term {} > | PinConfigTerm {} > | PinFunctionTerm {} > + | ClockInputTerm {} > | PinGroupTerm {} > | PinGroupConfigTerm {} > | PinGroupFunctionTerm {} > @@ -666,6 +667,21 @@ PinFunctionTerm > error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} > ; > > +ClockInputTerm > + : PARSEOP_CLOCKINPUT > + PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_CLOCKINPUT);} > + DWordConstExpr /* 04: FrequencyNumerator */ > + ',' WordConstExpr /* 06: FrequencyDivisor */ > + ',' ClockScaleKeyword /* 08: Scale */ > + ',' ClockModeKeyword /* 10: Mode*/ > + OptionalStringData /* 11: ResourceSource */ > + OptionalByteConstExpr /* 12: ResourceSourceIndex */ > + PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,6,$4,$6,$8,$10,$11,$12);} > + | PARSEOP_CLOCKINPUT > + PARSEOP_OPEN_PAREN > + error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} > + ; > + > PinGroupTerm > : PARSEOP_PINGROUP > PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_PINGROUP);} > diff --git a/src/acpica/source/compiler/aslrestype1.c b/src/acpica/source/compiler/aslrestype1.c > index a6625c08..53fa8621 100644 > --- a/src/acpica/source/compiler/aslrestype1.c > +++ b/src/acpica/source/compiler/aslrestype1.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslrestype1i.c b/src/acpica/source/compiler/aslrestype1i.c > index 84d5b653..d352e65f 100644 > --- a/src/acpica/source/compiler/aslrestype1i.c > +++ b/src/acpica/source/compiler/aslrestype1i.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslrestype2.c b/src/acpica/source/compiler/aslrestype2.c > index 387e85c8..bf6f77ed 100644 > --- a/src/acpica/source/compiler/aslrestype2.c > +++ b/src/acpica/source/compiler/aslrestype2.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -337,7 +337,7 @@ RsDoInterruptDescriptor ( > Descriptor->ExtendedIrq.InterruptCount = 0; > > Rover = ACPI_CAST_PTR (AML_RESOURCE, > - (&(Descriptor->ExtendedIrq.Interrupts[0]))); > + (&(Descriptor->ExtendedIrq.u.Interrupts[0]))); > > /* Process all child initialization nodes */ > > @@ -466,7 +466,7 @@ RsDoInterruptDescriptor ( > > RsCreateDwordField (InitializerOp, ACPI_RESTAG_INTERRUPT, > CurrentByteOffset + > - ASL_RESDESC_OFFSET (ExtendedIrq.Interrupts[0])); > + ASL_RESDESC_OFFSET (ExtendedIrq.u.Interrupts[0])); > } > } > > @@ -494,7 +494,7 @@ RsDoInterruptDescriptor ( > } > > Rnode->BufferLength = > - (ASL_RESDESC_OFFSET (ExtendedIrq.Interrupts[0]) - > + (ASL_RESDESC_OFFSET (ExtendedIrq.u.Interrupts[0]) - > ASL_RESDESC_OFFSET (ExtendedIrq.DescriptorType)) > + OptionIndex + StringLength; > return (Rnode); > diff --git a/src/acpica/source/compiler/aslrestype2d.c b/src/acpica/source/compiler/aslrestype2d.c > index 6b597e25..45013c2c 100644 > --- a/src/acpica/source/compiler/aslrestype2d.c > +++ b/src/acpica/source/compiler/aslrestype2d.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslrestype2e.c b/src/acpica/source/compiler/aslrestype2e.c > index 414b2d23..c557f402 100644 > --- a/src/acpica/source/compiler/aslrestype2e.c > +++ b/src/acpica/source/compiler/aslrestype2e.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslrestype2q.c b/src/acpica/source/compiler/aslrestype2q.c > index ce796597..62866594 100644 > --- a/src/acpica/source/compiler/aslrestype2q.c > +++ b/src/acpica/source/compiler/aslrestype2q.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslrestype2s.c b/src/acpica/source/compiler/aslrestype2s.c > index ea832da3..05480796 100644 > --- a/src/acpica/source/compiler/aslrestype2s.c > +++ b/src/acpica/source/compiler/aslrestype2s.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -1550,7 +1550,6 @@ RsDoPinFunctionDescriptor ( > UINT16 PinListLength; > UINT16 DescriptorSize; > UINT32 CurrentByteOffset; > - UINT32 PinCount = 0; > UINT32 i; > > InitializerOp = Info->DescriptorTypeOp->Asl.Child; > @@ -1668,15 +1667,10 @@ RsDoPinFunctionDescriptor ( > default: > /* > * PINs come through here, repeatedly. Each PIN must be a WORD. > - * NOTE: there is no "length" field for this, so from ACPI spec: > - * The number of pins in the table can be calculated from: > - * PinCount = (Resource Source Name Offset - Pin Table Offset) / 2 > - * (implies resource source must immediately follow the pin list.) > * Name: _PIN > */ > *PinList = (UINT16) InitializerOp->Asl.Value.Integer; > PinList++; > - PinCount++; > > /* Case 8: First pin number in list */ > > @@ -1708,6 +1702,115 @@ RsDoPinFunctionDescriptor ( > return (Rnode); > } > > +/******************************************************************************* > + * > + * FUNCTION: RsDoClockInputDescriptor > + * > + * PARAMETERS: Info - Parse Op and resource template offset > + * > + * RETURN: Completed resource node > + * > + * DESCRIPTION: Construct a long "ClockInput" descriptor > + * > + ******************************************************************************/ > + > +ASL_RESOURCE_NODE * > +RsDoClockInputDescriptor ( > + ASL_RESOURCE_INFO *Info) > +{ > + AML_RESOURCE *Descriptor; > + ACPI_PARSE_OBJECT *InitializerOp; > + ASL_RESOURCE_NODE *Rnode; > + char *ResourceSourceString = NULL; > + UINT8 *ResourceSourceIndex = NULL; > + UINT16 ResSourceLength; > + UINT16 DescriptorSize; > + UINT32 i; > + UINT32 CurrentByteOffset; > + > + InitializerOp = Info->DescriptorTypeOp->Asl.Child; > + CurrentByteOffset = Info->CurrentByteOffset; > + > + /* > + * Calculate lengths for fields that have variable length: > + * 1) Resource Source string > + */ > + ResSourceLength = RsGetStringDataLength (InitializerOp); > + > + DescriptorSize = ACPI_AML_SIZE_LARGE (AML_RESOURCE_CLOCK_INPUT) + ResSourceLength + 1; > + > + /* Allocate the local resource node and initialize */ > + > + Rnode = RsAllocateResourceNode (DescriptorSize + > + sizeof (AML_RESOURCE_LARGE_HEADER)); > + > + Descriptor = Rnode->Buffer; > + Descriptor->ClockInput.ResourceLength = DescriptorSize; > + Descriptor->ClockInput.DescriptorType = ACPI_RESOURCE_NAME_CLOCK_INPUT; > + Descriptor->ClockInput.RevisionId = AML_RESOURCE_CLOCK_INPUT_REVISION; > + > + /* Build pointers to optional areas */ > + > + if (ResSourceLength){ > + ResourceSourceIndex = ACPI_ADD_PTR (UINT8, Descriptor, sizeof (AML_RESOURCE_CLOCK_INPUT)); > + ResourceSourceString = ACPI_ADD_PTR (char, Descriptor, sizeof (AML_RESOURCE_CLOCK_INPUT) + 1); > + } > + > + /* Process all child initialization nodes */ > + > + for (i = 0; InitializerOp; i++) > + { > + switch (i) > + { > + case 0: > + Descriptor->ClockInput.FrequencyNumerator = (UINT32)InitializerOp->Asl.Value.Integer; > + RsCreateDwordField (InitializerOp, ACPI_RESTAG_FQN, > + CurrentByteOffset + ASL_RESDESC_OFFSET (ClockInput.FrequencyNumerator)); > + > + break; > + > + case 1: > + Descriptor->ClockInput.FrequencyDivisor = (UINT16)InitializerOp->Asl.Value.Integer; > + RsCreateWordField (InitializerOp, ACPI_RESTAG_FQD, > + CurrentByteOffset + ASL_RESDESC_OFFSET (ClockInput.FrequencyDivisor)); > + > + break; > + > + case 2: > + RsSetFlagBits16 (&Descriptor->ClockInput.Flags, InitializerOp, 1, 0); > + break; > + > + case 3: > + RsSetFlagBits16 (&Descriptor->ClockInput.Flags, InitializerOp, 0, 0); > + break; > + > + case 4: /* ResSource String [Optional Field] */ > + > + if (ResourceSourceString) > + { > + /* Copy string to the descriptor */ > + > + strcpy (ResourceSourceString, InitializerOp->Asl.Value.String); > + } > + break; > + > + case 5: /* ResSource Index [Optional Field] */ > + if (ResourceSourceIndex) > + { > + *ResourceSourceIndex = (UINT8) InitializerOp->Asl.Value.Integer; > + } > + break; > + > + default: > + break; > + } > + > + InitializerOp = RsCompleteNodeAndGetNext (InitializerOp); > + } > + > + return (Rnode); > +} > + > > /******************************************************************************* > * > @@ -1736,7 +1839,6 @@ RsDoPinConfigDescriptor ( > UINT16 PinListLength; > UINT16 DescriptorSize; > UINT32 CurrentByteOffset; > - UINT32 PinCount = 0; > UINT32 i; > > InitializerOp = Info->DescriptorTypeOp->Asl.Child; > @@ -1868,15 +1970,10 @@ RsDoPinConfigDescriptor ( > default: > /* > * PINs come through here, repeatedly. Each PIN must be a WORD. > - * NOTE: there is no "length" field for this, so from ACPI spec: > - * The number of pins in the table can be calculated from: > - * PinCount = (Resource Source Name Offset - Pin Table Offset) / 2 > - * (implies resource source must immediately follow the pin list.) > * Name: _PIN > */ > *PinList = (UINT16) InitializerOp->Asl.Value.Integer; > PinList++; > - PinCount++; > > /* Case 8: First pin number in list */ > > @@ -1936,7 +2033,6 @@ RsDoPinGroupDescriptor ( > UINT16 PinListLength; > UINT16 DescriptorSize; > UINT32 CurrentByteOffset; > - UINT32 PinCount = 0; > UINT32 i; > > InitializerOp = Info->DescriptorTypeOp->Asl.Child; > @@ -2022,15 +2118,10 @@ RsDoPinGroupDescriptor ( > default: > /* > * PINs come through here, repeatedly. Each PIN must be a WORD. > - * NOTE: there is no "length" field for this, so from ACPI spec: > - * The number of pins in the table can be calculated from: > - * PinCount = (Resource Source Name Offset - Pin Table Offset) / 2 > - * (implies resource source must immediately follow the pin list.) > * Name: _PIN > */ > *PinList = (UINT16) InitializerOp->Asl.Value.Integer; > PinList++; > - PinCount++; > > /* Case 3: First pin number in list */ > > diff --git a/src/acpica/source/compiler/aslrestype2w.c b/src/acpica/source/compiler/aslrestype2w.c > index a758e058..9908494d 100644 > --- a/src/acpica/source/compiler/aslrestype2w.c > +++ b/src/acpica/source/compiler/aslrestype2w.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslrules.y b/src/acpica/source/compiler/aslrules.y > index 79aa2210..2793749b 100644 > --- a/src/acpica/source/compiler/aslrules.y > +++ b/src/acpica/source/compiler/aslrules.y > @@ -11,7 +11,7 @@ NoEcho(' > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslstartup.c b/src/acpica/source/compiler/aslstartup.c > index 9542a79d..8b4e5c7c 100644 > --- a/src/acpica/source/compiler/aslstartup.c > +++ b/src/acpica/source/compiler/aslstartup.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslstubs.c b/src/acpica/source/compiler/aslstubs.c > index 0e6cd56f..e90115b8 100644 > --- a/src/acpica/source/compiler/aslstubs.c > +++ b/src/acpica/source/compiler/aslstubs.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslsupport.l b/src/acpica/source/compiler/aslsupport.l > index 0daec602..8d589a94 100644 > --- a/src/acpica/source/compiler/aslsupport.l > +++ b/src/acpica/source/compiler/aslsupport.l > @@ -9,7 +9,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -195,7 +195,7 @@ AslParserCleanup ( > * > * DESCRIPTION: Handle #line directives emitted by the preprocessor. > * > - * The #line directive is emitted by the preprocesser, and is used to > + * The #line directive is emitted by the preprocessor, and is used to > * pass through line numbers from the original source code file to the > * preprocessor output file (.i). This allows any compiler-generated > * error messages to be displayed with the correct line number. > diff --git a/src/acpica/source/compiler/aslsupport.y b/src/acpica/source/compiler/aslsupport.y > index 3f19af2f..f7420672 100644 > --- a/src/acpica/source/compiler/aslsupport.y > +++ b/src/acpica/source/compiler/aslsupport.y > @@ -9,7 +9,7 @@ NoEcho(' > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/asltokens.y b/src/acpica/source/compiler/asltokens.y > index c43561e7..48db2e22 100644 > --- a/src/acpica/source/compiler/asltokens.y > +++ b/src/acpica/source/compiler/asltokens.y > @@ -9,7 +9,7 @@ NoEcho(' > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -399,6 +399,12 @@ NoEcho(' > %token <i> PARSEOP_PIN_PULLDEFAULT > %token <i> PARSEOP_PIN_PULLDOWN > %token <i> PARSEOP_PIN_PULLUP > +%token <i> PARSEOP_CLOCKINPUT > +%token <i> PARSEOP_CLOCK_HZ > +%token <i> PARSEOP_CLOCK_KHZ > +%token <i> PARSEOP_CLOCK_MHZ > +%token <i> PARSEOP_CLOCK_FIXED > +%token <i> PARSEOP_CLOCK_VARIABLE > %token <i> PARSEOP_POWERRESOURCE > %token <i> PARSEOP_PROCESSOR > %token <i> PARSEOP_QWORDCONST > diff --git a/src/acpica/source/compiler/asltransform.c b/src/acpica/source/compiler/asltransform.c > index 573ddad1..d1fcbed2 100644 > --- a/src/acpica/source/compiler/asltransform.c > +++ b/src/acpica/source/compiler/asltransform.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/asltree.c b/src/acpica/source/compiler/asltree.c > index 9cf49269..f390c4f6 100644 > --- a/src/acpica/source/compiler/asltree.c > +++ b/src/acpica/source/compiler/asltree.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -467,6 +467,7 @@ TrLinkOpChildren ( > UINT32 i; > BOOLEAN FirstChild; > > + ACPI_FUNCTION_NAME (TrLinkOpChildren); > > va_start (ap, NumChildren); > > @@ -624,7 +625,7 @@ TrLinkOpChildren ( > if (AcpiGbl_CaptureComments) > { > AslGbl_CommentState.LatestParseOp = Op; > - CvDbgPrint ("TrLinkOpChildren=====Set latest parse op to this op.\n"); > + CvDbgPrint ("%s=====Set latest parse op to this op.\n", ACPI_GET_FUNCTION_NAME); > } > > return (Op); > diff --git a/src/acpica/source/compiler/asltypes.h b/src/acpica/source/compiler/asltypes.h > index d5689dea..577d3b88 100644 > --- a/src/acpica/source/compiler/asltypes.h > +++ b/src/acpica/source/compiler/asltypes.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -336,7 +336,7 @@ typedef struct asl_file_desc > typedef struct asl_cache_info > { > void *Next; > - char Buffer[1]; > + char Buffer[]; > > } ASL_CACHE_INFO; > > diff --git a/src/acpica/source/compiler/asltypes.y b/src/acpica/source/compiler/asltypes.y > index ba98362c..d5f020d3 100644 > --- a/src/acpica/source/compiler/asltypes.y > +++ b/src/acpica/source/compiler/asltypes.y > @@ -9,7 +9,7 @@ NoEcho(' > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -359,6 +359,8 @@ NoEcho(' > %type <n> WireModeKeyword > %type <n> XferSizeKeyword > %type <n> XferTypeKeyword > +%type <n> ClockScaleKeyword > +%type <n> ClockModeKeyword > > /* Types */ > > @@ -411,6 +413,7 @@ NoEcho(' > > /* Resource Descriptors */ > > +%type <n> ClockInputTerm > %type <n> ConnectionTerm > %type <n> Csi2SerialBusTerm > %type <n> DMATerm > diff --git a/src/acpica/source/compiler/aslutils.c b/src/acpica/source/compiler/aslutils.c > index e91fd460..86b040b9 100644 > --- a/src/acpica/source/compiler/aslutils.c > +++ b/src/acpica/source/compiler/aslutils.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -610,7 +610,7 @@ UtSetParseOpName ( > * > * FUNCTION: UtDisplayOneSummary > * > - * PARAMETERS: FileID - ID of outpout file > + * PARAMETERS: FileID - ID of output file > * > * RETURN: None > * > @@ -733,7 +733,7 @@ UtDisplayOneSummary ( > * > * FUNCTION: UtDisplayErrorSummary > * > - * PARAMETERS: FileID - ID of outpout file > + * PARAMETERS: FileID - ID of output file > * > * RETURN: None > * > @@ -800,7 +800,7 @@ UtDisplayErrorSummary ( > * > * FUNCTION: UtDisplaySummary > * > - * PARAMETERS: FileID - ID of outpout file > + * PARAMETERS: FileID - ID of output file > * > * RETURN: None > * > diff --git a/src/acpica/source/compiler/asluuid.c b/src/acpica/source/compiler/asluuid.c > index 0eb36050..fbbf644a 100644 > --- a/src/acpica/source/compiler/asluuid.c > +++ b/src/acpica/source/compiler/asluuid.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslwalks.c b/src/acpica/source/compiler/aslwalks.c > index 6e32f081..0f7bc94f 100644 > --- a/src/acpica/source/compiler/aslwalks.c > +++ b/src/acpica/source/compiler/aslwalks.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslxref.c b/src/acpica/source/compiler/aslxref.c > index 3a00f5a9..0e1034ba 100644 > --- a/src/acpica/source/compiler/aslxref.c > +++ b/src/acpica/source/compiler/aslxref.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/aslxrefout.c b/src/acpica/source/compiler/aslxrefout.c > index dd3fe80c..04471c63 100644 > --- a/src/acpica/source/compiler/aslxrefout.c > +++ b/src/acpica/source/compiler/aslxrefout.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/cvcompiler.c b/src/acpica/source/compiler/cvcompiler.c > index b51a688b..6689ca89 100644 > --- a/src/acpica/source/compiler/cvcompiler.c > +++ b/src/acpica/source/compiler/cvcompiler.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/cvdisasm.c b/src/acpica/source/compiler/cvdisasm.c > index 250c009a..7561e902 100644 > --- a/src/acpica/source/compiler/cvdisasm.c > +++ b/src/acpica/source/compiler/cvdisasm.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/cvparser.c b/src/acpica/source/compiler/cvparser.c > index 66b04e9a..574cbe8d 100644 > --- a/src/acpica/source/compiler/cvparser.c > +++ b/src/acpica/source/compiler/cvparser.c > @@ -9,7 +9,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/dtcompile.c b/src/acpica/source/compiler/dtcompile.c > index 11fcb8b9..afb4e342 100644 > --- a/src/acpica/source/compiler/dtcompile.c > +++ b/src/acpica/source/compiler/dtcompile.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/dtcompiler.h b/src/acpica/source/compiler/dtcompiler.h > index e85ca539..cddc9519 100644 > --- a/src/acpica/source/compiler/dtcompiler.h > +++ b/src/acpica/source/compiler/dtcompiler.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -577,6 +577,10 @@ ACPI_STATUS > DtCompileAsf ( > void **PFieldList); > > +ACPI_STATUS > +DtCompileAspt ( > + void **PFieldList); > + > ACPI_STATUS > DtCompileCdat ( > void **PFieldList); > @@ -653,6 +657,10 @@ ACPI_STATUS > DtCompileMcfg ( > void **PFieldList); > > +ACPI_STATUS > +DtCompileMpam ( > + void **PFieldList); > + > ACPI_STATUS > DtCompileMpst ( > void **PFieldList); > @@ -697,6 +705,10 @@ ACPI_STATUS > DtCompileRgrt ( > void **PFieldList); > > +ACPI_STATUS > +DtCompileRhct ( > + void **PFieldList); > + > ACPI_STATUS > DtCompileRsdt ( > void **PFieldList); > @@ -773,6 +785,7 @@ extern const unsigned char TemplateAest[]; > extern const unsigned char TemplateAgdi[]; > extern const unsigned char TemplateApmt[]; > extern const unsigned char TemplateAsf[]; > +extern const unsigned char TemplateAspt[]; > extern const unsigned char TemplateBoot[]; > extern const unsigned char TemplateBdat[]; > extern const unsigned char TemplateBert[]; > @@ -801,6 +814,7 @@ extern const unsigned char TemplateLpit[]; > extern const unsigned char TemplateMadt[]; > extern const unsigned char TemplateMcfg[]; > extern const unsigned char TemplateMchi[]; > +extern const unsigned char TemplateMpam[]; > extern const unsigned char TemplateMpst[]; > extern const unsigned char TemplateMsct[]; > extern const unsigned char TemplateMsdm[]; > @@ -814,6 +828,7 @@ extern const unsigned char TemplatePptt[]; > extern const unsigned char TemplatePrmt[]; > extern const unsigned char TemplateRasf[]; > extern const unsigned char TemplateRgrt[]; > +extern const unsigned char TemplateRhct[]; > extern const unsigned char TemplateRsdt[]; > extern const unsigned char TemplateS3pt[]; > extern const unsigned char TemplateSbst[]; > diff --git a/src/acpica/source/compiler/dtcompilerparser.l b/src/acpica/source/compiler/dtcompilerparser.l > index a00ef56e..a4ff02a0 100644 > --- a/src/acpica/source/compiler/dtcompilerparser.l > +++ b/src/acpica/source/compiler/dtcompilerparser.l > @@ -9,7 +9,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/dtcompilerparser.y b/src/acpica/source/compiler/dtcompilerparser.y > index 30ead3af..f03615ff 100644 > --- a/src/acpica/source/compiler/dtcompilerparser.y > +++ b/src/acpica/source/compiler/dtcompilerparser.y > @@ -9,7 +9,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/dtexpress.c b/src/acpica/source/compiler/dtexpress.c > index fd292d8f..7d614729 100644 > --- a/src/acpica/source/compiler/dtexpress.c > +++ b/src/acpica/source/compiler/dtexpress.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -480,10 +480,11 @@ static void > DtInsertLabelField ( > DT_FIELD *Field) > { > + ACPI_FUNCTION_NAME (DtInsertLabelField); > > DbgPrint (ASL_DEBUG_OUTPUT, > - "DtInsertLabelField: Found Label : %s at output table offset %X\n", > - Field->Value, Field->TableOffset); > + "%s: Found Label : %s at output table offset %X\n", > + ACPI_GET_FUNCTION_NAME, Field->Value, Field->TableOffset); > > Field->NextLabel = AslGbl_LabelList; > AslGbl_LabelList = Field; > diff --git a/src/acpica/source/compiler/dtfield.c b/src/acpica/source/compiler/dtfield.c > index f9316319..b2ba6693 100644 > --- a/src/acpica/source/compiler/dtfield.c > +++ b/src/acpica/source/compiler/dtfield.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -678,7 +678,7 @@ DtCompileFlag ( > > case ACPI_DMT_FLAGS8_2: > > - BitPosition = 2; > + BitPosition = 2; > BitLength = 8; > break; > > diff --git a/src/acpica/source/compiler/dtio.c b/src/acpica/source/compiler/dtio.c > index 9ec18cd1..7d7fb2b4 100644 > --- a/src/acpica/source/compiler/dtio.c > +++ b/src/acpica/source/compiler/dtio.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/dtparser.l b/src/acpica/source/compiler/dtparser.l > index b7cb26e2..0c003eca 100644 > --- a/src/acpica/source/compiler/dtparser.l > +++ b/src/acpica/source/compiler/dtparser.l > @@ -9,7 +9,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/dtparser.y b/src/acpica/source/compiler/dtparser.y > index fc8275cc..df804c91 100644 > --- a/src/acpica/source/compiler/dtparser.y > +++ b/src/acpica/source/compiler/dtparser.y > @@ -9,7 +9,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/dtsubtable.c b/src/acpica/source/compiler/dtsubtable.c > index 3c2798b6..0bbaa81c 100644 > --- a/src/acpica/source/compiler/dtsubtable.c > +++ b/src/acpica/source/compiler/dtsubtable.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/dttable.c b/src/acpica/source/compiler/dttable.c > index dfc34c13..1cbd4619 100644 > --- a/src/acpica/source/compiler/dttable.c > +++ b/src/acpica/source/compiler/dttable.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/dttable1.c b/src/acpica/source/compiler/dttable1.c > index dc25e9b9..8ffcb40d 100644 > --- a/src/acpica/source/compiler/dttable1.c > +++ b/src/acpica/source/compiler/dttable1.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -654,6 +654,91 @@ DtCompileAsf ( > return (AE_OK); > } > > +/****************************************************************************** > + * > + * FUNCTION: DtCompileAspt > + * > + * PARAMETERS: List - Current field list pointer > + * > + * RETURN: Status > + * > + * DESCRIPTION: Compile ASPT. > + * > + *****************************************************************************/ > + > +ACPI_STATUS > +DtCompileAspt ( > + void **List) > +{ > + ACPI_ASPT_HEADER *AsptTable; > + DT_SUBTABLE *Subtable; > + DT_SUBTABLE *ParentTable; > + ACPI_DMTABLE_INFO *InfoTable; > + ACPI_STATUS Status; > + DT_FIELD **PFieldList = (DT_FIELD **) List; > + DT_FIELD *SubtableStart; > + > + Status = DtCompileTable (PFieldList, AcpiDmTableInfoAspt, &Subtable); > + if (ACPI_FAILURE (Status)) > + { > + return (Status); > + } > + > + ParentTable = DtPeekSubtable (); > + DtInsertSubtable (ParentTable, Subtable); > + > + while (*PFieldList) > + { > + SubtableStart = *PFieldList; > + Status = DtCompileTable (PFieldList, AcpiDmTableInfoAsptHdr, > + &Subtable); > + if (ACPI_FAILURE (Status)) > + { > + return (Status); > + } > + > + ParentTable = DtPeekSubtable (); > + DtInsertSubtable (ParentTable, Subtable); > + DtPushSubtable (Subtable); > + > + AsptTable = ACPI_CAST_PTR (ACPI_ASPT_HEADER, Subtable->Buffer); > + > + switch (AsptTable->Type) /* Mask off top bit */ > + { > + case ACPI_ASPT_TYPE_GLOBAL_REGS: > + > + InfoTable = AcpiDmTableInfoAspt0; > + break; > + > + case ACPI_ASPT_TYPE_SEV_MBOX_REGS: > + > + InfoTable = AcpiDmTableInfoAspt1; > + break; > + > + case ACPI_ASPT_TYPE_ACPI_MBOX_REGS: > + > + InfoTable = AcpiDmTableInfoAspt2; > + break; > + > + default: > + > + DtFatal (ASL_MSG_UNKNOWN_SUBTABLE, SubtableStart, "ASPT"); > + return (AE_ERROR); > + } > + > + Status = DtCompileTable (PFieldList, InfoTable, &Subtable); > + if (ACPI_FAILURE (Status)) > + { > + return (Status); > + } > + ParentTable = DtPeekSubtable (); > + DtInsertSubtable (ParentTable, Subtable); > + DtPopSubtable (); > + } > + > + return (AE_OK); > +} > + > > /****************************************************************************** > * > @@ -854,7 +939,7 @@ DtCompileCedt ( > /* Look in buffer for the number of targets */ > offset = (unsigned int) ACPI_OFFSET (ACPI_CEDT_CFMWS, InterleaveWays); > dump = (unsigned char *) Subtable->Buffer - 4; /* place at beginning of cedt1 */ > - max = 0x01 << dump[offset]; /* 2^max, so 0=1, 1=2, 2=4, 3=8. 8 is MAX */ > + max = 0x01 << dump[offset]; /* 2^max, so 0=1, 1=2, 2=4, 3=8. 8 is MAX */ > if (max > 8) max=1; /* Error in encoding Interleaving Ways. */ > if (max == 1) /* if only one target, then break here. */ > break; /* break if only one target. */ > @@ -2009,7 +2094,7 @@ DtCompileHmat ( > DtInsertSubtable (ParentTable, Subtable); > HmatStruct->Length += Subtable->Length; > > - /* Compile HMAT structure additionals */ > + /* Compile HMAT structure additional */ > > switch (HmatStruct->Type) > { > diff --git a/src/acpica/source/compiler/dttable2.c b/src/acpica/source/compiler/dttable2.c > index 59d578f9..007b6747 100644 > --- a/src/acpica/source/compiler/dttable2.c > +++ b/src/acpica/source/compiler/dttable2.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -425,6 +425,163 @@ DtCompileMcfg ( > return (Status); > } > > +/****************************************************************************** > + * > + * FUNCTION: DtCompileMpam > + * > + * PARAMETERS: List - Current field list pointer > + * > + * RETURN: Status > + * > + * DESCRIPTION: Compile MPAM. > + * > + *****************************************************************************/ > + > +ACPI_STATUS > +DtCompileMpam ( > + void **List) > +{ > + ACPI_STATUS Status; > + DT_SUBTABLE *ParentTable; > + DT_SUBTABLE *Subtable; > + DT_FIELD *SubtableStart; > + DT_FIELD **PFieldList = (DT_FIELD **) List; > + ACPI_MPAM_MSC_NODE *MpamMscNode; > + ACPI_MPAM_RESOURCE_NODE *MpamResourceNode; > + UINT32 FuncDepsCount; > + UINT32 RisLength; > + ACPI_DMTABLE_INFO *InfoTable; > + > + ParentTable = DtPeekSubtable (); > + > + while (*PFieldList) > + { > + SubtableStart = *PFieldList; > + > + /* Main MSC Node table */ > + Status = DtCompileTable (PFieldList, AcpiDmTableInfoMpam0, > + &Subtable); > + if (ACPI_FAILURE (Status)) > + { > + return (Status); > + } > + > + MpamMscNode = ACPI_CAST_PTR (ACPI_MPAM_MSC_NODE, Subtable->Buffer); > + > + ParentTable = DtPeekSubtable (); > + DtInsertSubtable (ParentTable, Subtable); > + DtPushSubtable (Subtable); > + > + ParentTable = DtPeekSubtable (); > + > + /* > + * RIS(es) per MSC node have variable lengths depending on how many RISes there and > + * any how many functional dependencies per RIS. Calculate it in order > + * to properly set the overall MSC length. > + */ > + RisLength = 0; > + > + /* Iterate over RIS subtables per MSC node */ > + for (UINT32 ris = 0; ris < MpamMscNode->NumResouceNodes; ris++) > + { > + /* Compile RIS subtable */ > + Status = DtCompileTable (PFieldList, AcpiDmTableInfoMpam1, > + &Subtable); > + if (ACPI_FAILURE (Status)) > + { > + return (Status); > + } > + > + MpamResourceNode = ACPI_CAST_PTR (ACPI_MPAM_RESOURCE_NODE, Subtable->Buffer); > + DtInsertSubtable (ParentTable, Subtable); > + DtPushSubtable (Subtable); > + > + ParentTable = DtPeekSubtable (); > + > + switch (MpamResourceNode->LocatorType) > + { > + case ACPI_MPAM_LOCATION_TYPE_PROCESSOR_CACHE: > + InfoTable = AcpiDmTableInfoMpam1A; > + break; > + case ACPI_MPAM_LOCATION_TYPE_MEMORY: > + InfoTable = AcpiDmTableInfoMpam1B; > + break; > + case ACPI_MPAM_LOCATION_TYPE_SMMU: > + InfoTable = AcpiDmTableInfoMpam1C; > + break; > + case ACPI_MPAM_LOCATION_TYPE_MEMORY_CACHE: > + InfoTable = AcpiDmTableInfoMpam1D; > + break; > + case ACPI_MPAM_LOCATION_TYPE_ACPI_DEVICE: > + InfoTable = AcpiDmTableInfoMpam1E; > + break; > + case ACPI_MPAM_LOCATION_TYPE_INTERCONNECT: > + InfoTable = AcpiDmTableInfoMpam1F; > + break; > + case ACPI_MPAM_LOCATION_TYPE_UNKNOWN: > + InfoTable = AcpiDmTableInfoMpam1G; > + default: > + DtFatal (ASL_MSG_UNKNOWN_SUBTABLE, SubtableStart, "Resource Locator Type"); > + return (AE_ERROR); > + } > + > + /* Compile Resource Locator Table */ > + Status = DtCompileTable (PFieldList, InfoTable, > + &Subtable); > + > + if (ACPI_FAILURE (Status)) > + { > + return (Status); > + } > + > + DtInsertSubtable (ParentTable, Subtable); > + > + /* Compile the number of functional dependencies per RIS */ > + Status = DtCompileTable (PFieldList, AcpiDmTableInfoMpam1Deps, > + &Subtable); > + > + if (ACPI_FAILURE (Status)) > + { > + return (Status); > + } > + > + DtInsertSubtable (ParentTable, Subtable); > + FuncDepsCount = *ACPI_CAST_PTR (UINT32, Subtable->Buffer); > + > + RisLength += sizeof(ACPI_MPAM_RESOURCE_NODE) + > + FuncDepsCount * sizeof(ACPI_MPAM_FUNC_DEPS); > + > + /* Iterate over functional dependencies per RIS */ > + for (UINT32 funcDep = 0; funcDep < FuncDepsCount; funcDep++) > + { > + /* Compiler functional dependencies table */ > + Status = DtCompileTable (PFieldList, AcpiDmTableInfoMpam2, > + &Subtable); > + > + if (ACPI_FAILURE (Status)) > + { > + return (Status); > + } > + > + DtInsertSubtable (ParentTable, Subtable); > + } > + > + DtPopSubtable (); > + } > + > + /* Check if the length of the MSC is correct and override with the correct length */ > + if (MpamMscNode->Length != sizeof(ACPI_MPAM_MSC_NODE) + RisLength) > + { > + MpamMscNode->Length = (UINT16) (sizeof(ACPI_MPAM_MSC_NODE) + RisLength); > + DbgPrint (ASL_DEBUG_OUTPUT, "Overriding MSC->Length: %X\n", MpamMscNode->Length); > + } > + > + DtPopSubtable (); > + } > + > + return (AE_OK); > +} > + > > /****************************************************************************** > * > @@ -1086,7 +1243,7 @@ DtCompileNhlt ( > > /* > * If we are not done with the current Endpoint yet, then there must be > - * some non documeneted structure(s) yet to be processed. First, get > + * some non documented structure(s) yet to be processed. First, get > * the count of such structure(s). > */ > if (*PFieldList && !(strcmp ((const char *) (*PFieldList)->Name, "Device Info struct count"))) > @@ -1800,7 +1957,7 @@ DtCompilePptt ( > DtInsertSubtable (ParentTable, Subtable); > PpttHeader->Length += (UINT8)(Subtable->Length); > > - /* Compile PPTT subtable additionals */ > + /* Compile PPTT subtable additional */ > > switch (PpttHeader->Type) > { > @@ -1969,6 +2126,128 @@ DtCompileRgrt ( > } > > > +/****************************************************************************** > + * > + * FUNCTION: DtCompileRhct > + * > + * PARAMETERS: List - Current field list pointer > + * > + * RETURN: Status > + * > + * DESCRIPTION: Compile RHCT. > + * > + *****************************************************************************/ > + > +ACPI_STATUS > +DtCompileRhct ( > + void **List) > +{ > + ACPI_STATUS Status; > + ACPI_RHCT_NODE_HEADER *RhctHeader; > + ACPI_RHCT_HART_INFO *RhctHartInfo = NULL; > + DT_SUBTABLE *Subtable; > + DT_SUBTABLE *ParentTable; > + ACPI_DMTABLE_INFO *InfoTable; > + DT_FIELD **PFieldList = (DT_FIELD **) List; > + DT_FIELD *SubtableStart; > + > + > + /* Compile the main table */ > + > + Status = DtCompileTable (PFieldList, AcpiDmTableInfoRhct, > + &Subtable); > + if (ACPI_FAILURE (Status)) > + { > + return (Status); > + } > + > + ParentTable = DtPeekSubtable (); > + while (*PFieldList) > + { > + SubtableStart = *PFieldList; > + > + /* Compile RHCT subtable header */ > + > + Status = DtCompileTable (PFieldList, AcpiDmTableInfoRhctNodeHdr, > + &Subtable); > + if (ACPI_FAILURE (Status)) > + { > + return (Status); > + } > + DtInsertSubtable (ParentTable, Subtable); > + RhctHeader = ACPI_CAST_PTR (ACPI_RHCT_NODE_HEADER, Subtable->Buffer); > + RhctHeader->Length = (UINT16)(Subtable->Length); > + > + switch (RhctHeader->Type) > + { > + case ACPI_RHCT_NODE_TYPE_ISA_STRING: > + > + InfoTable = AcpiDmTableInfoRhctIsa1; > + break; > + > + case ACPI_RHCT_NODE_TYPE_HART_INFO: > + > + InfoTable = AcpiDmTableInfoRhctHartInfo1; > + break; > + > + default: > + > + DtFatal (ASL_MSG_UNKNOWN_SUBTABLE, SubtableStart, "RHCT"); > + return (AE_ERROR); > + } > + > + /* Compile RHCT subtable body */ > + > + Status = DtCompileTable (PFieldList, InfoTable, &Subtable); > + if (ACPI_FAILURE (Status)) > + { > + return (Status); > + } > + DtInsertSubtable (ParentTable, Subtable); > + RhctHeader->Length += (UINT16)(Subtable->Length); > + > + /* Compile RHCT subtable additionals */ > + > + switch (RhctHeader->Type) > + { > + case ACPI_RHCT_NODE_TYPE_HART_INFO: > + > + RhctHartInfo = ACPI_SUB_PTR (ACPI_RHCT_HART_INFO, > + Subtable->Buffer, sizeof (ACPI_RHCT_NODE_HEADER)); > + if (RhctHartInfo) > + { > + > + RhctHartInfo->NumOffsets = 0; > + while (*PFieldList) > + { > + Status = DtCompileTable (PFieldList, > + AcpiDmTableInfoRhctHartInfo2, &Subtable); > + if (ACPI_FAILURE (Status)) > + { > + return (Status); > + } > + if (!Subtable) > + { > + break; > + } > + > + DtInsertSubtable (ParentTable, Subtable); > + RhctHeader->Length += (UINT16)(Subtable->Length); > + RhctHartInfo->NumOffsets++; > + } > + } > + break; > + > + default: > + > + break; > + } > + } > + > + return (AE_OK); > +} > + > + > /****************************************************************************** > * > * FUNCTION: DtCompileRsdt > diff --git a/src/acpica/source/compiler/dttemplate.c b/src/acpica/source/compiler/dttemplate.c > index 1bcc4a12..77edbc85 100644 > --- a/src/acpica/source/compiler/dttemplate.c > +++ b/src/acpica/source/compiler/dttemplate.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/dttemplate.h b/src/acpica/source/compiler/dttemplate.h > index 3ab99978..755da402 100644 > --- a/src/acpica/source/compiler/dttemplate.h > +++ b/src/acpica/source/compiler/dttemplate.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -301,6 +301,27 @@ const unsigned char TemplateAsf[] = > 0x01,0x00 /* 00000070 ".." */ > }; > > +const unsigned char TemplateAspt[] = > +{ > + 0x41,0x53,0x50,0x54,0x88,0x00,0x00,0x00, /* 00000000 "ASPT...." */ > + 0x01,0x2D,0x56,0x52,0x54,0x55,0x41,0x4C, /* 00000008 "..VRTUAL" */ > + 0x4D,0x49,0x43,0x52,0x4F,0x53,0x46,0x54, /* 00000010 "MICROSFT" */ > + 0x01,0x00,0x00,0x00,0x4D,0x53,0x46,0x54, /* 00000018 "....INTL" */ > + 0x01,0x00,0x00,0x00,0x03,0x00,0x00,0x00, /* 00000020 " ." ...." */ > + 0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00, /* 00000028 ".. ....." */ > + 0x00,0x00,0xB0,0xFE,0x00,0x00,0x00,0x00, /* 00000030 "........" */ > + 0x04,0x00,0xB0,0xFE,0x00,0x00,0x00,0x00, /* 00000038 "........" */ > + 0x08,0x00,0xB0,0xFE,0x00,0x00,0x00,0x00, /* 00000040 "........" */ > + 0x01,0x00,0x20,0x00,0x01,0x00,0x00,0x00, /* 00000048 ".. ....." */ > + 0x10,0x00,0xB0,0xFE,0x00,0x00,0x00,0x00, /* 00000050 "........" */ > + 0x14,0x00,0xB0,0xFE,0x00,0x00,0x00,0x00, /* 00000058 "........" */ > + 0x18,0x00,0xB0,0xFE,0x00,0x00,0x00,0x00, /* 00000060 "........" */ > + 0x02,0x00,0x20,0x00,0x00,0x00,0x00,0x00, /* 00000068 ".. ....." */ > + 0x20,0x00,0xB0,0xFE,0x00,0x00,0x00,0x00, /* 00000070 " ......." */ > + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000078 "........" */ > + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000080 "........" */ > +}; > + > const unsigned char TemplateBdat[] = > { > 0x42,0x44,0x41,0x54,0x30,0x00,0x00,0x00, /* 00000000 "BDAT0..." */ > @@ -1197,6 +1218,42 @@ const unsigned char TemplateMsdm[] = > 0x22,0x23,0x24,0x25 /* 00000060 ""#$%" */ > }; > > +const unsigned char TemplateMpam[] = > +{ > + 0x4D,0x50,0x41,0x4D,0xFC,0x00,0x00,0x00, /* 00000000 "MPAM...." */ > + 0x02,0x34,0x48,0x49,0x53,0x49,0x20,0x20, /* 00000008 ".4HISI " */ > + 0x54,0x45,0x4D,0x50,0x4C,0x41,0x54,0x45, /* 00000010 "TEMPLATE" */ > + 0x02,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */ > + 0x20,0x10,0x22,0x20,0x60,0x00,0x00,0x00, /* 00000020 " ." `..." */ > + 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xC0, /* 00000028 "........" */ > + 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00, /* 00000030 "........" */ > + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000038 "........" */ > + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000040 "........" */ > + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000048 "........" */ > + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000050 "........" */ > + 0x32,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000058 "2......." */ > + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000060 "........" */ > + 0x01,0x00,0x00,0x00,0x11,0x00,0x00,0x00, /* 00000068 "........" */ > + 0x00,0x00,0x00,0x01,0x20,0x00,0x00,0x00, /* 00000070 ".... ..." */ > + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000078 "........" */ > + 0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x00, /* 00000080 "....x..." */ > + 0x02,0x00,0x00,0x00,0x00,0x00,0x00,0xD0, /* 00000088 "........" */ > + 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00, /* 00000090 "........" */ > + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000098 "........" */ > + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000A0 "........" */ > + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000A8 "........" */ > + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000B0 "........" */ > + 0x32,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000B8 "2......." */ > + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000C0 "........" */ > + 0x02,0x00,0x00,0x00,0x12,0x00,0x00,0x00, /* 000000C8 "........" */ > + 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, /* 000000D0 "........" */ > + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000D8 "........" */ > + 0x00,0x00,0x00,0x00,0x13,0x00,0x00,0x00, /* 000000E0 "........" */ > + 0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00, /* 000000E8 "........" */ > + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000F0 "........" */ > + 0x00,0x00,0x00,0x00 /* 000000F8 "...." */ > +}; > + > const unsigned char TemplateMpst[] = > { > 0x4D,0x50,0x53,0x54,0xB6,0x00,0x00,0x00, /* 00000000 "MPST...." */ > @@ -1659,6 +1716,26 @@ const unsigned char TemplateRgrt[] = > 0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27 /* 00000048 " !"#$%&'" */ > }; > > +const unsigned char TemplateRhct[] = > +{ > + 0x52,0x48,0x43,0x54,0x7C,0x00,0x00,0x00, /* 00000000 "RHCT|..." */ > + 0x01,0x7D,0x4F,0x45,0x4D,0x43,0x41,0x00, /* 00000008 "..OEMCA." */ > + 0x54,0x45,0x4D,0x50,0x4C,0x41,0x54,0x45, /* 00000010 "TEMPLATE" */ > + 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */ > + 0x28,0x09,0x22,0x20,0x00,0x00,0x00,0x00, /* 00000020 "... ...." */ > + 0x80,0x96,0x98,0x00,0x00,0x00,0x00,0x00, /* 00000028 "........" */ > + 0x02,0x00,0x00,0x00,0x38,0x00,0x00,0x00, /* 00000030 "....8..." */ > + 0x00,0x00,0x34,0x00,0x01,0x00,0x2B,0x00, /* 00000038 "..4...*." */ > + 0x72,0x76,0x36,0x34,0x69,0x6D,0x61,0x66, /* 00000040 "rv64imaf" */ > + 0x64,0x63,0x68,0x5F,0x7A,0x69,0x63,0x73, /* 00000048 "dch_zics" */ > + 0x72,0x5F,0x7A,0x69,0x66,0x65,0x6E,0x63, /* 00000050 "r_zifenc" */ > + 0x65,0x69,0x5F,0x7A,0x62,0x61,0x5F,0x7A, /* 00000058 "ei_zba_z" */ > + 0x62,0x62,0x5F,0x7A,0x62,0x63,0x5F,0x7A, /* 00000060 "bb_zbc_z" */ > + 0x62,0x73,0x00,0x00,0xFF,0xFF,0x10,0x00, /* 00000068 "bs......" */ > + 0x01,0x00,0x01,0x00,0x00,0x00,0x00,0x00, /* 00000070 "........" */ > + 0x38,0x00,0x00,0x00 /* 00000078 "........" */ > +}; > + > const unsigned char TemplateRsdp[] = > { > 0x52,0x53,0x44,0x20,0x50,0x54,0x52,0x20, /* 00000000 "RSD PTR " */ > diff --git a/src/acpica/source/compiler/dtutils.c b/src/acpica/source/compiler/dtutils.c > index 45bff3df..de321e58 100644 > --- a/src/acpica/source/compiler/dtutils.c > +++ b/src/acpica/source/compiler/dtutils.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -584,6 +584,7 @@ DtGetFieldLength ( > case ACPI_DMT_IVRS_DE: > case ACPI_DMT_GTDT: > case ACPI_DMT_MADT: > + case ACPI_DMT_MPAM_LOCATOR: > case ACPI_DMT_NHLT1: > case ACPI_DMT_NHLT1a: > case ACPI_DMT_NHLT1b: > @@ -614,6 +615,7 @@ DtGetFieldLength ( > ByteLength = 1; > break; > > + case ACPI_DMT_ASPT: > case ACPI_DMT_UINT16: > case ACPI_DMT_DMAR: > case ACPI_DMT_HEST: > diff --git a/src/acpica/source/compiler/preprocess.h b/src/acpica/source/compiler/preprocess.h > index 9c25dd13..818eac26 100644 > --- a/src/acpica/source/compiler/preprocess.h > +++ b/src/acpica/source/compiler/preprocess.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -249,6 +249,7 @@ typedef struct directive_info > */ > PR_EXTERN char PR_INIT_GLOBAL (*AslGbl_MainTokenBuffer, NULL); /* [ASL_LINE_BUFFER_SIZE]; */ > PR_EXTERN char PR_INIT_GLOBAL (*AslGbl_MacroTokenBuffer, NULL); /* [ASL_LINE_BUFFER_SIZE]; */ > +PR_EXTERN char PR_INIT_GLOBAL (*AslGbl_MacroTokenReplaceBuffer, NULL); /* [ASL_LINE_BUFFER_SIZE]; */ > PR_EXTERN char PR_INIT_GLOBAL (*AslGbl_ExpressionTokenBuffer, NULL); /* [ASL_LINE_BUFFER_SIZE]; */ > > PR_EXTERN UINT32 AslGbl_PreprocessorLineNumber; > @@ -370,6 +371,14 @@ PrError ( > UINT32 Column); > > void > +PrReplaceResizeSubstring( > + PR_MACRO_ARG *Args, > + UINT32 Diff1, > + UINT32 Diff2, > + UINT32 i, > + char *Token); > + > +char * > PrReplaceData ( > char *Buffer, > UINT32 LengthToRemove, > diff --git a/src/acpica/source/compiler/prexpress.c b/src/acpica/source/compiler/prexpress.c > index 8ac1fd88..88570685 100644 > --- a/src/acpica/source/compiler/prexpress.c > +++ b/src/acpica/source/compiler/prexpress.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/prmacros.c b/src/acpica/source/compiler/prmacros.c > index 5b366978..6414867b 100644 > --- a/src/acpica/source/compiler/prmacros.c > +++ b/src/acpica/source/compiler/prmacros.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -393,10 +393,10 @@ PrAddMacro ( > UINT16 UseCount = 0; > UINT16 ArgCount = 0; > UINT32 Depth = 1; > + /*UINT32 Depth = 1;*/ > UINT32 EndOfArgList; > char BufferChar; > > - > /* Find the end of the arguments list */ > > TokenOffset = Name - AslGbl_MainTokenBuffer + strlen (Name) + 1; > @@ -437,6 +437,7 @@ PrAddMacro ( > for (i = 0; i < PR_MAX_MACRO_ARGS; i++) > { > Token = PrGetNextToken (NULL, PR_MACRO_SEPARATORS, Next); > + > if (!Token) > { > /* This is the case for a NULL macro body */ > @@ -454,14 +455,13 @@ PrAddMacro ( > } > > DbgPrint (ASL_DEBUG_OUTPUT, PR_PREFIX_ID > - "Macro arg: %s \n", > + "Macro param: %s \n", > AslGbl_CurrentLineNumber, Token); > > Args[i].Name = UtLocalCalloc (strlen (Token) + 1); > strcpy (Args[i].Name, Token); > > Args[i].UseCount = 0; > - > ArgCount++; > if (ArgCount >= PR_MAX_MACRO_ARGS) > { > @@ -476,7 +476,6 @@ PrAddMacro ( > > /* Match each method arg in the macro body for later use */ > > - Token = PrGetNextToken (NULL, PR_MACRO_SEPARATORS, Next); > while (Token) > { > /* Search the macro arg list for matching arg */ > @@ -496,12 +495,14 @@ PrAddMacro ( > Args[i].Offset[UseCount] = > (Token - AslGbl_MainTokenBuffer) - MacroBodyOffset; > > + > DbgPrint (ASL_DEBUG_OUTPUT, PR_PREFIX_ID > "Macro Arg #%u: %s UseCount %u Offset %u \n", > AslGbl_CurrentLineNumber, i, Token, > UseCount+1, Args[i].Offset[UseCount]); > > Args[i].UseCount++; > + > if (Args[i].UseCount >= PR_MAX_ARG_INSTANCES) > { > PrError (ASL_ERROR, ASL_MSG_TOO_MANY_ARGUMENTS, > @@ -596,7 +597,8 @@ PrDoMacroInvocation ( > UINT32 TokenOffset; > UINT32 Length; > UINT32 i; > - > + UINT32 Diff1; > + UINT32 Diff2; > > /* Take a copy of the macro body for expansion */ > > @@ -610,6 +612,7 @@ PrDoMacroInvocation ( > /* This macro has no arguments */ > > Token = PrGetNextToken (NULL, PR_MACRO_ARGUMENTS, Next); > + > if (!Token) > { > goto BadInvocation; > @@ -634,21 +637,35 @@ PrDoMacroInvocation ( > goto BadInvocation; > } > > + /* > + * Avoid optimizing using just 1 signed int due to specific > + * non-portable implementations of signed ints > + */ > + Diff1 = strlen (Args->Name) > strlen (Token) ? strlen (Args->Name) - > + strlen (Token) : 0; > + > + Diff2 = strlen (Args->Name) < strlen (Token) ? strlen (Token) - > + strlen (Args->Name) : 0; > + > /* Replace all instances of this argument */ > > for (i = 0; i < Args->UseCount; i++) > { > - /* Offset zero indicates "arg not used" */ > - /* TBD: Not really needed now, with UseCount available */ > + /* > + * To test the output of the preprocessed macro function that > + * is passed to the compiler > + */ > > - if (Args->Offset[i] == 0) > - { > - break; > - } > + /* > + * fprintf (stderr, "Current token = %s \t Current arg_name = %s \ > + * \t strlen (Token) = %u \t strlen (Args->Name) = %u \t Offset = %u \ > + * \t UseCount = %u \t", Token, Args->Name, strlen (Token), \ > + * strlen (Args->Name), Args->Offset[i], Args->UseCount); > + */ > + > + AslGbl_MacroTokenReplaceBuffer = (char *) calloc ((strlen (AslGbl_MacroTokenBuffer)), sizeof (char)); > > - PrReplaceData ( > - &AslGbl_MacroTokenBuffer[Args->Offset[i]], strlen (Args->Name), > - Token, strlen (Token)); > + PrReplaceResizeSubstring (Args, Diff1, Diff2, i, Token); > > DbgPrint (ASL_DEBUG_OUTPUT, PR_PREFIX_ID > "ExpandArg: %s \n", > @@ -658,8 +675,6 @@ PrDoMacroInvocation ( > Args++; > } > > - /* TBD: need to make sure macro was not invoked with too many arguments */ > - > if (!Token) > { > return; > @@ -676,7 +691,6 @@ PrDoMacroInvocation ( > > return; > > - > BadInvocation: > PrError (ASL_ERROR, ASL_MSG_INVALID_INVOCATION, > THIS_TOKEN_OFFSET (MacroStart)); > diff --git a/src/acpica/source/compiler/prparser.l b/src/acpica/source/compiler/prparser.l > index 828d81b2..c701da4a 100644 > --- a/src/acpica/source/compiler/prparser.l > +++ b/src/acpica/source/compiler/prparser.l > @@ -9,7 +9,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/prparser.y b/src/acpica/source/compiler/prparser.y > index 3854d989..2f4d0327 100644 > --- a/src/acpica/source/compiler/prparser.y > +++ b/src/acpica/source/compiler/prparser.y > @@ -9,7 +9,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/compiler/prscan.c b/src/acpica/source/compiler/prscan.c > index 0d9af86e..d29f4e90 100644 > --- a/src/acpica/source/compiler/prscan.c > +++ b/src/acpica/source/compiler/prscan.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -780,8 +780,9 @@ PrDoDirective ( > TokenOffset = Token - AslGbl_MainTokenBuffer + strlen (Token); > if (*(&AslGbl_CurrentLineBuffer[TokenOffset]) == '(') > { > -#ifndef MACROS_SUPPORTED > - AcpiOsPrintf ( > + > +#ifdef MACROS_SUPPORTED > + AcpiOsPrintf( > "%s ERROR - line %u: #define macros are not supported yet\n", > AslGbl_CurrentLineBuffer, AslGbl_LogicalLineNumber); > exit(1); > @@ -789,6 +790,8 @@ PrDoDirective ( > PrAddMacro (Token, Next); > #endif > } > + > + > else > { > /* Use the remainder of the line for the #define */ > diff --git a/src/acpica/source/compiler/prutils.c b/src/acpica/source/compiler/prutils.c > index eea42f89..2eb91a6c 100644 > --- a/src/acpica/source/compiler/prutils.c > +++ b/src/acpica/source/compiler/prutils.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -282,6 +282,238 @@ PrError ( > } > > > +/******************************************************************************* > + * > + * FUNCTION: PrReplaceResizeSubstring > + * > + * PARAMETERS: Args - Struct containing name, offset & usecount > + * Diff1 - Difference in lengths when new < old > + * Diff2 - Difference in lengths when new > old > +* i - The curr. no. of iteration of replacement > + * Token - Substring that replaces Args->Name > + * > + * RETURN: None > + * > + * DESCRIPTION: Advanced substring replacement in a string using resized buffer. > + * > + ******************************************************************************/ > + > +void > +PrReplaceResizeSubstring( > + PR_MACRO_ARG *Args, > + UINT32 Diff1, > + UINT32 Diff2, > + UINT32 i, > + char *Token) > +{ > + UINT32 b, PrevOffset; > + char *temp; > + char macro_sep[64]; > + > + > + AslGbl_MacroTokenReplaceBuffer = (char *) realloc (AslGbl_MacroTokenReplaceBuffer, > + (2 * (strlen (AslGbl_MacroTokenBuffer)))); > + > + strcpy (macro_sep, "~,() {}!*/%+-<>=&^|\"\t\n"); > + > + /* > + * When the replacement argument (during invocation) length > + * < replaced parameter (in the macro function definition > + * and its expansion) length > + */ > + if (Diff1 != 0) > + { > + /* > + * We save the offset value to reset it after replacing each > + * instance of each arg and setting the offset value to > + * the start of the arg to be replaced since it changes > + * with each iteration when arg length != token length > + */ > + PrevOffset = Args->Offset[i]; > + temp = strstr (AslGbl_MacroTokenBuffer, Args->Name); > + > +ResetHere1: > + temp = strstr (temp, Args->Name); > + Args->Offset[i] = strlen (AslGbl_MacroTokenBuffer) - > + strlen (temp); > + if (Args->Offset[i] == 0) > + { > + goto JumpHere1; > + } > + if ((strchr (macro_sep, AslGbl_MacroTokenBuffer[(Args->Offset[i] - 1)])) && > + (strchr (macro_sep, AslGbl_MacroTokenBuffer[(Args->Offset[i] + strlen (Args->Name))]))) > + { > + Args->Offset[i] += 0; > + } > + else > + { > + temp += strlen (Args->Name); > + goto ResetHere1; > + } > + > + /* > + * For now, we simply set the extra char positions (generated > + * due to longer name replaced by shorter name) to whitespace > + * chars so it will be ignored during compilation > + */ > +JumpHere1: > + b = strlen (Token) + Args->Offset[i]; > + memset (&AslGbl_MacroTokenBuffer[b], ' ', Diff1); > + > +# if 0 > + > + /* Work in progress as of 03/08/2023 - experimental 'if' block > + * to test code for removing extra whitespaces from the macro > + * replacement when replacement arg < replaced param > + */ > + char Buff[8192]; > + /* char* Replace; */ > + /* Replace = Buff; */ > + > + for (j = 0; j < strlen (AslGbl_MacroTokenBuffer); j++) > + { > + Buff[j] = AslGbl_MacroTokenBuffer[j]; > + } > + Buff[strlen (AslGbl_MacroTokenBuffer)] = '\0'; > + //fprintf (stderr, "Buff: %s\n", Buff); > + > + UINT32 len = strlen (Buff); > + > + for (j = 0; j < len; j++) > + { > + if (Buff[0] == ' ') > + { > + for (j = 0; j < (len - 1); j++) > + { > + Buff[j] = Buff[j + 1]; > + } > + Buff[j] = '\0'; > + len--; > + j = -1; > + continue; > + } > + > + if (Buff[j] == ' ' && Buff[j + 1] == ' ') > + { > + for (k = 0; k < (len - 1); k++) > + { > + Buff[j] = Buff[j + 1]; > + } > + Buff[j] = '\0'; > + len--; > + j--; > + } > + } > + //fprintf(stderr, "Buff: %s\n", Buff); > + > + for (k = 0; k < strlen (Buff); k++) > + { > + AslGbl_MacroTokenBuffer[k] = Buff[k]; > + } > +#endif > + > + PrReplaceData ( > + &AslGbl_MacroTokenBuffer[Args->Offset[i]], > + strlen (Token), Token, strlen (Token)); > + > + temp = NULL; > + Args->Offset[i] = PrevOffset; > + } > + > + /* > + * When the replacement argument (during invocation) length > + * > replaced parameter (in the macro function definition > + * and its expansion) length > + */ > + else if (Diff2 != 0) > + { > + /* Doing the same thing with offset value as for prev case */ > + > + PrevOffset = Args->Offset[i]; > + temp = strstr (AslGbl_MacroTokenBuffer, Args->Name); > + > +ResetHere2: > + temp = strstr (temp, Args->Name); > + Args->Offset[i] = strlen (AslGbl_MacroTokenBuffer) - > + strlen (temp); > + if (Args->Offset[i] == 0) > + { > + goto JumpHere2; > + } > + if ((strchr (macro_sep, AslGbl_MacroTokenBuffer[(Args->Offset[i] - 1)])) && > + (strchr (macro_sep, AslGbl_MacroTokenBuffer[(Args->Offset[i] + strlen (Args->Name))]))) > + { > + Args->Offset[i] += 0; > + } > + else > + { > + temp+= strlen (Args->Name); > + goto ResetHere2; > + } > + > + /* > + * We will need to allocate some extra space in our buffer to > + * accommodate the increase in the replacement string length > + * over the shorter outgoing arg string and do the replacement > + * at the correct offset value which is resetted every iteration > + */ > +JumpHere2: > + strncpy (AslGbl_MacroTokenReplaceBuffer, AslGbl_MacroTokenBuffer, Args->Offset[i]); > + strcat (AslGbl_MacroTokenReplaceBuffer, Token); > + strcat (AslGbl_MacroTokenReplaceBuffer, (AslGbl_MacroTokenBuffer + > + (Args->Offset[i] + strlen (Args->Name)))); > + > + strcpy (AslGbl_MacroTokenBuffer, AslGbl_MacroTokenReplaceBuffer); > + > + temp = NULL; > + Args->Offset[i] = PrevOffset; > + } > + > + /* > + * When the replacement argument (during invocation) length = > + * replaced parameter (in the macro function definition and > + * its expansion) length > + */ > + else > + { > + > + /* > + * We still need to reset the offset for each iteration even when > + * arg and param lengths are same since any macro func invocation > + * could use various cases for each separate arg-param pair > + */ > + PrevOffset = Args->Offset[i]; > + temp = strstr (AslGbl_MacroTokenBuffer, Args->Name); > + > +ResetHere3: > + temp = strstr (temp, Args->Name); > + Args->Offset[i] = strlen (AslGbl_MacroTokenBuffer) - > + strlen (temp); > + if (Args->Offset[i] == 0) > + { > + goto JumpHere3; > + } > + if ((strchr (macro_sep, AslGbl_MacroTokenBuffer[(Args->Offset[i] - 1)])) && > + (strchr (macro_sep, AslGbl_MacroTokenBuffer[(Args->Offset[i] + strlen (Args->Name))]))) > + { > + Args->Offset[i] += 0; > + } > + else > + { > + temp += strlen (Args->Name); > + goto ResetHere3; > + } > + > +JumpHere3: > + PrReplaceData ( > + &AslGbl_MacroTokenBuffer[Args->Offset[i]], > + strlen (Args->Name), Token, strlen (Token)); > + temp = NULL; > + Args->Offset[i] = PrevOffset; > + } > +} > + > + > /******************************************************************************* > * > * FUNCTION: PrReplaceData > @@ -291,13 +523,13 @@ PrError ( > * BufferToAdd - Data to be inserted into target buffer > * LengthToAdd - Length of BufferToAdd > * > - * RETURN: None > + * RETURN: Pointer to where the buffer is replaced with data > * > * DESCRIPTION: Generic buffer data replacement. > * > ******************************************************************************/ > > -void > +char * > PrReplaceData ( > char *Buffer, > UINT32 LengthToRemove, > @@ -325,12 +557,14 @@ PrReplaceData ( > } > } > > + > /* Now we can move in the new data */ > > if (LengthToAdd > 0) > { > memmove (Buffer, BufferToAdd, LengthToAdd); > } > + return (Buffer + LengthToAdd); > } > > > diff --git a/src/acpica/source/components/debugger/dbcmds.c b/src/acpica/source/components/debugger/dbcmds.c > index 6f551476..b8c2b422 100644 > --- a/src/acpica/source/components/debugger/dbcmds.c > +++ b/src/acpica/source/components/debugger/dbcmds.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/debugger/dbconvert.c b/src/acpica/source/components/debugger/dbconvert.c > index 9d1e1ddd..0b852261 100644 > --- a/src/acpica/source/components/debugger/dbconvert.c > +++ b/src/acpica/source/components/debugger/dbconvert.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/debugger/dbdisply.c b/src/acpica/source/components/debugger/dbdisply.c > index 276217f5..ad69737f 100644 > --- a/src/acpica/source/components/debugger/dbdisply.c > +++ b/src/acpica/source/components/debugger/dbdisply.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/debugger/dbexec.c b/src/acpica/source/components/debugger/dbexec.c > index eed0aa35..73759c88 100644 > --- a/src/acpica/source/components/debugger/dbexec.c > +++ b/src/acpica/source/components/debugger/dbexec.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/debugger/dbfileio.c b/src/acpica/source/components/debugger/dbfileio.c > index 09f8f227..8fc11da8 100644 > --- a/src/acpica/source/components/debugger/dbfileio.c > +++ b/src/acpica/source/components/debugger/dbfileio.c > @@ -9,7 +9,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/debugger/dbhistry.c b/src/acpica/source/components/debugger/dbhistry.c > index 31bfc3c5..ecdfaeba 100644 > --- a/src/acpica/source/components/debugger/dbhistry.c > +++ b/src/acpica/source/components/debugger/dbhistry.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/debugger/dbinput.c b/src/acpica/source/components/debugger/dbinput.c > index 0f21b731..5e5c6289 100644 > --- a/src/acpica/source/components/debugger/dbinput.c > +++ b/src/acpica/source/components/debugger/dbinput.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/debugger/dbmethod.c b/src/acpica/source/components/debugger/dbmethod.c > index 82202e8e..5060bf6d 100644 > --- a/src/acpica/source/components/debugger/dbmethod.c > +++ b/src/acpica/source/components/debugger/dbmethod.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/debugger/dbnames.c b/src/acpica/source/components/debugger/dbnames.c > index 963f8125..040fed24 100644 > --- a/src/acpica/source/components/debugger/dbnames.c > +++ b/src/acpica/source/components/debugger/dbnames.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -884,6 +884,9 @@ AcpiDbDisplayObjects ( > { > ObjectInfo = ACPI_ALLOCATE_ZEROED (sizeof (ACPI_OBJECT_INFO)); > > + if (!ObjectInfo) > + return (AE_NO_MEMORY); > + > /* Walk the namespace from the root */ > > (void) AcpiWalkNamespace (ACPI_TYPE_ANY, ACPI_ROOT_OBJECT, > diff --git a/src/acpica/source/components/debugger/dbobject.c b/src/acpica/source/components/debugger/dbobject.c > index b8bade43..fe38be90 100644 > --- a/src/acpica/source/components/debugger/dbobject.c > +++ b/src/acpica/source/components/debugger/dbobject.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/debugger/dbstats.c b/src/acpica/source/components/debugger/dbstats.c > index 30a686dc..a30d9948 100644 > --- a/src/acpica/source/components/debugger/dbstats.c > +++ b/src/acpica/source/components/debugger/dbstats.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/debugger/dbtest.c b/src/acpica/source/components/debugger/dbtest.c > index 23690ed6..a4d48c7a 100644 > --- a/src/acpica/source/components/debugger/dbtest.c > +++ b/src/acpica/source/components/debugger/dbtest.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/debugger/dbutils.c b/src/acpica/source/components/debugger/dbutils.c > index ef649b2c..70664ee2 100644 > --- a/src/acpica/source/components/debugger/dbutils.c > +++ b/src/acpica/source/components/debugger/dbutils.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/debugger/dbxface.c b/src/acpica/source/components/debugger/dbxface.c > index c44e1d0d..667e90e5 100644 > --- a/src/acpica/source/components/debugger/dbxface.c > +++ b/src/acpica/source/components/debugger/dbxface.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/disassembler/dmbuffer.c b/src/acpica/source/components/disassembler/dmbuffer.c > index d5d813c8..79f5a3cc 100644 > --- a/src/acpica/source/components/disassembler/dmbuffer.c > +++ b/src/acpica/source/components/disassembler/dmbuffer.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/disassembler/dmcstyle.c b/src/acpica/source/components/disassembler/dmcstyle.c > index f0bef68e..0af72d1e 100644 > --- a/src/acpica/source/components/disassembler/dmcstyle.c > +++ b/src/acpica/source/components/disassembler/dmcstyle.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/disassembler/dmdeferred.c b/src/acpica/source/components/disassembler/dmdeferred.c > index 82ce2bec..3a1ca550 100644 > --- a/src/acpica/source/components/disassembler/dmdeferred.c > +++ b/src/acpica/source/components/disassembler/dmdeferred.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/disassembler/dmnames.c b/src/acpica/source/components/disassembler/dmnames.c > index 8852921f..356af85f 100644 > --- a/src/acpica/source/components/disassembler/dmnames.c > +++ b/src/acpica/source/components/disassembler/dmnames.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/disassembler/dmopcode.c b/src/acpica/source/components/disassembler/dmopcode.c > index 1cfe710d..8f201d21 100644 > --- a/src/acpica/source/components/disassembler/dmopcode.c > +++ b/src/acpica/source/components/disassembler/dmopcode.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/disassembler/dmresrc.c b/src/acpica/source/components/disassembler/dmresrc.c > index 0a183e9c..644c8a99 100644 > --- a/src/acpica/source/components/disassembler/dmresrc.c > +++ b/src/acpica/source/components/disassembler/dmresrc.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -203,6 +203,7 @@ static ACPI_RESOURCE_HANDLER AcpiGbl_DmResourceDispatch [] = > AcpiDmPinGroupDescriptor, /* 0x10, ACPI_RESOURCE_NAME_PIN_GROUP */ > AcpiDmPinGroupFunctionDescriptor, /* 0x11, ACPI_RESOURCE_NAME_PIN_GROUP_FUNCTION */ > AcpiDmPinGroupConfigDescriptor, /* 0x12, ACPI_RESOURCE_NAME_PIN_GROUP_CONFIG */ > + AcpiDmClockInputDescriptor, /* 0x13, ACPI_RESOURCE_NAME_CLOCK_INPUT */ > }; > > > diff --git a/src/acpica/source/components/disassembler/dmresrcl.c b/src/acpica/source/components/disassembler/dmresrcl.c > index 9aa6ac1f..88d19036 100644 > --- a/src/acpica/source/components/disassembler/dmresrcl.c > +++ b/src/acpica/source/components/disassembler/dmresrcl.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -1112,7 +1112,7 @@ AcpiDmInterruptDescriptor ( > { > AcpiDmIndent (Level + 1); > AcpiOsPrintf ("0x%8.8X,\n", > - (UINT32) Resource->ExtendedIrq.Interrupts[i]); > + (UINT32) Resource->ExtendedIrq.u.Interrupts[i]); > } > > AcpiDmIndent (Level); > diff --git a/src/acpica/source/components/disassembler/dmresrcl2.c b/src/acpica/source/components/disassembler/dmresrcl2.c > index 59d00f6c..1d732e21 100644 > --- a/src/acpica/source/components/disassembler/dmresrcl2.c > +++ b/src/acpica/source/components/disassembler/dmresrcl2.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -523,6 +523,46 @@ AcpiDmGpioDescriptor ( > } > } > > +void > +AcpiDmClockInputDescriptor ( > + ACPI_OP_WALK_INFO *Info, > + AML_RESOURCE *Resource, > + UINT32 Length, > + UINT32 Level) > +{ > + char *DeviceName = NULL; > + UINT8 *ResourceIndex = NULL; > + AcpiDmIndent (Level); > + > + AcpiOsPrintf ("ClockInput ("); > + > + AcpiOsPrintf ("0x%8.8X, ", Resource->ClockInput.FrequencyNumerator); > + > + AcpiOsPrintf ("0x%4.4X, ", Resource->ClockInput.FrequencyDivisor); > + > + AcpiOsPrintf ("%s, ", > + AcpiGbl_ClockInputScale [ACPI_EXTRACT_2BIT_FLAG (Resource->ClockInput.Flags, 1)]); > + > + AcpiOsPrintf ("%s, ", > + AcpiGbl_ClockInputMode [ACPI_GET_1BIT_FLAG (Resource->ClockInput.Flags)]); > + > + if (Length > sizeof(Resource->ClockInput)) > + { > + DeviceName = ACPI_ADD_PTR (char, > + Resource, sizeof(Resource->ClockInput)+1), > + AcpiUtPrintString (DeviceName, ACPI_UINT16_MAX); > + > + AcpiOsPrintf (", "); > + ResourceIndex = ACPI_ADD_PTR (UINT8, > + Resource, sizeof(Resource->ClockInput)), > + > + AcpiOsPrintf ("0x%2.2X", *ResourceIndex); > + } > + > + AcpiOsPrintf (")\n"); > + > +} > + > /******************************************************************************* > * > * FUNCTION: AcpiDmPinFunctionDescriptor > diff --git a/src/acpica/source/components/disassembler/dmresrcs.c b/src/acpica/source/components/disassembler/dmresrcs.c > index db5ce5db..35883625 100644 > --- a/src/acpica/source/components/disassembler/dmresrcs.c > +++ b/src/acpica/source/components/disassembler/dmresrcs.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/disassembler/dmutils.c b/src/acpica/source/components/disassembler/dmutils.c > index 2a7b7b33..b6c133f5 100644 > --- a/src/acpica/source/components/disassembler/dmutils.c > +++ b/src/acpica/source/components/disassembler/dmutils.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/disassembler/dmwalk.c b/src/acpica/source/components/disassembler/dmwalk.c > index 7d2429b7..beaa5f0a 100644 > --- a/src/acpica/source/components/disassembler/dmwalk.c > +++ b/src/acpica/source/components/disassembler/dmwalk.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/dispatcher/dsargs.c b/src/acpica/source/components/dispatcher/dsargs.c > index 52246693..6b9e4a35 100644 > --- a/src/acpica/source/components/dispatcher/dsargs.c > +++ b/src/acpica/source/components/dispatcher/dsargs.c > @@ -9,7 +9,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/dispatcher/dscontrol.c b/src/acpica/source/components/dispatcher/dscontrol.c > index 1d7d676c..205b9b55 100644 > --- a/src/acpica/source/components/dispatcher/dscontrol.c > +++ b/src/acpica/source/components/dispatcher/dscontrol.c > @@ -9,7 +9,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/dispatcher/dsdebug.c b/src/acpica/source/components/dispatcher/dsdebug.c > index 9111a215..06f7ec81 100644 > --- a/src/acpica/source/components/dispatcher/dsdebug.c > +++ b/src/acpica/source/components/dispatcher/dsdebug.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/dispatcher/dsfield.c b/src/acpica/source/components/dispatcher/dsfield.c > index 2d3851ff..37cc25a9 100644 > --- a/src/acpica/source/components/dispatcher/dsfield.c > +++ b/src/acpica/source/components/dispatcher/dsfield.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/dispatcher/dsinit.c b/src/acpica/source/components/dispatcher/dsinit.c > index 5f941f0c..79e55719 100644 > --- a/src/acpica/source/components/dispatcher/dsinit.c > +++ b/src/acpica/source/components/dispatcher/dsinit.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/dispatcher/dsmethod.c b/src/acpica/source/components/dispatcher/dsmethod.c > index d5fc3038..02d9c6be 100644 > --- a/src/acpica/source/components/dispatcher/dsmethod.c > +++ b/src/acpica/source/components/dispatcher/dsmethod.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -705,7 +705,7 @@ AcpiDsCallControlMethod ( > if (!Info) > { > Status = AE_NO_MEMORY; > - goto Cleanup; > + goto PopWalkState; > } > > Info->Parameters = &ThisWalkState->Operands[0]; > @@ -717,7 +717,7 @@ AcpiDsCallControlMethod ( > ACPI_FREE (Info); > if (ACPI_FAILURE (Status)) > { > - goto Cleanup; > + goto PopWalkState; > } > > NextWalkState->MethodNestingDepth = ThisWalkState->MethodNestingDepth + 1; > @@ -764,6 +764,12 @@ AcpiDsCallControlMethod ( > return_ACPI_STATUS (Status); > > > +PopWalkState: > + > + /* On error, pop the walk state to be deleted from thread */ > + > + AcpiDsPopWalkState(Thread); > + > Cleanup: > > /* On error, we must terminate the method properly */ > diff --git a/src/acpica/source/components/dispatcher/dsmthdat.c b/src/acpica/source/components/dispatcher/dsmthdat.c > index af156790..1461af5d 100644 > --- a/src/acpica/source/components/dispatcher/dsmthdat.c > +++ b/src/acpica/source/components/dispatcher/dsmthdat.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/dispatcher/dsobject.c b/src/acpica/source/components/dispatcher/dsobject.c > index 5ffd198b..147edc29 100644 > --- a/src/acpica/source/components/dispatcher/dsobject.c > +++ b/src/acpica/source/components/dispatcher/dsobject.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/dispatcher/dsopcode.c b/src/acpica/source/components/dispatcher/dsopcode.c > index 190be1b3..7689df63 100644 > --- a/src/acpica/source/components/dispatcher/dsopcode.c > +++ b/src/acpica/source/components/dispatcher/dsopcode.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/dispatcher/dspkginit.c b/src/acpica/source/components/dispatcher/dspkginit.c > index bd2bf2e3..a159d769 100644 > --- a/src/acpica/source/components/dispatcher/dspkginit.c > +++ b/src/acpica/source/components/dispatcher/dspkginit.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/dispatcher/dsutils.c b/src/acpica/source/components/dispatcher/dsutils.c > index b159b34c..059e0559 100644 > --- a/src/acpica/source/components/dispatcher/dsutils.c > +++ b/src/acpica/source/components/dispatcher/dsutils.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/dispatcher/dswexec.c b/src/acpica/source/components/dispatcher/dswexec.c > index 686f03c8..5ae0ad71 100644 > --- a/src/acpica/source/components/dispatcher/dswexec.c > +++ b/src/acpica/source/components/dispatcher/dswexec.c > @@ -9,7 +9,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -569,9 +569,11 @@ AcpiDsExecEndOp ( > > /* > * All opcodes require operand resolution, with the only exceptions > - * being the ObjectType and SizeOf operators. > + * being the ObjectType and SizeOf operators as well as opcodes that > + * take no arguments. > */ > - if (!(WalkState->OpInfo->Flags & AML_NO_OPERAND_RESOLVE)) > + if (!(WalkState->OpInfo->Flags & AML_NO_OPERAND_RESOLVE) && > + (WalkState->OpInfo->Flags & AML_HAS_ARGS)) > { > /* Resolve all operands */ > > diff --git a/src/acpica/source/components/dispatcher/dswload.c b/src/acpica/source/components/dispatcher/dswload.c > index 4fdf955a..74071c2e 100644 > --- a/src/acpica/source/components/dispatcher/dswload.c > +++ b/src/acpica/source/components/dispatcher/dswload.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/dispatcher/dswload2.c b/src/acpica/source/components/dispatcher/dswload2.c > index 496ee91f..c48b555a 100644 > --- a/src/acpica/source/components/dispatcher/dswload2.c > +++ b/src/acpica/source/components/dispatcher/dswload2.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/dispatcher/dswscope.c b/src/acpica/source/components/dispatcher/dswscope.c > index dad0c497..bce120c1 100644 > --- a/src/acpica/source/components/dispatcher/dswscope.c > +++ b/src/acpica/source/components/dispatcher/dswscope.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/dispatcher/dswstate.c b/src/acpica/source/components/dispatcher/dswstate.c > index 68b7f3d1..cc648e3a 100644 > --- a/src/acpica/source/components/dispatcher/dswstate.c > +++ b/src/acpica/source/components/dispatcher/dswstate.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -785,9 +785,14 @@ AcpiDsInitAmlWalk ( > > > WalkState->ParserState.Aml = > - WalkState->ParserState.AmlStart = AmlStart; > + WalkState->ParserState.AmlStart = > WalkState->ParserState.AmlEnd = > - WalkState->ParserState.PkgEnd = AmlStart + AmlLength; > + WalkState->ParserState.PkgEnd = AmlStart; > + /* Avoid undefined behavior: applying zero offset to null pointer */ > + if (AmlLength != 0) { > + WalkState->ParserState.AmlEnd += AmlLength; > + WalkState->ParserState.PkgEnd += AmlLength; > + } > > /* The NextOp of the NextWalk will be the beginning of the method */ > > diff --git a/src/acpica/source/components/events/evevent.c b/src/acpica/source/components/events/evevent.c > index b92646a4..913cbd14 100644 > --- a/src/acpica/source/components/events/evevent.c > +++ b/src/acpica/source/components/events/evevent.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -438,7 +438,7 @@ AcpiEvFixedEventDispatch ( > (void) AcpiWriteBitRegister ( > AcpiGbl_FixedEventInfo[Event].EnableRegisterId, > (Event == ACPI_EVENT_PCIE_WAKE) ? > - ACPI_ENABLE_EVENT : ACPI_DISABLE_EVENT); > + ACPI_ENABLE_EVENT : ACPI_DISABLE_EVENT); > > ACPI_ERROR ((AE_INFO, > "No installed handler for fixed event - %s (%u), disabling", > diff --git a/src/acpica/source/components/events/evglock.c b/src/acpica/source/components/events/evglock.c > index 79b519a0..5992671b 100644 > --- a/src/acpica/source/components/events/evglock.c > +++ b/src/acpica/source/components/events/evglock.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/events/evgpe.c b/src/acpica/source/components/events/evgpe.c > index b246567d..d7dcc3ea 100644 > --- a/src/acpica/source/components/events/evgpe.c > +++ b/src/acpica/source/components/events/evgpe.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/events/evgpeblk.c b/src/acpica/source/components/events/evgpeblk.c > index 4dac205e..7317f6e0 100644 > --- a/src/acpica/source/components/events/evgpeblk.c > +++ b/src/acpica/source/components/events/evgpeblk.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/events/evgpeinit.c b/src/acpica/source/components/events/evgpeinit.c > index 6f0472cf..adbe86eb 100644 > --- a/src/acpica/source/components/events/evgpeinit.c > +++ b/src/acpica/source/components/events/evgpeinit.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/events/evgpeutil.c b/src/acpica/source/components/events/evgpeutil.c > index 1f66717d..23f6369f 100644 > --- a/src/acpica/source/components/events/evgpeutil.c > +++ b/src/acpica/source/components/events/evgpeutil.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/events/evhandler.c b/src/acpica/source/components/events/evhandler.c > index e0859c30..47393a7d 100644 > --- a/src/acpica/source/components/events/evhandler.c > +++ b/src/acpica/source/components/events/evhandler.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/events/evmisc.c b/src/acpica/source/components/events/evmisc.c > index b6c6eb6a..40548b50 100644 > --- a/src/acpica/source/components/events/evmisc.c > +++ b/src/acpica/source/components/events/evmisc.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/events/evregion.c b/src/acpica/source/components/events/evregion.c > index fb0cc436..73db629f 100644 > --- a/src/acpica/source/components/events/evregion.c > +++ b/src/acpica/source/components/events/evregion.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/events/evrgnini.c b/src/acpica/source/components/events/evrgnini.c > index 7cbbe30c..6d329cb2 100644 > --- a/src/acpica/source/components/events/evrgnini.c > +++ b/src/acpica/source/components/events/evrgnini.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/events/evsci.c b/src/acpica/source/components/events/evsci.c > index 26891925..bb850e4d 100644 > --- a/src/acpica/source/components/events/evsci.c > +++ b/src/acpica/source/components/events/evsci.c > @@ -9,7 +9,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/events/evxface.c b/src/acpica/source/components/events/evxface.c > index 245ca8a4..ef2fbcc4 100644 > --- a/src/acpica/source/components/events/evxface.c > +++ b/src/acpica/source/components/events/evxface.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/events/evxfevnt.c b/src/acpica/source/components/events/evxfevnt.c > index 3384e098..2b95395d 100644 > --- a/src/acpica/source/components/events/evxfevnt.c > +++ b/src/acpica/source/components/events/evxfevnt.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/events/evxfgpe.c b/src/acpica/source/components/events/evxfgpe.c > index 87dab0f8..fe354d21 100644 > --- a/src/acpica/source/components/events/evxfgpe.c > +++ b/src/acpica/source/components/events/evxfgpe.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/events/evxfregn.c b/src/acpica/source/components/events/evxfregn.c > index ee44e10d..00fe8620 100644 > --- a/src/acpica/source/components/events/evxfregn.c > +++ b/src/acpica/source/components/events/evxfregn.c > @@ -9,7 +9,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -163,13 +163,14 @@ > > /******************************************************************************* > * > - * FUNCTION: AcpiInstallAddressSpaceHandler > + * FUNCTION: AcpiInstallAddressSpaceHandlerInternal > * > * PARAMETERS: Device - Handle for the device > * SpaceId - The address space ID > * Handler - Address of the handler > * Setup - Address of the setup function > * Context - Value passed to the handler on each access > + * Run_Reg - Run _REG methods for this address space? > * > * RETURN: Status > * > @@ -180,16 +181,19 @@ > * are executed here, and these methods can only be safely executed after > * the default handlers have been installed and the hardware has been > * initialized (via AcpiEnableSubsystem.) > + * To avoid this problem pass FALSE for Run_Reg and later on call > + * AcpiExecuteRegMethods() to execute _REG. > * > ******************************************************************************/ > > -ACPI_STATUS > -AcpiInstallAddressSpaceHandler ( > +static ACPI_STATUS > +AcpiInstallAddressSpaceHandlerInternal ( > ACPI_HANDLE Device, > ACPI_ADR_SPACE_TYPE SpaceId, > ACPI_ADR_SPACE_HANDLER Handler, > ACPI_ADR_SPACE_SETUP Setup, > - void *Context) > + void *Context, > + BOOLEAN Run_Reg) > { > ACPI_NAMESPACE_NODE *Node; > ACPI_STATUS Status; > @@ -231,16 +235,42 @@ AcpiInstallAddressSpaceHandler ( > > /* Run all _REG methods for this address space */ > > - AcpiEvExecuteRegMethods (Node, SpaceId, ACPI_REG_CONNECT); > - > + if (Run_Reg) > + { > + AcpiEvExecuteRegMethods (Node, SpaceId, ACPI_REG_CONNECT); > + } > > UnlockAndExit: > (void) AcpiUtReleaseMutex (ACPI_MTX_NAMESPACE); > return_ACPI_STATUS (Status); > } > > +ACPI_STATUS > +AcpiInstallAddressSpaceHandler ( > + ACPI_HANDLE Device, > + ACPI_ADR_SPACE_TYPE SpaceId, > + ACPI_ADR_SPACE_HANDLER Handler, > + ACPI_ADR_SPACE_SETUP Setup, > + void *Context) > +{ > + return AcpiInstallAddressSpaceHandlerInternal (Device, SpaceId, Handler, Setup, Context, TRUE); > +} > + > ACPI_EXPORT_SYMBOL (AcpiInstallAddressSpaceHandler) > > +ACPI_STATUS > +AcpiInstallAddressSpaceHandlerNo_Reg ( > + ACPI_HANDLE Device, > + ACPI_ADR_SPACE_TYPE SpaceId, > + ACPI_ADR_SPACE_HANDLER Handler, > + ACPI_ADR_SPACE_SETUP Setup, > + void *Context) > +{ > + return AcpiInstallAddressSpaceHandlerInternal (Device, SpaceId, Handler, Setup, Context, FALSE); > +} > + > +ACPI_EXPORT_SYMBOL (AcpiInstallAddressSpaceHandlerNo_Reg) > + > > /******************************************************************************* > * > @@ -387,3 +417,62 @@ UnlockAndExit: > } > > ACPI_EXPORT_SYMBOL (AcpiRemoveAddressSpaceHandler) > + > + > +/******************************************************************************* > + * > + * FUNCTION: AcpiExecuteRegMethods > + * > + * PARAMETERS: Device - Handle for the device > + * SpaceId - The address space ID > + * > + * RETURN: Status > + * > + * DESCRIPTION: Execute _REG for all OpRegions of a given SpaceId. > + * > + ******************************************************************************/ > + > +ACPI_STATUS > +AcpiExecuteRegMethods ( > + ACPI_HANDLE Device, > + ACPI_ADR_SPACE_TYPE SpaceId) > +{ > + ACPI_NAMESPACE_NODE *Node; > + ACPI_STATUS Status; > + > + > + ACPI_FUNCTION_TRACE (AcpiExecuteRegMethods); > + > + > + /* Parameter validation */ > + > + if (!Device) > + { > + return_ACPI_STATUS (AE_BAD_PARAMETER); > + } > + > + Status = AcpiUtAcquireMutex (ACPI_MTX_NAMESPACE); > + if (ACPI_FAILURE (Status)) > + { > + return_ACPI_STATUS (Status); > + } > + > + /* Convert and validate the device handle */ > + > + Node = AcpiNsValidateHandle (Device); > + if (Node) > + { > + /* Run all _REG methods for this address space */ > + > + AcpiEvExecuteRegMethods (Node, SpaceId, ACPI_REG_CONNECT); > + } > + else > + { > + Status = AE_BAD_PARAMETER; > + } > + > + (void) AcpiUtReleaseMutex (ACPI_MTX_NAMESPACE); > + return_ACPI_STATUS (Status); > +} > + > +ACPI_EXPORT_SYMBOL (AcpiExecuteRegMethods) > diff --git a/src/acpica/source/components/executer/exconcat.c b/src/acpica/source/components/executer/exconcat.c > index 335d78f1..f504bc0c 100644 > --- a/src/acpica/source/components/executer/exconcat.c > +++ b/src/acpica/source/components/executer/exconcat.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/executer/exconfig.c b/src/acpica/source/components/executer/exconfig.c > index 11c8ba64..ae95a920 100644 > --- a/src/acpica/source/components/executer/exconfig.c > +++ b/src/acpica/source/components/executer/exconfig.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/executer/exconvrt.c b/src/acpica/source/components/executer/exconvrt.c > index c9572e90..3382b520 100644 > --- a/src/acpica/source/components/executer/exconvrt.c > +++ b/src/acpica/source/components/executer/exconvrt.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/executer/excreate.c b/src/acpica/source/components/executer/excreate.c > index e8381081..56355726 100644 > --- a/src/acpica/source/components/executer/excreate.c > +++ b/src/acpica/source/components/executer/excreate.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/executer/exdebug.c b/src/acpica/source/components/executer/exdebug.c > index 88f75966..5ccfccdb 100644 > --- a/src/acpica/source/components/executer/exdebug.c > +++ b/src/acpica/source/components/executer/exdebug.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/executer/exdump.c b/src/acpica/source/components/executer/exdump.c > index e72ac01f..7a2c4a81 100644 > --- a/src/acpica/source/components/executer/exdump.c > +++ b/src/acpica/source/components/executer/exdump.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/executer/exfield.c b/src/acpica/source/components/executer/exfield.c > index 4175b8ee..f7d09206 100644 > --- a/src/acpica/source/components/executer/exfield.c > +++ b/src/acpica/source/components/executer/exfield.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/executer/exfldio.c b/src/acpica/source/components/executer/exfldio.c > index 30d17c19..c29cd0e8 100644 > --- a/src/acpica/source/components/executer/exfldio.c > +++ b/src/acpica/source/components/executer/exfldio.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/executer/exmisc.c b/src/acpica/source/components/executer/exmisc.c > index 4a1e2ff2..9b6608ba 100644 > --- a/src/acpica/source/components/executer/exmisc.c > +++ b/src/acpica/source/components/executer/exmisc.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/executer/exmutex.c b/src/acpica/source/components/executer/exmutex.c > index 8b335680..3abac6a8 100644 > --- a/src/acpica/source/components/executer/exmutex.c > +++ b/src/acpica/source/components/executer/exmutex.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/executer/exnames.c b/src/acpica/source/components/executer/exnames.c > index 6045bc6b..af68c82f 100644 > --- a/src/acpica/source/components/executer/exnames.c > +++ b/src/acpica/source/components/executer/exnames.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/executer/exoparg1.c b/src/acpica/source/components/executer/exoparg1.c > index 2d9bbddf..82250ff6 100644 > --- a/src/acpica/source/components/executer/exoparg1.c > +++ b/src/acpica/source/components/executer/exoparg1.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/executer/exoparg2.c b/src/acpica/source/components/executer/exoparg2.c > index 8b63d615..29d9dc7e 100644 > --- a/src/acpica/source/components/executer/exoparg2.c > +++ b/src/acpica/source/components/executer/exoparg2.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/executer/exoparg3.c b/src/acpica/source/components/executer/exoparg3.c > index 7b74d32e..a22b7257 100644 > --- a/src/acpica/source/components/executer/exoparg3.c > +++ b/src/acpica/source/components/executer/exoparg3.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/executer/exoparg6.c b/src/acpica/source/components/executer/exoparg6.c > index 5506b2c1..ad69405e 100644 > --- a/src/acpica/source/components/executer/exoparg6.c > +++ b/src/acpica/source/components/executer/exoparg6.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/executer/exprep.c b/src/acpica/source/components/executer/exprep.c > index 6d239d7a..678ee8a1 100644 > --- a/src/acpica/source/components/executer/exprep.c > +++ b/src/acpica/source/components/executer/exprep.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/executer/exregion.c b/src/acpica/source/components/executer/exregion.c > index 01d49065..858d31fe 100644 > --- a/src/acpica/source/components/executer/exregion.c > +++ b/src/acpica/source/components/executer/exregion.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/executer/exresnte.c b/src/acpica/source/components/executer/exresnte.c > index 6801b25b..b5dc24c6 100644 > --- a/src/acpica/source/components/executer/exresnte.c > +++ b/src/acpica/source/components/executer/exresnte.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/executer/exresolv.c b/src/acpica/source/components/executer/exresolv.c > index af5202ab..460c6d77 100644 > --- a/src/acpica/source/components/executer/exresolv.c > +++ b/src/acpica/source/components/executer/exresolv.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/executer/exresop.c b/src/acpica/source/components/executer/exresop.c > index 4abe9376..f4734d89 100644 > --- a/src/acpica/source/components/executer/exresop.c > +++ b/src/acpica/source/components/executer/exresop.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/executer/exserial.c b/src/acpica/source/components/executer/exserial.c > index c92a895a..6d57e376 100644 > --- a/src/acpica/source/components/executer/exserial.c > +++ b/src/acpica/source/components/executer/exserial.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/executer/exstore.c b/src/acpica/source/components/executer/exstore.c > index ba1a05d9..95bb19af 100644 > --- a/src/acpica/source/components/executer/exstore.c > +++ b/src/acpica/source/components/executer/exstore.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/executer/exstoren.c b/src/acpica/source/components/executer/exstoren.c > index df4a6f40..628592f2 100644 > --- a/src/acpica/source/components/executer/exstoren.c > +++ b/src/acpica/source/components/executer/exstoren.c > @@ -9,7 +9,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/executer/exstorob.c b/src/acpica/source/components/executer/exstorob.c > index 56d048a7..f318f027 100644 > --- a/src/acpica/source/components/executer/exstorob.c > +++ b/src/acpica/source/components/executer/exstorob.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/executer/exsystem.c b/src/acpica/source/components/executer/exsystem.c > index 44d3a00b..68a074be 100644 > --- a/src/acpica/source/components/executer/exsystem.c > +++ b/src/acpica/source/components/executer/exsystem.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -303,10 +303,10 @@ AcpiExSystemDoStall ( > else > { > if (HowLongUs > 100) > - { > + { > ACPI_WARNING ((AE_INFO, > "Time parameter %u us > 100 us violating ACPI spec, please fix the firmware.", HowLongUs)); > - } > + } > AcpiOsStall (HowLongUs); > } > > diff --git a/src/acpica/source/components/executer/extrace.c b/src/acpica/source/components/executer/extrace.c > index a677393f..e574e489 100644 > --- a/src/acpica/source/components/executer/extrace.c > +++ b/src/acpica/source/components/executer/extrace.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/executer/exutils.c b/src/acpica/source/components/executer/exutils.c > index e27f567b..3d9dd4fa 100644 > --- a/src/acpica/source/components/executer/exutils.c > +++ b/src/acpica/source/components/executer/exutils.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/hardware/hwacpi.c b/src/acpica/source/components/hardware/hwacpi.c > index 8b322209..1772e795 100644 > --- a/src/acpica/source/components/hardware/hwacpi.c > +++ b/src/acpica/source/components/hardware/hwacpi.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/hardware/hwesleep.c b/src/acpica/source/components/hardware/hwesleep.c > index 85e4cb95..ec03e5ed 100644 > --- a/src/acpica/source/components/hardware/hwesleep.c > +++ b/src/acpica/source/components/hardware/hwesleep.c > @@ -9,7 +9,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/hardware/hwgpe.c b/src/acpica/source/components/hardware/hwgpe.c > index 7f9a5f05..994fc475 100644 > --- a/src/acpica/source/components/hardware/hwgpe.c > +++ b/src/acpica/source/components/hardware/hwgpe.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/hardware/hwpci.c b/src/acpica/source/components/hardware/hwpci.c > index b8e8aa9f..745f9c81 100644 > --- a/src/acpica/source/components/hardware/hwpci.c > +++ b/src/acpica/source/components/hardware/hwpci.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/hardware/hwregs.c b/src/acpica/source/components/hardware/hwregs.c > index 7b4ae88a..c499c111 100644 > --- a/src/acpica/source/components/hardware/hwregs.c > +++ b/src/acpica/source/components/hardware/hwregs.c > @@ -9,7 +9,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/hardware/hwsleep.c b/src/acpica/source/components/hardware/hwsleep.c > index 6667c27e..d9bb8ae0 100644 > --- a/src/acpica/source/components/hardware/hwsleep.c > +++ b/src/acpica/source/components/hardware/hwsleep.c > @@ -9,7 +9,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -476,13 +476,14 @@ AcpiHwLegacyWake ( > ACPI_CLEAR_STATUS); > > /* Enable pcie wake event if support */ > - if ((AcpiGbl_FADT.Flags & ACPI_FADT_PCI_EXPRESS_WAKE)) { > + if ((AcpiGbl_FADT.Flags & ACPI_FADT_PCI_EXPRESS_WAKE)) > + { > (void) AcpiWriteBitRegister ( > - AcpiGbl_FixedEventInfo[ACPI_EVENT_PCIE_WAKE].EnableRegisterId, > - ACPI_DISABLE_EVENT); > + AcpiGbl_FixedEventInfo[ACPI_EVENT_PCIE_WAKE].EnableRegisterId, > + ACPI_DISABLE_EVENT); > (void) AcpiWriteBitRegister ( > - AcpiGbl_FixedEventInfo[ACPI_EVENT_PCIE_WAKE].StatusRegisterId, > - ACPI_CLEAR_STATUS); > + AcpiGbl_FixedEventInfo[ACPI_EVENT_PCIE_WAKE].StatusRegisterId, > + ACPI_CLEAR_STATUS); > } > > AcpiHwExecuteSleepMethod (METHOD_PATHNAME__SST, ACPI_SST_WORKING); > diff --git a/src/acpica/source/components/hardware/hwvalid.c b/src/acpica/source/components/hardware/hwvalid.c > index d297905b..80f0f570 100644 > --- a/src/acpica/source/components/hardware/hwvalid.c > +++ b/src/acpica/source/components/hardware/hwvalid.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -169,8 +169,8 @@ AcpiHwValidateIoRequest ( > * > * The table is used to implement the Microsoft port access rules that > * first appeared in Windows XP. Some ports are always illegal, and some > - * ports are only illegal if the BIOS calls _OSI with a WinXP string or > - * later (meaning that the BIOS itelf is post-XP.) > + * ports are only illegal if the BIOS calls _OSI with nothing newer than > + * the specific _OSI strings. > * > * This provides ACPICA with the desired port protections and > * Microsoft compatibility. > @@ -301,8 +301,8 @@ AcpiHwValidateIoRequest ( > if ((Address <= PortInfo->End) && (LastAddress >= PortInfo->Start)) > { > /* Port illegality may depend on the _OSI calls made by the BIOS */ > - > - if (AcpiGbl_OsiData >= PortInfo->OsiDependency) > + if (PortInfo->OsiDependency == ACPI_ALWAYS_ILLEGAL || > + AcpiGbl_OsiData == PortInfo->OsiDependency) > { > ACPI_DEBUG_PRINT ((ACPI_DB_VALUES, > "Denied AML access to port 0x%8.8X%8.8X/%X (%s 0x%.4X-0x%.4X)\n", > diff --git a/src/acpica/source/components/hardware/hwxface.c b/src/acpica/source/components/hardware/hwxface.c > index 8fd3561a..febe90de 100644 > --- a/src/acpica/source/components/hardware/hwxface.c > +++ b/src/acpica/source/components/hardware/hwxface.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/hardware/hwxfsleep.c b/src/acpica/source/components/hardware/hwxfsleep.c > index 5f8b7db0..4cd7eba8 100644 > --- a/src/acpica/source/components/hardware/hwxfsleep.c > +++ b/src/acpica/source/components/hardware/hwxfsleep.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/namespace/nsaccess.c b/src/acpica/source/components/namespace/nsaccess.c > index 2b810fac..b6d9d849 100644 > --- a/src/acpica/source/components/namespace/nsaccess.c > +++ b/src/acpica/source/components/namespace/nsaccess.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/namespace/nsalloc.c b/src/acpica/source/components/namespace/nsalloc.c > index 560f6f36..70627077 100644 > --- a/src/acpica/source/components/namespace/nsalloc.c > +++ b/src/acpica/source/components/namespace/nsalloc.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/namespace/nsarguments.c b/src/acpica/source/components/namespace/nsarguments.c > index 2da06f2f..bb081b75 100644 > --- a/src/acpica/source/components/namespace/nsarguments.c > +++ b/src/acpica/source/components/namespace/nsarguments.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/namespace/nsconvert.c b/src/acpica/source/components/namespace/nsconvert.c > index 2971f08e..ed2fa03e 100644 > --- a/src/acpica/source/components/namespace/nsconvert.c > +++ b/src/acpica/source/components/namespace/nsconvert.c > @@ -9,7 +9,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/namespace/nsdump.c b/src/acpica/source/components/namespace/nsdump.c > index 36cfbdf6..731c32d9 100644 > --- a/src/acpica/source/components/namespace/nsdump.c > +++ b/src/acpica/source/components/namespace/nsdump.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/namespace/nsdumpdv.c b/src/acpica/source/components/namespace/nsdumpdv.c > index 0cc9b5a5..af0b2965 100644 > --- a/src/acpica/source/components/namespace/nsdumpdv.c > +++ b/src/acpica/source/components/namespace/nsdumpdv.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/namespace/nseval.c b/src/acpica/source/components/namespace/nseval.c > index 1cb07615..23ed486c 100644 > --- a/src/acpica/source/components/namespace/nseval.c > +++ b/src/acpica/source/components/namespace/nseval.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/namespace/nsinit.c b/src/acpica/source/components/namespace/nsinit.c > index c523035f..5ca332eb 100644 > --- a/src/acpica/source/components/namespace/nsinit.c > +++ b/src/acpica/source/components/namespace/nsinit.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/namespace/nsload.c b/src/acpica/source/components/namespace/nsload.c > index c3423e55..0e93791b 100644 > --- a/src/acpica/source/components/namespace/nsload.c > +++ b/src/acpica/source/components/namespace/nsload.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/namespace/nsnames.c b/src/acpica/source/components/namespace/nsnames.c > index c8412c2e..ea3d7d57 100644 > --- a/src/acpica/source/components/namespace/nsnames.c > +++ b/src/acpica/source/components/namespace/nsnames.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/namespace/nsobject.c b/src/acpica/source/components/namespace/nsobject.c > index 82d735eb..842a36a5 100644 > --- a/src/acpica/source/components/namespace/nsobject.c > +++ b/src/acpica/source/components/namespace/nsobject.c > @@ -9,7 +9,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/namespace/nsparse.c b/src/acpica/source/components/namespace/nsparse.c > index 0ac5efb4..86afef09 100644 > --- a/src/acpica/source/components/namespace/nsparse.c > +++ b/src/acpica/source/components/namespace/nsparse.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/namespace/nspredef.c b/src/acpica/source/components/namespace/nspredef.c > index e28d6896..04c3012a 100644 > --- a/src/acpica/source/components/namespace/nspredef.c > +++ b/src/acpica/source/components/namespace/nspredef.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/namespace/nsprepkg.c b/src/acpica/source/components/namespace/nsprepkg.c > index e6959dac..2bfc89a7 100644 > --- a/src/acpica/source/components/namespace/nsprepkg.c > +++ b/src/acpica/source/components/namespace/nsprepkg.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/namespace/nsrepair.c b/src/acpica/source/components/namespace/nsrepair.c > index 59f7aa33..7aa02a80 100644 > --- a/src/acpica/source/components/namespace/nsrepair.c > +++ b/src/acpica/source/components/namespace/nsrepair.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -328,9 +328,10 @@ AcpiNsSimpleRepair ( > */ > if (!ReturnObject) > { > - if (ExpectedBtypes && (!(ExpectedBtypes & ACPI_RTYPE_NONE))) > + if (ExpectedBtypes) > { > - if (PackageIndex != ACPI_NOT_PACKAGE_ELEMENT) > + if (!(ExpectedBtypes & ACPI_RTYPE_NONE) && > + PackageIndex != ACPI_NOT_PACKAGE_ELEMENT) > { > ACPI_WARN_PREDEFINED ((AE_INFO, Info->FullPathname, > ACPI_WARN_ALWAYS, "Found unexpected NULL package element")); > @@ -342,13 +343,14 @@ AcpiNsSimpleRepair ( > return (AE_OK); /* Repair was successful */ > } > } > - else > + > + if (ExpectedBtypes != ACPI_RTYPE_NONE) > { > ACPI_WARN_PREDEFINED ((AE_INFO, Info->FullPathname, > - ACPI_WARN_ALWAYS, "Missing expected return value")); > + ACPI_WARN_ALWAYS, > + "Missing expected return value")); > + return (AE_AML_NO_RETURN_VALUE); > } > - > - return (AE_AML_NO_RETURN_VALUE); > } > } > > diff --git a/src/acpica/source/components/namespace/nsrepair2.c b/src/acpica/source/components/namespace/nsrepair2.c > index bf76b7dd..7f50c05f 100644 > --- a/src/acpica/source/components/namespace/nsrepair2.c > +++ b/src/acpica/source/components/namespace/nsrepair2.c > @@ -9,7 +9,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -565,13 +565,6 @@ AcpiNsRepair_CID ( > > (*ElementPtr)->Common.ReferenceCount = > OriginalRefCount; > - > - /* > - * The OriginalElement holds a reference from the package object > - * that represents _HID. Since a new element was created by _HID, > - * remove the reference from the _CID package. > - */ > - AcpiUtRemoveReference (OriginalElement); > } > > ElementPtr++; > @@ -702,7 +695,7 @@ AcpiNsRepair_HID ( > char *Dest; > > > - ACPI_FUNCTION_NAME (NsRepair_HID); > + ACPI_FUNCTION_TRACE (NsRepair_HID); > > > /* We only care about string _HID objects (not integers) */ > diff --git a/src/acpica/source/components/namespace/nssearch.c b/src/acpica/source/components/namespace/nssearch.c > index 706963c4..a992a7e4 100644 > --- a/src/acpica/source/components/namespace/nssearch.c > +++ b/src/acpica/source/components/namespace/nssearch.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/namespace/nsutils.c b/src/acpica/source/components/namespace/nsutils.c > index f4208179..1162fca7 100644 > --- a/src/acpica/source/components/namespace/nsutils.c > +++ b/src/acpica/source/components/namespace/nsutils.c > @@ -9,7 +9,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -500,7 +500,7 @@ AcpiNsBuildInternalName ( > * > * PARAMETERS: *ExternalName - External representation of name > * **Converted Name - Where to return the resulting > - * internal represention of the name > + * internal representation of the name > * > * RETURN: Status > * > diff --git a/src/acpica/source/components/namespace/nswalk.c b/src/acpica/source/components/namespace/nswalk.c > index 3d0fc639..7abc6b81 100644 > --- a/src/acpica/source/components/namespace/nswalk.c > +++ b/src/acpica/source/components/namespace/nswalk.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/namespace/nsxfeval.c b/src/acpica/source/components/namespace/nsxfeval.c > index 9724d024..a4213f28 100644 > --- a/src/acpica/source/components/namespace/nsxfeval.c > +++ b/src/acpica/source/components/namespace/nsxfeval.c > @@ -9,7 +9,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/namespace/nsxfname.c b/src/acpica/source/components/namespace/nsxfname.c > index 7d52330f..c19b0244 100644 > --- a/src/acpica/source/components/namespace/nsxfname.c > +++ b/src/acpica/source/components/namespace/nsxfname.c > @@ -9,7 +9,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -192,7 +192,7 @@ AcpiNsCopyDeviceId ( > ACPI_STATUS > AcpiGetHandle ( > ACPI_HANDLE Parent, > - ACPI_STRING Pathname, > + const char *Pathname, > ACPI_HANDLE *RetHandle) > { > ACPI_STATUS Status; > diff --git a/src/acpica/source/components/namespace/nsxfobj.c b/src/acpica/source/components/namespace/nsxfobj.c > index 2aa1fc17..50ca5b2e 100644 > --- a/src/acpica/source/components/namespace/nsxfobj.c > +++ b/src/acpica/source/components/namespace/nsxfobj.c > @@ -9,7 +9,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/parser/psargs.c b/src/acpica/source/components/parser/psargs.c > index f510623e..ff0780c6 100644 > --- a/src/acpica/source/components/parser/psargs.c > +++ b/src/acpica/source/components/parser/psargs.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/parser/psloop.c b/src/acpica/source/components/parser/psloop.c > index 2b4c1f2a..e759e081 100644 > --- a/src/acpica/source/components/parser/psloop.c > +++ b/src/acpica/source/components/parser/psloop.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/parser/psobject.c b/src/acpica/source/components/parser/psobject.c > index 18a32ef3..ff1069d0 100644 > --- a/src/acpica/source/components/parser/psobject.c > +++ b/src/acpica/source/components/parser/psobject.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/parser/psopcode.c b/src/acpica/source/components/parser/psopcode.c > index 540716af..db0c2e47 100644 > --- a/src/acpica/source/components/parser/psopcode.c > +++ b/src/acpica/source/components/parser/psopcode.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/parser/psopinfo.c b/src/acpica/source/components/parser/psopinfo.c > index fcb080ca..99fada10 100644 > --- a/src/acpica/source/components/parser/psopinfo.c > +++ b/src/acpica/source/components/parser/psopinfo.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/parser/psparse.c b/src/acpica/source/components/parser/psparse.c > index e0cd5915..f7e584b9 100644 > --- a/src/acpica/source/components/parser/psparse.c > +++ b/src/acpica/source/components/parser/psparse.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/parser/psscope.c b/src/acpica/source/components/parser/psscope.c > index 269410a6..9fe84e38 100644 > --- a/src/acpica/source/components/parser/psscope.c > +++ b/src/acpica/source/components/parser/psscope.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/parser/pstree.c b/src/acpica/source/components/parser/pstree.c > index 92f62304..cbcb3599 100644 > --- a/src/acpica/source/components/parser/pstree.c > +++ b/src/acpica/source/components/parser/pstree.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/parser/psutils.c b/src/acpica/source/components/parser/psutils.c > index a9ea3536..f1017936 100644 > --- a/src/acpica/source/components/parser/psutils.c > +++ b/src/acpica/source/components/parser/psutils.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/parser/pswalk.c b/src/acpica/source/components/parser/pswalk.c > index 31232fd4..4a5fd986 100644 > --- a/src/acpica/source/components/parser/pswalk.c > +++ b/src/acpica/source/components/parser/pswalk.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/parser/psxface.c b/src/acpica/source/components/parser/psxface.c > index 295da1af..d44cb9f6 100644 > --- a/src/acpica/source/components/parser/psxface.c > +++ b/src/acpica/source/components/parser/psxface.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/resources/rsaddr.c b/src/acpica/source/components/resources/rsaddr.c > index 93d45ca3..beee8380 100644 > --- a/src/acpica/source/components/resources/rsaddr.c > +++ b/src/acpica/source/components/resources/rsaddr.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -431,13 +431,17 @@ AcpiRsGetAddressCommon ( > ACPI_RESOURCE *Resource, > AML_RESOURCE *Aml) > { > - ACPI_FUNCTION_ENTRY (); > + /* Avoid undefined behavior: member access within misaligned address */ > + > + AML_RESOURCE_ADDRESS Address; > + memcpy(&Address, Aml, sizeof(Address)); > > + ACPI_FUNCTION_ENTRY(); > > /* Validate the Resource Type */ > > - if ((Aml->Address.ResourceType > 2) && > - (Aml->Address.ResourceType < 0xC0)) > + if ((Address.ResourceType > 2) && > + (Address.ResourceType < 0xC0)) > { > return (FALSE); > } > @@ -464,7 +468,7 @@ AcpiRsGetAddressCommon ( > /* Generic resource type, just grab the TypeSpecific byte */ > > Resource->Data.Address.Info.TypeSpecific = > - Aml->Address.SpecificFlags; > + Address.SpecificFlags; > } > > return (TRUE); > diff --git a/src/acpica/source/components/resources/rscalc.c b/src/acpica/source/components/resources/rscalc.c > index c966636b..55694f1e 100644 > --- a/src/acpica/source/components/resources/rscalc.c > +++ b/src/acpica/source/components/resources/rscalc.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -480,6 +480,13 @@ AcpiRsGetAmlLength ( > > break; > > + case ACPI_RESOURCE_TYPE_CLOCK_INPUT: > + > + TotalSize = (ACPI_RS_LENGTH) (TotalSize + > + Resource->Data.ClockInput.ResourceSource.StringLength); > + > + break; > + > > case ACPI_RESOURCE_TYPE_SERIAL_BUS: > > @@ -733,14 +740,19 @@ AcpiRsGetListLength ( > } > break; > > - case ACPI_RESOURCE_NAME_SERIAL_BUS: > + case ACPI_RESOURCE_NAME_SERIAL_BUS: { > + /* Avoid undefined behavior: member access within misaligned address */ > + > + AML_RESOURCE_COMMON_SERIALBUS CommonSerialBus; > + memcpy(&CommonSerialBus, AmlResource, sizeof(CommonSerialBus)); > > MinimumAmlResourceLength = AcpiGbl_ResourceAmlSerialBusSizes[ > - AmlResource->CommonSerialBus.Type]; > + CommonSerialBus.Type]; > ExtraStructBytes += > - AmlResource->CommonSerialBus.ResourceLength - > + CommonSerialBus.ResourceLength - > MinimumAmlResourceLength; > break; > + } > > case ACPI_RESOURCE_NAME_PIN_CONFIG: > > @@ -789,6 +801,12 @@ AcpiRsGetListLength ( > > break; > > + case ACPI_RESOURCE_NAME_CLOCK_INPUT: > + ExtraStructBytes = AcpiRsStreamOptionLength ( > + ResourceLength, MinimumAmlResourceLength); > + > + break; > + > default: > > break; > @@ -803,8 +821,13 @@ AcpiRsGetListLength ( > if (AcpiUtGetResourceType (AmlBuffer) == > ACPI_RESOURCE_NAME_SERIAL_BUS) > { > + /* Avoid undefined behavior: member access within misaligned address */ > + > + AML_RESOURCE_COMMON_SERIALBUS CommonSerialBus; > + memcpy(&CommonSerialBus, AmlResource, sizeof(CommonSerialBus)); > + > BufferSize = AcpiGbl_ResourceStructSerialBusSizes[ > - AmlResource->CommonSerialBus.Type] + ExtraStructBytes; > + CommonSerialBus.Type] + ExtraStructBytes; > } > else > { > diff --git a/src/acpica/source/components/resources/rscreate.c b/src/acpica/source/components/resources/rscreate.c > index 6c230bce..583abe1a 100644 > --- a/src/acpica/source/components/resources/rscreate.c > +++ b/src/acpica/source/components/resources/rscreate.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -475,9 +475,9 @@ AcpiRsCreatePciRoutingTable ( > /* Use *remaining* length of the buffer as max for pathname */ > > PathBuffer.Length = OutputBuffer->Length - > - (UINT32) ((UINT8 *) UserPrt->Source - > + (UINT32) ((UINT8 *) UserPrt->u.Source - > (UINT8 *) OutputBuffer->Pointer); > - PathBuffer.Pointer = UserPrt->Source; > + PathBuffer.Pointer = UserPrt->u.Source; > > Status = AcpiNsHandleToPathname ( > (ACPI_HANDLE) Node, &PathBuffer, FALSE); > @@ -488,12 +488,12 @@ AcpiRsCreatePciRoutingTable ( > > /* +1 to include null terminator */ > > - UserPrt->Length += (UINT32) strlen (UserPrt->Source) + 1; > + UserPrt->Length += (UINT32) strlen (UserPrt->u.Source) + 1; > break; > > case ACPI_TYPE_STRING: > > - strcpy (UserPrt->Source, ObjDesc->String.Pointer); > + strcpy (UserPrt->u.Source, ObjDesc->String.Pointer); > > /* > * Add to the Length field the length of the string > diff --git a/src/acpica/source/components/resources/rsdump.c b/src/acpica/source/components/resources/rsdump.c > index e8f13724..02fc37ca 100644 > --- a/src/acpica/source/components/resources/rsdump.c > +++ b/src/acpica/source/components/resources/rsdump.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/resources/rsdumpinfo.c b/src/acpica/source/components/resources/rsdumpinfo.c > index 83b22caa..2801e0d7 100644 > --- a/src/acpica/source/components/resources/rsdumpinfo.c > +++ b/src/acpica/source/components/resources/rsdumpinfo.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -182,7 +182,7 @@ ACPI_RSDUMP_INFO AcpiRsDumpIrq[7] = > {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (Irq.Polarity), "Polarity", AcpiGbl_LlDecode}, > {ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET (Irq.Shareable), "Sharing", AcpiGbl_ShrDecode}, > {ACPI_RSD_UINT8 , ACPI_RSD_OFFSET (Irq.InterruptCount), "Interrupt Count", NULL}, > - {ACPI_RSD_SHORTLIST,ACPI_RSD_OFFSET (Irq.Interrupts[0]), "Interrupt List", NULL} > + {ACPI_RSD_SHORTLIST,ACPI_RSD_OFFSET (Irq.u.Interrupts[0]), "Interrupt List", NULL} > }; > > ACPI_RSDUMP_INFO AcpiRsDumpDma[6] = > @@ -192,7 +192,7 @@ ACPI_RSDUMP_INFO AcpiRsDumpDma[6] = > {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (Dma.BusMaster), "Mastering", AcpiGbl_BmDecode}, > {ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET (Dma.Transfer), "Transfer Type", AcpiGbl_SizDecode}, > {ACPI_RSD_UINT8, ACPI_RSD_OFFSET (Dma.ChannelCount), "Channel Count", NULL}, > - {ACPI_RSD_SHORTLIST,ACPI_RSD_OFFSET (Dma.Channels[0]), "Channel List", NULL} > + {ACPI_RSD_SHORTLIST,ACPI_RSD_OFFSET (Dma.u.Channels[0]), "Channel List", NULL} > }; > > ACPI_RSDUMP_INFO AcpiRsDumpStartDpf[4] = > @@ -327,7 +327,7 @@ ACPI_RSDUMP_INFO AcpiRsDumpExtIrq[8] = > {ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET (ExtendedIrq.Shareable), "Sharing", AcpiGbl_ShrDecode}, > {ACPI_RSD_SOURCE, ACPI_RSD_OFFSET (ExtendedIrq.ResourceSource), NULL, NULL}, > {ACPI_RSD_UINT8, ACPI_RSD_OFFSET (ExtendedIrq.InterruptCount), "Interrupt Count", NULL}, > - {ACPI_RSD_DWORDLIST,ACPI_RSD_OFFSET (ExtendedIrq.Interrupts[0]), "Interrupt List", NULL} > + {ACPI_RSD_DWORDLIST,ACPI_RSD_OFFSET (ExtendedIrq.u.Interrupts[0]), "Interrupt List", NULL} > }; > > ACPI_RSDUMP_INFO AcpiRsDumpGenericReg[6] = > @@ -374,6 +374,17 @@ ACPI_RSDUMP_INFO AcpiRsDumpPinFunction[10] = > {ACPI_RSD_SHORTLISTX,ACPI_RSD_OFFSET (PinFunction.VendorData), "VendorData", NULL}, > }; > > +ACPI_RSDUMP_INFO AcpiRsDumpClockInput[7] = > +{ > + {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE (AcpiRsDumpClockInput), "ClockInput", NULL}, > + {ACPI_RSD_UINT8, ACPI_RSD_OFFSET (ClockInput.RevisionId), "RevisionId", NULL}, > + {ACPI_RSD_UINT32, ACPI_RSD_OFFSET (ClockInput.FrequencyNumerator), "FrequencyNumerator", NULL}, > + {ACPI_RSD_UINT32, ACPI_RSD_OFFSET (ClockInput.FrequencyDivisor), "FrequencyDivisor", NULL}, > + {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (ClockInput.Scale), "Scale", AcpiGbl_ClockInputScale}, > + {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (ClockInput.Mode), "Mode", AcpiGbl_ClockInputMode}, > + {ACPI_RSD_SOURCE, ACPI_RSD_OFFSET (ClockInput.ResourceSource), "ResourceSource", NULL}, > +}; > + > ACPI_RSDUMP_INFO AcpiRsDumpPinConfig[11] = > { > {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE (AcpiRsDumpPinConfig), "PinConfig", NULL}, > @@ -544,7 +555,7 @@ ACPI_RSDUMP_INFO AcpiRsDumpPrt[5] = > {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE (AcpiRsDumpPrt), NULL, NULL}, > {ACPI_RSD_UINT64, ACPI_PRT_OFFSET (Address), "Address", NULL}, > {ACPI_RSD_UINT32, ACPI_PRT_OFFSET (Pin), "Pin", NULL}, > - {ACPI_RSD_STRING, ACPI_PRT_OFFSET (Source[0]), "Source", NULL}, > + {ACPI_RSD_STRING, ACPI_PRT_OFFSET (u.Source[0]), "Source", NULL}, > {ACPI_RSD_UINT32, ACPI_PRT_OFFSET (SourceIndex), "Source Index", NULL} > }; > > diff --git a/src/acpica/source/components/resources/rsinfo.c b/src/acpica/source/components/resources/rsinfo.c > index b9d4df46..551b647b 100644 > --- a/src/acpica/source/components/resources/rsinfo.c > +++ b/src/acpica/source/components/resources/rsinfo.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -197,6 +197,7 @@ ACPI_RSCONVERT_INFO *AcpiGbl_SetResourceDispatch[] = > AcpiRsConvertPinGroup, /* 0x16, ACPI_RESOURCE_TYPE_PIN_GROUP */ > AcpiRsConvertPinGroupFunction, /* 0x17, ACPI_RESOURCE_TYPE_PIN_GROUP_FUNCTION */ > AcpiRsConvertPinGroupConfig, /* 0x18, ACPI_RESOURCE_TYPE_PIN_GROUP_CONFIG */ > + AcpiRsConvertClockInput, /* 0x19, ACPI_RESOURCE_TYPE_CLOCK_INPUT */ > }; > > /* Dispatch tables for AML-to-resource (Get Resource) conversion functions */ > @@ -243,6 +244,7 @@ ACPI_RSCONVERT_INFO *AcpiGbl_GetResourceDispatch[] = > AcpiRsConvertPinGroup, /* 0x10, ACPI_RESOURCE_NAME_PIN_GROUP */ > AcpiRsConvertPinGroupFunction, /* 0x11, ACPI_RESOURCE_NAME_PIN_GROUP_FUNCTION */ > AcpiRsConvertPinGroupConfig, /* 0x12, ACPI_RESOURCE_NAME_PIN_GROUP_CONFIG */ > + AcpiRsConvertClockInput, /* 0x13, ACPI_RESOURCE_NAME_CLOCK_INPUT */ > }; > > /* Subtype table for SerialBus -- I2C, SPI, UART, and CSI2 */ > @@ -288,6 +290,7 @@ ACPI_RSDUMP_INFO *AcpiGbl_DumpResourceDispatch[] = > AcpiRsDumpPinGroup, /* ACPI_RESOURCE_TYPE_PIN_GROUP */ > AcpiRsDumpPinGroupFunction, /* ACPI_RESOURCE_TYPE_PIN_GROUP_FUNCTION */ > AcpiRsDumpPinGroupConfig, /* ACPI_RESOURCE_TYPE_PIN_GROUP_CONFIG */ > + AcpiRsDumpClockInput, /* ACPI_RESOURCE_TYPE_CLOCK_INPUT */ > }; > > ACPI_RSDUMP_INFO *AcpiGbl_DumpSerialBusDispatch[] = > @@ -333,6 +336,7 @@ const UINT8 AcpiGbl_AmlResourceSizes[] = > sizeof (AML_RESOURCE_PIN_GROUP), /* ACPI_RESOURCE_TYPE_PIN_GROUP */ > sizeof (AML_RESOURCE_PIN_GROUP_FUNCTION), /* ACPI_RESOURCE_TYPE_PIN_GROUP_FUNCTION */ > sizeof (AML_RESOURCE_PIN_GROUP_CONFIG), /* ACPI_RESOURCE_TYPE_PIN_GROUP_CONFIG */ > + sizeof (AML_RESOURCE_CLOCK_INPUT), /* ACPI_RESOURCE_TYPE_CLOCK_INPUT */ > }; > > > @@ -378,6 +382,7 @@ const UINT8 AcpiGbl_ResourceStructSizes[] = > ACPI_RS_SIZE (ACPI_RESOURCE_PIN_GROUP), > ACPI_RS_SIZE (ACPI_RESOURCE_PIN_GROUP_FUNCTION), > ACPI_RS_SIZE (ACPI_RESOURCE_PIN_GROUP_CONFIG), > + ACPI_RS_SIZE (ACPI_RESOURCE_CLOCK_INPUT), > }; > > const UINT8 AcpiGbl_AmlResourceSerialBusSizes[] = > diff --git a/src/acpica/source/components/resources/rsio.c b/src/acpica/source/components/resources/rsio.c > index 29932623..1640cdb2 100644 > --- a/src/acpica/source/components/resources/rsio.c > +++ b/src/acpica/source/components/resources/rsio.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/resources/rsirq.c b/src/acpica/source/components/resources/rsirq.c > index 9a8fc18f..10256c50 100644 > --- a/src/acpica/source/components/resources/rsirq.c > +++ b/src/acpica/source/components/resources/rsirq.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -171,7 +171,7 @@ ACPI_RSCONVERT_INFO AcpiRsGetIrq[9] = > > /* Get the IRQ mask (bytes 1:2) */ > > - {ACPI_RSC_BITMASK16,ACPI_RS_OFFSET (Data.Irq.Interrupts[0]), > + {ACPI_RSC_BITMASK16,ACPI_RS_OFFSET (Data.Irq.u.Interrupts[0]), > AML_OFFSET (Irq.IrqMask), > ACPI_RS_OFFSET (Data.Irq.InterruptCount)}, > > @@ -227,7 +227,7 @@ ACPI_RSCONVERT_INFO AcpiRsSetIrq[14] = > > /* Convert interrupt list to 16-bit IRQ bitmask */ > > - {ACPI_RSC_BITMASK16,ACPI_RS_OFFSET (Data.Irq.Interrupts[0]), > + {ACPI_RSC_BITMASK16,ACPI_RS_OFFSET (Data.Irq.u.Interrupts[0]), > AML_OFFSET (Irq.IrqMask), > ACPI_RS_OFFSET (Data.Irq.InterruptCount)}, > > @@ -345,14 +345,14 @@ ACPI_RSCONVERT_INFO AcpiRsConvertExtIrq[10] = > > /* Copy every IRQ in the table, each is 32 bits */ > > - {ACPI_RSC_MOVE32, ACPI_RS_OFFSET (Data.ExtendedIrq.Interrupts[0]), > - AML_OFFSET (ExtendedIrq.Interrupts[0]), > + {ACPI_RSC_MOVE32, ACPI_RS_OFFSET (Data.ExtendedIrq.u.Interrupts[0]), > + AML_OFFSET (ExtendedIrq.u.Interrupts[0]), > 0}, > > /* Optional ResourceSource (Index and String) */ > > {ACPI_RSC_SOURCEX, ACPI_RS_OFFSET (Data.ExtendedIrq.ResourceSource), > - ACPI_RS_OFFSET (Data.ExtendedIrq.Interrupts[0]), > + ACPI_RS_OFFSET (Data.ExtendedIrq.u.Interrupts[0]), > sizeof (AML_RESOURCE_EXTENDED_IRQ)} > }; > > @@ -389,7 +389,7 @@ ACPI_RSCONVERT_INFO AcpiRsConvertDma[6] = > > /* DMA channel mask bits */ > > - {ACPI_RSC_BITMASK, ACPI_RS_OFFSET (Data.Dma.Channels[0]), > + {ACPI_RSC_BITMASK, ACPI_RS_OFFSET (Data.Dma.u.Channels[0]), > AML_OFFSET (Dma.DmaChannelMask), > ACPI_RS_OFFSET (Data.Dma.ChannelCount)} > }; > diff --git a/src/acpica/source/components/resources/rslist.c b/src/acpica/source/components/resources/rslist.c > index fdd24688..cb408197 100644 > --- a/src/acpica/source/components/resources/rslist.c > +++ b/src/acpica/source/components/resources/rslist.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -209,7 +209,12 @@ AcpiRsConvertAmlToResources ( > if (AcpiUtGetResourceType (Aml) == > ACPI_RESOURCE_NAME_SERIAL_BUS) > { > - if (AmlResource->CommonSerialBus.Type > > + /* Avoid undefined behavior: member access within misaligned address */ > + > + AML_RESOURCE_COMMON_SERIALBUS CommonSerialBus; > + memcpy(&CommonSerialBus, AmlResource, sizeof(CommonSerialBus)); > + > + if (CommonSerialBus.Type > > AML_RESOURCE_MAX_SERIALBUSTYPE) > { > ConversionTable = NULL; > @@ -219,7 +224,7 @@ AcpiRsConvertAmlToResources ( > /* This is an I2C, SPI, UART, or CSI2 SerialBus descriptor */ > > ConversionTable = AcpiGbl_ConvertResourceSerialBusDispatch [ > - AmlResource->CommonSerialBus.Type]; > + CommonSerialBus.Type]; > } > } > else > diff --git a/src/acpica/source/components/resources/rsmemory.c b/src/acpica/source/components/resources/rsmemory.c > index e527bad7..170bb679 100644 > --- a/src/acpica/source/components/resources/rsmemory.c > +++ b/src/acpica/source/components/resources/rsmemory.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/resources/rsmisc.c b/src/acpica/source/components/resources/rsmisc.c > index 16c52134..6d11442d 100644 > --- a/src/acpica/source/components/resources/rsmisc.c > +++ b/src/acpica/source/components/resources/rsmisc.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -349,7 +349,8 @@ AcpiRsConvertAmlToResource ( > > case ACPI_RSC_COUNT_SERIAL_VEN: > > - ItemCount = ACPI_GET16 (Source) - Info->Value; > + ACPI_MOVE_16_TO_16(&Temp16, Source); > + ItemCount = Temp16 - Info->Value; > > Resource->Length = Resource->Length + ItemCount; > ACPI_SET16 (Destination, ItemCount); > @@ -357,9 +358,10 @@ AcpiRsConvertAmlToResource ( > > case ACPI_RSC_COUNT_SERIAL_RES: > > + ACPI_MOVE_16_TO_16(&Temp16, Source); > ItemCount = (AmlResourceLength + > sizeof (AML_RESOURCE_LARGE_HEADER)) - > - ACPI_GET16 (Source) - Info->Value; > + Temp16 - Info->Value; > > Resource->Length = Resource->Length + ItemCount; > ACPI_SET16 (Destination, ItemCount); > @@ -437,8 +439,9 @@ AcpiRsConvertAmlToResource ( > > /* Copy the ResourceSource string */ > > + ACPI_MOVE_16_TO_16 (&Temp16, Source); > Source = ACPI_ADD_PTR ( > - void, Aml, (ACPI_GET16 (Source) + Info->Value)); > + void, Aml, (Temp16 + Info->Value)); > AcpiRsMoveData (Target, Source, ItemCount, Info->Opcode); > break; > > diff --git a/src/acpica/source/components/resources/rsserial.c b/src/acpica/source/components/resources/rsserial.c > index 3075b4c4..4c19f890 100644 > --- a/src/acpica/source/components/resources/rsserial.c > +++ b/src/acpica/source/components/resources/rsserial.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -254,6 +254,50 @@ ACPI_RSCONVERT_INFO AcpiRsConvertGpio[18] = > 0}, > }; > > +/******************************************************************************* > + * > + * AcpiRsConvertClockInput > + * > + ******************************************************************************/ > + > +ACPI_RSCONVERT_INFO AcpiRsConvertClockInput[8] = > +{ > + {ACPI_RSC_INITGET, ACPI_RESOURCE_TYPE_CLOCK_INPUT, > + ACPI_RS_SIZE (ACPI_RESOURCE_CLOCK_INPUT), > + ACPI_RSC_TABLE_SIZE (AcpiRsConvertClockInput)}, > + > + {ACPI_RSC_INITSET, ACPI_RESOURCE_NAME_CLOCK_INPUT, > + sizeof (AML_RESOURCE_CLOCK_INPUT), > + 0}, > + > + {ACPI_RSC_MOVE8, ACPI_RS_OFFSET (Data.ClockInput.RevisionId), > + AML_OFFSET (ClockInput.RevisionId), > + 1}, > + > + {ACPI_RSC_1BITFLAG, ACPI_RS_OFFSET (Data.ClockInput.Mode), > + AML_OFFSET (ClockInput.Flags), > + 0}, > + > + {ACPI_RSC_2BITFLAG, ACPI_RS_OFFSET (Data.ClockInput.Scale), > + AML_OFFSET (ClockInput.Flags), > + 1}, > + > + {ACPI_RSC_MOVE16, ACPI_RS_OFFSET (Data.ClockInput.FrequencyDivisor), > + AML_OFFSET (ClockInput.FrequencyDivisor), > + 2}, > + > + {ACPI_RSC_MOVE32, ACPI_RS_OFFSET (Data.ClockInput.FrequencyNumerator), > + AML_OFFSET (ClockInput.FrequencyNumerator), > + 4}, > + > + /* Resource Source */ > + {ACPI_RSC_SOURCE, ACPI_RS_OFFSET (Data.ClockInput.ResourceSource), > + 0, > + sizeof(AML_RESOURCE_CLOCK_INPUT)}, > + > +}; > + > + > /******************************************************************************* > * > * AcpiRsConvertPinfunction > diff --git a/src/acpica/source/components/resources/rsutils.c b/src/acpica/source/components/resources/rsutils.c > index 7110406f..e6889f86 100644 > --- a/src/acpica/source/components/resources/rsutils.c > +++ b/src/acpica/source/components/resources/rsutils.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/resources/rsxface.c b/src/acpica/source/components/resources/rsxface.c > index d3aaf1d0..f46ff346 100644 > --- a/src/acpica/source/components/resources/rsxface.c > +++ b/src/acpica/source/components/resources/rsxface.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/tables/tbdata.c b/src/acpica/source/components/tables/tbdata.c > index d974d951..e0037637 100644 > --- a/src/acpica/source/components/tables/tbdata.c > +++ b/src/acpica/source/components/tables/tbdata.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/tables/tbfadt.c b/src/acpica/source/components/tables/tbfadt.c > index 97876614..d2bd1eb3 100644 > --- a/src/acpica/source/components/tables/tbfadt.c > +++ b/src/acpica/source/components/tables/tbfadt.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/tables/tbfind.c b/src/acpica/source/components/tables/tbfind.c > index 81ed2d97..4adf09e2 100644 > --- a/src/acpica/source/components/tables/tbfind.c > +++ b/src/acpica/source/components/tables/tbfind.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/tables/tbinstal.c b/src/acpica/source/components/tables/tbinstal.c > index 9253bd1d..eda1d0a7 100644 > --- a/src/acpica/source/components/tables/tbinstal.c > +++ b/src/acpica/source/components/tables/tbinstal.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/tables/tbprint.c b/src/acpica/source/components/tables/tbprint.c > index cdad69af..9fd5c7aa 100644 > --- a/src/acpica/source/components/tables/tbprint.c > +++ b/src/acpica/source/components/tables/tbprint.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -294,4 +294,3 @@ AcpiTbPrintTableHeader ( > LocalHeader.AslCompilerId, LocalHeader.AslCompilerRevision)); > } > } > - > diff --git a/src/acpica/source/components/tables/tbutils.c b/src/acpica/source/components/tables/tbutils.c > index 5188d26d..680a69d9 100644 > --- a/src/acpica/source/components/tables/tbutils.c > +++ b/src/acpica/source/components/tables/tbutils.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -323,6 +323,7 @@ AcpiTbGetRootTableEntry ( > UINT8 *TableEntry, > UINT32 TableEntrySize) > { > + UINT32 Address32; > UINT64 Address64; > > > @@ -336,8 +337,8 @@ AcpiTbGetRootTableEntry ( > * 32-bit platform, RSDT: Return 32-bit table entry > * 64-bit platform, RSDT: Expand 32-bit to 64-bit and return > */ > - return ((ACPI_PHYSICAL_ADDRESS) (*ACPI_CAST_PTR ( > - UINT32, TableEntry))); > + ACPI_MOVE_32_TO_32(&Address32, TableEntry); > + return Address32; > } > else > { > diff --git a/src/acpica/source/components/tables/tbxface.c b/src/acpica/source/components/tables/tbxface.c > index 919ad138..b37377ef 100644 > --- a/src/acpica/source/components/tables/tbxface.c > +++ b/src/acpica/source/components/tables/tbxface.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/tables/tbxfload.c b/src/acpica/source/components/tables/tbxfload.c > index ddd9b795..7ae42346 100644 > --- a/src/acpica/source/components/tables/tbxfload.c > +++ b/src/acpica/source/components/tables/tbxfload.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/tables/tbxfroot.c b/src/acpica/source/components/tables/tbxfroot.c > index 97cb65c7..923d05fb 100644 > --- a/src/acpica/source/components/tables/tbxfroot.c > +++ b/src/acpica/source/components/tables/tbxfroot.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/utilities/utaddress.c b/src/acpica/source/components/utilities/utaddress.c > index 5aa12832..e3a50289 100644 > --- a/src/acpica/source/components/utilities/utaddress.c > +++ b/src/acpica/source/components/utilities/utaddress.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/utilities/utalloc.c b/src/acpica/source/components/utilities/utalloc.c > index aa06339c..d4a7e501 100644 > --- a/src/acpica/source/components/utilities/utalloc.c > +++ b/src/acpica/source/components/utilities/utalloc.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/utilities/utascii.c b/src/acpica/source/components/utilities/utascii.c > index db238902..6f6d9229 100644 > --- a/src/acpica/source/components/utilities/utascii.c > +++ b/src/acpica/source/components/utilities/utascii.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/utilities/utbuffer.c b/src/acpica/source/components/utilities/utbuffer.c > index 2cf097bf..be1082e8 100644 > --- a/src/acpica/source/components/utilities/utbuffer.c > +++ b/src/acpica/source/components/utilities/utbuffer.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/utilities/utcache.c b/src/acpica/source/components/utilities/utcache.c > index 2ff1540c..32c527d5 100644 > --- a/src/acpica/source/components/utilities/utcache.c > +++ b/src/acpica/source/components/utilities/utcache.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/utilities/utcksum.c b/src/acpica/source/components/utilities/utcksum.c > index b8ea869b..de97d15f 100644 > --- a/src/acpica/source/components/utilities/utcksum.c > +++ b/src/acpica/source/components/utilities/utcksum.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -172,7 +172,7 @@ > * > * DESCRIPTION: Verifies that the table checksums to zero. Optionally returns > * exception on bad checksum. > - * Note: We don't have to check for a CDAT here, since CDAT is > + * Note: We don't have to check for a CDAT here, since CDAT is > * not in the RSDT/XSDT, and the CDAT table is never installed > * via ACPICA. > * > diff --git a/src/acpica/source/components/utilities/utcopy.c b/src/acpica/source/components/utilities/utcopy.c > index e725d55b..e9024bdd 100644 > --- a/src/acpica/source/components/utilities/utcopy.c > +++ b/src/acpica/source/components/utilities/utcopy.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/utilities/utdebug.c b/src/acpica/source/components/utilities/utdebug.c > index f789e686..b0c3640f 100644 > --- a/src/acpica/source/components/utilities/utdebug.c > +++ b/src/acpica/source/components/utilities/utdebug.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/utilities/utdecode.c b/src/acpica/source/components/utilities/utdecode.c > index 2a49cbd8..b100c61b 100644 > --- a/src/acpica/source/components/utilities/utdecode.c > +++ b/src/acpica/source/components/utilities/utdecode.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/utilities/utdelete.c b/src/acpica/source/components/utilities/utdelete.c > index b36c4bb3..1227b211 100644 > --- a/src/acpica/source/components/utilities/utdelete.c > +++ b/src/acpica/source/components/utilities/utdelete.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/utilities/uterror.c b/src/acpica/source/components/utilities/uterror.c > index 2aee4d54..c88081f9 100644 > --- a/src/acpica/source/components/utilities/uterror.c > +++ b/src/acpica/source/components/utilities/uterror.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/utilities/uteval.c b/src/acpica/source/components/utilities/uteval.c > index f4ccea68..bccbdda5 100644 > --- a/src/acpica/source/components/utilities/uteval.c > +++ b/src/acpica/source/components/utilities/uteval.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/utilities/utexcep.c b/src/acpica/source/components/utilities/utexcep.c > index 279d33fc..094df3ab 100644 > --- a/src/acpica/source/components/utilities/utexcep.c > +++ b/src/acpica/source/components/utilities/utexcep.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/utilities/utglobal.c b/src/acpica/source/components/utilities/utglobal.c > index 43de5c0a..28e4c341 100644 > --- a/src/acpica/source/components/utilities/utglobal.c > +++ b/src/acpica/source/components/utilities/utglobal.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/utilities/uthex.c b/src/acpica/source/components/utilities/uthex.c > index c64d3def..801627e2 100644 > --- a/src/acpica/source/components/utilities/uthex.c > +++ b/src/acpica/source/components/utilities/uthex.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/utilities/utids.c b/src/acpica/source/components/utilities/utids.c > index 498338a1..3df4d97d 100644 > --- a/src/acpica/source/components/utilities/utids.c > +++ b/src/acpica/source/components/utilities/utids.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/utilities/utinit.c b/src/acpica/source/components/utilities/utinit.c > index 0f2cf489..37ec63bc 100644 > --- a/src/acpica/source/components/utilities/utinit.c > +++ b/src/acpica/source/components/utilities/utinit.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/utilities/utlock.c b/src/acpica/source/components/utilities/utlock.c > index 9357279b..e56b7484 100644 > --- a/src/acpica/source/components/utilities/utlock.c > +++ b/src/acpica/source/components/utilities/utlock.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/utilities/utmath.c b/src/acpica/source/components/utilities/utmath.c > index b534bb3e..b854368e 100644 > --- a/src/acpica/source/components/utilities/utmath.c > +++ b/src/acpica/source/components/utilities/utmath.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/utilities/utmisc.c b/src/acpica/source/components/utilities/utmisc.c > index 1efe0afc..64e33672 100644 > --- a/src/acpica/source/components/utilities/utmisc.c > +++ b/src/acpica/source/components/utilities/utmisc.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/utilities/utmutex.c b/src/acpica/source/components/utilities/utmutex.c > index 1f1c1d82..2ce621fa 100644 > --- a/src/acpica/source/components/utilities/utmutex.c > +++ b/src/acpica/source/components/utilities/utmutex.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/utilities/utnonansi.c b/src/acpica/source/components/utilities/utnonansi.c > index e3c2f460..5db70422 100644 > --- a/src/acpica/source/components/utilities/utnonansi.c > +++ b/src/acpica/source/components/utilities/utnonansi.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/utilities/utobject.c b/src/acpica/source/components/utilities/utobject.c > index 52e02beb..f53f3163 100644 > --- a/src/acpica/source/components/utilities/utobject.c > +++ b/src/acpica/source/components/utilities/utobject.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/utilities/utosi.c b/src/acpica/source/components/utilities/utosi.c > index 700f30a6..b6431c88 100644 > --- a/src/acpica/source/components/utilities/utosi.c > +++ b/src/acpica/source/components/utilities/utosi.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/utilities/utownerid.c b/src/acpica/source/components/utilities/utownerid.c > index 30ba6b75..ad2796be 100644 > --- a/src/acpica/source/components/utilities/utownerid.c > +++ b/src/acpica/source/components/utilities/utownerid.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/utilities/utpredef.c b/src/acpica/source/components/utilities/utpredef.c > index 7f97ee7c..6afc6559 100644 > --- a/src/acpica/source/components/utilities/utpredef.c > +++ b/src/acpica/source/components/utilities/utpredef.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/utilities/utresdecode.c b/src/acpica/source/components/utilities/utresdecode.c > index 12ab6875..667f12f8 100644 > --- a/src/acpica/source/components/utilities/utresdecode.c > +++ b/src/acpica/source/components/utilities/utresdecode.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -467,4 +467,17 @@ const char *AcpiGbl_PtypDecode[] = > "Input Schmitt Trigger", > }; > > +const char *AcpiGbl_ClockInputMode[] = > +{ > + "Fixed", > + "Variable", > +}; > + > +const char *AcpiGbl_ClockInputScale[] = > +{ > + "Hz", > + "KHz", > + "MHz", > +}; > + > #endif > diff --git a/src/acpica/source/components/utilities/utresrc.c b/src/acpica/source/components/utilities/utresrc.c > index 26c382d8..f47b2924 100644 > --- a/src/acpica/source/components/utilities/utresrc.c > +++ b/src/acpica/source/components/utilities/utresrc.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -204,6 +204,8 @@ const UINT8 AcpiGbl_ResourceAmlSizes[] = > ACPI_AML_SIZE_LARGE (AML_RESOURCE_PIN_GROUP), > ACPI_AML_SIZE_LARGE (AML_RESOURCE_PIN_GROUP_FUNCTION), > ACPI_AML_SIZE_LARGE (AML_RESOURCE_PIN_GROUP_CONFIG), > + ACPI_AML_SIZE_LARGE (AML_RESOURCE_CLOCK_INPUT), > + > }; > > const UINT8 AcpiGbl_ResourceAmlSerialBusSizes[] = > @@ -264,6 +266,7 @@ static const UINT8 AcpiGbl_ResourceTypes[] = > ACPI_VARIABLE_LENGTH, /* 10 PinGroup */ > ACPI_VARIABLE_LENGTH, /* 11 PinGroupFunction */ > ACPI_VARIABLE_LENGTH, /* 12 PinGroupConfig */ > + ACPI_VARIABLE_LENGTH, /* 13 ClockInput */ > }; > > > @@ -529,16 +532,21 @@ AcpiUtValidateResource ( > AmlResource = ACPI_CAST_PTR (AML_RESOURCE, Aml); > if (ResourceType == ACPI_RESOURCE_NAME_SERIAL_BUS) > { > + /* Avoid undefined behavior: member access within misaligned address */ > + > + AML_RESOURCE_COMMON_SERIALBUS CommonSerialBus; > + memcpy(&CommonSerialBus, AmlResource, sizeof(CommonSerialBus)); > + > /* Validate the BusType field */ > > - if ((AmlResource->CommonSerialBus.Type == 0) || > - (AmlResource->CommonSerialBus.Type > AML_RESOURCE_MAX_SERIALBUSTYPE)) > + if ((CommonSerialBus.Type == 0) || > + (CommonSerialBus.Type > AML_RESOURCE_MAX_SERIALBUSTYPE)) > { > if (WalkState) > { > ACPI_ERROR ((AE_INFO, > "Invalid/unsupported SerialBus resource descriptor: BusType 0x%2.2X", > - AmlResource->CommonSerialBus.Type)); > + CommonSerialBus.Type)); > } > return (AE_AML_INVALID_RESOURCE_TYPE); > } > diff --git a/src/acpica/source/components/utilities/utstate.c b/src/acpica/source/components/utilities/utstate.c > index f089ffea..ec13a07a 100644 > --- a/src/acpica/source/components/utilities/utstate.c > +++ b/src/acpica/source/components/utilities/utstate.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/utilities/utstring.c b/src/acpica/source/components/utilities/utstring.c > index 770f3078..aed0d10c 100644 > --- a/src/acpica/source/components/utilities/utstring.c > +++ b/src/acpica/source/components/utilities/utstring.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/utilities/utstrsuppt.c b/src/acpica/source/components/utilities/utstrsuppt.c > index 0487a4f6..31e720c9 100644 > --- a/src/acpica/source/components/utilities/utstrsuppt.c > +++ b/src/acpica/source/components/utilities/utstrsuppt.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/utilities/utstrtoul64.c b/src/acpica/source/components/utilities/utstrtoul64.c > index 1ef50eac..1aee5d02 100644 > --- a/src/acpica/source/components/utilities/utstrtoul64.c > +++ b/src/acpica/source/components/utilities/utstrtoul64.c > @@ -9,7 +9,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/utilities/uttrack.c b/src/acpica/source/components/utilities/uttrack.c > index 7791fe9b..77e1b659 100644 > --- a/src/acpica/source/components/utilities/uttrack.c > +++ b/src/acpica/source/components/utilities/uttrack.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/utilities/utuuid.c b/src/acpica/source/components/utilities/utuuid.c > index 8fd85d62..055086f1 100644 > --- a/src/acpica/source/components/utilities/utuuid.c > +++ b/src/acpica/source/components/utilities/utuuid.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/utilities/utxface.c b/src/acpica/source/components/utilities/utxface.c > index 74a8ff48..d335bb1a 100644 > --- a/src/acpica/source/components/utilities/utxface.c > +++ b/src/acpica/source/components/utilities/utxface.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/utilities/utxferror.c b/src/acpica/source/components/utilities/utxferror.c > index 77701dfe..6534e1a1 100644 > --- a/src/acpica/source/components/utilities/utxferror.c > +++ b/src/acpica/source/components/utilities/utxferror.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/components/utilities/utxfinit.c b/src/acpica/source/components/utilities/utxfinit.c > index 865fe9d2..0ccaf5ca 100644 > --- a/src/acpica/source/components/utilities/utxfinit.c > +++ b/src/acpica/source/components/utilities/utxfinit.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/include/acapps.h b/src/acpica/source/include/acapps.h > index 382ab170..9662e511 100644 > --- a/src/acpica/source/include/acapps.h > +++ b/src/acpica/source/include/acapps.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -159,7 +159,7 @@ > /* Common info for tool signons */ > > #define ACPICA_NAME "Intel ACPI Component Architecture" > -#define ACPICA_COPYRIGHT "Copyright (c) 2000 - 2022 Intel Corporation" > +#define ACPICA_COPYRIGHT "Copyright (c) 2000 - 2023 Intel Corporation" > > #if ACPI_MACHINE_WIDTH == 64 > #define ACPI_WIDTH " (64-bit version)" > diff --git a/src/acpica/source/include/acbuffer.h b/src/acpica/source/include/acbuffer.h > index 0739feb5..63225aa7 100644 > --- a/src/acpica/source/include/acbuffer.h > +++ b/src/acpica/source/include/acbuffer.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/include/accommon.h b/src/acpica/source/include/accommon.h > index 210035cd..219372d3 100644 > --- a/src/acpica/source/include/accommon.h > +++ b/src/acpica/source/include/accommon.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/include/acconfig.h b/src/acpica/source/include/acconfig.h > index 04f7f4f0..5ae00322 100644 > --- a/src/acpica/source/include/acconfig.h > +++ b/src/acpica/source/include/acconfig.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/include/acconvert.h b/src/acpica/source/include/acconvert.h > index 048fd53e..3aa36a8b 100644 > --- a/src/acpica/source/include/acconvert.h > +++ b/src/acpica/source/include/acconvert.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/include/acdebug.h b/src/acpica/source/include/acdebug.h > index 6716a094..c1596ee8 100644 > --- a/src/acpica/source/include/acdebug.h > +++ b/src/acpica/source/include/acdebug.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/include/acdisasm.h b/src/acpica/source/include/acdisasm.h > index 47ce0b15..afc9034b 100644 > --- a/src/acpica/source/include/acdisasm.h > +++ b/src/acpica/source/include/acdisasm.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -260,6 +260,7 @@ typedef enum > ACPI_DMT_AEST_XRUPT, > ACPI_DMT_AGDI, > ACPI_DMT_ASF, > + ACPI_DMT_ASPT, > ACPI_DMT_CDAT, > ACPI_DMT_CEDT, > ACPI_DMT_DMAR, > @@ -280,6 +281,7 @@ typedef enum > ACPI_DMT_IVRS_UNTERMINATED_STRING, > ACPI_DMT_LPIT, > ACPI_DMT_MADT, > + ACPI_DMT_MPAM_LOCATOR, > ACPI_DMT_NFIT, > ACPI_DMT_NHLT1, > ACPI_DMT_NHLT1a, > @@ -294,6 +296,7 @@ typedef enum > ACPI_DMT_PMTT_VENDOR, > ACPI_DMT_PPTT, > ACPI_DMT_RGRT, > + ACPI_DMT_RHCT, > ACPI_DMT_SDEI, > ACPI_DMT_SDEV, > ACPI_DMT_SLIC, > @@ -399,6 +402,11 @@ extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf2a[]; > extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf3[]; > extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf4[]; > extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsfHdr[]; > +extern ACPI_DMTABLE_INFO AcpiDmTableInfoAspt[]; > +extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsptHdr[]; > +extern ACPI_DMTABLE_INFO AcpiDmTableInfoAspt0[]; > +extern ACPI_DMTABLE_INFO AcpiDmTableInfoAspt1[]; > +extern ACPI_DMTABLE_INFO AcpiDmTableInfoAspt2[]; > extern ACPI_DMTABLE_INFO AcpiDmTableInfoBdat[]; > extern ACPI_DMTABLE_INFO AcpiDmTableInfoBoot[]; > extern ACPI_DMTABLE_INFO AcpiDmTableInfoBert[]; > @@ -550,6 +558,17 @@ extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadtHdr[]; > extern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg[]; > extern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg0[]; > extern ACPI_DMTABLE_INFO AcpiDmTableInfoMchi[]; > +extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam0[]; > +extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1[]; > +extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1A[]; > +extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1B[]; > +extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1C[]; > +extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1D[]; > +extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1E[]; > +extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1F[]; > +extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1G[]; > +extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1Deps[]; > +extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam2[]; > extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst[]; > extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst0[]; > extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst0A[]; > @@ -623,6 +642,12 @@ extern ACPI_DMTABLE_INFO AcpiDmTableInfoPrmtHandler[]; > extern ACPI_DMTABLE_INFO AcpiDmTableInfoRasf[]; > extern ACPI_DMTABLE_INFO AcpiDmTableInfoRgrt[]; > extern ACPI_DMTABLE_INFO AcpiDmTableInfoRgrt0[]; > +extern ACPI_DMTABLE_INFO AcpiDmTableInfoRhct[]; > +extern ACPI_DMTABLE_INFO AcpiDmTableInfoRhctNodeHdr[]; > +extern ACPI_DMTABLE_INFO AcpiDmTableInfoRhctIsa1[]; > +extern ACPI_DMTABLE_INFO AcpiDmTableInfoRhctIsaPad[]; > +extern ACPI_DMTABLE_INFO AcpiDmTableInfoRhctHartInfo1[]; > +extern ACPI_DMTABLE_INFO AcpiDmTableInfoRhctHartInfo2[]; > extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp1[]; > extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp2[]; > extern ACPI_DMTABLE_INFO AcpiDmTableInfoS3pt[]; > @@ -758,6 +783,10 @@ void > AcpiDmDumpAsf ( > ACPI_TABLE_HEADER *Table); > > +void > +AcpiDmDumpAspt ( > + ACPI_TABLE_HEADER *Table); > + > void > AcpiDmDumpCcel ( > ACPI_TABLE_HEADER *Table); > @@ -838,6 +867,10 @@ void > AcpiDmDumpMcfg ( > ACPI_TABLE_HEADER *Table); > > +void > +AcpiDmDumpMpam ( > + ACPI_TABLE_HEADER *Table); > + > void > AcpiDmDumpMpst ( > ACPI_TABLE_HEADER *Table); > @@ -882,6 +915,10 @@ void > AcpiDmDumpRgrt ( > ACPI_TABLE_HEADER *Table); > > +void > +AcpiDmDumpRhct ( > + ACPI_TABLE_HEADER *Table); > + > UINT32 > AcpiDmDumpRsdp ( > ACPI_TABLE_HEADER *Table); > @@ -1323,6 +1360,12 @@ AcpiDmVendorCommon ( > UINT32 Length, > UINT32 Level); > > +void > +AcpiDmClockInputDescriptor ( > + ACPI_OP_WALK_INFO *Info, > + AML_RESOURCE *Resource, > + UINT32 Length, > + UINT32 Level); > > /* > * dmresrcs > diff --git a/src/acpica/source/include/acdispat.h b/src/acpica/source/include/acdispat.h > index 2c44c9f1..3e8ad810 100644 > --- a/src/acpica/source/include/acdispat.h > +++ b/src/acpica/source/include/acdispat.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/include/acevents.h b/src/acpica/source/include/acevents.h > index f8c5d776..f9972d8d 100644 > --- a/src/acpica/source/include/acevents.h > +++ b/src/acpica/source/include/acevents.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/include/acexcep.h b/src/acpica/source/include/acexcep.h > index 92e94972..9271dc4c 100644 > --- a/src/acpica/source/include/acexcep.h > +++ b/src/acpica/source/include/acexcep.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/include/acglobal.h b/src/acpica/source/include/acglobal.h > index 1850d94b..28fc6514 100644 > --- a/src/acpica/source/include/acglobal.h > +++ b/src/acpica/source/include/acglobal.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/include/achware.h b/src/acpica/source/include/achware.h > index 256008c7..6e0631e0 100644 > --- a/src/acpica/source/include/achware.h > +++ b/src/acpica/source/include/achware.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/include/acinterp.h b/src/acpica/source/include/acinterp.h > index d9cec345..4c36708a 100644 > --- a/src/acpica/source/include/acinterp.h > +++ b/src/acpica/source/include/acinterp.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/include/aclocal.h b/src/acpica/source/include/aclocal.h > index 74eb6e27..9c090a07 100644 > --- a/src/acpica/source/include/aclocal.h > +++ b/src/acpica/source/include/aclocal.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -1452,7 +1452,8 @@ typedef struct acpi_port_info > #define ACPI_RESOURCE_NAME_PIN_GROUP 0x90 > #define ACPI_RESOURCE_NAME_PIN_GROUP_FUNCTION 0x91 > #define ACPI_RESOURCE_NAME_PIN_GROUP_CONFIG 0x92 > -#define ACPI_RESOURCE_NAME_LARGE_MAX 0x92 > +#define ACPI_RESOURCE_NAME_CLOCK_INPUT 0x93 > +#define ACPI_RESOURCE_NAME_LARGE_MAX 0x94 > > > /***************************************************************************** > diff --git a/src/acpica/source/include/acmacros.h b/src/acpica/source/include/acmacros.h > index 11fd47cc..66c90b6a 100644 > --- a/src/acpica/source/include/acmacros.h > +++ b/src/acpica/source/include/acmacros.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/include/acnames.h b/src/acpica/source/include/acnames.h > index 846d192b..a6cdd2e2 100644 > --- a/src/acpica/source/include/acnames.h > +++ b/src/acpica/source/include/acnames.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/include/acnamesp.h b/src/acpica/source/include/acnamesp.h > index 7b8d069d..432d9d44 100644 > --- a/src/acpica/source/include/acnamesp.h > +++ b/src/acpica/source/include/acnamesp.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/include/acobject.h b/src/acpica/source/include/acobject.h > index b2c9dd9b..4454c572 100644 > --- a/src/acpica/source/include/acobject.h > +++ b/src/acpica/source/include/acobject.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/include/acopcode.h b/src/acpica/source/include/acopcode.h > index 7e54a47f..f2ce2cd5 100644 > --- a/src/acpica/source/include/acopcode.h > +++ b/src/acpica/source/include/acopcode.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/include/acoutput.h b/src/acpica/source/include/acoutput.h > index cd3d26d5..502d9a94 100644 > --- a/src/acpica/source/include/acoutput.h > +++ b/src/acpica/source/include/acoutput.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/include/acparser.h b/src/acpica/source/include/acparser.h > index 4437d612..0dd0e345 100644 > --- a/src/acpica/source/include/acparser.h > +++ b/src/acpica/source/include/acparser.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/include/acpi.h b/src/acpica/source/include/acpi.h > index 081e3b7d..445e4413 100644 > --- a/src/acpica/source/include/acpi.h > +++ b/src/acpica/source/include/acpi.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/include/acpiosxf.h b/src/acpica/source/include/acpiosxf.h > index 67c11013..c4857cae 100644 > --- a/src/acpica/source/include/acpiosxf.h > +++ b/src/acpica/source/include/acpiosxf.h > @@ -10,7 +10,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/include/acpixf.h b/src/acpica/source/include/acpixf.h > index 7b779375..a7d61033 100644 > --- a/src/acpica/source/include/acpixf.h > +++ b/src/acpica/source/include/acpixf.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -154,7 +154,7 @@ > > /* Current ACPICA subsystem version in YYYYMMDD format */ > > -#define ACPI_CA_VERSION 0x20221020 > +#define ACPI_CA_VERSION 0x20230331 > > #include "acconfig.h" > #include "actypes.h" > @@ -770,7 +770,7 @@ ACPI_EXTERNAL_RETURN_STATUS ( > ACPI_STATUS > AcpiGetHandle ( > ACPI_HANDLE Parent, > - ACPI_STRING Pathname, > + const char *Pathname, > ACPI_HANDLE *RetHandle)) > > ACPI_EXTERNAL_RETURN_STATUS ( > @@ -942,6 +942,21 @@ AcpiInstallAddressSpaceHandler ( > ACPI_ADR_SPACE_SETUP Setup, > void *Context)) > > +ACPI_EXTERNAL_RETURN_STATUS ( > +ACPI_STATUS > +AcpiInstallAddressSpaceHandlerNo_Reg( > + ACPI_HANDLE Device, > + ACPI_ADR_SPACE_TYPE SpaceId, > + ACPI_ADR_SPACE_HANDLER Handler, > + ACPI_ADR_SPACE_SETUP Setup, > + void *Context)) > + > +ACPI_EXTERNAL_RETURN_STATUS ( > +ACPI_STATUS > +AcpiExecuteRegMethods ( > + ACPI_HANDLE Device, > + ACPI_ADR_SPACE_TYPE SpaceId)) > + > ACPI_EXTERNAL_RETURN_STATUS ( > ACPI_STATUS > AcpiRemoveAddressSpaceHandler ( > diff --git a/src/acpica/source/include/acpredef.h b/src/acpica/source/include/acpredef.h > index 9ad8c0ff..ca47e7cc 100644 > --- a/src/acpica/source/include/acpredef.h > +++ b/src/acpica/source/include/acpredef.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/include/acresrc.h b/src/acpica/source/include/acresrc.h > index 8214ed83..85be65dc 100644 > --- a/src/acpica/source/include/acresrc.h > +++ b/src/acpica/source/include/acresrc.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -506,6 +506,7 @@ extern ACPI_RSCONVERT_INFO AcpiRsConvertPinConfig[]; > extern ACPI_RSCONVERT_INFO AcpiRsConvertPinGroup[]; > extern ACPI_RSCONVERT_INFO AcpiRsConvertPinGroupFunction[]; > extern ACPI_RSCONVERT_INFO AcpiRsConvertPinGroupConfig[]; > +extern ACPI_RSCONVERT_INFO AcpiRsConvertClockInput[]; > > /* These resources require separate get/set tables */ > > @@ -562,6 +563,7 @@ extern ACPI_RSDUMP_INFO AcpiRsDumpPinConfig[]; > extern ACPI_RSDUMP_INFO AcpiRsDumpPinGroup[]; > extern ACPI_RSDUMP_INFO AcpiRsDumpPinGroupFunction[]; > extern ACPI_RSDUMP_INFO AcpiRsDumpPinGroupConfig[]; > +extern ACPI_RSDUMP_INFO AcpiRsDumpClockInput[]; > #endif > > #endif /* __ACRESRC_H__ */ > diff --git a/src/acpica/source/include/acrestyp.h b/src/acpica/source/include/acrestyp.h > index f045c200..3065bdce 100644 > --- a/src/acpica/source/include/acrestyp.h > +++ b/src/acpica/source/include/acrestyp.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -290,7 +290,10 @@ typedef struct acpi_resource_irq > UINT8 Shareable; > UINT8 WakeCapable; > UINT8 InterruptCount; > - UINT8 Interrupts[1]; > + union { > + UINT8 Interrupt; > + ACPI_FLEX_ARRAY(UINT8, Interrupts); > + } u; > > } ACPI_RESOURCE_IRQ; > > @@ -300,7 +303,10 @@ typedef struct acpi_resource_dma > UINT8 BusMaster; > UINT8 Transfer; > UINT8 ChannelCount; > - UINT8 Channels[1]; > + union { > + UINT8 Channel; > + ACPI_FLEX_ARRAY(UINT8, Channels); > + } u; > > } ACPI_RESOURCE_DMA; > > @@ -357,7 +363,7 @@ typedef struct acpi_resource_fixed_dma > typedef struct acpi_resource_vendor > { > UINT16 ByteLength; > - UINT8 ByteData[1]; > + UINT8 ByteData[]; > > } ACPI_RESOURCE_VENDOR; > > @@ -368,7 +374,7 @@ typedef struct acpi_resource_vendor_typed > UINT16 ByteLength; > UINT8 UuidSubtype; > UINT8 Uuid[ACPI_UUID_LENGTH]; > - UINT8 ByteData[1]; > + UINT8 ByteData[]; > > } ACPI_RESOURCE_VENDOR_TYPED; > > @@ -538,7 +544,10 @@ typedef struct acpi_resource_extended_irq > UINT8 WakeCapable; > UINT8 InterruptCount; > ACPI_RESOURCE_SOURCE ResourceSource; > - UINT32 Interrupts[1]; > + union { > + UINT32 Interrupt; > + ACPI_FLEX_ARRAY(UINT32, Interrupts); > + } u; > > } ACPI_RESOURCE_EXTENDED_IRQ; > > @@ -770,6 +779,16 @@ typedef struct acpi_resource_pin_config > > } ACPI_RESOURCE_PIN_CONFIG; > > +typedef struct acpi_resource_clock_input > +{ > + UINT8 RevisionId; > + UINT8 Mode; > + UINT8 Scale; > + UINT16 FrequencyDivisor; > + UINT32 FrequencyNumerator; > + ACPI_RESOURCE_SOURCE ResourceSource; > +} ACPI_RESOURCE_CLOCK_INPUT; > + > /* Values for PinConfigType field above */ > > #define ACPI_PIN_CONFIG_DEFAULT 0 > @@ -853,7 +872,8 @@ typedef struct acpi_resource_pin_group_config > #define ACPI_RESOURCE_TYPE_PIN_GROUP 22 /* ACPI 6.2 */ > #define ACPI_RESOURCE_TYPE_PIN_GROUP_FUNCTION 23 /* ACPI 6.2 */ > #define ACPI_RESOURCE_TYPE_PIN_GROUP_CONFIG 24 /* ACPI 6.2 */ > -#define ACPI_RESOURCE_TYPE_MAX 24 > +#define ACPI_RESOURCE_TYPE_CLOCK_INPUT 25 /* ACPI 6.5 */ > +#define ACPI_RESOURCE_TYPE_MAX 25 > > /* Master union for resource descriptors */ > > @@ -888,6 +908,7 @@ typedef union acpi_resource_data > ACPI_RESOURCE_PIN_GROUP PinGroup; > ACPI_RESOURCE_PIN_GROUP_FUNCTION PinGroupFunction; > ACPI_RESOURCE_PIN_GROUP_CONFIG PinGroupConfig; > + ACPI_RESOURCE_CLOCK_INPUT ClockInput; > > /* Common fields */ > > @@ -927,8 +948,10 @@ typedef struct acpi_pci_routing_table > UINT32 Pin; > UINT64 Address; /* here for 64-bit alignment */ > UINT32 SourceIndex; > - char Source[4]; /* pad to 64 bits so sizeof() works in all cases */ > - > + union { > + char Pad[4]; /* pad to 64 bits so sizeof() works in all cases */ > + ACPI_FLEX_ARRAY(char, Source); > + } u; > } ACPI_PCI_ROUTING_TABLE; > > #endif /* __ACRESTYP_H__ */ > diff --git a/src/acpica/source/include/acstruct.h b/src/acpica/source/include/acstruct.h > index d50c7a1b..fe087179 100644 > --- a/src/acpica/source/include/acstruct.h > +++ b/src/acpica/source/include/acstruct.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/include/actables.h b/src/acpica/source/include/actables.h > index e9b070f9..21c34435 100644 > --- a/src/acpica/source/include/actables.h > +++ b/src/acpica/source/include/actables.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/include/actbinfo.h b/src/acpica/source/include/actbinfo.h > index 7ce3c21e..5417aff4 100644 > --- a/src/acpica/source/include/actbinfo.h > +++ b/src/acpica/source/include/actbinfo.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -153,6 +153,7 @@ > * Macros used to generate offsets to specific table fields > */ > #define ACPI_AGDI_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_AGDI,f) > +#define ACPI_ASPT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_ASPT,f) > #define ACPI_FACS_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_FACS,f) > #define ACPI_GAS_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_GENERIC_ADDRESS,f) > #define ACPI_HDR_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_HEADER,f) > @@ -188,6 +189,7 @@ > #define ACPI_PMTT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_PMTT,f) > #define ACPI_RASF_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_RASF,f) > #define ACPI_RGRT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_RGRT,f) > +#define ACPI_RHCT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_RHCT,f) > #define ACPI_S3PT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_S3PT,f) > #define ACPI_SBST_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_SBST,f) > #define ACPI_SDEI_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_SDEI,f) > @@ -234,6 +236,10 @@ > #define ACPI_ASF2a_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASF_CONTROL_DATA,f) > #define ACPI_ASF3_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASF_RMCP,f) > #define ACPI_ASF4_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASF_ADDRESS,f) > +#define ACPI_ASPTH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASPT_HEADER,f) > +#define ACPI_ASPT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASPT_GLOBAL_REGS,f) > +#define ACPI_ASPT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASPT_SEV_MBOX_REGS,f) > +#define ACPI_ASPT2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASPT_ACPI_MBOX_REGS,f) > #define ACPI_CDAT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_CDAT,f) > #define ACPI_CDATH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_CDAT_HEADER,f) > #define ACPI_CDAT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_CDAT_DSMAS,f) > @@ -331,6 +337,16 @@ > #define ACPI_MADT17_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_OEM_DATA,f) > #define ACPI_MADTH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SUBTABLE_HEADER,f) > #define ACPI_MCFG0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MCFG_ALLOCATION,f) > +#define ACPI_MPAM0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPAM_MSC_NODE,f) > +#define ACPI_MPAM1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_NODE,f) > +#define ACPI_MPAM1A_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_CACHE_LOCATOR,f) > +#define ACPI_MPAM1B_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_MEMORY_LOCATOR,f) > +#define ACPI_MPAM1C_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_SMMU_INTERFACE,f) > +#define ACPI_MPAM1D_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_MEMCACHE_INTERFACE,f) > +#define ACPI_MPAM1E_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_ACPI_INTERFACE,f) > +#define ACPI_MPAM1F_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_INTERCONNECT_INTERFACE,f) > +#define ACPI_MPAM1G_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_GENERIC_LOCATOR,f) > +#define ACPI_MPAM2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPAM_FUNC_DEPS,f) > #define ACPI_MPST0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPST_POWER_NODE,f) > #define ACPI_MPST0A_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPST_POWER_STATE,f) > #define ACPI_MPST0B_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPST_COMPONENT,f) > @@ -385,6 +401,9 @@ > #define ACPI_PRMTH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_PRMT_HEADER,f) > #define ACPI_PRMT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PRMT_MODULE_INFO,f) > #define ACPI_PRMT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PRMT_HANDLER_INFO,f) > +#define ACPI_RHCTH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_RHCT_NODE_HEADER,f) > +#define ACPI_RHCT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_RHCT_ISA_STRING,f) > +#define ACPI_RHCTFFFF_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_RHCT_HART_INFO,f) > #define ACPI_S3PTH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_FPDT_HEADER,f) > #define ACPI_S3PT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_S3PT_RESUME,f) > #define ACPI_S3PT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_S3PT_SUSPEND,f) > diff --git a/src/acpica/source/include/actbl.h b/src/acpica/source/include/actbl.h > index f23080fb..2a148491 100644 > --- a/src/acpica/source/include/actbl.h > +++ b/src/acpica/source/include/actbl.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/include/actbl1.h b/src/acpica/source/include/actbl1.h > index 340b636b..1b115ae3 100644 > --- a/src/acpica/source/include/actbl1.h > +++ b/src/acpica/source/include/actbl1.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -170,6 +170,7 @@ > */ > #define ACPI_SIG_AEST "AEST" /* Arm Error Source Table */ > #define ACPI_SIG_ASF "ASF!" /* Alert Standard Format table */ > +#define ACPI_SIG_ASPT "ASPT" /* AMD Secure Processor Table */ > #define ACPI_SIG_BERT "BERT" /* Boot Error Record Table */ > #define ACPI_SIG_BGRT "BGRT" /* Boot Graphics Resource Table */ > #define ACPI_SIG_BOOT "BOOT" /* Simple Boot Flag Table */ > @@ -398,6 +399,86 @@ typedef struct acpi_asf_address > > } ACPI_ASF_ADDRESS; > > +/******************************************************************************* > + * > + * ASPT - AMD Secure Processor Table (Signature "ASPT") > + * Revision 0x1 > + * > + * Conforms to AMD Socket SP5/SP6 Platform ASPT Rev1 Specification, > + * 12 September 2022 > + * > + ******************************************************************************/ > + > +typedef struct acpi_table_aspt > +{ > + ACPI_TABLE_HEADER Header; /* Common ACPI table header */ > + UINT32 NumEntries; > + > +} ACPI_TABLE_ASPT; > + > + > +/* ASPT subtable header */ > + > +typedef struct acpi_aspt_header > +{ > + UINT16 Type; > + UINT16 Length; > + > +} ACPI_ASPT_HEADER; > + > + > +/* Values for Type field above */ > + > +enum AcpiAsptType > +{ > + ACPI_ASPT_TYPE_GLOBAL_REGS = 0, > + ACPI_ASPT_TYPE_SEV_MBOX_REGS = 1, > + ACPI_ASPT_TYPE_ACPI_MBOX_REGS = 2, > + ACPI_ASPT_TYPE_UNKNOWN = 3, > +}; > + > +/* > + * ASPT subtables > + */ > + > +/* 0: ASPT Global Registers */ > + > +typedef struct acpi_aspt_global_regs > +{ > + ACPI_ASPT_HEADER Header; > + UINT32 Reserved; > + UINT64 FeatureRegAddr; > + UINT64 IrqEnRegAddr; > + UINT64 IrqStRegAddr; > + > +} ACPI_ASPT_GLOBAL_REGS; > + > + > +/* 1: ASPT SEV Mailbox Registers */ > + > +typedef struct acpi_aspt_sev_mbox_regs > +{ > + ACPI_ASPT_HEADER Header; > + UINT8 MboxIrqId; > + UINT8 Reserved[3]; > + UINT64 CmdRespRegAddr; > + UINT64 CmdBufLoRegAddr; > + UINT64 CmdBufHiRegAddr; > + > +} ACPI_ASPT_SEV_MBOX_REGS; > + > + > +/* 2: ASPT ACPI Mailbox Registers */ > + > +typedef struct acpi_aspt_acpi_mbox_regs > +{ > + ACPI_ASPT_HEADER Header; > + UINT32 Reserved1; > + UINT64 CmdRespRegAddr; > + UINT64 Reserved2[2]; > + > +} ACPI_ASPT_ACPI_MBOX_REGS; > + > > /******************************************************************************* > * > @@ -495,7 +576,6 @@ typedef struct acpi_table_boot > } ACPI_TABLE_BOOT; > > > - > /******************************************************************************* > * > * CDAT - Coherent Device Attribute Table > @@ -543,7 +623,7 @@ enum AcpiCdatType > > /* Subtable 0: Device Scoped Memory Affinity Structure (DSMAS) */ > > -typedef struct acpi_cadt_dsmas > +typedef struct acpi_cdat_dsmas > { > UINT8 DsmadHandle; > UINT8 Flags; > @@ -1139,7 +1219,10 @@ typedef struct acpi_dmar_andd > ACPI_DMAR_HEADER Header; > UINT8 Reserved[3]; > UINT8 DeviceNumber; > - char DeviceName[1]; > + union { > + char __pad; > + ACPI_FLEX_ARRAY(char, DeviceName); > + } u; > > } ACPI_DMAR_ANDD; > > @@ -1192,7 +1275,7 @@ typedef struct acpi_table_drtm > typedef struct acpi_drtm_vtable_list > { > UINT32 ValidatedTableCount; > - UINT64 ValidatedTables[1]; > + UINT64 ValidatedTables[]; > > } ACPI_DRTM_VTABLE_LIST; > > @@ -1211,7 +1294,7 @@ typedef struct acpi_drtm_resource > typedef struct acpi_drtm_resource_list > { > UINT32 ResourceCount; > - ACPI_DRTM_RESOURCE Resources[1]; > + ACPI_DRTM_RESOURCE Resources[]; > > } ACPI_DRTM_RESOURCE_LIST; > > @@ -1239,7 +1322,7 @@ typedef struct acpi_table_ecdt > ACPI_GENERIC_ADDRESS Data; /* Address of EC data register */ > UINT32 Uid; /* Unique ID - must be same as the EC _UID method */ > UINT8 Gpe; /* The GPE for the EC */ > - UINT8 Id[1]; /* Full namepath of the EC in the ACPI namespace */ > + UINT8 Id[]; /* Full namepath of the EC in the ACPI namespace */ > > } ACPI_TABLE_ECDT; > > diff --git a/src/acpica/source/include/actbl2.h b/src/acpica/source/include/actbl2.h > index 4be5f0fc..9b2812a0 100644 > --- a/src/acpica/source/include/actbl2.h > +++ b/src/acpica/source/include/actbl2.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -179,6 +179,7 @@ > #define ACPI_SIG_MADT "APIC" /* Multiple APIC Description Table */ > #define ACPI_SIG_MCFG "MCFG" /* PCI Memory Mapped Configuration table */ > #define ACPI_SIG_MCHI "MCHI" /* Management Controller Host Interface table */ > +#define ACPI_SIG_MPAM "MPAM" /* Memory System Resource Partitioning and Monitoring Table */ > #define ACPI_SIG_MPST "MPST" /* Memory Power State Table */ > #define ACPI_SIG_MSDM "MSDM" /* Microsoft Data Management Table */ > #define ACPI_SIG_NFIT "NFIT" /* NVDIMM Firmware Interface Table */ > @@ -191,6 +192,7 @@ > #define ACPI_SIG_PRMT "PRMT" /* Platform Runtime Mechanism Table */ > #define ACPI_SIG_RASF "RASF" /* RAS Feature table */ > #define ACPI_SIG_RGRT "RGRT" /* Regulatory Graphics Resource Table */ > +#define ACPI_SIG_RHCT "RHCT" /* RISC-V Hart Capabilities Table */ > #define ACPI_SIG_SBST "SBST" /* Smart Battery Specification Table */ > #define ACPI_SIG_SDEI "SDEI" /* Software Delegated Exception Interface Table */ > #define ACPI_SIG_SDEV "SDEV" /* Secure Devices table */ > @@ -229,13 +231,12 @@ > typedef struct acpi_table_aest > { > ACPI_TABLE_HEADER Header; > - void *NodeArray[]; > > } ACPI_TABLE_AEST; > > /* Common Subtable header - one per Node Structure (Subtable) */ > > -typedef struct acpi_aest_hdr > +typedef struct acpi_aest_hdr > { > UINT8 Type; > UINT16 Length; > @@ -266,7 +267,7 @@ typedef struct acpi_aest_hdr > > /* 0: Processor Error */ > > -typedef struct acpi_aest_processor > +typedef struct acpi_aest_processor > { > UINT32 ProcessorId; > UINT8 ResourceType; > @@ -286,7 +287,7 @@ typedef struct acpi_aest_processor > > /* 0R: Processor Cache Resource Substructure */ > > -typedef struct acpi_aest_processor_cache > +typedef struct acpi_aest_processor_cache > { > UINT32 CacheReference; > UINT32 Reserved; > @@ -302,7 +303,7 @@ typedef struct acpi_aest_processor_cache > > /* 1R: Processor TLB Resource Substructure */ > > -typedef struct acpi_aest_processor_tlb > +typedef struct acpi_aest_processor_tlb > { > UINT32 TlbLevel; > UINT32 Reserved; > @@ -311,7 +312,7 @@ typedef struct acpi_aest_processor_tlb > > /* 2R: Processor Generic Resource Substructure */ > > -typedef struct acpi_aest_processor_generic > +typedef struct acpi_aest_processor_generic > { > UINT32 Resource; > > @@ -319,7 +320,7 @@ typedef struct acpi_aest_processor_generic > > /* 1: Memory Error */ > > -typedef struct acpi_aest_memory > +typedef struct acpi_aest_memory > { > UINT32 SratProximityDomain; > > @@ -327,7 +328,7 @@ typedef struct acpi_aest_memory > > /* 2: Smmu Error */ > > -typedef struct acpi_aest_smmu > +typedef struct acpi_aest_smmu > { > UINT32 IortNodeReference; > UINT32 SubcomponentReference; > @@ -336,7 +337,7 @@ typedef struct acpi_aest_smmu > > /* 3: Vendor Defined */ > > -typedef struct acpi_aest_vendor > +typedef struct acpi_aest_vendor > { > UINT32 AcpiHid; > UINT32 AcpiUid; > @@ -346,7 +347,7 @@ typedef struct acpi_aest_vendor > > /* 4: Gic Error */ > > -typedef struct acpi_aest_gic > +typedef struct acpi_aest_gic > { > UINT32 InterfaceType; > UINT32 InstanceId; > @@ -364,7 +365,7 @@ typedef struct acpi_aest_gic > > /* Node Interface Structure */ > > -typedef struct acpi_aest_node_interface > +typedef struct acpi_aest_node_interface > { > UINT8 Type; > UINT8 Reserved[3]; > @@ -386,7 +387,7 @@ typedef struct acpi_aest_node_interface > > /* Node Interrupt Structure */ > > -typedef struct acpi_aest_node_interrupt > +typedef struct acpi_aest_node_interrupt > { > UINT8 Type; > UINT8 Reserved[2]; > @@ -571,7 +572,7 @@ typedef struct acpi_iort_node > UINT32 Identifier; > UINT32 MappingCount; > UINT32 MappingOffset; > - char NodeData[1]; > + char NodeData[]; > > } ACPI_IORT_NODE; > > @@ -637,7 +638,7 @@ typedef struct acpi_iort_memory_access > typedef struct acpi_iort_its_group > { > UINT32 ItsCount; > - UINT32 Identifiers[1]; /* GIC ITS identifier array */ > + UINT32 Identifiers[]; /* GIC ITS identifier array */ > > } ACPI_IORT_ITS_GROUP; > > @@ -647,7 +648,7 @@ typedef struct acpi_iort_named_component > UINT32 NodeFlags; > UINT64 MemoryProperties; /* Memory access properties */ > UINT8 MemoryAddressLimit; /* Memory address size limit */ > - char DeviceName[1]; /* Path of namespace object */ > + char DeviceName[]; /* Path of namespace object */ > > } ACPI_IORT_NAMED_COMPONENT; > > @@ -663,7 +664,7 @@ typedef struct acpi_iort_root_complex > UINT32 PciSegmentNumber; > UINT8 MemoryAddressLimit; /* Memory address size limit */ > UINT16 PasidCapabilities; /* PASID Capabilities */ > - UINT8 Reserved[1]; /* Reserved, must be zero */ > + UINT8 Reserved[]; /* Reserved, must be zero */ > > } ACPI_IORT_ROOT_COMPLEX; > > @@ -687,7 +688,7 @@ typedef struct acpi_iort_smmu > UINT32 ContextInterruptOffset; > UINT32 PmuInterruptCount; > UINT32 PmuInterruptOffset; > - UINT64 Interrupts[1]; /* Interrupt array */ > + UINT64 Interrupts[]; /* Interrupt array */ > > } ACPI_IORT_SMMU; > > @@ -1134,7 +1135,8 @@ enum AcpiMadtType > ACPI_MADT_TYPE_MSI_PIC = 21, > ACPI_MADT_TYPE_BIO_PIC = 22, > ACPI_MADT_TYPE_LPC_PIC = 23, > - ACPI_MADT_TYPE_RESERVED = 24, /* 24 to 0x7F are reserved */ > + ACPI_MADT_TYPE_RINTC = 24, > + ACPI_MADT_TYPE_RESERVED = 25, /* 25 to 0x7F are reserved */ > ACPI_MADT_TYPE_OEM_RESERVED = 0x80 /* 0x80 to 0xFF are reserved for OEM use */ > }; > > @@ -1239,7 +1241,7 @@ typedef struct acpi_madt_local_sapic > UINT8 Reserved[3]; /* Reserved, must be zero */ > UINT32 LapicFlags; > UINT32 Uid; /* Numeric UID - ACPI 3.0 */ > - char UidString[1]; /* String UID - ACPI 3.0 */ > + char UidString[]; /* String UID - ACPI 3.0 */ > > } ACPI_MADT_LOCAL_SAPIC; > > @@ -1290,7 +1292,7 @@ typedef struct acpi_madt_local_x2apic_nmi > } ACPI_MADT_LOCAL_X2APIC_NMI; > > > -/* 11: Generic Interrupt - GICC (ACPI 5.0 + ACPI 6.0 + ACPI 6.3 changes) */ > +/* 11: Generic Interrupt - GICC (ACPI 5.0 + ACPI 6.0 + ACPI 6.3 + ACPI 6.5 changes) */ > > typedef struct acpi_madt_generic_interrupt > { > @@ -1311,6 +1313,7 @@ typedef struct acpi_madt_generic_interrupt > UINT8 EfficiencyClass; > UINT8 Reserved2[1]; > UINT16 SpeInterrupt; /* ACPI 6.3 */ > + UINT16 TrbeInterrupt; /* ACPI 6.5 */ > > } ACPI_MADT_GENERIC_INTERRUPT; > > @@ -1546,11 +1549,29 @@ enum AcpiMadtLpcPicVersion { > ACPI_MADT_LPC_PIC_VERSION_RESERVED = 2 /* 2 and greater are reserved */ > }; > > +/* 24: RISC-V INTC */ > +struct acpi_madt_rintc { > + ACPI_SUBTABLE_HEADER Header; > + UINT8 Version; > + UINT8 Reserved; > + UINT32 Flags; > + UINT64 HartId; > + UINT32 Uid; /* ACPI processor UID */ > +}; > + > +/* Values for RISC-V INTC Version field above */ > + > +enum AcpiMadtRintcVersion { > + ACPI_MADT_RINTC_VERSION_NONE = 0, > + ACPI_MADT_RINTC_VERSION_V1 = 1, > + ACPI_MADT_RINTC_VERSION_RESERVED = 2 /* 2 and greater are reserved */ > +}; > + > /* 80: OEM data */ > > typedef struct acpi_madt_oem_data > { > - UINT8 OemData[0]; > + ACPI_FLEX_ARRAY(UINT8, OemData); > } ACPI_MADT_OEM_DATA; > > > @@ -1639,6 +1660,132 @@ typedef struct acpi_table_mchi > > } ACPI_TABLE_MCHI; > > +/******************************************************************************* > + * > + * MPAM - Memory System Resource Partitioning and Monitoring > + * > + * Conforms to "ACPI for Memory System Resource Partitioning and Monitoring 2.0" > + * Document number: ARM DEN 0065, December, 2022. > + * > + ******************************************************************************/ > + > +/* MPAM RIS locator types. Table 11, Location types */ > +enum AcpiMpamLocatorType { > + ACPI_MPAM_LOCATION_TYPE_PROCESSOR_CACHE = 0, > + ACPI_MPAM_LOCATION_TYPE_MEMORY = 1, > + ACPI_MPAM_LOCATION_TYPE_SMMU = 2, > + ACPI_MPAM_LOCATION_TYPE_MEMORY_CACHE = 3, > + ACPI_MPAM_LOCATION_TYPE_ACPI_DEVICE = 4, > + ACPI_MPAM_LOCATION_TYPE_INTERCONNECT = 5, > + ACPI_MPAM_LOCATION_TYPE_UNKNOWN = 0xFF > +}; > + > +/* MPAM Functional dependency descriptor. Table 10 */ > +typedef struct acpi_mpam_func_deps > +{ > + UINT32 Producer; > + UINT32 Reserved; > +} ACPI_MPAM_FUNC_DEPS; > + > +/* MPAM Processor cache locator descriptor. Table 13 */ > +typedef struct acpi_mpam_resource_cache_locator > +{ > + UINT64 CacheReference; > + UINT32 Reserved; > +} ACPI_MPAM_RESOURCE_CACHE_LOCATOR; > + > +/* MPAM Memory locator descriptor. Table 14 */ > +typedef struct acpi_mpam_resource_memory_locator > +{ > + UINT64 ProximityDomain; > + UINT32 Reserved; > +} ACPI_MPAM_RESOURCE_MEMORY_LOCATOR; > + > +/* MPAM SMMU locator descriptor. Table 15 */ > +typedef struct acpi_mpam_resource_smmu_locator > +{ > + UINT64 SmmuInterface; > + UINT32 Reserved; > +} ACPI_MPAM_RESOURCE_SMMU_INTERFACE; > + > +/* MPAM Memory-side cache locator descriptor. Table 16 */ > +typedef struct acpi_mpam_resource_memcache_locator > +{ > + UINT8 Reserved[7]; > + UINT8 Level; > + UINT32 Reference; > +} ACPI_MPAM_RESOURCE_MEMCACHE_INTERFACE; > + > +/* MPAM ACPI device locator descriptor. Table 17 */ > +typedef struct acpi_mpam_resource_acpi_locator > +{ > + UINT64 AcpiHwId; > + UINT32 AcpiUniqueId; > +} ACPI_MPAM_RESOURCE_ACPI_INTERFACE; > + > +/* MPAM Interconnect locator descriptor. Table 18 */ > +typedef struct acpi_mpam_resource_interconnect_locator > +{ > + UINT64 InterConnectDescTblOff; > + UINT32 Reserved; > +} ACPI_MPAM_RESOURCE_INTERCONNECT_INTERFACE; > + > +/* MPAM Locator structure. Table 12 */ > +typedef struct acpi_mpam_resource_generic_locator > +{ > + UINT64 Descriptor1; > + UINT32 Descriptor2; > +} ACPI_MPAM_RESOURCE_GENERIC_LOCATOR; > + > +typedef union acpi_mpam_resource_locator > +{ > + ACPI_MPAM_RESOURCE_CACHE_LOCATOR CacheLocator; > + ACPI_MPAM_RESOURCE_MEMORY_LOCATOR MemoryLocator; > + ACPI_MPAM_RESOURCE_SMMU_INTERFACE SmmuLocator; > + ACPI_MPAM_RESOURCE_MEMCACHE_INTERFACE MemCacheLocator; > + ACPI_MPAM_RESOURCE_ACPI_INTERFACE AcpiLocator; > + ACPI_MPAM_RESOURCE_INTERCONNECT_INTERFACE InterconnectIfcLocator; > + ACPI_MPAM_RESOURCE_GENERIC_LOCATOR GenericLocator; > +} ACPI_MPAM_RESOURCE_LOCATOR; > + > +/* Memory System Component Resource Node Structure Table 9 */ > +typedef struct acpi_mpam_resource_node > +{ > + UINT32 Identifier; > + UINT8 RISIndex; > + UINT16 Reserved1; > + UINT8 LocatorType; > + ACPI_MPAM_RESOURCE_LOCATOR Locator; > + UINT32 NumFunctionalDeps; > +} ACPI_MPAM_RESOURCE_NODE; > + > +/* Memory System Component (MSC) Node Structure. Table 4 */ > +typedef struct acpi_mpam_msc_node > +{ > + UINT16 Length; > + UINT8 InterfaceType; > + UINT8 Reserved; > + UINT32 Identifier; > + UINT64 BaseAddress; > + UINT32 MMIOSize; > + UINT32 OverflowInterrupt; > + UINT32 OverflowInterruptFlags; > + UINT32 Reserved1; > + UINT32 OverflowInterruptAffinity; > + UINT32 ErrorInterrupt; > + UINT32 ErrorInterruptFlags; > + UINT32 Reserved2; > + UINT32 ErrorInterruptAffinity; > + UINT32 MaxNrdyUsec; > + UINT64 HardwareIdLinkedDevice; > + UINT32 InstanceIdLinkedDevice; > + UINT32 NumResouceNodes; > +} ACPI_MPAM_MSC_NODE; > + > +typedef struct acpi_table_mpam > +{ > + ACPI_TABLE_HEADER Header; /* Common ACPI table header */ > +} ACPI_TABLE_MPAM; > > /******************************************************************************* > * > @@ -1917,7 +2064,7 @@ typedef struct acpi_nfit_interleave > UINT16 Reserved; /* Reserved, must be zero */ > UINT32 LineCount; > UINT32 LineSize; > - UINT32 LineOffset[1]; /* Variable length */ > + UINT32 LineOffset[]; /* Variable length */ > > } ACPI_NFIT_INTERLEAVE; > > @@ -1928,7 +2075,7 @@ typedef struct acpi_nfit_smbios > { > ACPI_NFIT_HEADER Header; > UINT32 Reserved; /* Reserved, must be zero */ > - UINT8 Data[1]; /* Variable length */ > + UINT8 Data[]; /* Variable length */ > > } ACPI_NFIT_SMBIOS; > > @@ -1994,7 +2141,7 @@ typedef struct acpi_nfit_flush_address > UINT32 DeviceHandle; > UINT16 HintCount; > UINT8 Reserved[6]; /* Reserved, must be zero */ > - UINT64 HintAddress[1]; /* Variable length */ > + UINT64 HintAddress[]; /* Variable length */ > > } ACPI_NFIT_FLUSH_ADDRESS; > > @@ -3129,6 +3276,53 @@ enum AcpiRgrtImageType > }; > > > +/******************************************************************************* > + * > + * RHCT - RISC-V Hart Capabilities Table > + * Version 1 > + * > + ******************************************************************************/ > + > +typedef struct acpi_table_rhct { > + ACPI_TABLE_HEADER Header; /* Common ACPI table header */ > + UINT32 Reserved; > + UINT64 TimeBaseFreq; > + UINT32 NodeCount; > + UINT32 NodeOffset; > +} ACPI_TABLE_RHCT; > + > +/* > + * RHCT subtables > + */ > +typedef struct acpi_rhct_node_header { > + UINT16 Type; > + UINT16 Length; > + UINT16 Revision; > +} ACPI_RHCT_NODE_HEADER; > + > +/* Values for RHCT subtable Type above */ > + > +enum acpi_rhct_node_type { > + ACPI_RHCT_NODE_TYPE_ISA_STRING = 0x0000, > + ACPI_RHCT_NODE_TYPE_HART_INFO = 0xFFFF, > +}; > + > +/* > + * RHCT node specific subtables > + */ > + > +/* ISA string node structure */ > +typedef struct acpi_rhct_isa_string { > + UINT16 IsaLength; > + char Isa[]; > +} ACPI_RHCT_ISA_STRING; > + > +/* Hart Info node structure */ > +typedef struct acpi_rhct_hart_info { > + UINT16 NumOffsets; > + UINT32 Uid; /* ACPI processor UID */ > +} ACPI_RHCT_HART_INFO; > + > /******************************************************************************* > * > * SBST - Smart Battery Specification Table > diff --git a/src/acpica/source/include/actbl3.h b/src/acpica/source/include/actbl3.h > index 7cc633a2..15ef0195 100644 > --- a/src/acpica/source/include/actbl3.h > +++ b/src/acpica/source/include/actbl3.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/include/actypes.h b/src/acpica/source/include/actypes.h > index 92da002a..c0f0a87f 100644 > --- a/src/acpica/source/include/actypes.h > +++ b/src/acpica/source/include/actypes.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -1481,7 +1481,7 @@ typedef struct acpi_mem_space_context > > } ACPI_MEM_SPACE_CONTEXT; > > -typedef struct acpi_data_table_space_context > +typedef struct acpi_data_table_mapping > { > void *Pointer; > > @@ -1574,4 +1574,8 @@ typedef enum > #define ACPI_FALLTHROUGH do {} while(0) > #endif > > +#ifndef ACPI_FLEX_ARRAY > +#define ACPI_FLEX_ARRAY(TYPE, NAME) TYPE NAME[0] > +#endif > + > #endif /* __ACTYPES_H__ */ > diff --git a/src/acpica/source/include/acutils.h b/src/acpica/source/include/acutils.h > index a0e7953b..bdca11c9 100644 > --- a/src/acpica/source/include/acutils.h > +++ b/src/acpica/source/include/acutils.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -196,6 +196,8 @@ extern const char *AcpiGbl_SbDecode[]; > extern const char *AcpiGbl_FcDecode[]; > extern const char *AcpiGbl_PtDecode[]; > extern const char *AcpiGbl_PtypDecode[]; > +extern const char *AcpiGbl_ClockInputMode[]; > +extern const char *AcpiGbl_ClockInputScale[]; > #endif > > /* > diff --git a/src/acpica/source/include/acuuid.h b/src/acpica/source/include/acuuid.h > index 2ab07bb3..cf3abc0f 100644 > --- a/src/acpica/source/include/acuuid.h > +++ b/src/acpica/source/include/acuuid.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/include/amlcode.h b/src/acpica/source/include/amlcode.h > index 25d591e5..62cbffad 100644 > --- a/src/acpica/source/include/amlcode.h > +++ b/src/acpica/source/include/amlcode.h > @@ -10,7 +10,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/include/amlresrc.h b/src/acpica/source/include/amlresrc.h > index e89cd824..a8e288ad 100644 > --- a/src/acpica/source/include/amlresrc.h > +++ b/src/acpica/source/include/amlresrc.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -213,6 +213,8 @@ > #define ACPI_RESTAG_TYPE "_TTP" /* Translation(1), Static (0) */ > #define ACPI_RESTAG_XFERTYPE "_SIZ" /* 8(0), 8And16(1), 16(2) */ > #define ACPI_RESTAG_VENDORDATA "_VEN" > +#define ACPI_RESTAG_FQN "_FQN" > +#define ACPI_RESTAG_FQD "_FQD" > > > /* Default sizes for "small" resource descriptors */ > @@ -501,7 +503,10 @@ typedef struct aml_resource_extended_irq > AML_RESOURCE_LARGE_HEADER_COMMON > UINT8 Flags; > UINT8 InterruptCount; > - UINT32 Interrupts[1]; > + union { > + UINT32 Interrupt; > + ACPI_FLEX_ARRAY(UINT32, Interrupts); > + } u; > /* ResSourceIndex, ResSource optional fields follow */ > > } AML_RESOURCE_EXTENDED_IRQ; > @@ -703,6 +708,23 @@ typedef struct aml_resource_pin_config > > } AML_RESOURCE_PIN_CONFIG; > > +#define AML_RESOURCE_CLOCK_INPUT_REVISION 1 /* ACPI 6.5 */ > + > +typedef struct aml_resource_clock_input > +{ > + AML_RESOURCE_LARGE_HEADER_COMMON > + UINT8 RevisionId; > + UINT16 Flags; > + UINT16 FrequencyDivisor; > + UINT32 FrequencyNumerator; > + /* > + * Optional fields follow immediately: > + * 1) Resource Source index > + * 2) Resource Source String > + */ > +} AML_RESOURCE_CLOCK_INPUT; > + > + > #define AML_RESOURCE_PIN_CONFIG_REVISION 1 /* ACPI 6.2 */ > > typedef struct aml_resource_pin_group > @@ -819,6 +841,7 @@ typedef union aml_resource > AML_RESOURCE_PIN_GROUP PinGroup; > AML_RESOURCE_PIN_GROUP_FUNCTION PinGroupFunction; > AML_RESOURCE_PIN_GROUP_CONFIG PinGroupConfig; > + AML_RESOURCE_CLOCK_INPUT ClockInput; > > /* Utility overlays */ > > diff --git a/src/acpica/source/include/platform/acenv.h b/src/acpica/source/include/platform/acenv.h > index 674c4c7d..1fc692db 100644 > --- a/src/acpica/source/include/platform/acenv.h > +++ b/src/acpica/source/include/platform/acenv.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -358,6 +358,8 @@ > #elif defined(_AED_EFI) || defined(_GNU_EFI) || defined(_EDK2_EFI) > #include "acefi.h" > > +#elif defined(__ZEPHYR__) > +#include "aczephyr.h" > #else > > /* Unknown environment */ > diff --git a/src/acpica/source/include/platform/acenvex.h b/src/acpica/source/include/platform/acenvex.h > index 32db36c6..33e19b68 100644 > --- a/src/acpica/source/include/platform/acenvex.h > +++ b/src/acpica/source/include/platform/acenvex.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/include/platform/acgcc.h b/src/acpica/source/include/platform/acgcc.h > index 3ad22a1f..55a66c6d 100644 > --- a/src/acpica/source/include/platform/acgcc.h > +++ b/src/acpica/source/include/platform/acgcc.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -211,4 +211,15 @@ typedef __builtin_va_list va_list; > #define ACPI_FALLTHROUGH __attribute__((__fallthrough__)) > #endif > > +/* > + * Flexible array members are not allowed to be part of a union under > + * C99, but this is not for any technical reason. Work around the > + * limitation. > + */ > +#define ACPI_FLEX_ARRAY(TYPE, NAME) \ > + struct { \ > + struct { } __Empty_ ## NAME; \ > + TYPE NAME[]; \ > + } > + > #endif /* __ACGCC_H__ */ > diff --git a/src/acpica/source/include/platform/acgccex.h b/src/acpica/source/include/platform/acgccex.h > index 035b999d..156bab47 100644 > --- a/src/acpica/source/include/platform/acgccex.h > +++ b/src/acpica/source/include/platform/acgccex.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/include/platform/aclinux.h b/src/acpica/source/include/platform/aclinux.h > index e9c1954d..da37a2fa 100644 > --- a/src/acpica/source/include/platform/aclinux.h > +++ b/src/acpica/source/include/platform/aclinux.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > @@ -310,7 +310,10 @@ > #define ACPI_USE_STANDARD_HEADERS > > #ifdef ACPI_USE_STANDARD_HEADERS > +#include <stddef.h> > #include <unistd.h> > + > +#define ACPI_OFFSET(d, f) offsetof(d, f) > #endif > > /* Define/disable kernel-specific declarators */ > diff --git a/src/acpica/source/include/platform/aclinuxex.h b/src/acpica/source/include/platform/aclinuxex.h > index 4e84cd4b..a10412a7 100644 > --- a/src/acpica/source/include/platform/aclinuxex.h > +++ b/src/acpica/source/include/platform/aclinuxex.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/os_specific/service_layers/osunixxf.c b/src/acpica/source/os_specific/service_layers/osunixxf.c > index ef1651b6..addccb71 100644 > --- a/src/acpica/source/os_specific/service_layers/osunixxf.c > +++ b/src/acpica/source/os_specific/service_layers/osunixxf.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/tools/acpiexec/aecommon.h b/src/acpica/source/tools/acpiexec/aecommon.h > index 7bfdd278..0745aac2 100644 > --- a/src/acpica/source/tools/acpiexec/aecommon.h > +++ b/src/acpica/source/tools/acpiexec/aecommon.h > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/tools/acpiexec/aeexception.c b/src/acpica/source/tools/acpiexec/aeexception.c > index f0903c1f..326407c8 100644 > --- a/src/acpica/source/tools/acpiexec/aeexception.c > +++ b/src/acpica/source/tools/acpiexec/aeexception.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/tools/acpiexec/aehandlers.c b/src/acpica/source/tools/acpiexec/aehandlers.c > index 9b12aa65..e36a4759 100644 > --- a/src/acpica/source/tools/acpiexec/aehandlers.c > +++ b/src/acpica/source/tools/acpiexec/aehandlers.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/tools/acpiexec/aeinitfile.c b/src/acpica/source/tools/acpiexec/aeinitfile.c > index 600f2c7d..c3d4d8e5 100644 > --- a/src/acpica/source/tools/acpiexec/aeinitfile.c > +++ b/src/acpica/source/tools/acpiexec/aeinitfile.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/tools/acpiexec/aeinstall.c b/src/acpica/source/tools/acpiexec/aeinstall.c > index 28d08d8a..9e1940c3 100644 > --- a/src/acpica/source/tools/acpiexec/aeinstall.c > +++ b/src/acpica/source/tools/acpiexec/aeinstall.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License > diff --git a/src/acpica/source/tools/acpiexec/aeregion.c b/src/acpica/source/tools/acpiexec/aeregion.c > index 400fd66e..f0646729 100644 > --- a/src/acpica/source/tools/acpiexec/aeregion.c > +++ b/src/acpica/source/tools/acpiexec/aeregion.c > @@ -8,7 +8,7 @@ > * > * 1. Copyright Notice > * > - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. > + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. > * All rights reserved. > * > * 2. License Acked-by: Ivan Hu <ivan.hu@canonical.com>
diff --git a/src/acpica/source/common/acfileio.c b/src/acpica/source/common/acfileio.c index 77f7337a..a9118f61 100644 --- a/src/acpica/source/common/acfileio.c +++ b/src/acpica/source/common/acfileio.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/common/acgetline.c b/src/acpica/source/common/acgetline.c index e5d0bf56..b2649927 100644 --- a/src/acpica/source/common/acgetline.c +++ b/src/acpica/source/common/acgetline.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/common/adfile.c b/src/acpica/source/common/adfile.c index 647333d9..8bca7273 100644 --- a/src/acpica/source/common/adfile.c +++ b/src/acpica/source/common/adfile.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/common/adisasm.c b/src/acpica/source/common/adisasm.c index 49338e74..ccb98bfe 100644 --- a/src/acpica/source/common/adisasm.c +++ b/src/acpica/source/common/adisasm.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -789,6 +789,7 @@ AdDoExternalFileList ( AcpiDmFinishNamespaceLoad (AcpiGbl_ParseOpRoot, AcpiGbl_RootNode, OwnerId); AcpiPsDeleteParseTree (AcpiGbl_ParseOpRoot); + AcpiGbl_ParseOpRoot = NULL; ExternalListHead = ExternalListHead->Next; } diff --git a/src/acpica/source/common/adwalk.c b/src/acpica/source/common/adwalk.c index 6d51c7e1..f810abaf 100644 --- a/src/acpica/source/common/adwalk.c +++ b/src/acpica/source/common/adwalk.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/common/ahids.c b/src/acpica/source/common/ahids.c index 05c31bf5..8930dc64 100644 --- a/src/acpica/source/common/ahids.c +++ b/src/acpica/source/common/ahids.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/common/ahpredef.c b/src/acpica/source/common/ahpredef.c index 724abe6a..f4080587 100644 --- a/src/acpica/source/common/ahpredef.c +++ b/src/acpica/source/common/ahpredef.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/common/ahtable.c b/src/acpica/source/common/ahtable.c index 418621b6..6013b941 100644 --- a/src/acpica/source/common/ahtable.c +++ b/src/acpica/source/common/ahtable.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -202,6 +202,7 @@ const AH_TABLE AcpiGbl_SupportedTables[] = {ACPI_SIG_AEST, "Arm Error Source Table"}, {ACPI_SIG_AGDI, "Arm Generic Diagnostic Dump and Reset Device Interface Table"}, {ACPI_SIG_ASF, "Alert Standard Format Table"}, + {ACPI_SIG_ASPT, "AMD Secure Processor Table"}, {ACPI_SIG_BDAT, "BIOS Data ACPI Table"}, {ACPI_SIG_BERT, "Boot Error Record Table"}, {ACPI_SIG_BGRT, "Boot Graphics Resource Table"}, @@ -232,6 +233,7 @@ const AH_TABLE AcpiGbl_SupportedTables[] = {ACPI_SIG_MADT, "Multiple APIC Description Table (MADT)"}, {ACPI_SIG_MCFG, "Memory Mapped Configuration Table"}, {ACPI_SIG_MCHI, "Management Controller Host Interface Table"}, + {ACPI_SIG_MPAM, "Memory System Resource Partitioning and Monitoring Table"}, {ACPI_SIG_MPST, "Memory Power State Table"}, {ACPI_SIG_MSCT, "Maximum System Characteristics Table"}, {ACPI_SIG_MSDM, "Microsoft Data Management Table"}, @@ -244,6 +246,7 @@ const AH_TABLE AcpiGbl_SupportedTables[] = {ACPI_SIG_PPTT, "Processor Properties Topology Table"}, {ACPI_SIG_PRMT, "Platform Runtime Mechanism Table"}, {ACPI_SIG_RASF, "RAS Features Table"}, + {ACPI_SIG_RHCT, "RISC-V Hart Capabilities Table"}, {ACPI_SIG_RGRT, "Regulatory Graphics Resource Table"}, {ACPI_RSDP_NAME,"Root System Description Pointer"}, {ACPI_SIG_RSDT, "Root System Description Table"}, diff --git a/src/acpica/source/common/ahuuids.c b/src/acpica/source/common/ahuuids.c index dcf0c4bb..219f0e8e 100644 --- a/src/acpica/source/common/ahuuids.c +++ b/src/acpica/source/common/ahuuids.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/common/cmfsize.c b/src/acpica/source/common/cmfsize.c index 474ccd95..e303b765 100644 --- a/src/acpica/source/common/cmfsize.c +++ b/src/acpica/source/common/cmfsize.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/common/dmextern.c b/src/acpica/source/common/dmextern.c index 806daa33..6827d5e5 100644 --- a/src/acpica/source/common/dmextern.c +++ b/src/acpica/source/common/dmextern.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -1493,7 +1493,6 @@ AcpiDmMarkExternalConflict ( ACPI_EXTERNAL_LIST *ExternalList = AcpiGbl_ExternalList; char *ExternalPath; char *InternalPath; - char *Temp; ACPI_STATUS Status; @@ -1526,13 +1525,6 @@ AcpiDmMarkExternalConflict ( while (ExternalList) { - Temp = ExternalList->InternalPath; - if ((*ExternalList->InternalPath == AML_ROOT_PREFIX) && - (ExternalList->InternalPath[1])) - { - Temp++; - } - if (!strcmp (ExternalList->InternalPath, InternalPath)) { ExternalList->Flags |= ACPI_EXT_CONFLICTING_DECLARATION; diff --git a/src/acpica/source/common/dmrestag.c b/src/acpica/source/common/dmrestag.c index b6772984..afacf6f7 100644 --- a/src/acpica/source/common/dmrestag.c +++ b/src/acpica/source/common/dmrestag.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -480,6 +480,14 @@ static const ACPI_RESOURCE_TAG AcpiDmIoFlagTags[] = {0, NULL} }; +/* Subtype tables for ClockInput descriptor */ + +static const ACPI_RESOURCE_TAG AcpiDmClockInputTags[] = +{ + {( 6 * 8), ACPI_RESTAG_FQD}, + {( 8 * 8), ACPI_RESTAG_FQN}, + {0, NULL} +}; /* * Dispatch table used to obtain the correct tag table for a descriptor. @@ -531,6 +539,7 @@ static const ACPI_RESOURCE_TAG *AcpiGbl_ResourceTags[] = NULL, /* 0x10, ACPI_RESOURCE_NAME_PIN_GROUP */ AcpiDmPinGroupFunctionTags, /* 0x11, ACPI_RESOURCE_NAME_PIN_GROUP_FUNCTION */ AcpiDmPinConfigTags, /* 0x12, ACPI_RESOURCE_NAME_PIN_GROUP_CONFIG - Same as PinConfig */ + AcpiDmClockInputTags, /* 0x13, ACPI_RESOURCE_NAME_CLOCK_INPUT */ }; /* GPIO Subtypes */ diff --git a/src/acpica/source/common/dmswitch.c b/src/acpica/source/common/dmswitch.c index 4a434736..c6e9f8b0 100644 --- a/src/acpica/source/common/dmswitch.c +++ b/src/acpica/source/common/dmswitch.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/common/dmtable.c b/src/acpica/source/common/dmtable.c index 9b95ecc7..31ca7390 100644 --- a/src/acpica/source/common/dmtable.c +++ b/src/acpica/source/common/dmtable.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -234,6 +234,14 @@ static const char *AcpiDmAsfSubnames[] = "Unknown Subtable Type" /* Reserved */ }; +static const char *AcpiDmAsptSubnames[] = +{ + "ASPT Global Registers", + "ASPT SEV Mailbox Registers", + "ASPT ACPI Mailbox Registers", + "Unknown Subtable Type" /* Reserved */ +}; + static const char *AcpiDmCdatSubnames[] = { "Device Scoped Memory Affinity Structure (DSMAS)", @@ -421,10 +429,22 @@ static const char *AcpiDmMadtSubnames[] = "MSI Interrupt Controller", /* ACPI_MADT_TYPE_MSI_PIC */ "Bridge I/O Interrupt Controller", /* ACPI_MADT_TYPE_BIO_PIC */ "LPC Interrupt Controller", /* ACPI_MADT_TYPE_LPC_PIC */ + "RISC-V Interrupt Controller", /* ACPI_MADT_TYPE_RINTC */ "Unknown Subtable Type", /* Reserved */ "Types 80-FF are used for OEM data" /* Reserved for OEM data */ }; +static const char *AcpiDmMpamSubnames[] = +{ + "Processor cache", /* ACPI_MPAM_LOCATION_TYPE_PROCESSOR_CACHE */ + "Memory", /* ACPI_MPAM_LOCATION_TYPE_MEMORY */ + "SMMU", /* ACPI_MPAM_LOCATION_TYPE_SMMU */ + "Memory-side cache", /* ACPI_MPAM_LOCATION_TYPE_MEMORY_CACHE */ + "ACPI device", /* ACPI_MPAM_LOCATION_TYPE_ACPI_DEVICE */ + "Interconnect", /* ACPI_MPAM_LOCATION_TYPE_INTERCONNECT */ + "Unknown" /* ACPI_MPAM_LOCATION_TYPE_UNKNOWN */ +}; + static const char *AcpiDmNfitSubnames[] = { "System Physical Address Range", /* ACPI_NFIT_TYPE_SYSTEM_ADDRESS */ @@ -672,6 +692,7 @@ const ACPI_DMTABLE_DATA AcpiDmTableData[] = {ACPI_SIG_AGDI, AcpiDmTableInfoAgdi, NULL, NULL, TemplateAgdi}, {ACPI_SIG_APMT, NULL, AcpiDmDumpApmt, DtCompileApmt, TemplateApmt}, {ACPI_SIG_ASF, NULL, AcpiDmDumpAsf, DtCompileAsf, TemplateAsf}, + {ACPI_SIG_ASPT, NULL, AcpiDmDumpAspt, DtCompileAspt, TemplateAspt}, {ACPI_SIG_BDAT, AcpiDmTableInfoBdat, NULL, NULL, TemplateBdat}, {ACPI_SIG_BERT, AcpiDmTableInfoBert, NULL, NULL, TemplateBert}, {ACPI_SIG_BGRT, AcpiDmTableInfoBgrt, NULL, NULL, TemplateBgrt}, @@ -700,6 +721,7 @@ const ACPI_DMTABLE_DATA AcpiDmTableData[] = {ACPI_SIG_MADT, NULL, AcpiDmDumpMadt, DtCompileMadt, TemplateMadt}, {ACPI_SIG_MCFG, NULL, AcpiDmDumpMcfg, DtCompileMcfg, TemplateMcfg}, {ACPI_SIG_MCHI, AcpiDmTableInfoMchi, NULL, NULL, TemplateMchi}, + {ACPI_SIG_MPAM, NULL, AcpiDmDumpMpam, DtCompileMpam, TemplateMpam}, {ACPI_SIG_MPST, AcpiDmTableInfoMpst, AcpiDmDumpMpst, DtCompileMpst, TemplateMpst}, {ACPI_SIG_MSCT, NULL, AcpiDmDumpMsct, DtCompileMsct, TemplateMsct}, {ACPI_SIG_MSDM, NULL, AcpiDmDumpSlic, DtCompileSlic, TemplateMsdm}, @@ -713,6 +735,7 @@ const ACPI_DMTABLE_DATA AcpiDmTableData[] = {ACPI_SIG_PRMT, NULL, AcpiDmDumpPrmt, DtCompilePrmt, TemplatePrmt}, {ACPI_SIG_RASF, AcpiDmTableInfoRasf, NULL, NULL, TemplateRasf}, {ACPI_SIG_RGRT, NULL, AcpiDmDumpRgrt, DtCompileRgrt, TemplateRgrt}, + {ACPI_SIG_RHCT, NULL, AcpiDmDumpRhct, DtCompileRhct, TemplateRhct}, {ACPI_SIG_RSDT, NULL, AcpiDmDumpRsdt, DtCompileRsdt, TemplateRsdt}, {ACPI_SIG_S3PT, NULL, NULL, NULL, TemplateS3pt}, {ACPI_SIG_SBST, AcpiDmTableInfoSbst, NULL, NULL, TemplateSbst}, @@ -1128,6 +1151,7 @@ AcpiDmDumpTable ( case ACPI_DMT_IVRS_DE: case ACPI_DMT_GTDT: case ACPI_DMT_MADT: + case ACPI_DMT_MPAM_LOCATOR: case ACPI_DMT_NHLT1: case ACPI_DMT_NHLT1a: case ACPI_DMT_NHLT1b: @@ -1158,6 +1182,7 @@ AcpiDmDumpTable ( ByteLength = 1; break; + case ACPI_DMT_ASPT: case ACPI_DMT_UINT16: case ACPI_DMT_DMAR: case ACPI_DMT_HEST: @@ -1375,7 +1400,7 @@ AcpiDmDumpTable ( AcpiOsPrintf ("%2.2X\n", (*Target >> 2) & 0xFF); break; - case ACPI_DMT_FLAGS4: + case ACPI_DMT_FLAGS4: AcpiOsPrintf ("%1.1X\n", (*Target >> 4) & 0x03); break; @@ -1661,6 +1686,17 @@ AcpiDmDumpTable ( AcpiDmAestXruptNames[Temp8]); break; + case ACPI_DMT_ASPT: + /* ASPT subtable types */ + Temp16 = ACPI_GET16(Target); + if (Temp16 > ACPI_ASPT_TYPE_UNKNOWN) + { + Temp16 = ACPI_ASPT_TYPE_UNKNOWN; + } + + AcpiOsPrintf(UINT16_FORMAT, Temp16, AcpiDmAsptSubnames[Temp16]); + break; + case ACPI_DMT_ASF: /* ASF subtable types */ @@ -1890,6 +1926,20 @@ AcpiDmDumpTable ( AcpiDmMadtSubnames[Temp8]); break; + case ACPI_DMT_MPAM_LOCATOR: + + /* MPAM subtable locator types */ + + Temp8 = *Target; + if (Temp8 > ACPI_MPAM_LOCATION_TYPE_INTERCONNECT) + { + Temp8 = ACPI_MPAM_LOCATION_TYPE_INTERCONNECT + 1; + } + + AcpiOsPrintf (UINT8_FORMAT, *Target, + AcpiDmMpamSubnames[Temp8]); + break; + case ACPI_DMT_NFIT: /* NFIT subtable types */ diff --git a/src/acpica/source/common/dmtables.c b/src/acpica/source/common/dmtables.c index 7ade7868..c474a8c9 100644 --- a/src/acpica/source/common/dmtables.c +++ b/src/acpica/source/common/dmtables.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/common/dmtbdump.c b/src/acpica/source/common/dmtbdump.c index dc1745d5..c4046b8e 100644 --- a/src/acpica/source/common/dmtbdump.c +++ b/src/acpica/source/common/dmtbdump.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/common/dmtbdump1.c b/src/acpica/source/common/dmtbdump1.c index ae5f0f86..0dee045a 100644 --- a/src/acpica/source/common/dmtbdump1.c +++ b/src/acpica/source/common/dmtbdump1.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -609,6 +609,95 @@ AcpiDmDumpAsf ( } } +/******************************************************************************* + * + * FUNCTION: AcpiDmDumpAspt + * + * PARAMETERS: Table - A ASPT table + * + * RETURN: None + * + * DESCRIPTION: Format the contents of a ASPT table + * + ******************************************************************************/ + +void +AcpiDmDumpAspt ( + ACPI_TABLE_HEADER *Table) +{ + ACPI_STATUS Status; + UINT32 Offset = sizeof (ACPI_TABLE_ASPT); + UINT32 Length = Table->Length; + ACPI_ASPT_HEADER *Subtable; + ACPI_DMTABLE_INFO *InfoTable; + UINT16 Type; + + /* Main table */ + Status = AcpiDmDumpTable(Length, 0, Table, 0, AcpiDmTableInfoAspt); + + /* Subtables */ + + Subtable = ACPI_ADD_PTR (ACPI_ASPT_HEADER, Table, Offset); + while (Offset < Table->Length) + { + AcpiOsPrintf ("\n"); + + /* Common subtable header */ + Status = AcpiDmDumpTable (Table->Length, Offset, Subtable, + Subtable->Length, AcpiDmTableInfoAsptHdr); + if (ACPI_FAILURE (Status)) + { + return; + } + + Type = Subtable->Type; + + switch (Type) + { + case ACPI_ASPT_TYPE_GLOBAL_REGS: + + InfoTable = AcpiDmTableInfoAspt0; + break; + + case ACPI_ASPT_TYPE_SEV_MBOX_REGS: + + InfoTable = AcpiDmTableInfoAspt1; + break; + + case ACPI_ASPT_TYPE_ACPI_MBOX_REGS: + + InfoTable = AcpiDmTableInfoAspt2; + break; + + default: + + AcpiOsPrintf ("\n**** Unknown ASPT subtable type 0x%X\n", + Subtable->Type); + return; + } + + Status = AcpiDmDumpTable (Table->Length, Offset, Subtable, + Subtable->Length, InfoTable); + if (ACPI_FAILURE (Status)) + { + return; + } + + AcpiOsPrintf ("\n"); + + /* Point to next subtable */ + if (!Subtable->Length) + { + AcpiOsPrintf ("Invalid zero subtable header length\n"); + return; + } + + Offset += Subtable->Length; + Subtable = ACPI_ADD_PTR (ACPI_ASPT_HEADER, Subtable, + Subtable->Length); + } +} + /******************************************************************************* * @@ -2030,7 +2119,7 @@ AcpiDmDumpHmat ( return; } - /* Dump HMAT structure additionals */ + /* Dump HMAT structure additional */ switch (HmatStruct->Type) { diff --git a/src/acpica/source/common/dmtbdump2.c b/src/acpica/source/common/dmtbdump2.c index 3fb4d531..e9c5dbfd 100644 --- a/src/acpica/source/common/dmtbdump2.c +++ b/src/acpica/source/common/dmtbdump2.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -1129,6 +1129,124 @@ AcpiDmDumpMcfg ( } } +/******************************************************************************* + * + * FUNCTION: AcpiDmDumpMpam + * + * PARAMETERS: Table - A MPAM table + * + * RETURN: None + * + * DESCRIPTION: Format the contents of a MPAM table + * + ******************************************************************************/ + +void +AcpiDmDumpMpam ( + ACPI_TABLE_HEADER *Table) +{ + ACPI_STATUS Status; + ACPI_MPAM_MSC_NODE *MpamMscNode; + ACPI_MPAM_RESOURCE_NODE *MpamResourceNode; + ACPI_DMTABLE_INFO *InfoTable; + UINT32 Offset = sizeof(ACPI_TABLE_HEADER); + UINT32 MpamResourceNodeLength = 0; + + while (Offset < Table->Length) + { + MpamMscNode = ACPI_ADD_PTR (ACPI_MPAM_MSC_NODE, Table, Offset); + + /* Subtable: MSC */ + Status = AcpiDmDumpTable (MpamMscNode->Length, 0, MpamMscNode, 0, + AcpiDmTableInfoMpam0); + if (ACPI_FAILURE (Status)) + { + return; + } + + /* Offset the start of the array of resources */ + Offset += sizeof(ACPI_MPAM_MSC_NODE); + + /* Subtable: MSC RIS(es) */ + for (UINT32 ResourceIdx = 0; ResourceIdx < MpamMscNode->NumResouceNodes; ResourceIdx++) + { + MpamResourceNode = ACPI_ADD_PTR (ACPI_MPAM_RESOURCE_NODE, Table, Offset); + + MpamResourceNodeLength = sizeof(ACPI_MPAM_RESOURCE_NODE) + + MpamResourceNode->NumFunctionalDeps * sizeof(ACPI_MPAM_FUNC_DEPS); + + Offset += MpamResourceNodeLength; + + /* Subtable: MSC RIS */ + Status = AcpiDmDumpTable (MpamResourceNodeLength, 0, MpamResourceNode, 0, + AcpiDmTableInfoMpam1); + if (ACPI_FAILURE (Status)) + { + return; + } + + switch (MpamResourceNode->LocatorType) + { + case ACPI_MPAM_LOCATION_TYPE_PROCESSOR_CACHE: + InfoTable = AcpiDmTableInfoMpam1A; + break; + case ACPI_MPAM_LOCATION_TYPE_MEMORY: + InfoTable = AcpiDmTableInfoMpam1B; + break; + case ACPI_MPAM_LOCATION_TYPE_SMMU: + InfoTable = AcpiDmTableInfoMpam1C; + break; + case ACPI_MPAM_LOCATION_TYPE_MEMORY_CACHE: + InfoTable = AcpiDmTableInfoMpam1D; + break; + case ACPI_MPAM_LOCATION_TYPE_ACPI_DEVICE: + InfoTable = AcpiDmTableInfoMpam1E; + break; + case ACPI_MPAM_LOCATION_TYPE_INTERCONNECT: + InfoTable = AcpiDmTableInfoMpam1F; + break; + case ACPI_MPAM_LOCATION_TYPE_UNKNOWN: + InfoTable = AcpiDmTableInfoMpam1G; + default: + AcpiOsPrintf ("\n**** Unknown MPAM locator type 0x%X\n", + MpamResourceNode->LocatorType); + return; + } + + /* Subtable: MSC Resource Locator(s) */ + Status = AcpiDmDumpTable (sizeof(ACPI_MPAM_RESOURCE_LOCATOR), 0, + &MpamResourceNode->Locator, 0, InfoTable); + if (ACPI_FAILURE (Status)) + { + return; + } + + /* Get the number of functional dependencies of an RIS */ + Status = AcpiDmDumpTable (sizeof(UINT32), 0, &MpamResourceNode->NumFunctionalDeps, 0, + AcpiDmTableInfoMpam1Deps); + if (ACPI_FAILURE (Status)) + { + return; + } + + /* Subtable: MSC functional dependencies */ + for (UINT32 funcDep = 0; funcDep < MpamResourceNode->NumFunctionalDeps; funcDep++) + { + Status = AcpiDmDumpTable (sizeof(ACPI_MPAM_FUNC_DEPS), 0, + &MpamResourceNode->NumFunctionalDeps, 0, AcpiDmTableInfoMpam2); + if (ACPI_FAILURE (Status)) + { + return; + } + } + + AcpiOsPrintf ("\n\n"); + } + + } + + return; +} /******************************************************************************* * @@ -1420,7 +1538,7 @@ AcpiDmDumpNfit ( /* Has a variable number of 64-bit addresses at the end */ InfoTable = AcpiDmTableInfoNfit6; - FieldOffset = sizeof (ACPI_NFIT_FLUSH_ADDRESS) - sizeof (UINT64); + FieldOffset = sizeof (ACPI_NFIT_FLUSH_ADDRESS); break; case ACPI_NFIT_TYPE_CAPABILITIES: /* ACPI 6.0A */ @@ -1474,12 +1592,12 @@ AcpiDmDumpNfit ( case ACPI_NFIT_TYPE_SMBIOS: Length = Subtable->Length - - sizeof (ACPI_NFIT_SMBIOS) + sizeof (UINT8); + sizeof (ACPI_NFIT_SMBIOS); if (Length) { Status = AcpiDmDumpTable (Table->Length, - sizeof (ACPI_NFIT_SMBIOS) - sizeof (UINT8), + sizeof (ACPI_NFIT_SMBIOS), SmbiosInfo, Length, AcpiDmTableInfoNfit3a); if (ACPI_FAILURE (Status)) @@ -2627,6 +2745,122 @@ AcpiDmDumpRgrt ( } +/******************************************************************************* + * + * FUNCTION: AcpiDmDumpRhct + * + * PARAMETERS: Table - A RHCT table + * + * RETURN: None + * + * DESCRIPTION: Format the contents of a RHCT. + * + ******************************************************************************/ + +void +AcpiDmDumpRhct ( + ACPI_TABLE_HEADER *Table) +{ + ACPI_STATUS Status; + ACPI_RHCT_NODE_HEADER *Subtable; + ACPI_RHCT_HART_INFO *RhctHartInfo; + ACPI_RHCT_ISA_STRING *RhctIsaString; + UINT32 Length = Table->Length; + UINT8 SubtableOffset, IsaPadOffset; + UINT32 Offset = sizeof (ACPI_TABLE_RHCT); + UINT32 i; + + /* Main table */ + + Status = AcpiDmDumpTable (Length, 0, Table, 0, AcpiDmTableInfoRhct); + if (ACPI_FAILURE (Status)) + { + return; + } + + /* Subtables */ + + while (Offset < Table->Length) + { + AcpiOsPrintf ("\n"); + + /* Common subtable header */ + + Subtable = ACPI_ADD_PTR (ACPI_RHCT_NODE_HEADER, Table, Offset); + if (Subtable->Length < sizeof (ACPI_RHCT_NODE_HEADER)) + { + AcpiOsPrintf ("Invalid subtable length\n"); + return; + } + Status = AcpiDmDumpTable (Table->Length, Offset, Subtable, + Subtable->Length, AcpiDmTableInfoRhctNodeHdr); + if (ACPI_FAILURE (Status)) + { + return; + } + + Length = sizeof (ACPI_RHCT_NODE_HEADER); + + if (Subtable->Length < Length) + { + AcpiOsPrintf ("Invalid subtable length\n"); + return; + } + SubtableOffset = (UINT8) Length; + + switch (Subtable->Type) + { + case ACPI_RHCT_NODE_TYPE_HART_INFO: + Status = AcpiDmDumpTable (Table->Length, Offset + SubtableOffset, + ACPI_ADD_PTR (ACPI_RHCT_HART_INFO, Subtable, SubtableOffset), + sizeof (ACPI_RHCT_HART_INFO), AcpiDmTableInfoRhctHartInfo1); + + RhctHartInfo = ACPI_ADD_PTR (ACPI_RHCT_HART_INFO, Subtable, SubtableOffset); + + if ((UINT16)(Subtable->Length - SubtableOffset) < + (UINT16)(RhctHartInfo->NumOffsets * 4)) + { + AcpiOsPrintf ("Invalid number of offsets\n"); + return; + } + SubtableOffset += sizeof (ACPI_RHCT_HART_INFO); + for (i = 0; i < RhctHartInfo->NumOffsets; i++) + { + Status = AcpiDmDumpTable (Table->Length, Offset + SubtableOffset, + ACPI_ADD_PTR (UINT32, Subtable, SubtableOffset), + 4, AcpiDmTableInfoRhctHartInfo2); + if (ACPI_FAILURE (Status)) + { + return; + } + + SubtableOffset += 4; + } + break; + + case ACPI_RHCT_NODE_TYPE_ISA_STRING: + RhctIsaString = ACPI_ADD_PTR (ACPI_RHCT_ISA_STRING, Subtable, SubtableOffset); + IsaPadOffset = (UINT8) (SubtableOffset + 2 + RhctIsaString->IsaLength); + Status = AcpiDmDumpTable (Table->Length, Offset + SubtableOffset, + RhctIsaString, RhctIsaString->IsaLength, AcpiDmTableInfoRhctIsa1); + if (Subtable->Length > IsaPadOffset) + { + Status = AcpiDmDumpTable (Table->Length, Offset + SubtableOffset, + ACPI_ADD_PTR (UINT8, Subtable, IsaPadOffset), + (Subtable->Length - IsaPadOffset), AcpiDmTableInfoRhctIsaPad); + } + + default: + break; + } + + /* Point to next subtable */ + + Offset += Subtable->Length; + } +} + + /******************************************************************************* * * FUNCTION: AcpiDmDumpS3pt diff --git a/src/acpica/source/common/dmtbdump3.c b/src/acpica/source/common/dmtbdump3.c index cbcd9e7f..8ac16cee 100644 --- a/src/acpica/source/common/dmtbdump3.c +++ b/src/acpica/source/common/dmtbdump3.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/common/dmtbinfo.c b/src/acpica/source/common/dmtbinfo.c index 40539969..717e7df9 100644 --- a/src/acpica/source/common/dmtbinfo.c +++ b/src/acpica/source/common/dmtbinfo.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/common/dmtbinfo1.c b/src/acpica/source/common/dmtbinfo1.c index 9afed4d6..e4632085 100644 --- a/src/acpica/source/common/dmtbinfo1.c +++ b/src/acpica/source/common/dmtbinfo1.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -433,6 +433,57 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoAsf4[] = }; +/******************************************************************************* + * + * ASPT - AMD Secure Processor table (Signature "ASPT") + * + ******************************************************************************/ + +ACPI_DMTABLE_INFO AcpiDmTableInfoAspt[] = +{ + {ACPI_DMT_UINT32, ACPI_ASPT_OFFSET(NumEntries), "Number of Subtables", 0}, + ACPI_DMT_TERMINATOR +}; + +/* Common Subtable header (one per Subtable) */ +ACPI_DMTABLE_INFO AcpiDmTableInfoAsptHdr[] = +{ + {ACPI_DMT_ASPT, ACPI_ASPTH_OFFSET(Type), "Type", 0}, + {ACPI_DMT_UINT16, ACPI_ASPTH_OFFSET(Length), "Length", 0}, + ACPI_DMT_TERMINATOR +}; + +/* 0: ASPT Global Registers */ +ACPI_DMTABLE_INFO AcpiDmTableInfoAspt0[] = +{ + {ACPI_DMT_UINT32, ACPI_ASPT0_OFFSET(Reserved), "Reserved", 0}, + {ACPI_DMT_UINT64, ACPI_ASPT0_OFFSET(FeatureRegAddr), "Feature Register Address", 0}, + {ACPI_DMT_UINT64, ACPI_ASPT0_OFFSET(IrqEnRegAddr), "Interrupt Enable Register Address", 0}, + {ACPI_DMT_UINT64, ACPI_ASPT0_OFFSET(IrqStRegAddr), "Interrupt Status Register Address", 0}, + ACPI_DMT_TERMINATOR +}; + +/* 1: ASPT SEV Mailbox Registers */ +ACPI_DMTABLE_INFO AcpiDmTableInfoAspt1[] = +{ + {ACPI_DMT_UINT8, ACPI_ASPT1_OFFSET(MboxIrqId), "Mailbox Interrupt ID", 0}, + {ACPI_DMT_UINT24, ACPI_ASPT1_OFFSET(Reserved[0]), "Reserved", 0}, + {ACPI_DMT_UINT64, ACPI_ASPT1_OFFSET(CmdRespRegAddr), "CmdResp Register Address", 0}, + {ACPI_DMT_UINT64, ACPI_ASPT1_OFFSET(CmdBufLoRegAddr), "CmdBufAddr_Lo Register Address", 0}, + {ACPI_DMT_UINT64, ACPI_ASPT1_OFFSET(CmdBufHiRegAddr), "CmdBufAddr_Hi Register Address", 0}, + ACPI_DMT_TERMINATOR +}; + +/* 2: ASPT ACPI Maiblox Registers */ +ACPI_DMTABLE_INFO AcpiDmTableInfoAspt2[] = +{ + {ACPI_DMT_UINT32, ACPI_ASPT2_OFFSET(Reserved1), "Reserved", 0}, + {ACPI_DMT_UINT64, ACPI_ASPT2_OFFSET(CmdRespRegAddr), "CmdResp Register Address", 0}, + {ACPI_DMT_UINT64, ACPI_ASPT2_OFFSET(Reserved2[0]), "Reserved", 0}, + {ACPI_DMT_UINT64, ACPI_ASPT2_OFFSET(Reserved2[1]), "Reserved", 0}, + ACPI_DMT_TERMINATOR +}; + /******************************************************************************* * * BDAT - BIOS Data ACPI Table @@ -896,7 +947,7 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoDmar4[] = { {ACPI_DMT_UINT24, ACPI_DMAR4_OFFSET (Reserved[0]), "Reserved", 0}, {ACPI_DMT_UINT8, ACPI_DMAR4_OFFSET (DeviceNumber), "Device Number", 0}, - {ACPI_DMT_STRING, ACPI_DMAR4_OFFSET (DeviceName[0]), "Device Name", 0}, + {ACPI_DMT_STRING, ACPI_DMAR4_OFFSET (u.DeviceName[0]), "Device Name", 0}, ACPI_DMT_TERMINATOR }; diff --git a/src/acpica/source/common/dmtbinfo2.c b/src/acpica/source/common/dmtbinfo2.c index 3676be81..214206ad 100644 --- a/src/acpica/source/common/dmtbinfo2.c +++ b/src/acpica/source/common/dmtbinfo2.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -864,6 +864,7 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoMadt11[] = {ACPI_DMT_UINT8, ACPI_MADT11_OFFSET (EfficiencyClass), "Efficiency Class", 0}, {ACPI_DMT_UINT8, ACPI_MADT11_OFFSET (Reserved2[0]), "Reserved", 0}, {ACPI_DMT_UINT16, ACPI_MADT11_OFFSET (SpeInterrupt), "SPE Overflow Interrupt", 0}, + {ACPI_DMT_UINT16, ACPI_MADT11_OFFSET (TrbeInterrupt), "TRBE Interrupt", 0}, ACPI_DMT_TERMINATOR }; @@ -979,6 +980,133 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoMchi[] = ACPI_DMT_TERMINATOR }; +/******************************************************************************* + * + * MPAM - Memory System Resource Partitioning and Monitoring Tables + * Arm's DEN0065 MPAM ACPI 2.0. December 2022. + ******************************************************************************/ + +/* MPAM subtables */ + +/* 0: MPAM Resource Node Structure - A root MSC table. + * Arm's DEN0065 MPAM ACPI 2.0. Table 4: MPAM MSC node body. + */ +ACPI_DMTABLE_INFO AcpiDmTableInfoMpam0[] = +{ + {ACPI_DMT_UINT16, ACPI_MPAM0_OFFSET (Length), "Length", 0}, + {ACPI_DMT_UINT8, ACPI_MPAM0_OFFSET (InterfaceType), "Interface type", 0}, + {ACPI_DMT_UINT8, ACPI_MPAM0_OFFSET (Reserved), "Reserved", 0}, + {ACPI_DMT_UINT32, ACPI_MPAM0_OFFSET (Identifier), "Identifier", 0}, + {ACPI_DMT_UINT64, ACPI_MPAM0_OFFSET (BaseAddress), "Base address", 0}, + {ACPI_DMT_UINT32, ACPI_MPAM0_OFFSET (MMIOSize), "MMIO size", 0}, + {ACPI_DMT_UINT32, ACPI_MPAM0_OFFSET (OverflowInterrupt), "Overflow interrupt", 0}, + {ACPI_DMT_UINT32, ACPI_MPAM0_OFFSET (OverflowInterruptFlags), "Overflow interrupt flags", 0}, + {ACPI_DMT_UINT32, ACPI_MPAM0_OFFSET (Reserved1), "Reserved1", 0}, + {ACPI_DMT_UINT32, ACPI_MPAM0_OFFSET (OverflowInterruptAffinity), "Overflow interrupt affinity", 0}, + {ACPI_DMT_UINT32, ACPI_MPAM0_OFFSET (ErrorInterrupt), "Error interrupt", 0}, + {ACPI_DMT_UINT32, ACPI_MPAM0_OFFSET (ErrorInterruptFlags), "Error interrupt flags", 0}, + {ACPI_DMT_UINT32, ACPI_MPAM0_OFFSET (Reserved2), "Reserved2", 0}, + {ACPI_DMT_UINT32, ACPI_MPAM0_OFFSET (ErrorInterruptAffinity), "Error interrupt affinity", 0}, + {ACPI_DMT_UINT32, ACPI_MPAM0_OFFSET (MaxNrdyUsec), "MAX_NRDY_USEC", 0}, + {ACPI_DMT_NAME8, ACPI_MPAM0_OFFSET (HardwareIdLinkedDevice), "Hardware ID of linked device", 0}, + {ACPI_DMT_UINT32, ACPI_MPAM0_OFFSET (InstanceIdLinkedDevice), "Instance ID of linked device", 0}, + {ACPI_DMT_UINT32, ACPI_MPAM0_OFFSET (NumResouceNodes), "Number of resource nodes", 0}, + + ACPI_DMT_TERMINATOR +}; + +/* 1: MPAM Resource (RIS) Node Structure - A subtable of MSC Nodes. + * Arm's DEN0065 MPAM ACPI 2.0. Table 9: Resource node. + */ +ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1[] = +{ + {ACPI_DMT_UINT32, ACPI_MPAM1_OFFSET (Identifier), "Identifier", 0}, + {ACPI_DMT_UINT8, ACPI_MPAM1_OFFSET (RISIndex), "RIS Index", 0}, + {ACPI_DMT_UINT16, ACPI_MPAM1_OFFSET (Reserved1), "Reserved1", 0}, + {ACPI_DMT_MPAM_LOCATOR, ACPI_MPAM1_OFFSET (LocatorType), "Locator type", 0}, + ACPI_DMT_TERMINATOR +}; + +/* An RIS field part of the RIS subtable */ +ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1Deps[] = +{ + {ACPI_DMT_UINT32, 0, "Number of functional dependencies", 0}, + ACPI_DMT_TERMINATOR +}; + +/* 1A: MPAM Processor cache locator descriptor. A subtable of RIS. + * Arm's DEN0065 MPAM ACPI 2.0. Table 13. + */ +ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1A[] = +{ + {ACPI_DMT_UINT64, ACPI_MPAM1A_OFFSET (CacheReference), "Cache reference", 0}, + {ACPI_DMT_UINT32, ACPI_MPAM1A_OFFSET (Reserved), "Reserved", 0}, +}; + +/* 1B: MPAM Memory locator descriptor. A subtable of RIS. + * Arm's DEN0065 MPAM ACPI 2.0. Table 14. + */ +ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1B[] = +{ + {ACPI_DMT_UINT64, ACPI_MPAM1B_OFFSET (ProximityDomain), "Proximity domain", 0}, + {ACPI_DMT_UINT32, ACPI_MPAM1B_OFFSET (Reserved), "Reserved", 0}, +}; + +/* 1C: MPAM SMMU locator descriptor. A subtable of RIS. + * Arm's DEN0065 MPAM ACPI 2.0. Table 15. + */ +ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1C[] = +{ + {ACPI_DMT_UINT64, ACPI_MPAM1C_OFFSET (SmmuInterface), "SMMU Interface", 0}, + {ACPI_DMT_UINT32, ACPI_MPAM1C_OFFSET (Reserved), "Reserved", 0}, +}; + +/* 1D: MPAM Memory-side cache locator descriptor. A subtable of RIS. + * Arm's DEN0065 MPAM ACPI 2.0. Table 16. + */ +ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1D[] = +{ + {ACPI_DMT_UINT56, ACPI_MPAM1D_OFFSET (Level), "Reserved", 0}, + {ACPI_DMT_UINT8, ACPI_MPAM1D_OFFSET (Level), "Level", 0}, + {ACPI_DMT_UINT32, ACPI_MPAM1D_OFFSET (Reference), "Reference", 0}, +}; + +/* 1E: MPAM ACPI device locator descriptor. A subtable of RIS. + * Arm's DEN0065 MPAM ACPI 2.0. Table 17. + */ +ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1E[] = +{ + {ACPI_DMT_UINT64, ACPI_MPAM1E_OFFSET (AcpiHwId), "ACPI Hardware ID", 0}, + {ACPI_DMT_UINT32, ACPI_MPAM1E_OFFSET (AcpiUniqueId), "ACPI Unique ID", 0}, +}; + +/* 1F: MPAM Interconnect locator descriptor. A subtable of RIS. + * Arm's DEN0065 MPAM ACPI 2.0. Table 18. + */ +ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1F[] = +{ + {ACPI_DMT_UINT64, ACPI_MPAM1F_OFFSET (InterConnectDescTblOff), "Interconnect descriptor table offset", 0}, + {ACPI_DMT_UINT32, ACPI_MPAM1F_OFFSET (Reserved), "Reserved", 0}, +}; + +/* 1G: MPAM Locator structure. + * Arm's DEN0065 MPAM ACPI 2.0. Table 12. + */ +ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1G[] = +{ + {ACPI_DMT_UINT64, ACPI_MPAM1G_OFFSET (Descriptor1), "Descriptor1", 0}, + {ACPI_DMT_UINT32, ACPI_MPAM1G_OFFSET (Descriptor2), "Descriptor2", 0}, +}; + +/* 2: MPAM Functional dependency descriptor. + * Arm's DEN0065 MPAM ACPI 2.0. Table 10. + */ +ACPI_DMTABLE_INFO AcpiDmTableInfoMpam2[] = +{ + {ACPI_DMT_UINT32, ACPI_MPAM2_OFFSET (Producer), "Producer", 0}, + {ACPI_DMT_UINT32, ACPI_MPAM2_OFFSET (Reserved), "Reserved", 0}, +}; + /******************************************************************************* * @@ -1944,6 +2072,67 @@ ACPI_DMTABLE_INFO AcpiDmTableInfoRgrt0[] = }; +/******************************************************************************* + * + * RHCT - RISC-V Hart Capabilities Table + * + ******************************************************************************/ + +ACPI_DMTABLE_INFO AcpiDmTableInfoRhct[] = +{ + {ACPI_DMT_UINT32, ACPI_RHCT_OFFSET (Reserved), "Reserved", 0}, + {ACPI_DMT_UINT64, ACPI_RHCT_OFFSET (TimeBaseFreq), "Timer Base Frequency", 0}, + {ACPI_DMT_UINT32, ACPI_RHCT_OFFSET (NodeCount), "Number of nodes", 0}, + {ACPI_DMT_UINT32, ACPI_RHCT_OFFSET (NodeOffset), "Offset to the node array", 0}, + ACPI_DMT_TERMINATOR +}; + + +/* Common Subtable header (one per Subtable) */ + +ACPI_DMTABLE_INFO AcpiDmTableInfoRhctNodeHdr[] = +{ + {ACPI_DMT_UINT16, ACPI_RHCTH_OFFSET (Type), "Subtable Type", 0}, + {ACPI_DMT_UINT16, ACPI_RHCTH_OFFSET (Length), "Length", 0}, + {ACPI_DMT_UINT16, ACPI_RHCTH_OFFSET (Revision), "Revision", 0}, + ACPI_DMT_TERMINATOR +}; + +/* 0: ISA string type */ + +ACPI_DMTABLE_INFO AcpiDmTableInfoRhctIsa1[] = +{ + {ACPI_DMT_UINT16, ACPI_RHCT0_OFFSET (IsaLength), "ISA string length", 0}, + {ACPI_DMT_STRING, ACPI_RHCT0_OFFSET (Isa[0]), "ISA string", 0}, + ACPI_DMT_TERMINATOR +}; + + +/* Optional padding field */ + +ACPI_DMTABLE_INFO AcpiDmTableInfoRhctIsaPad[] = +{ + {ACPI_DMT_RAW_BUFFER, 0, "Optional Padding", DT_OPTIONAL}, + ACPI_DMT_TERMINATOR +}; + +/* 0xFFFF: Hart Info type */ + +ACPI_DMTABLE_INFO AcpiDmTableInfoRhctHartInfo1[] = +{ + {ACPI_DMT_UINT16, ACPI_RHCTFFFF_OFFSET (NumOffsets), "Number of offsets", 0}, + {ACPI_DMT_UINT32, ACPI_RHCTFFFF_OFFSET (Uid), "Processor UID", 0}, + ACPI_DMT_TERMINATOR +}; + + +ACPI_DMTABLE_INFO AcpiDmTableInfoRhctHartInfo2[] = +{ + {ACPI_DMT_UINT32, 0, "Nodes", DT_OPTIONAL}, + ACPI_DMT_TERMINATOR +}; + + /******************************************************************************* * * S3PT - S3 Performance Table diff --git a/src/acpica/source/common/dmtbinfo3.c b/src/acpica/source/common/dmtbinfo3.c index b8ddb7aa..280baf39 100644 --- a/src/acpica/source/common/dmtbinfo3.c +++ b/src/acpica/source/common/dmtbinfo3.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/common/getopt.c b/src/acpica/source/common/getopt.c index 772b66c0..a2658efc 100644 --- a/src/acpica/source/common/getopt.c +++ b/src/acpica/source/common/getopt.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslallocate.c b/src/acpica/source/compiler/aslallocate.c index d697d059..d86b5f39 100644 --- a/src/acpica/source/compiler/aslallocate.c +++ b/src/acpica/source/compiler/aslallocate.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -295,9 +295,13 @@ void UtFreeLineBuffers ( void) { - free (AslGbl_CurrentLineBuffer); + free (AslGbl_MainTokenBuffer); + free (AslGbl_MacroTokenBuffer); + + free (AslGbl_MacroTokenReplaceBuffer); + free (AslGbl_ExpressionTokenBuffer); } diff --git a/src/acpica/source/compiler/aslanalyze.c b/src/acpica/source/compiler/aslanalyze.c index 9db7d4fb..1941a465 100644 --- a/src/acpica/source/compiler/aslanalyze.c +++ b/src/acpica/source/compiler/aslanalyze.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslascii.c b/src/acpica/source/compiler/aslascii.c index 6c0e62c4..b6b27271 100644 --- a/src/acpica/source/compiler/aslascii.c +++ b/src/acpica/source/compiler/aslascii.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslbtypes.c b/src/acpica/source/compiler/aslbtypes.c index f7b3fb1b..e2f72d88 100644 --- a/src/acpica/source/compiler/aslbtypes.c +++ b/src/acpica/source/compiler/aslbtypes.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -501,10 +501,11 @@ AnGetBtype ( ACPI_PARSE_OBJECT *ReferencedNode; UINT32 ThisNodeBtype = 0; + ACPI_FUNCTION_NAME (AnGetBtype); if (!Op) { - AcpiOsPrintf ("Null Op in AnGetBtype\n"); + AcpiOsPrintf ("Null Op in %s\n", ACPI_GET_FUNCTION_NAME); return (ACPI_UINT32_MAX); } diff --git a/src/acpica/source/compiler/aslcache.c b/src/acpica/source/compiler/aslcache.c index 9cc707e2..11ba5f42 100644 --- a/src/acpica/source/compiler/aslcache.c +++ b/src/acpica/source/compiler/aslcache.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslcodegen.c b/src/acpica/source/compiler/aslcodegen.c index a0c67424..4013398f 100644 --- a/src/acpica/source/compiler/aslcodegen.c +++ b/src/acpica/source/compiler/aslcodegen.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslcompile.c b/src/acpica/source/compiler/aslcompile.c index f97cd9d8..4217182c 100644 --- a/src/acpica/source/compiler/aslcompile.c +++ b/src/acpica/source/compiler/aslcompile.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslcompiler.h b/src/acpica/source/compiler/aslcompiler.h index d52f60f2..ca20de45 100644 --- a/src/acpica/source/compiler/aslcompiler.h +++ b/src/acpica/source/compiler/aslcompiler.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -1566,6 +1566,9 @@ ASL_RESOURCE_NODE * RsDoPinGroupConfigDescriptor ( ASL_RESOURCE_INFO *Info); +ASL_RESOURCE_NODE * +RsDoClockInputDescriptor ( + ASL_RESOURCE_INFO *Info); /* * aslrestype2d - DWord address descriptors diff --git a/src/acpica/source/compiler/aslcompiler.l b/src/acpica/source/compiler/aslcompiler.l index 881096ad..fbc38a61 100644 --- a/src/acpica/source/compiler/aslcompiler.l +++ b/src/acpica/source/compiler/aslcompiler.l @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -461,6 +461,7 @@ NamePathTail [.]{NameSeg} "PinGroup" { count (1); return (PARSEOP_PINGROUP); } "PinGroupConfig" { count (1); return (PARSEOP_PINGROUPCONFIG); } "PinGroupFunction" { count (1); return (PARSEOP_PINGROUPFUNCTION); } +"ClockInput" { count (1); return (PARSEOP_CLOCKINPUT); } "QWordIO" { count (1); return (PARSEOP_QWORDIO); } "QWordMemory" { count (1); return (PARSEOP_QWORDMEMORY); } "QWordSpace" { count (1); return (PARSEOP_QWORDSPACE); } @@ -665,6 +666,17 @@ NamePathTail [.]{NameSeg} "PullDown" { count (0); return (PARSEOP_PIN_PULLDOWN); } "PullNone" { count (0); return (PARSEOP_PIN_NOPULL); } + /* ClockScaleKeyword: Resource Descriptors (ACPI 6.5) */ + +"Hz" { count (0); return (PARSEOP_CLOCK_HZ); } +"KHz" { count (0); return (PARSEOP_CLOCK_KHZ); } +"MHz" { count (0); return (PARSEOP_CLOCK_MHZ); } + + /* ClockModeKeyword: Resource Descriptors (ACPI 6.5) */ + +"Fixed" { count (0); return (PARSEOP_CLOCK_FIXED); } +"Variable" { count (0); return (PARSEOP_CLOCK_VARIABLE); } + /* PolarityKeyword: Resource Descriptors (ACPI 5.0) */ "PolarityLow" { count (0); return (PARSEOP_DEVICEPOLARITY_LOW); } diff --git a/src/acpica/source/compiler/aslcstyle.y b/src/acpica/source/compiler/aslcstyle.y index b4e9065f..d249b51e 100644 --- a/src/acpica/source/compiler/aslcstyle.y +++ b/src/acpica/source/compiler/aslcstyle.y @@ -9,7 +9,7 @@ NoEcho(' * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/asldebug.c b/src/acpica/source/compiler/asldebug.c index 5ac6a4ed..928bb206 100644 --- a/src/acpica/source/compiler/asldebug.c +++ b/src/acpica/source/compiler/asldebug.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/asldefine.h b/src/acpica/source/compiler/asldefine.h index 12b2899e..fe11d451 100644 --- a/src/acpica/source/compiler/asldefine.h +++ b/src/acpica/source/compiler/asldefine.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslerror.c b/src/acpica/source/compiler/aslerror.c index 3a61bc6e..54d247e2 100644 --- a/src/acpica/source/compiler/aslerror.c +++ b/src/acpica/source/compiler/aslerror.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslexternal.c b/src/acpica/source/compiler/aslexternal.c index a7d2c9c3..243145ed 100644 --- a/src/acpica/source/compiler/aslexternal.c +++ b/src/acpica/source/compiler/aslexternal.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslfileio.c b/src/acpica/source/compiler/aslfileio.c index 88b9def9..7920de7f 100644 --- a/src/acpica/source/compiler/aslfileio.c +++ b/src/acpica/source/compiler/aslfileio.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslfiles.c b/src/acpica/source/compiler/aslfiles.c index 2479b404..51de2d1e 100644 --- a/src/acpica/source/compiler/aslfiles.c +++ b/src/acpica/source/compiler/aslfiles.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslfold.c b/src/acpica/source/compiler/aslfold.c index 316890c4..f03d19c5 100644 --- a/src/acpica/source/compiler/aslfold.c +++ b/src/acpica/source/compiler/aslfold.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslglobal.h b/src/acpica/source/compiler/aslglobal.h index ff00b92e..438d0c5b 100644 --- a/src/acpica/source/compiler/aslglobal.h +++ b/src/acpica/source/compiler/aslglobal.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslhelp.c b/src/acpica/source/compiler/aslhelp.c index 1cdbf8a7..137736da 100644 --- a/src/acpica/source/compiler/aslhelp.c +++ b/src/acpica/source/compiler/aslhelp.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslhelpers.y b/src/acpica/source/compiler/aslhelpers.y index 2764bf65..37cc5844 100644 --- a/src/acpica/source/compiler/aslhelpers.y +++ b/src/acpica/source/compiler/aslhelpers.y @@ -9,7 +9,7 @@ NoEcho(' * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslhex.c b/src/acpica/source/compiler/aslhex.c index a6e80fdf..4a711823 100644 --- a/src/acpica/source/compiler/aslhex.c +++ b/src/acpica/source/compiler/aslhex.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslkeywords.y b/src/acpica/source/compiler/aslkeywords.y index 661cfc93..d559fd0f 100644 --- a/src/acpica/source/compiler/aslkeywords.y +++ b/src/acpica/source/compiler/aslkeywords.y @@ -9,7 +9,7 @@ NoEcho(' * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -462,3 +462,14 @@ XferTypeKeyword | PARSEOP_XFERTYPE_8_16 {$$ = TrCreateLeafOp (PARSEOP_XFERTYPE_8_16);} | PARSEOP_XFERTYPE_16 {$$ = TrCreateLeafOp (PARSEOP_XFERTYPE_16);} ; + +ClockScaleKeyword + : PARSEOP_CLOCK_HZ {$$ = TrCreateLeafOp (PARSEOP_CLOCK_HZ);} + | PARSEOP_CLOCK_KHZ {$$ = TrCreateLeafOp (PARSEOP_CLOCK_KHZ);} + | PARSEOP_CLOCK_MHZ {$$ = TrCreateLeafOp (PARSEOP_CLOCK_MHZ);} + ; + +ClockModeKeyword + : PARSEOP_CLOCK_FIXED {$$ = TrCreateLeafOp (PARSEOP_CLOCK_FIXED);} + | PARSEOP_CLOCK_VARIABLE {$$ = TrCreateLeafOp (PARSEOP_CLOCK_VARIABLE);} + ; diff --git a/src/acpica/source/compiler/asllength.c b/src/acpica/source/compiler/asllength.c index b1c06246..f5544353 100644 --- a/src/acpica/source/compiler/asllength.c +++ b/src/acpica/source/compiler/asllength.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/asllisting.c b/src/acpica/source/compiler/asllisting.c index 290d5062..1dd3b39b 100644 --- a/src/acpica/source/compiler/asllisting.c +++ b/src/acpica/source/compiler/asllisting.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/asllistsup.c b/src/acpica/source/compiler/asllistsup.c index b03560d3..44a87f0a 100644 --- a/src/acpica/source/compiler/asllistsup.c +++ b/src/acpica/source/compiler/asllistsup.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslload.c b/src/acpica/source/compiler/aslload.c index 3f827d0b..3e35d6aa 100644 --- a/src/acpica/source/compiler/aslload.c +++ b/src/acpica/source/compiler/aslload.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/asllookup.c b/src/acpica/source/compiler/asllookup.c index 44bf9a38..ae0729bb 100644 --- a/src/acpica/source/compiler/asllookup.c +++ b/src/acpica/source/compiler/asllookup.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslmain.c b/src/acpica/source/compiler/aslmain.c index 3c2ce58e..5b8f54e2 100644 --- a/src/acpica/source/compiler/aslmain.c +++ b/src/acpica/source/compiler/aslmain.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslmap.c b/src/acpica/source/compiler/aslmap.c index 782d0d96..71fb5f03 100644 --- a/src/acpica/source/compiler/aslmap.c +++ b/src/acpica/source/compiler/aslmap.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -462,6 +462,12 @@ const ASL_MAPPING_ENTRY AslKeywordMapping [] = /* PIN_PULLDEFAULT */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), /* PIN_PULLDOWN */ OP_TABLE_ENTRY (AML_BYTE_OP, 2, 0, 0), /* PIN_PULLUP */ OP_TABLE_ENTRY (AML_BYTE_OP, 1, 0, 0), +/* CLOCKINPUT */ OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP, 0, 0, 0), +/* CLOCK_HZ */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), +/* CLOCK_KHZ */ OP_TABLE_ENTRY (AML_BYTE_OP, 1, 0, 0), +/* CLOCK_MHZ */ OP_TABLE_ENTRY (AML_BYTE_OP, 2, 0, 0), +/* CLOCK_FIXED */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), +/* CLOCK_VARIABLE */ OP_TABLE_ENTRY (AML_BYTE_OP, 1, 0, 0), /* POWERRESOURCE */ OP_TABLE_ENTRY (AML_POWER_RESOURCE_OP, 0, OP_AML_PACKAGE, 0), /* PROCESSOR */ OP_TABLE_ENTRY (AML_PROCESSOR_OP, 0, OP_AML_PACKAGE, 0), /* QWORDCONST */ OP_TABLE_ENTRY (AML_RAW_DATA_QWORD, 0, 0, ACPI_BTYPE_INTEGER), diff --git a/src/acpica/source/compiler/aslmapenter.c b/src/acpica/source/compiler/aslmapenter.c index 5dae3e9e..b167fb4e 100644 --- a/src/acpica/source/compiler/aslmapenter.c +++ b/src/acpica/source/compiler/aslmapenter.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslmapoutput.c b/src/acpica/source/compiler/aslmapoutput.c index 95146ea6..74540f05 100644 --- a/src/acpica/source/compiler/aslmapoutput.c +++ b/src/acpica/source/compiler/aslmapoutput.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslmaputils.c b/src/acpica/source/compiler/aslmaputils.c index 0b2c7e26..48b67600 100644 --- a/src/acpica/source/compiler/aslmaputils.c +++ b/src/acpica/source/compiler/aslmaputils.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslmessages.c b/src/acpica/source/compiler/aslmessages.c index 990e376f..fe697c85 100644 --- a/src/acpica/source/compiler/aslmessages.c +++ b/src/acpica/source/compiler/aslmessages.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslmessages.h b/src/acpica/source/compiler/aslmessages.h index 197e9e22..3346c5e0 100644 --- a/src/acpica/source/compiler/aslmessages.h +++ b/src/acpica/source/compiler/aslmessages.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslmethod.c b/src/acpica/source/compiler/aslmethod.c index 517ba778..f092a296 100644 --- a/src/acpica/source/compiler/aslmethod.c +++ b/src/acpica/source/compiler/aslmethod.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslnamesp.c b/src/acpica/source/compiler/aslnamesp.c index 60c488db..a3578d3e 100644 --- a/src/acpica/source/compiler/aslnamesp.c +++ b/src/acpica/source/compiler/aslnamesp.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/asloffset.c b/src/acpica/source/compiler/asloffset.c index b0954c70..874e6e59 100644 --- a/src/acpica/source/compiler/asloffset.c +++ b/src/acpica/source/compiler/asloffset.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslopcodes.c b/src/acpica/source/compiler/aslopcodes.c index e07910b1..f6c993e6 100644 --- a/src/acpica/source/compiler/aslopcodes.c +++ b/src/acpica/source/compiler/aslopcodes.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/asloperands.c b/src/acpica/source/compiler/asloperands.c index 9330fdfb..2c3c6fa9 100644 --- a/src/acpica/source/compiler/asloperands.c +++ b/src/acpica/source/compiler/asloperands.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslopt.c b/src/acpica/source/compiler/aslopt.c index 916aebfb..c81e27b2 100644 --- a/src/acpica/source/compiler/aslopt.c +++ b/src/acpica/source/compiler/aslopt.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/asloptions.c b/src/acpica/source/compiler/asloptions.c index 37484f79..ca894a3b 100644 --- a/src/acpica/source/compiler/asloptions.c +++ b/src/acpica/source/compiler/asloptions.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslparseop.c b/src/acpica/source/compiler/aslparseop.c index ab81ac28..38169fee 100644 --- a/src/acpica/source/compiler/aslparseop.c +++ b/src/acpica/source/compiler/aslparseop.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -817,6 +817,8 @@ TrAllocateOp ( ACPI_PARSE_OBJECT *Op; ACPI_PARSE_OBJECT *LatestOp; + ACPI_FUNCTION_NAME (TrAllocateOp); + Op = UtParseOpCacheCalloc (); @@ -861,7 +863,7 @@ TrAllocateOp ( } AslGbl_CommentState.LatestParseOp = Op; - CvDbgPrint ("TrAllocateOp=Set latest parse op to this op.\n"); + CvDbgPrint ("%s=Set latest parse op to this op.\n", ACPI_GET_FUNCTION_NAME); CvDbgPrint (" Op->Asl.ParseOpName = %s\n", AslGbl_CommentState.LatestParseOp->Asl.ParseOpName); CvDbgPrint (" Op->Asl.ParseOpcode = 0x%x\n", ParseOpcode); diff --git a/src/acpica/source/compiler/aslparser.y b/src/acpica/source/compiler/aslparser.y index dff15619..3e1c661f 100644 --- a/src/acpica/source/compiler/aslparser.y +++ b/src/acpica/source/compiler/aslparser.y @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -208,7 +208,7 @@ AslLocalAllocate ( * These shift/reduce conflicts are expected. There should be zero * reduce/reduce conflicts. */ -%expect 127 +%expect 128 /*! [Begin] no source code translation */ diff --git a/src/acpica/source/compiler/aslpld.c b/src/acpica/source/compiler/aslpld.c index 9faa8c26..eedfaa24 100644 --- a/src/acpica/source/compiler/aslpld.c +++ b/src/acpica/source/compiler/aslpld.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslpredef.c b/src/acpica/source/compiler/aslpredef.c index 2804e12d..92532997 100644 --- a/src/acpica/source/compiler/aslpredef.c +++ b/src/acpica/source/compiler/aslpredef.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslprepkg.c b/src/acpica/source/compiler/aslprepkg.c index f562dbe6..21fe2db7 100644 --- a/src/acpica/source/compiler/aslprepkg.c +++ b/src/acpica/source/compiler/aslprepkg.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslprimaries.y b/src/acpica/source/compiler/aslprimaries.y index 69565def..f7059716 100644 --- a/src/acpica/source/compiler/aslprimaries.y +++ b/src/acpica/source/compiler/aslprimaries.y @@ -11,7 +11,7 @@ NoEcho(' * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslprintf.c b/src/acpica/source/compiler/aslprintf.c index 3f270fec..b2da0035 100644 --- a/src/acpica/source/compiler/aslprintf.c +++ b/src/acpica/source/compiler/aslprintf.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslprune.c b/src/acpica/source/compiler/aslprune.c index 4626a1ee..dc1162c4 100644 --- a/src/acpica/source/compiler/aslprune.c +++ b/src/acpica/source/compiler/aslprune.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslresource.c b/src/acpica/source/compiler/aslresource.c index 104a4835..4d20c5e3 100644 --- a/src/acpica/source/compiler/aslresource.c +++ b/src/acpica/source/compiler/aslresource.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -762,6 +762,12 @@ RsDoOneResourceDescriptor ( switch (Info->DescriptorTypeOp->Asl.ParseOpcode) { + + case PARSEOP_CLOCKINPUT: + + Rnode = RsDoClockInputDescriptor(Info); + break; + case PARSEOP_DMA: Rnode = RsDoDmaDescriptor (Info); diff --git a/src/acpica/source/compiler/aslresources.y b/src/acpica/source/compiler/aslresources.y index a5752b01..52bff9c4 100644 --- a/src/acpica/source/compiler/aslresources.y +++ b/src/acpica/source/compiler/aslresources.y @@ -11,7 +11,7 @@ NoEcho(' * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -214,6 +214,7 @@ ResourceMacroTerm | Memory32Term {} | PinConfigTerm {} | PinFunctionTerm {} + | ClockInputTerm {} | PinGroupTerm {} | PinGroupConfigTerm {} | PinGroupFunctionTerm {} @@ -666,6 +667,21 @@ PinFunctionTerm error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} ; +ClockInputTerm + : PARSEOP_CLOCKINPUT + PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_CLOCKINPUT);} + DWordConstExpr /* 04: FrequencyNumerator */ + ',' WordConstExpr /* 06: FrequencyDivisor */ + ',' ClockScaleKeyword /* 08: Scale */ + ',' ClockModeKeyword /* 10: Mode*/ + OptionalStringData /* 11: ResourceSource */ + OptionalByteConstExpr /* 12: ResourceSourceIndex */ + PARSEOP_CLOSE_PAREN {$$ = TrLinkOpChildren ($<n>3,6,$4,$6,$8,$10,$11,$12);} + | PARSEOP_CLOCKINPUT + PARSEOP_OPEN_PAREN + error PARSEOP_CLOSE_PAREN {$$ = AslDoError(); yyclearin;} + ; + PinGroupTerm : PARSEOP_PINGROUP PARSEOP_OPEN_PAREN {$<n>$ = TrCreateLeafOp (PARSEOP_PINGROUP);} diff --git a/src/acpica/source/compiler/aslrestype1.c b/src/acpica/source/compiler/aslrestype1.c index a6625c08..53fa8621 100644 --- a/src/acpica/source/compiler/aslrestype1.c +++ b/src/acpica/source/compiler/aslrestype1.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslrestype1i.c b/src/acpica/source/compiler/aslrestype1i.c index 84d5b653..d352e65f 100644 --- a/src/acpica/source/compiler/aslrestype1i.c +++ b/src/acpica/source/compiler/aslrestype1i.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslrestype2.c b/src/acpica/source/compiler/aslrestype2.c index 387e85c8..bf6f77ed 100644 --- a/src/acpica/source/compiler/aslrestype2.c +++ b/src/acpica/source/compiler/aslrestype2.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -337,7 +337,7 @@ RsDoInterruptDescriptor ( Descriptor->ExtendedIrq.InterruptCount = 0; Rover = ACPI_CAST_PTR (AML_RESOURCE, - (&(Descriptor->ExtendedIrq.Interrupts[0]))); + (&(Descriptor->ExtendedIrq.u.Interrupts[0]))); /* Process all child initialization nodes */ @@ -466,7 +466,7 @@ RsDoInterruptDescriptor ( RsCreateDwordField (InitializerOp, ACPI_RESTAG_INTERRUPT, CurrentByteOffset + - ASL_RESDESC_OFFSET (ExtendedIrq.Interrupts[0])); + ASL_RESDESC_OFFSET (ExtendedIrq.u.Interrupts[0])); } } @@ -494,7 +494,7 @@ RsDoInterruptDescriptor ( } Rnode->BufferLength = - (ASL_RESDESC_OFFSET (ExtendedIrq.Interrupts[0]) - + (ASL_RESDESC_OFFSET (ExtendedIrq.u.Interrupts[0]) - ASL_RESDESC_OFFSET (ExtendedIrq.DescriptorType)) + OptionIndex + StringLength; return (Rnode); diff --git a/src/acpica/source/compiler/aslrestype2d.c b/src/acpica/source/compiler/aslrestype2d.c index 6b597e25..45013c2c 100644 --- a/src/acpica/source/compiler/aslrestype2d.c +++ b/src/acpica/source/compiler/aslrestype2d.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslrestype2e.c b/src/acpica/source/compiler/aslrestype2e.c index 414b2d23..c557f402 100644 --- a/src/acpica/source/compiler/aslrestype2e.c +++ b/src/acpica/source/compiler/aslrestype2e.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslrestype2q.c b/src/acpica/source/compiler/aslrestype2q.c index ce796597..62866594 100644 --- a/src/acpica/source/compiler/aslrestype2q.c +++ b/src/acpica/source/compiler/aslrestype2q.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslrestype2s.c b/src/acpica/source/compiler/aslrestype2s.c index ea832da3..05480796 100644 --- a/src/acpica/source/compiler/aslrestype2s.c +++ b/src/acpica/source/compiler/aslrestype2s.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -1550,7 +1550,6 @@ RsDoPinFunctionDescriptor ( UINT16 PinListLength; UINT16 DescriptorSize; UINT32 CurrentByteOffset; - UINT32 PinCount = 0; UINT32 i; InitializerOp = Info->DescriptorTypeOp->Asl.Child; @@ -1668,15 +1667,10 @@ RsDoPinFunctionDescriptor ( default: /* * PINs come through here, repeatedly. Each PIN must be a WORD. - * NOTE: there is no "length" field for this, so from ACPI spec: - * The number of pins in the table can be calculated from: - * PinCount = (Resource Source Name Offset - Pin Table Offset) / 2 - * (implies resource source must immediately follow the pin list.) * Name: _PIN */ *PinList = (UINT16) InitializerOp->Asl.Value.Integer; PinList++; - PinCount++; /* Case 8: First pin number in list */ @@ -1708,6 +1702,115 @@ RsDoPinFunctionDescriptor ( return (Rnode); } +/******************************************************************************* + * + * FUNCTION: RsDoClockInputDescriptor + * + * PARAMETERS: Info - Parse Op and resource template offset + * + * RETURN: Completed resource node + * + * DESCRIPTION: Construct a long "ClockInput" descriptor + * + ******************************************************************************/ + +ASL_RESOURCE_NODE * +RsDoClockInputDescriptor ( + ASL_RESOURCE_INFO *Info) +{ + AML_RESOURCE *Descriptor; + ACPI_PARSE_OBJECT *InitializerOp; + ASL_RESOURCE_NODE *Rnode; + char *ResourceSourceString = NULL; + UINT8 *ResourceSourceIndex = NULL; + UINT16 ResSourceLength; + UINT16 DescriptorSize; + UINT32 i; + UINT32 CurrentByteOffset; + + InitializerOp = Info->DescriptorTypeOp->Asl.Child; + CurrentByteOffset = Info->CurrentByteOffset; + + /* + * Calculate lengths for fields that have variable length: + * 1) Resource Source string + */ + ResSourceLength = RsGetStringDataLength (InitializerOp); + + DescriptorSize = ACPI_AML_SIZE_LARGE (AML_RESOURCE_CLOCK_INPUT) + ResSourceLength + 1; + + /* Allocate the local resource node and initialize */ + + Rnode = RsAllocateResourceNode (DescriptorSize + + sizeof (AML_RESOURCE_LARGE_HEADER)); + + Descriptor = Rnode->Buffer; + Descriptor->ClockInput.ResourceLength = DescriptorSize; + Descriptor->ClockInput.DescriptorType = ACPI_RESOURCE_NAME_CLOCK_INPUT; + Descriptor->ClockInput.RevisionId = AML_RESOURCE_CLOCK_INPUT_REVISION; + + /* Build pointers to optional areas */ + + if (ResSourceLength){ + ResourceSourceIndex = ACPI_ADD_PTR (UINT8, Descriptor, sizeof (AML_RESOURCE_CLOCK_INPUT)); + ResourceSourceString = ACPI_ADD_PTR (char, Descriptor, sizeof (AML_RESOURCE_CLOCK_INPUT) + 1); + } + + /* Process all child initialization nodes */ + + for (i = 0; InitializerOp; i++) + { + switch (i) + { + case 0: + Descriptor->ClockInput.FrequencyNumerator = (UINT32)InitializerOp->Asl.Value.Integer; + RsCreateDwordField (InitializerOp, ACPI_RESTAG_FQN, + CurrentByteOffset + ASL_RESDESC_OFFSET (ClockInput.FrequencyNumerator)); + + break; + + case 1: + Descriptor->ClockInput.FrequencyDivisor = (UINT16)InitializerOp->Asl.Value.Integer; + RsCreateWordField (InitializerOp, ACPI_RESTAG_FQD, + CurrentByteOffset + ASL_RESDESC_OFFSET (ClockInput.FrequencyDivisor)); + + break; + + case 2: + RsSetFlagBits16 (&Descriptor->ClockInput.Flags, InitializerOp, 1, 0); + break; + + case 3: + RsSetFlagBits16 (&Descriptor->ClockInput.Flags, InitializerOp, 0, 0); + break; + + case 4: /* ResSource String [Optional Field] */ + + if (ResourceSourceString) + { + /* Copy string to the descriptor */ + + strcpy (ResourceSourceString, InitializerOp->Asl.Value.String); + } + break; + + case 5: /* ResSource Index [Optional Field] */ + if (ResourceSourceIndex) + { + *ResourceSourceIndex = (UINT8) InitializerOp->Asl.Value.Integer; + } + break; + + default: + break; + } + + InitializerOp = RsCompleteNodeAndGetNext (InitializerOp); + } + + return (Rnode); +} + /******************************************************************************* * @@ -1736,7 +1839,6 @@ RsDoPinConfigDescriptor ( UINT16 PinListLength; UINT16 DescriptorSize; UINT32 CurrentByteOffset; - UINT32 PinCount = 0; UINT32 i; InitializerOp = Info->DescriptorTypeOp->Asl.Child; @@ -1868,15 +1970,10 @@ RsDoPinConfigDescriptor ( default: /* * PINs come through here, repeatedly. Each PIN must be a WORD. - * NOTE: there is no "length" field for this, so from ACPI spec: - * The number of pins in the table can be calculated from: - * PinCount = (Resource Source Name Offset - Pin Table Offset) / 2 - * (implies resource source must immediately follow the pin list.) * Name: _PIN */ *PinList = (UINT16) InitializerOp->Asl.Value.Integer; PinList++; - PinCount++; /* Case 8: First pin number in list */ @@ -1936,7 +2033,6 @@ RsDoPinGroupDescriptor ( UINT16 PinListLength; UINT16 DescriptorSize; UINT32 CurrentByteOffset; - UINT32 PinCount = 0; UINT32 i; InitializerOp = Info->DescriptorTypeOp->Asl.Child; @@ -2022,15 +2118,10 @@ RsDoPinGroupDescriptor ( default: /* * PINs come through here, repeatedly. Each PIN must be a WORD. - * NOTE: there is no "length" field for this, so from ACPI spec: - * The number of pins in the table can be calculated from: - * PinCount = (Resource Source Name Offset - Pin Table Offset) / 2 - * (implies resource source must immediately follow the pin list.) * Name: _PIN */ *PinList = (UINT16) InitializerOp->Asl.Value.Integer; PinList++; - PinCount++; /* Case 3: First pin number in list */ diff --git a/src/acpica/source/compiler/aslrestype2w.c b/src/acpica/source/compiler/aslrestype2w.c index a758e058..9908494d 100644 --- a/src/acpica/source/compiler/aslrestype2w.c +++ b/src/acpica/source/compiler/aslrestype2w.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslrules.y b/src/acpica/source/compiler/aslrules.y index 79aa2210..2793749b 100644 --- a/src/acpica/source/compiler/aslrules.y +++ b/src/acpica/source/compiler/aslrules.y @@ -11,7 +11,7 @@ NoEcho(' * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslstartup.c b/src/acpica/source/compiler/aslstartup.c index 9542a79d..8b4e5c7c 100644 --- a/src/acpica/source/compiler/aslstartup.c +++ b/src/acpica/source/compiler/aslstartup.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslstubs.c b/src/acpica/source/compiler/aslstubs.c index 0e6cd56f..e90115b8 100644 --- a/src/acpica/source/compiler/aslstubs.c +++ b/src/acpica/source/compiler/aslstubs.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslsupport.l b/src/acpica/source/compiler/aslsupport.l index 0daec602..8d589a94 100644 --- a/src/acpica/source/compiler/aslsupport.l +++ b/src/acpica/source/compiler/aslsupport.l @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -195,7 +195,7 @@ AslParserCleanup ( * * DESCRIPTION: Handle #line directives emitted by the preprocessor. * - * The #line directive is emitted by the preprocesser, and is used to + * The #line directive is emitted by the preprocessor, and is used to * pass through line numbers from the original source code file to the * preprocessor output file (.i). This allows any compiler-generated * error messages to be displayed with the correct line number. diff --git a/src/acpica/source/compiler/aslsupport.y b/src/acpica/source/compiler/aslsupport.y index 3f19af2f..f7420672 100644 --- a/src/acpica/source/compiler/aslsupport.y +++ b/src/acpica/source/compiler/aslsupport.y @@ -9,7 +9,7 @@ NoEcho(' * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/asltokens.y b/src/acpica/source/compiler/asltokens.y index c43561e7..48db2e22 100644 --- a/src/acpica/source/compiler/asltokens.y +++ b/src/acpica/source/compiler/asltokens.y @@ -9,7 +9,7 @@ NoEcho(' * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -399,6 +399,12 @@ NoEcho(' %token <i> PARSEOP_PIN_PULLDEFAULT %token <i> PARSEOP_PIN_PULLDOWN %token <i> PARSEOP_PIN_PULLUP +%token <i> PARSEOP_CLOCKINPUT +%token <i> PARSEOP_CLOCK_HZ +%token <i> PARSEOP_CLOCK_KHZ +%token <i> PARSEOP_CLOCK_MHZ +%token <i> PARSEOP_CLOCK_FIXED +%token <i> PARSEOP_CLOCK_VARIABLE %token <i> PARSEOP_POWERRESOURCE %token <i> PARSEOP_PROCESSOR %token <i> PARSEOP_QWORDCONST diff --git a/src/acpica/source/compiler/asltransform.c b/src/acpica/source/compiler/asltransform.c index 573ddad1..d1fcbed2 100644 --- a/src/acpica/source/compiler/asltransform.c +++ b/src/acpica/source/compiler/asltransform.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/asltree.c b/src/acpica/source/compiler/asltree.c index 9cf49269..f390c4f6 100644 --- a/src/acpica/source/compiler/asltree.c +++ b/src/acpica/source/compiler/asltree.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -467,6 +467,7 @@ TrLinkOpChildren ( UINT32 i; BOOLEAN FirstChild; + ACPI_FUNCTION_NAME (TrLinkOpChildren); va_start (ap, NumChildren); @@ -624,7 +625,7 @@ TrLinkOpChildren ( if (AcpiGbl_CaptureComments) { AslGbl_CommentState.LatestParseOp = Op; - CvDbgPrint ("TrLinkOpChildren=====Set latest parse op to this op.\n"); + CvDbgPrint ("%s=====Set latest parse op to this op.\n", ACPI_GET_FUNCTION_NAME); } return (Op); diff --git a/src/acpica/source/compiler/asltypes.h b/src/acpica/source/compiler/asltypes.h index d5689dea..577d3b88 100644 --- a/src/acpica/source/compiler/asltypes.h +++ b/src/acpica/source/compiler/asltypes.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -336,7 +336,7 @@ typedef struct asl_file_desc typedef struct asl_cache_info { void *Next; - char Buffer[1]; + char Buffer[]; } ASL_CACHE_INFO; diff --git a/src/acpica/source/compiler/asltypes.y b/src/acpica/source/compiler/asltypes.y index ba98362c..d5f020d3 100644 --- a/src/acpica/source/compiler/asltypes.y +++ b/src/acpica/source/compiler/asltypes.y @@ -9,7 +9,7 @@ NoEcho(' * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -359,6 +359,8 @@ NoEcho(' %type <n> WireModeKeyword %type <n> XferSizeKeyword %type <n> XferTypeKeyword +%type <n> ClockScaleKeyword +%type <n> ClockModeKeyword /* Types */ @@ -411,6 +413,7 @@ NoEcho(' /* Resource Descriptors */ +%type <n> ClockInputTerm %type <n> ConnectionTerm %type <n> Csi2SerialBusTerm %type <n> DMATerm diff --git a/src/acpica/source/compiler/aslutils.c b/src/acpica/source/compiler/aslutils.c index e91fd460..86b040b9 100644 --- a/src/acpica/source/compiler/aslutils.c +++ b/src/acpica/source/compiler/aslutils.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -610,7 +610,7 @@ UtSetParseOpName ( * * FUNCTION: UtDisplayOneSummary * - * PARAMETERS: FileID - ID of outpout file + * PARAMETERS: FileID - ID of output file * * RETURN: None * @@ -733,7 +733,7 @@ UtDisplayOneSummary ( * * FUNCTION: UtDisplayErrorSummary * - * PARAMETERS: FileID - ID of outpout file + * PARAMETERS: FileID - ID of output file * * RETURN: None * @@ -800,7 +800,7 @@ UtDisplayErrorSummary ( * * FUNCTION: UtDisplaySummary * - * PARAMETERS: FileID - ID of outpout file + * PARAMETERS: FileID - ID of output file * * RETURN: None * diff --git a/src/acpica/source/compiler/asluuid.c b/src/acpica/source/compiler/asluuid.c index 0eb36050..fbbf644a 100644 --- a/src/acpica/source/compiler/asluuid.c +++ b/src/acpica/source/compiler/asluuid.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslwalks.c b/src/acpica/source/compiler/aslwalks.c index 6e32f081..0f7bc94f 100644 --- a/src/acpica/source/compiler/aslwalks.c +++ b/src/acpica/source/compiler/aslwalks.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslxref.c b/src/acpica/source/compiler/aslxref.c index 3a00f5a9..0e1034ba 100644 --- a/src/acpica/source/compiler/aslxref.c +++ b/src/acpica/source/compiler/aslxref.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/aslxrefout.c b/src/acpica/source/compiler/aslxrefout.c index dd3fe80c..04471c63 100644 --- a/src/acpica/source/compiler/aslxrefout.c +++ b/src/acpica/source/compiler/aslxrefout.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/cvcompiler.c b/src/acpica/source/compiler/cvcompiler.c index b51a688b..6689ca89 100644 --- a/src/acpica/source/compiler/cvcompiler.c +++ b/src/acpica/source/compiler/cvcompiler.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/cvdisasm.c b/src/acpica/source/compiler/cvdisasm.c index 250c009a..7561e902 100644 --- a/src/acpica/source/compiler/cvdisasm.c +++ b/src/acpica/source/compiler/cvdisasm.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/cvparser.c b/src/acpica/source/compiler/cvparser.c index 66b04e9a..574cbe8d 100644 --- a/src/acpica/source/compiler/cvparser.c +++ b/src/acpica/source/compiler/cvparser.c @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/dtcompile.c b/src/acpica/source/compiler/dtcompile.c index 11fcb8b9..afb4e342 100644 --- a/src/acpica/source/compiler/dtcompile.c +++ b/src/acpica/source/compiler/dtcompile.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/dtcompiler.h b/src/acpica/source/compiler/dtcompiler.h index e85ca539..cddc9519 100644 --- a/src/acpica/source/compiler/dtcompiler.h +++ b/src/acpica/source/compiler/dtcompiler.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -577,6 +577,10 @@ ACPI_STATUS DtCompileAsf ( void **PFieldList); +ACPI_STATUS +DtCompileAspt ( + void **PFieldList); + ACPI_STATUS DtCompileCdat ( void **PFieldList); @@ -653,6 +657,10 @@ ACPI_STATUS DtCompileMcfg ( void **PFieldList); +ACPI_STATUS +DtCompileMpam ( + void **PFieldList); + ACPI_STATUS DtCompileMpst ( void **PFieldList); @@ -697,6 +705,10 @@ ACPI_STATUS DtCompileRgrt ( void **PFieldList); +ACPI_STATUS +DtCompileRhct ( + void **PFieldList); + ACPI_STATUS DtCompileRsdt ( void **PFieldList); @@ -773,6 +785,7 @@ extern const unsigned char TemplateAest[]; extern const unsigned char TemplateAgdi[]; extern const unsigned char TemplateApmt[]; extern const unsigned char TemplateAsf[]; +extern const unsigned char TemplateAspt[]; extern const unsigned char TemplateBoot[]; extern const unsigned char TemplateBdat[]; extern const unsigned char TemplateBert[]; @@ -801,6 +814,7 @@ extern const unsigned char TemplateLpit[]; extern const unsigned char TemplateMadt[]; extern const unsigned char TemplateMcfg[]; extern const unsigned char TemplateMchi[]; +extern const unsigned char TemplateMpam[]; extern const unsigned char TemplateMpst[]; extern const unsigned char TemplateMsct[]; extern const unsigned char TemplateMsdm[]; @@ -814,6 +828,7 @@ extern const unsigned char TemplatePptt[]; extern const unsigned char TemplatePrmt[]; extern const unsigned char TemplateRasf[]; extern const unsigned char TemplateRgrt[]; +extern const unsigned char TemplateRhct[]; extern const unsigned char TemplateRsdt[]; extern const unsigned char TemplateS3pt[]; extern const unsigned char TemplateSbst[]; diff --git a/src/acpica/source/compiler/dtcompilerparser.l b/src/acpica/source/compiler/dtcompilerparser.l index a00ef56e..a4ff02a0 100644 --- a/src/acpica/source/compiler/dtcompilerparser.l +++ b/src/acpica/source/compiler/dtcompilerparser.l @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/dtcompilerparser.y b/src/acpica/source/compiler/dtcompilerparser.y index 30ead3af..f03615ff 100644 --- a/src/acpica/source/compiler/dtcompilerparser.y +++ b/src/acpica/source/compiler/dtcompilerparser.y @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/dtexpress.c b/src/acpica/source/compiler/dtexpress.c index fd292d8f..7d614729 100644 --- a/src/acpica/source/compiler/dtexpress.c +++ b/src/acpica/source/compiler/dtexpress.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -480,10 +480,11 @@ static void DtInsertLabelField ( DT_FIELD *Field) { + ACPI_FUNCTION_NAME (DtInsertLabelField); DbgPrint (ASL_DEBUG_OUTPUT, - "DtInsertLabelField: Found Label : %s at output table offset %X\n", - Field->Value, Field->TableOffset); + "%s: Found Label : %s at output table offset %X\n", + ACPI_GET_FUNCTION_NAME, Field->Value, Field->TableOffset); Field->NextLabel = AslGbl_LabelList; AslGbl_LabelList = Field; diff --git a/src/acpica/source/compiler/dtfield.c b/src/acpica/source/compiler/dtfield.c index f9316319..b2ba6693 100644 --- a/src/acpica/source/compiler/dtfield.c +++ b/src/acpica/source/compiler/dtfield.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -678,7 +678,7 @@ DtCompileFlag ( case ACPI_DMT_FLAGS8_2: - BitPosition = 2; + BitPosition = 2; BitLength = 8; break; diff --git a/src/acpica/source/compiler/dtio.c b/src/acpica/source/compiler/dtio.c index 9ec18cd1..7d7fb2b4 100644 --- a/src/acpica/source/compiler/dtio.c +++ b/src/acpica/source/compiler/dtio.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/dtparser.l b/src/acpica/source/compiler/dtparser.l index b7cb26e2..0c003eca 100644 --- a/src/acpica/source/compiler/dtparser.l +++ b/src/acpica/source/compiler/dtparser.l @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/dtparser.y b/src/acpica/source/compiler/dtparser.y index fc8275cc..df804c91 100644 --- a/src/acpica/source/compiler/dtparser.y +++ b/src/acpica/source/compiler/dtparser.y @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/dtsubtable.c b/src/acpica/source/compiler/dtsubtable.c index 3c2798b6..0bbaa81c 100644 --- a/src/acpica/source/compiler/dtsubtable.c +++ b/src/acpica/source/compiler/dtsubtable.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/dttable.c b/src/acpica/source/compiler/dttable.c index dfc34c13..1cbd4619 100644 --- a/src/acpica/source/compiler/dttable.c +++ b/src/acpica/source/compiler/dttable.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/dttable1.c b/src/acpica/source/compiler/dttable1.c index dc25e9b9..8ffcb40d 100644 --- a/src/acpica/source/compiler/dttable1.c +++ b/src/acpica/source/compiler/dttable1.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -654,6 +654,91 @@ DtCompileAsf ( return (AE_OK); } +/****************************************************************************** + * + * FUNCTION: DtCompileAspt + * + * PARAMETERS: List - Current field list pointer + * + * RETURN: Status + * + * DESCRIPTION: Compile ASPT. + * + *****************************************************************************/ + +ACPI_STATUS +DtCompileAspt ( + void **List) +{ + ACPI_ASPT_HEADER *AsptTable; + DT_SUBTABLE *Subtable; + DT_SUBTABLE *ParentTable; + ACPI_DMTABLE_INFO *InfoTable; + ACPI_STATUS Status; + DT_FIELD **PFieldList = (DT_FIELD **) List; + DT_FIELD *SubtableStart; + + Status = DtCompileTable (PFieldList, AcpiDmTableInfoAspt, &Subtable); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + + ParentTable = DtPeekSubtable (); + DtInsertSubtable (ParentTable, Subtable); + + while (*PFieldList) + { + SubtableStart = *PFieldList; + Status = DtCompileTable (PFieldList, AcpiDmTableInfoAsptHdr, + &Subtable); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + + ParentTable = DtPeekSubtable (); + DtInsertSubtable (ParentTable, Subtable); + DtPushSubtable (Subtable); + + AsptTable = ACPI_CAST_PTR (ACPI_ASPT_HEADER, Subtable->Buffer); + + switch (AsptTable->Type) /* Mask off top bit */ + { + case ACPI_ASPT_TYPE_GLOBAL_REGS: + + InfoTable = AcpiDmTableInfoAspt0; + break; + + case ACPI_ASPT_TYPE_SEV_MBOX_REGS: + + InfoTable = AcpiDmTableInfoAspt1; + break; + + case ACPI_ASPT_TYPE_ACPI_MBOX_REGS: + + InfoTable = AcpiDmTableInfoAspt2; + break; + + default: + + DtFatal (ASL_MSG_UNKNOWN_SUBTABLE, SubtableStart, "ASPT"); + return (AE_ERROR); + } + + Status = DtCompileTable (PFieldList, InfoTable, &Subtable); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + ParentTable = DtPeekSubtable (); + DtInsertSubtable (ParentTable, Subtable); + DtPopSubtable (); + } + + return (AE_OK); +} + /****************************************************************************** * @@ -854,7 +939,7 @@ DtCompileCedt ( /* Look in buffer for the number of targets */ offset = (unsigned int) ACPI_OFFSET (ACPI_CEDT_CFMWS, InterleaveWays); dump = (unsigned char *) Subtable->Buffer - 4; /* place at beginning of cedt1 */ - max = 0x01 << dump[offset]; /* 2^max, so 0=1, 1=2, 2=4, 3=8. 8 is MAX */ + max = 0x01 << dump[offset]; /* 2^max, so 0=1, 1=2, 2=4, 3=8. 8 is MAX */ if (max > 8) max=1; /* Error in encoding Interleaving Ways. */ if (max == 1) /* if only one target, then break here. */ break; /* break if only one target. */ @@ -2009,7 +2094,7 @@ DtCompileHmat ( DtInsertSubtable (ParentTable, Subtable); HmatStruct->Length += Subtable->Length; - /* Compile HMAT structure additionals */ + /* Compile HMAT structure additional */ switch (HmatStruct->Type) { diff --git a/src/acpica/source/compiler/dttable2.c b/src/acpica/source/compiler/dttable2.c index 59d578f9..007b6747 100644 --- a/src/acpica/source/compiler/dttable2.c +++ b/src/acpica/source/compiler/dttable2.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -425,6 +425,163 @@ DtCompileMcfg ( return (Status); } +/****************************************************************************** + * + * FUNCTION: DtCompileMpam + * + * PARAMETERS: List - Current field list pointer + * + * RETURN: Status + * + * DESCRIPTION: Compile MPAM. + * + *****************************************************************************/ + +ACPI_STATUS +DtCompileMpam ( + void **List) +{ + ACPI_STATUS Status; + DT_SUBTABLE *ParentTable; + DT_SUBTABLE *Subtable; + DT_FIELD *SubtableStart; + DT_FIELD **PFieldList = (DT_FIELD **) List; + ACPI_MPAM_MSC_NODE *MpamMscNode; + ACPI_MPAM_RESOURCE_NODE *MpamResourceNode; + UINT32 FuncDepsCount; + UINT32 RisLength; + ACPI_DMTABLE_INFO *InfoTable; + + ParentTable = DtPeekSubtable (); + + while (*PFieldList) + { + SubtableStart = *PFieldList; + + /* Main MSC Node table */ + Status = DtCompileTable (PFieldList, AcpiDmTableInfoMpam0, + &Subtable); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + + MpamMscNode = ACPI_CAST_PTR (ACPI_MPAM_MSC_NODE, Subtable->Buffer); + + ParentTable = DtPeekSubtable (); + DtInsertSubtable (ParentTable, Subtable); + DtPushSubtable (Subtable); + + ParentTable = DtPeekSubtable (); + + /* + * RIS(es) per MSC node have variable lengths depending on how many RISes there and + * any how many functional dependencies per RIS. Calculate it in order + * to properly set the overall MSC length. + */ + RisLength = 0; + + /* Iterate over RIS subtables per MSC node */ + for (UINT32 ris = 0; ris < MpamMscNode->NumResouceNodes; ris++) + { + /* Compile RIS subtable */ + Status = DtCompileTable (PFieldList, AcpiDmTableInfoMpam1, + &Subtable); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + + MpamResourceNode = ACPI_CAST_PTR (ACPI_MPAM_RESOURCE_NODE, Subtable->Buffer); + DtInsertSubtable (ParentTable, Subtable); + DtPushSubtable (Subtable); + + ParentTable = DtPeekSubtable (); + + switch (MpamResourceNode->LocatorType) + { + case ACPI_MPAM_LOCATION_TYPE_PROCESSOR_CACHE: + InfoTable = AcpiDmTableInfoMpam1A; + break; + case ACPI_MPAM_LOCATION_TYPE_MEMORY: + InfoTable = AcpiDmTableInfoMpam1B; + break; + case ACPI_MPAM_LOCATION_TYPE_SMMU: + InfoTable = AcpiDmTableInfoMpam1C; + break; + case ACPI_MPAM_LOCATION_TYPE_MEMORY_CACHE: + InfoTable = AcpiDmTableInfoMpam1D; + break; + case ACPI_MPAM_LOCATION_TYPE_ACPI_DEVICE: + InfoTable = AcpiDmTableInfoMpam1E; + break; + case ACPI_MPAM_LOCATION_TYPE_INTERCONNECT: + InfoTable = AcpiDmTableInfoMpam1F; + break; + case ACPI_MPAM_LOCATION_TYPE_UNKNOWN: + InfoTable = AcpiDmTableInfoMpam1G; + default: + DtFatal (ASL_MSG_UNKNOWN_SUBTABLE, SubtableStart, "Resource Locator Type"); + return (AE_ERROR); + } + + /* Compile Resource Locator Table */ + Status = DtCompileTable (PFieldList, InfoTable, + &Subtable); + + if (ACPI_FAILURE (Status)) + { + return (Status); + } + + DtInsertSubtable (ParentTable, Subtable); + + /* Compile the number of functional dependencies per RIS */ + Status = DtCompileTable (PFieldList, AcpiDmTableInfoMpam1Deps, + &Subtable); + + if (ACPI_FAILURE (Status)) + { + return (Status); + } + + DtInsertSubtable (ParentTable, Subtable); + FuncDepsCount = *ACPI_CAST_PTR (UINT32, Subtable->Buffer); + + RisLength += sizeof(ACPI_MPAM_RESOURCE_NODE) + + FuncDepsCount * sizeof(ACPI_MPAM_FUNC_DEPS); + + /* Iterate over functional dependencies per RIS */ + for (UINT32 funcDep = 0; funcDep < FuncDepsCount; funcDep++) + { + /* Compiler functional dependencies table */ + Status = DtCompileTable (PFieldList, AcpiDmTableInfoMpam2, + &Subtable); + + if (ACPI_FAILURE (Status)) + { + return (Status); + } + + DtInsertSubtable (ParentTable, Subtable); + } + + DtPopSubtable (); + } + + /* Check if the length of the MSC is correct and override with the correct length */ + if (MpamMscNode->Length != sizeof(ACPI_MPAM_MSC_NODE) + RisLength) + { + MpamMscNode->Length = (UINT16) (sizeof(ACPI_MPAM_MSC_NODE) + RisLength); + DbgPrint (ASL_DEBUG_OUTPUT, "Overriding MSC->Length: %X\n", MpamMscNode->Length); + } + + DtPopSubtable (); + } + + return (AE_OK); +} + /****************************************************************************** * @@ -1086,7 +1243,7 @@ DtCompileNhlt ( /* * If we are not done with the current Endpoint yet, then there must be - * some non documeneted structure(s) yet to be processed. First, get + * some non documented structure(s) yet to be processed. First, get * the count of such structure(s). */ if (*PFieldList && !(strcmp ((const char *) (*PFieldList)->Name, "Device Info struct count"))) @@ -1800,7 +1957,7 @@ DtCompilePptt ( DtInsertSubtable (ParentTable, Subtable); PpttHeader->Length += (UINT8)(Subtable->Length); - /* Compile PPTT subtable additionals */ + /* Compile PPTT subtable additional */ switch (PpttHeader->Type) { @@ -1969,6 +2126,128 @@ DtCompileRgrt ( } +/****************************************************************************** + * + * FUNCTION: DtCompileRhct + * + * PARAMETERS: List - Current field list pointer + * + * RETURN: Status + * + * DESCRIPTION: Compile RHCT. + * + *****************************************************************************/ + +ACPI_STATUS +DtCompileRhct ( + void **List) +{ + ACPI_STATUS Status; + ACPI_RHCT_NODE_HEADER *RhctHeader; + ACPI_RHCT_HART_INFO *RhctHartInfo = NULL; + DT_SUBTABLE *Subtable; + DT_SUBTABLE *ParentTable; + ACPI_DMTABLE_INFO *InfoTable; + DT_FIELD **PFieldList = (DT_FIELD **) List; + DT_FIELD *SubtableStart; + + + /* Compile the main table */ + + Status = DtCompileTable (PFieldList, AcpiDmTableInfoRhct, + &Subtable); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + + ParentTable = DtPeekSubtable (); + while (*PFieldList) + { + SubtableStart = *PFieldList; + + /* Compile RHCT subtable header */ + + Status = DtCompileTable (PFieldList, AcpiDmTableInfoRhctNodeHdr, + &Subtable); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + DtInsertSubtable (ParentTable, Subtable); + RhctHeader = ACPI_CAST_PTR (ACPI_RHCT_NODE_HEADER, Subtable->Buffer); + RhctHeader->Length = (UINT16)(Subtable->Length); + + switch (RhctHeader->Type) + { + case ACPI_RHCT_NODE_TYPE_ISA_STRING: + + InfoTable = AcpiDmTableInfoRhctIsa1; + break; + + case ACPI_RHCT_NODE_TYPE_HART_INFO: + + InfoTable = AcpiDmTableInfoRhctHartInfo1; + break; + + default: + + DtFatal (ASL_MSG_UNKNOWN_SUBTABLE, SubtableStart, "RHCT"); + return (AE_ERROR); + } + + /* Compile RHCT subtable body */ + + Status = DtCompileTable (PFieldList, InfoTable, &Subtable); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + DtInsertSubtable (ParentTable, Subtable); + RhctHeader->Length += (UINT16)(Subtable->Length); + + /* Compile RHCT subtable additionals */ + + switch (RhctHeader->Type) + { + case ACPI_RHCT_NODE_TYPE_HART_INFO: + + RhctHartInfo = ACPI_SUB_PTR (ACPI_RHCT_HART_INFO, + Subtable->Buffer, sizeof (ACPI_RHCT_NODE_HEADER)); + if (RhctHartInfo) + { + + RhctHartInfo->NumOffsets = 0; + while (*PFieldList) + { + Status = DtCompileTable (PFieldList, + AcpiDmTableInfoRhctHartInfo2, &Subtable); + if (ACPI_FAILURE (Status)) + { + return (Status); + } + if (!Subtable) + { + break; + } + + DtInsertSubtable (ParentTable, Subtable); + RhctHeader->Length += (UINT16)(Subtable->Length); + RhctHartInfo->NumOffsets++; + } + } + break; + + default: + + break; + } + } + + return (AE_OK); +} + + /****************************************************************************** * * FUNCTION: DtCompileRsdt diff --git a/src/acpica/source/compiler/dttemplate.c b/src/acpica/source/compiler/dttemplate.c index 1bcc4a12..77edbc85 100644 --- a/src/acpica/source/compiler/dttemplate.c +++ b/src/acpica/source/compiler/dttemplate.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/dttemplate.h b/src/acpica/source/compiler/dttemplate.h index 3ab99978..755da402 100644 --- a/src/acpica/source/compiler/dttemplate.h +++ b/src/acpica/source/compiler/dttemplate.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -301,6 +301,27 @@ const unsigned char TemplateAsf[] = 0x01,0x00 /* 00000070 ".." */ }; +const unsigned char TemplateAspt[] = +{ + 0x41,0x53,0x50,0x54,0x88,0x00,0x00,0x00, /* 00000000 "ASPT...." */ + 0x01,0x2D,0x56,0x52,0x54,0x55,0x41,0x4C, /* 00000008 "..VRTUAL" */ + 0x4D,0x49,0x43,0x52,0x4F,0x53,0x46,0x54, /* 00000010 "MICROSFT" */ + 0x01,0x00,0x00,0x00,0x4D,0x53,0x46,0x54, /* 00000018 "....INTL" */ + 0x01,0x00,0x00,0x00,0x03,0x00,0x00,0x00, /* 00000020 " ." ...." */ + 0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00, /* 00000028 ".. ....." */ + 0x00,0x00,0xB0,0xFE,0x00,0x00,0x00,0x00, /* 00000030 "........" */ + 0x04,0x00,0xB0,0xFE,0x00,0x00,0x00,0x00, /* 00000038 "........" */ + 0x08,0x00,0xB0,0xFE,0x00,0x00,0x00,0x00, /* 00000040 "........" */ + 0x01,0x00,0x20,0x00,0x01,0x00,0x00,0x00, /* 00000048 ".. ....." */ + 0x10,0x00,0xB0,0xFE,0x00,0x00,0x00,0x00, /* 00000050 "........" */ + 0x14,0x00,0xB0,0xFE,0x00,0x00,0x00,0x00, /* 00000058 "........" */ + 0x18,0x00,0xB0,0xFE,0x00,0x00,0x00,0x00, /* 00000060 "........" */ + 0x02,0x00,0x20,0x00,0x00,0x00,0x00,0x00, /* 00000068 ".. ....." */ + 0x20,0x00,0xB0,0xFE,0x00,0x00,0x00,0x00, /* 00000070 " ......." */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000078 "........" */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000080 "........" */ +}; + const unsigned char TemplateBdat[] = { 0x42,0x44,0x41,0x54,0x30,0x00,0x00,0x00, /* 00000000 "BDAT0..." */ @@ -1197,6 +1218,42 @@ const unsigned char TemplateMsdm[] = 0x22,0x23,0x24,0x25 /* 00000060 ""#$%" */ }; +const unsigned char TemplateMpam[] = +{ + 0x4D,0x50,0x41,0x4D,0xFC,0x00,0x00,0x00, /* 00000000 "MPAM...." */ + 0x02,0x34,0x48,0x49,0x53,0x49,0x20,0x20, /* 00000008 ".4HISI " */ + 0x54,0x45,0x4D,0x50,0x4C,0x41,0x54,0x45, /* 00000010 "TEMPLATE" */ + 0x02,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */ + 0x20,0x10,0x22,0x20,0x60,0x00,0x00,0x00, /* 00000020 " ." `..." */ + 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xC0, /* 00000028 "........" */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00, /* 00000030 "........" */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000038 "........" */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000040 "........" */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000048 "........" */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000050 "........" */ + 0x32,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000058 "2......." */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000060 "........" */ + 0x01,0x00,0x00,0x00,0x11,0x00,0x00,0x00, /* 00000068 "........" */ + 0x00,0x00,0x00,0x01,0x20,0x00,0x00,0x00, /* 00000070 ".... ..." */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000078 "........" */ + 0x00,0x00,0x00,0x00,0x78,0x00,0x00,0x00, /* 00000080 "....x..." */ + 0x02,0x00,0x00,0x00,0x00,0x00,0x00,0xD0, /* 00000088 "........" */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00, /* 00000090 "........" */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 00000098 "........" */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000A0 "........" */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000A8 "........" */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000B0 "........" */ + 0x32,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000B8 "2......." */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000C0 "........" */ + 0x02,0x00,0x00,0x00,0x12,0x00,0x00,0x00, /* 000000C8 "........" */ + 0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00, /* 000000D0 "........" */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000D8 "........" */ + 0x00,0x00,0x00,0x00,0x13,0x00,0x00,0x00, /* 000000E0 "........" */ + 0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00, /* 000000E8 "........" */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 000000F0 "........" */ + 0x00,0x00,0x00,0x00 /* 000000F8 "...." */ +}; + const unsigned char TemplateMpst[] = { 0x4D,0x50,0x53,0x54,0xB6,0x00,0x00,0x00, /* 00000000 "MPST...." */ @@ -1659,6 +1716,26 @@ const unsigned char TemplateRgrt[] = 0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27 /* 00000048 " !"#$%&'" */ }; +const unsigned char TemplateRhct[] = +{ + 0x52,0x48,0x43,0x54,0x7C,0x00,0x00,0x00, /* 00000000 "RHCT|..." */ + 0x01,0x7D,0x4F,0x45,0x4D,0x43,0x41,0x00, /* 00000008 "..OEMCA." */ + 0x54,0x45,0x4D,0x50,0x4C,0x41,0x54,0x45, /* 00000010 "TEMPLATE" */ + 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */ + 0x28,0x09,0x22,0x20,0x00,0x00,0x00,0x00, /* 00000020 "... ...." */ + 0x80,0x96,0x98,0x00,0x00,0x00,0x00,0x00, /* 00000028 "........" */ + 0x02,0x00,0x00,0x00,0x38,0x00,0x00,0x00, /* 00000030 "....8..." */ + 0x00,0x00,0x34,0x00,0x01,0x00,0x2B,0x00, /* 00000038 "..4...*." */ + 0x72,0x76,0x36,0x34,0x69,0x6D,0x61,0x66, /* 00000040 "rv64imaf" */ + 0x64,0x63,0x68,0x5F,0x7A,0x69,0x63,0x73, /* 00000048 "dch_zics" */ + 0x72,0x5F,0x7A,0x69,0x66,0x65,0x6E,0x63, /* 00000050 "r_zifenc" */ + 0x65,0x69,0x5F,0x7A,0x62,0x61,0x5F,0x7A, /* 00000058 "ei_zba_z" */ + 0x62,0x62,0x5F,0x7A,0x62,0x63,0x5F,0x7A, /* 00000060 "bb_zbc_z" */ + 0x62,0x73,0x00,0x00,0xFF,0xFF,0x10,0x00, /* 00000068 "bs......" */ + 0x01,0x00,0x01,0x00,0x00,0x00,0x00,0x00, /* 00000070 "........" */ + 0x38,0x00,0x00,0x00 /* 00000078 "........" */ +}; + const unsigned char TemplateRsdp[] = { 0x52,0x53,0x44,0x20,0x50,0x54,0x52,0x20, /* 00000000 "RSD PTR " */ diff --git a/src/acpica/source/compiler/dtutils.c b/src/acpica/source/compiler/dtutils.c index 45bff3df..de321e58 100644 --- a/src/acpica/source/compiler/dtutils.c +++ b/src/acpica/source/compiler/dtutils.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -584,6 +584,7 @@ DtGetFieldLength ( case ACPI_DMT_IVRS_DE: case ACPI_DMT_GTDT: case ACPI_DMT_MADT: + case ACPI_DMT_MPAM_LOCATOR: case ACPI_DMT_NHLT1: case ACPI_DMT_NHLT1a: case ACPI_DMT_NHLT1b: @@ -614,6 +615,7 @@ DtGetFieldLength ( ByteLength = 1; break; + case ACPI_DMT_ASPT: case ACPI_DMT_UINT16: case ACPI_DMT_DMAR: case ACPI_DMT_HEST: diff --git a/src/acpica/source/compiler/preprocess.h b/src/acpica/source/compiler/preprocess.h index 9c25dd13..818eac26 100644 --- a/src/acpica/source/compiler/preprocess.h +++ b/src/acpica/source/compiler/preprocess.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -249,6 +249,7 @@ typedef struct directive_info */ PR_EXTERN char PR_INIT_GLOBAL (*AslGbl_MainTokenBuffer, NULL); /* [ASL_LINE_BUFFER_SIZE]; */ PR_EXTERN char PR_INIT_GLOBAL (*AslGbl_MacroTokenBuffer, NULL); /* [ASL_LINE_BUFFER_SIZE]; */ +PR_EXTERN char PR_INIT_GLOBAL (*AslGbl_MacroTokenReplaceBuffer, NULL); /* [ASL_LINE_BUFFER_SIZE]; */ PR_EXTERN char PR_INIT_GLOBAL (*AslGbl_ExpressionTokenBuffer, NULL); /* [ASL_LINE_BUFFER_SIZE]; */ PR_EXTERN UINT32 AslGbl_PreprocessorLineNumber; @@ -370,6 +371,14 @@ PrError ( UINT32 Column); void +PrReplaceResizeSubstring( + PR_MACRO_ARG *Args, + UINT32 Diff1, + UINT32 Diff2, + UINT32 i, + char *Token); + +char * PrReplaceData ( char *Buffer, UINT32 LengthToRemove, diff --git a/src/acpica/source/compiler/prexpress.c b/src/acpica/source/compiler/prexpress.c index 8ac1fd88..88570685 100644 --- a/src/acpica/source/compiler/prexpress.c +++ b/src/acpica/source/compiler/prexpress.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/prmacros.c b/src/acpica/source/compiler/prmacros.c index 5b366978..6414867b 100644 --- a/src/acpica/source/compiler/prmacros.c +++ b/src/acpica/source/compiler/prmacros.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -393,10 +393,10 @@ PrAddMacro ( UINT16 UseCount = 0; UINT16 ArgCount = 0; UINT32 Depth = 1; + /*UINT32 Depth = 1;*/ UINT32 EndOfArgList; char BufferChar; - /* Find the end of the arguments list */ TokenOffset = Name - AslGbl_MainTokenBuffer + strlen (Name) + 1; @@ -437,6 +437,7 @@ PrAddMacro ( for (i = 0; i < PR_MAX_MACRO_ARGS; i++) { Token = PrGetNextToken (NULL, PR_MACRO_SEPARATORS, Next); + if (!Token) { /* This is the case for a NULL macro body */ @@ -454,14 +455,13 @@ PrAddMacro ( } DbgPrint (ASL_DEBUG_OUTPUT, PR_PREFIX_ID - "Macro arg: %s \n", + "Macro param: %s \n", AslGbl_CurrentLineNumber, Token); Args[i].Name = UtLocalCalloc (strlen (Token) + 1); strcpy (Args[i].Name, Token); Args[i].UseCount = 0; - ArgCount++; if (ArgCount >= PR_MAX_MACRO_ARGS) { @@ -476,7 +476,6 @@ PrAddMacro ( /* Match each method arg in the macro body for later use */ - Token = PrGetNextToken (NULL, PR_MACRO_SEPARATORS, Next); while (Token) { /* Search the macro arg list for matching arg */ @@ -496,12 +495,14 @@ PrAddMacro ( Args[i].Offset[UseCount] = (Token - AslGbl_MainTokenBuffer) - MacroBodyOffset; + DbgPrint (ASL_DEBUG_OUTPUT, PR_PREFIX_ID "Macro Arg #%u: %s UseCount %u Offset %u \n", AslGbl_CurrentLineNumber, i, Token, UseCount+1, Args[i].Offset[UseCount]); Args[i].UseCount++; + if (Args[i].UseCount >= PR_MAX_ARG_INSTANCES) { PrError (ASL_ERROR, ASL_MSG_TOO_MANY_ARGUMENTS, @@ -596,7 +597,8 @@ PrDoMacroInvocation ( UINT32 TokenOffset; UINT32 Length; UINT32 i; - + UINT32 Diff1; + UINT32 Diff2; /* Take a copy of the macro body for expansion */ @@ -610,6 +612,7 @@ PrDoMacroInvocation ( /* This macro has no arguments */ Token = PrGetNextToken (NULL, PR_MACRO_ARGUMENTS, Next); + if (!Token) { goto BadInvocation; @@ -634,21 +637,35 @@ PrDoMacroInvocation ( goto BadInvocation; } + /* + * Avoid optimizing using just 1 signed int due to specific + * non-portable implementations of signed ints + */ + Diff1 = strlen (Args->Name) > strlen (Token) ? strlen (Args->Name) - + strlen (Token) : 0; + + Diff2 = strlen (Args->Name) < strlen (Token) ? strlen (Token) - + strlen (Args->Name) : 0; + /* Replace all instances of this argument */ for (i = 0; i < Args->UseCount; i++) { - /* Offset zero indicates "arg not used" */ - /* TBD: Not really needed now, with UseCount available */ + /* + * To test the output of the preprocessed macro function that + * is passed to the compiler + */ - if (Args->Offset[i] == 0) - { - break; - } + /* + * fprintf (stderr, "Current token = %s \t Current arg_name = %s \ + * \t strlen (Token) = %u \t strlen (Args->Name) = %u \t Offset = %u \ + * \t UseCount = %u \t", Token, Args->Name, strlen (Token), \ + * strlen (Args->Name), Args->Offset[i], Args->UseCount); + */ + + AslGbl_MacroTokenReplaceBuffer = (char *) calloc ((strlen (AslGbl_MacroTokenBuffer)), sizeof (char)); - PrReplaceData ( - &AslGbl_MacroTokenBuffer[Args->Offset[i]], strlen (Args->Name), - Token, strlen (Token)); + PrReplaceResizeSubstring (Args, Diff1, Diff2, i, Token); DbgPrint (ASL_DEBUG_OUTPUT, PR_PREFIX_ID "ExpandArg: %s \n", @@ -658,8 +675,6 @@ PrDoMacroInvocation ( Args++; } - /* TBD: need to make sure macro was not invoked with too many arguments */ - if (!Token) { return; @@ -676,7 +691,6 @@ PrDoMacroInvocation ( return; - BadInvocation: PrError (ASL_ERROR, ASL_MSG_INVALID_INVOCATION, THIS_TOKEN_OFFSET (MacroStart)); diff --git a/src/acpica/source/compiler/prparser.l b/src/acpica/source/compiler/prparser.l index 828d81b2..c701da4a 100644 --- a/src/acpica/source/compiler/prparser.l +++ b/src/acpica/source/compiler/prparser.l @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/prparser.y b/src/acpica/source/compiler/prparser.y index 3854d989..2f4d0327 100644 --- a/src/acpica/source/compiler/prparser.y +++ b/src/acpica/source/compiler/prparser.y @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/compiler/prscan.c b/src/acpica/source/compiler/prscan.c index 0d9af86e..d29f4e90 100644 --- a/src/acpica/source/compiler/prscan.c +++ b/src/acpica/source/compiler/prscan.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -780,8 +780,9 @@ PrDoDirective ( TokenOffset = Token - AslGbl_MainTokenBuffer + strlen (Token); if (*(&AslGbl_CurrentLineBuffer[TokenOffset]) == '(') { -#ifndef MACROS_SUPPORTED - AcpiOsPrintf ( + +#ifdef MACROS_SUPPORTED + AcpiOsPrintf( "%s ERROR - line %u: #define macros are not supported yet\n", AslGbl_CurrentLineBuffer, AslGbl_LogicalLineNumber); exit(1); @@ -789,6 +790,8 @@ PrDoDirective ( PrAddMacro (Token, Next); #endif } + + else { /* Use the remainder of the line for the #define */ diff --git a/src/acpica/source/compiler/prutils.c b/src/acpica/source/compiler/prutils.c index eea42f89..2eb91a6c 100644 --- a/src/acpica/source/compiler/prutils.c +++ b/src/acpica/source/compiler/prutils.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -282,6 +282,238 @@ PrError ( } +/******************************************************************************* + * + * FUNCTION: PrReplaceResizeSubstring + * + * PARAMETERS: Args - Struct containing name, offset & usecount + * Diff1 - Difference in lengths when new < old + * Diff2 - Difference in lengths when new > old +* i - The curr. no. of iteration of replacement + * Token - Substring that replaces Args->Name + * + * RETURN: None + * + * DESCRIPTION: Advanced substring replacement in a string using resized buffer. + * + ******************************************************************************/ + +void +PrReplaceResizeSubstring( + PR_MACRO_ARG *Args, + UINT32 Diff1, + UINT32 Diff2, + UINT32 i, + char *Token) +{ + UINT32 b, PrevOffset; + char *temp; + char macro_sep[64]; + + + AslGbl_MacroTokenReplaceBuffer = (char *) realloc (AslGbl_MacroTokenReplaceBuffer, + (2 * (strlen (AslGbl_MacroTokenBuffer)))); + + strcpy (macro_sep, "~,() {}!*/%+-<>=&^|\"\t\n"); + + /* + * When the replacement argument (during invocation) length + * < replaced parameter (in the macro function definition + * and its expansion) length + */ + if (Diff1 != 0) + { + /* + * We save the offset value to reset it after replacing each + * instance of each arg and setting the offset value to + * the start of the arg to be replaced since it changes + * with each iteration when arg length != token length + */ + PrevOffset = Args->Offset[i]; + temp = strstr (AslGbl_MacroTokenBuffer, Args->Name); + +ResetHere1: + temp = strstr (temp, Args->Name); + Args->Offset[i] = strlen (AslGbl_MacroTokenBuffer) - + strlen (temp); + if (Args->Offset[i] == 0) + { + goto JumpHere1; + } + if ((strchr (macro_sep, AslGbl_MacroTokenBuffer[(Args->Offset[i] - 1)])) && + (strchr (macro_sep, AslGbl_MacroTokenBuffer[(Args->Offset[i] + strlen (Args->Name))]))) + { + Args->Offset[i] += 0; + } + else + { + temp += strlen (Args->Name); + goto ResetHere1; + } + + /* + * For now, we simply set the extra char positions (generated + * due to longer name replaced by shorter name) to whitespace + * chars so it will be ignored during compilation + */ +JumpHere1: + b = strlen (Token) + Args->Offset[i]; + memset (&AslGbl_MacroTokenBuffer[b], ' ', Diff1); + +# if 0 + + /* Work in progress as of 03/08/2023 - experimental 'if' block + * to test code for removing extra whitespaces from the macro + * replacement when replacement arg < replaced param + */ + char Buff[8192]; + /* char* Replace; */ + /* Replace = Buff; */ + + for (j = 0; j < strlen (AslGbl_MacroTokenBuffer); j++) + { + Buff[j] = AslGbl_MacroTokenBuffer[j]; + } + Buff[strlen (AslGbl_MacroTokenBuffer)] = '\0'; + //fprintf (stderr, "Buff: %s\n", Buff); + + UINT32 len = strlen (Buff); + + for (j = 0; j < len; j++) + { + if (Buff[0] == ' ') + { + for (j = 0; j < (len - 1); j++) + { + Buff[j] = Buff[j + 1]; + } + Buff[j] = '\0'; + len--; + j = -1; + continue; + } + + if (Buff[j] == ' ' && Buff[j + 1] == ' ') + { + for (k = 0; k < (len - 1); k++) + { + Buff[j] = Buff[j + 1]; + } + Buff[j] = '\0'; + len--; + j--; + } + } + //fprintf(stderr, "Buff: %s\n", Buff); + + for (k = 0; k < strlen (Buff); k++) + { + AslGbl_MacroTokenBuffer[k] = Buff[k]; + } +#endif + + PrReplaceData ( + &AslGbl_MacroTokenBuffer[Args->Offset[i]], + strlen (Token), Token, strlen (Token)); + + temp = NULL; + Args->Offset[i] = PrevOffset; + } + + /* + * When the replacement argument (during invocation) length + * > replaced parameter (in the macro function definition + * and its expansion) length + */ + else if (Diff2 != 0) + { + /* Doing the same thing with offset value as for prev case */ + + PrevOffset = Args->Offset[i]; + temp = strstr (AslGbl_MacroTokenBuffer, Args->Name); + +ResetHere2: + temp = strstr (temp, Args->Name); + Args->Offset[i] = strlen (AslGbl_MacroTokenBuffer) - + strlen (temp); + if (Args->Offset[i] == 0) + { + goto JumpHere2; + } + if ((strchr (macro_sep, AslGbl_MacroTokenBuffer[(Args->Offset[i] - 1)])) && + (strchr (macro_sep, AslGbl_MacroTokenBuffer[(Args->Offset[i] + strlen (Args->Name))]))) + { + Args->Offset[i] += 0; + } + else + { + temp+= strlen (Args->Name); + goto ResetHere2; + } + + /* + * We will need to allocate some extra space in our buffer to + * accommodate the increase in the replacement string length + * over the shorter outgoing arg string and do the replacement + * at the correct offset value which is resetted every iteration + */ +JumpHere2: + strncpy (AslGbl_MacroTokenReplaceBuffer, AslGbl_MacroTokenBuffer, Args->Offset[i]); + strcat (AslGbl_MacroTokenReplaceBuffer, Token); + strcat (AslGbl_MacroTokenReplaceBuffer, (AslGbl_MacroTokenBuffer + + (Args->Offset[i] + strlen (Args->Name)))); + + strcpy (AslGbl_MacroTokenBuffer, AslGbl_MacroTokenReplaceBuffer); + + temp = NULL; + Args->Offset[i] = PrevOffset; + } + + /* + * When the replacement argument (during invocation) length = + * replaced parameter (in the macro function definition and + * its expansion) length + */ + else + { + + /* + * We still need to reset the offset for each iteration even when + * arg and param lengths are same since any macro func invocation + * could use various cases for each separate arg-param pair + */ + PrevOffset = Args->Offset[i]; + temp = strstr (AslGbl_MacroTokenBuffer, Args->Name); + +ResetHere3: + temp = strstr (temp, Args->Name); + Args->Offset[i] = strlen (AslGbl_MacroTokenBuffer) - + strlen (temp); + if (Args->Offset[i] == 0) + { + goto JumpHere3; + } + if ((strchr (macro_sep, AslGbl_MacroTokenBuffer[(Args->Offset[i] - 1)])) && + (strchr (macro_sep, AslGbl_MacroTokenBuffer[(Args->Offset[i] + strlen (Args->Name))]))) + { + Args->Offset[i] += 0; + } + else + { + temp += strlen (Args->Name); + goto ResetHere3; + } + +JumpHere3: + PrReplaceData ( + &AslGbl_MacroTokenBuffer[Args->Offset[i]], + strlen (Args->Name), Token, strlen (Token)); + temp = NULL; + Args->Offset[i] = PrevOffset; + } +} + + /******************************************************************************* * * FUNCTION: PrReplaceData @@ -291,13 +523,13 @@ PrError ( * BufferToAdd - Data to be inserted into target buffer * LengthToAdd - Length of BufferToAdd * - * RETURN: None + * RETURN: Pointer to where the buffer is replaced with data * * DESCRIPTION: Generic buffer data replacement. * ******************************************************************************/ -void +char * PrReplaceData ( char *Buffer, UINT32 LengthToRemove, @@ -325,12 +557,14 @@ PrReplaceData ( } } + /* Now we can move in the new data */ if (LengthToAdd > 0) { memmove (Buffer, BufferToAdd, LengthToAdd); } + return (Buffer + LengthToAdd); } diff --git a/src/acpica/source/components/debugger/dbcmds.c b/src/acpica/source/components/debugger/dbcmds.c index 6f551476..b8c2b422 100644 --- a/src/acpica/source/components/debugger/dbcmds.c +++ b/src/acpica/source/components/debugger/dbcmds.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/debugger/dbconvert.c b/src/acpica/source/components/debugger/dbconvert.c index 9d1e1ddd..0b852261 100644 --- a/src/acpica/source/components/debugger/dbconvert.c +++ b/src/acpica/source/components/debugger/dbconvert.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/debugger/dbdisply.c b/src/acpica/source/components/debugger/dbdisply.c index 276217f5..ad69737f 100644 --- a/src/acpica/source/components/debugger/dbdisply.c +++ b/src/acpica/source/components/debugger/dbdisply.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/debugger/dbexec.c b/src/acpica/source/components/debugger/dbexec.c index eed0aa35..73759c88 100644 --- a/src/acpica/source/components/debugger/dbexec.c +++ b/src/acpica/source/components/debugger/dbexec.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/debugger/dbfileio.c b/src/acpica/source/components/debugger/dbfileio.c index 09f8f227..8fc11da8 100644 --- a/src/acpica/source/components/debugger/dbfileio.c +++ b/src/acpica/source/components/debugger/dbfileio.c @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/debugger/dbhistry.c b/src/acpica/source/components/debugger/dbhistry.c index 31bfc3c5..ecdfaeba 100644 --- a/src/acpica/source/components/debugger/dbhistry.c +++ b/src/acpica/source/components/debugger/dbhistry.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/debugger/dbinput.c b/src/acpica/source/components/debugger/dbinput.c index 0f21b731..5e5c6289 100644 --- a/src/acpica/source/components/debugger/dbinput.c +++ b/src/acpica/source/components/debugger/dbinput.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/debugger/dbmethod.c b/src/acpica/source/components/debugger/dbmethod.c index 82202e8e..5060bf6d 100644 --- a/src/acpica/source/components/debugger/dbmethod.c +++ b/src/acpica/source/components/debugger/dbmethod.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/debugger/dbnames.c b/src/acpica/source/components/debugger/dbnames.c index 963f8125..040fed24 100644 --- a/src/acpica/source/components/debugger/dbnames.c +++ b/src/acpica/source/components/debugger/dbnames.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -884,6 +884,9 @@ AcpiDbDisplayObjects ( { ObjectInfo = ACPI_ALLOCATE_ZEROED (sizeof (ACPI_OBJECT_INFO)); + if (!ObjectInfo) + return (AE_NO_MEMORY); + /* Walk the namespace from the root */ (void) AcpiWalkNamespace (ACPI_TYPE_ANY, ACPI_ROOT_OBJECT, diff --git a/src/acpica/source/components/debugger/dbobject.c b/src/acpica/source/components/debugger/dbobject.c index b8bade43..fe38be90 100644 --- a/src/acpica/source/components/debugger/dbobject.c +++ b/src/acpica/source/components/debugger/dbobject.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/debugger/dbstats.c b/src/acpica/source/components/debugger/dbstats.c index 30a686dc..a30d9948 100644 --- a/src/acpica/source/components/debugger/dbstats.c +++ b/src/acpica/source/components/debugger/dbstats.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/debugger/dbtest.c b/src/acpica/source/components/debugger/dbtest.c index 23690ed6..a4d48c7a 100644 --- a/src/acpica/source/components/debugger/dbtest.c +++ b/src/acpica/source/components/debugger/dbtest.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/debugger/dbutils.c b/src/acpica/source/components/debugger/dbutils.c index ef649b2c..70664ee2 100644 --- a/src/acpica/source/components/debugger/dbutils.c +++ b/src/acpica/source/components/debugger/dbutils.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/debugger/dbxface.c b/src/acpica/source/components/debugger/dbxface.c index c44e1d0d..667e90e5 100644 --- a/src/acpica/source/components/debugger/dbxface.c +++ b/src/acpica/source/components/debugger/dbxface.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/disassembler/dmbuffer.c b/src/acpica/source/components/disassembler/dmbuffer.c index d5d813c8..79f5a3cc 100644 --- a/src/acpica/source/components/disassembler/dmbuffer.c +++ b/src/acpica/source/components/disassembler/dmbuffer.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/disassembler/dmcstyle.c b/src/acpica/source/components/disassembler/dmcstyle.c index f0bef68e..0af72d1e 100644 --- a/src/acpica/source/components/disassembler/dmcstyle.c +++ b/src/acpica/source/components/disassembler/dmcstyle.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/disassembler/dmdeferred.c b/src/acpica/source/components/disassembler/dmdeferred.c index 82ce2bec..3a1ca550 100644 --- a/src/acpica/source/components/disassembler/dmdeferred.c +++ b/src/acpica/source/components/disassembler/dmdeferred.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/disassembler/dmnames.c b/src/acpica/source/components/disassembler/dmnames.c index 8852921f..356af85f 100644 --- a/src/acpica/source/components/disassembler/dmnames.c +++ b/src/acpica/source/components/disassembler/dmnames.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/disassembler/dmopcode.c b/src/acpica/source/components/disassembler/dmopcode.c index 1cfe710d..8f201d21 100644 --- a/src/acpica/source/components/disassembler/dmopcode.c +++ b/src/acpica/source/components/disassembler/dmopcode.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/disassembler/dmresrc.c b/src/acpica/source/components/disassembler/dmresrc.c index 0a183e9c..644c8a99 100644 --- a/src/acpica/source/components/disassembler/dmresrc.c +++ b/src/acpica/source/components/disassembler/dmresrc.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -203,6 +203,7 @@ static ACPI_RESOURCE_HANDLER AcpiGbl_DmResourceDispatch [] = AcpiDmPinGroupDescriptor, /* 0x10, ACPI_RESOURCE_NAME_PIN_GROUP */ AcpiDmPinGroupFunctionDescriptor, /* 0x11, ACPI_RESOURCE_NAME_PIN_GROUP_FUNCTION */ AcpiDmPinGroupConfigDescriptor, /* 0x12, ACPI_RESOURCE_NAME_PIN_GROUP_CONFIG */ + AcpiDmClockInputDescriptor, /* 0x13, ACPI_RESOURCE_NAME_CLOCK_INPUT */ }; diff --git a/src/acpica/source/components/disassembler/dmresrcl.c b/src/acpica/source/components/disassembler/dmresrcl.c index 9aa6ac1f..88d19036 100644 --- a/src/acpica/source/components/disassembler/dmresrcl.c +++ b/src/acpica/source/components/disassembler/dmresrcl.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -1112,7 +1112,7 @@ AcpiDmInterruptDescriptor ( { AcpiDmIndent (Level + 1); AcpiOsPrintf ("0x%8.8X,\n", - (UINT32) Resource->ExtendedIrq.Interrupts[i]); + (UINT32) Resource->ExtendedIrq.u.Interrupts[i]); } AcpiDmIndent (Level); diff --git a/src/acpica/source/components/disassembler/dmresrcl2.c b/src/acpica/source/components/disassembler/dmresrcl2.c index 59d00f6c..1d732e21 100644 --- a/src/acpica/source/components/disassembler/dmresrcl2.c +++ b/src/acpica/source/components/disassembler/dmresrcl2.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -523,6 +523,46 @@ AcpiDmGpioDescriptor ( } } +void +AcpiDmClockInputDescriptor ( + ACPI_OP_WALK_INFO *Info, + AML_RESOURCE *Resource, + UINT32 Length, + UINT32 Level) +{ + char *DeviceName = NULL; + UINT8 *ResourceIndex = NULL; + AcpiDmIndent (Level); + + AcpiOsPrintf ("ClockInput ("); + + AcpiOsPrintf ("0x%8.8X, ", Resource->ClockInput.FrequencyNumerator); + + AcpiOsPrintf ("0x%4.4X, ", Resource->ClockInput.FrequencyDivisor); + + AcpiOsPrintf ("%s, ", + AcpiGbl_ClockInputScale [ACPI_EXTRACT_2BIT_FLAG (Resource->ClockInput.Flags, 1)]); + + AcpiOsPrintf ("%s, ", + AcpiGbl_ClockInputMode [ACPI_GET_1BIT_FLAG (Resource->ClockInput.Flags)]); + + if (Length > sizeof(Resource->ClockInput)) + { + DeviceName = ACPI_ADD_PTR (char, + Resource, sizeof(Resource->ClockInput)+1), + AcpiUtPrintString (DeviceName, ACPI_UINT16_MAX); + + AcpiOsPrintf (", "); + ResourceIndex = ACPI_ADD_PTR (UINT8, + Resource, sizeof(Resource->ClockInput)), + + AcpiOsPrintf ("0x%2.2X", *ResourceIndex); + } + + AcpiOsPrintf (")\n"); + +} + /******************************************************************************* * * FUNCTION: AcpiDmPinFunctionDescriptor diff --git a/src/acpica/source/components/disassembler/dmresrcs.c b/src/acpica/source/components/disassembler/dmresrcs.c index db5ce5db..35883625 100644 --- a/src/acpica/source/components/disassembler/dmresrcs.c +++ b/src/acpica/source/components/disassembler/dmresrcs.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/disassembler/dmutils.c b/src/acpica/source/components/disassembler/dmutils.c index 2a7b7b33..b6c133f5 100644 --- a/src/acpica/source/components/disassembler/dmutils.c +++ b/src/acpica/source/components/disassembler/dmutils.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/disassembler/dmwalk.c b/src/acpica/source/components/disassembler/dmwalk.c index 7d2429b7..beaa5f0a 100644 --- a/src/acpica/source/components/disassembler/dmwalk.c +++ b/src/acpica/source/components/disassembler/dmwalk.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/dispatcher/dsargs.c b/src/acpica/source/components/dispatcher/dsargs.c index 52246693..6b9e4a35 100644 --- a/src/acpica/source/components/dispatcher/dsargs.c +++ b/src/acpica/source/components/dispatcher/dsargs.c @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/dispatcher/dscontrol.c b/src/acpica/source/components/dispatcher/dscontrol.c index 1d7d676c..205b9b55 100644 --- a/src/acpica/source/components/dispatcher/dscontrol.c +++ b/src/acpica/source/components/dispatcher/dscontrol.c @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/dispatcher/dsdebug.c b/src/acpica/source/components/dispatcher/dsdebug.c index 9111a215..06f7ec81 100644 --- a/src/acpica/source/components/dispatcher/dsdebug.c +++ b/src/acpica/source/components/dispatcher/dsdebug.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/dispatcher/dsfield.c b/src/acpica/source/components/dispatcher/dsfield.c index 2d3851ff..37cc25a9 100644 --- a/src/acpica/source/components/dispatcher/dsfield.c +++ b/src/acpica/source/components/dispatcher/dsfield.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/dispatcher/dsinit.c b/src/acpica/source/components/dispatcher/dsinit.c index 5f941f0c..79e55719 100644 --- a/src/acpica/source/components/dispatcher/dsinit.c +++ b/src/acpica/source/components/dispatcher/dsinit.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/dispatcher/dsmethod.c b/src/acpica/source/components/dispatcher/dsmethod.c index d5fc3038..02d9c6be 100644 --- a/src/acpica/source/components/dispatcher/dsmethod.c +++ b/src/acpica/source/components/dispatcher/dsmethod.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -705,7 +705,7 @@ AcpiDsCallControlMethod ( if (!Info) { Status = AE_NO_MEMORY; - goto Cleanup; + goto PopWalkState; } Info->Parameters = &ThisWalkState->Operands[0]; @@ -717,7 +717,7 @@ AcpiDsCallControlMethod ( ACPI_FREE (Info); if (ACPI_FAILURE (Status)) { - goto Cleanup; + goto PopWalkState; } NextWalkState->MethodNestingDepth = ThisWalkState->MethodNestingDepth + 1; @@ -764,6 +764,12 @@ AcpiDsCallControlMethod ( return_ACPI_STATUS (Status); +PopWalkState: + + /* On error, pop the walk state to be deleted from thread */ + + AcpiDsPopWalkState(Thread); + Cleanup: /* On error, we must terminate the method properly */ diff --git a/src/acpica/source/components/dispatcher/dsmthdat.c b/src/acpica/source/components/dispatcher/dsmthdat.c index af156790..1461af5d 100644 --- a/src/acpica/source/components/dispatcher/dsmthdat.c +++ b/src/acpica/source/components/dispatcher/dsmthdat.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/dispatcher/dsobject.c b/src/acpica/source/components/dispatcher/dsobject.c index 5ffd198b..147edc29 100644 --- a/src/acpica/source/components/dispatcher/dsobject.c +++ b/src/acpica/source/components/dispatcher/dsobject.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/dispatcher/dsopcode.c b/src/acpica/source/components/dispatcher/dsopcode.c index 190be1b3..7689df63 100644 --- a/src/acpica/source/components/dispatcher/dsopcode.c +++ b/src/acpica/source/components/dispatcher/dsopcode.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/dispatcher/dspkginit.c b/src/acpica/source/components/dispatcher/dspkginit.c index bd2bf2e3..a159d769 100644 --- a/src/acpica/source/components/dispatcher/dspkginit.c +++ b/src/acpica/source/components/dispatcher/dspkginit.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/dispatcher/dsutils.c b/src/acpica/source/components/dispatcher/dsutils.c index b159b34c..059e0559 100644 --- a/src/acpica/source/components/dispatcher/dsutils.c +++ b/src/acpica/source/components/dispatcher/dsutils.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/dispatcher/dswexec.c b/src/acpica/source/components/dispatcher/dswexec.c index 686f03c8..5ae0ad71 100644 --- a/src/acpica/source/components/dispatcher/dswexec.c +++ b/src/acpica/source/components/dispatcher/dswexec.c @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -569,9 +569,11 @@ AcpiDsExecEndOp ( /* * All opcodes require operand resolution, with the only exceptions - * being the ObjectType and SizeOf operators. + * being the ObjectType and SizeOf operators as well as opcodes that + * take no arguments. */ - if (!(WalkState->OpInfo->Flags & AML_NO_OPERAND_RESOLVE)) + if (!(WalkState->OpInfo->Flags & AML_NO_OPERAND_RESOLVE) && + (WalkState->OpInfo->Flags & AML_HAS_ARGS)) { /* Resolve all operands */ diff --git a/src/acpica/source/components/dispatcher/dswload.c b/src/acpica/source/components/dispatcher/dswload.c index 4fdf955a..74071c2e 100644 --- a/src/acpica/source/components/dispatcher/dswload.c +++ b/src/acpica/source/components/dispatcher/dswload.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/dispatcher/dswload2.c b/src/acpica/source/components/dispatcher/dswload2.c index 496ee91f..c48b555a 100644 --- a/src/acpica/source/components/dispatcher/dswload2.c +++ b/src/acpica/source/components/dispatcher/dswload2.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/dispatcher/dswscope.c b/src/acpica/source/components/dispatcher/dswscope.c index dad0c497..bce120c1 100644 --- a/src/acpica/source/components/dispatcher/dswscope.c +++ b/src/acpica/source/components/dispatcher/dswscope.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/dispatcher/dswstate.c b/src/acpica/source/components/dispatcher/dswstate.c index 68b7f3d1..cc648e3a 100644 --- a/src/acpica/source/components/dispatcher/dswstate.c +++ b/src/acpica/source/components/dispatcher/dswstate.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -785,9 +785,14 @@ AcpiDsInitAmlWalk ( WalkState->ParserState.Aml = - WalkState->ParserState.AmlStart = AmlStart; + WalkState->ParserState.AmlStart = WalkState->ParserState.AmlEnd = - WalkState->ParserState.PkgEnd = AmlStart + AmlLength; + WalkState->ParserState.PkgEnd = AmlStart; + /* Avoid undefined behavior: applying zero offset to null pointer */ + if (AmlLength != 0) { + WalkState->ParserState.AmlEnd += AmlLength; + WalkState->ParserState.PkgEnd += AmlLength; + } /* The NextOp of the NextWalk will be the beginning of the method */ diff --git a/src/acpica/source/components/events/evevent.c b/src/acpica/source/components/events/evevent.c index b92646a4..913cbd14 100644 --- a/src/acpica/source/components/events/evevent.c +++ b/src/acpica/source/components/events/evevent.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -438,7 +438,7 @@ AcpiEvFixedEventDispatch ( (void) AcpiWriteBitRegister ( AcpiGbl_FixedEventInfo[Event].EnableRegisterId, (Event == ACPI_EVENT_PCIE_WAKE) ? - ACPI_ENABLE_EVENT : ACPI_DISABLE_EVENT); + ACPI_ENABLE_EVENT : ACPI_DISABLE_EVENT); ACPI_ERROR ((AE_INFO, "No installed handler for fixed event - %s (%u), disabling", diff --git a/src/acpica/source/components/events/evglock.c b/src/acpica/source/components/events/evglock.c index 79b519a0..5992671b 100644 --- a/src/acpica/source/components/events/evglock.c +++ b/src/acpica/source/components/events/evglock.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/events/evgpe.c b/src/acpica/source/components/events/evgpe.c index b246567d..d7dcc3ea 100644 --- a/src/acpica/source/components/events/evgpe.c +++ b/src/acpica/source/components/events/evgpe.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/events/evgpeblk.c b/src/acpica/source/components/events/evgpeblk.c index 4dac205e..7317f6e0 100644 --- a/src/acpica/source/components/events/evgpeblk.c +++ b/src/acpica/source/components/events/evgpeblk.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/events/evgpeinit.c b/src/acpica/source/components/events/evgpeinit.c index 6f0472cf..adbe86eb 100644 --- a/src/acpica/source/components/events/evgpeinit.c +++ b/src/acpica/source/components/events/evgpeinit.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/events/evgpeutil.c b/src/acpica/source/components/events/evgpeutil.c index 1f66717d..23f6369f 100644 --- a/src/acpica/source/components/events/evgpeutil.c +++ b/src/acpica/source/components/events/evgpeutil.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/events/evhandler.c b/src/acpica/source/components/events/evhandler.c index e0859c30..47393a7d 100644 --- a/src/acpica/source/components/events/evhandler.c +++ b/src/acpica/source/components/events/evhandler.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/events/evmisc.c b/src/acpica/source/components/events/evmisc.c index b6c6eb6a..40548b50 100644 --- a/src/acpica/source/components/events/evmisc.c +++ b/src/acpica/source/components/events/evmisc.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/events/evregion.c b/src/acpica/source/components/events/evregion.c index fb0cc436..73db629f 100644 --- a/src/acpica/source/components/events/evregion.c +++ b/src/acpica/source/components/events/evregion.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/events/evrgnini.c b/src/acpica/source/components/events/evrgnini.c index 7cbbe30c..6d329cb2 100644 --- a/src/acpica/source/components/events/evrgnini.c +++ b/src/acpica/source/components/events/evrgnini.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/events/evsci.c b/src/acpica/source/components/events/evsci.c index 26891925..bb850e4d 100644 --- a/src/acpica/source/components/events/evsci.c +++ b/src/acpica/source/components/events/evsci.c @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/events/evxface.c b/src/acpica/source/components/events/evxface.c index 245ca8a4..ef2fbcc4 100644 --- a/src/acpica/source/components/events/evxface.c +++ b/src/acpica/source/components/events/evxface.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/events/evxfevnt.c b/src/acpica/source/components/events/evxfevnt.c index 3384e098..2b95395d 100644 --- a/src/acpica/source/components/events/evxfevnt.c +++ b/src/acpica/source/components/events/evxfevnt.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/events/evxfgpe.c b/src/acpica/source/components/events/evxfgpe.c index 87dab0f8..fe354d21 100644 --- a/src/acpica/source/components/events/evxfgpe.c +++ b/src/acpica/source/components/events/evxfgpe.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/events/evxfregn.c b/src/acpica/source/components/events/evxfregn.c index ee44e10d..00fe8620 100644 --- a/src/acpica/source/components/events/evxfregn.c +++ b/src/acpica/source/components/events/evxfregn.c @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -163,13 +163,14 @@ /******************************************************************************* * - * FUNCTION: AcpiInstallAddressSpaceHandler + * FUNCTION: AcpiInstallAddressSpaceHandlerInternal * * PARAMETERS: Device - Handle for the device * SpaceId - The address space ID * Handler - Address of the handler * Setup - Address of the setup function * Context - Value passed to the handler on each access + * Run_Reg - Run _REG methods for this address space? * * RETURN: Status * @@ -180,16 +181,19 @@ * are executed here, and these methods can only be safely executed after * the default handlers have been installed and the hardware has been * initialized (via AcpiEnableSubsystem.) + * To avoid this problem pass FALSE for Run_Reg and later on call + * AcpiExecuteRegMethods() to execute _REG. * ******************************************************************************/ -ACPI_STATUS -AcpiInstallAddressSpaceHandler ( +static ACPI_STATUS +AcpiInstallAddressSpaceHandlerInternal ( ACPI_HANDLE Device, ACPI_ADR_SPACE_TYPE SpaceId, ACPI_ADR_SPACE_HANDLER Handler, ACPI_ADR_SPACE_SETUP Setup, - void *Context) + void *Context, + BOOLEAN Run_Reg) { ACPI_NAMESPACE_NODE *Node; ACPI_STATUS Status; @@ -231,16 +235,42 @@ AcpiInstallAddressSpaceHandler ( /* Run all _REG methods for this address space */ - AcpiEvExecuteRegMethods (Node, SpaceId, ACPI_REG_CONNECT); - + if (Run_Reg) + { + AcpiEvExecuteRegMethods (Node, SpaceId, ACPI_REG_CONNECT); + } UnlockAndExit: (void) AcpiUtReleaseMutex (ACPI_MTX_NAMESPACE); return_ACPI_STATUS (Status); } +ACPI_STATUS +AcpiInstallAddressSpaceHandler ( + ACPI_HANDLE Device, + ACPI_ADR_SPACE_TYPE SpaceId, + ACPI_ADR_SPACE_HANDLER Handler, + ACPI_ADR_SPACE_SETUP Setup, + void *Context) +{ + return AcpiInstallAddressSpaceHandlerInternal (Device, SpaceId, Handler, Setup, Context, TRUE); +} + ACPI_EXPORT_SYMBOL (AcpiInstallAddressSpaceHandler) +ACPI_STATUS +AcpiInstallAddressSpaceHandlerNo_Reg ( + ACPI_HANDLE Device, + ACPI_ADR_SPACE_TYPE SpaceId, + ACPI_ADR_SPACE_HANDLER Handler, + ACPI_ADR_SPACE_SETUP Setup, + void *Context) +{ + return AcpiInstallAddressSpaceHandlerInternal (Device, SpaceId, Handler, Setup, Context, FALSE); +} + +ACPI_EXPORT_SYMBOL (AcpiInstallAddressSpaceHandlerNo_Reg) + /******************************************************************************* * @@ -387,3 +417,62 @@ UnlockAndExit: } ACPI_EXPORT_SYMBOL (AcpiRemoveAddressSpaceHandler) + + +/******************************************************************************* + * + * FUNCTION: AcpiExecuteRegMethods + * + * PARAMETERS: Device - Handle for the device + * SpaceId - The address space ID + * + * RETURN: Status + * + * DESCRIPTION: Execute _REG for all OpRegions of a given SpaceId. + * + ******************************************************************************/ + +ACPI_STATUS +AcpiExecuteRegMethods ( + ACPI_HANDLE Device, + ACPI_ADR_SPACE_TYPE SpaceId) +{ + ACPI_NAMESPACE_NODE *Node; + ACPI_STATUS Status; + + + ACPI_FUNCTION_TRACE (AcpiExecuteRegMethods); + + + /* Parameter validation */ + + if (!Device) + { + return_ACPI_STATUS (AE_BAD_PARAMETER); + } + + Status = AcpiUtAcquireMutex (ACPI_MTX_NAMESPACE); + if (ACPI_FAILURE (Status)) + { + return_ACPI_STATUS (Status); + } + + /* Convert and validate the device handle */ + + Node = AcpiNsValidateHandle (Device); + if (Node) + { + /* Run all _REG methods for this address space */ + + AcpiEvExecuteRegMethods (Node, SpaceId, ACPI_REG_CONNECT); + } + else + { + Status = AE_BAD_PARAMETER; + } + + (void) AcpiUtReleaseMutex (ACPI_MTX_NAMESPACE); + return_ACPI_STATUS (Status); +} + +ACPI_EXPORT_SYMBOL (AcpiExecuteRegMethods) diff --git a/src/acpica/source/components/executer/exconcat.c b/src/acpica/source/components/executer/exconcat.c index 335d78f1..f504bc0c 100644 --- a/src/acpica/source/components/executer/exconcat.c +++ b/src/acpica/source/components/executer/exconcat.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/executer/exconfig.c b/src/acpica/source/components/executer/exconfig.c index 11c8ba64..ae95a920 100644 --- a/src/acpica/source/components/executer/exconfig.c +++ b/src/acpica/source/components/executer/exconfig.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/executer/exconvrt.c b/src/acpica/source/components/executer/exconvrt.c index c9572e90..3382b520 100644 --- a/src/acpica/source/components/executer/exconvrt.c +++ b/src/acpica/source/components/executer/exconvrt.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/executer/excreate.c b/src/acpica/source/components/executer/excreate.c index e8381081..56355726 100644 --- a/src/acpica/source/components/executer/excreate.c +++ b/src/acpica/source/components/executer/excreate.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/executer/exdebug.c b/src/acpica/source/components/executer/exdebug.c index 88f75966..5ccfccdb 100644 --- a/src/acpica/source/components/executer/exdebug.c +++ b/src/acpica/source/components/executer/exdebug.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/executer/exdump.c b/src/acpica/source/components/executer/exdump.c index e72ac01f..7a2c4a81 100644 --- a/src/acpica/source/components/executer/exdump.c +++ b/src/acpica/source/components/executer/exdump.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/executer/exfield.c b/src/acpica/source/components/executer/exfield.c index 4175b8ee..f7d09206 100644 --- a/src/acpica/source/components/executer/exfield.c +++ b/src/acpica/source/components/executer/exfield.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/executer/exfldio.c b/src/acpica/source/components/executer/exfldio.c index 30d17c19..c29cd0e8 100644 --- a/src/acpica/source/components/executer/exfldio.c +++ b/src/acpica/source/components/executer/exfldio.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/executer/exmisc.c b/src/acpica/source/components/executer/exmisc.c index 4a1e2ff2..9b6608ba 100644 --- a/src/acpica/source/components/executer/exmisc.c +++ b/src/acpica/source/components/executer/exmisc.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/executer/exmutex.c b/src/acpica/source/components/executer/exmutex.c index 8b335680..3abac6a8 100644 --- a/src/acpica/source/components/executer/exmutex.c +++ b/src/acpica/source/components/executer/exmutex.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/executer/exnames.c b/src/acpica/source/components/executer/exnames.c index 6045bc6b..af68c82f 100644 --- a/src/acpica/source/components/executer/exnames.c +++ b/src/acpica/source/components/executer/exnames.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/executer/exoparg1.c b/src/acpica/source/components/executer/exoparg1.c index 2d9bbddf..82250ff6 100644 --- a/src/acpica/source/components/executer/exoparg1.c +++ b/src/acpica/source/components/executer/exoparg1.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/executer/exoparg2.c b/src/acpica/source/components/executer/exoparg2.c index 8b63d615..29d9dc7e 100644 --- a/src/acpica/source/components/executer/exoparg2.c +++ b/src/acpica/source/components/executer/exoparg2.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/executer/exoparg3.c b/src/acpica/source/components/executer/exoparg3.c index 7b74d32e..a22b7257 100644 --- a/src/acpica/source/components/executer/exoparg3.c +++ b/src/acpica/source/components/executer/exoparg3.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/executer/exoparg6.c b/src/acpica/source/components/executer/exoparg6.c index 5506b2c1..ad69405e 100644 --- a/src/acpica/source/components/executer/exoparg6.c +++ b/src/acpica/source/components/executer/exoparg6.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/executer/exprep.c b/src/acpica/source/components/executer/exprep.c index 6d239d7a..678ee8a1 100644 --- a/src/acpica/source/components/executer/exprep.c +++ b/src/acpica/source/components/executer/exprep.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/executer/exregion.c b/src/acpica/source/components/executer/exregion.c index 01d49065..858d31fe 100644 --- a/src/acpica/source/components/executer/exregion.c +++ b/src/acpica/source/components/executer/exregion.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/executer/exresnte.c b/src/acpica/source/components/executer/exresnte.c index 6801b25b..b5dc24c6 100644 --- a/src/acpica/source/components/executer/exresnte.c +++ b/src/acpica/source/components/executer/exresnte.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/executer/exresolv.c b/src/acpica/source/components/executer/exresolv.c index af5202ab..460c6d77 100644 --- a/src/acpica/source/components/executer/exresolv.c +++ b/src/acpica/source/components/executer/exresolv.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/executer/exresop.c b/src/acpica/source/components/executer/exresop.c index 4abe9376..f4734d89 100644 --- a/src/acpica/source/components/executer/exresop.c +++ b/src/acpica/source/components/executer/exresop.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/executer/exserial.c b/src/acpica/source/components/executer/exserial.c index c92a895a..6d57e376 100644 --- a/src/acpica/source/components/executer/exserial.c +++ b/src/acpica/source/components/executer/exserial.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/executer/exstore.c b/src/acpica/source/components/executer/exstore.c index ba1a05d9..95bb19af 100644 --- a/src/acpica/source/components/executer/exstore.c +++ b/src/acpica/source/components/executer/exstore.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/executer/exstoren.c b/src/acpica/source/components/executer/exstoren.c index df4a6f40..628592f2 100644 --- a/src/acpica/source/components/executer/exstoren.c +++ b/src/acpica/source/components/executer/exstoren.c @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/executer/exstorob.c b/src/acpica/source/components/executer/exstorob.c index 56d048a7..f318f027 100644 --- a/src/acpica/source/components/executer/exstorob.c +++ b/src/acpica/source/components/executer/exstorob.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/executer/exsystem.c b/src/acpica/source/components/executer/exsystem.c index 44d3a00b..68a074be 100644 --- a/src/acpica/source/components/executer/exsystem.c +++ b/src/acpica/source/components/executer/exsystem.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -303,10 +303,10 @@ AcpiExSystemDoStall ( else { if (HowLongUs > 100) - { + { ACPI_WARNING ((AE_INFO, "Time parameter %u us > 100 us violating ACPI spec, please fix the firmware.", HowLongUs)); - } + } AcpiOsStall (HowLongUs); } diff --git a/src/acpica/source/components/executer/extrace.c b/src/acpica/source/components/executer/extrace.c index a677393f..e574e489 100644 --- a/src/acpica/source/components/executer/extrace.c +++ b/src/acpica/source/components/executer/extrace.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/executer/exutils.c b/src/acpica/source/components/executer/exutils.c index e27f567b..3d9dd4fa 100644 --- a/src/acpica/source/components/executer/exutils.c +++ b/src/acpica/source/components/executer/exutils.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/hardware/hwacpi.c b/src/acpica/source/components/hardware/hwacpi.c index 8b322209..1772e795 100644 --- a/src/acpica/source/components/hardware/hwacpi.c +++ b/src/acpica/source/components/hardware/hwacpi.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/hardware/hwesleep.c b/src/acpica/source/components/hardware/hwesleep.c index 85e4cb95..ec03e5ed 100644 --- a/src/acpica/source/components/hardware/hwesleep.c +++ b/src/acpica/source/components/hardware/hwesleep.c @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/hardware/hwgpe.c b/src/acpica/source/components/hardware/hwgpe.c index 7f9a5f05..994fc475 100644 --- a/src/acpica/source/components/hardware/hwgpe.c +++ b/src/acpica/source/components/hardware/hwgpe.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/hardware/hwpci.c b/src/acpica/source/components/hardware/hwpci.c index b8e8aa9f..745f9c81 100644 --- a/src/acpica/source/components/hardware/hwpci.c +++ b/src/acpica/source/components/hardware/hwpci.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/hardware/hwregs.c b/src/acpica/source/components/hardware/hwregs.c index 7b4ae88a..c499c111 100644 --- a/src/acpica/source/components/hardware/hwregs.c +++ b/src/acpica/source/components/hardware/hwregs.c @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/hardware/hwsleep.c b/src/acpica/source/components/hardware/hwsleep.c index 6667c27e..d9bb8ae0 100644 --- a/src/acpica/source/components/hardware/hwsleep.c +++ b/src/acpica/source/components/hardware/hwsleep.c @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -476,13 +476,14 @@ AcpiHwLegacyWake ( ACPI_CLEAR_STATUS); /* Enable pcie wake event if support */ - if ((AcpiGbl_FADT.Flags & ACPI_FADT_PCI_EXPRESS_WAKE)) { + if ((AcpiGbl_FADT.Flags & ACPI_FADT_PCI_EXPRESS_WAKE)) + { (void) AcpiWriteBitRegister ( - AcpiGbl_FixedEventInfo[ACPI_EVENT_PCIE_WAKE].EnableRegisterId, - ACPI_DISABLE_EVENT); + AcpiGbl_FixedEventInfo[ACPI_EVENT_PCIE_WAKE].EnableRegisterId, + ACPI_DISABLE_EVENT); (void) AcpiWriteBitRegister ( - AcpiGbl_FixedEventInfo[ACPI_EVENT_PCIE_WAKE].StatusRegisterId, - ACPI_CLEAR_STATUS); + AcpiGbl_FixedEventInfo[ACPI_EVENT_PCIE_WAKE].StatusRegisterId, + ACPI_CLEAR_STATUS); } AcpiHwExecuteSleepMethod (METHOD_PATHNAME__SST, ACPI_SST_WORKING); diff --git a/src/acpica/source/components/hardware/hwvalid.c b/src/acpica/source/components/hardware/hwvalid.c index d297905b..80f0f570 100644 --- a/src/acpica/source/components/hardware/hwvalid.c +++ b/src/acpica/source/components/hardware/hwvalid.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -169,8 +169,8 @@ AcpiHwValidateIoRequest ( * * The table is used to implement the Microsoft port access rules that * first appeared in Windows XP. Some ports are always illegal, and some - * ports are only illegal if the BIOS calls _OSI with a WinXP string or - * later (meaning that the BIOS itelf is post-XP.) + * ports are only illegal if the BIOS calls _OSI with nothing newer than + * the specific _OSI strings. * * This provides ACPICA with the desired port protections and * Microsoft compatibility. @@ -301,8 +301,8 @@ AcpiHwValidateIoRequest ( if ((Address <= PortInfo->End) && (LastAddress >= PortInfo->Start)) { /* Port illegality may depend on the _OSI calls made by the BIOS */ - - if (AcpiGbl_OsiData >= PortInfo->OsiDependency) + if (PortInfo->OsiDependency == ACPI_ALWAYS_ILLEGAL || + AcpiGbl_OsiData == PortInfo->OsiDependency) { ACPI_DEBUG_PRINT ((ACPI_DB_VALUES, "Denied AML access to port 0x%8.8X%8.8X/%X (%s 0x%.4X-0x%.4X)\n", diff --git a/src/acpica/source/components/hardware/hwxface.c b/src/acpica/source/components/hardware/hwxface.c index 8fd3561a..febe90de 100644 --- a/src/acpica/source/components/hardware/hwxface.c +++ b/src/acpica/source/components/hardware/hwxface.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/hardware/hwxfsleep.c b/src/acpica/source/components/hardware/hwxfsleep.c index 5f8b7db0..4cd7eba8 100644 --- a/src/acpica/source/components/hardware/hwxfsleep.c +++ b/src/acpica/source/components/hardware/hwxfsleep.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/namespace/nsaccess.c b/src/acpica/source/components/namespace/nsaccess.c index 2b810fac..b6d9d849 100644 --- a/src/acpica/source/components/namespace/nsaccess.c +++ b/src/acpica/source/components/namespace/nsaccess.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/namespace/nsalloc.c b/src/acpica/source/components/namespace/nsalloc.c index 560f6f36..70627077 100644 --- a/src/acpica/source/components/namespace/nsalloc.c +++ b/src/acpica/source/components/namespace/nsalloc.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/namespace/nsarguments.c b/src/acpica/source/components/namespace/nsarguments.c index 2da06f2f..bb081b75 100644 --- a/src/acpica/source/components/namespace/nsarguments.c +++ b/src/acpica/source/components/namespace/nsarguments.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/namespace/nsconvert.c b/src/acpica/source/components/namespace/nsconvert.c index 2971f08e..ed2fa03e 100644 --- a/src/acpica/source/components/namespace/nsconvert.c +++ b/src/acpica/source/components/namespace/nsconvert.c @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/namespace/nsdump.c b/src/acpica/source/components/namespace/nsdump.c index 36cfbdf6..731c32d9 100644 --- a/src/acpica/source/components/namespace/nsdump.c +++ b/src/acpica/source/components/namespace/nsdump.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/namespace/nsdumpdv.c b/src/acpica/source/components/namespace/nsdumpdv.c index 0cc9b5a5..af0b2965 100644 --- a/src/acpica/source/components/namespace/nsdumpdv.c +++ b/src/acpica/source/components/namespace/nsdumpdv.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/namespace/nseval.c b/src/acpica/source/components/namespace/nseval.c index 1cb07615..23ed486c 100644 --- a/src/acpica/source/components/namespace/nseval.c +++ b/src/acpica/source/components/namespace/nseval.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/namespace/nsinit.c b/src/acpica/source/components/namespace/nsinit.c index c523035f..5ca332eb 100644 --- a/src/acpica/source/components/namespace/nsinit.c +++ b/src/acpica/source/components/namespace/nsinit.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/namespace/nsload.c b/src/acpica/source/components/namespace/nsload.c index c3423e55..0e93791b 100644 --- a/src/acpica/source/components/namespace/nsload.c +++ b/src/acpica/source/components/namespace/nsload.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/namespace/nsnames.c b/src/acpica/source/components/namespace/nsnames.c index c8412c2e..ea3d7d57 100644 --- a/src/acpica/source/components/namespace/nsnames.c +++ b/src/acpica/source/components/namespace/nsnames.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/namespace/nsobject.c b/src/acpica/source/components/namespace/nsobject.c index 82d735eb..842a36a5 100644 --- a/src/acpica/source/components/namespace/nsobject.c +++ b/src/acpica/source/components/namespace/nsobject.c @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/namespace/nsparse.c b/src/acpica/source/components/namespace/nsparse.c index 0ac5efb4..86afef09 100644 --- a/src/acpica/source/components/namespace/nsparse.c +++ b/src/acpica/source/components/namespace/nsparse.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/namespace/nspredef.c b/src/acpica/source/components/namespace/nspredef.c index e28d6896..04c3012a 100644 --- a/src/acpica/source/components/namespace/nspredef.c +++ b/src/acpica/source/components/namespace/nspredef.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/namespace/nsprepkg.c b/src/acpica/source/components/namespace/nsprepkg.c index e6959dac..2bfc89a7 100644 --- a/src/acpica/source/components/namespace/nsprepkg.c +++ b/src/acpica/source/components/namespace/nsprepkg.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/namespace/nsrepair.c b/src/acpica/source/components/namespace/nsrepair.c index 59f7aa33..7aa02a80 100644 --- a/src/acpica/source/components/namespace/nsrepair.c +++ b/src/acpica/source/components/namespace/nsrepair.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -328,9 +328,10 @@ AcpiNsSimpleRepair ( */ if (!ReturnObject) { - if (ExpectedBtypes && (!(ExpectedBtypes & ACPI_RTYPE_NONE))) + if (ExpectedBtypes) { - if (PackageIndex != ACPI_NOT_PACKAGE_ELEMENT) + if (!(ExpectedBtypes & ACPI_RTYPE_NONE) && + PackageIndex != ACPI_NOT_PACKAGE_ELEMENT) { ACPI_WARN_PREDEFINED ((AE_INFO, Info->FullPathname, ACPI_WARN_ALWAYS, "Found unexpected NULL package element")); @@ -342,13 +343,14 @@ AcpiNsSimpleRepair ( return (AE_OK); /* Repair was successful */ } } - else + + if (ExpectedBtypes != ACPI_RTYPE_NONE) { ACPI_WARN_PREDEFINED ((AE_INFO, Info->FullPathname, - ACPI_WARN_ALWAYS, "Missing expected return value")); + ACPI_WARN_ALWAYS, + "Missing expected return value")); + return (AE_AML_NO_RETURN_VALUE); } - - return (AE_AML_NO_RETURN_VALUE); } } diff --git a/src/acpica/source/components/namespace/nsrepair2.c b/src/acpica/source/components/namespace/nsrepair2.c index bf76b7dd..7f50c05f 100644 --- a/src/acpica/source/components/namespace/nsrepair2.c +++ b/src/acpica/source/components/namespace/nsrepair2.c @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -565,13 +565,6 @@ AcpiNsRepair_CID ( (*ElementPtr)->Common.ReferenceCount = OriginalRefCount; - - /* - * The OriginalElement holds a reference from the package object - * that represents _HID. Since a new element was created by _HID, - * remove the reference from the _CID package. - */ - AcpiUtRemoveReference (OriginalElement); } ElementPtr++; @@ -702,7 +695,7 @@ AcpiNsRepair_HID ( char *Dest; - ACPI_FUNCTION_NAME (NsRepair_HID); + ACPI_FUNCTION_TRACE (NsRepair_HID); /* We only care about string _HID objects (not integers) */ diff --git a/src/acpica/source/components/namespace/nssearch.c b/src/acpica/source/components/namespace/nssearch.c index 706963c4..a992a7e4 100644 --- a/src/acpica/source/components/namespace/nssearch.c +++ b/src/acpica/source/components/namespace/nssearch.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/namespace/nsutils.c b/src/acpica/source/components/namespace/nsutils.c index f4208179..1162fca7 100644 --- a/src/acpica/source/components/namespace/nsutils.c +++ b/src/acpica/source/components/namespace/nsutils.c @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -500,7 +500,7 @@ AcpiNsBuildInternalName ( * * PARAMETERS: *ExternalName - External representation of name * **Converted Name - Where to return the resulting - * internal represention of the name + * internal representation of the name * * RETURN: Status * diff --git a/src/acpica/source/components/namespace/nswalk.c b/src/acpica/source/components/namespace/nswalk.c index 3d0fc639..7abc6b81 100644 --- a/src/acpica/source/components/namespace/nswalk.c +++ b/src/acpica/source/components/namespace/nswalk.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/namespace/nsxfeval.c b/src/acpica/source/components/namespace/nsxfeval.c index 9724d024..a4213f28 100644 --- a/src/acpica/source/components/namespace/nsxfeval.c +++ b/src/acpica/source/components/namespace/nsxfeval.c @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/namespace/nsxfname.c b/src/acpica/source/components/namespace/nsxfname.c index 7d52330f..c19b0244 100644 --- a/src/acpica/source/components/namespace/nsxfname.c +++ b/src/acpica/source/components/namespace/nsxfname.c @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -192,7 +192,7 @@ AcpiNsCopyDeviceId ( ACPI_STATUS AcpiGetHandle ( ACPI_HANDLE Parent, - ACPI_STRING Pathname, + const char *Pathname, ACPI_HANDLE *RetHandle) { ACPI_STATUS Status; diff --git a/src/acpica/source/components/namespace/nsxfobj.c b/src/acpica/source/components/namespace/nsxfobj.c index 2aa1fc17..50ca5b2e 100644 --- a/src/acpica/source/components/namespace/nsxfobj.c +++ b/src/acpica/source/components/namespace/nsxfobj.c @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/parser/psargs.c b/src/acpica/source/components/parser/psargs.c index f510623e..ff0780c6 100644 --- a/src/acpica/source/components/parser/psargs.c +++ b/src/acpica/source/components/parser/psargs.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/parser/psloop.c b/src/acpica/source/components/parser/psloop.c index 2b4c1f2a..e759e081 100644 --- a/src/acpica/source/components/parser/psloop.c +++ b/src/acpica/source/components/parser/psloop.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/parser/psobject.c b/src/acpica/source/components/parser/psobject.c index 18a32ef3..ff1069d0 100644 --- a/src/acpica/source/components/parser/psobject.c +++ b/src/acpica/source/components/parser/psobject.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/parser/psopcode.c b/src/acpica/source/components/parser/psopcode.c index 540716af..db0c2e47 100644 --- a/src/acpica/source/components/parser/psopcode.c +++ b/src/acpica/source/components/parser/psopcode.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/parser/psopinfo.c b/src/acpica/source/components/parser/psopinfo.c index fcb080ca..99fada10 100644 --- a/src/acpica/source/components/parser/psopinfo.c +++ b/src/acpica/source/components/parser/psopinfo.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/parser/psparse.c b/src/acpica/source/components/parser/psparse.c index e0cd5915..f7e584b9 100644 --- a/src/acpica/source/components/parser/psparse.c +++ b/src/acpica/source/components/parser/psparse.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/parser/psscope.c b/src/acpica/source/components/parser/psscope.c index 269410a6..9fe84e38 100644 --- a/src/acpica/source/components/parser/psscope.c +++ b/src/acpica/source/components/parser/psscope.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/parser/pstree.c b/src/acpica/source/components/parser/pstree.c index 92f62304..cbcb3599 100644 --- a/src/acpica/source/components/parser/pstree.c +++ b/src/acpica/source/components/parser/pstree.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/parser/psutils.c b/src/acpica/source/components/parser/psutils.c index a9ea3536..f1017936 100644 --- a/src/acpica/source/components/parser/psutils.c +++ b/src/acpica/source/components/parser/psutils.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/parser/pswalk.c b/src/acpica/source/components/parser/pswalk.c index 31232fd4..4a5fd986 100644 --- a/src/acpica/source/components/parser/pswalk.c +++ b/src/acpica/source/components/parser/pswalk.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/parser/psxface.c b/src/acpica/source/components/parser/psxface.c index 295da1af..d44cb9f6 100644 --- a/src/acpica/source/components/parser/psxface.c +++ b/src/acpica/source/components/parser/psxface.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/resources/rsaddr.c b/src/acpica/source/components/resources/rsaddr.c index 93d45ca3..beee8380 100644 --- a/src/acpica/source/components/resources/rsaddr.c +++ b/src/acpica/source/components/resources/rsaddr.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -431,13 +431,17 @@ AcpiRsGetAddressCommon ( ACPI_RESOURCE *Resource, AML_RESOURCE *Aml) { - ACPI_FUNCTION_ENTRY (); + /* Avoid undefined behavior: member access within misaligned address */ + + AML_RESOURCE_ADDRESS Address; + memcpy(&Address, Aml, sizeof(Address)); + ACPI_FUNCTION_ENTRY(); /* Validate the Resource Type */ - if ((Aml->Address.ResourceType > 2) && - (Aml->Address.ResourceType < 0xC0)) + if ((Address.ResourceType > 2) && + (Address.ResourceType < 0xC0)) { return (FALSE); } @@ -464,7 +468,7 @@ AcpiRsGetAddressCommon ( /* Generic resource type, just grab the TypeSpecific byte */ Resource->Data.Address.Info.TypeSpecific = - Aml->Address.SpecificFlags; + Address.SpecificFlags; } return (TRUE); diff --git a/src/acpica/source/components/resources/rscalc.c b/src/acpica/source/components/resources/rscalc.c index c966636b..55694f1e 100644 --- a/src/acpica/source/components/resources/rscalc.c +++ b/src/acpica/source/components/resources/rscalc.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -480,6 +480,13 @@ AcpiRsGetAmlLength ( break; + case ACPI_RESOURCE_TYPE_CLOCK_INPUT: + + TotalSize = (ACPI_RS_LENGTH) (TotalSize + + Resource->Data.ClockInput.ResourceSource.StringLength); + + break; + case ACPI_RESOURCE_TYPE_SERIAL_BUS: @@ -733,14 +740,19 @@ AcpiRsGetListLength ( } break; - case ACPI_RESOURCE_NAME_SERIAL_BUS: + case ACPI_RESOURCE_NAME_SERIAL_BUS: { + /* Avoid undefined behavior: member access within misaligned address */ + + AML_RESOURCE_COMMON_SERIALBUS CommonSerialBus; + memcpy(&CommonSerialBus, AmlResource, sizeof(CommonSerialBus)); MinimumAmlResourceLength = AcpiGbl_ResourceAmlSerialBusSizes[ - AmlResource->CommonSerialBus.Type]; + CommonSerialBus.Type]; ExtraStructBytes += - AmlResource->CommonSerialBus.ResourceLength - + CommonSerialBus.ResourceLength - MinimumAmlResourceLength; break; + } case ACPI_RESOURCE_NAME_PIN_CONFIG: @@ -789,6 +801,12 @@ AcpiRsGetListLength ( break; + case ACPI_RESOURCE_NAME_CLOCK_INPUT: + ExtraStructBytes = AcpiRsStreamOptionLength ( + ResourceLength, MinimumAmlResourceLength); + + break; + default: break; @@ -803,8 +821,13 @@ AcpiRsGetListLength ( if (AcpiUtGetResourceType (AmlBuffer) == ACPI_RESOURCE_NAME_SERIAL_BUS) { + /* Avoid undefined behavior: member access within misaligned address */ + + AML_RESOURCE_COMMON_SERIALBUS CommonSerialBus; + memcpy(&CommonSerialBus, AmlResource, sizeof(CommonSerialBus)); + BufferSize = AcpiGbl_ResourceStructSerialBusSizes[ - AmlResource->CommonSerialBus.Type] + ExtraStructBytes; + CommonSerialBus.Type] + ExtraStructBytes; } else { diff --git a/src/acpica/source/components/resources/rscreate.c b/src/acpica/source/components/resources/rscreate.c index 6c230bce..583abe1a 100644 --- a/src/acpica/source/components/resources/rscreate.c +++ b/src/acpica/source/components/resources/rscreate.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -475,9 +475,9 @@ AcpiRsCreatePciRoutingTable ( /* Use *remaining* length of the buffer as max for pathname */ PathBuffer.Length = OutputBuffer->Length - - (UINT32) ((UINT8 *) UserPrt->Source - + (UINT32) ((UINT8 *) UserPrt->u.Source - (UINT8 *) OutputBuffer->Pointer); - PathBuffer.Pointer = UserPrt->Source; + PathBuffer.Pointer = UserPrt->u.Source; Status = AcpiNsHandleToPathname ( (ACPI_HANDLE) Node, &PathBuffer, FALSE); @@ -488,12 +488,12 @@ AcpiRsCreatePciRoutingTable ( /* +1 to include null terminator */ - UserPrt->Length += (UINT32) strlen (UserPrt->Source) + 1; + UserPrt->Length += (UINT32) strlen (UserPrt->u.Source) + 1; break; case ACPI_TYPE_STRING: - strcpy (UserPrt->Source, ObjDesc->String.Pointer); + strcpy (UserPrt->u.Source, ObjDesc->String.Pointer); /* * Add to the Length field the length of the string diff --git a/src/acpica/source/components/resources/rsdump.c b/src/acpica/source/components/resources/rsdump.c index e8f13724..02fc37ca 100644 --- a/src/acpica/source/components/resources/rsdump.c +++ b/src/acpica/source/components/resources/rsdump.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/resources/rsdumpinfo.c b/src/acpica/source/components/resources/rsdumpinfo.c index 83b22caa..2801e0d7 100644 --- a/src/acpica/source/components/resources/rsdumpinfo.c +++ b/src/acpica/source/components/resources/rsdumpinfo.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -182,7 +182,7 @@ ACPI_RSDUMP_INFO AcpiRsDumpIrq[7] = {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (Irq.Polarity), "Polarity", AcpiGbl_LlDecode}, {ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET (Irq.Shareable), "Sharing", AcpiGbl_ShrDecode}, {ACPI_RSD_UINT8 , ACPI_RSD_OFFSET (Irq.InterruptCount), "Interrupt Count", NULL}, - {ACPI_RSD_SHORTLIST,ACPI_RSD_OFFSET (Irq.Interrupts[0]), "Interrupt List", NULL} + {ACPI_RSD_SHORTLIST,ACPI_RSD_OFFSET (Irq.u.Interrupts[0]), "Interrupt List", NULL} }; ACPI_RSDUMP_INFO AcpiRsDumpDma[6] = @@ -192,7 +192,7 @@ ACPI_RSDUMP_INFO AcpiRsDumpDma[6] = {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (Dma.BusMaster), "Mastering", AcpiGbl_BmDecode}, {ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET (Dma.Transfer), "Transfer Type", AcpiGbl_SizDecode}, {ACPI_RSD_UINT8, ACPI_RSD_OFFSET (Dma.ChannelCount), "Channel Count", NULL}, - {ACPI_RSD_SHORTLIST,ACPI_RSD_OFFSET (Dma.Channels[0]), "Channel List", NULL} + {ACPI_RSD_SHORTLIST,ACPI_RSD_OFFSET (Dma.u.Channels[0]), "Channel List", NULL} }; ACPI_RSDUMP_INFO AcpiRsDumpStartDpf[4] = @@ -327,7 +327,7 @@ ACPI_RSDUMP_INFO AcpiRsDumpExtIrq[8] = {ACPI_RSD_2BITFLAG, ACPI_RSD_OFFSET (ExtendedIrq.Shareable), "Sharing", AcpiGbl_ShrDecode}, {ACPI_RSD_SOURCE, ACPI_RSD_OFFSET (ExtendedIrq.ResourceSource), NULL, NULL}, {ACPI_RSD_UINT8, ACPI_RSD_OFFSET (ExtendedIrq.InterruptCount), "Interrupt Count", NULL}, - {ACPI_RSD_DWORDLIST,ACPI_RSD_OFFSET (ExtendedIrq.Interrupts[0]), "Interrupt List", NULL} + {ACPI_RSD_DWORDLIST,ACPI_RSD_OFFSET (ExtendedIrq.u.Interrupts[0]), "Interrupt List", NULL} }; ACPI_RSDUMP_INFO AcpiRsDumpGenericReg[6] = @@ -374,6 +374,17 @@ ACPI_RSDUMP_INFO AcpiRsDumpPinFunction[10] = {ACPI_RSD_SHORTLISTX,ACPI_RSD_OFFSET (PinFunction.VendorData), "VendorData", NULL}, }; +ACPI_RSDUMP_INFO AcpiRsDumpClockInput[7] = +{ + {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE (AcpiRsDumpClockInput), "ClockInput", NULL}, + {ACPI_RSD_UINT8, ACPI_RSD_OFFSET (ClockInput.RevisionId), "RevisionId", NULL}, + {ACPI_RSD_UINT32, ACPI_RSD_OFFSET (ClockInput.FrequencyNumerator), "FrequencyNumerator", NULL}, + {ACPI_RSD_UINT32, ACPI_RSD_OFFSET (ClockInput.FrequencyDivisor), "FrequencyDivisor", NULL}, + {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (ClockInput.Scale), "Scale", AcpiGbl_ClockInputScale}, + {ACPI_RSD_1BITFLAG, ACPI_RSD_OFFSET (ClockInput.Mode), "Mode", AcpiGbl_ClockInputMode}, + {ACPI_RSD_SOURCE, ACPI_RSD_OFFSET (ClockInput.ResourceSource), "ResourceSource", NULL}, +}; + ACPI_RSDUMP_INFO AcpiRsDumpPinConfig[11] = { {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE (AcpiRsDumpPinConfig), "PinConfig", NULL}, @@ -544,7 +555,7 @@ ACPI_RSDUMP_INFO AcpiRsDumpPrt[5] = {ACPI_RSD_TITLE, ACPI_RSD_TABLE_SIZE (AcpiRsDumpPrt), NULL, NULL}, {ACPI_RSD_UINT64, ACPI_PRT_OFFSET (Address), "Address", NULL}, {ACPI_RSD_UINT32, ACPI_PRT_OFFSET (Pin), "Pin", NULL}, - {ACPI_RSD_STRING, ACPI_PRT_OFFSET (Source[0]), "Source", NULL}, + {ACPI_RSD_STRING, ACPI_PRT_OFFSET (u.Source[0]), "Source", NULL}, {ACPI_RSD_UINT32, ACPI_PRT_OFFSET (SourceIndex), "Source Index", NULL} }; diff --git a/src/acpica/source/components/resources/rsinfo.c b/src/acpica/source/components/resources/rsinfo.c index b9d4df46..551b647b 100644 --- a/src/acpica/source/components/resources/rsinfo.c +++ b/src/acpica/source/components/resources/rsinfo.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -197,6 +197,7 @@ ACPI_RSCONVERT_INFO *AcpiGbl_SetResourceDispatch[] = AcpiRsConvertPinGroup, /* 0x16, ACPI_RESOURCE_TYPE_PIN_GROUP */ AcpiRsConvertPinGroupFunction, /* 0x17, ACPI_RESOURCE_TYPE_PIN_GROUP_FUNCTION */ AcpiRsConvertPinGroupConfig, /* 0x18, ACPI_RESOURCE_TYPE_PIN_GROUP_CONFIG */ + AcpiRsConvertClockInput, /* 0x19, ACPI_RESOURCE_TYPE_CLOCK_INPUT */ }; /* Dispatch tables for AML-to-resource (Get Resource) conversion functions */ @@ -243,6 +244,7 @@ ACPI_RSCONVERT_INFO *AcpiGbl_GetResourceDispatch[] = AcpiRsConvertPinGroup, /* 0x10, ACPI_RESOURCE_NAME_PIN_GROUP */ AcpiRsConvertPinGroupFunction, /* 0x11, ACPI_RESOURCE_NAME_PIN_GROUP_FUNCTION */ AcpiRsConvertPinGroupConfig, /* 0x12, ACPI_RESOURCE_NAME_PIN_GROUP_CONFIG */ + AcpiRsConvertClockInput, /* 0x13, ACPI_RESOURCE_NAME_CLOCK_INPUT */ }; /* Subtype table for SerialBus -- I2C, SPI, UART, and CSI2 */ @@ -288,6 +290,7 @@ ACPI_RSDUMP_INFO *AcpiGbl_DumpResourceDispatch[] = AcpiRsDumpPinGroup, /* ACPI_RESOURCE_TYPE_PIN_GROUP */ AcpiRsDumpPinGroupFunction, /* ACPI_RESOURCE_TYPE_PIN_GROUP_FUNCTION */ AcpiRsDumpPinGroupConfig, /* ACPI_RESOURCE_TYPE_PIN_GROUP_CONFIG */ + AcpiRsDumpClockInput, /* ACPI_RESOURCE_TYPE_CLOCK_INPUT */ }; ACPI_RSDUMP_INFO *AcpiGbl_DumpSerialBusDispatch[] = @@ -333,6 +336,7 @@ const UINT8 AcpiGbl_AmlResourceSizes[] = sizeof (AML_RESOURCE_PIN_GROUP), /* ACPI_RESOURCE_TYPE_PIN_GROUP */ sizeof (AML_RESOURCE_PIN_GROUP_FUNCTION), /* ACPI_RESOURCE_TYPE_PIN_GROUP_FUNCTION */ sizeof (AML_RESOURCE_PIN_GROUP_CONFIG), /* ACPI_RESOURCE_TYPE_PIN_GROUP_CONFIG */ + sizeof (AML_RESOURCE_CLOCK_INPUT), /* ACPI_RESOURCE_TYPE_CLOCK_INPUT */ }; @@ -378,6 +382,7 @@ const UINT8 AcpiGbl_ResourceStructSizes[] = ACPI_RS_SIZE (ACPI_RESOURCE_PIN_GROUP), ACPI_RS_SIZE (ACPI_RESOURCE_PIN_GROUP_FUNCTION), ACPI_RS_SIZE (ACPI_RESOURCE_PIN_GROUP_CONFIG), + ACPI_RS_SIZE (ACPI_RESOURCE_CLOCK_INPUT), }; const UINT8 AcpiGbl_AmlResourceSerialBusSizes[] = diff --git a/src/acpica/source/components/resources/rsio.c b/src/acpica/source/components/resources/rsio.c index 29932623..1640cdb2 100644 --- a/src/acpica/source/components/resources/rsio.c +++ b/src/acpica/source/components/resources/rsio.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/resources/rsirq.c b/src/acpica/source/components/resources/rsirq.c index 9a8fc18f..10256c50 100644 --- a/src/acpica/source/components/resources/rsirq.c +++ b/src/acpica/source/components/resources/rsirq.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -171,7 +171,7 @@ ACPI_RSCONVERT_INFO AcpiRsGetIrq[9] = /* Get the IRQ mask (bytes 1:2) */ - {ACPI_RSC_BITMASK16,ACPI_RS_OFFSET (Data.Irq.Interrupts[0]), + {ACPI_RSC_BITMASK16,ACPI_RS_OFFSET (Data.Irq.u.Interrupts[0]), AML_OFFSET (Irq.IrqMask), ACPI_RS_OFFSET (Data.Irq.InterruptCount)}, @@ -227,7 +227,7 @@ ACPI_RSCONVERT_INFO AcpiRsSetIrq[14] = /* Convert interrupt list to 16-bit IRQ bitmask */ - {ACPI_RSC_BITMASK16,ACPI_RS_OFFSET (Data.Irq.Interrupts[0]), + {ACPI_RSC_BITMASK16,ACPI_RS_OFFSET (Data.Irq.u.Interrupts[0]), AML_OFFSET (Irq.IrqMask), ACPI_RS_OFFSET (Data.Irq.InterruptCount)}, @@ -345,14 +345,14 @@ ACPI_RSCONVERT_INFO AcpiRsConvertExtIrq[10] = /* Copy every IRQ in the table, each is 32 bits */ - {ACPI_RSC_MOVE32, ACPI_RS_OFFSET (Data.ExtendedIrq.Interrupts[0]), - AML_OFFSET (ExtendedIrq.Interrupts[0]), + {ACPI_RSC_MOVE32, ACPI_RS_OFFSET (Data.ExtendedIrq.u.Interrupts[0]), + AML_OFFSET (ExtendedIrq.u.Interrupts[0]), 0}, /* Optional ResourceSource (Index and String) */ {ACPI_RSC_SOURCEX, ACPI_RS_OFFSET (Data.ExtendedIrq.ResourceSource), - ACPI_RS_OFFSET (Data.ExtendedIrq.Interrupts[0]), + ACPI_RS_OFFSET (Data.ExtendedIrq.u.Interrupts[0]), sizeof (AML_RESOURCE_EXTENDED_IRQ)} }; @@ -389,7 +389,7 @@ ACPI_RSCONVERT_INFO AcpiRsConvertDma[6] = /* DMA channel mask bits */ - {ACPI_RSC_BITMASK, ACPI_RS_OFFSET (Data.Dma.Channels[0]), + {ACPI_RSC_BITMASK, ACPI_RS_OFFSET (Data.Dma.u.Channels[0]), AML_OFFSET (Dma.DmaChannelMask), ACPI_RS_OFFSET (Data.Dma.ChannelCount)} }; diff --git a/src/acpica/source/components/resources/rslist.c b/src/acpica/source/components/resources/rslist.c index fdd24688..cb408197 100644 --- a/src/acpica/source/components/resources/rslist.c +++ b/src/acpica/source/components/resources/rslist.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -209,7 +209,12 @@ AcpiRsConvertAmlToResources ( if (AcpiUtGetResourceType (Aml) == ACPI_RESOURCE_NAME_SERIAL_BUS) { - if (AmlResource->CommonSerialBus.Type > + /* Avoid undefined behavior: member access within misaligned address */ + + AML_RESOURCE_COMMON_SERIALBUS CommonSerialBus; + memcpy(&CommonSerialBus, AmlResource, sizeof(CommonSerialBus)); + + if (CommonSerialBus.Type > AML_RESOURCE_MAX_SERIALBUSTYPE) { ConversionTable = NULL; @@ -219,7 +224,7 @@ AcpiRsConvertAmlToResources ( /* This is an I2C, SPI, UART, or CSI2 SerialBus descriptor */ ConversionTable = AcpiGbl_ConvertResourceSerialBusDispatch [ - AmlResource->CommonSerialBus.Type]; + CommonSerialBus.Type]; } } else diff --git a/src/acpica/source/components/resources/rsmemory.c b/src/acpica/source/components/resources/rsmemory.c index e527bad7..170bb679 100644 --- a/src/acpica/source/components/resources/rsmemory.c +++ b/src/acpica/source/components/resources/rsmemory.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/resources/rsmisc.c b/src/acpica/source/components/resources/rsmisc.c index 16c52134..6d11442d 100644 --- a/src/acpica/source/components/resources/rsmisc.c +++ b/src/acpica/source/components/resources/rsmisc.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -349,7 +349,8 @@ AcpiRsConvertAmlToResource ( case ACPI_RSC_COUNT_SERIAL_VEN: - ItemCount = ACPI_GET16 (Source) - Info->Value; + ACPI_MOVE_16_TO_16(&Temp16, Source); + ItemCount = Temp16 - Info->Value; Resource->Length = Resource->Length + ItemCount; ACPI_SET16 (Destination, ItemCount); @@ -357,9 +358,10 @@ AcpiRsConvertAmlToResource ( case ACPI_RSC_COUNT_SERIAL_RES: + ACPI_MOVE_16_TO_16(&Temp16, Source); ItemCount = (AmlResourceLength + sizeof (AML_RESOURCE_LARGE_HEADER)) - - ACPI_GET16 (Source) - Info->Value; + Temp16 - Info->Value; Resource->Length = Resource->Length + ItemCount; ACPI_SET16 (Destination, ItemCount); @@ -437,8 +439,9 @@ AcpiRsConvertAmlToResource ( /* Copy the ResourceSource string */ + ACPI_MOVE_16_TO_16 (&Temp16, Source); Source = ACPI_ADD_PTR ( - void, Aml, (ACPI_GET16 (Source) + Info->Value)); + void, Aml, (Temp16 + Info->Value)); AcpiRsMoveData (Target, Source, ItemCount, Info->Opcode); break; diff --git a/src/acpica/source/components/resources/rsserial.c b/src/acpica/source/components/resources/rsserial.c index 3075b4c4..4c19f890 100644 --- a/src/acpica/source/components/resources/rsserial.c +++ b/src/acpica/source/components/resources/rsserial.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -254,6 +254,50 @@ ACPI_RSCONVERT_INFO AcpiRsConvertGpio[18] = 0}, }; +/******************************************************************************* + * + * AcpiRsConvertClockInput + * + ******************************************************************************/ + +ACPI_RSCONVERT_INFO AcpiRsConvertClockInput[8] = +{ + {ACPI_RSC_INITGET, ACPI_RESOURCE_TYPE_CLOCK_INPUT, + ACPI_RS_SIZE (ACPI_RESOURCE_CLOCK_INPUT), + ACPI_RSC_TABLE_SIZE (AcpiRsConvertClockInput)}, + + {ACPI_RSC_INITSET, ACPI_RESOURCE_NAME_CLOCK_INPUT, + sizeof (AML_RESOURCE_CLOCK_INPUT), + 0}, + + {ACPI_RSC_MOVE8, ACPI_RS_OFFSET (Data.ClockInput.RevisionId), + AML_OFFSET (ClockInput.RevisionId), + 1}, + + {ACPI_RSC_1BITFLAG, ACPI_RS_OFFSET (Data.ClockInput.Mode), + AML_OFFSET (ClockInput.Flags), + 0}, + + {ACPI_RSC_2BITFLAG, ACPI_RS_OFFSET (Data.ClockInput.Scale), + AML_OFFSET (ClockInput.Flags), + 1}, + + {ACPI_RSC_MOVE16, ACPI_RS_OFFSET (Data.ClockInput.FrequencyDivisor), + AML_OFFSET (ClockInput.FrequencyDivisor), + 2}, + + {ACPI_RSC_MOVE32, ACPI_RS_OFFSET (Data.ClockInput.FrequencyNumerator), + AML_OFFSET (ClockInput.FrequencyNumerator), + 4}, + + /* Resource Source */ + {ACPI_RSC_SOURCE, ACPI_RS_OFFSET (Data.ClockInput.ResourceSource), + 0, + sizeof(AML_RESOURCE_CLOCK_INPUT)}, + +}; + + /******************************************************************************* * * AcpiRsConvertPinfunction diff --git a/src/acpica/source/components/resources/rsutils.c b/src/acpica/source/components/resources/rsutils.c index 7110406f..e6889f86 100644 --- a/src/acpica/source/components/resources/rsutils.c +++ b/src/acpica/source/components/resources/rsutils.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/resources/rsxface.c b/src/acpica/source/components/resources/rsxface.c index d3aaf1d0..f46ff346 100644 --- a/src/acpica/source/components/resources/rsxface.c +++ b/src/acpica/source/components/resources/rsxface.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/tables/tbdata.c b/src/acpica/source/components/tables/tbdata.c index d974d951..e0037637 100644 --- a/src/acpica/source/components/tables/tbdata.c +++ b/src/acpica/source/components/tables/tbdata.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/tables/tbfadt.c b/src/acpica/source/components/tables/tbfadt.c index 97876614..d2bd1eb3 100644 --- a/src/acpica/source/components/tables/tbfadt.c +++ b/src/acpica/source/components/tables/tbfadt.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/tables/tbfind.c b/src/acpica/source/components/tables/tbfind.c index 81ed2d97..4adf09e2 100644 --- a/src/acpica/source/components/tables/tbfind.c +++ b/src/acpica/source/components/tables/tbfind.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/tables/tbinstal.c b/src/acpica/source/components/tables/tbinstal.c index 9253bd1d..eda1d0a7 100644 --- a/src/acpica/source/components/tables/tbinstal.c +++ b/src/acpica/source/components/tables/tbinstal.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/tables/tbprint.c b/src/acpica/source/components/tables/tbprint.c index cdad69af..9fd5c7aa 100644 --- a/src/acpica/source/components/tables/tbprint.c +++ b/src/acpica/source/components/tables/tbprint.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -294,4 +294,3 @@ AcpiTbPrintTableHeader ( LocalHeader.AslCompilerId, LocalHeader.AslCompilerRevision)); } } - diff --git a/src/acpica/source/components/tables/tbutils.c b/src/acpica/source/components/tables/tbutils.c index 5188d26d..680a69d9 100644 --- a/src/acpica/source/components/tables/tbutils.c +++ b/src/acpica/source/components/tables/tbutils.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -323,6 +323,7 @@ AcpiTbGetRootTableEntry ( UINT8 *TableEntry, UINT32 TableEntrySize) { + UINT32 Address32; UINT64 Address64; @@ -336,8 +337,8 @@ AcpiTbGetRootTableEntry ( * 32-bit platform, RSDT: Return 32-bit table entry * 64-bit platform, RSDT: Expand 32-bit to 64-bit and return */ - return ((ACPI_PHYSICAL_ADDRESS) (*ACPI_CAST_PTR ( - UINT32, TableEntry))); + ACPI_MOVE_32_TO_32(&Address32, TableEntry); + return Address32; } else { diff --git a/src/acpica/source/components/tables/tbxface.c b/src/acpica/source/components/tables/tbxface.c index 919ad138..b37377ef 100644 --- a/src/acpica/source/components/tables/tbxface.c +++ b/src/acpica/source/components/tables/tbxface.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/tables/tbxfload.c b/src/acpica/source/components/tables/tbxfload.c index ddd9b795..7ae42346 100644 --- a/src/acpica/source/components/tables/tbxfload.c +++ b/src/acpica/source/components/tables/tbxfload.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/tables/tbxfroot.c b/src/acpica/source/components/tables/tbxfroot.c index 97cb65c7..923d05fb 100644 --- a/src/acpica/source/components/tables/tbxfroot.c +++ b/src/acpica/source/components/tables/tbxfroot.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/utilities/utaddress.c b/src/acpica/source/components/utilities/utaddress.c index 5aa12832..e3a50289 100644 --- a/src/acpica/source/components/utilities/utaddress.c +++ b/src/acpica/source/components/utilities/utaddress.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/utilities/utalloc.c b/src/acpica/source/components/utilities/utalloc.c index aa06339c..d4a7e501 100644 --- a/src/acpica/source/components/utilities/utalloc.c +++ b/src/acpica/source/components/utilities/utalloc.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/utilities/utascii.c b/src/acpica/source/components/utilities/utascii.c index db238902..6f6d9229 100644 --- a/src/acpica/source/components/utilities/utascii.c +++ b/src/acpica/source/components/utilities/utascii.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/utilities/utbuffer.c b/src/acpica/source/components/utilities/utbuffer.c index 2cf097bf..be1082e8 100644 --- a/src/acpica/source/components/utilities/utbuffer.c +++ b/src/acpica/source/components/utilities/utbuffer.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/utilities/utcache.c b/src/acpica/source/components/utilities/utcache.c index 2ff1540c..32c527d5 100644 --- a/src/acpica/source/components/utilities/utcache.c +++ b/src/acpica/source/components/utilities/utcache.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/utilities/utcksum.c b/src/acpica/source/components/utilities/utcksum.c index b8ea869b..de97d15f 100644 --- a/src/acpica/source/components/utilities/utcksum.c +++ b/src/acpica/source/components/utilities/utcksum.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -172,7 +172,7 @@ * * DESCRIPTION: Verifies that the table checksums to zero. Optionally returns * exception on bad checksum. - * Note: We don't have to check for a CDAT here, since CDAT is + * Note: We don't have to check for a CDAT here, since CDAT is * not in the RSDT/XSDT, and the CDAT table is never installed * via ACPICA. * diff --git a/src/acpica/source/components/utilities/utcopy.c b/src/acpica/source/components/utilities/utcopy.c index e725d55b..e9024bdd 100644 --- a/src/acpica/source/components/utilities/utcopy.c +++ b/src/acpica/source/components/utilities/utcopy.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/utilities/utdebug.c b/src/acpica/source/components/utilities/utdebug.c index f789e686..b0c3640f 100644 --- a/src/acpica/source/components/utilities/utdebug.c +++ b/src/acpica/source/components/utilities/utdebug.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/utilities/utdecode.c b/src/acpica/source/components/utilities/utdecode.c index 2a49cbd8..b100c61b 100644 --- a/src/acpica/source/components/utilities/utdecode.c +++ b/src/acpica/source/components/utilities/utdecode.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/utilities/utdelete.c b/src/acpica/source/components/utilities/utdelete.c index b36c4bb3..1227b211 100644 --- a/src/acpica/source/components/utilities/utdelete.c +++ b/src/acpica/source/components/utilities/utdelete.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/utilities/uterror.c b/src/acpica/source/components/utilities/uterror.c index 2aee4d54..c88081f9 100644 --- a/src/acpica/source/components/utilities/uterror.c +++ b/src/acpica/source/components/utilities/uterror.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/utilities/uteval.c b/src/acpica/source/components/utilities/uteval.c index f4ccea68..bccbdda5 100644 --- a/src/acpica/source/components/utilities/uteval.c +++ b/src/acpica/source/components/utilities/uteval.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/utilities/utexcep.c b/src/acpica/source/components/utilities/utexcep.c index 279d33fc..094df3ab 100644 --- a/src/acpica/source/components/utilities/utexcep.c +++ b/src/acpica/source/components/utilities/utexcep.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/utilities/utglobal.c b/src/acpica/source/components/utilities/utglobal.c index 43de5c0a..28e4c341 100644 --- a/src/acpica/source/components/utilities/utglobal.c +++ b/src/acpica/source/components/utilities/utglobal.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/utilities/uthex.c b/src/acpica/source/components/utilities/uthex.c index c64d3def..801627e2 100644 --- a/src/acpica/source/components/utilities/uthex.c +++ b/src/acpica/source/components/utilities/uthex.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/utilities/utids.c b/src/acpica/source/components/utilities/utids.c index 498338a1..3df4d97d 100644 --- a/src/acpica/source/components/utilities/utids.c +++ b/src/acpica/source/components/utilities/utids.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/utilities/utinit.c b/src/acpica/source/components/utilities/utinit.c index 0f2cf489..37ec63bc 100644 --- a/src/acpica/source/components/utilities/utinit.c +++ b/src/acpica/source/components/utilities/utinit.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/utilities/utlock.c b/src/acpica/source/components/utilities/utlock.c index 9357279b..e56b7484 100644 --- a/src/acpica/source/components/utilities/utlock.c +++ b/src/acpica/source/components/utilities/utlock.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/utilities/utmath.c b/src/acpica/source/components/utilities/utmath.c index b534bb3e..b854368e 100644 --- a/src/acpica/source/components/utilities/utmath.c +++ b/src/acpica/source/components/utilities/utmath.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/utilities/utmisc.c b/src/acpica/source/components/utilities/utmisc.c index 1efe0afc..64e33672 100644 --- a/src/acpica/source/components/utilities/utmisc.c +++ b/src/acpica/source/components/utilities/utmisc.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/utilities/utmutex.c b/src/acpica/source/components/utilities/utmutex.c index 1f1c1d82..2ce621fa 100644 --- a/src/acpica/source/components/utilities/utmutex.c +++ b/src/acpica/source/components/utilities/utmutex.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/utilities/utnonansi.c b/src/acpica/source/components/utilities/utnonansi.c index e3c2f460..5db70422 100644 --- a/src/acpica/source/components/utilities/utnonansi.c +++ b/src/acpica/source/components/utilities/utnonansi.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/utilities/utobject.c b/src/acpica/source/components/utilities/utobject.c index 52e02beb..f53f3163 100644 --- a/src/acpica/source/components/utilities/utobject.c +++ b/src/acpica/source/components/utilities/utobject.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/utilities/utosi.c b/src/acpica/source/components/utilities/utosi.c index 700f30a6..b6431c88 100644 --- a/src/acpica/source/components/utilities/utosi.c +++ b/src/acpica/source/components/utilities/utosi.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/utilities/utownerid.c b/src/acpica/source/components/utilities/utownerid.c index 30ba6b75..ad2796be 100644 --- a/src/acpica/source/components/utilities/utownerid.c +++ b/src/acpica/source/components/utilities/utownerid.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/utilities/utpredef.c b/src/acpica/source/components/utilities/utpredef.c index 7f97ee7c..6afc6559 100644 --- a/src/acpica/source/components/utilities/utpredef.c +++ b/src/acpica/source/components/utilities/utpredef.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/utilities/utresdecode.c b/src/acpica/source/components/utilities/utresdecode.c index 12ab6875..667f12f8 100644 --- a/src/acpica/source/components/utilities/utresdecode.c +++ b/src/acpica/source/components/utilities/utresdecode.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -467,4 +467,17 @@ const char *AcpiGbl_PtypDecode[] = "Input Schmitt Trigger", }; +const char *AcpiGbl_ClockInputMode[] = +{ + "Fixed", + "Variable", +}; + +const char *AcpiGbl_ClockInputScale[] = +{ + "Hz", + "KHz", + "MHz", +}; + #endif diff --git a/src/acpica/source/components/utilities/utresrc.c b/src/acpica/source/components/utilities/utresrc.c index 26c382d8..f47b2924 100644 --- a/src/acpica/source/components/utilities/utresrc.c +++ b/src/acpica/source/components/utilities/utresrc.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -204,6 +204,8 @@ const UINT8 AcpiGbl_ResourceAmlSizes[] = ACPI_AML_SIZE_LARGE (AML_RESOURCE_PIN_GROUP), ACPI_AML_SIZE_LARGE (AML_RESOURCE_PIN_GROUP_FUNCTION), ACPI_AML_SIZE_LARGE (AML_RESOURCE_PIN_GROUP_CONFIG), + ACPI_AML_SIZE_LARGE (AML_RESOURCE_CLOCK_INPUT), + }; const UINT8 AcpiGbl_ResourceAmlSerialBusSizes[] = @@ -264,6 +266,7 @@ static const UINT8 AcpiGbl_ResourceTypes[] = ACPI_VARIABLE_LENGTH, /* 10 PinGroup */ ACPI_VARIABLE_LENGTH, /* 11 PinGroupFunction */ ACPI_VARIABLE_LENGTH, /* 12 PinGroupConfig */ + ACPI_VARIABLE_LENGTH, /* 13 ClockInput */ }; @@ -529,16 +532,21 @@ AcpiUtValidateResource ( AmlResource = ACPI_CAST_PTR (AML_RESOURCE, Aml); if (ResourceType == ACPI_RESOURCE_NAME_SERIAL_BUS) { + /* Avoid undefined behavior: member access within misaligned address */ + + AML_RESOURCE_COMMON_SERIALBUS CommonSerialBus; + memcpy(&CommonSerialBus, AmlResource, sizeof(CommonSerialBus)); + /* Validate the BusType field */ - if ((AmlResource->CommonSerialBus.Type == 0) || - (AmlResource->CommonSerialBus.Type > AML_RESOURCE_MAX_SERIALBUSTYPE)) + if ((CommonSerialBus.Type == 0) || + (CommonSerialBus.Type > AML_RESOURCE_MAX_SERIALBUSTYPE)) { if (WalkState) { ACPI_ERROR ((AE_INFO, "Invalid/unsupported SerialBus resource descriptor: BusType 0x%2.2X", - AmlResource->CommonSerialBus.Type)); + CommonSerialBus.Type)); } return (AE_AML_INVALID_RESOURCE_TYPE); } diff --git a/src/acpica/source/components/utilities/utstate.c b/src/acpica/source/components/utilities/utstate.c index f089ffea..ec13a07a 100644 --- a/src/acpica/source/components/utilities/utstate.c +++ b/src/acpica/source/components/utilities/utstate.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/utilities/utstring.c b/src/acpica/source/components/utilities/utstring.c index 770f3078..aed0d10c 100644 --- a/src/acpica/source/components/utilities/utstring.c +++ b/src/acpica/source/components/utilities/utstring.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/utilities/utstrsuppt.c b/src/acpica/source/components/utilities/utstrsuppt.c index 0487a4f6..31e720c9 100644 --- a/src/acpica/source/components/utilities/utstrsuppt.c +++ b/src/acpica/source/components/utilities/utstrsuppt.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/utilities/utstrtoul64.c b/src/acpica/source/components/utilities/utstrtoul64.c index 1ef50eac..1aee5d02 100644 --- a/src/acpica/source/components/utilities/utstrtoul64.c +++ b/src/acpica/source/components/utilities/utstrtoul64.c @@ -9,7 +9,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/utilities/uttrack.c b/src/acpica/source/components/utilities/uttrack.c index 7791fe9b..77e1b659 100644 --- a/src/acpica/source/components/utilities/uttrack.c +++ b/src/acpica/source/components/utilities/uttrack.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/utilities/utuuid.c b/src/acpica/source/components/utilities/utuuid.c index 8fd85d62..055086f1 100644 --- a/src/acpica/source/components/utilities/utuuid.c +++ b/src/acpica/source/components/utilities/utuuid.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/utilities/utxface.c b/src/acpica/source/components/utilities/utxface.c index 74a8ff48..d335bb1a 100644 --- a/src/acpica/source/components/utilities/utxface.c +++ b/src/acpica/source/components/utilities/utxface.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/utilities/utxferror.c b/src/acpica/source/components/utilities/utxferror.c index 77701dfe..6534e1a1 100644 --- a/src/acpica/source/components/utilities/utxferror.c +++ b/src/acpica/source/components/utilities/utxferror.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/components/utilities/utxfinit.c b/src/acpica/source/components/utilities/utxfinit.c index 865fe9d2..0ccaf5ca 100644 --- a/src/acpica/source/components/utilities/utxfinit.c +++ b/src/acpica/source/components/utilities/utxfinit.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/include/acapps.h b/src/acpica/source/include/acapps.h index 382ab170..9662e511 100644 --- a/src/acpica/source/include/acapps.h +++ b/src/acpica/source/include/acapps.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -159,7 +159,7 @@ /* Common info for tool signons */ #define ACPICA_NAME "Intel ACPI Component Architecture" -#define ACPICA_COPYRIGHT "Copyright (c) 2000 - 2022 Intel Corporation" +#define ACPICA_COPYRIGHT "Copyright (c) 2000 - 2023 Intel Corporation" #if ACPI_MACHINE_WIDTH == 64 #define ACPI_WIDTH " (64-bit version)" diff --git a/src/acpica/source/include/acbuffer.h b/src/acpica/source/include/acbuffer.h index 0739feb5..63225aa7 100644 --- a/src/acpica/source/include/acbuffer.h +++ b/src/acpica/source/include/acbuffer.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/include/accommon.h b/src/acpica/source/include/accommon.h index 210035cd..219372d3 100644 --- a/src/acpica/source/include/accommon.h +++ b/src/acpica/source/include/accommon.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/include/acconfig.h b/src/acpica/source/include/acconfig.h index 04f7f4f0..5ae00322 100644 --- a/src/acpica/source/include/acconfig.h +++ b/src/acpica/source/include/acconfig.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/include/acconvert.h b/src/acpica/source/include/acconvert.h index 048fd53e..3aa36a8b 100644 --- a/src/acpica/source/include/acconvert.h +++ b/src/acpica/source/include/acconvert.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/include/acdebug.h b/src/acpica/source/include/acdebug.h index 6716a094..c1596ee8 100644 --- a/src/acpica/source/include/acdebug.h +++ b/src/acpica/source/include/acdebug.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/include/acdisasm.h b/src/acpica/source/include/acdisasm.h index 47ce0b15..afc9034b 100644 --- a/src/acpica/source/include/acdisasm.h +++ b/src/acpica/source/include/acdisasm.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -260,6 +260,7 @@ typedef enum ACPI_DMT_AEST_XRUPT, ACPI_DMT_AGDI, ACPI_DMT_ASF, + ACPI_DMT_ASPT, ACPI_DMT_CDAT, ACPI_DMT_CEDT, ACPI_DMT_DMAR, @@ -280,6 +281,7 @@ typedef enum ACPI_DMT_IVRS_UNTERMINATED_STRING, ACPI_DMT_LPIT, ACPI_DMT_MADT, + ACPI_DMT_MPAM_LOCATOR, ACPI_DMT_NFIT, ACPI_DMT_NHLT1, ACPI_DMT_NHLT1a, @@ -294,6 +296,7 @@ typedef enum ACPI_DMT_PMTT_VENDOR, ACPI_DMT_PPTT, ACPI_DMT_RGRT, + ACPI_DMT_RHCT, ACPI_DMT_SDEI, ACPI_DMT_SDEV, ACPI_DMT_SLIC, @@ -399,6 +402,11 @@ extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf2a[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf3[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf4[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsfHdr[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoAspt[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsptHdr[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoAspt0[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoAspt1[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoAspt2[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoBdat[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoBoot[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoBert[]; @@ -550,6 +558,17 @@ extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadtHdr[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg0[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoMchi[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam0[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1A[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1B[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1C[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1D[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1E[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1F[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1G[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1Deps[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam2[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst0[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst0A[]; @@ -623,6 +642,12 @@ extern ACPI_DMTABLE_INFO AcpiDmTableInfoPrmtHandler[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoRasf[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoRgrt[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoRgrt0[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoRhct[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoRhctNodeHdr[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoRhctIsa1[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoRhctIsaPad[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoRhctHartInfo1[]; +extern ACPI_DMTABLE_INFO AcpiDmTableInfoRhctHartInfo2[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp1[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp2[]; extern ACPI_DMTABLE_INFO AcpiDmTableInfoS3pt[]; @@ -758,6 +783,10 @@ void AcpiDmDumpAsf ( ACPI_TABLE_HEADER *Table); +void +AcpiDmDumpAspt ( + ACPI_TABLE_HEADER *Table); + void AcpiDmDumpCcel ( ACPI_TABLE_HEADER *Table); @@ -838,6 +867,10 @@ void AcpiDmDumpMcfg ( ACPI_TABLE_HEADER *Table); +void +AcpiDmDumpMpam ( + ACPI_TABLE_HEADER *Table); + void AcpiDmDumpMpst ( ACPI_TABLE_HEADER *Table); @@ -882,6 +915,10 @@ void AcpiDmDumpRgrt ( ACPI_TABLE_HEADER *Table); +void +AcpiDmDumpRhct ( + ACPI_TABLE_HEADER *Table); + UINT32 AcpiDmDumpRsdp ( ACPI_TABLE_HEADER *Table); @@ -1323,6 +1360,12 @@ AcpiDmVendorCommon ( UINT32 Length, UINT32 Level); +void +AcpiDmClockInputDescriptor ( + ACPI_OP_WALK_INFO *Info, + AML_RESOURCE *Resource, + UINT32 Length, + UINT32 Level); /* * dmresrcs diff --git a/src/acpica/source/include/acdispat.h b/src/acpica/source/include/acdispat.h index 2c44c9f1..3e8ad810 100644 --- a/src/acpica/source/include/acdispat.h +++ b/src/acpica/source/include/acdispat.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/include/acevents.h b/src/acpica/source/include/acevents.h index f8c5d776..f9972d8d 100644 --- a/src/acpica/source/include/acevents.h +++ b/src/acpica/source/include/acevents.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/include/acexcep.h b/src/acpica/source/include/acexcep.h index 92e94972..9271dc4c 100644 --- a/src/acpica/source/include/acexcep.h +++ b/src/acpica/source/include/acexcep.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/include/acglobal.h b/src/acpica/source/include/acglobal.h index 1850d94b..28fc6514 100644 --- a/src/acpica/source/include/acglobal.h +++ b/src/acpica/source/include/acglobal.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/include/achware.h b/src/acpica/source/include/achware.h index 256008c7..6e0631e0 100644 --- a/src/acpica/source/include/achware.h +++ b/src/acpica/source/include/achware.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/include/acinterp.h b/src/acpica/source/include/acinterp.h index d9cec345..4c36708a 100644 --- a/src/acpica/source/include/acinterp.h +++ b/src/acpica/source/include/acinterp.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/include/aclocal.h b/src/acpica/source/include/aclocal.h index 74eb6e27..9c090a07 100644 --- a/src/acpica/source/include/aclocal.h +++ b/src/acpica/source/include/aclocal.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -1452,7 +1452,8 @@ typedef struct acpi_port_info #define ACPI_RESOURCE_NAME_PIN_GROUP 0x90 #define ACPI_RESOURCE_NAME_PIN_GROUP_FUNCTION 0x91 #define ACPI_RESOURCE_NAME_PIN_GROUP_CONFIG 0x92 -#define ACPI_RESOURCE_NAME_LARGE_MAX 0x92 +#define ACPI_RESOURCE_NAME_CLOCK_INPUT 0x93 +#define ACPI_RESOURCE_NAME_LARGE_MAX 0x94 /***************************************************************************** diff --git a/src/acpica/source/include/acmacros.h b/src/acpica/source/include/acmacros.h index 11fd47cc..66c90b6a 100644 --- a/src/acpica/source/include/acmacros.h +++ b/src/acpica/source/include/acmacros.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/include/acnames.h b/src/acpica/source/include/acnames.h index 846d192b..a6cdd2e2 100644 --- a/src/acpica/source/include/acnames.h +++ b/src/acpica/source/include/acnames.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/include/acnamesp.h b/src/acpica/source/include/acnamesp.h index 7b8d069d..432d9d44 100644 --- a/src/acpica/source/include/acnamesp.h +++ b/src/acpica/source/include/acnamesp.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/include/acobject.h b/src/acpica/source/include/acobject.h index b2c9dd9b..4454c572 100644 --- a/src/acpica/source/include/acobject.h +++ b/src/acpica/source/include/acobject.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/include/acopcode.h b/src/acpica/source/include/acopcode.h index 7e54a47f..f2ce2cd5 100644 --- a/src/acpica/source/include/acopcode.h +++ b/src/acpica/source/include/acopcode.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/include/acoutput.h b/src/acpica/source/include/acoutput.h index cd3d26d5..502d9a94 100644 --- a/src/acpica/source/include/acoutput.h +++ b/src/acpica/source/include/acoutput.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/include/acparser.h b/src/acpica/source/include/acparser.h index 4437d612..0dd0e345 100644 --- a/src/acpica/source/include/acparser.h +++ b/src/acpica/source/include/acparser.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/include/acpi.h b/src/acpica/source/include/acpi.h index 081e3b7d..445e4413 100644 --- a/src/acpica/source/include/acpi.h +++ b/src/acpica/source/include/acpi.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/include/acpiosxf.h b/src/acpica/source/include/acpiosxf.h index 67c11013..c4857cae 100644 --- a/src/acpica/source/include/acpiosxf.h +++ b/src/acpica/source/include/acpiosxf.h @@ -10,7 +10,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/include/acpixf.h b/src/acpica/source/include/acpixf.h index 7b779375..a7d61033 100644 --- a/src/acpica/source/include/acpixf.h +++ b/src/acpica/source/include/acpixf.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -154,7 +154,7 @@ /* Current ACPICA subsystem version in YYYYMMDD format */ -#define ACPI_CA_VERSION 0x20221020 +#define ACPI_CA_VERSION 0x20230331 #include "acconfig.h" #include "actypes.h" @@ -770,7 +770,7 @@ ACPI_EXTERNAL_RETURN_STATUS ( ACPI_STATUS AcpiGetHandle ( ACPI_HANDLE Parent, - ACPI_STRING Pathname, + const char *Pathname, ACPI_HANDLE *RetHandle)) ACPI_EXTERNAL_RETURN_STATUS ( @@ -942,6 +942,21 @@ AcpiInstallAddressSpaceHandler ( ACPI_ADR_SPACE_SETUP Setup, void *Context)) +ACPI_EXTERNAL_RETURN_STATUS ( +ACPI_STATUS +AcpiInstallAddressSpaceHandlerNo_Reg( + ACPI_HANDLE Device, + ACPI_ADR_SPACE_TYPE SpaceId, + ACPI_ADR_SPACE_HANDLER Handler, + ACPI_ADR_SPACE_SETUP Setup, + void *Context)) + +ACPI_EXTERNAL_RETURN_STATUS ( +ACPI_STATUS +AcpiExecuteRegMethods ( + ACPI_HANDLE Device, + ACPI_ADR_SPACE_TYPE SpaceId)) + ACPI_EXTERNAL_RETURN_STATUS ( ACPI_STATUS AcpiRemoveAddressSpaceHandler ( diff --git a/src/acpica/source/include/acpredef.h b/src/acpica/source/include/acpredef.h index 9ad8c0ff..ca47e7cc 100644 --- a/src/acpica/source/include/acpredef.h +++ b/src/acpica/source/include/acpredef.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/include/acresrc.h b/src/acpica/source/include/acresrc.h index 8214ed83..85be65dc 100644 --- a/src/acpica/source/include/acresrc.h +++ b/src/acpica/source/include/acresrc.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -506,6 +506,7 @@ extern ACPI_RSCONVERT_INFO AcpiRsConvertPinConfig[]; extern ACPI_RSCONVERT_INFO AcpiRsConvertPinGroup[]; extern ACPI_RSCONVERT_INFO AcpiRsConvertPinGroupFunction[]; extern ACPI_RSCONVERT_INFO AcpiRsConvertPinGroupConfig[]; +extern ACPI_RSCONVERT_INFO AcpiRsConvertClockInput[]; /* These resources require separate get/set tables */ @@ -562,6 +563,7 @@ extern ACPI_RSDUMP_INFO AcpiRsDumpPinConfig[]; extern ACPI_RSDUMP_INFO AcpiRsDumpPinGroup[]; extern ACPI_RSDUMP_INFO AcpiRsDumpPinGroupFunction[]; extern ACPI_RSDUMP_INFO AcpiRsDumpPinGroupConfig[]; +extern ACPI_RSDUMP_INFO AcpiRsDumpClockInput[]; #endif #endif /* __ACRESRC_H__ */ diff --git a/src/acpica/source/include/acrestyp.h b/src/acpica/source/include/acrestyp.h index f045c200..3065bdce 100644 --- a/src/acpica/source/include/acrestyp.h +++ b/src/acpica/source/include/acrestyp.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -290,7 +290,10 @@ typedef struct acpi_resource_irq UINT8 Shareable; UINT8 WakeCapable; UINT8 InterruptCount; - UINT8 Interrupts[1]; + union { + UINT8 Interrupt; + ACPI_FLEX_ARRAY(UINT8, Interrupts); + } u; } ACPI_RESOURCE_IRQ; @@ -300,7 +303,10 @@ typedef struct acpi_resource_dma UINT8 BusMaster; UINT8 Transfer; UINT8 ChannelCount; - UINT8 Channels[1]; + union { + UINT8 Channel; + ACPI_FLEX_ARRAY(UINT8, Channels); + } u; } ACPI_RESOURCE_DMA; @@ -357,7 +363,7 @@ typedef struct acpi_resource_fixed_dma typedef struct acpi_resource_vendor { UINT16 ByteLength; - UINT8 ByteData[1]; + UINT8 ByteData[]; } ACPI_RESOURCE_VENDOR; @@ -368,7 +374,7 @@ typedef struct acpi_resource_vendor_typed UINT16 ByteLength; UINT8 UuidSubtype; UINT8 Uuid[ACPI_UUID_LENGTH]; - UINT8 ByteData[1]; + UINT8 ByteData[]; } ACPI_RESOURCE_VENDOR_TYPED; @@ -538,7 +544,10 @@ typedef struct acpi_resource_extended_irq UINT8 WakeCapable; UINT8 InterruptCount; ACPI_RESOURCE_SOURCE ResourceSource; - UINT32 Interrupts[1]; + union { + UINT32 Interrupt; + ACPI_FLEX_ARRAY(UINT32, Interrupts); + } u; } ACPI_RESOURCE_EXTENDED_IRQ; @@ -770,6 +779,16 @@ typedef struct acpi_resource_pin_config } ACPI_RESOURCE_PIN_CONFIG; +typedef struct acpi_resource_clock_input +{ + UINT8 RevisionId; + UINT8 Mode; + UINT8 Scale; + UINT16 FrequencyDivisor; + UINT32 FrequencyNumerator; + ACPI_RESOURCE_SOURCE ResourceSource; +} ACPI_RESOURCE_CLOCK_INPUT; + /* Values for PinConfigType field above */ #define ACPI_PIN_CONFIG_DEFAULT 0 @@ -853,7 +872,8 @@ typedef struct acpi_resource_pin_group_config #define ACPI_RESOURCE_TYPE_PIN_GROUP 22 /* ACPI 6.2 */ #define ACPI_RESOURCE_TYPE_PIN_GROUP_FUNCTION 23 /* ACPI 6.2 */ #define ACPI_RESOURCE_TYPE_PIN_GROUP_CONFIG 24 /* ACPI 6.2 */ -#define ACPI_RESOURCE_TYPE_MAX 24 +#define ACPI_RESOURCE_TYPE_CLOCK_INPUT 25 /* ACPI 6.5 */ +#define ACPI_RESOURCE_TYPE_MAX 25 /* Master union for resource descriptors */ @@ -888,6 +908,7 @@ typedef union acpi_resource_data ACPI_RESOURCE_PIN_GROUP PinGroup; ACPI_RESOURCE_PIN_GROUP_FUNCTION PinGroupFunction; ACPI_RESOURCE_PIN_GROUP_CONFIG PinGroupConfig; + ACPI_RESOURCE_CLOCK_INPUT ClockInput; /* Common fields */ @@ -927,8 +948,10 @@ typedef struct acpi_pci_routing_table UINT32 Pin; UINT64 Address; /* here for 64-bit alignment */ UINT32 SourceIndex; - char Source[4]; /* pad to 64 bits so sizeof() works in all cases */ - + union { + char Pad[4]; /* pad to 64 bits so sizeof() works in all cases */ + ACPI_FLEX_ARRAY(char, Source); + } u; } ACPI_PCI_ROUTING_TABLE; #endif /* __ACRESTYP_H__ */ diff --git a/src/acpica/source/include/acstruct.h b/src/acpica/source/include/acstruct.h index d50c7a1b..fe087179 100644 --- a/src/acpica/source/include/acstruct.h +++ b/src/acpica/source/include/acstruct.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/include/actables.h b/src/acpica/source/include/actables.h index e9b070f9..21c34435 100644 --- a/src/acpica/source/include/actables.h +++ b/src/acpica/source/include/actables.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/include/actbinfo.h b/src/acpica/source/include/actbinfo.h index 7ce3c21e..5417aff4 100644 --- a/src/acpica/source/include/actbinfo.h +++ b/src/acpica/source/include/actbinfo.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -153,6 +153,7 @@ * Macros used to generate offsets to specific table fields */ #define ACPI_AGDI_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_AGDI,f) +#define ACPI_ASPT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_ASPT,f) #define ACPI_FACS_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_FACS,f) #define ACPI_GAS_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_GENERIC_ADDRESS,f) #define ACPI_HDR_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_HEADER,f) @@ -188,6 +189,7 @@ #define ACPI_PMTT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_PMTT,f) #define ACPI_RASF_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_RASF,f) #define ACPI_RGRT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_RGRT,f) +#define ACPI_RHCT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_RHCT,f) #define ACPI_S3PT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_S3PT,f) #define ACPI_SBST_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_SBST,f) #define ACPI_SDEI_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_SDEI,f) @@ -234,6 +236,10 @@ #define ACPI_ASF2a_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASF_CONTROL_DATA,f) #define ACPI_ASF3_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASF_RMCP,f) #define ACPI_ASF4_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASF_ADDRESS,f) +#define ACPI_ASPTH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASPT_HEADER,f) +#define ACPI_ASPT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASPT_GLOBAL_REGS,f) +#define ACPI_ASPT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASPT_SEV_MBOX_REGS,f) +#define ACPI_ASPT2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASPT_ACPI_MBOX_REGS,f) #define ACPI_CDAT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_CDAT,f) #define ACPI_CDATH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_CDAT_HEADER,f) #define ACPI_CDAT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_CDAT_DSMAS,f) @@ -331,6 +337,16 @@ #define ACPI_MADT17_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_OEM_DATA,f) #define ACPI_MADTH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SUBTABLE_HEADER,f) #define ACPI_MCFG0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MCFG_ALLOCATION,f) +#define ACPI_MPAM0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPAM_MSC_NODE,f) +#define ACPI_MPAM1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_NODE,f) +#define ACPI_MPAM1A_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_CACHE_LOCATOR,f) +#define ACPI_MPAM1B_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_MEMORY_LOCATOR,f) +#define ACPI_MPAM1C_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_SMMU_INTERFACE,f) +#define ACPI_MPAM1D_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_MEMCACHE_INTERFACE,f) +#define ACPI_MPAM1E_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_ACPI_INTERFACE,f) +#define ACPI_MPAM1F_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_INTERCONNECT_INTERFACE,f) +#define ACPI_MPAM1G_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_GENERIC_LOCATOR,f) +#define ACPI_MPAM2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPAM_FUNC_DEPS,f) #define ACPI_MPST0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPST_POWER_NODE,f) #define ACPI_MPST0A_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPST_POWER_STATE,f) #define ACPI_MPST0B_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPST_COMPONENT,f) @@ -385,6 +401,9 @@ #define ACPI_PRMTH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_PRMT_HEADER,f) #define ACPI_PRMT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PRMT_MODULE_INFO,f) #define ACPI_PRMT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PRMT_HANDLER_INFO,f) +#define ACPI_RHCTH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_RHCT_NODE_HEADER,f) +#define ACPI_RHCT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_RHCT_ISA_STRING,f) +#define ACPI_RHCTFFFF_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_RHCT_HART_INFO,f) #define ACPI_S3PTH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_FPDT_HEADER,f) #define ACPI_S3PT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_S3PT_RESUME,f) #define ACPI_S3PT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_S3PT_SUSPEND,f) diff --git a/src/acpica/source/include/actbl.h b/src/acpica/source/include/actbl.h index f23080fb..2a148491 100644 --- a/src/acpica/source/include/actbl.h +++ b/src/acpica/source/include/actbl.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/include/actbl1.h b/src/acpica/source/include/actbl1.h index 340b636b..1b115ae3 100644 --- a/src/acpica/source/include/actbl1.h +++ b/src/acpica/source/include/actbl1.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -170,6 +170,7 @@ */ #define ACPI_SIG_AEST "AEST" /* Arm Error Source Table */ #define ACPI_SIG_ASF "ASF!" /* Alert Standard Format table */ +#define ACPI_SIG_ASPT "ASPT" /* AMD Secure Processor Table */ #define ACPI_SIG_BERT "BERT" /* Boot Error Record Table */ #define ACPI_SIG_BGRT "BGRT" /* Boot Graphics Resource Table */ #define ACPI_SIG_BOOT "BOOT" /* Simple Boot Flag Table */ @@ -398,6 +399,86 @@ typedef struct acpi_asf_address } ACPI_ASF_ADDRESS; +/******************************************************************************* + * + * ASPT - AMD Secure Processor Table (Signature "ASPT") + * Revision 0x1 + * + * Conforms to AMD Socket SP5/SP6 Platform ASPT Rev1 Specification, + * 12 September 2022 + * + ******************************************************************************/ + +typedef struct acpi_table_aspt +{ + ACPI_TABLE_HEADER Header; /* Common ACPI table header */ + UINT32 NumEntries; + +} ACPI_TABLE_ASPT; + + +/* ASPT subtable header */ + +typedef struct acpi_aspt_header +{ + UINT16 Type; + UINT16 Length; + +} ACPI_ASPT_HEADER; + + +/* Values for Type field above */ + +enum AcpiAsptType +{ + ACPI_ASPT_TYPE_GLOBAL_REGS = 0, + ACPI_ASPT_TYPE_SEV_MBOX_REGS = 1, + ACPI_ASPT_TYPE_ACPI_MBOX_REGS = 2, + ACPI_ASPT_TYPE_UNKNOWN = 3, +}; + +/* + * ASPT subtables + */ + +/* 0: ASPT Global Registers */ + +typedef struct acpi_aspt_global_regs +{ + ACPI_ASPT_HEADER Header; + UINT32 Reserved; + UINT64 FeatureRegAddr; + UINT64 IrqEnRegAddr; + UINT64 IrqStRegAddr; + +} ACPI_ASPT_GLOBAL_REGS; + + +/* 1: ASPT SEV Mailbox Registers */ + +typedef struct acpi_aspt_sev_mbox_regs +{ + ACPI_ASPT_HEADER Header; + UINT8 MboxIrqId; + UINT8 Reserved[3]; + UINT64 CmdRespRegAddr; + UINT64 CmdBufLoRegAddr; + UINT64 CmdBufHiRegAddr; + +} ACPI_ASPT_SEV_MBOX_REGS; + + +/* 2: ASPT ACPI Mailbox Registers */ + +typedef struct acpi_aspt_acpi_mbox_regs +{ + ACPI_ASPT_HEADER Header; + UINT32 Reserved1; + UINT64 CmdRespRegAddr; + UINT64 Reserved2[2]; + +} ACPI_ASPT_ACPI_MBOX_REGS; + /******************************************************************************* * @@ -495,7 +576,6 @@ typedef struct acpi_table_boot } ACPI_TABLE_BOOT; - /******************************************************************************* * * CDAT - Coherent Device Attribute Table @@ -543,7 +623,7 @@ enum AcpiCdatType /* Subtable 0: Device Scoped Memory Affinity Structure (DSMAS) */ -typedef struct acpi_cadt_dsmas +typedef struct acpi_cdat_dsmas { UINT8 DsmadHandle; UINT8 Flags; @@ -1139,7 +1219,10 @@ typedef struct acpi_dmar_andd ACPI_DMAR_HEADER Header; UINT8 Reserved[3]; UINT8 DeviceNumber; - char DeviceName[1]; + union { + char __pad; + ACPI_FLEX_ARRAY(char, DeviceName); + } u; } ACPI_DMAR_ANDD; @@ -1192,7 +1275,7 @@ typedef struct acpi_table_drtm typedef struct acpi_drtm_vtable_list { UINT32 ValidatedTableCount; - UINT64 ValidatedTables[1]; + UINT64 ValidatedTables[]; } ACPI_DRTM_VTABLE_LIST; @@ -1211,7 +1294,7 @@ typedef struct acpi_drtm_resource typedef struct acpi_drtm_resource_list { UINT32 ResourceCount; - ACPI_DRTM_RESOURCE Resources[1]; + ACPI_DRTM_RESOURCE Resources[]; } ACPI_DRTM_RESOURCE_LIST; @@ -1239,7 +1322,7 @@ typedef struct acpi_table_ecdt ACPI_GENERIC_ADDRESS Data; /* Address of EC data register */ UINT32 Uid; /* Unique ID - must be same as the EC _UID method */ UINT8 Gpe; /* The GPE for the EC */ - UINT8 Id[1]; /* Full namepath of the EC in the ACPI namespace */ + UINT8 Id[]; /* Full namepath of the EC in the ACPI namespace */ } ACPI_TABLE_ECDT; diff --git a/src/acpica/source/include/actbl2.h b/src/acpica/source/include/actbl2.h index 4be5f0fc..9b2812a0 100644 --- a/src/acpica/source/include/actbl2.h +++ b/src/acpica/source/include/actbl2.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -179,6 +179,7 @@ #define ACPI_SIG_MADT "APIC" /* Multiple APIC Description Table */ #define ACPI_SIG_MCFG "MCFG" /* PCI Memory Mapped Configuration table */ #define ACPI_SIG_MCHI "MCHI" /* Management Controller Host Interface table */ +#define ACPI_SIG_MPAM "MPAM" /* Memory System Resource Partitioning and Monitoring Table */ #define ACPI_SIG_MPST "MPST" /* Memory Power State Table */ #define ACPI_SIG_MSDM "MSDM" /* Microsoft Data Management Table */ #define ACPI_SIG_NFIT "NFIT" /* NVDIMM Firmware Interface Table */ @@ -191,6 +192,7 @@ #define ACPI_SIG_PRMT "PRMT" /* Platform Runtime Mechanism Table */ #define ACPI_SIG_RASF "RASF" /* RAS Feature table */ #define ACPI_SIG_RGRT "RGRT" /* Regulatory Graphics Resource Table */ +#define ACPI_SIG_RHCT "RHCT" /* RISC-V Hart Capabilities Table */ #define ACPI_SIG_SBST "SBST" /* Smart Battery Specification Table */ #define ACPI_SIG_SDEI "SDEI" /* Software Delegated Exception Interface Table */ #define ACPI_SIG_SDEV "SDEV" /* Secure Devices table */ @@ -229,13 +231,12 @@ typedef struct acpi_table_aest { ACPI_TABLE_HEADER Header; - void *NodeArray[]; } ACPI_TABLE_AEST; /* Common Subtable header - one per Node Structure (Subtable) */ -typedef struct acpi_aest_hdr +typedef struct acpi_aest_hdr { UINT8 Type; UINT16 Length; @@ -266,7 +267,7 @@ typedef struct acpi_aest_hdr /* 0: Processor Error */ -typedef struct acpi_aest_processor +typedef struct acpi_aest_processor { UINT32 ProcessorId; UINT8 ResourceType; @@ -286,7 +287,7 @@ typedef struct acpi_aest_processor /* 0R: Processor Cache Resource Substructure */ -typedef struct acpi_aest_processor_cache +typedef struct acpi_aest_processor_cache { UINT32 CacheReference; UINT32 Reserved; @@ -302,7 +303,7 @@ typedef struct acpi_aest_processor_cache /* 1R: Processor TLB Resource Substructure */ -typedef struct acpi_aest_processor_tlb +typedef struct acpi_aest_processor_tlb { UINT32 TlbLevel; UINT32 Reserved; @@ -311,7 +312,7 @@ typedef struct acpi_aest_processor_tlb /* 2R: Processor Generic Resource Substructure */ -typedef struct acpi_aest_processor_generic +typedef struct acpi_aest_processor_generic { UINT32 Resource; @@ -319,7 +320,7 @@ typedef struct acpi_aest_processor_generic /* 1: Memory Error */ -typedef struct acpi_aest_memory +typedef struct acpi_aest_memory { UINT32 SratProximityDomain; @@ -327,7 +328,7 @@ typedef struct acpi_aest_memory /* 2: Smmu Error */ -typedef struct acpi_aest_smmu +typedef struct acpi_aest_smmu { UINT32 IortNodeReference; UINT32 SubcomponentReference; @@ -336,7 +337,7 @@ typedef struct acpi_aest_smmu /* 3: Vendor Defined */ -typedef struct acpi_aest_vendor +typedef struct acpi_aest_vendor { UINT32 AcpiHid; UINT32 AcpiUid; @@ -346,7 +347,7 @@ typedef struct acpi_aest_vendor /* 4: Gic Error */ -typedef struct acpi_aest_gic +typedef struct acpi_aest_gic { UINT32 InterfaceType; UINT32 InstanceId; @@ -364,7 +365,7 @@ typedef struct acpi_aest_gic /* Node Interface Structure */ -typedef struct acpi_aest_node_interface +typedef struct acpi_aest_node_interface { UINT8 Type; UINT8 Reserved[3]; @@ -386,7 +387,7 @@ typedef struct acpi_aest_node_interface /* Node Interrupt Structure */ -typedef struct acpi_aest_node_interrupt +typedef struct acpi_aest_node_interrupt { UINT8 Type; UINT8 Reserved[2]; @@ -571,7 +572,7 @@ typedef struct acpi_iort_node UINT32 Identifier; UINT32 MappingCount; UINT32 MappingOffset; - char NodeData[1]; + char NodeData[]; } ACPI_IORT_NODE; @@ -637,7 +638,7 @@ typedef struct acpi_iort_memory_access typedef struct acpi_iort_its_group { UINT32 ItsCount; - UINT32 Identifiers[1]; /* GIC ITS identifier array */ + UINT32 Identifiers[]; /* GIC ITS identifier array */ } ACPI_IORT_ITS_GROUP; @@ -647,7 +648,7 @@ typedef struct acpi_iort_named_component UINT32 NodeFlags; UINT64 MemoryProperties; /* Memory access properties */ UINT8 MemoryAddressLimit; /* Memory address size limit */ - char DeviceName[1]; /* Path of namespace object */ + char DeviceName[]; /* Path of namespace object */ } ACPI_IORT_NAMED_COMPONENT; @@ -663,7 +664,7 @@ typedef struct acpi_iort_root_complex UINT32 PciSegmentNumber; UINT8 MemoryAddressLimit; /* Memory address size limit */ UINT16 PasidCapabilities; /* PASID Capabilities */ - UINT8 Reserved[1]; /* Reserved, must be zero */ + UINT8 Reserved[]; /* Reserved, must be zero */ } ACPI_IORT_ROOT_COMPLEX; @@ -687,7 +688,7 @@ typedef struct acpi_iort_smmu UINT32 ContextInterruptOffset; UINT32 PmuInterruptCount; UINT32 PmuInterruptOffset; - UINT64 Interrupts[1]; /* Interrupt array */ + UINT64 Interrupts[]; /* Interrupt array */ } ACPI_IORT_SMMU; @@ -1134,7 +1135,8 @@ enum AcpiMadtType ACPI_MADT_TYPE_MSI_PIC = 21, ACPI_MADT_TYPE_BIO_PIC = 22, ACPI_MADT_TYPE_LPC_PIC = 23, - ACPI_MADT_TYPE_RESERVED = 24, /* 24 to 0x7F are reserved */ + ACPI_MADT_TYPE_RINTC = 24, + ACPI_MADT_TYPE_RESERVED = 25, /* 25 to 0x7F are reserved */ ACPI_MADT_TYPE_OEM_RESERVED = 0x80 /* 0x80 to 0xFF are reserved for OEM use */ }; @@ -1239,7 +1241,7 @@ typedef struct acpi_madt_local_sapic UINT8 Reserved[3]; /* Reserved, must be zero */ UINT32 LapicFlags; UINT32 Uid; /* Numeric UID - ACPI 3.0 */ - char UidString[1]; /* String UID - ACPI 3.0 */ + char UidString[]; /* String UID - ACPI 3.0 */ } ACPI_MADT_LOCAL_SAPIC; @@ -1290,7 +1292,7 @@ typedef struct acpi_madt_local_x2apic_nmi } ACPI_MADT_LOCAL_X2APIC_NMI; -/* 11: Generic Interrupt - GICC (ACPI 5.0 + ACPI 6.0 + ACPI 6.3 changes) */ +/* 11: Generic Interrupt - GICC (ACPI 5.0 + ACPI 6.0 + ACPI 6.3 + ACPI 6.5 changes) */ typedef struct acpi_madt_generic_interrupt { @@ -1311,6 +1313,7 @@ typedef struct acpi_madt_generic_interrupt UINT8 EfficiencyClass; UINT8 Reserved2[1]; UINT16 SpeInterrupt; /* ACPI 6.3 */ + UINT16 TrbeInterrupt; /* ACPI 6.5 */ } ACPI_MADT_GENERIC_INTERRUPT; @@ -1546,11 +1549,29 @@ enum AcpiMadtLpcPicVersion { ACPI_MADT_LPC_PIC_VERSION_RESERVED = 2 /* 2 and greater are reserved */ }; +/* 24: RISC-V INTC */ +struct acpi_madt_rintc { + ACPI_SUBTABLE_HEADER Header; + UINT8 Version; + UINT8 Reserved; + UINT32 Flags; + UINT64 HartId; + UINT32 Uid; /* ACPI processor UID */ +}; + +/* Values for RISC-V INTC Version field above */ + +enum AcpiMadtRintcVersion { + ACPI_MADT_RINTC_VERSION_NONE = 0, + ACPI_MADT_RINTC_VERSION_V1 = 1, + ACPI_MADT_RINTC_VERSION_RESERVED = 2 /* 2 and greater are reserved */ +}; + /* 80: OEM data */ typedef struct acpi_madt_oem_data { - UINT8 OemData[0]; + ACPI_FLEX_ARRAY(UINT8, OemData); } ACPI_MADT_OEM_DATA; @@ -1639,6 +1660,132 @@ typedef struct acpi_table_mchi } ACPI_TABLE_MCHI; +/******************************************************************************* + * + * MPAM - Memory System Resource Partitioning and Monitoring + * + * Conforms to "ACPI for Memory System Resource Partitioning and Monitoring 2.0" + * Document number: ARM DEN 0065, December, 2022. + * + ******************************************************************************/ + +/* MPAM RIS locator types. Table 11, Location types */ +enum AcpiMpamLocatorType { + ACPI_MPAM_LOCATION_TYPE_PROCESSOR_CACHE = 0, + ACPI_MPAM_LOCATION_TYPE_MEMORY = 1, + ACPI_MPAM_LOCATION_TYPE_SMMU = 2, + ACPI_MPAM_LOCATION_TYPE_MEMORY_CACHE = 3, + ACPI_MPAM_LOCATION_TYPE_ACPI_DEVICE = 4, + ACPI_MPAM_LOCATION_TYPE_INTERCONNECT = 5, + ACPI_MPAM_LOCATION_TYPE_UNKNOWN = 0xFF +}; + +/* MPAM Functional dependency descriptor. Table 10 */ +typedef struct acpi_mpam_func_deps +{ + UINT32 Producer; + UINT32 Reserved; +} ACPI_MPAM_FUNC_DEPS; + +/* MPAM Processor cache locator descriptor. Table 13 */ +typedef struct acpi_mpam_resource_cache_locator +{ + UINT64 CacheReference; + UINT32 Reserved; +} ACPI_MPAM_RESOURCE_CACHE_LOCATOR; + +/* MPAM Memory locator descriptor. Table 14 */ +typedef struct acpi_mpam_resource_memory_locator +{ + UINT64 ProximityDomain; + UINT32 Reserved; +} ACPI_MPAM_RESOURCE_MEMORY_LOCATOR; + +/* MPAM SMMU locator descriptor. Table 15 */ +typedef struct acpi_mpam_resource_smmu_locator +{ + UINT64 SmmuInterface; + UINT32 Reserved; +} ACPI_MPAM_RESOURCE_SMMU_INTERFACE; + +/* MPAM Memory-side cache locator descriptor. Table 16 */ +typedef struct acpi_mpam_resource_memcache_locator +{ + UINT8 Reserved[7]; + UINT8 Level; + UINT32 Reference; +} ACPI_MPAM_RESOURCE_MEMCACHE_INTERFACE; + +/* MPAM ACPI device locator descriptor. Table 17 */ +typedef struct acpi_mpam_resource_acpi_locator +{ + UINT64 AcpiHwId; + UINT32 AcpiUniqueId; +} ACPI_MPAM_RESOURCE_ACPI_INTERFACE; + +/* MPAM Interconnect locator descriptor. Table 18 */ +typedef struct acpi_mpam_resource_interconnect_locator +{ + UINT64 InterConnectDescTblOff; + UINT32 Reserved; +} ACPI_MPAM_RESOURCE_INTERCONNECT_INTERFACE; + +/* MPAM Locator structure. Table 12 */ +typedef struct acpi_mpam_resource_generic_locator +{ + UINT64 Descriptor1; + UINT32 Descriptor2; +} ACPI_MPAM_RESOURCE_GENERIC_LOCATOR; + +typedef union acpi_mpam_resource_locator +{ + ACPI_MPAM_RESOURCE_CACHE_LOCATOR CacheLocator; + ACPI_MPAM_RESOURCE_MEMORY_LOCATOR MemoryLocator; + ACPI_MPAM_RESOURCE_SMMU_INTERFACE SmmuLocator; + ACPI_MPAM_RESOURCE_MEMCACHE_INTERFACE MemCacheLocator; + ACPI_MPAM_RESOURCE_ACPI_INTERFACE AcpiLocator; + ACPI_MPAM_RESOURCE_INTERCONNECT_INTERFACE InterconnectIfcLocator; + ACPI_MPAM_RESOURCE_GENERIC_LOCATOR GenericLocator; +} ACPI_MPAM_RESOURCE_LOCATOR; + +/* Memory System Component Resource Node Structure Table 9 */ +typedef struct acpi_mpam_resource_node +{ + UINT32 Identifier; + UINT8 RISIndex; + UINT16 Reserved1; + UINT8 LocatorType; + ACPI_MPAM_RESOURCE_LOCATOR Locator; + UINT32 NumFunctionalDeps; +} ACPI_MPAM_RESOURCE_NODE; + +/* Memory System Component (MSC) Node Structure. Table 4 */ +typedef struct acpi_mpam_msc_node +{ + UINT16 Length; + UINT8 InterfaceType; + UINT8 Reserved; + UINT32 Identifier; + UINT64 BaseAddress; + UINT32 MMIOSize; + UINT32 OverflowInterrupt; + UINT32 OverflowInterruptFlags; + UINT32 Reserved1; + UINT32 OverflowInterruptAffinity; + UINT32 ErrorInterrupt; + UINT32 ErrorInterruptFlags; + UINT32 Reserved2; + UINT32 ErrorInterruptAffinity; + UINT32 MaxNrdyUsec; + UINT64 HardwareIdLinkedDevice; + UINT32 InstanceIdLinkedDevice; + UINT32 NumResouceNodes; +} ACPI_MPAM_MSC_NODE; + +typedef struct acpi_table_mpam +{ + ACPI_TABLE_HEADER Header; /* Common ACPI table header */ +} ACPI_TABLE_MPAM; /******************************************************************************* * @@ -1917,7 +2064,7 @@ typedef struct acpi_nfit_interleave UINT16 Reserved; /* Reserved, must be zero */ UINT32 LineCount; UINT32 LineSize; - UINT32 LineOffset[1]; /* Variable length */ + UINT32 LineOffset[]; /* Variable length */ } ACPI_NFIT_INTERLEAVE; @@ -1928,7 +2075,7 @@ typedef struct acpi_nfit_smbios { ACPI_NFIT_HEADER Header; UINT32 Reserved; /* Reserved, must be zero */ - UINT8 Data[1]; /* Variable length */ + UINT8 Data[]; /* Variable length */ } ACPI_NFIT_SMBIOS; @@ -1994,7 +2141,7 @@ typedef struct acpi_nfit_flush_address UINT32 DeviceHandle; UINT16 HintCount; UINT8 Reserved[6]; /* Reserved, must be zero */ - UINT64 HintAddress[1]; /* Variable length */ + UINT64 HintAddress[]; /* Variable length */ } ACPI_NFIT_FLUSH_ADDRESS; @@ -3129,6 +3276,53 @@ enum AcpiRgrtImageType }; +/******************************************************************************* + * + * RHCT - RISC-V Hart Capabilities Table + * Version 1 + * + ******************************************************************************/ + +typedef struct acpi_table_rhct { + ACPI_TABLE_HEADER Header; /* Common ACPI table header */ + UINT32 Reserved; + UINT64 TimeBaseFreq; + UINT32 NodeCount; + UINT32 NodeOffset; +} ACPI_TABLE_RHCT; + +/* + * RHCT subtables + */ +typedef struct acpi_rhct_node_header { + UINT16 Type; + UINT16 Length; + UINT16 Revision; +} ACPI_RHCT_NODE_HEADER; + +/* Values for RHCT subtable Type above */ + +enum acpi_rhct_node_type { + ACPI_RHCT_NODE_TYPE_ISA_STRING = 0x0000, + ACPI_RHCT_NODE_TYPE_HART_INFO = 0xFFFF, +}; + +/* + * RHCT node specific subtables + */ + +/* ISA string node structure */ +typedef struct acpi_rhct_isa_string { + UINT16 IsaLength; + char Isa[]; +} ACPI_RHCT_ISA_STRING; + +/* Hart Info node structure */ +typedef struct acpi_rhct_hart_info { + UINT16 NumOffsets; + UINT32 Uid; /* ACPI processor UID */ +} ACPI_RHCT_HART_INFO; + /******************************************************************************* * * SBST - Smart Battery Specification Table diff --git a/src/acpica/source/include/actbl3.h b/src/acpica/source/include/actbl3.h index 7cc633a2..15ef0195 100644 --- a/src/acpica/source/include/actbl3.h +++ b/src/acpica/source/include/actbl3.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/include/actypes.h b/src/acpica/source/include/actypes.h index 92da002a..c0f0a87f 100644 --- a/src/acpica/source/include/actypes.h +++ b/src/acpica/source/include/actypes.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -1481,7 +1481,7 @@ typedef struct acpi_mem_space_context } ACPI_MEM_SPACE_CONTEXT; -typedef struct acpi_data_table_space_context +typedef struct acpi_data_table_mapping { void *Pointer; @@ -1574,4 +1574,8 @@ typedef enum #define ACPI_FALLTHROUGH do {} while(0) #endif +#ifndef ACPI_FLEX_ARRAY +#define ACPI_FLEX_ARRAY(TYPE, NAME) TYPE NAME[0] +#endif + #endif /* __ACTYPES_H__ */ diff --git a/src/acpica/source/include/acutils.h b/src/acpica/source/include/acutils.h index a0e7953b..bdca11c9 100644 --- a/src/acpica/source/include/acutils.h +++ b/src/acpica/source/include/acutils.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -196,6 +196,8 @@ extern const char *AcpiGbl_SbDecode[]; extern const char *AcpiGbl_FcDecode[]; extern const char *AcpiGbl_PtDecode[]; extern const char *AcpiGbl_PtypDecode[]; +extern const char *AcpiGbl_ClockInputMode[]; +extern const char *AcpiGbl_ClockInputScale[]; #endif /* diff --git a/src/acpica/source/include/acuuid.h b/src/acpica/source/include/acuuid.h index 2ab07bb3..cf3abc0f 100644 --- a/src/acpica/source/include/acuuid.h +++ b/src/acpica/source/include/acuuid.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/include/amlcode.h b/src/acpica/source/include/amlcode.h index 25d591e5..62cbffad 100644 --- a/src/acpica/source/include/amlcode.h +++ b/src/acpica/source/include/amlcode.h @@ -10,7 +10,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/include/amlresrc.h b/src/acpica/source/include/amlresrc.h index e89cd824..a8e288ad 100644 --- a/src/acpica/source/include/amlresrc.h +++ b/src/acpica/source/include/amlresrc.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -213,6 +213,8 @@ #define ACPI_RESTAG_TYPE "_TTP" /* Translation(1), Static (0) */ #define ACPI_RESTAG_XFERTYPE "_SIZ" /* 8(0), 8And16(1), 16(2) */ #define ACPI_RESTAG_VENDORDATA "_VEN" +#define ACPI_RESTAG_FQN "_FQN" +#define ACPI_RESTAG_FQD "_FQD" /* Default sizes for "small" resource descriptors */ @@ -501,7 +503,10 @@ typedef struct aml_resource_extended_irq AML_RESOURCE_LARGE_HEADER_COMMON UINT8 Flags; UINT8 InterruptCount; - UINT32 Interrupts[1]; + union { + UINT32 Interrupt; + ACPI_FLEX_ARRAY(UINT32, Interrupts); + } u; /* ResSourceIndex, ResSource optional fields follow */ } AML_RESOURCE_EXTENDED_IRQ; @@ -703,6 +708,23 @@ typedef struct aml_resource_pin_config } AML_RESOURCE_PIN_CONFIG; +#define AML_RESOURCE_CLOCK_INPUT_REVISION 1 /* ACPI 6.5 */ + +typedef struct aml_resource_clock_input +{ + AML_RESOURCE_LARGE_HEADER_COMMON + UINT8 RevisionId; + UINT16 Flags; + UINT16 FrequencyDivisor; + UINT32 FrequencyNumerator; + /* + * Optional fields follow immediately: + * 1) Resource Source index + * 2) Resource Source String + */ +} AML_RESOURCE_CLOCK_INPUT; + + #define AML_RESOURCE_PIN_CONFIG_REVISION 1 /* ACPI 6.2 */ typedef struct aml_resource_pin_group @@ -819,6 +841,7 @@ typedef union aml_resource AML_RESOURCE_PIN_GROUP PinGroup; AML_RESOURCE_PIN_GROUP_FUNCTION PinGroupFunction; AML_RESOURCE_PIN_GROUP_CONFIG PinGroupConfig; + AML_RESOURCE_CLOCK_INPUT ClockInput; /* Utility overlays */ diff --git a/src/acpica/source/include/platform/acenv.h b/src/acpica/source/include/platform/acenv.h index 674c4c7d..1fc692db 100644 --- a/src/acpica/source/include/platform/acenv.h +++ b/src/acpica/source/include/platform/acenv.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -358,6 +358,8 @@ #elif defined(_AED_EFI) || defined(_GNU_EFI) || defined(_EDK2_EFI) #include "acefi.h" +#elif defined(__ZEPHYR__) +#include "aczephyr.h" #else /* Unknown environment */ diff --git a/src/acpica/source/include/platform/acenvex.h b/src/acpica/source/include/platform/acenvex.h index 32db36c6..33e19b68 100644 --- a/src/acpica/source/include/platform/acenvex.h +++ b/src/acpica/source/include/platform/acenvex.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/include/platform/acgcc.h b/src/acpica/source/include/platform/acgcc.h index 3ad22a1f..55a66c6d 100644 --- a/src/acpica/source/include/platform/acgcc.h +++ b/src/acpica/source/include/platform/acgcc.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -211,4 +211,15 @@ typedef __builtin_va_list va_list; #define ACPI_FALLTHROUGH __attribute__((__fallthrough__)) #endif +/* + * Flexible array members are not allowed to be part of a union under + * C99, but this is not for any technical reason. Work around the + * limitation. + */ +#define ACPI_FLEX_ARRAY(TYPE, NAME) \ + struct { \ + struct { } __Empty_ ## NAME; \ + TYPE NAME[]; \ + } + #endif /* __ACGCC_H__ */ diff --git a/src/acpica/source/include/platform/acgccex.h b/src/acpica/source/include/platform/acgccex.h index 035b999d..156bab47 100644 --- a/src/acpica/source/include/platform/acgccex.h +++ b/src/acpica/source/include/platform/acgccex.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/include/platform/aclinux.h b/src/acpica/source/include/platform/aclinux.h index e9c1954d..da37a2fa 100644 --- a/src/acpica/source/include/platform/aclinux.h +++ b/src/acpica/source/include/platform/aclinux.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License @@ -310,7 +310,10 @@ #define ACPI_USE_STANDARD_HEADERS #ifdef ACPI_USE_STANDARD_HEADERS +#include <stddef.h> #include <unistd.h> + +#define ACPI_OFFSET(d, f) offsetof(d, f) #endif /* Define/disable kernel-specific declarators */ diff --git a/src/acpica/source/include/platform/aclinuxex.h b/src/acpica/source/include/platform/aclinuxex.h index 4e84cd4b..a10412a7 100644 --- a/src/acpica/source/include/platform/aclinuxex.h +++ b/src/acpica/source/include/platform/aclinuxex.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/os_specific/service_layers/osunixxf.c b/src/acpica/source/os_specific/service_layers/osunixxf.c index ef1651b6..addccb71 100644 --- a/src/acpica/source/os_specific/service_layers/osunixxf.c +++ b/src/acpica/source/os_specific/service_layers/osunixxf.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/tools/acpiexec/aecommon.h b/src/acpica/source/tools/acpiexec/aecommon.h index 7bfdd278..0745aac2 100644 --- a/src/acpica/source/tools/acpiexec/aecommon.h +++ b/src/acpica/source/tools/acpiexec/aecommon.h @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/tools/acpiexec/aeexception.c b/src/acpica/source/tools/acpiexec/aeexception.c index f0903c1f..326407c8 100644 --- a/src/acpica/source/tools/acpiexec/aeexception.c +++ b/src/acpica/source/tools/acpiexec/aeexception.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/tools/acpiexec/aehandlers.c b/src/acpica/source/tools/acpiexec/aehandlers.c index 9b12aa65..e36a4759 100644 --- a/src/acpica/source/tools/acpiexec/aehandlers.c +++ b/src/acpica/source/tools/acpiexec/aehandlers.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/tools/acpiexec/aeinitfile.c b/src/acpica/source/tools/acpiexec/aeinitfile.c index 600f2c7d..c3d4d8e5 100644 --- a/src/acpica/source/tools/acpiexec/aeinitfile.c +++ b/src/acpica/source/tools/acpiexec/aeinitfile.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/tools/acpiexec/aeinstall.c b/src/acpica/source/tools/acpiexec/aeinstall.c index 28d08d8a..9e1940c3 100644 --- a/src/acpica/source/tools/acpiexec/aeinstall.c +++ b/src/acpica/source/tools/acpiexec/aeinstall.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License diff --git a/src/acpica/source/tools/acpiexec/aeregion.c b/src/acpica/source/tools/acpiexec/aeregion.c index 400fd66e..f0646729 100644 --- a/src/acpica/source/tools/acpiexec/aeregion.c +++ b/src/acpica/source/tools/acpiexec/aeregion.c @@ -8,7 +8,7 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999 - 2022, Intel Corp. + * Some or all of this work - Copyright (c) 1999 - 2023, Intel Corp. * All rights reserved. * * 2. License
Changes in this release of ACPICA are detailed on the ACPICA developer mailing list for ACPICA 20230331 Signed-off-by: Colin Ian King <colin.i.king@gmail.com> --- src/acpica/source/common/acfileio.c | 2 +- src/acpica/source/common/acgetline.c | 2 +- src/acpica/source/common/adfile.c | 2 +- src/acpica/source/common/adisasm.c | 3 +- src/acpica/source/common/adwalk.c | 2 +- src/acpica/source/common/ahids.c | 2 +- src/acpica/source/common/ahpredef.c | 2 +- src/acpica/source/common/ahtable.c | 5 +- src/acpica/source/common/ahuuids.c | 2 +- src/acpica/source/common/cmfsize.c | 2 +- src/acpica/source/common/dmextern.c | 10 +- src/acpica/source/common/dmrestag.c | 11 +- src/acpica/source/common/dmswitch.c | 2 +- src/acpica/source/common/dmtable.c | 54 +++- src/acpica/source/common/dmtables.c | 2 +- src/acpica/source/common/dmtbdump.c | 2 +- src/acpica/source/common/dmtbdump1.c | 93 +++++- src/acpica/source/common/dmtbdump2.c | 242 ++++++++++++++- src/acpica/source/common/dmtbdump3.c | 2 +- src/acpica/source/common/dmtbinfo.c | 2 +- src/acpica/source/common/dmtbinfo1.c | 55 +++- src/acpica/source/common/dmtbinfo2.c | 191 +++++++++++- src/acpica/source/common/dmtbinfo3.c | 2 +- src/acpica/source/common/getopt.c | 2 +- src/acpica/source/compiler/aslallocate.c | 8 +- src/acpica/source/compiler/aslanalyze.c | 2 +- src/acpica/source/compiler/aslascii.c | 2 +- src/acpica/source/compiler/aslbtypes.c | 5 +- src/acpica/source/compiler/aslcache.c | 2 +- src/acpica/source/compiler/aslcodegen.c | 2 +- src/acpica/source/compiler/aslcompile.c | 2 +- src/acpica/source/compiler/aslcompiler.h | 5 +- src/acpica/source/compiler/aslcompiler.l | 14 +- src/acpica/source/compiler/aslcstyle.y | 2 +- src/acpica/source/compiler/asldebug.c | 2 +- src/acpica/source/compiler/asldefine.h | 2 +- src/acpica/source/compiler/aslerror.c | 2 +- src/acpica/source/compiler/aslexternal.c | 2 +- src/acpica/source/compiler/aslfileio.c | 2 +- src/acpica/source/compiler/aslfiles.c | 2 +- src/acpica/source/compiler/aslfold.c | 2 +- src/acpica/source/compiler/aslglobal.h | 2 +- src/acpica/source/compiler/aslhelp.c | 2 +- src/acpica/source/compiler/aslhelpers.y | 2 +- src/acpica/source/compiler/aslhex.c | 2 +- src/acpica/source/compiler/aslkeywords.y | 13 +- src/acpica/source/compiler/asllength.c | 2 +- src/acpica/source/compiler/asllisting.c | 2 +- src/acpica/source/compiler/asllistsup.c | 2 +- src/acpica/source/compiler/aslload.c | 2 +- src/acpica/source/compiler/asllookup.c | 2 +- src/acpica/source/compiler/aslmain.c | 2 +- src/acpica/source/compiler/aslmap.c | 8 +- src/acpica/source/compiler/aslmapenter.c | 2 +- src/acpica/source/compiler/aslmapoutput.c | 2 +- src/acpica/source/compiler/aslmaputils.c | 2 +- src/acpica/source/compiler/aslmessages.c | 2 +- src/acpica/source/compiler/aslmessages.h | 2 +- src/acpica/source/compiler/aslmethod.c | 2 +- src/acpica/source/compiler/aslnamesp.c | 2 +- src/acpica/source/compiler/asloffset.c | 2 +- src/acpica/source/compiler/aslopcodes.c | 2 +- src/acpica/source/compiler/asloperands.c | 2 +- src/acpica/source/compiler/aslopt.c | 2 +- src/acpica/source/compiler/asloptions.c | 2 +- src/acpica/source/compiler/aslparseop.c | 6 +- src/acpica/source/compiler/aslparser.y | 4 +- src/acpica/source/compiler/aslpld.c | 2 +- src/acpica/source/compiler/aslpredef.c | 2 +- src/acpica/source/compiler/aslprepkg.c | 2 +- src/acpica/source/compiler/aslprimaries.y | 2 +- src/acpica/source/compiler/aslprintf.c | 2 +- src/acpica/source/compiler/aslprune.c | 2 +- src/acpica/source/compiler/aslresource.c | 8 +- src/acpica/source/compiler/aslresources.y | 18 +- src/acpica/source/compiler/aslrestype1.c | 2 +- src/acpica/source/compiler/aslrestype1i.c | 2 +- src/acpica/source/compiler/aslrestype2.c | 8 +- src/acpica/source/compiler/aslrestype2d.c | 2 +- src/acpica/source/compiler/aslrestype2e.c | 2 +- src/acpica/source/compiler/aslrestype2q.c | 2 +- src/acpica/source/compiler/aslrestype2s.c | 129 ++++++-- src/acpica/source/compiler/aslrestype2w.c | 2 +- src/acpica/source/compiler/aslrules.y | 2 +- src/acpica/source/compiler/aslstartup.c | 2 +- src/acpica/source/compiler/aslstubs.c | 2 +- src/acpica/source/compiler/aslsupport.l | 4 +- src/acpica/source/compiler/aslsupport.y | 2 +- src/acpica/source/compiler/asltokens.y | 8 +- src/acpica/source/compiler/asltransform.c | 2 +- src/acpica/source/compiler/asltree.c | 5 +- src/acpica/source/compiler/asltypes.h | 4 +- src/acpica/source/compiler/asltypes.y | 5 +- src/acpica/source/compiler/aslutils.c | 8 +- src/acpica/source/compiler/asluuid.c | 2 +- src/acpica/source/compiler/aslwalks.c | 2 +- src/acpica/source/compiler/aslxref.c | 2 +- src/acpica/source/compiler/aslxrefout.c | 2 +- src/acpica/source/compiler/cvcompiler.c | 2 +- src/acpica/source/compiler/cvdisasm.c | 2 +- src/acpica/source/compiler/cvparser.c | 2 +- src/acpica/source/compiler/dtcompile.c | 2 +- src/acpica/source/compiler/dtcompiler.h | 17 +- src/acpica/source/compiler/dtcompilerparser.l | 2 +- src/acpica/source/compiler/dtcompilerparser.y | 2 +- src/acpica/source/compiler/dtexpress.c | 7 +- src/acpica/source/compiler/dtfield.c | 4 +- src/acpica/source/compiler/dtio.c | 2 +- src/acpica/source/compiler/dtparser.l | 2 +- src/acpica/source/compiler/dtparser.y | 2 +- src/acpica/source/compiler/dtsubtable.c | 2 +- src/acpica/source/compiler/dttable.c | 2 +- src/acpica/source/compiler/dttable1.c | 91 +++++- src/acpica/source/compiler/dttable2.c | 285 +++++++++++++++++- src/acpica/source/compiler/dttemplate.c | 2 +- src/acpica/source/compiler/dttemplate.h | 79 ++++- src/acpica/source/compiler/dtutils.c | 4 +- src/acpica/source/compiler/preprocess.h | 11 +- src/acpica/source/compiler/prexpress.c | 2 +- src/acpica/source/compiler/prmacros.c | 50 +-- src/acpica/source/compiler/prparser.l | 2 +- src/acpica/source/compiler/prparser.y | 2 +- src/acpica/source/compiler/prscan.c | 9 +- src/acpica/source/compiler/prutils.c | 240 ++++++++++++++- .../source/components/debugger/dbcmds.c | 2 +- .../source/components/debugger/dbconvert.c | 2 +- .../source/components/debugger/dbdisply.c | 2 +- .../source/components/debugger/dbexec.c | 2 +- .../source/components/debugger/dbfileio.c | 2 +- .../source/components/debugger/dbhistry.c | 2 +- .../source/components/debugger/dbinput.c | 2 +- .../source/components/debugger/dbmethod.c | 2 +- .../source/components/debugger/dbnames.c | 5 +- .../source/components/debugger/dbobject.c | 2 +- .../source/components/debugger/dbstats.c | 2 +- .../source/components/debugger/dbtest.c | 2 +- .../source/components/debugger/dbutils.c | 2 +- .../source/components/debugger/dbxface.c | 2 +- .../source/components/disassembler/dmbuffer.c | 2 +- .../source/components/disassembler/dmcstyle.c | 2 +- .../components/disassembler/dmdeferred.c | 2 +- .../source/components/disassembler/dmnames.c | 2 +- .../source/components/disassembler/dmopcode.c | 2 +- .../source/components/disassembler/dmresrc.c | 3 +- .../source/components/disassembler/dmresrcl.c | 4 +- .../components/disassembler/dmresrcl2.c | 42 ++- .../source/components/disassembler/dmresrcs.c | 2 +- .../source/components/disassembler/dmutils.c | 2 +- .../source/components/disassembler/dmwalk.c | 2 +- .../source/components/dispatcher/dsargs.c | 2 +- .../source/components/dispatcher/dscontrol.c | 2 +- .../source/components/dispatcher/dsdebug.c | 2 +- .../source/components/dispatcher/dsfield.c | 2 +- .../source/components/dispatcher/dsinit.c | 2 +- .../source/components/dispatcher/dsmethod.c | 12 +- .../source/components/dispatcher/dsmthdat.c | 2 +- .../source/components/dispatcher/dsobject.c | 2 +- .../source/components/dispatcher/dsopcode.c | 2 +- .../source/components/dispatcher/dspkginit.c | 2 +- .../source/components/dispatcher/dsutils.c | 2 +- .../source/components/dispatcher/dswexec.c | 8 +- .../source/components/dispatcher/dswload.c | 2 +- .../source/components/dispatcher/dswload2.c | 2 +- .../source/components/dispatcher/dswscope.c | 2 +- .../source/components/dispatcher/dswstate.c | 11 +- src/acpica/source/components/events/evevent.c | 4 +- src/acpica/source/components/events/evglock.c | 2 +- src/acpica/source/components/events/evgpe.c | 2 +- .../source/components/events/evgpeblk.c | 2 +- .../source/components/events/evgpeinit.c | 2 +- .../source/components/events/evgpeutil.c | 2 +- .../source/components/events/evhandler.c | 2 +- src/acpica/source/components/events/evmisc.c | 2 +- .../source/components/events/evregion.c | 2 +- .../source/components/events/evrgnini.c | 2 +- src/acpica/source/components/events/evsci.c | 2 +- src/acpica/source/components/events/evxface.c | 2 +- .../source/components/events/evxfevnt.c | 2 +- src/acpica/source/components/events/evxfgpe.c | 2 +- .../source/components/events/evxfregn.c | 103 ++++++- .../source/components/executer/exconcat.c | 2 +- .../source/components/executer/exconfig.c | 2 +- .../source/components/executer/exconvrt.c | 2 +- .../source/components/executer/excreate.c | 2 +- .../source/components/executer/exdebug.c | 2 +- .../source/components/executer/exdump.c | 2 +- .../source/components/executer/exfield.c | 2 +- .../source/components/executer/exfldio.c | 2 +- .../source/components/executer/exmisc.c | 2 +- .../source/components/executer/exmutex.c | 2 +- .../source/components/executer/exnames.c | 2 +- .../source/components/executer/exoparg1.c | 2 +- .../source/components/executer/exoparg2.c | 2 +- .../source/components/executer/exoparg3.c | 2 +- .../source/components/executer/exoparg6.c | 2 +- .../source/components/executer/exprep.c | 2 +- .../source/components/executer/exregion.c | 2 +- .../source/components/executer/exresnte.c | 2 +- .../source/components/executer/exresolv.c | 2 +- .../source/components/executer/exresop.c | 2 +- .../source/components/executer/exserial.c | 2 +- .../source/components/executer/exstore.c | 2 +- .../source/components/executer/exstoren.c | 2 +- .../source/components/executer/exstorob.c | 2 +- .../source/components/executer/exsystem.c | 6 +- .../source/components/executer/extrace.c | 2 +- .../source/components/executer/exutils.c | 2 +- .../source/components/hardware/hwacpi.c | 2 +- .../source/components/hardware/hwesleep.c | 2 +- src/acpica/source/components/hardware/hwgpe.c | 2 +- src/acpica/source/components/hardware/hwpci.c | 2 +- .../source/components/hardware/hwregs.c | 2 +- .../source/components/hardware/hwsleep.c | 13 +- .../source/components/hardware/hwvalid.c | 10 +- .../source/components/hardware/hwxface.c | 2 +- .../source/components/hardware/hwxfsleep.c | 2 +- .../source/components/namespace/nsaccess.c | 2 +- .../source/components/namespace/nsalloc.c | 2 +- .../source/components/namespace/nsarguments.c | 2 +- .../source/components/namespace/nsconvert.c | 2 +- .../source/components/namespace/nsdump.c | 2 +- .../source/components/namespace/nsdumpdv.c | 2 +- .../source/components/namespace/nseval.c | 2 +- .../source/components/namespace/nsinit.c | 2 +- .../source/components/namespace/nsload.c | 2 +- .../source/components/namespace/nsnames.c | 2 +- .../source/components/namespace/nsobject.c | 2 +- .../source/components/namespace/nsparse.c | 2 +- .../source/components/namespace/nspredef.c | 2 +- .../source/components/namespace/nsprepkg.c | 2 +- .../source/components/namespace/nsrepair.c | 16 +- .../source/components/namespace/nsrepair2.c | 11 +- .../source/components/namespace/nssearch.c | 2 +- .../source/components/namespace/nsutils.c | 4 +- .../source/components/namespace/nswalk.c | 2 +- .../source/components/namespace/nsxfeval.c | 2 +- .../source/components/namespace/nsxfname.c | 4 +- .../source/components/namespace/nsxfobj.c | 2 +- src/acpica/source/components/parser/psargs.c | 2 +- src/acpica/source/components/parser/psloop.c | 2 +- .../source/components/parser/psobject.c | 2 +- .../source/components/parser/psopcode.c | 2 +- .../source/components/parser/psopinfo.c | 2 +- src/acpica/source/components/parser/psparse.c | 2 +- src/acpica/source/components/parser/psscope.c | 2 +- src/acpica/source/components/parser/pstree.c | 2 +- src/acpica/source/components/parser/psutils.c | 2 +- src/acpica/source/components/parser/pswalk.c | 2 +- src/acpica/source/components/parser/psxface.c | 2 +- .../source/components/resources/rsaddr.c | 14 +- .../source/components/resources/rscalc.c | 33 +- .../source/components/resources/rscreate.c | 10 +- .../source/components/resources/rsdump.c | 2 +- .../source/components/resources/rsdumpinfo.c | 21 +- .../source/components/resources/rsinfo.c | 7 +- src/acpica/source/components/resources/rsio.c | 2 +- .../source/components/resources/rsirq.c | 14 +- .../source/components/resources/rslist.c | 11 +- .../source/components/resources/rsmemory.c | 2 +- .../source/components/resources/rsmisc.c | 11 +- .../source/components/resources/rsserial.c | 46 ++- .../source/components/resources/rsutils.c | 2 +- .../source/components/resources/rsxface.c | 2 +- src/acpica/source/components/tables/tbdata.c | 2 +- src/acpica/source/components/tables/tbfadt.c | 2 +- src/acpica/source/components/tables/tbfind.c | 2 +- .../source/components/tables/tbinstal.c | 2 +- src/acpica/source/components/tables/tbprint.c | 3 +- src/acpica/source/components/tables/tbutils.c | 7 +- src/acpica/source/components/tables/tbxface.c | 2 +- .../source/components/tables/tbxfload.c | 2 +- .../source/components/tables/tbxfroot.c | 2 +- .../source/components/utilities/utaddress.c | 2 +- .../source/components/utilities/utalloc.c | 2 +- .../source/components/utilities/utascii.c | 2 +- .../source/components/utilities/utbuffer.c | 2 +- .../source/components/utilities/utcache.c | 2 +- .../source/components/utilities/utcksum.c | 4 +- .../source/components/utilities/utcopy.c | 2 +- .../source/components/utilities/utdebug.c | 2 +- .../source/components/utilities/utdecode.c | 2 +- .../source/components/utilities/utdelete.c | 2 +- .../source/components/utilities/uterror.c | 2 +- .../source/components/utilities/uteval.c | 2 +- .../source/components/utilities/utexcep.c | 2 +- .../source/components/utilities/utglobal.c | 2 +- .../source/components/utilities/uthex.c | 2 +- .../source/components/utilities/utids.c | 2 +- .../source/components/utilities/utinit.c | 2 +- .../source/components/utilities/utlock.c | 2 +- .../source/components/utilities/utmath.c | 2 +- .../source/components/utilities/utmisc.c | 2 +- .../source/components/utilities/utmutex.c | 2 +- .../source/components/utilities/utnonansi.c | 2 +- .../source/components/utilities/utobject.c | 2 +- .../source/components/utilities/utosi.c | 2 +- .../source/components/utilities/utownerid.c | 2 +- .../source/components/utilities/utpredef.c | 2 +- .../source/components/utilities/utresdecode.c | 15 +- .../source/components/utilities/utresrc.c | 16 +- .../source/components/utilities/utstate.c | 2 +- .../source/components/utilities/utstring.c | 2 +- .../source/components/utilities/utstrsuppt.c | 2 +- .../source/components/utilities/utstrtoul64.c | 2 +- .../source/components/utilities/uttrack.c | 2 +- .../source/components/utilities/utuuid.c | 2 +- .../source/components/utilities/utxface.c | 2 +- .../source/components/utilities/utxferror.c | 2 +- .../source/components/utilities/utxfinit.c | 2 +- src/acpica/source/include/acapps.h | 4 +- src/acpica/source/include/acbuffer.h | 2 +- src/acpica/source/include/accommon.h | 2 +- src/acpica/source/include/acconfig.h | 2 +- src/acpica/source/include/acconvert.h | 2 +- src/acpica/source/include/acdebug.h | 2 +- src/acpica/source/include/acdisasm.h | 45 ++- src/acpica/source/include/acdispat.h | 2 +- src/acpica/source/include/acevents.h | 2 +- src/acpica/source/include/acexcep.h | 2 +- src/acpica/source/include/acglobal.h | 2 +- src/acpica/source/include/achware.h | 2 +- src/acpica/source/include/acinterp.h | 2 +- src/acpica/source/include/aclocal.h | 5 +- src/acpica/source/include/acmacros.h | 2 +- src/acpica/source/include/acnames.h | 2 +- src/acpica/source/include/acnamesp.h | 2 +- src/acpica/source/include/acobject.h | 2 +- src/acpica/source/include/acopcode.h | 2 +- src/acpica/source/include/acoutput.h | 2 +- src/acpica/source/include/acparser.h | 2 +- src/acpica/source/include/acpi.h | 2 +- src/acpica/source/include/acpiosxf.h | 2 +- src/acpica/source/include/acpixf.h | 21 +- src/acpica/source/include/acpredef.h | 2 +- src/acpica/source/include/acresrc.h | 4 +- src/acpica/source/include/acrestyp.h | 41 ++- src/acpica/source/include/acstruct.h | 2 +- src/acpica/source/include/actables.h | 2 +- src/acpica/source/include/actbinfo.h | 21 +- src/acpica/source/include/actbl.h | 2 +- src/acpica/source/include/actbl1.h | 97 +++++- src/acpica/source/include/actbl2.h | 244 +++++++++++++-- src/acpica/source/include/actbl3.h | 2 +- src/acpica/source/include/actypes.h | 8 +- src/acpica/source/include/acutils.h | 4 +- src/acpica/source/include/acuuid.h | 2 +- src/acpica/source/include/amlcode.h | 2 +- src/acpica/source/include/amlresrc.h | 27 +- src/acpica/source/include/platform/acenv.h | 4 +- src/acpica/source/include/platform/acenvex.h | 2 +- src/acpica/source/include/platform/acgcc.h | 13 +- src/acpica/source/include/platform/acgccex.h | 2 +- src/acpica/source/include/platform/aclinux.h | 5 +- .../source/include/platform/aclinuxex.h | 2 +- .../os_specific/service_layers/osunixxf.c | 2 +- src/acpica/source/tools/acpiexec/aecommon.h | 2 +- .../source/tools/acpiexec/aeexception.c | 2 +- src/acpica/source/tools/acpiexec/aehandlers.c | 2 +- src/acpica/source/tools/acpiexec/aeinitfile.c | 2 +- src/acpica/source/tools/acpiexec/aeinstall.c | 2 +- src/acpica/source/tools/acpiexec/aeregion.c | 2 +- 361 files changed, 2735 insertions(+), 553 deletions(-)