Commit Graph

51 Commits

Author SHA1 Message Date
thorpej 3a7c4f5973 Don't panic if we detect an IRQ combination that can't be shared,
just return NULL.
2001-01-10 01:15:32 +00:00
thorpej 990d23039d NBPG -> PAGE_SIZE. 2000-11-14 22:55:51 +00:00
mrg b564830503 remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-29 08:44:03 +00:00
mycroft 43a543fa88 Implement CLKF_INTR(), to count interrupt time separately. 2000-06-04 21:27:38 +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
jdolecek 8fedbd8497 Add i386-specific part of MicroChannel Architecture bus support, as
found in some older IBM PS/2 machines.

This code is based upon work by Scott D. Telford, with some minor bits
in arch/i386/mca/mca_machdep.c taken from FreeBSD.

XXX this is still very experimental and development version; use at your
XXX own risk
2000-05-11 16:38:10 +00:00
drochner 59e13361f3 make "i386_isa_chipset" globally visible so it can be used from outside
the "isa" bus, attach "pnpbios" pseudo-bus if configured
1999-11-12 18:39:38 +00:00
drochner e5f51da9de -mask interrupts w/o a handler
-update PIC _after_ the interrupt handler is linked into the chain
This fixes problems with dynamically installed interrupt handlers:
Interrupts were enabled before the handler was installed under some
circumstances (esp. on faster machines), leading to endless interrupt
handling.
1999-10-25 14:49:41 +00:00
thorpej 11cae42531 Centralize the declaration and clearing of `cold'. 1999-09-17 19:59:35 +00:00
cgd d00106ee06 if you pull in isavar.h, you don't need isa_machdep.h. 1999-03-19 04:58:45 +00:00
augustss 332d7c138f Avoid arithmetic on `void *' since that's not ANSI C. 1999-01-08 18:10:35 +00:00
thorpej 49a45fed9b If the memory range of the machine is such that no bouncing is necessary,
or if the device is capable of 32-bit DMA (specified by ISABUS_DMA_32BIT),
clear the map's bounce threshold at map creation time.
1998-10-03 21:53:04 +00:00
mycroft c9a799adf6 Assign my copyrights to TNF. 1998-08-15 04:57:50 +00:00
thorpej 330d142f16 vm_offset_t -> {vaddr_t,paddr_t}, vm_size_t -> vsize_t 1998-08-13 21:36:02 +00:00
augustss d8582601c5 Make panic message a little more explicit. 1998-08-05 16:34:36 +00:00
perry 54f97ab9d1 bzero->memset, bcopy->memcpy 1998-08-05 02:28:26 +00:00
thorpej 98d02e5c94 Provide an isa_chipset_tag_t to the ISA bus device. 1998-06-09 00:12:00 +00:00
thorpej 6d29690288 Implement bounce buffers for mbufs. 1998-06-03 21:50:48 +00:00
thorpej 051c391187 Optimize the ISA DMA map load somewhat; don't traverse the buffer twice.
Instead, just attempt to do a normal load first.  If we exceed the bounce
threshold or the number of segments, then we bounce the transfer.
1998-06-03 06:37:54 +00:00
thorpej aefae6b463 Eliminate some needless indirection through ISA DMA front-end functions. 1998-04-27 00:21:57 +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
mycroft 1fc84bbd8d Add explicit int types for egcs, and nuke register. 1998-03-30 06:05:39 +00:00
thorpej 30aa56fc66 Use M_DMAMAP where appropriate. 1998-02-11 01:37:51 +00:00
thorpej 8abe76d2f0 Add offset and length parameters to bus_dmamap_sync(), used for specifiying
partial syncs of a DMA mapping.
1998-02-04 05:12:46 +00:00
thorpej 99cc8482d1 Change the last argument of bus_dmamap_sync() from bus_dmasync_op_t to int,
and allow more than one synchronization operation to be specified in
a single call.  Dissallow mixing of PRE and POST operations.
1998-02-04 01:57:27 +00:00
thorpej a7c5c1ef3c Add dm_mapsize to bus_dmamap_t and rename BUS_DMAMEM_NOSYNC to
BUS_DMA_COHERENT.
1998-02-04 00:32:55 +00:00
mycroft 22c1670658 Some rearrangement of the startup code:
* Move some of the memory bootstrapping and the DDB startup earlier.
* Always put the IDT and the initial GDT and LDT in a separate page.
* Various minor changes.
1998-01-23 00:44:02 +00:00
mycroft 6a310175c6 Some general cleanup:
* Call gdt_init() earlier on.
* Don't bother to check for TSS and LDT descriptors in verr_gdt().
* Nuke the sti special case for trace and breakpoint traps.
* Move some variable declarations into more appropriate locations.
1997-11-13 03:16:42 +00:00
thorpej 799112abbe Pull down from marc-pcmcia branch:
Implement new ISA interface functions:
* isa_intr_alloc() - allocate an ISA IRQ
* isa_mem_alloc() - allocate ISA memory space
* isa_mem_free() - free ISA memory space
1997-10-14 20:34:38 +00:00
thorpej 9e69444bbd Nuke __VM_PMAP_HACK. 1997-06-12 23:57:26 +00:00
thorpej 63bad43fa4 Pull thorpej-bus-dma branch into mainline. 1997-06-06 23:28:40 +00:00
mycroft f1b8a3c357 Make sure intrtype[] is set. (Curious where this got lost...) 1997-05-19 01:13:01 +00:00
mycroft 1963665c7e Add IPL_AUDIO. 1997-03-21 04:34:18 +00:00
mycroft b2038a332d Import interrupt priority changes from com patches:
* Make it a strict hierarchy.  (It was close anyway).
* Add `serial' and rename `softtty' to `softserial'.
* Make soft interrupts a bit less special-case.
1997-02-28 16:24:03 +00:00
thorpej 9a6796b559 In isa_attach_hook(), set a variable to indicate that an ISA bus has
been attached to the system.  If, by the time mainbus wants to attach
an ISA an ISA has not yet been attached to the system, attempt to attach
an ISA to mainbus.
1996-11-28 02:43:53 +00:00
mycroft 135b1cea1f Remove incomplete and unused `fast' vector code. 1996-11-20 14:09:07 +00:00
mycroft ecde95b64d clock >= tty | net | bio 1996-08-30 15:39:31 +00:00
mycroft a8e2ce97e4 Implement IPL_HIGH. 1996-05-12 23:06:06 +00:00
christos 099b45aa2a - Add missing prototypes.
- Fix gcc warnings
1996-05-03 19:14:50 +00:00
cgd 8f40bb43a8 add an isa_attach_hook() function which currently does nothing, and update
isa_intr_establish() and isa_intr_disestablish() to take an opaque cookie
as their (new) first argument.
1996-04-11 22:11:32 +00:00
cgd f5f5831829 make ISA bus match/attach and sub-device attachment machine-independent.
(remove that code from this file.)
1996-02-28 01:49:35 +00:00
mycroft db070d4271 Enforce the hierarchy: imp > tty > net > bio, to cater to lame PC devices. 1996-02-09 02:26:00 +00:00
mycroft 3da4b2a160 The IST_* and IPL_* constants are not bus-specific; don't treat them as such.
Change splimp -> splnet in Ethernet, ARCnet, and FDDI drivers.
1995-12-24 02:29:35 +00:00
mycroft 8096b83664 Eliminate soft segment descriptors; instead use a functional interface for
creating segment descriptors.  Add the duplicate system call gate used by
BSD/OS 2.0 executables.  Prototype setsegment() and setgate(), and fix a bogon
caught by this.
1995-10-09 06:34:11 +00:00
mycroft 3ee59cd771 Fix oversight in previous change; spl*() must also block
software interrupts.
1995-08-09 01:47:37 +00:00
mycroft 9fbf4d6f47 Make hardware interrupts always block all software interrupts. 1995-07-04 07:09:53 +00:00
cgd e58dfa2a1a make match/attach routines and cfdriver struct mi 1995-06-07 07:06:16 +00:00
mycroft bd99191320 IPL_IMP includes IPL_NET, IPL_BIO, and possibly IPL_TTY. 1995-06-04 08:32:24 +00:00
mycroft d3971b501d Remove relocation of Crtat from locore. 1995-04-21 04:51:30 +00:00
cgd eb1375b9c2 fix my IPL level off-by-one. also, rename intr_disestablish to
isa_intr_disestablish like i meant to before.
1995-04-19 06:14:13 +00:00