Add support for MIPS32 and MIPS64 architectures:

- Remove all mmu-related code that may use 32 register on mips32-style
   implementatios and move them to mipsX_subr.S - which is then included
   from mips{3,32,64,5900}_subr.S with various control defines enabled.
 - Remove local cache instruction flags
 - Add badaddr64 (from Broadcom Corp).
This commit is contained in:
simonb 2002-03-05 15:50:59 +00:00
parent 9ed4fd257f
commit ba8e2e82e4
6 changed files with 2507 additions and 2047 deletions

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,11 @@
/* $NetBSD: mips32_subr.S,v 1.1 2002/03/05 15:50:59 simonb Exp $ */
#undef MIPS1
#undef MIPS3
/* #undef MIPS32 */
#undef MIPS64
#undef MIPS3_4100
#undef MIPS3_5900
#include <mips/mips/mipsX_subr.S>

View File

@ -0,0 +1,13 @@
/* $NetBSD: mips3_subr.S,v 1.1 2002/03/05 15:51:00 simonb Exp $ */
#undef MIPS1
/* #undef MIPS3 */
#undef MIPS32
#undef MIPS64
#if 0 /* XXX separate mips3_4100.S?? */
#undef MIPS3_4100
#endif
#undef MIPS3_5900
#include <mips/mips/mipsX_subr.S>

View File

@ -0,0 +1,51 @@
/* $NetBSD: mips5900_subr.S,v 1.1 2002/03/05 15:51:00 simonb Exp $ */
#undef MIPS1
/* #undef MIPS3 */
#undef MIPS32
#undef MIPS64
#if 0 /* XXX separate mips3_4100.S?? */
#undef MIPS3_4100
#endif
/* #undef MIPS3_5900 */
#include <mips/mips/mipsX_subr.S>
/* Toshiba R5900 specific functions */
#include <mips/asm.h>
#include <mips/cpuregs.h>
.set noreorder
.set mips3
.text
.align 6 /* align cache line size (64B) */
/*
* _intr_resume, _intr_suspend:
* Fast interrupt locking functions.
*/
LEAF_NOPROFILE(_intr_resume)
beqz a0, 1f
nop
ei
1:
j ra
nop
END(_intr_resume)
LEAF_NOPROFILE(_intr_suspend)
mfc0 v0, MIPS_COP_0_STATUS_REG
lui t0, 0x1 /* EIE bit */
and v0, v0, t0
1: di
sync.p
mfc0 t1, MIPS_COP_0_STATUS_REG
and t2, t0, t1
beq t2, t0, 1b
nop
j ra
nop
END(_intr_suspend)

View File

@ -0,0 +1,11 @@
/* $NetBSD: mips64_subr.S,v 1.1 2002/03/05 15:51:00 simonb Exp $ */
#undef MIPS1
#undef MIPS3
#undef MIPS32
/* #undef MIPS64 */
#undef MIPS3_4100
#undef MIPS3_5900
#include <mips/mips/mipsX_subr.S>

File diff suppressed because it is too large Load Diff