Home | History | Annotate | Download | only in acpica
History log of /src/sys/dev/acpi/acpica/OsdHardware.c
RevisionDateAuthorComments
 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.

RSS XML Feed