diff options
Diffstat (limited to 'arch/powerpc/kvm/book3s_rmhandlers.S')
-rw-r--r-- | arch/powerpc/kvm/book3s_rmhandlers.S | 32 |
1 files changed, 5 insertions, 27 deletions
diff --git a/arch/powerpc/kvm/book3s_rmhandlers.S b/arch/powerpc/kvm/book3s_rmhandlers.S index 8f7633e3afb8..a38c4c9edab8 100644 --- a/arch/powerpc/kvm/book3s_rmhandlers.S +++ b/arch/powerpc/kvm/book3s_rmhandlers.S | |||
@@ -38,32 +38,6 @@ | |||
38 | 38 | ||
39 | #define FUNC(name) GLUE(.,name) | 39 | #define FUNC(name) GLUE(.,name) |
40 | 40 | ||
41 | .globl kvmppc_skip_interrupt | ||
42 | kvmppc_skip_interrupt: | ||
43 | /* | ||
44 | * Here all GPRs are unchanged from when the interrupt happened | ||
45 | * except for r13, which is saved in SPRG_SCRATCH0. | ||
46 | */ | ||
47 | mfspr r13, SPRN_SRR0 | ||
48 | addi r13, r13, 4 | ||
49 | mtspr SPRN_SRR0, r13 | ||
50 | GET_SCRATCH0(r13) | ||
51 | rfid | ||
52 | b . | ||
53 | |||
54 | .globl kvmppc_skip_Hinterrupt | ||
55 | kvmppc_skip_Hinterrupt: | ||
56 | /* | ||
57 | * Here all GPRs are unchanged from when the interrupt happened | ||
58 | * except for r13, which is saved in SPRG_SCRATCH0. | ||
59 | */ | ||
60 | mfspr r13, SPRN_HSRR0 | ||
61 | addi r13, r13, 4 | ||
62 | mtspr SPRN_HSRR0, r13 | ||
63 | GET_SCRATCH0(r13) | ||
64 | hrfid | ||
65 | b . | ||
66 | |||
67 | #elif defined(CONFIG_PPC_BOOK3S_32) | 41 | #elif defined(CONFIG_PPC_BOOK3S_32) |
68 | 42 | ||
69 | #define FUNC(name) name | 43 | #define FUNC(name) name |
@@ -179,11 +153,15 @@ _GLOBAL(kvmppc_entry_trampoline) | |||
179 | 153 | ||
180 | li r6, MSR_IR | MSR_DR | 154 | li r6, MSR_IR | MSR_DR |
181 | andc r6, r5, r6 /* Clear DR and IR in MSR value */ | 155 | andc r6, r5, r6 /* Clear DR and IR in MSR value */ |
156 | #ifdef CONFIG_PPC_BOOK3S_32 | ||
182 | /* | 157 | /* |
183 | * Set EE in HOST_MSR so that it's enabled when we get into our | 158 | * Set EE in HOST_MSR so that it's enabled when we get into our |
184 | * C exit handler function | 159 | * C exit handler function. On 64-bit we delay enabling |
160 | * interrupts until we have finished transferring stuff | ||
161 | * to or from the PACA. | ||
185 | */ | 162 | */ |
186 | ori r5, r5, MSR_EE | 163 | ori r5, r5, MSR_EE |
164 | #endif | ||
187 | mtsrr0 r7 | 165 | mtsrr0 r7 |
188 | mtsrr1 r6 | 166 | mtsrr1 r6 |
189 | RFI | 167 | RFI |