diff options
author | Harald Koerfgen <hkoerfg@web.de> | 1999-08-09 19:43:13 +0000 |
---|---|---|
committer | Harald Koerfgen <hkoerfg@web.de> | 1999-08-09 19:43:13 +0000 |
commit | f67e4ffc79905482c3b9b8c8dd65197bac7eb508 (patch) | |
tree | c88163a075d06cf625e7f7aa69572144806d1175 /arch/mips/mm/init.c | |
parent | 920be6021d3cd30ce10b1423b565f304736bf899 (diff) |
My proposal for non-generic kernels:
o only code for the configured CPU is compiled
and linked (saves ~100k for R3000 kernels!)
o removed a lot of indirect function calls
o removed Ralf's "cowboy patch"
o added sanity check for DECstations (print warning
if the kernel is configured for the wrong CPU)
Diffstat (limited to 'arch/mips/mm/init.c')
-rw-r--r-- | arch/mips/mm/init.c | 34 |
1 files changed, 1 insertions, 33 deletions
diff --git a/arch/mips/mm/init.c b/arch/mips/mm/init.c index 29a6d787d..90342db23 100644 --- a/arch/mips/mm/init.c +++ b/arch/mips/mm/init.c @@ -1,4 +1,4 @@ -/* $Id: init.c,v 1.14 1999/06/22 23:06:28 ralf Exp $ +/* $Id: init.c,v 1.15 1999/07/05 23:09:46 ralf Exp $ * * This file is subject to the terms and conditions of the GNU General Public * License. See the file "COPYING" in the main directory of this archive @@ -381,35 +381,3 @@ void si_meminfo(struct sysinfo *val) val->sharedram <<= PAGE_SHIFT; return; } - -/* Fixup an immediate instruction */ -__initfunc(static void __i_insn_fixup(unsigned int **start, unsigned int **stop, - unsigned int i_const)) -{ - unsigned int **p, *ip; - - for (p = start;p < stop; p++) { - ip = *p; - *ip = (*ip & 0xffff0000) | i_const; - } -} - -#define i_insn_fixup(section, const) \ -do { \ - extern unsigned int *__start_ ## section; \ - extern unsigned int *__stop_ ## section; \ - __i_insn_fixup(&__start_ ## section, &__stop_ ## section, const); \ -} while(0) - -/* Caller is assumed to flush the caches before the first context switch. */ -__initfunc(void __asid_setup(unsigned int inc, unsigned int mask, - unsigned int version_mask, - unsigned int first_version)) -{ - i_insn_fixup(__asid_inc, inc); - i_insn_fixup(__asid_mask, mask); - i_insn_fixup(__asid_version_mask, version_mask); - i_insn_fixup(__asid_first_version, first_version); - - asid_cache = first_version; -} |