Home | History | Annotate | Download | only in pci
History log of /src/sys/arch/x86/pci/pciide_machdep.c
RevisionDateAuthorComments
 1.17  04-Nov-2017  cherry Remove bitrotted xen specific versions of pci, pciide machdep related code.

Use the common x86/ code instead.
 1.16  15-Oct-2016  jdolecek provide intr xname
 1.15  27-Jul-2015  msaitoh branches: 1.15.2;
KNF.
 1.14  27-Apr-2015  knakahara add intr_handle_t and let pci_intr_handle_t use it.
 1.13  12-May-2014  joerg branches: 1.13.4;
buf is only used in the ioapic case.
 1.12  29-Mar-2014  christos branches: 1.12.2;
make pci_intr_string and eisa_intr_string take a buffer and a length
instead of relying in local static storage.
 1.11  04-Apr-2011  dyoung branches: 1.11.4; 1.11.14; 1.11.18;
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.10  06-Nov-2010  jakllsch branches: 1.10.2;
Implement pciide_machdep_compat_intr_disestablish() to help enable
detachment of compatibility-mapped pciide(4)-family controllers.
 1.9  01-May-2009  cegger branches: 1.9.2; 1.9.4;
- struct device * -> device_t
- remove useless parenthesis
 1.8  16-Apr-2008  cegger branches: 1.8.4; 1.8.18;
- use aprint_*_dev and device_xname
- use POSIX integer types
 1.7  01-Dec-2007  jmcneill branches: 1.7.14;
aprintify
 1.6  16-Nov-2006  christos branches: 1.6.8; 1.6.26; 1.6.28; 1.6.34;
__unused removal on arguments; approved by core.
 1.5  12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.4  11-Dec-2005  christos branches: 1.4.20; 1.4.22;
merge ktrace-lwp.
 1.3  30-Oct-2003  fvdl branches: 1.3.4; 1.3.18;
* keep track of PCI buses that aren't known by firmware, but are found
by NetBSD
* use this info in in intr_find_mpmapping
* get rid of the last argument to intr_find_mpmapping, it was redundant
 1.2  16-Oct-2003  fvdl Add hooks and structures to allow the MP table intr mapping code a
better shot at finding a mapping. For PCI interrupts, if a bus
has no mappings, try its parent, with the swizzled pin, and the
bridge's device number.
 1.1  06-Sep-2003  fvdl Move the bulk of pci_intr_string into a seperate intr_string function. Use
that new function to print the pciide compat interrupt in pciide_machdep.c.
Share pciide_machdep.c between amd64 and i386.
 1.3.18.2  07-Dec-2007  yamt sync with head
 1.3.18.1  30-Dec-2006  yamt sync with head.
 1.3.4.4  21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.4.3  18-Sep-2004  skrll Sync with HEAD.
 1.3.4.2  03-Aug-2004  skrll Sync with HEAD
 1.3.4.1  30-Oct-2003  skrll file pciide_machdep.c was added on branch ktrace-lwp on 2004-08-03 10:43:04 +0000
 1.4.22.2  10-Dec-2006  yamt sync with head.
 1.4.22.1  22-Oct-2006  yamt sync with head
 1.4.20.1  18-Nov-2006  ad Sync with head.
 1.6.34.1  08-Dec-2007  mjf Sync with HEAD.
 1.6.28.1  09-Jan-2008  matt sync with HEAD
 1.6.26.1  01-Dec-2007  jmcneill Sync with HEAD.
 1.6.8.1  03-Dec-2007  ad Sync with HEAD.
 1.7.14.1  02-Jun-2008  mjf Sync with HEAD.
 1.8.18.4  02-May-2011  jym Sync with head.
 1.8.18.3  10-Jan-2011  jym Sync with HEAD
 1.8.18.2  01-Nov-2009  jym Sync with HEAD.
 1.8.18.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.8.4.1  04-May-2009  yamt sync with head.
 1.9.4.2  21-Apr-2011  rmind sync with head
 1.9.4.1  05-Mar-2011  rmind sync with head
 1.9.2.1  09-Nov-2010  uebayasi Sync with HEAD.
 1.10.2.1  06-Jun-2011  jruoho Sync with HEAD.
 1.11.18.1  18-May-2014  rmind sync with head
 1.11.14.2  03-Dec-2017  jdolecek update from HEAD
 1.11.14.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.11.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.12.2.1  10-Aug-2014  tls Rebase.
 1.13.4.3  05-Dec-2016  skrll Sync with HEAD
 1.13.4.2  22-Sep-2015  skrll Sync with HEAD
 1.13.4.1  06-Jun-2015  skrll Sync with HEAD
 1.15.2.1  04-Nov-2016  pgoyette Sync with HEAD

RSS XML Feed