Home | History | Annotate | Download | only in pci
History log of /src/sys/arch/i386/pci/piixpcib.c
RevisionDateAuthorComments
 1.24  18-Oct-2019  hannken Add missing include -- kernel ALL/i386 compiles.
 1.23  18-Oct-2019  manu Make sure no bioscall is issued when booting off UEFI system
 1.22  11-Jul-2016  msaitoh branches: 1.22.18;
KNF. No functional change.
 1.21  01-Jul-2011  dyoung branches: 1.21.12; 1.21.30;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.20  04-Apr-2011  dyoung Neither pci_dma64_available(), pci_probe_device(), pci_mapreg_map(9),
pci_find_rom(), pci_intr_map(9), pci_enumerate_bus(), nor the match
predicate passed to pciide_compat_intr_establish() should ever modify
their pci_attach_args argument, so make their pci_attach_args arguments
const and deal with the fallout throughout the kernel.

For the most part, these changes add a 'const' where there was no
'const' before, however, some drivers and MD code used to modify
pci_attach_args. Now those drivers either copy their pci_attach_args
and modify the copy, or refrain from modifying pci_attach_args:

Xen: according to Manuel Bouyer, writing to pci_attach_args in
pci_intr_map() was a leftover from Xen 2. Probably a bug. I
stopped writing it. I have not tested this change.

siside(4): sis_hostbr_match() needlessly wrote to pci_attach_args.
Probably a bug. I use a temporary variable. I have not tested this
change.

slide(4): sl82c105_chip_map() overwrote the caller's pci_attach_args.
Probably a bug. Use a local pci_attach_args. I have not tested
this change.

viaide(4): via_sata_chip_map() and via_sata_chip_map_new() overwrote the
caller's pci_attach_args. Probably a bug. Make a local copy of the
caller's pci_attach_args and modify the copy. I have not tested
this change.

While I'm here, make pci_mapreg_submap() static.

With these changes in place, I have tested the compilation of these
kernels:

alpha GENERIC
amd64 GENERIC XEN3_DOM0
arc GENERIC
atari HADES MILAN-PCIIDE
bebox GENERIC
cats GENERIC
cobalt GENERIC
evbarm-eb NSLU2
evbarm-el ADI_BRH ARMADILLO9 CP3100 GEMINI GEMINI_MASTER GEMINI_SLAVE GUMSTIX
HDL_G IMX31LITE INTEGRATOR IQ31244 IQ80310 IQ80321 IXDP425 IXM1200
KUROBOX_PRO LUBBOCK MARVELL_NAS NAPPI SHEEVAPLUG SMDK2800 TEAMASA_NPWR
TEAMASA_NPWR_FC TS7200 TWINTAIL ZAO425
evbmips-el AP30 DBAU1500 DBAU1550 MALTA MERAKI MTX-1 OMSAL400 RB153 WGT624V3
evbmips64-el XLSATX
evbppc EV64260 MPC8536DS MPC8548CDS OPENBLOCKS200 OPENBLOCKS266
OPENBLOCKS266_OPT P2020RDB PMPPC RB800 WALNUT
hp700 GENERIC
i386 ALL XEN3_DOM0 XEN3_DOMU
ibmnws GENERIC
macppc GENERIC
mvmeppc GENERIC
netwinder GENERIC
ofppc GENERIC
prep GENERIC
sandpoint GENERIC
sgimips GENERIC32_IP2x
sparc GENERIC_SUN4U KRUPS
sparc64 GENERIC

As of Sun Apr 3 15:26:26 CDT 2011, I could not compile these kernels
with or without my patches in place:

### evbmips-el GDIUM

nbmake: nbmake: don't know how to make /home/dyoung/pristine-nbsd/src/sys/arch/mips/mips/softintr.c. Stop

### evbarm-el MPCSA_GENERIC
src/sys/arch/evbarm/conf/MPCSA_GENERIC:318: ds1672rtc*: unknown device `ds1672rtc'

### ia64 GENERIC

/tmp/genassym.28085/assym.c: In function 'f111':
/tmp/genassym.28085/assym.c:67: error: invalid application of 'sizeof' to incomplete type 'struct pcb'
/tmp/genassym.28085/assym.c:76: error: dereferencing pointer to incomplete type

### sgimips GENERIC32_IP3x

crmfb.o: In function `crmfb_attach':
crmfb.c:(.text+0x2304): undefined reference to `ddc_read_edid'
crmfb.c:(.text+0x2304): relocation truncated to fit: R_MIPS_26 against `ddc_read_edid'
crmfb.c:(.text+0x234c): undefined reference to `edid_parse'
crmfb.c:(.text+0x234c): relocation truncated to fit: R_MIPS_26 against `edid_parse'
crmfb.c:(.text+0x2354): undefined reference to `edid_print'
crmfb.c:(.text+0x2354): relocation truncated to fit: R_MIPS_26 against `edid_print'
 1.19  26-Jul-2010  jym branches: 1.19.2;
Add PAE to ALL kernel, so that most paddr_t format string errors get caught
during compilation.

While here, fix the compilation for ALL.
 1.18  24-Feb-2010  dyoung branches: 1.18.2;
A pointer typedef entails trading too much flexibility to declare const
and non-const types, and the kernel uses both const and non-const
PMF qualifiers and device suspensors, so change the pmf_qual_t and
device_suspensor_t typedefs from "pointers to const" to non-pointer,
non-const types.
 1.17  08-Jan-2010  dyoung branches: 1.17.2;
Expand PMF_FN_* macros.
 1.16  20-Jul-2008  martin branches: 1.16.8;
Rearange softc so it starts with a struct pcib. We reuse the x86 pcib code
which assumes this.
 1.15  05-May-2008  xtraeme branches: 1.15.2; 1.15.4; 1.15.6;
device_t/softc split and other related cosmetic changes.
 1.14  28-Apr-2008  martin Remove clause 3 and 4 from TNF licenses
 1.13  04-Apr-2008  cegger branches: 1.13.2; 1.13.4;
use aprint_*_dev and device_xname
OK joerg
 1.12  29-Feb-2008  dyoung Use PMF_FN_ARGS, PMF_FN_PROTO.
 1.11  09-Dec-2007  jmcneill branches: 1.11.6; 1.11.10;
Merge jmcneill-pm branch.
 1.10  16-Nov-2006  christos branches: 1.10.26; 1.10.28; 1.10.38; 1.10.40;
__unused removal on arguments; approved by core.
 1.9  12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.8  24-Sep-2006  jmcneill Add "name" parameter to powerhook_establish, to aid debugging. No objections
on tech-kern@
 1.7  22-Jun-2006  jmcneill branches: 1.7.4; 1.7.6; 1.7.8;
Add an 'uninit' callback to PCI ICU drivers. This allows (for example) the
PIIX support to release its mapping on the edge/level control registers.

Now that these are guaranteed to be unmapped, capture and restore the
registers in piixpcib(4)'s powerhook. The same will need to be done on a
per-chipset basis.

Concerns were raised about calling pci_intr_fixup on resume WRT hotplug
devices, so this has been removed.

Ok cube@.
 1.6  19-Jun-2006  jmcneill branches: 1.6.2;
cube@ says that acpi_pci_fixup() only writes in devices interrupt line
registers, so restore the PCI-ISA bridge IRQ routing here again.
 1.5  19-Jun-2006  jmcneill Don't try to fixup PCI interrupt routing here; we're going to use ACPI to
do this for us instead. This prevents us from having to write chipset
specific support -- yay!
 1.4  17-Jun-2006  mrg add another GCC4 uninitialised variable warning. it only shows with -O3.
 1.3  16-Jun-2006  jmcneill Restore standard PCI configuration registers as well as PIRQX route control
registers on the PIIX4. This fixes up interrupt routing, and makes ACPI S3
suspend/resume work on my Sony Vaio.
 1.2  06-May-2006  jdc branches: 1.2.2; 1.2.4; 1.2.6; 1.2.8; 1.2.10; 1.2.12;
Match on subclass bridge/miscellaneous too.
Makes this work on an IBM Thinkpad T20.
OK'd jmcneill.
 1.1  06-May-2006  jmcneill Add SpeedStep SMI support for Intel PIIX4 based Pentium III processors.
 1.2.12.1  13-Jul-2006  gdamore Merge from HEAD.
 1.2.10.2  01-Jun-2006  kardel Sync with head.
 1.2.10.1  06-May-2006  kardel file piixpcib.c was added on branch simonb-timecounters on 2006-06-01 22:34:53 +0000
 1.2.8.2  24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.2.8.1  06-May-2006  tron file piixpcib.c was added on branch peter-altq on 2006-05-24 15:47:58 +0000
 1.2.6.3  26-Jun-2006  yamt sync with head.
 1.2.6.2  24-May-2006  yamt sync with head.
 1.2.6.1  06-May-2006  yamt file piixpcib.c was added on branch yamt-pdpolicy on 2006-05-24 10:56:52 +0000
 1.2.4.1  19-Jun-2006  chap Sync with head.
 1.2.2.2  11-May-2006  elad sync with head
 1.2.2.1  06-May-2006  elad file piixpcib.c was added on branch elad-kernelauth on 2006-05-11 23:26:47 +0000
 1.6.2.5  17-Mar-2008  yamt sync with head.
 1.6.2.4  21-Jan-2008  yamt sync with head
 1.6.2.3  30-Dec-2006  yamt sync with head.
 1.6.2.2  21-Jun-2006  yamt sync with head.
 1.6.2.1  19-Jun-2006  yamt file piixpcib.c was added on branch yamt-lazymbuf on 2006-06-21 14:52:31 +0000
 1.7.8.2  10-Dec-2006  yamt sync with head.
 1.7.8.1  22-Oct-2006  yamt sync with head
 1.7.6.2  09-Sep-2006  rpaulo sync with head
 1.7.6.1  22-Jun-2006  rpaulo file piixpcib.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:40:14 +0000
 1.7.4.1  18-Nov-2006  ad Sync with head.
 1.10.40.1  11-Dec-2007  yamt sync with head.
 1.10.38.1  26-Dec-2007  ad Sync with head.
 1.10.28.2  23-Mar-2008  matt sync with HEAD
 1.10.28.1  09-Jan-2008  matt sync with HEAD
 1.10.26.3  08-Dec-2007  jmcneill Rename pnp(9) -> pmf(9), as requested by many.
 1.10.26.2  12-Nov-2007  joerg Convert to new PM API.
 1.10.26.1  05-Sep-2007  jmcneill XXX because of pcibattach, we need to keep our softcs in sync with pcib(4)
 1.11.10.3  28-Sep-2008  mjf Sync with HEAD.
 1.11.10.2  02-Jun-2008  mjf Sync with HEAD.
 1.11.10.1  03-Apr-2008  mjf Sync with HEAD.
 1.11.6.1  24-Mar-2008  keiichi sync with head.
 1.13.4.4  11-Aug-2010  yamt sync with head.
 1.13.4.3  11-Mar-2010  yamt sync with head
 1.13.4.2  04-May-2009  yamt sync with head.
 1.13.4.1  16-May-2008  yamt sync with head.
 1.13.2.1  18-May-2008  yamt sync with head.
 1.15.6.1  19-Oct-2008  haad Sync with HEAD.
 1.15.4.1  28-Jul-2008  simonb Sync with head.
 1.15.2.1  18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.16.8.3  27-Aug-2011  jym Sync with HEAD. Most notably: uvm/pmap work done by rmind@, and MP Xen
work of cherry@.

No regression observed on suspend/restore.
 1.16.8.2  02-May-2011  jym Sync with head.
 1.16.8.1  24-Oct-2010  jym Sync with HEAD
 1.17.2.2  17-Aug-2010  uebayasi Sync with HEAD.
 1.17.2.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.18.2.2  21-Apr-2011  rmind sync with head
 1.18.2.1  05-Mar-2011  rmind sync with head
 1.19.2.1  06-Jun-2011  jruoho Sync with HEAD.
 1.21.30.1  05-Oct-2016  skrll Sync with HEAD
 1.21.12.1  03-Dec-2017  jdolecek update from HEAD
 1.22.18.1  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411

RSS XML Feed