Commit Graph

78 Commits

Author SHA1 Message Date
matt 93feeb1203 Fix lossage from boolean_t -> bool and updated x86 bus_dma. 2007-02-22 04:38:02 +00:00
christos 168cd830d2 __unused removal on arguments; approved by core. 2006-11-16 01:32:37 +00:00
christos 4d595fd7b1 - sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386
2006-10-12 01:30:41 +00:00
thorpej a9beff9534 Use aprint_*(). 2006-02-19 14:59:22 +00:00
christos 95e1ffb156 merge ktrace-lwp. 2005-12-11 12:16:03 +00:00
yamt fb4a1ff192 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.
2005-04-16 07:53:35 +00:00
perry 2454da651e de-__P, partially ANSIfy 2005-02-03 20:33:05 +00:00
itojun 8bcb745d7c sprintf -> snprintf 2004-04-22 00:31:00 +00:00
fvdl 7d342b5852 * 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
2003-10-30 21:19:54 +00:00
fvdl 6a6db3cbd9 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.
2003-10-16 22:56:29 +00:00
fvdl 601a2c4d48 Adapt tag initialisation to the new fields that were added recently. 2003-05-08 12:05:34 +00:00
fvdl ab4edb55ec Adapt for i386/x86 change. 2003-02-26 22:21:19 +00:00
fvdl ae4b76c8d3 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.
2002-11-22 15:23:35 +00:00
fvdl 26ab868e68 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.
2002-10-01 12:56:36 +00:00
provos 0f09ed48a5 remove trailing \n in panic(). approved perry. 2002-09-27 15:35:29 +00:00
lukem 95c969f245 add RCSID 2001-11-15 07:03:28 +00:00
lukem 103a49d158 delint: don't try & return something from void eisa_intr_disestablish() 2001-05-15 15:07:37 +00:00
thorpej e207174eb0 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.
2000-08-11 00:43:18 +00:00
cgd cffb580806 Implement the more flexiable `evcnt' interface as discussed (briefly) on
tech-kern and now documented in evcnt(9).
2000-06-04 19:14:14 +00:00
cgd 67ba5610b9 Moved to eisa_machdep.h,v 1999-03-19 02:56:58 +00:00
thorpej 66f9322f5f EISA and PCI do not require bouncing; specify a bounce threshold of 0. 1998-06-03 06:35:49 +00:00
thorpej ff701f8abb Garbage-collect the DMA tag's "_cookie" member; it's not used for anything. 1998-04-26 22:37:20 +00:00
thorpej cacadb7fbe Erg, typi. 1998-02-06 07:51:46 +00:00
thorpej fce12f0081 Notify other machine-dependent code that the EISA bus has been configured
in the attach hook.
1998-02-06 07:51:11 +00:00
thorpej 433c3cae0f Pull thorpej-bus-dma branch into mainline. 1997-06-06 23:10:23 +00:00
thorpej b84a8f42d9 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.
1996-10-21 23:12:56 +00:00
christos bd73314ed9 backout previous kprintf changes 1996-10-13 03:19:38 +00:00
christos 06555645c2 printf -> kprintf, sprintf -> ksprintf 1996-10-11 00:24:36 +00:00
explorer 5d76f7cbac remove unneeded placeholder 1996-09-11 05:24:25 +00:00
cgd 79e0a8a2b9 update for addition of a machine-dependent cookie as the first argument
to isa_intr_{,dis}establish().
1996-04-11 22:15:08 +00:00
cgd cd9ef2be9c 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.
1996-04-09 23:00:25 +00:00
cgd fedca4f133 Attach isa, eisa, and pci to mainbus now, rather than root. The i386
now has a single device tree (rather than a forest).  Also, attach
EISA only if it's present, and attach in order: PCI, EISA, ISA (most
specific to least specific).
1996-03-04 03:25:48 +00:00
mycroft dcfbdf711d Clean up deleted files. 1995-01-27 06:06:02 +00:00
mycroft 68c1a35cd9 Initialize host_stat and target_stat properly. 1995-01-18 04:20:16 +00:00
mycroft 87d587e640 Simplify some sanity checks. 1995-01-13 14:46:44 +00:00
mycroft 93a0c4a258 Add interrupt sharing types. 1995-01-03 01:42:11 +00:00
mycroft 8fd135209c Numerous changes. Many bugs fixed, better autoconfig, a few new features. 1994-12-28 19:42:47 +00:00
mycroft b7acf321cd No longer needs icu.h. 1994-11-04 18:59:34 +00:00
mycroft 195574a7de Change all of the uses of IRQ{0-15} and bit masks to use plain numbers
rather than bit shifting.
1994-11-04 18:57:15 +00:00
cgd 022ee8f7fe new RCS ID format. 1994-10-27 04:14:23 +00:00
mycroft 996b2b5c54 Disable EISA reset, for now. 1994-08-22 21:53:23 +00:00
mycroft b0db502d9c Remove diagnostic. 1994-08-07 10:49:06 +00:00
mycroft fb500c4d07 Redo some of the EISA config stuff. 1994-07-28 02:39:21 +00:00
mycroft 4ac4810048 Normalize. 1994-07-27 13:14:14 +00:00
mycroft 16878bf2f9 Enable IRQ probing. 1994-07-27 01:50:57 +00:00
mycroft a211907a8b Remove now-bogus cast. 1994-05-05 07:41:44 +00:00
cgd a0a7429482 lots of changes: prototype migration, move lots of variables, definitions,
and structure elements around.  kill some unnecessary type and macro
definitions.  standardize clock handling.  More changes than you'd want.
1994-05-05 05:35:42 +00:00
cgd e0db92993a change timeout/untimeout/wakeup/sleep/tsleep args to void * 1994-04-29 23:15:51 +00:00
mycroft 689156a240 Change structure member names. 1994-04-20 22:39:33 +00:00
mycroft 55efebae3e Fix return values from some interrupt routines. 1994-04-08 18:22:15 +00:00