Message ID | 20210323010305.1045293-10-npiggin@gmail.com |
---|---|
State | New |
Headers | show |
Series | KVM: PPC: Book3S: C-ify the P9 entry/exit code | expand |
On Tue, Mar 23, 2021 at 11:02:28AM +1000, Nicholas Piggin wrote: > The code being executed in KVM_GUEST_MODE_SKIP is hypervisor code with > MSR[IR]=0, so the faults of concern are the d-side ones caused by access > to guest context by the hypervisor. > > Instruction breakpoint interrupts are not a concern here. It's unlikely > any good would come of causing breaks in this code, but skipping the > instruction that caused it won't help matters (e.g., skip the mtmsr that > sets MSR[DR]=0 or clears KVM_GUEST_MODE_SKIP). > > Reviewed-by: Daniel Axtens <dja@axtens.net> > Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com> > Signed-off-by: Nicholas Piggin <npiggin@gmail.com> It might be worth noting in the commit message that the 0x1300 interrupt was dropped from the architecture a long time ago and is not generated by P7, P8, P9 or P10. Acked-by: Paul Mackerras <paulus@ozlabs.org>
Excerpts from Paul Mackerras's message of March 31, 2021 2:54 pm: > On Tue, Mar 23, 2021 at 11:02:28AM +1000, Nicholas Piggin wrote: >> The code being executed in KVM_GUEST_MODE_SKIP is hypervisor code with >> MSR[IR]=0, so the faults of concern are the d-side ones caused by access >> to guest context by the hypervisor. >> >> Instruction breakpoint interrupts are not a concern here. It's unlikely >> any good would come of causing breaks in this code, but skipping the >> instruction that caused it won't help matters (e.g., skip the mtmsr that >> sets MSR[DR]=0 or clears KVM_GUEST_MODE_SKIP). >> >> Reviewed-by: Daniel Axtens <dja@axtens.net> >> Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com> >> Signed-off-by: Nicholas Piggin <npiggin@gmail.com> > > It might be worth noting in the commit message that the 0x1300 > interrupt was dropped from the architecture a long time ago and is not > generated by P7, P8, P9 or P10. Good background, I'll add that. Thanks, Nick > > Acked-by: Paul Mackerras <paulus@ozlabs.org> >
diff --git a/arch/powerpc/kernel/exceptions-64s.S b/arch/powerpc/kernel/exceptions-64s.S index a0515cb829c2..c9c446ccff54 100644 --- a/arch/powerpc/kernel/exceptions-64s.S +++ b/arch/powerpc/kernel/exceptions-64s.S @@ -2553,7 +2553,6 @@ EXC_VIRT_NONE(0x5200, 0x100) INT_DEFINE_BEGIN(instruction_breakpoint) IVEC=0x1300 #ifdef CONFIG_KVM_BOOK3S_PR_POSSIBLE - IKVM_SKIP=1 IKVM_REAL=1 #endif INT_DEFINE_END(instruction_breakpoint)