Commit 5a528eb6 authored by Christophe Leroy's avatar Christophe Leroy Committed by Michael Ellerman
Browse files

powerpc/chrp: Fix enter_rtas() with CONFIG_VMAP_STACK



With CONFIG_VMAP_STACK, data MMU has to be enabled
to read data on the stack.

Fixes: cd08f109 ("powerpc/32s: Enable CONFIG_VMAP_STACK")
Signed-off-by: default avatarChristophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/d2330584f8c42d3039896e2b56f5d39676dc919c.1581669558.git.christophe.leroy@c-s.fr
parent 232ca1ee
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -1354,12 +1354,17 @@ _GLOBAL(enter_rtas)
	mtspr	SPRN_SRR0,r8
	mtspr	SPRN_SRR1,r9
	RFI
1:	tophys(r9,r1)
1:	tophys_novmstack r9, r1
#ifdef CONFIG_VMAP_STACK
	li	r0, MSR_KERNEL & ~MSR_IR	/* can take DTLB miss */
	mtmsr	r0
	isync
#endif
	lwz	r8,INT_FRAME_SIZE+4(r9)	/* get return address */
	lwz	r9,8(r9)	/* original msr value */
	addi	r1,r1,INT_FRAME_SIZE
	li	r0,0
	tophys(r7, r2)
	tophys_novmstack r7, r2
	stw	r0, THREAD + RTAS_SP(r7)
	mtspr	SPRN_SRR0,r8
	mtspr	SPRN_SRR1,r9