Home | History | Annotate | Download | only in eisa
History log of /src/sys/arch/i386/eisa/eisa_machdep.c
RevisionDateAuthorComments
 1.42  01-May-2024  andvar Make eisa_machdep build without NIOAPIC > 0 by extracting irq definition.
 1.41  18-Jun-2022  andvar fix typos in word "functions" in comments, mainly s/fuctions/functions/.
 1.40  27-Apr-2015  knakahara fix i386 build for MSI/MSI-X support code.
 1.39  29-Mar-2014  christos branches: 1.39.6;
make pci_intr_string and eisa_intr_string take a buffer and a length
instead of relying in local static storage.
 1.38  18-Jun-2013  uebayasi branches: 1.38.2;
port-i386/47907: kernel trap when using EISA with I/O APIC on i386

Patch from Felix Deichmann.

XXX pullup netbsd-6
 1.37  01-Sep-2011  christos branches: 1.37.2; 1.37.8; 1.37.12;
Add bus_dma overrides. From dyoung
 1.36  27-Aug-2011  christos use c99 struct initializers
 1.35  01-Jul-2011  dyoung #include <sys/bus.h> instead of <machine/bus.h>.
 1.34  17-Nov-2009  dyoung Don't #include <sys/extent.h> any more because this module doesn't use
struct extent any more.
 1.33  17-Nov-2009  dyoung Delete unused functions eisa_mem_alloc() and eisa_mem_free().
 1.32  27-Jun-2008  cegger branches: 1.32.10;
struct device * -> device_t
 1.31  30-May-2008  ad branches: 1.31.2;
Add a 'known_mpsafe' argument to intr_establish().
 1.30  28-Apr-2008  martin branches: 1.30.2;
Remove clause 3 and 4 from TNF licenses
 1.29  22-Feb-2007  matt branches: 1.29.42; 1.29.44; 1.29.46;
Fix lossage from boolean_t -> bool and updated x86 bus_dma.
 1.28  16-Nov-2006  christos branches: 1.28.4;
__unused removal on arguments; approved by core.
 1.27  12-Oct-2006  christos - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
 1.26  19-Feb-2006  thorpej branches: 1.26.14; 1.26.16;
Use aprint_*().
 1.25  11-Dec-2005  christos branches: 1.25.2; 1.25.4; 1.25.6;
merge ktrace-lwp.
 1.24  16-Apr-2005  yamt branches: 1.24.2;
tweak x86 bus_dma code so that it can be used by xen port.

- distinguish paddr_t and bus_addr_t.
for xen, use bus_addr_t in the sense of machine address.
- move _X86_BUS_DMA_PRIVATE part of bus.h into bus_private.h.
- remove special handling of xen_shm. we can always grab
machine address from pte.
 1.23  03-Feb-2005  perry branches: 1.23.4;
de-__P, partially ANSIfy
 1.22  22-Apr-2004  itojun branches: 1.22.4; 1.22.6;
sprintf -> snprintf
 1.21  30-Oct-2003  fvdl * 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.20  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.19  08-May-2003  fvdl branches: 1.19.2;
Adapt tag initialisation to the new fields that were added recently.
 1.18  26-Feb-2003  fvdl Adapt for i386/x86 change.
 1.17  22-Nov-2002  fvdl New interrupt code. The basic idea behind it is to hide the differences
in interrupt controllers in struct pic, and try to keep as much
common code as possible. At the lowest (asm) level, this is done
with CPP macros.

The main structure is now struct intrsource, describing an established
interrupt line, of any kind (soft/hard local apic/legacy apic/IO apic).
For quick masking, there may be a maximum of 32 sources per CPU.
Sources can be assigned to any CPU in the MP case, though currently they
all go to the boot CPU.
 1.16  01-Oct-2002  fvdl Merge Bill Sommerfeld's i386 MP branch. This code has some known
caveats, but works quite well in a lot of MP cases, and all
UP cases that I have tested. Parts of this will hopefully be
reworked in the not-too-distant future.
 1.15  27-Sep-2002  provos remove trailing \n in panic(). approved perry.
 1.14  15-Nov-2001  lukem add RCSID
 1.13  15-May-2001  lukem branches: 1.13.2;
delint: don't try & return something from void eisa_intr_disestablish()
 1.12  11-Aug-2000  thorpej branches: 1.12.2;
Add functions to read EISA configuration data for MEM, IRQ, DMA, and IO.

XXX Just error stubs on the i386 right now -- someone needs to write
XXX EISA BIOS code for i386.
 1.11  04-Jun-2000  cgd branches: 1.11.2;
Implement the more flexiable `evcnt' interface as discussed (briefly) on
tech-kern and now documented in evcnt(9).
 1.10  03-Jun-1998  thorpej branches: 1.10.14; 1.10.22; 1.10.24;
EISA and PCI do not require bouncing; specify a bounce threshold of 0.
 1.9  26-Apr-1998  thorpej Garbage-collect the DMA tag's "_cookie" member; it's not used for anything.
 1.8  06-Feb-1998  thorpej Erg, typi.
 1.7  06-Feb-1998  thorpej Notify other machine-dependent code that the EISA bus has been configured
in the attach hook.
 1.6  06-Jun-1997  thorpej Pull thorpej-bus-dma branch into mainline.
 1.5  21-Oct-1996  thorpej branches: 1.5.8;
Implement eisa_mem_{alloc,free}(), a method for allocating/freeing
EISA bus physical address space.

This i386 implementation allocates system physical address space
after the end of RAM.
 1.4  13-Oct-1996  christos backout previous kprintf changes
 1.3  11-Oct-1996  christos printf -> kprintf, sprintf -> ksprintf
 1.2  11-Apr-1996  cgd update for addition of a machine-dependent cookie as the first argument
to isa_intr_{,dis}establish().
 1.1  09-Apr-1996  cgd make the EISA code look a bit more like the PCI code, in the way
the bus is configured, interrupts are handled, etc. define
eisa_chipset_tag_t and eisa_intr_handle_t types, and the following
functions:
eisa_attach_hook()
eisa_maxslots()
eisa_intr_map()
eisa_intr_string()
eisa_intr_establish()
eisa_intr_disestablish()
to do the right things for the i386.
 1.5.8.2  18-May-1997  thorpej Don't provide the dma tag in eisa_attach_hook().
 1.5.8.1  13-May-1997  thorpej Provide a bus dma tag to children via eisa_attach_hook().
 1.10.24.1  22-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.10.22.6  29-Dec-2001  sommerfeld Yet another mergeup.

New work:
- Frank van der Linden's tlb shootdown fix.
Mainline functionality merged:
- IrDA
- Kernel RCSID's
- Transmeta CPU support
- ACPI
- XMM register access through procfs
 1.10.22.5  23-May-2001  sommerfeld Merge branch with tonight's current.
boots multiuser.
 1.10.22.4  07-Jan-2001  sommerfeld Snapshot of merge-in-progress with -current.

[Not expected to build]. Catch up with the last N months worth of
changes to -current.
 1.10.22.3  21-Aug-2000  sommerfeld Give systems reporting EISA interrupts in the mpbios tables a prayer
of working.
 1.10.22.2  25-Jun-2000  sommerfeld Merge up to just-post-1.5 -current
 1.10.22.1  29-Feb-2000  sommerfeld (Untested) code for EISA interrupt routing.
 1.10.14.1  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.11.2.1  11-Aug-2000  thorpej Pullup from trunk:
Add EISA configuration readining infrastructure.
 1.12.2.4  11-Dec-2002  thorpej Sync with HEAD.
 1.12.2.3  18-Oct-2002  nathanw Catch up to -current.
 1.12.2.2  08-Jan-2002  nathanw Catch up to -current.
 1.12.2.1  21-Jun-2001  nathanw Catch up to -current.
 1.13.2.2  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.13.2.1  10-Jan-2002  thorpej Sync kqueue branch with -current.
 1.19.2.5  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.19.2.4  04-Feb-2005  skrll Sync with HEAD.
 1.19.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.19.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.19.2.1  03-Aug-2004  skrll Sync with HEAD
 1.22.6.1  12-Feb-2005  yamt sync with head.
 1.22.4.1  29-Apr-2005  kent sync with -current
 1.23.4.1  21-Apr-2005  tron Pull up revision 1.24 (requested by yamt in ticket #175):
tweak x86 bus_dma code so that it can be used by xen port.
- distinguish paddr_t and bus_addr_t.
for xen, use bus_addr_t in the sense of machine address.
- move _X86_BUS_DMA_PRIVATE part of bus.h into bus_private.h.
- remove special handling of xen_shm. we can always grab
machine address from pte.
 1.24.2.3  26-Feb-2007  yamt sync with head.
 1.24.2.2  30-Dec-2006  yamt sync with head.
 1.24.2.1  21-Jun-2006  yamt sync with head.
 1.25.6.1  22-Apr-2006  simonb Sync with head.
 1.25.4.1  09-Sep-2006  rpaulo sync with head
 1.25.2.1  01-Mar-2006  yamt sync with head.
 1.26.16.2  10-Dec-2006  yamt sync with head.
 1.26.16.1  22-Oct-2006  yamt sync with head
 1.26.14.1  18-Nov-2006  ad Sync with head.
 1.28.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.29.46.3  11-Mar-2010  yamt sync with head
 1.29.46.2  04-May-2009  yamt sync with head.
 1.29.46.1  16-May-2008  yamt sync with head.
 1.29.44.2  04-Jun-2008  yamt sync with head
 1.29.44.1  18-May-2008  yamt sync with head.
 1.29.42.2  29-Jun-2008  mjf Sync with HEAD.
 1.29.42.1  02-Jun-2008  mjf Sync with HEAD.
 1.30.2.2  18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.30.2.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.31.2.1  27-Jun-2008  simonb Sync with head.
 1.32.10.2  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.32.10.1  24-Oct-2010  jym Sync with HEAD
 1.37.12.3  03-Dec-2017  jdolecek update from HEAD
 1.37.12.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.37.12.1  23-Jun-2013  tls resync from head
 1.37.8.1  23-Jun-2013  bouyer Pull up following revision(s) (requested by uebayasi in ticket #904):
sys/arch/i386/eisa/eisa_machdep.c: revision 1.38
port-i386/47907: kernel trap when using EISA with I/O APIC on i386
Patch from Felix Deichmann.
XXX pullup netbsd-6
 1.37.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.38.2.1  18-May-2014  rmind sync with head
 1.39.6.1  06-Jun-2015  skrll Sync with HEAD

RSS XML Feed