Excerpts from Alexey Kardashevskiy's message of March 23, 2021 7:24 pm: > > > On 23/03/2021 20:16, Nicholas Piggin wrote: >> Excerpts from Alexey Kardashevskiy's message of March 23, 2021 7:02 pm: >>> >>> >>> On 23/03/2021 12:02, Nicholas Piggin wrote: >>>> diff --git a/arch/powerpc/kvm/book3s_hv_rmhandlers.S b/arch/powerpc/kvm/book3s_hv_rmhandlers.S >>>> index c11597f815e4..2d0d14ed1d92 100644 >>>> --- a/arch/powerpc/kvm/book3s_hv_rmhandlers.S >>>> +++ b/arch/powerpc/kvm/book3s_hv_rmhandlers.S >>>> @@ -1397,9 +1397,14 @@ END_FTR_SECTION_IFSET(CPU_FTR_HAS_PPR) >>>> mr r4,r9 >>>> bge fast_guest_return >>>> 2: >>>> + /* If we came in through the P9 short path, no real mode hcalls */ >>>> + lwz r0, STACK_SLOT_SHORT_PATH(r1) >>>> + cmpwi r0, 0 >>>> + bne no_try_real >>> >>> >>> btw is mmu on at this point? or it gets enabled by rfid at the end of >>> guest_exit_short_path? >> >> Hash guest it's off. Radix guest it can be on or off depending on the >> interrupt type and MSR and LPCR[AIL] values. > > What I meant was - what do we expect here on p9? mmu on? ^w^w^w^w^w^w^w^w^w P9 radix can be on or off. If the guest had MSR[IR] or MSR[DR] clear, or if the guest is running AIL=0 mode, or if this is a machine check, system reset, or HMI interrupt then the MMU will be off here. > I just realized - it is radix so there is no problem with vmalloc > addresses in real mode as these do not use top 2 bits as on hash and the > exact mmu state is less important here. Cheers. We still can't use vmalloc addresses in real mode on radix because they don't translate with the page tables. Thanks, Nick