Home | History | Annotate | only in /src/sys/arch/cobalt/pci
History log of /src/sys/arch/cobalt/pci
RevisionDateAuthorComments
 1.2 31-Mar-2000  soren Some cleanups.
 1.1 19-Mar-2000  soren NetBSD/cobalt. Work-in-progress.
 1.11 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.10 09-May-2008  tsutsui Split softc/device_t, with misc related changes.
 1.9 22-Aug-2006  riz branches: 1.9.56; 1.9.58; 1.9.60; 1.9.62;
Vendor GALILEO is now MARVELL.
 1.8 05-Apr-2006  tsutsui branches: 1.8.6;
ANSIfy.
 1.7 11-Dec-2005  christos branches: 1.7.4; 1.7.6; 1.7.8; 1.7.10; 1.7.12;
merge ktrace-lwp.
 1.6 15-Jul-2003  lukem branches: 1.6.6; 1.6.16;
__KERNEL_RCSID()
 1.5 02-Oct-2002  thorpej branches: 1.5.6;
Use CFATTACH_DECL().
 1.4 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.3 29-May-2000  soren branches: 1.3.4; 1.3.8; 1.3.12;
Identify system controller model.
 1.2 31-Mar-2000  soren branches: 1.2.2;
Some cleanups.
 1.1 19-Mar-2000  soren NetBSD/cobalt. Work-in-progress.
 1.2.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.3.12.1 18-Oct-2002  nathanw Catch up to -current.
 1.3.8.1 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.3.4.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.3.4.1 29-May-2000  bouyer file pchb.c was added on branch thorpej_scsipi on 2000-11-20 20:07:10 +0000
 1.5.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.5.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.5.6.1 03-Aug-2004  skrll Sync with HEAD
 1.6.16.2 30-Dec-2006  yamt sync with head.
 1.6.16.1 21-Jun-2006  yamt sync with head.
 1.6.6.1 11-Sep-2006  tron Pull up following revision(s) (requested by riz in ticket #10693):
sys/arch/cobalt/pci/pchb.c: revision 1.9 via patch
sys/dev/pci/if_sk.c: revision 1.30 via patch
sys/arch/evbmips/malta/pci/pchb.c: revision 1.9 via patch
Vendor GALILEO is now MARVELL.
 1.7.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.7.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.7.8.2 03-Sep-2006  yamt sync with head.
 1.7.8.1 11-Apr-2006  yamt sync with head
 1.7.6.1 22-Apr-2006  simonb Sync with head.
 1.7.4.1 09-Sep-2006  rpaulo sync with head
 1.8.6.1 08-Sep-2006  rpaulo Pull up following revision(s) (requested by riz in ticket #139):
sys/arch/cobalt/pci/pchb.c: revision 1.9
sys/dev/pci/if_sk.c: revision 1.30
sys/arch/cobalt/pci/pci_machdep.c: revision 1.24
sys/dev/pci/pcidevs: revision 1.820
sys/arch/evbmips/malta/pci/pchb.c: revision 1.9
Rename vendor GALILEO -> vendor MARVELL . Marvell bought Galileo years
ago, we have little existing stuff in the tree, and this will make it
easier to keep certain network drivers in sync with other OSes.
OK matt@, uwe@
Vendor GALILEO is now MARVELL.
 1.9.62.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.9.60.1 16-May-2008  yamt sync with head.
 1.9.58.1 18-May-2008  yamt sync with head.
 1.9.56.1 02-Jun-2008  mjf Sync with HEAD.
 1.38 02-Oct-2015  msaitoh PCI Extended Configuration stuff written by nonaka@:
- Add PCI Extended Configuration Space support into x86.
- Check register offset of pci_conf_read() in MD part. It returns (pcireg_t)-1
if it isn't accessible.
- Decode Extended Capability in PCI Extended Configuration Space.
Currently the following extended capabilities are decoded:
- Advanced Error Reporting
- Virtual Channel
- Device Serial Number
- Power Budgeting
- Root Complex Link Declaration
- Root Complex Event Collector Association
- Access Control Services
- Alternative Routing-ID Interpretation
- Address Translation Services
- Single Root IO Virtualization
- Page Request
- TPH Requester
- Latency Tolerance Reporting
- Secondary PCI Express
- Process Address Space ID
- LN Requester
- L1 PM Substates
The following extended capabilities are not decoded yet:
- Root Complex Internal Link Control
- Multi-Function Virtual Channel
- RCRB Header
- Vendor Unique
- Configuration Access Correction
- Multiple Root IO Virtualization
- Multicast
- Resizable BAR
- Dynamic Power Allocation
- Protocol Multiplexing
- Downstream Port Containment
- Precision Time Management
- M-PCIe
- Function Reading Status Queueing
- Readiness Time Reporting
- Designated Vendor-Specific
 1.37 09-Jun-2015  matt #include <sys/cpu.h> or <mips/cpuregs.h> as needed
 1.36 29-Jul-2014  skrll branches: 1.36.4;
Convert cobalt to generic mips bus_dma.
 1.35 29-Mar-2014  christos branches: 1.35.2;
make pci_intr_string and eisa_intr_string take a buffer and a length
instead of relying in local static storage.
 1.34 26-Mar-2014  christos kill sprintf
 1.33 27-Oct-2012  chs branches: 1.33.2;
split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.32 09-Jul-2011  matt branches: 1.32.2; 1.32.12;
Cleanup kernel files to use sys variants for bus.h, cpu.h, and intr.h
Use <mips/..> for db_machdep.h and psl.h
 1.31 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.30 03-May-2011  tsutsui TAB/space cosmetics.
 1.29 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.28 20-Feb-2011  matt Merge forward from matt-nb5-mips64.
(XXX generic kernels on raq2 die after interrupts are enabled but gxemul
works fine).
 1.27 30-May-2008  ad branches: 1.27.20; 1.27.26; 1.27.28;
pci_intr_setattr(), allows PCI interrupts to be marked MPSAFE on x86, and
other platforms if the code is added.

pci_intr_map(...)
pci_intr_setattr(pc, ih, PCI_INTR_MPSAFE, 1);
pci_intr_establish(...)
 1.26 22-Mar-2008  tsutsui branches: 1.26.2; 1.26.4; 1.26.6;
Reorganize interrupt handling on cobalt and allow multiple interrupts on
each icu irq to support multi function PCI devices in the Qube's PCI slot:

- split out interrupt stuff from machdep.c into new interrupt.c
- prepare struct *_intrhead to handle cpu and icu interrupts
- use LIST and malloc(9) to handle multiple interrupts per icu irq
(mostly taken from algor/pci/pcib.c and evbmips/malta/pci/pcib.c)
- move evcnt(9) stuff into *_intrhead from cobalt_intrhand
(i.e. make it per interrupt rather than per handler)
- in pci_intr_map(9) handle CPU interrupt separately and add a sanity check
- fixup interrupt lines for devices on the PCI slot in pci_conf_interrupt(9)
- move some device address definitions into <machine/cpu.h> and
remove <machine/leds.h>
- misc cosmetics

No objection on port-cobalt for three weeks.
 1.25 18-Feb-2007  tsutsui branches: 1.25.42;
According to info from Byron Servies on port-cobalt,
the interrupt line from the primary (and only) tulip Ethernet
on Qube2700 is connected to CPU INT2, so handle it properly
in pci_intr_map(9).
 1.24 22-Aug-2006  riz branches: 1.24.6; 1.24.8; 1.24.10;
Vendor GALILEO is now MARVELL.
 1.23 15-Jul-2006  tsutsui branches: 1.23.2;
- configure PCI space for viaide so that DMA will work even if the firmware
doesn't map DMA registers properly
- enable viaide secondary port explicitly which isn't enabled by some firmware

Tested on RaQ and RaQ2.
 1.22 18-Apr-2006  tsutsui Check more invalid devices in pci_conf_hook(9).
 1.21 09-Apr-2006  tsutsui Replace some magic numbers with macro.
 1.20 05-Apr-2006  tsutsui ANSIfy.
 1.19 10-Feb-2006  gdamore branches: 1.19.2; 1.19.4; 1.19.6;
PCI_NETBSD_CONFIGURE should allocate (but not map) address space expansion
ROMS by default. Full discussion at
http://mail-index.netbsd.org/tech-kern/2005/12/16/0023.html
Closes PR kern/32467
Reviewed by briggs@
 1.18 11-Dec-2005  christos branches: 1.18.2; 1.18.4; 1.18.6;
merge ktrace-lwp.
 1.17 25-Mar-2005  tsutsui branches: 1.17.2;
Switch cobalt port to use MI pci_configure_bus(9)
with options PCI_NETBSD_CONFIGURE.
Patch from KIYOHARA Takashi on port-cobalt.

This change makes siop(4) (and maybe all other PCI devices
using pci mem space) work on cobalt.
 1.16 28-Aug-2004  tsutsui branches: 1.16.4; 1.16.6; 1.16.10;
- Use bus_space(9) to access PCI configuration registers on GT64111.
- Remove unused pci stuff from mainbus.c.
 1.15 12-Sep-2003  tsutsui Use common mips generic software interrupt routines.
 1.14 12-Sep-2003  tsutsui TAB/space cleanup.
 1.13 15-Jul-2003  lukem __KERNEL_RCSID()
 1.12 13-Jan-2002  augustss branches: 1.12.16;
Implement pci_intr_disestablish().
 1.11 05-Feb-2001  tsutsui branches: 1.11.4; 1.11.8;
Fix typo on pci_intr_map() changes.
Reported by Shigeji Ishikawa <psybear@ogre.rim.or.jp> in port-cobalt/12121.
 1.10 28-Dec-2000  sommerfeld Change pci_intr_map to get interrupt source information from a "struct
pci_attach_args *" instead of from four separate parameters which in
all cases were extracted from the same "struct pci_attach_args".

This both simplifies the driver api, and allows for alternate PCI
interrupt mapping schemes, such as one using the tables described in
the Intel Multiprocessor Spec which describe interrupt wirings for
devices behind pci-pci bridges based on the device's location rather
the bridge's location.

Tested on alpha and i386; welcome to 1.5Q
 1.9 27-Jun-2000  soren branches: 1.9.2;
Don't include <vm/vm.h>.
 1.8 26-Jun-2000  mrg remove/move more mach vm header files:

<vm/pglist.h> -> <uvm/uvm_pglist.h>
<vm/vm_inherit.h> -> <uvm/uvm_inherit.h>
<vm/vm_kern.h> -> into <uvm/uvm_extern.h>
<vm/vm_object.h> -> nothing
<vm/vm_pager.h> -> into <uvm/uvm_pager.h>

also includes a bunch of <vm/vm_page.h> include removals (due to redudancy
with <vm/vm.h>), and a scattering of other similar headers.
 1.7 04-Jun-2000  cgd Implement the more flexiable `evcnt' interface as discussed (briefly) on
tech-kern and now documented in evcnt(9).
 1.6 29-May-2000  soren Different form of PCI bug workaround. Should make 2700 system work.
 1.5 09-Apr-2000  soren branches: 1.5.2;
The interrupt line registers for the devices wired directly to the CPU
are not meaningfull. Instead match them by {bus,device,pin}.
 1.4 31-Mar-2000  soren Some cleanups.
 1.3 21-Mar-2000  soren Blocking soft interrupts can be useful..
 1.2 21-Mar-2000  soren Extend the evil interrupt kludge to the second ethernet.
 1.1 19-Mar-2000  soren NetBSD/cobalt. Work-in-progress.
 1.5.2.1 22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.9.2.4 11-Feb-2001  bouyer Sync with HEAD.
 1.9.2.3 05-Jan-2001  bouyer Sync with HEAD
 1.9.2.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.9.2.1 27-Jun-2000  bouyer file pci_machdep.c was added on branch thorpej_scsipi on 2000-11-20 20:07:10 +0000
 1.11.8.1 28-Feb-2002  nathanw Catch up to -current.
 1.11.4.1 11-Feb-2002  jdolecek Sync w/ -current.
 1.12.16.5 01-Apr-2005  skrll Sync with HEAD.
 1.12.16.4 21-Sep-2004  skrll Fix the sync with head I botched.
 1.12.16.3 18-Sep-2004  skrll Sync with HEAD.
 1.12.16.2 03-Sep-2004  skrll Sync with HEAD
 1.12.16.1 03-Aug-2004  skrll Sync with HEAD
 1.16.10.4 12-Jun-2006  tron Pull up following revision(s) (requested by tsutsui in ticket #1359):
sys/arch/cobalt/pci/pci_machdep.c: revision 1.22
Check more invalid devices in pci_conf_hook(9).
 1.16.10.3 12-Jun-2006  tron Pull up following revision(s) (requested by tsutsui in ticket #1359):
sys/arch/cobalt/dev/gtreg.h: revision 1.3
sys/arch/cobalt/pci/pci_machdep.c: revision 1.21
Replace some magic numbers with macro.
 1.16.10.2 12-Jun-2006  tron Pull up following revision(s) (requested by tsutsui in ticket #1359):
sys/arch/cobalt/pci/pci_machdep.c: revision 1.20
ANSIfy.
 1.16.10.1 27-Mar-2005  tron Pull up revision 1.17 (requested by tsutsui in ticket #67):
Switch cobalt port to use MI pci_configure_bus(9)
with options PCI_NETBSD_CONFIGURE.
Patch from KIYOHARA Takashi on port-cobalt.
This change makes siop(4) (and maybe all other PCI devices
using pci mem space) work on cobalt.
 1.16.6.1 26-Mar-2005  yamt sync with head.
 1.16.4.1 29-Apr-2005  kent sync with -current
 1.17.2.4 24-Mar-2008  yamt sync with head.
 1.17.2.3 26-Feb-2007  yamt sync with head.
 1.17.2.2 30-Dec-2006  yamt sync with head.
 1.17.2.1 21-Jun-2006  yamt sync with head.
 1.18.6.1 22-Apr-2006  simonb Sync with head.
 1.18.4.1 09-Sep-2006  rpaulo sync with head
 1.18.2.1 18-Feb-2006  yamt sync with head.
 1.19.6.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.19.4.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.19.2.4 03-Sep-2006  yamt sync with head.
 1.19.2.3 11-Aug-2006  yamt sync with head
 1.19.2.2 24-May-2006  yamt sync with head.
 1.19.2.1 11-Apr-2006  yamt sync with head
 1.23.2.1 08-Sep-2006  rpaulo Pull up following revision(s) (requested by riz in ticket #139):
sys/arch/cobalt/pci/pchb.c: revision 1.9
sys/dev/pci/if_sk.c: revision 1.30
sys/arch/cobalt/pci/pci_machdep.c: revision 1.24
sys/dev/pci/pcidevs: revision 1.820
sys/arch/evbmips/malta/pci/pchb.c: revision 1.9
Rename vendor GALILEO -> vendor MARVELL . Marvell bought Galileo years
ago, we have little existing stuff in the tree, and this will make it
easier to keep certain network drivers in sync with other OSes.
OK matt@, uwe@
Vendor GALILEO is now MARVELL.
 1.24.10.1 03-Jun-2008  skrll Sync with netbsd-4.
 1.24.8.1 27-Feb-2007  yamt - sync with head.
- move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
 1.24.6.1 09-Mar-2008  bouyer Pull up following revision(s) (requested by tsutsui in ticket #1096):
sys/arch/cobalt/pci/pci_machdep.c: revision 1.25
sys/arch/cobalt/stand/boot/cons.c: revision 1.6
According to info from Byron Servies on port-cobalt,
the interrupt line from the primary (and only) tulip Ethernet
on Qube2700 is connected to CPU INT2, so handle it properly
in pci_intr_map(9).
cnscan() should return -1 (no input) if there is no console device.
Now wd boot works on Qube2700 (which doesn't have serial console).
 1.25.42.2 02-Jun-2008  mjf Sync with HEAD.
 1.25.42.1 03-Apr-2008  mjf Sync with HEAD.
 1.26.6.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.26.4.1 04-May-2009  yamt sync with head.
 1.26.2.1 04-Jun-2008  yamt sync with head
 1.27.28.1 05-Mar-2011  bouyer Sync with HEAD
 1.27.26.1 06-Jun-2011  jruoho Sync with HEAD.
 1.27.20.3 31-May-2011  rmind sync with head
 1.27.20.2 21-Apr-2011  rmind sync with head
 1.27.20.1 05-Mar-2011  rmind sync with head
 1.32.12.3 03-Dec-2017  jdolecek update from HEAD
 1.32.12.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.32.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.32.2.2 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.32.2.1 30-Oct-2012  yamt sync with head
 1.33.2.1 18-May-2014  rmind sync with head
 1.35.2.1 10-Aug-2014  tls Rebase.
 1.36.4.2 27-Dec-2015  skrll Sync with HEAD (as of 26th Dec)
 1.36.4.1 22-Sep-2015  skrll Sync with HEAD
 1.22 20-Dec-2023  thorpej Remove unnecessary <sys/malloc.h>.
 1.21 09-Jul-2011  matt Cleanup kernel files to use sys variants for bus.h, cpu.h, and intr.h
Use <mips/..> for db_machdep.h and psl.h
 1.20 01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.19 09-May-2008  tsutsui Split softc/device_t, with misc related changes.
 1.18 31-May-2006  tsutsui branches: 1.18.60; 1.18.62; 1.18.64; 1.18.66;
Cleanup ICU (i8259 compatible PIC) interrupt handling code:
- move ICU interrupt stuff from pci/pcib.h to cobalt/machdep.c
because ICU should be initialized before pcib is attached
- initialize ICU more properly
- check interrupt types and set ELCR (edge/level control registers)
accordingly in icu_intr_establish()
- check requested IRQ line and call only a necessary hander in icu_intr()
- use specific EOI to ack interrupts rather than AEOI
- use macro defined in <dev/ic/i8259reg.h>
 1.17 21-Apr-2006  tsutsui branches: 1.17.2;
Account interrupts by evcnt(9).
 1.16 21-Apr-2006  tsutsui Oops, fix botch in previous.
 1.15 21-Apr-2006  tsutsui Return if interrupt is handled in icu_intr().
 1.14 21-Apr-2006  tsutsui - add prefix ih_ to cookie_type member in struct cobalt_intrhand
- clear the cookie type in disestablish functions
- some cosmetics
 1.13 21-Apr-2006  tsutsui - replace magic numbers with a dumb macro
- fix typo
 1.12 05-Apr-2006  tsutsui ANSIfy, KNF
 1.11 11-Dec-2005  christos branches: 1.11.4; 1.11.6; 1.11.8; 1.11.10; 1.11.12;
merge ktrace-lwp.
 1.10 23-Apr-2004  itojun branches: 1.10.12;
pass string length (= boundary info) to pci_devinfo so that we do not run over
the end of memory region
 1.9 12-Sep-2003  tsutsui Use common mips generic software interrupt routines.
 1.8 12-Sep-2003  tsutsui TAB/space cleanup.
 1.7 15-Jul-2003  lukem __KERNEL_RCSID()
 1.6 02-Oct-2002  thorpej branches: 1.6.6;
Use CFATTACH_DECL().
 1.5 27-Sep-2002  thorpej Declare all cfattach structures const.
 1.4 10-Mar-2002  augustss Make icu_intr_disestablish() actually work.
 1.3 13-Jan-2002  augustss Implement pci_intr_disestablish().
 1.2 31-Mar-2000  soren branches: 1.2.6; 1.2.10; 1.2.14;
Some cleanups.
 1.1 19-Mar-2000  soren NetBSD/cobalt. Work-in-progress.
 1.2.14.3 18-Oct-2002  nathanw Catch up to -current.
 1.2.14.2 01-Apr-2002  nathanw Catch up to -current.
(CVS: It's not just a program. It's an adventure!)
 1.2.14.1 28-Feb-2002  nathanw Catch up to -current.
 1.2.10.3 10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.2.10.2 16-Mar-2002  jdolecek Catch up with -current.
 1.2.10.1 11-Feb-2002  jdolecek Sync w/ -current.
 1.2.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.6.1 31-Mar-2000  bouyer file pcib.c was added on branch thorpej_scsipi on 2000-11-20 20:07:10 +0000
 1.6.6.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.6.6.2 18-Sep-2004  skrll Sync with HEAD.
 1.6.6.1 03-Aug-2004  skrll Sync with HEAD
 1.10.12.1 21-Jun-2006  yamt sync with head.
 1.11.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.11.10.2 11-May-2006  elad sync with head
 1.11.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.11.8.3 26-Jun-2006  yamt sync with head.
 1.11.8.2 24-May-2006  yamt sync with head.
 1.11.8.1 11-Apr-2006  yamt sync with head
 1.11.6.2 01-Jun-2006  kardel Sync with head.
 1.11.6.1 22-Apr-2006  simonb Sync with head.
 1.11.4.1 09-Sep-2006  rpaulo sync with head
 1.17.2.1 19-Jun-2006  chap Sync with head.
 1.18.66.1 23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.18.64.1 16-May-2008  yamt sync with head.
 1.18.62.1 18-May-2008  yamt sync with head.
 1.18.60.1 02-Jun-2008  mjf Sync with HEAD.
 1.10 27-Oct-2012  chs split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
 1.9 09-Jul-2011  matt branches: 1.9.2; 1.9.12;
Cleanup kernel files to use sys variants for bus.h, cpu.h, and intr.h
Use <mips/..> for db_machdep.h and psl.h
 1.8 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.7 05-Apr-2006  tsutsui branches: 1.7.88; 1.7.94;
ANSIfy, KNF
 1.6 11-Dec-2005  christos branches: 1.6.4; 1.6.6; 1.6.8; 1.6.10; 1.6.12;
merge ktrace-lwp.
 1.5 12-Sep-2003  tsutsui branches: 1.5.16;
Use common mips generic software interrupt routines.
 1.4 15-Jul-2003  lukem __KERNEL_RCSID()
 1.3 13-Jan-2002  augustss branches: 1.3.16;
Implement pci_intr_disestablish().
 1.2 31-Mar-2000  soren branches: 1.2.6; 1.2.10; 1.2.14;
Some cleanups.
 1.1 19-Mar-2000  soren NetBSD/cobalt. Work-in-progress.
 1.2.14.1 28-Feb-2002  nathanw Catch up to -current.
 1.2.10.1 11-Feb-2002  jdolecek Sync w/ -current.
 1.2.6.2 20-Nov-2000  bouyer Update thorpej_scsipi to -current as of a month ago
A i386 GENERIC kernel compiles without the siop, ahc and bha drivers
(will be updated later). i386 IDE/ATAPI and ncr work, as well as
sparc/esp_sbus. alpha should work as well (untested yet).
siop, ahc and bha will be updated once I've updated the branch to current
-current, as well as machine-dependant code.
 1.2.6.1 31-Mar-2000  bouyer file pciide_machdep.c was added on branch thorpej_scsipi on 2000-11-20 20:07:10 +0000
 1.3.16.3 21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.16.2 18-Sep-2004  skrll Sync with HEAD.
 1.3.16.1 03-Aug-2004  skrll Sync with HEAD
 1.5.16.1 21-Jun-2006  yamt sync with head.
 1.6.12.1 24-May-2006  tron Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
 1.6.10.1 19-Apr-2006  elad sync with head - hopefully this will work
 1.6.8.1 11-Apr-2006  yamt sync with head
 1.6.6.1 22-Apr-2006  simonb Sync with head.
 1.6.4.1 09-Sep-2006  rpaulo sync with head
 1.7.94.1 06-Jun-2011  jruoho Sync with HEAD.
 1.7.88.1 21-Apr-2011  rmind sync with head
 1.9.12.1 20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.9.2.1 30-Oct-2012  yamt sync with head

RSS XML Feed