Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b144871c authored by Benjamin Herrenschmidt's avatar Benjamin Herrenschmidt
Browse files

powerpc: Initialize TLB and LPID register on HV mode Power7



In case entry from the bootloader isn't "clean"

Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
parent 895796a8
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -25,7 +25,10 @@ _GLOBAL(__setup_cpu_power7)
	bl	__init_hvmode_206
	mtlr	r11
	beqlr
	li	r0,0
	mtspr	SPRN_LPID,r0
	bl	__init_LPCR
	bl	__init_TLB
	mtlr	r11
	blr

@@ -34,7 +37,10 @@ _GLOBAL(__restore_cpu_power7)
	mfmsr	r3
	rldicl.	r0,r3,4,63
	beqlr
	li	r0,0
	mtspr	SPRN_LPID,r0
	bl	__init_LPCR
	bl	__init_TLB
	mtlr	r11
	blr

@@ -71,3 +77,15 @@ __init_LPCR:
	mtspr	SPRN_LPCR,r3
	isync
	blr

__init_TLB:
	/* Clear the TLB */
	li	r6,128
	mtctr	r6
	li	r7,0xc00	/* IS field = 0b11 */
	ptesync
2:	tlbiel	r7
	addi	r7,r7,0x1000
	bdnz	2b
	ptesync
1:	blr