Skip to contentSkip to conversation

powerpc/85xx: Move INIT_RAM_ADDR physical address to 36-bit space

PATCH New Kumar Gala 1 participant 4 messages Jul 14, 2010 – Jul 26, 2010 PowerPC

lore
Share & tools
lore

Kumar Gala

author
#0 lore raw

PATCH 1/1 powerpc/85xx: Move INIT_RAM_ADDR physical address to 36-bit space

From: york <[email protected]>

If 36-bit physical address is used, move the INIT_RAM_ADDR to higher address. This frees the low 4GB address space for better use.

---
 arch/powerpc/cpu/mpc85xx/start.S |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)
arch/powerpc/cpu/mpc85xx/start.S +7 -0
index b3cb56a..aaf7838 100644
@@ -330,8 +330,15 @@ _start_e500:
 	lis     r8,FSL_BOOKE_MAS2(CONFIG_SYS_INIT_RAM_ADDR, 0)@h
 	ori     r8,r8,FSL_BOOKE_MAS2(CONFIG_SYS_INIT_RAM_ADDR, 0)@l
 
+#if defined(CONFIG_SYS_INIT_RAM_ADDR_PHYS_LOW) && defined(CONFIG_SYS_INIT_RAM_ADDR_PHYS_HIGH)
+	lis     r9,FSL_BOOKE_MAS3(CONFIG_SYS_INIT_RAM_ADDR_PHYS_LOW, 0, (MAS3_SX|MAS3_SW|MAS3_SR))@h
+	ori     r9,r9,FSL_BOOKE_MAS3(CONFIG_SYS_INIT_RAM_ADDR_PHYS_LOW, 0, (MAS3_SX|MAS3_SW|MAS3_SR))@l
+	li      r10,CONFIG_SYS_INIT_RAM_ADDR_PHYS_HIGH
+	mtspr	MAS7,r10
+#else
 	lis     r9,FSL_BOOKE_MAS3(CONFIG_SYS_INIT_RAM_ADDR, 0, (MAS3_SX|MAS3_SW|MAS3_SR))@h
 	ori     r9,r9,FSL_BOOKE_MAS3(CONFIG_SYS_INIT_RAM_ADDR, 0, (MAS3_SX|MAS3_SW|MAS3_SR))@l
+#endif
 
 	mtspr   MAS0,r6
 	mtspr   MAS1,r7
Signature · 1 line
1.6.0.6
author
#1 lore raw

PATCH 1/1 powerpc/p2020: Move INIT_RAM_ADDR physical address higher for 36-bit for P2020DS

From: york <[email protected]>

If 36-bit is enabled, move INIT_RAM_ADDR physical address higher to free lowest 4GB address space.

---
 board/freescale/p2020ds/tlb.c |    8 ++++----
 include/configs/P2020DS.h     |   11 +++++++++++
 2 files changed, 15 insertions(+), 4 deletions(-)
board/freescale/p2020ds/tlb.c +4 -4
index 36ad086..824b3b2 100644
@@ -28,19 +28,19 @@
 
 struct fsl_e_tlb_entry tlb_table[] = {
 	/* TLB 0 - for temp stack in cache */
-	SET_TLB_ENTRY(0, CONFIG_SYS_INIT_RAM_ADDR, CONFIG_SYS_INIT_RAM_ADDR,
+	SET_TLB_ENTRY(0, CONFIG_SYS_INIT_RAM_ADDR, CONFIG_SYS_INIT_RAM_ADDR_PHYS,
 		      MAS3_SX|MAS3_SW|MAS3_SR, 0,
 		      0, 0, BOOKE_PAGESZ_4K, 0),
 	SET_TLB_ENTRY(0, CONFIG_SYS_INIT_RAM_ADDR + 4 * 1024,
-		      CONFIG_SYS_INIT_RAM_ADDR + 4 * 1024,
+		      CONFIG_SYS_INIT_RAM_ADDR_PHYS + 4 * 1024,
 		      MAS3_SX|MAS3_SW|MAS3_SR, 0,
 		      0, 0, BOOKE_PAGESZ_4K, 0),
 	SET_TLB_ENTRY(0, CONFIG_SYS_INIT_RAM_ADDR + 8 * 1024,
-		      CONFIG_SYS_INIT_RAM_ADDR + 8 * 1024,
+		      CONFIG_SYS_INIT_RAM_ADDR_PHYS + 8 * 1024,
 		      MAS3_SX|MAS3_SW|MAS3_SR, 0,
 		      0, 0, BOOKE_PAGESZ_4K, 0),
 	SET_TLB_ENTRY(0, CONFIG_SYS_INIT_RAM_ADDR + 12 * 1024,
-		      CONFIG_SYS_INIT_RAM_ADDR + 12 * 1024,
+		      CONFIG_SYS_INIT_RAM_ADDR_PHYS + 12 * 1024,
 		      MAS3_SX|MAS3_SW|MAS3_SR, 0,
 		      0, 0, BOOKE_PAGESZ_4K, 0),
 
include/configs/P2020DS.h +11 -0
index bf2acbf..e70c673 100644
@@ -249,6 +249,17 @@
 
 #define CONFIG_SYS_INIT_RAM_LOCK	1
 #define CONFIG_SYS_INIT_RAM_ADDR	0xffd00000	/* Initial L1 address */
+#ifdef CONFIG_PHYS_64BIT
+#define CONFIG_SYS_INIT_RAM_ADDR_PHYS_HIGH 0xf
+#define CONFIG_SYS_INIT_RAM_ADDR_PHYS_LOW CONFIG_SYS_INIT_RAM_ADDR
+/* The assembler doesn't like typecast */
+#define CONFIG_SYS_INIT_RAM_ADDR_PHYS \
+	(CONFIG_SYS_INIT_RAM_ADDR_PHYS_HIGH * 0x100000000ull + CONFIG_SYS_INIT_RAM_ADDR_PHYS_LOW)
+#else
+#define CONFIG_SYS_INIT_RAM_ADDR_PHYS	CONFIG_SYS_INIT_RAM_ADDR /* Initial L1 address */
+#define CONFIG_SYS_INIT_RAM_ADDR_PHYS_HIGH 0
+#define CONFIG_SYS_INIT_RAM_ADDR_PHYS_LOW CONFIG_SYS_INIT_RAM_ADDR_PHYS
+#endif
 #define CONFIG_SYS_INIT_RAM_END	0x00004000	/* End of used area in RAM */
 
 #define CONFIG_SYS_GBL_DATA_SIZE	128	/* num bytes initial data */
Signature · 1 line
1.6.0.6
author
#2 lore raw

PATCH 1/1 powerpc/p2020: Move INIT_RAM_ADDR physical address higher for 36-bit for P2020DS

Quoted 10 lines · Kumar Gala

From: york <[email protected]>

If 36-bit is enabled, move INIT_RAM_ADDR physical address higher to free lowest 4GB address space.

---
board/freescale/p2020ds/tlb.c | 8 ++++----
include/configs/P2020DS.h | 11 +++++++++++

2 files changed, 15 insertions(+), 4 deletions(-)

applied w/fix to 80 column issues in P2020DS.h

- k

author
#3 lore raw

PATCH 1/1 powerpc/85xx: Move INIT_RAM_ADDR physical address to 36-bit space

In reply to Kumar Gala
Quoted 9 lines · Kumar Gala

From: york <[email protected]>

If 36-bit physical address is used, move the INIT_RAM_ADDR to higher address. This frees the low 4GB address space for better use.

---
arch/powerpc/cpu/mpc85xx/start.S | 7 +++++++

1 files changed, 7 insertions(+), 0 deletions(-)

applied but fixed 80 column formatting.

- k