summaryrefslogtreecommitdiff
path: root/sys/arch/m88k
AgeCommit message (Collapse)Author
2004-09-15Win a cycle in FP exception SSBR processing.Miod Vallat
2004-08-09Shrink the u-area down to two pages.Miod Vallat
2004-08-09Take advantage of the recent ABI change to use less stack space and doMiod Vallat
less stack pointer manipulation; the kernel needs to be compiled by an up-to-date compiler now, or a tree will fall on your house.
2004-08-09G/c option HANDLER code, and a few cosmetic cleanings.Miod Vallat
2004-08-08Since the I-cache can never be dirty, ignore copyback operations, and onlyMiod Vallat
perform invalidations when appropriate.
2004-08-08Print address lines split scheme if necessary.Miod Vallat
2004-08-06rename sparc kill_user_windows() to pmap_unuse_final(). provide empty stubsTheo de Raadt
on all other architectures. remove last architecture dependent #ifdef from uvm code.
2004-08-06provide md USPACE_ALIGN zero on all but mips; deradat@ pefo@ okMichael Shalayeff
2004-08-06Merge Luna88k and mvme88k M88200 management code. Features:Miod Vallat
- simpler structures (no more redundant or easily computable information). - split scheme configuration (for 4:1 and 8:1 designs) is only compiled in if necessary (read: only on a mvme88k kernel configured for MVME188 support), which speeds up CMMU operations on the Luna88k. - will not enable bus snopping on a monoprocessor system. Tested on Luna88k-2, MVME187 and various MVME188 by aoyama@ and I.
2004-08-05Unbreak luna88k; spotted by aoyama@Miod Vallat
2004-08-04Completely remove BATC code. BATC on 88200 are way too small to be worthMiod Vallat
using as part of the general pmap machinery (though they might come back at some point to speed up I/O mappings), and we don't use the 88110 BATC yet.
2004-08-04More constants for the SSR register.Miod Vallat
2004-08-02No need to make __savectx visible and 8-byte aligned.Miod Vallat
2004-08-02Missed one <machine/board.h>Miod Vallat
2004-08-02More include files cleaning:Miod Vallat
- move MAX_CPUS constant to <machine/cpu.h> - do not include <machine/board.h> unless needed. In fact, remove this file entirely on mvme88k, and include <machine/mvme*.h> on a compiling-for-this-board basis - keep MAX_CMMUS constant private to the m8820x code
2004-08-02When restoring a process' ipl, invoke setipl() on behalf on the kernel stack,Miod Vallat
rather than on the process stack.
2004-08-01Move 88100 DAE code to its own file, shared between luna88k and mvme88k.Miod Vallat
2004-07-28Nuke option JEFF_DEBUG for good.Miod Vallat
(This code relies upon undefined C behaviour. Every day in ddb is your lucky day...)
2004-07-28Remove EH_DEBUG code.Miod Vallat
2004-07-28Keep exception specific defines in the exception handling code, instead ofMiod Vallat
polluting the kernel namespace.
2004-07-28In the never-ending saga of getting gcc to work reliably on m88k, today'sMiod Vallat
changes address incorrect stack usage, when optimization needs more nameless temporary values than available registers, and has to save them on stack. In some (rare) circumstances, it will compute a stack address _outside_ the current function local storage space, overwriting the caller's stack. Most of the time, this only affects the "outgoing argument area", which is harmless if it has not been populated; this explains why it has not been noticed earlier. Since I see no easy way to fix this, I decided to go the simpler way of removing this ougoing argument area. This not only reduces stack usage, but also makes varargs/stdarg code smaller and faster; also functions which get their first few arguments in registers, then some on the stack, then some in registers again, will not allocate stack space for the second set of arguments passed through registers. This is an ABI change, we are no longer 88Open compliant (have we ever been?).
2004-07-27Factorize exception handling code. The only different part between luna88kMiod Vallat
and mvme88k is the retrieval of the CMMU fault registers. Tested on mvme88k by myself and luna88k by aoyama@
2004-07-26Provide a real pmap_proc_iflush() routine.Miod Vallat
2004-07-26Shrink more code if option PTRACE is not set; also use ss_put_value()Miod Vallat
in trap handlers instead of inlining it by hand.
2004-07-25Merge luna88k and mvme88k pmap. The pmap will now assume that the memoryMiod Vallat
below the kernel text is reserved for the PROM, instead of using fixed (but different) values between luna88k and mvme88k. Tested on mvme88k by myself, on luna88k by aoyama@
2004-07-24New, working, profiling code for m88k.Miod Vallat
2004-07-24intr_establish() and related defines are mvme88k-only, so move them back fromMiod Vallat
<m88k/cpu.h>, and simplify the return values while there.
2004-07-23Move luna88k and mvme88k vm_machdep to m88k-agnostic code area.Miod Vallat
2004-07-22Reset pcb_onfault to NULL before invoking uvm_fault().Miod Vallat
2004-07-22Remove redundant or useless section modifiers.Miod Vallat
2004-07-13Do not trash r14 by mistake in __savectx.Miod Vallat
2004-07-07Funny typo.Miod Vallat
2004-07-02Switch mvme88k to evcount, but keep maintaining intrcnt[] too for now.Miod Vallat
2004-07-02Since these vector tables are not final tables, they don't need to beMiod Vallat
page aligned.
2004-06-26Fix alignment problem between savectx and __savectx. How could this haveMiod Vallat
ever worked?
2004-06-25Do not clear PSR_SER on 88110 when leaving single-stepping mode.Miod Vallat
2004-06-22Do not use db_printf() without a godd reason; while there, shrinken someMiod Vallat
messages.
2004-06-22After 88110 exception processing, do not reset the in-frame [di][lp]arMiod Vallat
values, they won't be put back to registers anyways...
2004-06-22On 88110, simplify enip processing:Miod Vallat
- always fetch its value when building trapframe, it is faster than only doing it after checking if it will have a meaningful value. - don't bother setting it to a safe value if we change exip to a non-delayslot address.
2004-06-22Do not access [id][pl]ar registers from C code - we only care about theirMiod Vallat
values in trapframes.
2004-06-19Share common ddb files accross m88k platforms.Miod Vallat
2004-06-19Remove unused and misleading defines.Miod Vallat
2004-06-13debranch SMP, have funNiklas Hallqvist
2004-06-09Among other tricky (or nice, depending upon your involvment) features,Miod Vallat
the 88Open ABI allows arguments to be passed through registers, then on the stack, the through registers, then on the stack again, with some function signatures. Unfortunately, gcc has not been designed with this possibility in mind, and does not handle this situation optimally (since no sane architecture does this anyway) and will reserve stack storage for the second set of in-registers parameters. Fixing this is quite non-trivial (trust me on this), so in the meantime keep at wasting space stack, but teach varargs about this so that it can compensate correctly.
2004-06-07Correctly handle an unaligned long long parameter on stack in varargs functions;Miod Vallat
makes some rare situations in the a.out ar working again.
2004-06-07Allow userland to issue ld.d or st.d with a long, but not long long alignedMiod Vallat
address, by recovering from the misaligned address exception.
2004-06-03Signal bus errors when a write back operation fails on 88110.Miod Vallat
2004-06-03Be sure to preserve r3 for syscalls which return 32-bit values.Miod Vallat
2004-05-23Nuke kvtop(), preserving a private copy in mvme88k vs(4) for now.Miod Vallat
2004-05-19Rewrite va_arg() for correctness. Not only is the new code easier to read,Miod Vallat
it also expands to faster code!