Age | Commit message (Collapse) | Author |
|
in <machine/prom.h> -- code in stand/ does not need a specific context to
invoke the BUG functions.
|
|
switch to another, safe, unused bit.
From the MC88110UM via deraadt@
|
|
|
|
|
|
- faster code paths in eh.S, especially for 88110 cpus
- do not service data access exceptions more than one time; also, be sure
that interrupts are disabled while servicing them.
- cleanup the 88110 trap handler in the same way the 88100 flavour has been
cleaned recently.
This spotted two bugs, which are fixed there as well:
- add systrace support to the 88110 syscall code
- add emulation support to the 88100 syscall code
|
|
afterwards... and only if this is a wise thing to do!
|
|
|
|
a nice bug preventing signals to be delivered to process faulting in some
conditions...
|
|
DAE to pass; the first fix was too brutal, the second one too shy; this third
one is apparently just in the middle to make everything happy so far...
|
|
|
|
exceptions by mistake.
|
|
a recursive DAE.
Scientists say this is proof that there's a ``strange attractor'' in the
m88k processors. What is certain, though, is that the processors'
documentation contains black holes.
|
|
early for the console to be reliable, so revert to the bug console for boot -a.
|
|
|
|
|
|
Correctly setup the vector table for T_SIGSYS and T_SIGTRAP traps, and
handle T_SIGSYS userland traps. This passes a complete usertrap regression
test now.
|
|
traps not tied to a particular vector, in order to correctly process data
access faults whenever necessary, before servicing the trap.
|
|
trap vector contents, putting the bugtrap() stub in place, and switching
back and forth between them when the kernel needs to invoke BUG functions.
|
|
Also, fix a logic error in m88100_syscall() which prevented ERESTART and
EJUSTRETURN to be returned (gasp!)
|
|
|
|
if trap(T_DATAFLT) has been able to correct the issue.
This is, in fact, really a can't-happen situation, anyways.
|
|
will go wrong anyway, should the kernel divide by zero...
|
|
way for some future work. no function changes yet.
help testing otto@ and markus@
|
|
division by zero in the generated code, and will trap to vector #503 in this
case.
Make sure that this vector gets handled as the regular divide-by-zero vector.
|
|
the kernel; fixes a ttyflags botch reported by Luke Th. Bullock
|
|
|
|
|
|
|
|
|
|
- the 88410 handling code is not working correctly. Check whether we are
operating with 88410's, and only invoke these routines if necessary.
- force serial mode execution in the PSR for the moment (hopefully only
temporary)
- disable branch prediction and data matching in the PSR, the 88110 errata
is simply too scary about them.
- a better pipeline flush after changing the ictl control register.
These changes let 197LE (but not 197SP/DP) boot up to autoconf.
Userland process do not work at the moment.
|
|
|
|
|
|
multiprocessor boards where the master cpu is not the first one.
|
|
priorities because we are nice people.
|
|
argument. old cred only calls user suser_ucred. this will allow future
work to more flexibly implement the idea of a root process. looks like
something i saw in freebsd, but a little different.
use of suser_ucred vs suser in file system code should be looked at again,
for the moment semantics remain unchanged.
review and input from art@ testing and further review miod@
|
|
this have ever worked?
|
|
|
|
|
|
relax the interrupt mask (i.e. spl level).
However, under some unclear circumstances, it will be entered with
interrupts disabled, and thus will loop forever if no process is runnable.
Check the PSR and make sure that interrupts are enabled in this case. This
gets rid of the random freezes, although a better fix would be preferrable...
|
|
the _fp.S which are too scary at the moment). This will be necessary to
move to ELF in the future.
Use local symbols whenever possible.
Attempt to use delayed branches whenever possible.
Remove stupid or straightforward comments, some hardcoded values, and a
few unused variables or routines.
|
|
double load/store instructions, for speed; however, these only work if
the pcb structure is also 8 bytes aligned... which is not necessarily
true. In this case, the lossage was compensated by the data access
exception handler, which means that for every unlucky pcb operation,
the kernel was happily generating a dozen of exceptions in a row...
Stop the madness and change this to regular load/store operations.
|
|
|
|
pollution. Makes warnings in binutils compilation disappear...
|
|
fixes to get the kernel to compile without option DDB and without
option DIAGNOSTIC.
|
|
|
|
|
|
|
|
flags (purely cosmetic, as they have the same value).
Also some minor indentation/KNF repairs.
|
|
I've skipped the GNU stuff for now. From Patrick Latifi.
|
|
And then it will be easier to debug this mess (no functional change yet).
|