Commit 7a6bbdc9 authored by Michal Simek's avatar Michal Simek

microblaze: Prepare work for optimization in exception code

Any sync branch must follow mts instructions not mfs.
Signed-off-by: default avatarMichal Simek <monstr@monstr.eu>
parent 708e7153
...@@ -562,7 +562,6 @@ ex_handler_done: ...@@ -562,7 +562,6 @@ ex_handler_done:
*/ */
mfs r11, rpid mfs r11, rpid
nop nop
bri 4
mfs r3, rear /* Get faulting address */ mfs r3, rear /* Get faulting address */
nop 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
...@@ -679,18 +678,17 @@ ex_handler_done: ...@@ -679,18 +678,17 @@ ex_handler_done:
*/ */
handle_data_tlb_miss_exception: handle_data_tlb_miss_exception:
/* Working registers already saved: R3, R4, R5, R6 /* Working registers already saved: R3, R4, R5, R6
* R3 = ESR * R3 = EAR, R4 = ESR
*/ */
mfs r11, rpid mfs r11, rpid
nop nop
bri 4
mfs r3, rear /* Get faulting address */ mfs r3, rear /* Get faulting address */
nop 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 r6, r0, CONFIG_KERNEL_START
cmpu r4, r3, r4 cmpu r4, r3, r6
bgti r4, ex5 bgti r4, ex5
ori r4, r0, swapper_pg_dir ori r4, r0, swapper_pg_dir
mts rpid, r0 /* TLB will have 0 TID */ mts rpid, r0 /* TLB will have 0 TID */
...@@ -756,7 +754,6 @@ ex_handler_done: ...@@ -756,7 +754,6 @@ ex_handler_done:
*/ */
mfs r11, rpid mfs r11, rpid
nop nop
bri 4
mfs r3, rear /* Get faulting address */ mfs r3, rear /* Get faulting address */
nop nop
......
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