diff options
| author | Michal Simek <monstr@monstr.eu> | 2010-03-19 07:50:35 -0400 |
|---|---|---|
| committer | Michal Simek <monstr@monstr.eu> | 2010-04-01 02:38:23 -0400 |
| commit | bd1637d63e82aaf732ffbe907ba887fa12e82df4 (patch) | |
| tree | e81024ed210d7c604a20ce6b32f6c72701a2dc73 | |
| parent | b175bcfe31cba846d8bfa35a3a4820667f7af383 (diff) | |
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>
| -rw-r--r-- | arch/microblaze/kernel/hw_exception_handler.S | 18 |
1 files changed, 3 insertions, 15 deletions
diff --git a/arch/microblaze/kernel/hw_exception_handler.S b/arch/microblaze/kernel/hw_exception_handler.S index a652addb9321..5d8c3de58b0c 100644 --- a/arch/microblaze/kernel/hw_exception_handler.S +++ b/arch/microblaze/kernel/hw_exception_handler.S | |||
| @@ -562,20 +562,16 @@ ex_handler_done: | |||
| 562 | */ | 562 | */ |
| 563 | mfs r11, rpid | 563 | mfs r11, rpid |
| 564 | nop | 564 | nop |
| 565 | mfs r3, rear /* Get faulting address */ | ||
| 566 | nop | ||
| 567 | /* If we are faulting a kernel address, we have to use the | 565 | /* If we are faulting a kernel address, we have to use the |
| 568 | * kernel page tables. | 566 | * kernel page tables. |
| 569 | */ | 567 | */ |
| 570 | ori r4, r0, CONFIG_KERNEL_START | 568 | ori r5, r0, CONFIG_KERNEL_START |
| 571 | cmpu r4, r3, r4 | 569 | cmpu r5, r3, r5 |
| 572 | bgti r4, ex3 | 570 | bgti r5, ex3 |
| 573 | /* First, check if it was a zone fault (which means a user | 571 | /* First, check if it was a zone fault (which means a user |
| 574 | * tried to access a kernel or read-protected page - always | 572 | * tried to access a kernel or read-protected page - always |
| 575 | * a SEGV). All other faults here must be stores, so no | 573 | * a SEGV). All other faults here must be stores, so no |
| 576 | * need to check ESR_S as well. */ | 574 | * need to check ESR_S as well. */ |
| 577 | mfs r4, resr | ||
| 578 | nop | ||
| 579 | andi r4, r4, 0x800 /* ESR_Z - zone protection */ | 575 | andi r4, r4, 0x800 /* ESR_Z - zone protection */ |
| 580 | bnei r4, ex2 | 576 | bnei r4, ex2 |
| 581 | 577 | ||
| @@ -590,8 +586,6 @@ ex_handler_done: | |||
| 590 | * tried to access a kernel or read-protected page - always | 586 | * tried to access a kernel or read-protected page - always |
| 591 | * a SEGV). All other faults here must be stores, so no | 587 | * a SEGV). All other faults here must be stores, so no |
| 592 | * need to check ESR_S as well. */ | 588 | * need to check ESR_S as well. */ |
| 593 | mfs r4, resr | ||
| 594 | nop | ||
| 595 | andi r4, r4, 0x800 /* ESR_Z */ | 589 | andi r4, r4, 0x800 /* ESR_Z */ |
| 596 | bnei r4, ex2 | 590 | bnei r4, ex2 |
| 597 | /* get current task address */ | 591 | /* get current task address */ |
| @@ -666,8 +660,6 @@ ex_handler_done: | |||
| 666 | * R3 = ESR | 660 | * R3 = ESR |
| 667 | */ | 661 | */ |
| 668 | 662 | ||
| 669 | mfs r3, rear /* Get faulting address */ | ||
| 670 | nop | ||
| 671 | RESTORE_STATE; | 663 | RESTORE_STATE; |
| 672 | bri page_fault_instr_trap | 664 | bri page_fault_instr_trap |
| 673 | 665 | ||
| @@ -682,8 +674,6 @@ ex_handler_done: | |||
| 682 | */ | 674 | */ |
| 683 | mfs r11, rpid | 675 | mfs r11, rpid |
| 684 | nop | 676 | nop |
| 685 | mfs r3, rear /* Get faulting address */ | ||
| 686 | nop | ||
| 687 | 677 | ||
| 688 | /* If we are faulting a kernel address, we have to use the | 678 | /* If we are faulting a kernel address, we have to use the |
| 689 | * kernel page tables. */ | 679 | * kernel page tables. */ |
| @@ -754,8 +744,6 @@ ex_handler_done: | |||
| 754 | */ | 744 | */ |
| 755 | mfs r11, rpid | 745 | mfs r11, rpid |
| 756 | nop | 746 | nop |
| 757 | mfs r3, rear /* Get faulting address */ | ||
| 758 | nop | ||
| 759 | 747 | ||
| 760 | /* If we are faulting a kernel address, we have to use the | 748 | /* If we are faulting a kernel address, we have to use the |
| 761 | * kernel page tables. | 749 | * kernel page tables. |
