Age | Commit message (Collapse) | Author |
|
|
|
|
|
on all other architectures. remove last architecture dependent #ifdef from
uvm code.
|
|
|
|
- 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.
|
|
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.
|
|
|
|
- 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
|
|
|
|
|
|
polluting the kernel namespace.
|
|
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?).
|
|
|
|
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@
|
|
|
|
<m88k/cpu.h>, and simplify the return values while there.
|
|
|
|
|
|
|
|
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.
|
|
makes some rare situations in the a.out ar working again.
|
|
|
|
it also expands to faster code!
|
|
a pa instead of a pmap_kernel va. The cachectl operation is now deprecated and
will disappear soon.
|
|
|
|
For now, include files only.
|