diff options
Diffstat (limited to 'arch/powerpc/kernel/exceptions-64s.S')
-rw-r--r-- | arch/powerpc/kernel/exceptions-64s.S | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S index f53029a01554..9f8b01d6466f 100644 --- a/arch/powerpc/kernel/exceptions-64s.S +++ b/arch/powerpc/kernel/exceptions-64s.S | |||
@@ -299,6 +299,12 @@ slb_miss_user_pseries: | |||
299 | b . /* prevent spec. execution */ | 299 | b . /* prevent spec. execution */ |
300 | #endif /* __DISABLED__ */ | 300 | #endif /* __DISABLED__ */ |
301 | 301 | ||
302 | /* KVM's trampoline code needs to be close to the interrupt handlers */ | ||
303 | |||
304 | #ifdef CONFIG_KVM_BOOK3S_64_HANDLER | ||
305 | #include "../kvm/book3s_rmhandlers.S" | ||
306 | #endif | ||
307 | |||
302 | .align 7 | 308 | .align 7 |
303 | .globl __end_interrupts | 309 | .globl __end_interrupts |
304 | __end_interrupts: | 310 | __end_interrupts: |
@@ -818,12 +824,12 @@ END_FW_FTR_SECTION_IFCLR(FW_FEATURE_ISERIES) | |||
818 | 824 | ||
819 | /* | 825 | /* |
820 | * hash_page couldn't handle it, set soft interrupt enable back | 826 | * hash_page couldn't handle it, set soft interrupt enable back |
821 | * to what it was before the trap. Note that .raw_local_irq_restore | 827 | * to what it was before the trap. Note that .arch_local_irq_restore |
822 | * handles any interrupts pending at this point. | 828 | * handles any interrupts pending at this point. |
823 | */ | 829 | */ |
824 | ld r3,SOFTE(r1) | 830 | ld r3,SOFTE(r1) |
825 | TRACE_AND_RESTORE_IRQ_PARTIAL(r3, 11f) | 831 | TRACE_AND_RESTORE_IRQ_PARTIAL(r3, 11f) |
826 | bl .raw_local_irq_restore | 832 | bl .arch_local_irq_restore |
827 | b 11f | 833 | b 11f |
828 | 834 | ||
829 | /* We have a data breakpoint exception - handle it */ | 835 | /* We have a data breakpoint exception - handle it */ |