public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] ARM: LPAE: load upper bits of early TTBR0/TTBR1
@ 2014-07-22 15:36 Konstantin Khlebnikov
  2014-07-22 15:36 ` [PATCH 2/2] ARM: LPAE: reduce damage caused by idmap to virtual memory layout Konstantin Khlebnikov
                   ` (2 more replies)
  0 siblings, 3 replies; 26+ messages in thread
From: Konstantin Khlebnikov @ 2014-07-22 15:36 UTC (permalink / raw)
  To: Russell King, linux-arm-kernel
  Cc: Will Deacon, linux-kernel, Vitaly Andrianov, Cyril Chemparathy

This patch fixes booting when idmap pgd lays above 4gb. Commit
4756dcbfd37 mostly had fixed this, but it'd failed to load upper bits.

Also this fixes adding TTBR1_OFFSET to TTRR1: if lower part overflows
carry flag must be added to the upper part.

Signed-off-by: Konstantin Khlebnikov <k.khlebnikov@samsung.com>
Cc: Cyril Chemparathy <cyril@ti.com>
Cc: Vitaly Andrianov <vitalya@ti.com>
---
 arch/arm/mm/proc-v7-3level.S |    7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/arch/arm/mm/proc-v7-3level.S b/arch/arm/mm/proc-v7-3level.S
index 22e3ad6..f0481dd 100644
--- a/arch/arm/mm/proc-v7-3level.S
+++ b/arch/arm/mm/proc-v7-3level.S
@@ -140,12 +140,11 @@ ENDPROC(cpu_v7_set_pte_ext)
 	mov	\tmp, \ttbr1, lsr #(32 - ARCH_PGD_SHIFT)	@ upper bits
 	mov	\ttbr1, \ttbr1, lsl #ARCH_PGD_SHIFT		@ lower bits
 	addls	\ttbr1, \ttbr1, #TTBR1_OFFSET
-	mcrr	p15, 1, \ttbr1, \zero, c2			@ load TTBR1
+	adcls	\tmp, \tmp, #0
+	mcrr	p15, 1, \ttbr1, \tmp, c2			@ load TTBR1
 	mov	\tmp, \ttbr0, lsr #(32 - ARCH_PGD_SHIFT)	@ upper bits
 	mov	\ttbr0, \ttbr0, lsl #ARCH_PGD_SHIFT		@ lower bits
-	mcrr	p15, 0, \ttbr0, \zero, c2			@ load TTBR0
-	mcrr	p15, 1, \ttbr1, \zero, c2			@ load TTBR1
-	mcrr	p15, 0, \ttbr0, \zero, c2			@ load TTBR0
+	mcrr	p15, 0, \ttbr0, \tmp, c2			@ load TTBR0
 	.endm
 
 	/*


^ permalink raw reply related	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2014-08-28 11:51 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-22 15:36 [PATCH 1/2] ARM: LPAE: load upper bits of early TTBR0/TTBR1 Konstantin Khlebnikov
2014-07-22 15:36 ` [PATCH 2/2] ARM: LPAE: reduce damage caused by idmap to virtual memory layout Konstantin Khlebnikov
2014-07-28 18:14   ` Will Deacon
2014-07-28 18:25     ` Konstantin Khlebnikov
2014-07-28 18:41       ` Will Deacon
2014-07-28 18:57         ` Konstantin Khlebnikov
2014-07-28 19:06           ` Will Deacon
2014-07-28 19:13           ` Russell King - ARM Linux
2014-07-28 19:29             ` Konstantin Khlebnikov
2014-07-28 19:34               ` Konstantin Khlebnikov
2014-07-28 19:42               ` Russell King - ARM Linux
2014-07-28 19:57                 ` Konstantin Khlebnikov
2014-07-29 10:57                   ` Russell King - ARM Linux
2014-07-29 12:37                     ` Konstantin Khlebnikov
2014-07-28 18:12 ` [PATCH 1/2] ARM: LPAE: load upper bits of early TTBR0/TTBR1 Will Deacon
2014-07-28 18:40   ` Konstantin Khlebnikov
2014-07-28 18:47     ` Will Deacon
2014-07-29 11:15       ` Will Deacon
2014-07-29 12:29       ` Konstantin Khlebnikov
2014-08-27 15:26         ` Jassi Brar
2014-08-27 15:31           ` Konstantin Khlebnikov
2014-08-27 15:33             ` Konstantin Khlebnikov
2014-08-27 15:45             ` Jassi Brar
2014-08-28 11:03               ` Will Deacon
2014-08-28 11:50                 ` Konstantin Khlebnikov
2014-08-05 15:42 ` Konstantin Khlebnikov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox