Home | History | Annotate | only in /src/sys/dev/acpi/acpica
History log of /src/sys/dev/acpi/acpica
RevisionDateAuthorComments
 1.7 21-Aug-2021  andvar fix mainly same typos as in my previous commit but outside sys/dev/dm.
 1.6 12-Jun-2011  jruoho Follow IA-64 with the x86-specific ACPI MD functions and move these where
they belong to. Remove an unused function. Minor KNF. No functional change.
 1.5 23-Aug-2009  jmcneill branches: 1.5.10;
When ACPI is not present, free any resources used by the ACPICA. Also,
no need to complain (unless we're debugging) that ACPI is not present.
 1.4 18-Aug-2009  jmcneill Switch to ACPICA 20090730, and update for API changes.
 1.3 15-Dec-2007  perry branches: 1.3.10;
__FUNCTION__ -> __func__
 1.2 09-Dec-2007  jmcneill branches: 1.2.2;
Merge jmcneill-pm branch.
 1.1 23-Mar-2006  kochi branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.14; 1.1.20; 1.1.44; 1.1.46; 1.1.56; 1.1.58;
Move from sys/dev/acpi/acpica/Osd.
 1.1.58.1 11-Dec-2007  yamt sync with head.
 1.1.56.1 26-Dec-2007  ad Sync with head.
 1.1.46.1 09-Jan-2008  matt sync with HEAD
 1.1.44.1 02-Oct-2007  jmcneill Update to ACPI-CA 20070320
 1.1.20.2 09-Sep-2006  rpaulo sync with head
 1.1.20.1 23-Mar-2006  rpaulo file OsdEnvironment.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:49:29 +0000
 1.1.14.3 21-Jan-2008  yamt sync with head
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 23-Mar-2006  yamt file OsdEnvironment.c was added on branch yamt-lazymbuf on 2006-06-21 15:02:32 +0000
 1.1.8.2 22-Apr-2006  simonb Sync with head.
 1.1.8.1 23-Mar-2006  simonb file OsdEnvironment.c was added on branch simonb-timecounters on 2006-04-22 11:38:49 +0000
 1.1.6.2 19-Apr-2006  elad sync with head.
 1.1.6.1 23-Mar-2006  elad file OsdEnvironment.c was added on branch elad-kernelauth on 2006-04-19 03:24:24 +0000
 1.1.4.2 11-Apr-2006  yamt sync files somehow mis-tagged by yamt-pdpolicy-base2.
 1.1.4.1 23-Mar-2006  yamt file OsdEnvironment.c was added on branch yamt-pdpolicy on 2006-04-11 12:20:52 +0000
 1.1.2.2 28-Mar-2006  tron Merge 2006-03-28 NetBSD-current into the "peter-altq" branch.
 1.1.2.1 23-Mar-2006  tron file OsdEnvironment.c was added on branch peter-altq on 2006-03-28 09:42:03 +0000
 1.2.2.1 02-Jan-2008  bouyer Sync with HEAD
 1.3.10.2 16-Sep-2009  yamt sync with head
 1.3.10.1 19-Aug-2009  yamt sync with head.
 1.5.10.1 23-Jun-2011  cherry Catchup with rmind-uvmplock merge.
 1.15 23-Jun-2024  andvar s/machinde/machine/ in comment.
 1.14 31-May-2022  mrg allow ACPI to compile without PCI support. fixes ia64 build.
 1.13 31-Dec-2021  riastradh acpi(9): Return full 64-bit object to caller in PCI config read.

The value of the object will be as small as requested, but the whole
uint64_t object will be written as the caller of a space handler
expects, instead of just part of it.
 1.12 17-Jan-2020  jmcneill Add support for Arm N1 SDP PCIe host controller.

The N1 SDP has a few bugs that we need to work around:
- PCIe root port config space lives in a non-standard location.
- Access to PCIe config space of devices that do not exist results in
an sync SError. Firmware creates a "known devices" table at a fixed
physical address that we use to filter PCI conf access to only known
devices.

This change splits the Arm ACPI PCI quirks into separate files for each
host controller, and allows per-segment quirks to be applied.

These changes exposed some bugs in the MI ACPI layer related to
multi-segment support. The MI ACPI PCI code was using a shared PCI
chipset tag to access devices, and these accesses can happen before our
PCI host bridge drivers are attached! The global chipset tag is now gone,
and an MD callback can provide a custom tag on a per-segment basis.
 1.11 15-Feb-2019  kamil branches: 1.11.6;
Avoid UB in OsdHardware.c

UBSan: Undefined Behavior in src/sys/dev/acpi/acpica/OsdHardware.c:265:17,
left shift of 255 by 24 places cannot be represented in type 'int'

This file isn't part of upstream acpica so just fix it locally.

Reported and initial patch by <Akul Pillai>
 1.10 26-Jan-2016  christos branches: 1.10.18;
The new acpi code tries to read the pci configuration registers in the
acpi_probe() phase, before acpi_softc is allocated. Detect this and use
a NULL chipset handle instead of crashing.
 1.9 27-Dec-2013  christos branches: 1.9.6;
Add new functions
 1.8 17-Feb-2011  jruoho branches: 1.8.4; 1.8.14; 1.8.18;
ACPICA 20100806:

Fixed a problem with the prototype for AcpiOsReadPciConfiguration.
The prototype in acpiosxf.h had the output value pointer as a (void *).
It should be a (UINT64 *). This may affect some host OSL code.
 1.7 17-Feb-2011  jruoho ACPICA 20100915:

Removed the AcpiOsDerivePciId OSL interface. The various host
implementations of this function were not OS-dependent and are now obsolete
and can be removed from all host OSLs. This function has been replaced by
AcpiHwDerivePciId, which is now part of the ACPICA core code.
AcpiHwDerivePciId has been implemented without recursion. Adds one new
module, hwpci.c. ACPICA BZ 857.
 1.6 10-Jul-2010  gsutre branches: 1.6.2; 1.6.4;
AcpiOsDerivePciId: make sure that we only update the PCI bus number,
and that we do so only if it was succesfully derived.

ok jruoho@, kochi@
 1.5 15-Sep-2009  drochner branches: 1.5.2; 1.5.4;
fix undefined return values of Read/WriteMemory, found by clang
static analyzer
 1.4 12-Dec-2007  jmcneill branches: 1.4.10;
Try not to pass garbage to pci_make_tag; workaround for odd ACPI DSDTs.
Fixes kern/37527.
 1.3 09-Dec-2007  jmcneill branches: 1.3.2;
Merge jmcneill-pm branch.
 1.2 14-May-2006  elad branches: 1.2.6; 1.2.12; 1.2.36; 1.2.38; 1.2.48; 1.2.50;
integrate kauth.
 1.1 23-Mar-2006  kochi branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8;
Move from sys/dev/acpi/acpica/Osd.
 1.1.8.2 22-Apr-2006  simonb Sync with head.
 1.1.8.1 23-Mar-2006  simonb file OsdHardware.c was added on branch simonb-timecounters on 2006-04-22 11:38:49 +0000
 1.1.6.2 19-Apr-2006  elad sync with head.
 1.1.6.1 23-Mar-2006  elad file OsdHardware.c was added on branch elad-kernelauth on 2006-04-19 03:24:24 +0000
 1.1.4.2 11-Apr-2006  yamt sync files somehow mis-tagged by yamt-pdpolicy-base2.
 1.1.4.1 23-Mar-2006  yamt file OsdHardware.c was added on branch yamt-pdpolicy on 2006-04-11 12:20:52 +0000
 1.1.2.2 28-Mar-2006  tron Merge 2006-03-28 NetBSD-current into the "peter-altq" branch.
 1.1.2.1 23-Mar-2006  tron file OsdHardware.c was added on branch peter-altq on 2006-03-28 09:42:03 +0000
 1.2.50.2 13-Dec-2007  yamt sync with head.
 1.2.50.1 11-Dec-2007  yamt sync with head.
 1.2.48.1 26-Dec-2007  ad Sync with head.
 1.2.38.1 09-Jan-2008  matt sync with HEAD
 1.2.36.1 02-Oct-2007  jmcneill Update to ACPI-CA 20070320
 1.2.12.2 09-Sep-2006  rpaulo sync with head
 1.2.12.1 14-May-2006  rpaulo file OsdHardware.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:49:29 +0000
 1.2.6.3 21-Jan-2008  yamt sync with head
 1.2.6.2 21-Jun-2006  yamt sync with head.
 1.2.6.1 14-May-2006  yamt file OsdHardware.c was added on branch yamt-lazymbuf on 2006-06-21 15:02:32 +0000
 1.3.2.1 13-Dec-2007  bouyer Sync with HEAD
 1.4.10.2 11-Aug-2010  yamt sync with head.
 1.4.10.1 16-Sep-2009  yamt sync with head
 1.5.4.1 05-Mar-2011  rmind sync with head
 1.5.2.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.6.4.1 17-Feb-2011  bouyer Sync with HEAD
 1.6.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.8.18.1 18-May-2014  rmind sync with head
 1.8.14.2 03-Dec-2017  jdolecek update from HEAD
 1.8.14.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.8.4.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.9.6.1 19-Mar-2016  skrll Sync with HEAD
 1.10.18.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.10.18.1 10-Jun-2019  christos Sync with HEAD
 1.11.6.1 17-Jan-2020  ad Sync with head.
 1.9 20-Mar-2018  bouyer Allow registering ACPI interrupt handlers with a xname.
AcpiOsInstallInterruptHandler(), part of ACPICA API, doesn't allow passing
the xname. I extend the API with AcpiOsInstallInterruptHandler_xname()
for this purpose, and change acpi_md_OsInstallInterruptHandler() to
accept and use the xname (ia64 doens't use it).
The xname was hardcoded to "acpi SCI" in the
x86 acpi_md_OsInstallInterruptHandler(), so I make
AcpiOsInstallInterruptHandler() call
AcpiOsInstallInterruptHandler_xname with xname = "acpi SCI".

Now 'vmstat -i' shows the device's name instead of "acpi SCI" for for i2c HID
interrupts.

Proposed on tech-kern@ on Dec 29.
 1.8 18-Aug-2009  jmcneill branches: 1.8.62;
Switch to ACPICA 20090730, and update for API changes.
 1.7 15-Dec-2007  perry branches: 1.7.10;
__FUNCTION__ -> __func__
 1.6 19-Feb-2007  ad branches: 1.6.18; 1.6.26; 1.6.30;
Initialize acpi_interrupt_list_mtx in acpi_probe().
 1.5 19-Feb-2007  xtraeme Forgot to initialize the mutex.
 1.4 19-Feb-2007  xtraeme Replace ACPI_INTERRUPT_LIST_{LOCK,UNLOCK} mutex_{enter,exit}
 1.3 18-Feb-2007  xtraeme Replace simple_locks with mutexes, reviewed by ad@.
 1.2 27-Aug-2006  christos branches: 1.2.4; 1.2.10;
Delete unsigned comparison with < 0
 1.1 23-Mar-2006  kochi branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.14;
Move from sys/dev/acpi/acpica/Osd.
 1.1.14.5 21-Jan-2008  yamt sync with head
 1.1.14.4 26-Feb-2007  yamt sync with head.
 1.1.14.3 30-Dec-2006  yamt sync with head.
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 23-Mar-2006  yamt file OsdInterrupt.c was added on branch yamt-lazymbuf on 2006-06-21 15:02:32 +0000
 1.1.8.2 22-Apr-2006  simonb Sync with head.
 1.1.8.1 23-Mar-2006  simonb file OsdInterrupt.c was added on branch simonb-timecounters on 2006-04-22 11:38:49 +0000
 1.1.6.2 19-Apr-2006  elad sync with head.
 1.1.6.1 23-Mar-2006  elad file OsdInterrupt.c was added on branch elad-kernelauth on 2006-04-19 03:24:24 +0000
 1.1.4.3 03-Sep-2006  yamt sync with head.
 1.1.4.2 11-Apr-2006  yamt sync files somehow mis-tagged by yamt-pdpolicy-base2.
 1.1.4.1 23-Mar-2006  yamt file OsdInterrupt.c was added on branch yamt-pdpolicy on 2006-04-11 12:20:52 +0000
 1.1.2.2 28-Mar-2006  tron Merge 2006-03-28 NetBSD-current into the "peter-altq" branch.
 1.1.2.1 23-Mar-2006  tron file OsdInterrupt.c was added on branch peter-altq on 2006-03-28 09:42:03 +0000
 1.2.10.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.2.4.2 09-Sep-2006  rpaulo sync with head
 1.2.4.1 27-Aug-2006  rpaulo file OsdInterrupt.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:49:29 +0000
 1.6.30.1 02-Jan-2008  bouyer Sync with HEAD
 1.6.26.1 26-Dec-2007  ad Sync with head.
 1.6.18.1 09-Jan-2008  matt sync with HEAD
 1.7.10.1 19-Aug-2009  yamt sync with head.
 1.8.62.1 22-Mar-2018  pgoyette Synch with HEAD, resolve conflicts
 1.5 22-Apr-2012  jruoho As in Linux, prevent BIOS from trying to map addresses beyond ULONG_MAX.
 1.4 17-Feb-2011  jruoho branches: 1.4.4; 1.4.8;
ACPICA 20100806:

Obsolete Functions: AcpiOsValidateInterface - no longer used.
 1.3 18-Aug-2009  jmcneill branches: 1.3.4; 1.3.6; 1.3.8;
Switch to ACPICA 20090730, and update for API changes.
 1.2 09-Dec-2007  jmcneill branches: 1.2.14;
Merge jmcneill-pm branch.
 1.1 23-Mar-2006  kochi branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.14; 1.1.20; 1.1.44; 1.1.46; 1.1.56; 1.1.58;
Move from sys/dev/acpi/acpica/Osd.
 1.1.58.1 11-Dec-2007  yamt sync with head.
 1.1.56.1 26-Dec-2007  ad Sync with head.
 1.1.46.1 09-Jan-2008  matt sync with HEAD
 1.1.44.1 02-Oct-2007  jmcneill Update to ACPI-CA 20070320
 1.1.20.2 09-Sep-2006  rpaulo sync with head
 1.1.20.1 23-Mar-2006  rpaulo file OsdMemory.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:49:29 +0000
 1.1.14.3 21-Jan-2008  yamt sync with head
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 23-Mar-2006  yamt file OsdMemory.c was added on branch yamt-lazymbuf on 2006-06-21 15:02:32 +0000
 1.1.8.2 22-Apr-2006  simonb Sync with head.
 1.1.8.1 23-Mar-2006  simonb file OsdMemory.c was added on branch simonb-timecounters on 2006-04-22 11:38:49 +0000
 1.1.6.2 19-Apr-2006  elad sync with head.
 1.1.6.1 23-Mar-2006  elad file OsdMemory.c was added on branch elad-kernelauth on 2006-04-19 03:24:24 +0000
 1.1.4.2 11-Apr-2006  yamt sync files somehow mis-tagged by yamt-pdpolicy-base2.
 1.1.4.1 23-Mar-2006  yamt file OsdMemory.c was added on branch yamt-pdpolicy on 2006-04-11 12:20:52 +0000
 1.1.2.2 28-Mar-2006  tron Merge 2006-03-28 NetBSD-current into the "peter-altq" branch.
 1.1.2.1 23-Mar-2006  tron file OsdMemory.c was added on branch peter-altq on 2006-03-28 09:42:03 +0000
 1.2.14.1 19-Aug-2009  yamt sync with head.
 1.3.8.1 17-Feb-2011  bouyer Sync with HEAD
 1.3.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.3.4.1 05-Mar-2011  rmind sync with head
 1.4.8.1 29-Apr-2012  mrg sync to latest -current.
 1.4.4.1 23-May-2012  yamt sync with head.
 1.16 25-Jan-2017  christos implement new interfaces
 1.15 09-Jan-2016  christos branches: 1.15.2; 1.15.4;
merge new acpica
 1.14 27-Dec-2013  christos branches: 1.14.6;
use ACPI_DEBUG not ACPI_DEBUGGER which is used internally by acpica
 1.13 27-Dec-2013  christos Add new functions
 1.12 28-Jun-2011  jruoho branches: 1.12.2; 1.12.12; 1.12.16;
Adjust a prototype due ACPICA 20110623.
 1.11 17-Feb-2011  jruoho Include acdebug.h for the ACPICA debugger.
 1.10 17-Feb-2011  jruoho Switch acpi(4) to use the new location of ACPICA.
 1.9 11-Apr-2010  jruoho branches: 1.9.2; 1.9.4;
Document "how-to override the DSDT" in the manual page instead of code.
 1.8 10-Apr-2010  jruoho Update a comment.
 1.7 18-Aug-2009  jmcneill branches: 1.7.2; 1.7.4;
Switch to ACPICA 20090730, and update for API changes.
 1.6 06-Jul-2009  joerg Ignore breakpoints in the DSDT even if DDB is present.
A new option ACPI_BREAKPOINT reenables them.
 1.5 16-Nov-2006  christos branches: 1.5.52; 1.5.68;
__unused removal on arguments; approved by core.
 1.4 12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.3 13-Apr-2006  kochi branches: 1.3.2; 1.3.4; 1.3.10; 1.3.14; 1.3.16; 1.3.18;
NULL check for a parameter of AcpiOsSignal().
The upper layer (ACPI-CA) might call with NULL pointer.

This should resolve Coverity CID 1114.
 1.2 23-Mar-2006  kochi branches: 1.2.2; 1.2.4;
change header location in accordance with moving ACPI-CA to sys/dist
 1.1 23-Mar-2006  kochi Move from sys/dev/acpi/acpica/Osd.
 1.2.4.3 24-May-2006  yamt sync with head.
 1.2.4.2 11-Apr-2006  yamt sync files somehow mis-tagged by yamt-pdpolicy-base2.
 1.2.4.1 23-Mar-2006  yamt file OsdMisc.c was added on branch yamt-pdpolicy on 2006-04-11 12:20:52 +0000
 1.2.2.3 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.2.2.2 28-Mar-2006  tron Merge 2006-03-28 NetBSD-current into the "peter-altq" branch.
 1.2.2.1 23-Mar-2006  tron file OsdMisc.c was added on branch peter-altq on 2006-03-28 09:42:03 +0000
 1.3.18.2 10-Dec-2006  yamt sync with head.
 1.3.18.1 22-Oct-2006  yamt sync with head
 1.3.16.2 09-Sep-2006  rpaulo sync with head
 1.3.16.1 13-Apr-2006  rpaulo file OsdMisc.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:49:29 +0000
 1.3.14.1 18-Nov-2006  ad Sync with head.
 1.3.10.2 21-Jun-2006  yamt sync with head.
 1.3.10.1 13-Apr-2006  yamt file OsdMisc.c was added on branch yamt-lazymbuf on 2006-06-21 15:02:32 +0000
 1.3.4.2 22-Apr-2006  simonb Sync with head.
 1.3.4.1 13-Apr-2006  simonb file OsdMisc.c was added on branch simonb-timecounters on 2006-04-22 11:38:49 +0000
 1.3.2.2 19-Apr-2006  elad sync with head.
 1.3.2.1 13-Apr-2006  elad file OsdMisc.c was added on branch elad-kernelauth on 2006-04-19 03:24:24 +0000
 1.5.68.1 23-Jul-2009  jym Sync with HEAD.
 1.5.52.3 11-Aug-2010  yamt sync with head.
 1.5.52.2 19-Aug-2009  yamt sync with head.
 1.5.52.1 18-Jul-2009  yamt sync with head.
 1.7.4.2 05-Mar-2011  rmind sync with head
 1.7.4.1 30-May-2010  rmind sync with head
 1.7.2.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.9.4.2 17-Feb-2011  bouyer Sync with HEAD
 1.9.4.1 17-Feb-2011  bouyer Sync with HEAD
 1.9.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.12.16.1 18-May-2014  rmind sync with head
 1.12.12.2 03-Dec-2017  jdolecek update from HEAD
 1.12.12.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.12.2.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.14.6.2 05-Feb-2017  skrll Sync with HEAD
 1.14.6.1 19-Mar-2016  skrll Sync with HEAD
 1.15.4.1 21-Apr-2017  bouyer Sync with HEAD
 1.15.2.1 20-Mar-2017  pgoyette Sync with HEAD
 1.20 31-Dec-2021  riastradh acpi(9): Implement AcpiOsWaitEventsComplete.
 1.19 12-Nov-2017  christos Provide a primitive incrementing counter if we are call since the new
Acpi dispatcher requires us to have one when we are cold (shudder).
 1.18 09-Jan-2016  christos merge new acpica
 1.17 27-Dec-2013  christos branches: 1.17.6;
Add new functions
 1.16 17-Feb-2011  jmcneill branches: 1.16.4; 1.16.14; 1.16.18;
cast curlwp to uintptr_t before casting to ACPI_THREAD_ID, fixes i386 build
 1.15 05-Jun-2010  jruoho branches: 1.15.2; 1.15.4;
Remove also the debug-printf in case of long Stall() requests;

/*
* sleep(9) isn't safe because AcpiOsStall may be called
* with interrupt-disabled. (eg. by AcpiEnterSleepState)
* we should watch out for long stall requests.
*/

ACPICA has long printed a similar warning by itself. Moreover, this message
was never reached as the interpreter does not invoke AcpiOsStall() when a
delay longer than 255 usec is requested.
 1.14 05-Jun-2010  jruoho Remove the recently added warning about long Sleep() requests.

This is now in ACPICA (20100528):

Added support to limit the maximum time for the ASL Sleep()
operator. To prevent accidental deep sleeps, limit the maximum time
that Sleep() will actually sleep. Configurable, the default maximum
is two seconds. ACPICA bugzilla 854.
 1.13 12-May-2010  jruoho Print a warning if AcpiOsSleep() is called with a value larger than two
seconds. It is known that there are systems in the field that pass bogus AML
values to the Sleep() operation code, possibly requesting delays that could
be measured in days.

Discussed with jmcneill@.

XXX: While the used mstohz(9) is documented to round to one second if the
passed value is larger than 131072 ms, we may still need to force a
sensible upper limit if this warning starts to appear.
 1.12 23-Aug-2009  jmcneill branches: 1.12.2; 1.12.4;
When ACPI is not present, free any resources used by the ACPICA. Also,
no need to complain (unless we're debugging) that ACPI is not present.
 1.11 18-Aug-2009  jmcneill Switch to ACPICA 20090730, and update for API changes.
 1.10 31-Mar-2009  drochner avoid tsleep also during shutdown (and in particular ACPI poweroff),
should fix PR kern/39141 by Takahiro Kambe and PR port-i386/41110
by Reinoud Zandijk
 1.9 30-Jan-2009  jmcneill branches: 1.9.2;
PR# kern/38817: regression in acpi sleep on lifebook S6510

Switch to polling mode after the acpi(4) device has been suspended as
interrupts will be disabled later on and we may still need to execute
AML that tries to sleep or wait on a semaphore.
 1.8 31-May-2008  jmcneill branches: 1.8.6; 1.8.8;
Don't use cv_timedwait_sig if (cold)
 1.7 24-Apr-2008  jmcneill branches: 1.7.2; 1.7.4;
Define ACPI_THREAD_ID as uintptr_t, and return curlwp instead of
curlwp->l_lid from AcpiOsGetThreadId(), as suggested by ad@
 1.6 22-Apr-2008  jmcneill AcpiOsGetThreadId should return lwpid, not pid -- otherwise we always return
the same value! Fixes the AE_AML_MUTEX_NOT_ACQUIRED issue when evaluating
_BST on ASUS Eee PC. Who knows what other mysterious bugs this has caused
over the years...
 1.5 21-Dec-2007  jmcneill branches: 1.5.6; 1.5.8;
Convert AcpiOsSleep from using tsleep to cv_timedwait_sig
 1.4 17-Dec-2007  jmcneill Fix comment before AcpiOsGetTimer, no functional change.
 1.3 15-Dec-2007  perry __FUNCTION__ -> __func__
 1.2 09-Dec-2007  jmcneill branches: 1.2.2;
Merge jmcneill-pm branch.
 1.1 23-Mar-2006  kochi branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.14; 1.1.20; 1.1.44; 1.1.46; 1.1.56; 1.1.58;
Move from sys/dev/acpi/acpica/Osd.
 1.1.58.1 11-Dec-2007  yamt sync with head.
 1.1.56.1 26-Dec-2007  ad Sync with head.
 1.1.46.1 09-Jan-2008  matt sync with HEAD
 1.1.44.1 02-Oct-2007  jmcneill Update to ACPI-CA 20070320
 1.1.20.2 09-Sep-2006  rpaulo sync with head
 1.1.20.1 23-Mar-2006  rpaulo file OsdSchedule.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:49:29 +0000
 1.1.14.3 21-Jan-2008  yamt sync with head
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 23-Mar-2006  yamt file OsdSchedule.c was added on branch yamt-lazymbuf on 2006-06-21 15:02:32 +0000
 1.1.8.2 22-Apr-2006  simonb Sync with head.
 1.1.8.1 23-Mar-2006  simonb file OsdSchedule.c was added on branch simonb-timecounters on 2006-04-22 11:38:49 +0000
 1.1.6.2 19-Apr-2006  elad sync with head.
 1.1.6.1 23-Mar-2006  elad file OsdSchedule.c was added on branch elad-kernelauth on 2006-04-19 03:24:24 +0000
 1.1.4.2 11-Apr-2006  yamt sync files somehow mis-tagged by yamt-pdpolicy-base2.
 1.1.4.1 23-Mar-2006  yamt file OsdSchedule.c was added on branch yamt-pdpolicy on 2006-04-11 12:20:52 +0000
 1.1.2.2 28-Mar-2006  tron Merge 2006-03-28 NetBSD-current into the "peter-altq" branch.
 1.1.2.1 23-Mar-2006  tron file OsdSchedule.c was added on branch peter-altq on 2006-03-28 09:42:03 +0000
 1.2.2.1 02-Jan-2008  bouyer Sync with HEAD
 1.5.8.2 04-Jun-2008  yamt sync with head
 1.5.8.1 18-May-2008  yamt sync with head.
 1.5.6.1 02-Jun-2008  mjf Sync with HEAD.
 1.7.4.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.7.2.4 11-Aug-2010  yamt sync with head.
 1.7.2.3 16-Sep-2009  yamt sync with head
 1.7.2.2 19-Aug-2009  yamt sync with head.
 1.7.2.1 04-May-2009  yamt sync with head.
 1.8.8.1 02-Feb-2009  snj Pull up following revision(s) (requested by jmcneill in ticket #381):
sys/dev/acpi/acpi.c: revision 1.123
sys/dev/acpi/acpica/OsdSchedule.c: revision 1.9
sys/dev/acpi/acpica/OsdSynch.c: revision 1.11
PR# kern/38817: regression in acpi sleep on lifebook S6510
Switch to polling mode after the acpi(4) device has been suspended as
interrupts will be disabled later on and we may still need to execute
AML that tries to sleep or wait on a semaphore.
 1.8.6.2 28-Apr-2009  skrll Sync with HEAD.
 1.8.6.1 03-Mar-2009  skrll Sync with HEAD.
 1.9.2.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.12.4.3 05-Mar-2011  rmind sync with head
 1.12.4.2 03-Jul-2010  rmind sync with head
 1.12.4.1 30-May-2010  rmind sync with head
 1.12.2.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.15.4.1 17-Feb-2011  bouyer Sync with HEAD
 1.15.2.1 06-Jun-2011  jruoho Sync with HEAD.
 1.16.18.1 18-May-2014  rmind sync with head
 1.16.14.2 03-Dec-2017  jdolecek update from HEAD
 1.16.14.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.16.4.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.17.6.1 19-Mar-2016  skrll Sync with HEAD
 1.1 23-Mar-2006  kochi branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.14; 1.1.20;
Move from sys/dev/acpi/acpica/Osd.
 1.1.20.2 09-Sep-2006  rpaulo sync with head
 1.1.20.1 23-Mar-2006  rpaulo file OsdStream.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:49:29 +0000
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 23-Mar-2006  yamt file OsdStream.c was added on branch yamt-lazymbuf on 2006-06-21 15:02:32 +0000
 1.1.8.2 22-Apr-2006  simonb Sync with head.
 1.1.8.1 23-Mar-2006  simonb file OsdStream.c was added on branch simonb-timecounters on 2006-04-22 11:38:49 +0000
 1.1.6.2 19-Apr-2006  elad sync with head.
 1.1.6.1 23-Mar-2006  elad file OsdStream.c was added on branch elad-kernelauth on 2006-04-19 03:24:24 +0000
 1.1.4.2 11-Apr-2006  yamt sync files somehow mis-tagged by yamt-pdpolicy-base2.
 1.1.4.1 23-Mar-2006  yamt file OsdStream.c was added on branch yamt-pdpolicy on 2006-04-11 12:20:52 +0000
 1.1.2.2 28-Mar-2006  tron Merge 2006-03-28 NetBSD-current into the "peter-altq" branch.
 1.1.2.1 23-Mar-2006  tron file OsdStream.c was added on branch peter-altq on 2006-03-28 09:42:03 +0000
 1.13 18-Aug-2009  jmcneill Switch to ACPICA 20090730, and update for API changes.
 1.12 31-Mar-2009  drochner avoid tsleep also during shutdown (and in particular ACPI poweroff),
should fix PR kern/39141 by Takahiro Kambe and PR port-i386/41110
by Reinoud Zandijk
 1.11 30-Jan-2009  jmcneill branches: 1.11.2;
PR# kern/38817: regression in acpi sleep on lifebook S6510

Switch to polling mode after the acpi(4) device has been suspended as
interrupts will be disabled later on and we may still need to execute
AML that tries to sleep or wait on a semaphore.
 1.10 15-Dec-2007  perry branches: 1.10.10; 1.10.18; 1.10.20;
__FUNCTION__ -> __func__
 1.9 09-Dec-2007  jmcneill branches: 1.9.2;
Merge jmcneill-pm branch.
 1.8 05-Dec-2007  ad branches: 1.8.2;
Match the docs: MUTEX_DRIVER/SPIN are now only for porting code written
for Solaris.
 1.7 19-Feb-2007  ad branches: 1.7.16; 1.7.18; 1.7.24; 1.7.26;
The ACPI locks need to run at IPL_VM, since they can be taken from
interrupt handlers.
 1.6 19-Feb-2007  xtraeme AcpiOsDelete{Lock,Semaphore}: don't forget to destroy the mutex,
otherwise mutex_init might be called multiple times.

Discussed with Andrew hours ago.
 1.5 19-Feb-2007  xtraeme * Provide same description in cv_init as we had before.
* Use cv_timedwait.

Thanks to Andrew for information.
 1.4 18-Feb-2007  xtraeme * Replace simple_locks and exclusive locks with adaptive mutexes.
* Replace ltsleep/wakeup pairs with condition variables
(cv_init/cv_wait/cv_broadcast).

Reviewed by ad@.
 1.3 16-Nov-2006  christos branches: 1.3.4;
__unused removal on arguments; approved by core.
 1.2 12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.1 23-Mar-2006  kochi branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8; 1.1.14; 1.1.18; 1.1.20; 1.1.22;
Move from sys/dev/acpi/acpica/Osd.
 1.1.22.2 10-Dec-2006  yamt sync with head.
 1.1.22.1 22-Oct-2006  yamt sync with head
 1.1.20.2 09-Sep-2006  rpaulo sync with head
 1.1.20.1 23-Mar-2006  rpaulo file OsdSynch.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:49:29 +0000
 1.1.18.1 18-Nov-2006  ad Sync with head.
 1.1.14.5 21-Jan-2008  yamt sync with head
 1.1.14.4 07-Dec-2007  yamt sync with head
 1.1.14.3 26-Feb-2007  yamt sync with head.
 1.1.14.2 21-Jun-2006  yamt sync with head.
 1.1.14.1 23-Mar-2006  yamt file OsdSynch.c was added on branch yamt-lazymbuf on 2006-06-21 15:02:32 +0000
 1.1.8.2 22-Apr-2006  simonb Sync with head.
 1.1.8.1 23-Mar-2006  simonb file OsdSynch.c was added on branch simonb-timecounters on 2006-04-22 11:38:49 +0000
 1.1.6.2 19-Apr-2006  elad sync with head.
 1.1.6.1 23-Mar-2006  elad file OsdSynch.c was added on branch elad-kernelauth on 2006-04-19 03:24:24 +0000
 1.1.4.2 11-Apr-2006  yamt sync files somehow mis-tagged by yamt-pdpolicy-base2.
 1.1.4.1 23-Mar-2006  yamt file OsdSynch.c was added on branch yamt-pdpolicy on 2006-04-11 12:20:52 +0000
 1.1.2.2 28-Mar-2006  tron Merge 2006-03-28 NetBSD-current into the "peter-altq" branch.
 1.1.2.1 23-Mar-2006  tron file OsdSynch.c was added on branch peter-altq on 2006-03-28 09:42:03 +0000
 1.3.4.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.7.26.2 26-Dec-2007  ad Sync with head.
 1.7.26.1 08-Dec-2007  ad Sync with head.
 1.7.24.2 27-Dec-2007  mjf Sync with HEAD.
 1.7.24.1 08-Dec-2007  mjf Sync with HEAD.
 1.7.18.1 09-Jan-2008  matt sync with HEAD
 1.7.16.2 09-Dec-2007  jmcneill Sync with HEAD.
 1.7.16.1 02-Oct-2007  jmcneill Update to ACPI-CA 20070320
 1.8.2.1 11-Dec-2007  yamt sync with head.
 1.9.2.1 02-Jan-2008  bouyer Sync with HEAD
 1.10.20.1 02-Feb-2009  snj Pull up following revision(s) (requested by jmcneill in ticket #381):
sys/dev/acpi/acpi.c: revision 1.123
sys/dev/acpi/acpica/OsdSchedule.c: revision 1.9
sys/dev/acpi/acpica/OsdSynch.c: revision 1.11
PR# kern/38817: regression in acpi sleep on lifebook S6510
Switch to polling mode after the acpi(4) device has been suspended as
interrupts will be disabled later on and we may still need to execute
AML that tries to sleep or wait on a semaphore.
 1.10.18.2 28-Apr-2009  skrll Sync with HEAD.
 1.10.18.1 03-Mar-2009  skrll Sync with HEAD.
 1.10.10.2 19-Aug-2009  yamt sync with head.
 1.10.10.1 04-May-2009  yamt sync with head.
 1.11.2.1 13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.7 24-Feb-2025  christos mention script
 1.6 18-Jan-2014  apb branches: 1.6.68;
+ Please also update ACPI_DATE in include/acapps.h.
 1.5 27-Dec-2013  christos - remove function list that was out of date
- explain magical munging so that people are not scared to update in the future.
 1.4 24-Jul-2010  jruoho branches: 1.4.8; 1.4.18; 1.4.22;
Update and fix a typo.
 1.3 06-Feb-2003  perry branches: 1.3.104; 1.3.126; 1.3.128;
Document a URL from which you can get the ACPICA programmer reference manual.
 1.2 28-Sep-2001  thorpej branches: 1.2.2; 1.2.4; 1.2.8;
Oops, RCS ID.
 1.1 28-Sep-2001  thorpej File describing the ACPICA and how we glue it to NetBSD.
 1.2.8.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.2.8.1 28-Sep-2001  thorpej file README was added on branch kqueue on 2002-01-10 19:52:55 +0000
 1.2.4.2 08-Oct-2001  nathanw Catch up to -current.
 1.2.4.1 28-Sep-2001  nathanw file README was added on branch nathanw_sa on 2001-10-08 21:18:07 +0000
 1.2.2.2 01-Oct-2001  fvdl Catch up with -current.
 1.2.2.1 28-Sep-2001  fvdl file README was added on branch thorpej-devvp on 2001-10-01 12:44:18 +0000
 1.3.128.1 05-Mar-2011  rmind sync with head
 1.3.126.1 17-Aug-2010  uebayasi Sync with HEAD.
 1.3.104.1 11-Aug-2010  yamt sync with head.
 1.4.22.1 18-May-2014  rmind sync with head
 1.4.18.1 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.8.1 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.6.68.1 02-Aug-2025  perseant Sync with HEAD
 1.7 10-May-2023  riastradh acpi(4): Fix membars in ACPI_ACQUIRE/RELEASE_GLOBAL_LOCK.

XXX pullup-8 (by patch with membar_enter/exit)
XXX pullup-9 (by patch with membar_enter/exit)
XXX pullup-10
 1.6 12-Oct-2018  jmcneill branches: 1.6.4; 1.6.30;
Implement ACPI_FLUSH_CPU_CACHE on aarch64.
 1.5 19-Apr-2018  christos branches: 1.5.2;
s/static inline/static __inline/g for consistency.
 1.4 24-Jul-2010  jruoho branches: 1.4.52; 1.4.58;
Revert the previous partially for the time being.
 1.3 24-Jul-2010  jruoho Move ACPI_FLUSH_CPU_CACHE() (a.k.a. WBINVD on x86) to MD headers where it
belongs to. Let IA-64 define its own function/instruction instead of
requiring a dummy wbinvd() to satisfy the definition in a MI header.
 1.2 08-Mar-2010  jruoho branches: 1.2.2;
Add missing (FreeBSD) license. Ok jmcneill@.
 1.1 24-May-2008  jmcneill branches: 1.1.2; 1.1.4; 1.1.8; 1.1.22; 1.1.26;
MI implementation of AcpiAcquireGlobalLock and AcpiReleaseGlobalLock.
 1.1.26.2 17-Aug-2010  uebayasi Sync with HEAD.
 1.1.26.1 30-Apr-2010  uebayasi Sync with HEAD.
 1.1.22.4 11-Aug-2010  yamt sync with head.
 1.1.22.3 11-Mar-2010  yamt sync with head
 1.1.22.2 04-May-2009  yamt sync with head.
 1.1.22.1 24-May-2008  yamt file acpi_func.h was added on branch yamt-nfs-mp on 2009-05-04 08:12:34 +0000
 1.1.8.2 23-Jun-2008  wrstuden Add files to branch that were added on -current.

After this, all that's left of update is to merge some changes
that had conflicts.
 1.1.8.1 24-May-2008  wrstuden file acpi_func.h was added on branch wrstuden-revivesa on 2008-06-23 05:02:13 +0000
 1.1.4.2 04-Jun-2008  yamt sync with head
 1.1.4.1 24-May-2008  yamt file acpi_func.h was added on branch yamt-pf42 on 2008-06-04 02:05:10 +0000
 1.1.2.2 02-Jun-2008  mjf Sync with HEAD.
 1.1.2.1 24-May-2008  mjf file acpi_func.h was added on branch mjf-devfs2 on 2008-06-02 13:23:13 +0000
 1.2.2.1 05-Mar-2011  rmind sync with head
 1.4.58.2 20-Oct-2018  pgoyette Sync with head
 1.4.58.1 22-Apr-2018  pgoyette Sync with HEAD
 1.4.52.1 01-Aug-2023  martin Pull up following revision(s) (requested by riastradh in ticket #1873):

sys/dev/acpi/acpica/acpi_func.h: revision 1.7 (patch)

acpi(4): Fix membars in ACPI_ACQUIRE/RELEASE_GLOBAL_LOCK.
 1.5.2.1 10-Jun-2019  christos Sync with HEAD
 1.6.30.1 01-Aug-2023  martin Pull up following revision(s) (requested by riastradh in ticket #290):

sys/dev/acpi/acpica/acpi_func.h: revision 1.7

acpi(4): Fix membars in ACPI_ACQUIRE/RELEASE_GLOBAL_LOCK.
 1.6.4.1 01-Aug-2023  martin Pull up following revision(s) (requested by riastradh in ticket #1692):

sys/dev/acpi/acpica/acpi_func.h: revision 1.7 (patch)

acpi(4): Fix membars in ACPI_ACQUIRE/RELEASE_GLOBAL_LOCK.
 1.15 17-Feb-2011  jruoho Switch acpi(4) to use the new location of ACPICA.
 1.14 18-Aug-2009  jmcneill branches: 1.14.4; 1.14.6; 1.14.8;
Switch to ACPICA 20090730, and update for API changes.
 1.13 09-Dec-2007  jmcneill branches: 1.13.14;
Merge jmcneill-pm branch.
 1.12 23-Mar-2006  kochi branches: 1.12.32; 1.12.34; 1.12.44; 1.12.46;
Move ACPI-CA to sys/dist/acpica.
also move ACPI-CA OS dependent sources from sys/dev/acpi/acpica/Osd to
sys/dev/acpi/acpica.
 1.11 29-Jan-2006  kochi branches: 1.11.2; 1.11.4; 1.11.6; 1.11.8; 1.11.10;
Merge ACPI-CA 20060113
 1.10 11-Dec-2005  christos branches: 1.10.2;
merge ktrace-lwp.
 1.9 13-Dec-2003  kochi branches: 1.9.16;
Merge ACPI-CA 20031203
 1.8 26-Nov-2003  kochi Remove unused file.
 1.7 31-Oct-2003  mycroft Add a file.
 1.6 08-Jul-2003  kochi Don't compile db*.c & dm*.c unless ACPI_DEBUG and DDB are specified
 1.5 04-Mar-2003  kochi branches: 1.5.2;
Update for acpica-unix-20030228.
 1.4 13-Feb-2003  kanaoka Resolve conflict from acpica-unix-20030123.
 1.3 23-Dec-2002  kanaoka Resolve conflict from acpica-unix-20021205.
 1.2 15-Jun-2002  thorpej Update for acpica-unix-20020612.
 1.1 28-Sep-2001  thorpej branches: 1.1.2; 1.1.4; 1.1.8; 1.1.16;
config(8) files declaration for ACPICA.
 1.1.16.1 20-Jun-2002  gehenna catch up with -current.
 1.1.8.3 23-Jun-2002  jdolecek catch up with -current on kqueue branch
 1.1.8.2 10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.1.8.1 28-Sep-2001  thorpej file files.acpica was added on branch kqueue on 2002-01-10 19:52:55 +0000
 1.1.4.4 29-Dec-2002  thorpej Sync with HEAD.
 1.1.4.3 20-Jun-2002  nathanw Catch up to -current.
 1.1.4.2 08-Oct-2001  nathanw Catch up to -current.
 1.1.4.1 28-Sep-2001  nathanw file files.acpica was added on branch nathanw_sa on 2001-10-08 21:18:07 +0000
 1.1.2.2 01-Oct-2001  fvdl Catch up with -current.
 1.1.2.1 28-Sep-2001  fvdl file files.acpica was added on branch thorpej-devvp on 2001-10-01 12:44:19 +0000
 1.5.2.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.2.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.2.1 03-Aug-2004  skrll Sync with HEAD
 1.9.16.2 21-Jan-2008  yamt sync with head
 1.9.16.1 21-Jun-2006  yamt sync with head.
 1.10.2.1 01-Feb-2006  yamt sync with head.
 1.11.10.1 28-Mar-2006  tron Merge 2006-03-28 NetBSD-current into the "peter-altq" branch.
 1.11.8.1 19-Apr-2006  elad sync with head.
 1.11.6.1 01-Apr-2006  yamt sync with head.
 1.11.4.1 22-Apr-2006  simonb Sync with head.
 1.11.2.1 09-Sep-2006  rpaulo sync with head
 1.12.46.1 11-Dec-2007  yamt sync with head.
 1.12.44.1 26-Dec-2007  ad Sync with head.
 1.12.34.1 09-Jan-2008  matt sync with HEAD
 1.12.32.1 02-Oct-2007  jmcneill Update to ACPI-CA 20070320
 1.13.14.1 19-Aug-2009  yamt sync with head.
 1.14.8.1 17-Feb-2011  bouyer Sync with HEAD
 1.14.6.1 06-Jun-2011  jruoho Sync with HEAD.
 1.14.4.1 05-Mar-2011  rmind sync with head

RSS XML Feed