11da177e4SLinus Torvalds/* 21da177e4SLinus Torvalds * locore.S 31da177e4SLinus Torvalds */ 41da177e4SLinus Torvalds#include <asm/asm.h> 51da177e4SLinus Torvalds#include <asm/regdef.h> 61da177e4SLinus Torvalds#include <asm/mipsregs.h> 71da177e4SLinus Torvalds 81da177e4SLinus Torvalds .text 91da177e4SLinus Torvalds 101da177e4SLinus Torvalds/* 111da177e4SLinus Torvalds * Simple general exception handling routine. This one is used for the 121da177e4SLinus Torvalds * Memory sizing routine for pmax machines. HK 131da177e4SLinus Torvalds */ 141da177e4SLinus Torvalds 151da177e4SLinus TorvaldsNESTED(genexcept_early, 0, sp) 161da177e4SLinus Torvalds .set noat 171da177e4SLinus Torvalds .set noreorder 181da177e4SLinus Torvalds 191da177e4SLinus Torvalds mfc0 k0, CP0_STATUS 201da177e4SLinus Torvalds la k1, mem_err 211da177e4SLinus Torvalds 221da177e4SLinus Torvalds sw k0, 0(k1) 231da177e4SLinus Torvalds 241da177e4SLinus Torvalds mfc0 k0, CP0_EPC 251da177e4SLinus Torvalds nop 261da177e4SLinus Torvalds addiu k0, 4 # skip the causing instruction 271da177e4SLinus Torvalds jr k0 281da177e4SLinus Torvalds rfe 291da177e4SLinus TorvaldsEND(genexcept_early) 301da177e4SLinus Torvalds 31