Changeset View
Changeset View
Standalone View
Standalone View
sys/mips/mips/exception.S
Show First 20 Lines • Show All 75 Lines • ▼ Show 20 Lines | |||||
dtrace_invop_calltrap_addr: | dtrace_invop_calltrap_addr: | ||||
.word 0 | .word 0 | ||||
.word 0 | .word 0 | ||||
.text | .text | ||||
#endif | #endif | ||||
/* | /* | ||||
* Reasonable limit | |||||
*/ | |||||
#define INTRCNT_COUNT 256 | |||||
/* | |||||
*---------------------------------------------------------------------------- | *---------------------------------------------------------------------------- | ||||
* | * | ||||
* MipsTLBMiss -- | * MipsTLBMiss -- | ||||
* | * | ||||
* Vector code for the TLB-miss exception vector 0x80000000. | * Vector code for the TLB-miss exception vector 0x80000000. | ||||
* | * | ||||
* This code is copied to the TLB exception vector address to | * This code is copied to the TLB exception vector address to | ||||
* which the CPU jumps in response to an exception or a TLB miss. | * which the CPU jumps in response to an exception or a TLB miss. | ||||
▲ Show 20 Lines • Show All 1,102 Lines • ▼ Show 20 Lines | FPReturn: | ||||
PTR_L ra, CALLFRAME_RA(sp) | PTR_L ra, CALLFRAME_RA(sp) | ||||
and t0, t0, ~MIPS_SR_COP_1_BIT | and t0, t0, ~MIPS_SR_COP_1_BIT | ||||
mtc0 t0, MIPS_COP_0_STATUS | mtc0 t0, MIPS_COP_0_STATUS | ||||
ITLBNOPFIX | ITLBNOPFIX | ||||
j ra | j ra | ||||
PTR_ADDU sp, sp, CALLFRAME_SIZ | PTR_ADDU sp, sp, CALLFRAME_SIZ | ||||
.set pop | .set pop | ||||
END(MipsFPTrap) | END(MipsFPTrap) | ||||
#ifndef INTRNG | |||||
/* | |||||
* Interrupt counters for vmstat. | |||||
*/ | |||||
.data | |||||
.globl intrcnt | |||||
.globl sintrcnt | |||||
.globl intrnames | |||||
.globl sintrnames | |||||
intrnames: | |||||
.space INTRCNT_COUNT * (MAXCOMLEN + 1) * 2 | |||||
sintrnames: | |||||
#ifdef __mips_n64 | |||||
.quad INTRCNT_COUNT * (MAXCOMLEN + 1) * 2 | |||||
#else | |||||
.int INTRCNT_COUNT * (MAXCOMLEN + 1) * 2 | |||||
#endif | |||||
.align (_MIPS_SZLONG / 8) | |||||
intrcnt: | |||||
.space INTRCNT_COUNT * (_MIPS_SZLONG / 8) * 2 | |||||
sintrcnt: | |||||
#ifdef __mips_n64 | |||||
.quad INTRCNT_COUNT * (_MIPS_SZLONG / 8) * 2 | |||||
#else | |||||
.int INTRCNT_COUNT * (_MIPS_SZLONG / 8) * 2 | |||||
#endif | |||||
#endif /* INTRNG */ | |||||
/* | /* | ||||
* Vector to real handler in KSEG1. | * Vector to real handler in KSEG1. | ||||
*/ | */ | ||||
.text | .text | ||||
VECTOR(MipsCache, unknown) | VECTOR(MipsCache, unknown) | ||||
PTR_LA k0, _C_LABEL(MipsCacheException) | PTR_LA k0, _C_LABEL(MipsCacheException) | ||||
li k1, MIPS_KSEG0_PHYS_MASK | li k1, MIPS_KSEG0_PHYS_MASK | ||||
Show All 35 Lines |