microblaze: Remove additional resr and rear loading

RESR and REAR uses the same regs in whole file.

Signed-off-by: Michal Simek <monstr@monstr.eu>
This commit is contained in:
Michal Simek 2010-03-19 12:50:35 +01:00
parent b175bcfe31
commit bd1637d63e

View file

@ -562,20 +562,16 @@ ex_handler_done:
*/ */
mfs r11, rpid mfs r11, rpid
nop nop
mfs r3, rear /* Get faulting address */
nop
/* If we are faulting a kernel address, we have to use the /* If we are faulting a kernel address, we have to use the
* kernel page tables. * kernel page tables.
*/ */
ori r4, r0, CONFIG_KERNEL_START ori r5, r0, CONFIG_KERNEL_START
cmpu r4, r3, r4 cmpu r5, r3, r5
bgti r4, ex3 bgti r5, ex3
/* First, check if it was a zone fault (which means a user /* First, check if it was a zone fault (which means a user
* tried to access a kernel or read-protected page - always * tried to access a kernel or read-protected page - always
* a SEGV). All other faults here must be stores, so no * a SEGV). All other faults here must be stores, so no
* need to check ESR_S as well. */ * need to check ESR_S as well. */
mfs r4, resr
nop
andi r4, r4, 0x800 /* ESR_Z - zone protection */ andi r4, r4, 0x800 /* ESR_Z - zone protection */
bnei r4, ex2 bnei r4, ex2
@ -590,8 +586,6 @@ ex_handler_done:
* tried to access a kernel or read-protected page - always * tried to access a kernel or read-protected page - always
* a SEGV). All other faults here must be stores, so no * a SEGV). All other faults here must be stores, so no
* need to check ESR_S as well. */ * need to check ESR_S as well. */
mfs r4, resr
nop
andi r4, r4, 0x800 /* ESR_Z */ andi r4, r4, 0x800 /* ESR_Z */
bnei r4, ex2 bnei r4, ex2
/* get current task address */ /* get current task address */
@ -666,8 +660,6 @@ ex_handler_done:
* R3 = ESR * R3 = ESR
*/ */
mfs r3, rear /* Get faulting address */
nop
RESTORE_STATE; RESTORE_STATE;
bri page_fault_instr_trap bri page_fault_instr_trap
@ -682,8 +674,6 @@ ex_handler_done:
*/ */
mfs r11, rpid mfs r11, rpid
nop nop
mfs r3, rear /* Get faulting address */
nop
/* If we are faulting a kernel address, we have to use the /* If we are faulting a kernel address, we have to use the
* kernel page tables. */ * kernel page tables. */
@ -754,8 +744,6 @@ ex_handler_done:
*/ */
mfs r11, rpid mfs r11, rpid
nop nop
mfs r3, rear /* Get faulting address */
nop
/* If we are faulting a kernel address, we have to use the /* If we are faulting a kernel address, we have to use the
* kernel page tables. * kernel page tables.