History log of /freebsd-11-stable/sys/dev/acpica/Osd/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
337121 02-Aug-2018 avg

MFC r335934: remove unneeded inclusion of sys/interrupt.h from several files

335554 22-Jun-2018 avg

MFC r332918, r333222: go deeper for ACPI suspend bounce test

debug.acpi.suspend_bounce sysctl now allows a deeper dive into the sleep
abyss. The system will execute the suspend sequence up to the call to
AcpiEnterSleepState(). That includes saving processor contexts and
parking APs. Then, instead of actually entering the sleep state, the
BSP will call resumectx() to emulate the wakeup. The APs should get
restarted by the sequence of Init and Startup IPIs that BSP sends to
them.

AcpiOsEnterSleep() is used to implement this feature.

Joint work with jkim.

327556 04-Jan-2018 jkim

MFC: r324501

Do not check whether AcpiOsGetTimer() is called during boot.

320744 06-Jul-2017 markj

MFC r320690:
Defer ACPI taskqueue creation to SI_SUB_KICK_SCHEDULER.

PR: 220277

316303 30-Mar-2017 jkim

MFC: r306686, r308953, r311462, r311529, r312438, r314611

- Merge ACPICA 20170303.
- Remove '-vd' option to make iasl(8) reproducible.

Relnotes: yes


/freebsd-11-stable/sys/arm64/acpica/OsdEnvironment.c
/freebsd-11-stable/sys/conf/files
/freebsd-11-stable/sys/contrib/dev/acpica/acpica_prep.sh
/freebsd-11-stable/sys/contrib/dev/acpica/changes.txt
/freebsd-11-stable/sys/contrib/dev/acpica/common/acfileio.c
/freebsd-11-stable/sys/contrib/dev/acpica/common/acgetline.c
/freebsd-11-stable/sys/contrib/dev/acpica/common/adfile.c
/freebsd-11-stable/sys/contrib/dev/acpica/common/adisasm.c
/freebsd-11-stable/sys/contrib/dev/acpica/common/adwalk.c
/freebsd-11-stable/sys/contrib/dev/acpica/common/ahids.c
/freebsd-11-stable/sys/contrib/dev/acpica/common/ahpredef.c
/freebsd-11-stable/sys/contrib/dev/acpica/common/ahtable.c
/freebsd-11-stable/sys/contrib/dev/acpica/common/ahuuids.c
/freebsd-11-stable/sys/contrib/dev/acpica/common/cmfsize.c
/freebsd-11-stable/sys/contrib/dev/acpica/common/dmextern.c
/freebsd-11-stable/sys/contrib/dev/acpica/common/dmrestag.c
/freebsd-11-stable/sys/contrib/dev/acpica/common/dmtable.c
/freebsd-11-stable/sys/contrib/dev/acpica/common/dmtables.c
/freebsd-11-stable/sys/contrib/dev/acpica/common/dmtbdump.c
/freebsd-11-stable/sys/contrib/dev/acpica/common/dmtbinfo.c
/freebsd-11-stable/sys/contrib/dev/acpica/common/getopt.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslanalyze.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslascii.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslbtypes.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslcodegen.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslcompile.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslcompiler.h
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslcompiler.l
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslcstyle.y
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/asldebug.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/asldefine.h
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslerror.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslexternal.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslfileio.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslfiles.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslfold.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslglobal.h
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslhelp.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslhelpers.y
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslhex.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslkeywords.y
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/asllength.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/asllisting.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/asllistsup.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslload.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/asllookup.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslmain.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslmap.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslmapenter.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslmapoutput.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslmaputils.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslmessages.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslmessages.h
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslmethod.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslnamesp.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/asloffset.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslopcodes.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/asloperands.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslopt.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/asloptions.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslparser.y
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslpld.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslpredef.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslprepkg.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslprimaries.y
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslprintf.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslprune.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslresource.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslresources.y
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslrestype1.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslrestype1i.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslrestype2.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslrestype2d.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslrestype2e.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslrestype2q.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslrestype2s.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslrestype2w.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslrules.y
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslstartup.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslstubs.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslsupport.l
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslsupport.y
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/asltokens.y
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/asltransform.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/asltree.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/asltypes.h
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/asltypes.y
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslutils.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/asluuid.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslwalks.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslxref.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/aslxrefout.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/cvcompiler.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/cvdisasm.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/cvparser.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/dtcompile.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/dtcompiler.h
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/dtexpress.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/dtfield.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/dtio.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/dtparser.l
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/dtparser.y
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/dtsubtable.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/dttable.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/dttable1.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/dttable2.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/dttemplate.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/dttemplate.h
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/dtutils.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/preprocess.h
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/prexpress.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/prmacros.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/prparser.l
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/prparser.y
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/prscan.c
/freebsd-11-stable/sys/contrib/dev/acpica/compiler/prutils.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/debugger/dbcmds.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/debugger/dbconvert.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/debugger/dbdisply.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/debugger/dbexec.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/debugger/dbfileio.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/debugger/dbhistry.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/debugger/dbinput.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/debugger/dbmethod.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/debugger/dbnames.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/debugger/dbobject.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/debugger/dbstats.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/debugger/dbtest.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/debugger/dbutils.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/debugger/dbxface.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/disassembler/dmbuffer.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/disassembler/dmcstyle.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/disassembler/dmdeferred.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/disassembler/dmnames.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/disassembler/dmopcode.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/disassembler/dmresrc.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/disassembler/dmresrcl.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/disassembler/dmresrcl2.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/disassembler/dmresrcs.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/disassembler/dmutils.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/disassembler/dmwalk.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/dispatcher/dsargs.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/dispatcher/dscontrol.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/dispatcher/dsdebug.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/dispatcher/dsfield.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/dispatcher/dsinit.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/dispatcher/dsmethod.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/dispatcher/dsmthdat.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/dispatcher/dsobject.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/dispatcher/dsopcode.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/dispatcher/dsutils.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/dispatcher/dswexec.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/dispatcher/dswload.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/dispatcher/dswload2.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/dispatcher/dswscope.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/dispatcher/dswstate.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/events/evevent.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/events/evglock.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/events/evgpe.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/events/evgpeblk.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/events/evgpeinit.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/events/evgpeutil.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/events/evhandler.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/events/evmisc.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/events/evregion.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/events/evrgnini.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/events/evsci.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/events/evxface.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/events/evxfevnt.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/events/evxfgpe.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/events/evxfregn.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/executer/exconcat.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/executer/exconfig.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/executer/exconvrt.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/executer/excreate.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/executer/exdebug.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/executer/exdump.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/executer/exfield.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/executer/exfldio.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/executer/exmisc.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/executer/exmutex.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/executer/exnames.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/executer/exoparg1.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/executer/exoparg2.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/executer/exoparg3.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/executer/exoparg6.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/executer/exprep.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/executer/exregion.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/executer/exresnte.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/executer/exresolv.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/executer/exresop.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/executer/exstore.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/executer/exstoren.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/executer/exstorob.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/executer/exsystem.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/executer/extrace.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/executer/exutils.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/hardware/hwacpi.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/hardware/hwesleep.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/hardware/hwgpe.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/hardware/hwpci.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/hardware/hwregs.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/hardware/hwsleep.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/hardware/hwtimer.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/hardware/hwvalid.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/hardware/hwxface.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/hardware/hwxfsleep.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/namespace/nsaccess.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/namespace/nsalloc.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/namespace/nsarguments.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/namespace/nsconvert.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/namespace/nsdump.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/namespace/nsdumpdv.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/namespace/nseval.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/namespace/nsinit.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/namespace/nsload.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/namespace/nsnames.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/namespace/nsobject.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/namespace/nsparse.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/namespace/nspredef.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/namespace/nsprepkg.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/namespace/nsrepair.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/namespace/nsrepair2.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/namespace/nssearch.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/namespace/nsutils.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/namespace/nswalk.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/namespace/nsxfeval.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/namespace/nsxfname.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/namespace/nsxfobj.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/parser/psargs.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/parser/psloop.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/parser/psobject.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/parser/psopcode.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/parser/psopinfo.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/parser/psparse.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/parser/psscope.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/parser/pstree.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/parser/psutils.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/parser/pswalk.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/parser/psxface.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/resources/rsaddr.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/resources/rscalc.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/resources/rscreate.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/resources/rsdump.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/resources/rsdumpinfo.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/resources/rsinfo.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/resources/rsio.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/resources/rsirq.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/resources/rslist.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/resources/rsmemory.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/resources/rsmisc.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/resources/rsserial.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/resources/rsutils.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/resources/rsxface.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/tables/tbdata.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/tables/tbfadt.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/tables/tbfind.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/tables/tbinstal.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/tables/tbprint.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/tables/tbutils.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/tables/tbxface.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/tables/tbxfload.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/tables/tbxfroot.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/utilities/utaddress.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/utilities/utalloc.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/utilities/utascii.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/utilities/utbuffer.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/utilities/utcache.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/utilities/utcopy.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/utilities/utdebug.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/utilities/utdecode.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/utilities/utdelete.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/utilities/uterror.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/utilities/uteval.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/utilities/utexcep.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/utilities/utglobal.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/utilities/uthex.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/utilities/utids.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/utilities/utinit.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/utilities/utlock.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/utilities/utmath.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/utilities/utmisc.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/utilities/utmutex.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/utilities/utnonansi.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/utilities/utobject.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/utilities/utosi.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/utilities/utownerid.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/utilities/utpredef.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/utilities/utprint.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/utilities/utresrc.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/utilities/utstate.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/utilities/utstring.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/utilities/utstrtoul64.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/utilities/uttrack.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/utilities/utuuid.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/utilities/utxface.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/utilities/utxferror.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/utilities/utxfinit.c
/freebsd-11-stable/sys/contrib/dev/acpica/components/utilities/utxfmutex.c
/freebsd-11-stable/sys/contrib/dev/acpica/include/acapps.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/acbuffer.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/acclib.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/accommon.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/acconfig.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/acconvert.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/acdebug.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/acdisasm.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/acdispat.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/acevents.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/acexcep.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/acglobal.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/achware.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/acinterp.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/aclocal.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/acmacros.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/acnames.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/acnamesp.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/acobject.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/acopcode.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/acoutput.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/acparser.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/acpi.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/acpiosxf.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/acpixf.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/acpredef.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/acresrc.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/acrestyp.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/acstruct.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/actables.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/actbl.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/actbl1.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/actbl2.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/actbl3.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/actypes.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/acutils.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/acuuid.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/amlcode.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/amlresrc.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/platform/acenv.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/platform/acenvex.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/platform/acfreebsd.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/platform/acgcc.h
/freebsd-11-stable/sys/contrib/dev/acpica/include/platform/acgccex.h
/freebsd-11-stable/sys/contrib/dev/acpica/os_specific/service_layers/osgendbg.c
/freebsd-11-stable/sys/contrib/dev/acpica/os_specific/service_layers/oslibcfs.c
/freebsd-11-stable/sys/contrib/dev/acpica/os_specific/service_layers/osunixxf.c
OsdDebug.c
OsdHardware.c
OsdTable.c
/freebsd-11-stable/sys/x86/acpica/OsdEnvironment.c
/freebsd-11-stable/sys/x86/acpica/madt.c
/freebsd-11-stable/sys/x86/acpica/srat.c
/freebsd-11-stable/sys/x86/xen/pvcpu_enum.c
/freebsd-11-stable/usr.sbin/acpi/acpidb/Makefile
/freebsd-11-stable/usr.sbin/acpi/acpidb/acpidb.c
/freebsd-11-stable/usr.sbin/acpi/iasl/Makefile
302408 08-Jul-2016 gjb

Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle.
Prune svn:mergeinfo from the new branch, as nothing has been merged
here.

Additional commits post-branch will follow.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


/freebsd-11-stable/MAINTAINERS
/freebsd-11-stable/cddl
/freebsd-11-stable/cddl/contrib/opensolaris
/freebsd-11-stable/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print
/freebsd-11-stable/cddl/contrib/opensolaris/cmd/zfs
/freebsd-11-stable/cddl/contrib/opensolaris/lib/libzfs
/freebsd-11-stable/contrib/amd
/freebsd-11-stable/contrib/apr
/freebsd-11-stable/contrib/apr-util
/freebsd-11-stable/contrib/atf
/freebsd-11-stable/contrib/binutils
/freebsd-11-stable/contrib/bmake
/freebsd-11-stable/contrib/byacc
/freebsd-11-stable/contrib/bzip2
/freebsd-11-stable/contrib/com_err
/freebsd-11-stable/contrib/compiler-rt
/freebsd-11-stable/contrib/dialog
/freebsd-11-stable/contrib/dma
/freebsd-11-stable/contrib/dtc
/freebsd-11-stable/contrib/ee
/freebsd-11-stable/contrib/elftoolchain
/freebsd-11-stable/contrib/elftoolchain/ar
/freebsd-11-stable/contrib/elftoolchain/brandelf
/freebsd-11-stable/contrib/elftoolchain/elfdump
/freebsd-11-stable/contrib/expat
/freebsd-11-stable/contrib/file
/freebsd-11-stable/contrib/gcc
/freebsd-11-stable/contrib/gcclibs/libgomp
/freebsd-11-stable/contrib/gdb
/freebsd-11-stable/contrib/gdtoa
/freebsd-11-stable/contrib/groff
/freebsd-11-stable/contrib/ipfilter
/freebsd-11-stable/contrib/ldns
/freebsd-11-stable/contrib/ldns-host
/freebsd-11-stable/contrib/less
/freebsd-11-stable/contrib/libarchive
/freebsd-11-stable/contrib/libarchive/cpio
/freebsd-11-stable/contrib/libarchive/libarchive
/freebsd-11-stable/contrib/libarchive/libarchive_fe
/freebsd-11-stable/contrib/libarchive/tar
/freebsd-11-stable/contrib/libc++
/freebsd-11-stable/contrib/libc-vis
/freebsd-11-stable/contrib/libcxxrt
/freebsd-11-stable/contrib/libexecinfo
/freebsd-11-stable/contrib/libpcap
/freebsd-11-stable/contrib/libstdc++
/freebsd-11-stable/contrib/libucl
/freebsd-11-stable/contrib/libxo
/freebsd-11-stable/contrib/llvm
/freebsd-11-stable/contrib/llvm/projects/libunwind
/freebsd-11-stable/contrib/llvm/tools/clang
/freebsd-11-stable/contrib/llvm/tools/lldb
/freebsd-11-stable/contrib/llvm/tools/llvm-dwarfdump
/freebsd-11-stable/contrib/llvm/tools/llvm-lto
/freebsd-11-stable/contrib/mdocml
/freebsd-11-stable/contrib/mtree
/freebsd-11-stable/contrib/ncurses
/freebsd-11-stable/contrib/netcat
/freebsd-11-stable/contrib/ntp
/freebsd-11-stable/contrib/nvi
/freebsd-11-stable/contrib/one-true-awk
/freebsd-11-stable/contrib/openbsm
/freebsd-11-stable/contrib/openpam
/freebsd-11-stable/contrib/openresolv
/freebsd-11-stable/contrib/pf
/freebsd-11-stable/contrib/sendmail
/freebsd-11-stable/contrib/serf
/freebsd-11-stable/contrib/sqlite3
/freebsd-11-stable/contrib/subversion
/freebsd-11-stable/contrib/tcpdump
/freebsd-11-stable/contrib/tcsh
/freebsd-11-stable/contrib/tnftp
/freebsd-11-stable/contrib/top
/freebsd-11-stable/contrib/top/install-sh
/freebsd-11-stable/contrib/tzcode/stdtime
/freebsd-11-stable/contrib/tzcode/zic
/freebsd-11-stable/contrib/tzdata
/freebsd-11-stable/contrib/unbound
/freebsd-11-stable/contrib/vis
/freebsd-11-stable/contrib/wpa
/freebsd-11-stable/contrib/xz
/freebsd-11-stable/crypto/heimdal
/freebsd-11-stable/crypto/openssh
/freebsd-11-stable/crypto/openssl
/freebsd-11-stable/gnu/lib
/freebsd-11-stable/gnu/usr.bin/binutils
/freebsd-11-stable/gnu/usr.bin/cc/cc_tools
/freebsd-11-stable/gnu/usr.bin/gdb
/freebsd-11-stable/lib/libc/locale/ascii.c
/freebsd-11-stable/sys/cddl/contrib/opensolaris
/freebsd-11-stable/sys/contrib/dev/acpica
/freebsd-11-stable/sys/contrib/ipfilter
/freebsd-11-stable/sys/contrib/libfdt
/freebsd-11-stable/sys/contrib/octeon-sdk
/freebsd-11-stable/sys/contrib/x86emu
/freebsd-11-stable/sys/contrib/xz-embedded
/freebsd-11-stable/usr.sbin/bhyve/atkbdc.h
/freebsd-11-stable/usr.sbin/bhyve/bhyvegc.c
/freebsd-11-stable/usr.sbin/bhyve/bhyvegc.h
/freebsd-11-stable/usr.sbin/bhyve/console.c
/freebsd-11-stable/usr.sbin/bhyve/console.h
/freebsd-11-stable/usr.sbin/bhyve/pci_fbuf.c
/freebsd-11-stable/usr.sbin/bhyve/pci_xhci.c
/freebsd-11-stable/usr.sbin/bhyve/pci_xhci.h
/freebsd-11-stable/usr.sbin/bhyve/ps2kbd.c
/freebsd-11-stable/usr.sbin/bhyve/ps2kbd.h
/freebsd-11-stable/usr.sbin/bhyve/ps2mouse.c
/freebsd-11-stable/usr.sbin/bhyve/ps2mouse.h
/freebsd-11-stable/usr.sbin/bhyve/rfb.c
/freebsd-11-stable/usr.sbin/bhyve/rfb.h
/freebsd-11-stable/usr.sbin/bhyve/sockstream.c
/freebsd-11-stable/usr.sbin/bhyve/sockstream.h
/freebsd-11-stable/usr.sbin/bhyve/usb_emul.c
/freebsd-11-stable/usr.sbin/bhyve/usb_emul.h
/freebsd-11-stable/usr.sbin/bhyve/usb_mouse.c
/freebsd-11-stable/usr.sbin/bhyve/vga.c
/freebsd-11-stable/usr.sbin/bhyve/vga.h
299977 16-May-2016 jhb

Use polling spin loops for timeouts during early boot.

Some ACPI operations such as mutex acquires and event waits accept a
timeout. The ACPI OSD layer implements these timeouts by using regular
sleep timeouts. However, this doesn't work during early boot before
event timers are setup. Instead, use polling combined with DELAY()
to spin.

This fixes booting on upcoming Intel systems with Kaby Lake processors.

Tested by: "Jeffrey E Pieper" <jeffrey.e.pieper@intel.com>
Reviewed by: jimharris
MFC after: 1 week


298714 27-Apr-2016 jkim

Merge ACPICA 20160422.


287168 26-Aug-2015 jkim

Merge ACPICA 20150818.


284273 11-Jun-2015 andrew

Add basic support for ACPI. It splits out the nexus driver to two new
drivers, one for fdt, one for acpi. It then uses this to decide if it will
use fdt or acpi.

The GICv2 (interrupt controller) and Generic Timer drivers have been
updated to handle both cases.

As this is early code we still need FDT to find the kernel console, and
some parts are still missing, including PCI support.

Differential Revision: https://reviews.freebsd.org/D2463
Reviewed by: jhb, jkim, emaste
Obtained from: ABT Systems Ltd
Relnotes: Yes
Sponsored by: The FreeBSD Foundation


272444 02-Oct-2014 jkim

Merge ACPICA 20140926.


272360 01-Oct-2014 will

Add sysctl to track the resource consumption of ACPI interrupts.

Submitted by: gibbs
MFC after: 1 month
Sponsored by: Spectra Logic
MFSpectraBSD: 636827 on 2012/09/28


267992 28-Jun-2014 hselasky

Pull in r267961 and r267973 again. Fix for issues reported will follow.


267985 27-Jun-2014 gjb

Revert r267961, r267973:

These changes prevent sysctl(8) from returning proper output,
such as:

1) no output from sysctl(8)
2) erroneously returning ENOMEM with tools like truss(1)
or uname(1)
truss: can not get etype: Cannot allocate memory


267961 27-Jun-2014 hselasky

Extend the meaning of the CTLFLAG_TUN flag to automatically check if
there is an environment variable which shall initialize the SYSCTL
during early boot. This works for all SYSCTL types both statically and
dynamically created ones, except for the SYSCTL NODE type and SYSCTLs
which belong to VNETs. A new flag, CTLFLAG_NOFETCH, has been added to
be used in the case a tunable sysctl has a custom initialisation
function allowing the sysctl to still be marked as a tunable. The
kernel SYSCTL API is mostly the same, with a few exceptions for some
special operations like iterating childrens of a static/extern SYSCTL
node. This operation should probably be made into a factored out
common macro, hence some device drivers use this. The reason for
changing the SYSCTL API was the need for a SYSCTL parent OID pointer
and not only the SYSCTL parent OID list pointer in order to quickly
generate the sysctl path. The motivation behind this patch is to avoid
parameter loading cludges inside the OFED driver subsystem. Instead of
adding special code to the OFED driver subsystem to post-load tunables
into dynamically created sysctls, we generalize this in the kernel.

Other changes:
- Corrected a possibly incorrect sysctl name from "hw.cbb.intr_mask"
to "hw.pcic.intr_mask".
- Removed redundant TUNABLE statements throughout the kernel.
- Some minor code rewrites in connection to removing not needed
TUNABLE statements.
- Added a missing SYSCTL_DECL().
- Wrapped two very long lines.
- Avoid malloc()/free() inside sysctl string handling, in case it is
called to initialize a sysctl from a tunable, hence malloc()/free() is
not ready when sysctls from the sysctl dataset are registered.
- Bumped FreeBSD version to indicate SYSCTL API change.

MFC after: 2 weeks
Sponsored by: Mellanox Technologies


264883 24-Apr-2014 smh

Remove duplicate SYSCTL_DECL(_debug_acpi) which was breaking tinderbox

MFC after: 2 weeks
X-MFC-With: r264849


264849 24-Apr-2014 smh

Exposed debug.acpi.max_tasks and debug.acpi.max_threads via sysctls so their
values can be viewed.


254300 13-Aug-2013 jkim

Tidy up global locks for ACPICA. There is no functional change.


250838 20-May-2013 jkim

Merge ACPICA 20130517.


250834 20-May-2013 jkim

- Prefer ACPI_COMPARE_NAME(a, b) macro over strncmp(a, b, ACPI_NAME_SIZE).
- Make sure the predefined name is a string type.
- Return slightly more useful errors.


250833 20-May-2013 jkim

Fix white spaces.


246042 28-Jan-2013 jkim

Fix two misusages of return_*() macros for ACPICA.

Noticed by: avg


246041 28-Jan-2013 jkim

Fix white spaces for style consistency.


236424 01-Jun-2012 jkim

Consistently use ACPI_SUCCESS() and ACPI_FAILURE() macros wherever possible.


235945 24-May-2012 jkim

Merge ACPICA 20120518.


232132 24-Feb-2012 jkim

Fix a long-standing bug for AcpiOsGetTimer(). time_t is 32-bit on i386 and
it needs proper casting before multiplication.

MFC after: 3 days


231844 16-Feb-2012 jkim

Merge ACPICA 20120215.


231474 10-Feb-2012 jkim

De-obfuscate acpi_acquire_global_lock(). It seems the function was directly
translated from i386 assembly version.


227293 07-Nov-2011 ed

Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs.

This means that their use is restricted to a single C file.


222544 31-May-2011 jkim

Merge ACPICA 20110527.


218660 13-Feb-2011 marcel

Use the preload_fetch_addr() and preload_fetch_size() convenience
functions to obtain the address and size of the overriding DSDT.

Sponsored by: Juniper Networks.


217278 11-Jan-2011 jkim

Fix a witness(4) warning introduced in r217238.


217241 10-Jan-2011 jkim

Remove impossible error conditions.


217240 10-Jan-2011 jkim

Add forgotten free(9) in the previous commit for an error case.


217238 10-Jan-2011 jkim

Allow AcpiOsInstallInterruptHandler() and AcpiOsRemoveInterruptHandler() to
install or remove non-SCI interrupt handlers per ACPI Component Architecture
User Guide and Programmer Reference. ACPICA may install such interrupt
handler when a GPE block device is found, for example. Add a wrapper for
ACPI_OSD_HANDLER, convert its return values to ours, and make it a filter.
Prefer KASSERT(9) over panic(9) as we have never seen those in reality.
Clean up some style(9) nits and add my copyright.


217236 10-Jan-2011 jkim

Prefer KASSERT(9) over panic(9) as it was never seen in reality.


213787 13-Oct-2010 jkim

Clean up unused headers.


213783 13-Oct-2010 jkim

Remove acpi_bus_number() completely. It had to be removed in r212761.

Pointed out by: jhb


213772 13-Oct-2010 rpaulo

Mark acpi_bus_number() as __unused. This allows clang to this file
without any warnings.


212761 16-Sep-2010 jkim

Merge ACPICA 20100915.


210976 06-Aug-2010 jkim

Merge ACPICA 20100806.


210157 16-Jul-2010 jkim

Simplify AcpiOsReadPort() and AcpiOsWritePort() with iodev_read_*() and
iodev_write_*(). This removes unnecessary uses of temporary macros as well.
There is no functional change after this (verified with md5(1) on amd64).


210155 16-Jul-2010 jkim

Use pmap_mapdev()/pmap_unmapdev() to map device memory instead of using
AcpiOsMapMemory()/AcpiOsUnmapMemory() (-> pmap_mapbios()/pmap_unmapbios())
for AcpiOsReadMemory() and AcpiOsWriteMemory(). Although they do not sound
too obvious, these functions are exclusively used to access memory mapped
IO in ACPICA.


210137 15-Jul-2010 jkim

- AcpiOsReadPciConfiguration() needs similar fixes as r209965 and r210129.
According to ACPICA User Guide and Programmer Reference, the read data must
be zero extended to fill the 64-bit return value even if the bit width of
the location is less than 64.
- Return error when 64-bit access is requested as we do not support 64-bit
PCI register access (yet). XXX We may have to split it up into two 32-bit
accesses if it is really required.


210129 15-Jul-2010 jkim

- AcpiOsReadMemory() needs similar fixes as r209965. [1]
According to ACPICA User Guide and Programmer Reference, the read data must
be zero extended to fill the 32-bit return value even if the bit width of
the port is less than 32.
- Remove 64-bit read/write from AcpiOsReadMemory() and AcpiOsWriteMemory().
These functions do not support 64-bit access (yet). Clean up style nits
and unnecessary bit masking while I am here.

Reported by: Liu, Jinsong (jinsong dot liu at intel dot com) via
Lin Ming (ming dot m dot lin at intel dot com) [1]


209966 13-Jul-2010 jkim

Fix white spaces.


209965 13-Jul-2010 jkim

According to ACPICA User Guide and Programmer Reference, the read data must
be zero extended to fill the 32-bit return value even if the bit width of
the port is less than 32.


207344 28-Apr-2010 jkim

Merge ACPICA 20100428.


202771 21-Jan-2010 jkim

Merge ACPICA 20100121.


194639 22-Jun-2009 jkim

Add a missing return in NULL mutex case.

Submitted by: Pawel Worach (pawel dot worach at gmail dot com)


194011 11-Jun-2009 jkim

- Remove unnecessary read memory barriers from atomic operations[1].
- Define a macro to make my intention more clearer.

Submitted by: jhb [1]


193963 10-Jun-2009 jkim

Catch up with r193750 (OsdSynch.c locking changes):

- Preallocate some memory for ACPI tasks early enough. We cannot use
malloc(9) any more because spin mutex may be held here. The reserved
memory can be tuned via debug.acpi.max_tasks tunable or ACPI_MAX_TASKS
in kernel configuration. The default is 32 tasks.
- Implement a custom taskqueue_fast to wrap the new memory allocation.
This implementation is not the fastest in the world but we are being
conservative here.


193753 08-Jun-2009 jkim

Remove redundant checks for ACPI_WAIT_FOREVER cases.


193750 08-Jun-2009 jkim

Rewrite OsdSynch.c to reflect the latest ACPICA more closely:

- Implement ACPI semaphore (ACPI_SEMAPHORE) with condvar(9) and mutex(9).
- Implement ACPI mutex (ACPI_MUTEX) with mutex(9).
- Implement ACPI lock (ACPI_SPINLOCK) with spin mutex(9).


193530 05-Jun-2009 jkim

Import ACPICA 20090521.


184596 03-Nov-2008 mav

Remove " + 1".
Thread ID can't be zero anyway while increment may give owerflow.


184558 02-Nov-2008 mav

As soon as we have several threads per process now, it is not correct to
use process ID as ACPI thread ID. Concurrent requests with equal thread
IDs broke ACPI mutexes operation causing unpredictable errors including
AE_AML_MUTEX_NOT_ACQUIRED that I have seen.

Use kernel thread ID instead of process ID for ACPI thread.


177934 05-Apr-2008 takawata

GPE lock may recurse on resume path.


175256 12-Jan-2008 njl

Fix GPE livelock that occurs on HP/Compaq laptops, mostly in the thermal
zone code. The GPE handler method (i.e. _L00) generates various Notify
events that need to be run to completion before the GPE is re-enabled.
In ACPI-CA, we queue an asynch callback at the same priority as a Notify
so that it will only run after all Notify handlers have completed. The
callback re-enables the GPE afterwards. We also changed the priority of
Notifies to be the same as GPEs, given the possibility that another GPE
could arrive before the Notifies have completed and we don't want it to
get queued ahead of the rest.

The ACPI-CA change was submitted by Alexey Starikovskiy (SUSE) and will
appear in a later release. Special thanks to him for helping track this
bug down.

MFC after: 1 week
Tested by: jhb, Yousif Hassan <yousif / alumni.jmu.edu>


174898 25-Dec-2007 rwatson

Add a new 'why' argument to kdb_enter(), and a set of constants to use
for that argument. This will allow DDB to detect the broad category of
reason why the debugger has been entered, which it can use for the
purposes of deciding which DDB script to run.

Assign approximate why values to all current consumers of the
kdb_enter() interface.


170143 31-May-2007 njl

Remove "acpi_bus_number: can't get _ADR" message. It usually appears as
we traverse \_SB and \ in the namespace, which won't have _ADR anyway.
Use a proper extern instead of our own private copy.

MFC after: 1 week


167918 26-Mar-2007 jkim

- Use '*h' instead of 'struct acpi_spinlock' for sizeof[1].
- Add a missing 'else' for 'if'[2].

Requested by: njl[1]
Submitted by: njl[2]


167915 26-Mar-2007 jkim

Correct ACPI semaphore function parameters.


167911 26-Mar-2007 jkim

Free the handle, not the lock. Pointy hat to me.


167910 26-Mar-2007 jkim

Correct ACPI spinlock function parameters and use known ACPI spinlock names.


167908 26-Mar-2007 njl

Use a unique name for each mutex now that acpi-ca is creating more than
one (hardware & global lock). This should address witness complaints that
a duplicate mutex is being acquired. Be sure to free the mutex to fix a
potential memory leak.

MFC after: 3 days


167814 22-Mar-2007 jkim

Catch up with ACPI-CA 20070320 import.


167573 14-Mar-2007 njl

Only enter the debugger on a Fatal op if this is a debug build of the
acpi module. Also clean up print of args a little.

This was accidentally committed as 1.9.2.3 in the stable branch. Since it
is harmless, I will let the "insta-MFC" stand unless there is a problem.


166909 23-Feb-2007 jhb

Use 'pause' in several places rather than trying to tsleep() on NULL (which
triggers a KASSERT) or local variables. In the case of kern_ndis, the
tsleep() actually used a common sleep address (curproc) making it
susceptible to a premature wakeup.


166901 23-Feb-2007 piso

o break newbus api: add a new argument of type driver_filter_t to
bus_setup_intr()

o add an int return code to all fast handlers

o retire INTR_FAST/IH_FAST

For more info: http://docs.freebsd.org/cgi/getmsg.cgi?fetch=465712+0+current/freebsd-current

Reviewed by: many
Approved by: re@


162597 24-Sep-2006 hrs

Disable an overly-verbose warning message by default.

Suggested by: njl
MFC after: 3 days


161223 11-Aug-2006 jhb

First pass at allowing memory to be mapped using cache modes other than
WB (write-back) on x86 via control bits in PTEs and PDEs (including making
use of the PAT MSR). Changes include:
- A new pmap_mapdev_attr() function for amd64 and i386 which takes an
additional parameter (relative to pmap_mapdev()) specifying the cache
mode for this mapping. Note that on amd64 only WB mappings are done with
the direct map, all other modes result in a private mapping.
- pmap_mapdev() on i386 and amd64 now defaults to using UC (uncached)
mappings rather than WB. Previously we relied on the BIOS setting up
MTRR's to enforce memio regions being treated as UC. This might make
hw.cbb_start_memory unnecessary in some cases now for example.
- A new pmap_mapbios()/pmap_unmapbios() API has been added to allow places
that used pmap_mapdev() to map non-device memory (such as ACPI tables)
to do so using WB as before.
- A new pmap_change_attr() function for amd64 and i386 that changes the
caching mode for a range of KVA.

Reviewed by: alc


158651 16-May-2006 phk

Since DELAY() was moved, most <machine/clock.h> #includes have been
unnecessary.


157452 04-Apr-2006 njl

Fix an off-by-one error in the port range detection. Cleanup some old
whitespace.


157307 30-Mar-2006 scottl

Revert to using acpi_max_threads instead of the hardcoded value of '3'.


157269 29-Mar-2006 njl

Fix printf arg on 64-bit arch by casting to an int. The IO port is never
more than a couple digits anyway.

Pointy hat to: njl


157245 29-Mar-2006 njl

Add a blacklist for bad IO ports that AML should never touch. It seems
some systems were designed so that AML writes to various resources shared
with OS drivers, including the RTC, PIC, PCI, etc. These writes could
collide with writes by the OS and should never be performed. For now, we
print a message if such an access occurs, but do not block it. To block
the access, the tunable "debug.acpi.block_bad_io" can be set to 1. In the
future, we will flip the switch and this will become the default.

Information about this problem was found in Microsoft KB 283649. They
block IO accesses if the BIOS indicates via _OSI that it is Windows 2001
or higher. They always block accesses to the PIC, cascaded PIC, and ELCRs,
no matter how old the BIOS.


154333 14-Jan-2006 scottl

Add the following to the taskqueue api:

taskqueue_start_threads(struct taskqueue **, int count, int pri,
const char *name, ...);

This allows the creation of 1 or more threads that will service a single
taskqueue. Also rework the taskqueue_create() API to remove the API change
that was introduced a while back. Creating a taskqueue doesn't rely on
the presence of a process structure, and the proc mechanics are much better
encapsulated in taskqueue_start_threads(). Also clean up the
taskqueue_terminate() and taskqueue_free() functions to safely drain
pending tasks and remove all associated threads.

The TASKQUEUE_DEFINE and TASKQUEUE_DEFINE_THREAD macros have been changed
to use the new API, but drivers compiled against the old definitions will
still work. Thus, recompiling drivers is not a strict requirement.


153706 24-Dec-2005 trhodes

Make tv_sec a time_t on all platforms but alpha. Brings us more in line with
POSIX. This also makes the struct correct we ever implement an i386-time64
architecture. Not that we need too.

Reviewed by: imp, brooks
Approved by: njl (acpica), des (no objects, touches procfs)
Tested with: make universe


151948 01-Nov-2005 jkim

Catch up with ACPI-CA 20051021 import


150003 11-Sep-2005 obrien

Canonize the include of acpi.h.


148318 22-Jul-2005 njl

Standardize __FBSDID identifiers.

MFC after: 2 days


146734 29-May-2005 nyan

Remove bus_{mem,p}io.h and related code for a micro-optimization on i386
and amd64. The optimization is a trivial on recent machines.

Reviewed by: -arch (imp, marcel, dfr)


146021 09-May-2005 marks

Simplify the ACPI taskqueue implementation. Use a thread queue type instead
of swi. This allows us to use the taskqueue_thread_* functions instead of
rolling our own. It also avoids a double trip through the queue.

Submitted by: njl
Reviewed by: sam


145352 21-Apr-2005 njl

Add the tunable "debug.acpi.max_threads" to allow users to set the
number of task threads to start on boot. Go back to a default of 3
threads to work around lost battery state problems. Users that need
a setting of 1 can set this via the tunable. I am investigating the
underlying issues and this tunable can be removed once they are solved.

MFC after: 2 days


138300 02-Dec-2004 marks

Catch up with AcpiOsSleep() interface change.
Catch up with some #define's renaming.
Implement AcpiOsGetTimer() as per ACPI 3.0.

Approved by: njl
MFC after: 1 week


136161 05-Oct-2004 njl

When the user overrides the DSDT, replace any SSDTs with a simple no-op
table. acpidump(8) concatenates the body of the DSDT and SSDTs so an
edited ASL will contain all the necessary information. We can't use a
completely empty table since ACPI-CA reports this as a problem.

MFC after: 3 days


134628 02-Sep-2004 njl

Don't enter the debugger when executing an AML breakpoint instruction
unless ACPI_DEBUG is defined. Users don't typically care about errant
breakpoint instructions. The HP Pavilion 7915 has this in its PCI0
_INI method for rev 0x6040000 of the RSDT.


133627 13-Aug-2004 njl

MPSAFE locking

* Simplify taskqueue locking.
* Don't acquire Giant around calls to the taskqueue function.
* Remove 4.x compatibility routines.


133626 13-Aug-2004 njl

MPSAFE locking

* Remove the interrupt wrapper that locked Giant and call the handler
directly. Mark the handler as MPSAFE.
* Don't attempt to detect if a handler is installed. Leave that to the
bus_alloc_resource() function.


131910 10-Jul-2004 marcel

Update for the KDB framework:
o Call kdb_enter() instead of Debugger().


130695 18-Jun-2004 njl

Remove compat code and unused lock declarations.


130694 18-Jun-2004 njl

Remove compat defines.


128990 06-May-2004 njl

Make unnecessary globals static and remove unused includes.

Pointed out by: cscout


128981 05-May-2004 njl

Remove extra parentheses.


128979 05-May-2004 njl

Add an MI implementation of the ACPI global lock routines and retire the
individual asm versions. The global lock is shared between the BIOS and
OS and thus cannot use our mutexes. It is defined in section 5.2.9.1 of
the ACPI specification.

Reviewed by: marcel, bde, jhb


128487 20-Apr-2004 njl

Style fixes.


128240 14-Apr-2004 njl

Unbreak the DDB build by replacing #includes that were deleted.

Pointed out by: Tai-hwa Liang, Xin LI
Pointed hat to: njl


128228 14-Apr-2004 njl

Style cleanups, M_ZERO instead of bzero.


128227 14-Apr-2004 njl

Style cleanups, use M_ZERO instead of bzero, unify the !semaphore and
semaphore return paths.


128226 14-Apr-2004 njl

Style cleanup, plus properly backup partial resource allocation in
AcpiOsInstallInterruptHandler() in the case of failure to initialize.


128225 14-Apr-2004 njl

Style cleanups to reduce diffs to locking tree.


127135 17-Mar-2004 njl

Convert callers to the new bus_alloc_resource_any(9) API.

Submitted by: Mark Santcroos <marks@ripe.net>
Reviewed by: imp, dfr, bde


126560 03-Mar-2004 njl

Change to acpi_{Get,Set}Integer to provide both methods. Convert all
callers to the new API.

Submitted by: Mark Santcroos <marks@ripe.net>


125795 14-Feb-2004 njl

Fix hw.acpi.os_name by renaming it to hw.acpi.osname. The "_name" suffix
is reserved by the loader, and thus any tunable name with that suffix will
be silently discarded.

Document this in the header and man page so that other developers do not
develop so many bumps on the head after banging it against the wall.

Detective work by: Mark Santcroos, grehan


125067 27-Jan-2004 njl

Add TUNABLE_STR to make "hw.acpi.os_name" more correct. However, the call
to getenv_string() still doesn't work.


124310 09-Jan-2004 njl

Expand the check for overriding the OS name to override _OS* (including
_OS_, _OS, and _OSI). This should fix this option for people who reported
it not changing anything.


122565 12-Nov-2003 jhb

Reindent to non-style(9) compliant 4 space indent to match rest of file.


122564 12-Nov-2003 jhb

Add an ACPI_FUNCTION_TRACE() invocation to acpi_OverrideInterruptLevel()
to fix compile with ACPI_DEBUG.

Reported by: tinderbox


122500 11-Nov-2003 jhb

Add an acpi_OverrideInterruptLevel() method that OSPM can use to override
the InterruptLevel used for the SCI.


120662 02-Oct-2003 njl

If requested to Sleep for less than our hz granularity (e.g., 10 ms),
use DELAY instead of tsleep.

Submitted by: peter


120607 30-Sep-2003 njl

Revert 1.24. It causes a hang on shutdown for Marcel. This is due to
AcpiEnterSleepState() calling a long AcpiOsStall() with interrupts
disabled. This fix will instead be added to ACPI-CA.

PR:
Submitted by:
Reviewed by:
Approved by:
Obtained from:
MFC after:


120571 29-Sep-2003 njl

If asked to stall for more than 100 us (which is specified as the max in
the ACPI standard), call sleep instead since that is probably what the
caller meant.

Mentioned by: peter


120494 26-Sep-2003 njl

Make debug.acpi.level and debug.acpi.layer sysctls that can be set with
the strings found in acpi(4). Also make acpi_ca_version a string so it
is more readable.


119539 28-Aug-2003 jhb

- Rename PCIx_HEADERTYPE* to PCIx_HDRTYPE* so the constants aren't so long.
- Add a new PCIM_HDRTYPE constant for the field in PCIR_HDRTYPE that holds
the header type.
- Replace several magic numbers with appropriate constants for the header
type register and a couple of PCI_FUNCMAX.
- Merge to amd64 the fix to the i386 bridge code to skip devices with
unknown header types.

Requested by: imp (1, 2)


117534 14-Jul-2003 marcel

Fix build breakage on ia64. The second argument of AcpiOsReadable()
and AcpiOsWritable() have type ACPI_SIZE and not UINT32.


117530 13-Jul-2003 njl

Update code to work with 0619 dist

* Use ACPI_BUFFER as the type for AcpiGetObjectInfo
* Remove AcpiEnableEvent/AcpiClearEvent for ACPI_EVENT_FIXED (power/sleep
buttons) as they are no longer needed
* Change calls to use the new GPE functions
* Add AcpiOs*Lock functions


115427 31-May-2003 peter

Add the MD ifdefs for amd64 to point to the IO space bustag/handle.

Approved by: re ("safe" amd64 support)


114977 13-May-2003 jhb

Add some extra #ifdef stubs so that this compiles on 4.8.

Approved by: re (rwatson/bmah)


114949 12-May-2003 njl

Move some printfs under bootverbose since they are not true errors.

Approved by: re (bmah)


114246 29-Apr-2003 njl

Support functions for the new ACPI import.
* AcpiOsDerivePciId(): finds a bus number, given the slot/func and the
acpi parse tree.
* AcpiOsPredefinedOverride(): use the sysctl hw.acpi.os_name to
override the value for _OS.

Ideas from: takawata, jhb
Reviewed by: takawata, marcel
Tested on: i386, ia64


107328 27-Nov-2002 iwasaki

Resolve conflicts arising from the ACPI CA 20021118 import.


106255 31-Oct-2002 iwasaki

Invoke 3 ACPI task threads as default if option ACPI_MAX_THREADS is
not defined.
To make previous default behavior (ACPI_MAX_THREADS undefined), define
option ACPI_MAX_THREADS as 0.


105282 16-Oct-2002 jhb

Catch up to changes in acpivar.h to add support for using ACPI on
4-stable systems.

Sponsored by: The Weather Channel


105279 16-Oct-2002 jhb

- In AcpiOsGetThreadId(), allow for curproc to be NULL on 4-stable systems.
In that case use proc0's pid to return the thread ID.
- For 4-stable, use the generic swi taskqueue for ACPI events rather than
implementing our own.

Sponsored by: The Weather Channel


105278 16-Oct-2002 jhb

Implement the internal locks of an ACPI semaphore with splhigh() on
4-stable. -current uses a mutex for this purpose.

Sponsored by: The Weather Channel


104354 02-Oct-2002 scottl

Some kernel threads try to do significant work, and the default KSTACK_PAGES
doesn't give them enough stack to do much before blowing away the pcb.
This adds MI and MD code to allow the allocation of an alternate kstack
who's size can be speficied when calling kthread_create. Passing the
value 0 prevents the alternate kstack from being created. Note that the
ia64 MD code is missing for now, and PowerPC was only partially written
due to the pmap.c being incomplete there.
Though this patch does not modify anything to make use of the alternate
kstack, acpi and usb are good candidates.

Reviewed by: jake, peter, jhb


102553 29-Aug-2002 iwasaki

Resolve conflicts arising from the ACPI CA 20020815 import.


100969 30-Jul-2002 iwasaki

Resolve conflicts arising from the ACPI CA 20020725 import.


99682 09-Jul-2002 iwasaki

Resolve conflicts arising from the ACPI CA 20020611 import.


99492 06-Jul-2002 iwasaki

Fix wrong use of ACPI_NO_UNIT_LIMIT which is for as_maxunits, not as_units.


96926 19-May-2002 peter

Brutally deal with __func__ being 'const char *' on gcc-3.1.


93818 04-Apr-2002 jhb

Change callers of mtx_init() to pass in an appropriate lock type name. In
most cases NULL is passed, but in some cases such as network driver locks
(which use the MTX_NETWORK_LOCK macro) and UMA zone locks, a name is used.

Tested on: i386, alpha, sparc64


92666 19-Mar-2002 peter

Fix a gcc-3.1+ warning.
warning: deprecated use of label at end of compound statement

ie: you cannot do this anymore:
switch(foo) {
....

default:
}


92119 12-Mar-2002 peter

Do not do string concatenation with __func__ (which is not a string)


92118 12-Mar-2002 peter

Recent acpica imports have changed the lengths from UINT32 to ACPI_SIZE,
which is 64 bit on ia64. Fix it.


91130 23-Feb-2002 msmith

AcpiOsPrintf and AcpiOsVprintf now return void.


91129 23-Feb-2002 msmith

AcpiOsCallocate is no longer required.


91128 23-Feb-2002 msmith

Match namespace cleanup changes in ACPI CA 20020217 update.


89088 08-Jan-2002 msmith

find_devclass -> devclass_find.


89054 08-Jan-2002 msmith

Staticise devclasses and some unnecessarily global variables.


88900 05-Jan-2002 jhb

Change the preemption code for software interrupt thread schedules and
mutex releases to not require flags for the cases when preemption is
not allowed:

The purpose of the MTX_NOSWITCH and SWI_NOSWITCH flags is to prevent
switching to a higher priority thread on mutex releease and swi schedule,
respectively when that switch is not safe. Now that the critical section
API maintains a per-thread nesting count, the kernel can easily check
whether or not it should switch without relying on flags from the
programmer. This fixes a few bugs in that all current callers of
swi_sched() used SWI_NOSWITCH, when in fact, only the ones called from
fast interrupt handlers and the swi_sched of softclock needed this flag.
Note that to ensure that swi_sched()'s in clock and fast interrupt
handlers do not switch, these handlers have to be explicitly wrapped
in critical_enter/exit pairs. Presently, just wrapping the handlers is
sufficient, but in the future with the fully preemptive kernel, the
interrupt must be EOI'd before critical_exit() is called. (critical_exit()
can switch due to a deferred preemption in a fully preemptive kernel.)

I've tested the changes to the interrupt code on i386 and alpha. I have
not tested ia64, but the interrupt code is almost identical to the alpha
code, so I expect it will work fine. PowerPC and ARM do not yet have
interrupt code in the tree so they shouldn't be broken. Sparc64 is
broken, but that's been ok'd by jake and tmm who will be fixing the
interrupt code for sparc64 shortly.

Reviewed by: peter
Tested on: i386, alpha


88420 22-Dec-2001 iwasaki

Add OS layer ACPI mutex and threading support.
- Temporary fix a bug of Intel ACPI CA core code.
- Add OS layer ACPI mutex support. This can be disabled by
specifying option ACPI_NO_SEMAPHORES.
- Add ACPI threading support. Now that we have a dedicate taskqueue for
ACPI tasks and more ACPI task threads can be created by specifying option
ACPI_MAX_THREADS.
- Change acpi_EvaluateIntoBuffer() behavior slightly to reuse given
caller's buffer unless AE_BUFFER_OVERFLOW occurs. Also CM battery's
evaluations were changed to use acpi_EvaluateIntoBuffer().
- Add new utility function acpi_ConvertBufferToInteger().
- Add simple locking for CM battery and temperature updating.
- Fix a minor problem on EC locking.
- Make the thermal zone polling rate to be changeable.
- Change minor things on AcpiOsSignal(); in ACPI_SIGNAL_FATAL case,
entering Debugger is easier to investigate the problem rather than panic.


87036 28-Nov-2001 msmith

Synch with minor changes in the ACPI CA 20011120 snapshot.


85560 26-Oct-2001 jhb

- Change the taskqueue locking to protect the necessary parts of a task
while it is on a queue with the queue lock and remove the per-task locks.
- Remove TASK_DESTROY now that it is no longer needed.
- Go back to inlining TASK_INIT now that it is short again.

Inspired by: dfr


85521 26-Oct-2001 jhb

Add locking to taskqueues. There is one mutex per task, one mutex per
queue, and a mutex to protect the global list of taskqueues. The only
visible change is that a TASK_DESTROY() macro has been added to mirror
the TASK_INIT() macro to destroy a task before it is free'd.

Submitted by: Andrew Reiter <awr@watson.org>


85503 25-Oct-2001 jhb

Use TASK_INIT to initialize taskqueue task instead of violating the
abstraction.

Submitted by: Andrew Reiter <arr@watson.org>


84446 04-Oct-2001 dfr

Add busspace hacks for ia64.


83218 08-Sep-2001 iwasaki

Don't call tsleep from AcpiOsStall(), call DELAY() always instead.
Process switching during calling AcpiOsStall() caused fatal trap 12 at
sleeping/wakeup on some machines.


83179 07-Sep-2001 msmith

Move OsdEnvironment.c into MD code; searching for the ACPI tables is not
portable.


80335 25-Jul-2001 iwasaki

Better checking of duplicated interrupt handler installation.

Reviewed by: msmith


80071 21-Jul-2001 msmith

Update the OSD module to match the ACPI CA 20010717 import.

Submitted by: "Grover, Andrew" <andrew.grover@intel.com> (OsdHardware.c)


80034 20-Jul-2001 msmith

We haven't used this for ages, and we're not going to either.


79386 07-Jul-2001 msmith

Get the ACPI softc before we potentially dereference it.


79000 29-Jun-2001 msmith

Wrap the interrupt handler so that we can get the ACPI lock.


77466 30-May-2001 msmith

What I get for "fixing" at the last minute. Correct a mis-merge of takawata's
timeout fix and put proc.h into the right file.

Submitted by: nnd@mail.nsk.ru


77432 29-May-2001 msmith

- Updates for new constant naming in the ACPI CA 20010518 update.
- Use __func__ instead of __FUNCTION.
- Support power-off to S3 or S5 (takawata)
- Enable ACPI debugging earlier (with a sysinit)
- Fix a deadlock in the EC code (takawata)
- Improve arithmetic and reduce the risk of spurious wakeup in
AcpiOsSleep.
- Add AcpiOsGetThreadId.
- Simplify mutex code (still disabled).


74914 28-Mar-2001 jhb

Catch up to header include changes:
- <sys/mutex.h> now requires <sys/systm.h>
- <sys/mutex.h> and <sys/sx.h> now require <sys/lock.h>


72376 12-Feb-2001 jake

Implement a unified run queue and adjust priority levels accordingly.

- All processes go into the same array of queues, with different
scheduling classes using different portions of the array. This
allows user processes to have their priorities propogated up into
interrupt thread range if need be.
- I chose 64 run queues as an arbitrary number that is greater than
32. We used to have 4 separate arrays of 32 queues each, so this
may not be optimal. The new run queue code was written with this
in mind; changing the number of run queues only requires changing
constants in runq.h and adjusting the priority levels.
- The new run queue code takes the run queue as a parameter. This
is intended to be used to create per-cpu run queues. Implement
wrappers for compatibility with the old interface which pass in
the global run queue structure.
- Group the priority level, user priority, native priority (before
propogation) and the scheduling class into a struct priority.
- Change any hard coded priority levels that I found to use
symbolic constants (TTIPRI and TTOPRI).
- Remove the curpriority global variable and use that of curproc.
This was used to detect when a process' priority had lowered and
it should yield. We now effectively yield on every interrupt.
- Activate propogate_priority(). It should now have the desired
effect without needing to also propogate the scheduling class.
- Temporarily comment out the call to vm_page_zero_idle() in the
idle loop. It interfered with propogate_priority() because
the idle process needed to do a non-blocking acquire of Giant
and then other processes would try to propogate their priority
onto it. The idle process should not do anything except idle.
vm_page_zero_idle() will return in the form of an idle priority
kernel thread which is woken up at apprioriate times by the vm
system.
- Update struct kinfo_proc to the new priority interface. Deliberately
change its size by adjusting the spare fields. It remained the same
size, but the layout has changed, so userland processes that use it
would parse the data incorrectly. The size constraint should really
be changed to an arbitrary version number. Also add a debug.sizeof
sysctl node for struct kinfo_proc.


72200 09-Feb-2001 bmilekic

Change and clean the mutex lock interface.

mtx_enter(lock, type) becomes:

mtx_lock(lock) for sleep locks (MTX_DEF-initialized locks)
mtx_lock_spin(lock) for spin locks (MTX_SPIN-initialized)

similarily, for releasing a lock, we now have:

mtx_unlock(lock) for MTX_DEF and mtx_unlock_spin(lock) for MTX_SPIN.
We change the caller interface for the two different types of locks
because the semantics are entirely different for each case, and this
makes it explicitly clear and, at the same time, it rids us of the
extra `type' argument.

The enter->lock and exit->unlock change has been made with the idea
that we're "locking data" and not "entering locked code" in mind.

Further, remove all additional "flags" previously passed to the
lock acquire/release routines with the exception of two:

MTX_QUIET and MTX_NOSWITCH

The functionality of these flags is preserved and they can be passed
to the lock/unlock routines by calling the corresponding wrappers:

mtx_{lock, unlock}_flags(lock, flag(s)) and
mtx_{lock, unlock}_spin_flags(lock, flag(s)) for MTX_DEF and MTX_SPIN
locks, respectively.

Re-inline some lock acq/rel code; in the sleep lock case, we only
inline the _obtain_lock()s in order to ensure that the inlined code
fits into a cache line. In the spin lock case, we inline recursion and
actually only perform a function call if we need to spin. This change
has been made with the idea that we generally tend to avoid spin locks
and that also the spin locks that we do have and are heavily used
(i.e. sched_lock) do recurse, and therefore in an effort to reduce
function call overhead for some architectures (such as alpha), we
inline recursion for this case.

Create a new malloc type for the witness code and retire from using
the M_DEV type. The new type is called M_WITNESS and is only declared
if WITNESS is enabled.

Begin cleaning up some machdep/mutex.h code - specifically updated the
"optimized" inlined code in alpha/mutex.h and wrote MTX_LOCK_SPIN
and MTX_UNLOCK_SPIN asm macros for the i386/mutex.h as we presently
need those.

Finally, caught up to the interface changes in all sys code.

Contributors: jake, jhb, jasone (in no particular order)


71876 31-Jan-2001 msmith

Add some debugging.

Turn off semaphores. Nobody else implements them, and there is lots of
AML out there which does totally absurd things with them, meaning that
if we try to do the right thing we are guaranteed to fail.


71875 31-Jan-2001 msmith

Add some debugging statements.


71418 23-Jan-2001 peter

In answer to the comment: /* XXX is it OK to block here? */, the answer
is definately NO! as we are in interrupt context and malloc() does a
KASSERT() to be sure.


71359 22-Jan-2001 msmith

Plug a memory leak in AcpiOsDeleteSemaphore where the mutex is not properly
destroyed.

Submitted by: bmilekic


70247 21-Dec-2000 takawata

Re-Enable OSD_PRIORITY_GPE. Now 20001215 has been commited.


70237 20-Dec-2000 iwasaki

Disable my previous committed code for a moment.

Note to myself: this needs to be enabled again when newer version of
ACPI is imported.


70236 20-Dec-2000 iwasaki

Add task priority definition for OSD_PRIORITY_GPE in AcpiOsQueueForExecution().
This is needed to next ACPICA import.


69776 08-Dec-2000 msmith

Staticise some malloc pools

Submitted by: phk


69459 01-Dec-2000 msmith

AcpiOsMem primitives as required by the new ACPI CA snapshot


67760 28-Oct-2000 msmith

FreeBSD-specific OSD (operating system dependant) modules for the Intel
ACPICA code.