diff options
-rw-r--r-- | arch/powerpc/kernel/exceptions-64s.S | 10 | ||||
-rw-r--r-- | arch/powerpc/kvm/Makefile | 3 | ||||
-rw-r--r-- | arch/powerpc/kvm/book3s_hv_rmhandlers.S | 3 | ||||
-rw-r--r-- | arch/powerpc/kvm/book3s_rmhandlers.S | 3 |
4 files changed, 9 insertions, 10 deletions
diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S index 41b02c792aa3..29ddd8b1c274 100644 --- a/arch/powerpc/kernel/exceptions-64s.S +++ b/arch/powerpc/kernel/exceptions-64s.S | |||
@@ -427,16 +427,6 @@ slb_miss_user_pseries: | |||
427 | b . /* prevent spec. execution */ | 427 | b . /* prevent spec. execution */ |
428 | #endif /* __DISABLED__ */ | 428 | #endif /* __DISABLED__ */ |
429 | 429 | ||
430 | /* KVM's trampoline code needs to be close to the interrupt handlers */ | ||
431 | |||
432 | #ifdef CONFIG_KVM_BOOK3S_64_HANDLER | ||
433 | #ifdef CONFIG_KVM_BOOK3S_PR | ||
434 | #include "../kvm/book3s_rmhandlers.S" | ||
435 | #else | ||
436 | #include "../kvm/book3s_hv_rmhandlers.S" | ||
437 | #endif | ||
438 | #endif | ||
439 | |||
440 | .align 7 | 430 | .align 7 |
441 | .globl __end_interrupts | 431 | .globl __end_interrupts |
442 | __end_interrupts: | 432 | __end_interrupts: |
diff --git a/arch/powerpc/kvm/Makefile b/arch/powerpc/kvm/Makefile index 4c66d51dbd38..3688aeecc4b2 100644 --- a/arch/powerpc/kvm/Makefile +++ b/arch/powerpc/kvm/Makefile | |||
@@ -50,12 +50,15 @@ kvm-book3s_64-objs-$(CONFIG_KVM_BOOK3S_64_PR) := \ | |||
50 | book3s_64_mmu_host.o \ | 50 | book3s_64_mmu_host.o \ |
51 | book3s_64_mmu.o \ | 51 | book3s_64_mmu.o \ |
52 | book3s_32_mmu.o | 52 | book3s_32_mmu.o |
53 | kvm-book3s_64-builtin-objs-$(CONFIG_KVM_BOOK3S_64_PR) := \ | ||
54 | book3s_rmhandlers.o | ||
53 | 55 | ||
54 | kvm-book3s_64-objs-$(CONFIG_KVM_BOOK3S_64_HV) := \ | 56 | kvm-book3s_64-objs-$(CONFIG_KVM_BOOK3S_64_HV) := \ |
55 | book3s_hv.o \ | 57 | book3s_hv.o \ |
56 | book3s_hv_interrupts.o \ | 58 | book3s_hv_interrupts.o \ |
57 | book3s_64_mmu_hv.o | 59 | book3s_64_mmu_hv.o |
58 | kvm-book3s_64-builtin-objs-$(CONFIG_KVM_BOOK3S_64_HV) := \ | 60 | kvm-book3s_64-builtin-objs-$(CONFIG_KVM_BOOK3S_64_HV) := \ |
61 | book3s_hv_rmhandlers.o \ | ||
59 | book3s_hv_rm_mmu.o \ | 62 | book3s_hv_rm_mmu.o \ |
60 | book3s_64_vio_hv.o \ | 63 | book3s_64_vio_hv.o \ |
61 | book3s_hv_builtin.o | 64 | book3s_hv_builtin.o |
diff --git a/arch/powerpc/kvm/book3s_hv_rmhandlers.S b/arch/powerpc/kvm/book3s_hv_rmhandlers.S index de2950135e6e..bc6ade933089 100644 --- a/arch/powerpc/kvm/book3s_hv_rmhandlers.S +++ b/arch/powerpc/kvm/book3s_hv_rmhandlers.S | |||
@@ -20,7 +20,10 @@ | |||
20 | #include <asm/ppc_asm.h> | 20 | #include <asm/ppc_asm.h> |
21 | #include <asm/kvm_asm.h> | 21 | #include <asm/kvm_asm.h> |
22 | #include <asm/reg.h> | 22 | #include <asm/reg.h> |
23 | #include <asm/mmu.h> | ||
23 | #include <asm/page.h> | 24 | #include <asm/page.h> |
25 | #include <asm/ptrace.h> | ||
26 | #include <asm/hvcall.h> | ||
24 | #include <asm/asm-offsets.h> | 27 | #include <asm/asm-offsets.h> |
25 | #include <asm/exception-64s.h> | 28 | #include <asm/exception-64s.h> |
26 | 29 | ||
diff --git a/arch/powerpc/kvm/book3s_rmhandlers.S b/arch/powerpc/kvm/book3s_rmhandlers.S index c1f877c4a884..5ee66edd749d 100644 --- a/arch/powerpc/kvm/book3s_rmhandlers.S +++ b/arch/powerpc/kvm/book3s_rmhandlers.S | |||
@@ -20,6 +20,7 @@ | |||
20 | #include <asm/ppc_asm.h> | 20 | #include <asm/ppc_asm.h> |
21 | #include <asm/kvm_asm.h> | 21 | #include <asm/kvm_asm.h> |
22 | #include <asm/reg.h> | 22 | #include <asm/reg.h> |
23 | #include <asm/mmu.h> | ||
23 | #include <asm/page.h> | 24 | #include <asm/page.h> |
24 | #include <asm/asm-offsets.h> | 25 | #include <asm/asm-offsets.h> |
25 | 26 | ||
@@ -39,6 +40,7 @@ | |||
39 | #define MSR_NOIRQ MSR_KERNEL & ~(MSR_IR | MSR_DR) | 40 | #define MSR_NOIRQ MSR_KERNEL & ~(MSR_IR | MSR_DR) |
40 | #define FUNC(name) GLUE(.,name) | 41 | #define FUNC(name) GLUE(.,name) |
41 | 42 | ||
43 | .globl kvmppc_skip_interrupt | ||
42 | kvmppc_skip_interrupt: | 44 | kvmppc_skip_interrupt: |
43 | /* | 45 | /* |
44 | * Here all GPRs are unchanged from when the interrupt happened | 46 | * Here all GPRs are unchanged from when the interrupt happened |
@@ -51,6 +53,7 @@ kvmppc_skip_interrupt: | |||
51 | rfid | 53 | rfid |
52 | b . | 54 | b . |
53 | 55 | ||
56 | .globl kvmppc_skip_Hinterrupt | ||
54 | kvmppc_skip_Hinterrupt: | 57 | kvmppc_skip_Hinterrupt: |
55 | /* | 58 | /* |
56 | * Here all GPRs are unchanged from when the interrupt happened | 59 | * Here all GPRs are unchanged from when the interrupt happened |