Commit c2fb9fe4 authored by Jiaxun Yang's avatar Jiaxun Yang Committed by Thomas Bogendoerfer

MIPS: traps: Use GPR number macros

Use GPR number macros in uasm code generation parts to
reduce code duplication.

No functional change.
Signed-off-by: default avatarJiaxun Yang <jiaxun.yang@flygoat.com>
Signed-off-by: default avatarThomas Bogendoerfer <tsbogend@alpha.franken.de>
parent f42058b0
...@@ -58,6 +58,7 @@ ...@@ -58,6 +58,7 @@
#include <asm/module.h> #include <asm/module.h>
#include <asm/msa.h> #include <asm/msa.h>
#include <asm/ptrace.h> #include <asm/ptrace.h>
#include <asm/regdef.h>
#include <asm/sections.h> #include <asm/sections.h>
#include <asm/siginfo.h> #include <asm/siginfo.h>
#include <asm/tlbdebug.h> #include <asm/tlbdebug.h>
...@@ -2041,13 +2042,12 @@ void __init *set_except_vector(int n, void *addr) ...@@ -2041,13 +2042,12 @@ void __init *set_except_vector(int n, void *addr)
unsigned long jump_mask = ~((1 << 28) - 1); unsigned long jump_mask = ~((1 << 28) - 1);
#endif #endif
u32 *buf = (u32 *)(ebase + 0x200); u32 *buf = (u32 *)(ebase + 0x200);
unsigned int k0 = 26;
if ((handler & jump_mask) == ((ebase + 0x200) & jump_mask)) { if ((handler & jump_mask) == ((ebase + 0x200) & jump_mask)) {
uasm_i_j(&buf, handler & ~jump_mask); uasm_i_j(&buf, handler & ~jump_mask);
uasm_i_nop(&buf); uasm_i_nop(&buf);
} else { } else {
UASM_i_LA(&buf, k0, handler); UASM_i_LA(&buf, GPR_K0, handler);
uasm_i_jr(&buf, k0); uasm_i_jr(&buf, GPR_K0);
uasm_i_nop(&buf); uasm_i_nop(&buf);
} }
local_flush_icache_range(ebase + 0x200, (unsigned long)buf); local_flush_icache_range(ebase + 0x200, (unsigned long)buf);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment