Commit Graph

63 Commits

Author SHA1 Message Date
chs
cbab9cadce split device_t/softc for all remaining drivers.
replace "struct device *" with "device_t".
use device_xname(), device_unit(), etc.
2012-10-27 17:17:22 +00:00
matt
5cb635c383 Switch to the generic bounce buffer support. 2012-09-21 14:21:57 +00:00
matt
4395f61bf8 Don't use r7, use r5 instead 2012-09-03 16:35:33 +00:00
matt
09fb7d24ff Convert stragglers to use real C89 prototypes. 2012-01-31 04:28:50 +00:00
dyoung
703fe5ba82 Change <machine/bus.h> to <sys/bus.h> throughout.
Split bus.h -> bus_{defs,funcs}.h.
2011-07-19 15:07:42 +00:00
matt
6a66466f0c Move counting of faults, traps, intrs, soft[intr]s, syscalls, and nswtch
from uvmexp to per-cpu cpu_data and move them to 64bits.  Remove unneeded
includes of <uvm/uvm_extern.h> and/or <uvm/uvm.h>.
2010-12-20 00:25:23 +00:00
dyoung
fdeb7750f8 isa_detach_hook() needs two arguments, the first an isa_chipset_tag_t. 2009-08-19 15:11:22 +00:00
dyoung
47b66b70d9 These are stragglers from my last commit ("Let us safely detach
the ISA bus and devices attaching to the ISA bus").  Define
isa_detach_hook() in MD ISA implementations.  Define isa_dmadestroy().
2009-08-18 17:02:00 +00:00
cegger
df7f595ecd Ansify function definitions w/o arguments. Generated with sed. 2009-03-18 10:22:21 +00:00
dsl
7cc9af7d64 ANSIfy functions with function-pointer arguments 2009-03-16 23:11:09 +00:00
dsl
82357f6d42 ANSIfy another 1261 function definitions.
The only ones left in sys are beyond by sed script!
(or in sys/dist or sys/external)
Mostly they have function pointer parameters.
2009-03-14 21:04:01 +00:00
dsl
454af1c0e8 Change about 4500 of the K&R function definitions to ANSI ones.
There are still about 1600 left, but they have ',' or /* ... */
in the actual variable definitions - which my awk script doesn't handle.
There are also many that need () -> (void).
(The script does handle misordered arguments.)
2009-03-14 15:35:58 +00:00
dsl
02cdf4d2c8 Remove all the __P() from sys (excluding sys/dist)
Diff checked with grep and MK1 eyeball.
i386 and amd64 GENERIC and sys still build.
2009-03-14 14:45:51 +00:00
martin
ce099b4099 Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
matt
825088eda6 Merge kernel changes in matt-armv6 to HEAD. 2008-04-27 18:58:43 +00:00
matt
ace1262f40 current_intr_depth is dead. kill it off for good. 2008-01-06 03:01:59 +00:00
matt
e7574fcb84 Make sure interrupt handler is updating curcpu()->ci_depth 2008-01-06 01:19:42 +00:00
ad
503fb6483e A quick hack to make cpu_intr_p() work on shark. Needs to be fixed
properly by someone who does arm assembly.
2008-01-06 00:56:18 +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
tsutsui
320e4f3fc5 Remove all references to spl_mask. Now it isn't used by any sources.
Discussed on port-arm.
2007-08-13 02:04:50 +00:00
tsutsui
5c47006ea3 In irq_setmasks(), refer spl_masks[current_spl_level] directly
rather than spl_mask which is a saved value in splraise() and
splx() functions because the latter one is not always sync'ed with
current_spl_level and interrupt state could be mangled.

Okay'ed by chris@, and should close PR port-shark/22355.
2007-08-13 01:55:31 +00:00
tsutsui
72e8fd4495 Make clockintr() return 1 since it's always handled so that
clock interrupt is properly acounted by evcnt(9) in isa_irq.S.
2007-08-04 20:14:21 +00:00
thorpej
165d4e6d83 Rewrite the ARM mutex implementation to be of the simple-mutex variety.
Because pre-v6 ARM lacks support for an atomic compare-and-swap, we
implement _lock_cas() as a restartable atomic squence that is checked
in the IRQ handler right before AST processing.  (This is safe because,
for all practical purposes, there are no SMP pre-v6 ARM systems.)

This can serve as a model for other non-MP platforms that lack the
necessary atomic operations for mutexes (SuperH, for example).

Upshots of this change:
- kmutex_t is now down to 8 bytes on ARM; about as good as we can get.
- ARM2 systems don't have to trap and emulate SWP or SWPB for mutexes.

The acorn26 port is not updated by this commit to do the LOCK_CAS_CHECK.
That is left as an exercise for the port maintainer.

Reviewed and tested by Matt Thomas.
2007-03-09 19:21:57 +00:00
matt
004b1a75b4 Make sure to include IPL_SOFT* and IPL_STATCLOCK when setting up IRQ masks. 2007-03-09 18:20:51 +00:00
matt
d471ccf3aa Clean the bitrotting ofw code. Don't export export the underlying irq
dispatch mechanism to the rest of the kernel; they don't need to know.
Nuke IRQSTATS entirely.

XXX ofwgencfg_clock needs to taught about timecounters
2007-03-08 20:48:39 +00:00
christos
5ebcdbe8b5 fix caddr_t fallout. 2007-03-04 10:21:25 +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
matt
2c6d199d35 Switch shark from intrcnt to evcnt 2007-02-20 01:51:16 +00:00
matt
f2151241de Move softintr_init from irq_init to cpu_configure. 2007-02-19 21:38:37 +00:00
matt
981ae6645d Don't export spl_smasks or soft_interrupts. They are local to intr.c
Make sure that softintr_init() is called when needed.
Assume __HAVE_GENERIC_SOFT_INTERRUPTS is defined (since newlock2 requires it).
2007-02-18 07:48:20 +00:00
matt
37f7079751 Call softintr_init() 2007-02-18 07:20:40 +00:00
macallan
ed57b01256 add bus_space_*_stream() methods 2007-01-21 23:19:57 +00:00
macallan
0e7f627c30 add glue for igsfb at ofbus 2006-12-07 03:10:14 +00:00
gdamore
40774842f0 Convert shark to timecounters. Tested by numerous folks, ok christos@,
martin@.
2006-09-13 07:13:03 +00:00
gdamore
01beb29b30 ANSIfy & KNF. 2006-09-12 17:07:14 +00:00
tsutsui
663ffba751 Add __insn_barrier() to avoid too aggressive optimization by gcc4.
GENERIC compiled by gcc4 now works on my FUNAI's DNARD.
2006-09-05 15:50:37 +00:00
yamt
ccc0bd2ab6 remove irqblock[] as no one uses it. reviewed by Ben Harris. 2006-05-11 12:05:37 +00:00
perry
5f1c88d70d Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete. 2005-12-24 20:06:46 +00:00
christos
95e1ffb156 merge ktrace-lwp. 2005-12-11 12:16:03 +00:00
scw
861b1ff2f6 Appease -Wshadow 2005-06-03 13:02:35 +00:00
simonb
38c9d4c236 Remove unused header file. 2005-03-15 13:19:41 +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
01c812cc7b Add bus_space_copy_region_2() op, which is required by MI vga(4),
from sys/arch/arm/arm/bus_space_asm_generic.S.

XXX: isa_io_asm.S and bus_space_asm_generic.S is mostly identical.
2005-01-09 15:26:19 +00:00
tsutsui
cac3513fa5 Purge vm_offset_t. 2005-01-05 10:25:43 +00:00
wiz
d20841bb64 Uppercase CPU, plural is CPUs. 2004-02-13 11:36:08 +00:00
scw
754f153b0d Use the alignment fault enable/restore macroes in irq_entry. 2003-11-05 12:03:58 +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
kristerw
2e750373ec Add a missing NULL _cookie to the arm32_bus_dma_tag initialization. 2003-08-01 22:43:27 +00:00
lukem
ed51729135 __KERNEL_RCSID() 2003-07-15 02:54:31 +00:00