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:
@@ -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.
|
||||||
|
Reference in New Issue
Block a user