[PATCH] powerpc/kexec: Fix kexec/kdump in P9 guest kernels

David Gibson david at gibson.dropbear.id.au
Fri Nov 24 15:24:55 AEDT 2017


On Fri, Nov 24, 2017 at 02:51:02PM +1100, Michael Ellerman wrote:
> The code that cleans up the IAMR/AMOR before kexec'ing failed to
> remember that when we're running as a guest AMOR is not writable, it's
> hypervisor privileged.
> 
> They symptom is that the kexec stops before entering purgatory and
> nothing else is seen on the console. If you examine the state of the
> system all threads will be in the 0x700 program check handler.
> 
> Fix it by making the write to AMOR dependent on HV mode.
> 
> Fixes: 1e2a516e89fc ("powerpc/kexec: Fix radix to hash kexec due to IAMR/AMOR")
> Cc: stable at vger.kernel.org # v4.10+
> Reported-by: Yilin Zhang <yilzhang at redhat.com>
> Debugged-by: David Gibson <david at gibson.dropbear.id.au>
> Signed-off-by: Michael Ellerman <mpe at ellerman.id.au>

Reviewed-by: David Gibson <david at gibson.dropbear.id.au>
Tested-by: David Gibson <david at gibson.dropbear.id.au>

> ---
>  arch/powerpc/kernel/misc_64.S | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/arch/powerpc/kernel/misc_64.S b/arch/powerpc/kernel/misc_64.S
> index 8ac0bd2bddb0..3280953a82cf 100644
> --- a/arch/powerpc/kernel/misc_64.S
> +++ b/arch/powerpc/kernel/misc_64.S
> @@ -623,7 +623,9 @@ BEGIN_FTR_SECTION
>  	 * NOTE, we rely on r0 being 0 from above.
>  	 */
>  	mtspr	SPRN_IAMR,r0
> +BEGIN_FTR_SECTION_NESTED(42)
>  	mtspr	SPRN_AMOR,r0
> +END_FTR_SECTION_NESTED_IFSET(CPU_FTR_HVMODE, 42)
>  END_FTR_SECTION_IFSET(CPU_FTR_ARCH_300)
>  
>  	/* save regs for local vars on new stack.

-- 
David Gibson			| I'll have my music baroque, and my code
david AT gibson.dropbear.id.au	| minimalist, thank you.  NOT _the_ _other_
				| _way_ _around_!
http://www.ozlabs.org/~dgibson
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20171124/0fdcf335/attachment.sig>


More information about the Linuxppc-dev mailing list