Commit Graph

67 Commits

Author SHA1 Message Date
tsutsui db09bcc34f Move todr_attach(9) calls from each MD attachment to MI mc146818_attach(). 2008-01-10 15:17:39 +00:00
ad 4b293a84e1 Interrupt handling changes, in discussion since February:
- Reduce available SPL levels for hardware devices to none, vm, sched, high.
- Acquire kernel_lock only for interrupts at IPL_VM.
- Implement threaded soft interrupts.
2007-12-03 15:33:00 +00:00
garbled d974db0ada Merge the ppcoea-renovation branch to HEAD.
This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree.  Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches.  The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
2007-10-17 19:52:51 +00:00
he ebf92f146a Adapt to the new signature of callout_init(). 2007-07-11 19:37:22 +00:00
ad 88ab7da936 Merge some of the less invasive changes from the vmlocking branch:
- kthread, callout, devsw API changes
- select()/poll() improvements
- miscellaneous MT safety improvements
2007-07-09 20:51:58 +00:00
he 582dc91458 More fixes after the caddr_t removal.
Mostly cast to char* for pointer arithmetic,
but also one missing indirection, and one "void *v, x;" fix.
2007-03-06 13:54:44 +00:00
christos 53524e44ef Kill caddr_t; there will be some MI fallout, but it will be fixed shortly. 2007-03-04 05:59:00 +00:00
hubertf 142c2a33ba Remove duplicate #includes, patch contributed in private mail
by Slava Semushin <slava.semushin@gmail.com>.

To verify that no nasty side effects of duplicate includes (or their
removal) have an effect here, I've compiled an i386/ALL kernel with
and without the patch, and the only difference in the resulting .o
files was in shifted line numbers in some assert() calls.
The comparison of the .o files was based on the output of "objdump -D".

Thanks to martin@ for the input on testing.
2007-01-24 13:08:11 +00:00
tsutsui 554727189c Use register macro defined in <dev/ic/i8259reg.h>. 2006-07-02 04:22:38 +00:00
tsutsui 0aa05e92ff Remove unused struct abus stuff. 2006-06-25 16:46:15 +00:00
tsutsui 04595a48c6 Before calling the handler of timer at isa for hardclock(9),
clear MIPS_SR_INT_IE in struct clockframe status to prevent
unintentional spllowersoftclock(9) in hardclock(9).
This may be required because current CLKF_BASEPRI() implementation
of NetBSD/arc doesn't check ICU_MASK and all ISA devices share
the same MIPS CPU INT2 interrupt.

BTW, has anyone tried IPL_ICU_MASK on any mips ports?
2006-06-13 13:51:31 +00:00
tsutsui 5c40f381f5 Account ISA interrupts by evcnt(9) 2006-06-12 15:39:01 +00:00
tsutsui 0f6618f084 - rename struct intrhand -> struct isa_intrhand
- remove unused ih_what member
2006-06-12 15:24:31 +00:00
tsutsui 8ce1487a46 Move arcsisabr.c from arc/isa to arc/dti because it's DescStation specific. 2006-06-12 15:04:40 +00:00
tsutsui 114eee6487 Check whether the specified interrupt handler is valid before referring it. 2006-06-11 06:34:52 +00:00
tsutsui c234c43a71 Include "ioconf.h" rather than declare struct cfdriver foo_cd in each file. 2006-04-15 08:49:47 +00:00
christos 95e1ffb156 merge ktrace-lwp. 2005-12-11 12:16:03 +00:00
tsutsui d9a0be54d3 Explicitly enable interrupts before softintr is handled as noted
in the TODO file. At least this fixes "sn0: receive buffers exhausted"
messages on my NEC-JC94.

XXX: does anyone know what "Dont reenable" comment means, which was
XXX: there since initial import of pica (not arc).
2005-11-15 15:07:36 +00:00
tsutsui bc7a643d4f Use mips3_cp0_count_read() for precise microtime(9).
XXX microtime(9) function should be moved from machdep.c to timer.c?
2005-10-30 05:27:14 +00:00
drochner 0717077eea The joystick driver is using mi timing code for many months.
Noone complained, so we can remove the unused md versions.
2005-02-18 15:39:17 +00:00
tsutsui 7310abde32 Make all intr_mask value types uint32_t rather than int, u_int,
or unsigned etc.
2005-01-22 08:43:02 +00:00
tsutsui 7fe2a5a003 - remove __P()
- use ANSI function decls
- u_intNN_t -> uintNN_t
- some KNF
2005-01-22 07:35:33 +00:00
drochner 2db688402b adapt to ISA "unknown address" namespace separation (purely mechanical,
as far as "grep" reaches)
2004-09-14 20:32:48 +00:00
drochner 46289e1fef Phase out the use of a string as first "attach args" member to control
which bustype should be attached with a specific call to config_found()
(from a "mainbus" or a bus bridge).
Do it for isa/eisa/mca and pci/agp for now. These buses all attach to
an mi interface attribute "isabus", "eisabus" etc., and the autoconf
framework now allows to specify an interface attribute on config_found()
and config_search(), which limits the search of matching config data
to these which attach to that specific attribute.
So we basically have to call config_found_ia(..., "foobus", ...) where
such a bus is attached.
As a consequence, where a "mainbus" or alike also attaches other
devices (eg CPUs) which do not attach to a specific attribute yet,
we need at least pass an attribute name (different from "foobus") so
that the foo bus is not found at these places. This made some minor
changes necessary which are not obviously related to the mentioned buses.
2004-08-30 15:05:15 +00:00
tsutsui 18b32ac5ba Switch arc to use MI mc146818 tod driver. 2003-10-29 18:17:49 +00:00
agc aad01611e7 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22364, verified by myself.
2003-08-07 16:26:28 +00:00
lukem a418360342 __KERNEL_RCSID() 2003-07-15 00:04:39 +00:00
tsutsui 7826bdce78 Initialize and use extent maps for ISA bus space allocation.
Now isapnp on Tyne works properly.
2003-06-15 05:58:45 +00:00
tsutsui 5c69b73566 Set intrtype[] properly.
XXX ISA interrupts on Tyne does not work yet.
2003-06-14 19:13:42 +00:00
tsutsui afa910a4ed Add isa_intr_alloc() for isapnp support. 2003-06-14 19:11:40 +00:00
tsutsui 3baa558986 Rewrite arc/isa/isapnp_machdep.c (based on i386).
It seems no one tried the previous code.
2003-06-14 07:58:16 +00:00
tsutsui e1c1a8283d Add missed "\n" in attach message. 2003-06-14 02:57:03 +00:00
tsutsui 51260decbe Add generic software interrupt support with mips/softintr.c. 2003-05-25 14:00:11 +00:00
fvdl 6bd0c9f44d Move definition of ISA_DMA_BOUNCE_THRESHOLD to dev/isa/isareg.h. 2003-05-05 12:55:41 +00:00
tsutsui 8e19dfb2ae Remove register declarations. 2003-04-27 17:05:55 +00:00
tsutsui 59dafa2c6b TAB/space cleanup. 2003-01-19 10:06:12 +00:00
thorpej aec1389b37 Use aprint_normal for cfprint routines. 2003-01-01 00:32:04 +00:00
thorpej c5e91d447d Use CFATTACH_DECL(). 2002-10-02 04:55:47 +00:00
thorpej 9a711d6985 Declare all cfattach structures const. 2002-09-27 20:29:02 +00:00
provos 0f09ed48a5 remove trailing \n in panic(). approved perry. 2002-09-27 15:35:29 +00:00
simonb 64c7743a05 Don't "extern int cold;" - this is in <sys/kernel.h>. 2002-03-04 02:19:07 +00:00
jdolecek f32b3f4f89 Reduce the massive code duplication regarding joy(4). Split it into
MI and MD parts, and make ISA/ISAPNP/PCI joy(4) attachments MI.
2002-02-02 18:37:38 +00:00
thorpej 3835413bc1 Overhaul of the ISA autoconfiguration code to support direct
configuration of devices logically attached to the ISA bus:

* Change the isa_attach_args to have arrays of io, mem, irq, drq
  resources.
* Add a "pnpnames" and a linked list of "pnpcompatnames" to the
  isa_attach_args.  If either of these members are non-NULL,
  direct configuration of the bus is being performed.  Add an
  ISA_DIRECT_CONFIG() macro to test for this.
* Drivers are not allowed to modify the isa_attach_args unless
  direct configuration is not being performed and the probe fucntion
  is returning success.
* Adapt device drivers -- currently, all driver probe routines return
  "no match" if ISA_DIRECT_CONFIG() evaluates to true.
2002-01-07 21:46:56 +00:00
thorpej af66038f73 Merge the thorpej-mips-cache branch onto the trunk. This is an
overhaul of how caches are handled for NetBSD's MIPS ports.
2001-11-14 18:15:10 +00:00
soda b7abba7794 split pccons driver into "pccons" and "opms",
also split into bus-dependent frontend and bus-independent backend.
2001-06-13 15:05:43 +00:00
soda 226c44ecbc use MI i8253reg.h instead of home grown one 2001-06-13 15:03:53 +00:00
soda ba6a3c6db5 split ISA bridge code into bus dependent frontends to remove "cputype"
variable.
2001-06-13 15:03:24 +00:00
soda c6eacfae15 split clock_mc.c into interval timer driver (timer) and
real time clock driver (mcclock)
2001-06-13 15:02:12 +00:00
wiz c03a48d64f withough -> without 2001-06-13 10:45:57 +00:00
ur 459f2585f4 Switch pica to jazzio.
Split shared MD portion between algor and jazzio.
2000-12-24 09:25:24 +00:00