diff options
Diffstat (limited to 'arch/powerpc/kernel/entry_64.S')
-rw-r--r-- | arch/powerpc/kernel/entry_64.S | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/arch/powerpc/kernel/entry_64.S b/arch/powerpc/kernel/entry_64.S index 9763267e38b4..42e9d908914a 100644 --- a/arch/powerpc/kernel/entry_64.S +++ b/arch/powerpc/kernel/entry_64.S | |||
@@ -551,20 +551,11 @@ restore: | |||
551 | BEGIN_FW_FTR_SECTION | 551 | BEGIN_FW_FTR_SECTION |
552 | ld r5,SOFTE(r1) | 552 | ld r5,SOFTE(r1) |
553 | FW_FTR_SECTION_ELSE | 553 | FW_FTR_SECTION_ELSE |
554 | b iseries_check_pending_irqs | 554 | b .Liseries_check_pending_irqs |
555 | ALT_FW_FTR_SECTION_END_IFCLR(FW_FEATURE_ISERIES) | 555 | ALT_FW_FTR_SECTION_END_IFCLR(FW_FEATURE_ISERIES) |
556 | 2: | 556 | 2: |
557 | TRACE_AND_RESTORE_IRQ(r5); | 557 | TRACE_AND_RESTORE_IRQ(r5); |
558 | 558 | ||
559 | #ifdef CONFIG_PERF_EVENTS | ||
560 | /* check paca->perf_event_pending if we're enabling ints */ | ||
561 | lbz r3,PACAPERFPEND(r13) | ||
562 | and. r3,r3,r5 | ||
563 | beq 27f | ||
564 | bl .perf_event_do_pending | ||
565 | 27: | ||
566 | #endif /* CONFIG_PERF_EVENTS */ | ||
567 | |||
568 | /* extract EE bit and use it to restore paca->hard_enabled */ | 559 | /* extract EE bit and use it to restore paca->hard_enabled */ |
569 | ld r3,_MSR(r1) | 560 | ld r3,_MSR(r1) |
570 | rldicl r4,r3,49,63 /* r0 = (r3 >> 15) & 1 */ | 561 | rldicl r4,r3,49,63 /* r0 = (r3 >> 15) & 1 */ |
@@ -623,7 +614,7 @@ ALT_FW_FTR_SECTION_END_IFCLR(FW_FEATURE_ISERIES) | |||
623 | 614 | ||
624 | #endif /* CONFIG_PPC_BOOK3E */ | 615 | #endif /* CONFIG_PPC_BOOK3E */ |
625 | 616 | ||
626 | iseries_check_pending_irqs: | 617 | .Liseries_check_pending_irqs: |
627 | #ifdef CONFIG_PPC_ISERIES | 618 | #ifdef CONFIG_PPC_ISERIES |
628 | ld r5,SOFTE(r1) | 619 | ld r5,SOFTE(r1) |
629 | cmpdi 0,r5,0 | 620 | cmpdi 0,r5,0 |
@@ -791,9 +782,8 @@ _GLOBAL(enter_rtas) | |||
791 | 782 | ||
792 | li r9,1 | 783 | li r9,1 |
793 | rldicr r9,r9,MSR_SF_LG,(63-MSR_SF_LG) | 784 | rldicr r9,r9,MSR_SF_LG,(63-MSR_SF_LG) |
794 | ori r9,r9,MSR_IR|MSR_DR|MSR_FE0|MSR_FE1|MSR_FP | 785 | ori r9,r9,MSR_IR|MSR_DR|MSR_FE0|MSR_FE1|MSR_FP|MSR_RI |
795 | andc r6,r0,r9 | 786 | andc r6,r0,r9 |
796 | ori r6,r6,MSR_RI | ||
797 | sync /* disable interrupts so SRR0/1 */ | 787 | sync /* disable interrupts so SRR0/1 */ |
798 | mtmsrd r0 /* don't get trashed */ | 788 | mtmsrd r0 /* don't get trashed */ |
799 | 789 | ||