Commit Graph

271 Commits

Author SHA1 Message Date
he
ac662e9e5f Remove an unneeded addition of 0 to what is now a void*. 2007-03-05 15:40:28 +00:00
bjh21
5dbe04b416 Finally make cpufuncs work properly on acorn26, since something seems to be
using it.  This entailed adding support for ARM2 and ARM2as, and allowing
for getting CPU IDs other than from CP15, since ARM2(as) doesn't have CP15.
2007-03-04 14:47:18 +00:00
bjh21
6c6b1ee9b1 Strip ARM mapping symbols ($a etc) the same was as Makefile.arm does, so
as to make DDB's stack traces more useful.  It might be better if acorn26
just used Makefile.arm, but one thing at a time.
2007-03-04 13:12:22 +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
bjh21
ed1dd83c02 Honour ATOMIC_SET_BIT_NONINLINE_REQUIRED, now that it can be unset on
acorn26.
2007-02-28 23:47:09 +00:00
he
c4e5150555 Adapt to bool conversion of the DDB functions. 2007-02-23 09:49:48 +00:00
thorpej
b25aff5288 TRUE -> true, FALSE -> false 2007-02-22 04:47:27 +00:00
thorpej
712239e366 Replace the Mach-derived boolean_t type with the C99 bool type. A
future commit will replace use of TRUE and FALSE with true and false.
2007-02-21 22:59:35 +00:00
he
ec0a47ad92 Remove declaration of now-unused local variable. 2007-02-19 23:48:40 +00:00
ad
272e8a5484 Always call sched_lock_idle()/sched_unlock_idle(). 2007-02-19 23:46:43 +00:00
ad
fadd0e59e3 Update for locking changes. 2007-02-19 23:44:26 +00:00
pavel
934634a18c Change the process/lwp flags seen by userland via sysctl back to the
P_*/L_* naming convention, and rename the in-kernel flags to avoid
conflict. (P_ -> PK_, L_ -> LW_ ). Add back the (now unused) LSDEAD
constant.

Restores source compatibility with pre-newlock2 tools like ps or top.

Reviewed by Andrew Doran.
2007-02-17 22:31:36 +00:00
ad
3363855a4a Remove spllowersoftclock() and CLKF_BASEPRI(), and always dispatch callouts
via a soft interrupt. In the near future, softclock will be run from process
context.
2007-02-16 02:53:43 +00:00
ad
b07ec3fc38 Merge newlock2 to head. 2007-02-09 21:55: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
yamt
8bf7662829 merge yamt-splraiseipl branch.
- finish implementing splraiseipl (and makeiplcookie).
	  http://mail-index.NetBSD.org/tech-kern/2006/07/01/0000.html
	- complete workqueue(9) and fix its ipl problem, which is reported
	  to cause audio skipping.
	- fix netbt (at least compilation problems) for some ports.
	- fix PR/33218.
2006-12-21 15:55:21 +00:00
wiz
6919c6578c s/independant/independent/, from Zafer. 2006-11-24 22:04:21 +00:00
plunky
57c0199dcf Tidy away wsmouse_input() abstractions and update
documentation to include the W direction.
2006-11-12 19:00:42 +00:00
jmmv
7a13fe4abf Remove tmpfs's experimental status. OK'ed by core@. 2006-11-11 18:47:08 +00:00
bjh21
7b50d90366 When processing RASes, only pay attention to, and change, the PC parts of R15,
leaving the PSR bits alone.  Necessary to make regress/sys/kern/ras/ras1 pass.
2006-10-15 12:45:32 +00:00
bjh21
a9e02c7638 Correctly calculate fault addresses for instructions like:
ldr	rX, [rY, rZ, ror #16]
and even:
	ldr	rX, [rY, rZ, rrx]
Why anyone would want such an instruction is beyond me, but it's nice not to
panic if they do.  Also this makes regress/sys/arch/arm/abort-fixup pass.
2006-10-14 20:39:21 +00:00
bjh21
2121e75b3f When forking a new LWP, if a new user stack pointer is provided, use it.
Necessary to make regress/lib/libc/clone pass.
2006-10-14 17:51:37 +00:00
bjh21
ecd6759513 Expose __PROG26 to assembly language so we can use it to decide whether
R14 is vulnerable.
2006-10-08 12:22:35 +00:00
bjh21
c3d7e34641 hardsplx() is declared in <machine/intr.h>, so there's no need to declare it
here.
2006-10-07 21:12:00 +00:00
bjh21
0e30542fee Make setsoftnet() into a macro, which seems to be the usual approach on systems
with generic soft interrupts.
2006-10-07 20:58:00 +00:00
bjh21
0ddc4aa582 Make splsched() and splstatclock() into aliases for splhigh(), since
practically no hardware interrupts can occur above splstatclock().
This also makes splsched() faster, which is good since it's called an awful
lot.
2006-10-07 20:51:47 +00:00
bjh21
6f89e70357 When we catch a branch through zero, push a stack frame so that it's possible
to get a stack backtrace through the error.
2006-10-07 13:36:31 +00:00
chs
33c1fd1917 add support for O_DIRECT (I/O directly to application memory,
bypassing any kernel caching for file data).
2006-10-05 14:48:32 +00:00
bjh21
1bef3c4ceb Use top-down VM on acorn26 and increase the maximum data size to take
advantage of this.  I can run GCC on my A540 now.
2006-10-05 00:25:50 +00:00
bjh21
578a81db96 Timecounter support for acorn26, using IOC timer 0 and a bit of trickery. 2006-10-04 23:40:00 +00:00
bjh21
14d2868d44 The IOC datasheet makes it clear that the period of an IOC counter is
(latch + 1) cycles.  Take this into account when programming the latches.
2006-10-04 20:29:51 +00:00
bjh21
742da1ffcd Add RCSID(). 2006-10-04 20:14:44 +00:00
bjh21
d98bf2904c Fast write_region_2, which is just the fast read_region_2 with different
inner loops.
2006-10-03 23:15:18 +00:00
bjh21
9dc368e353 Clean up read_region_2 code to use fast version under more circumstances, and
to always use it aligned on a 4-word boundary.  The setup code feels like
it could be sleeker, but I can't currently see how.
2006-10-03 22:27:02 +00:00
chs
e8295642bd remove MALLOC_NOINLINE, it doesn't do anything anymore. 2006-10-02 03:28:29 +00:00
bjh21
6a2268f94f Faster bus_space_read_region_2(), using LDM and STM to process 16 bytes at a
time where possible.  This almost doubles the speed of reading through the
sec(4) in my A540.
2006-10-01 22:47:18 +00:00
bjh21
5375dc7f10 New driver, sec(4), for the Acorn SCSI Expansion Card. Unlike asc(4), this
driver uses the board's DMA system, uses the machine-independent WD33C93
driver, works on NetBSD/acorn26, and doesn't share a name with six other
machine-dependent SCSI drivers.  Not tested on acorn32, but it seems to
work tolerably well on my A540.
2006-10-01 12:39:35 +00:00
bjh21
e9030bd381 Move over to using the standard ARM bus_space implementation on acorn26.
This is more flexible than the old acorn26 bus_space, which means that single
read/write operations are slower, but multi and region operations have the
potential to be faster, and particularly insane podules might be supportable.
In theory the acorn32 mainbus and podulebus code ought to be shareable, but
acorn26 needs the extra overhead of saving R14_svc on some operations so
I've made my own version for now.  Also the acorn32 bus_spaces are a mess.
2006-09-30 16:30:10 +00:00
bjh21
213f273e6a Calls to bus_space_barrier() on acorn26 were very few and using constants that
were two generations obsolete.  Since they do nothing anyway, remove them
rather than trying to update them.
2006-09-30 15:14:21 +00:00
bjh21
3143e7d6c3 ANSIfy, un-__P, light KNF. 2006-09-28 23:54:14 +00:00
bjh21
557f409231 No need to do silly asm() dances to get R14_svc saved now -- the compiler
does it for us everywhere.
2006-09-28 23:25:01 +00:00
bjh21
8e80f0df78 Don't specify -fomit-frame-pointer -mno-apcs-frame, since that breaks kernel
page faults.
2006-09-28 23:23:22 +00:00
bjh21
87e6985bed Add -mapcs-frame -fno-omit-frame-pointer to acorn26 kernel builds. This
is necessary to ensure that GCC saves R14_svc on entry to every function,
and thus that page faults within the kernel are safe (since they corrupt
R14_svc).  I think this used to be the default, but it's not any more.
2006-09-28 22:10:53 +00:00
bjh21
826ff5f060 Make db_validate_address() work, even when called from within an interrupt
handler.  This should make debugging prefetch aborts slightly simpler.
2006-09-27 21:21:09 +00:00
bjh21
5858e7aa70 Arrange that catching an unexpected data abort in the kernel causes a trap
into DDB where possible, even if it happens in an interrupt handler.
2006-09-24 23:38:59 +00:00
bjh21
83d7ac871e Turn address exceptions into SIGSEGV rather than SIGBUS, since they're really
just attempts to access unmapped (and incidentally unmappable) memory,
rather than anything special.
2006-09-24 21:42:06 +00:00
bjh21
7841bf68c0 uvm_fault has been sensible about when to return ENOMEM for some time now,
so it's reasonable for us to kill processes when we get it returned,
rather than sleeping.  Do that.
2006-09-24 20:54:14 +00:00
bjh21
51b05a4131 Use MI inittodr() and friends. 2006-09-03 11:51:29 +00:00
bjh21
1323fd42da This file isn't used any more. 2006-08-31 23:16:28 +00:00
bjh21
44ef93a9be Be more careful with registers in LDR[T] so that GAS doesn't warn us about
constructs that aren't allowed in ARMv3.
2006-08-28 15:15:50 +00:00