public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH v3 1/2] m68k: add malloc memory for early malloc
@ 2016-04-24 22:20 Angelo Dureghello
  2016-04-25 14:28 ` Angelo Dureghello
  0 siblings, 1 reply; 2+ messages in thread
From: Angelo Dureghello @ 2016-04-24 22:20 UTC (permalink / raw)
  To: u-boot

To use serial uclass and DM, CONFIG_SYS_MALLOC_F must be used.
So CONFIG_SYS_GENERIC_GLOBAL_DATA has been undefined and
call to board_init_f_mem() is added for all cpu's.

Signed-off-by: Angelo Dureghello <angelo@sysam.it>

---
Changes for v2:
   - none
Changes for v3:
   - fix start.S using new board_init_f_alloc_reserve
---
 arch/m68k/cpu/mcf5227x/start.S   | 16 ++++++++++++++++
 arch/m68k/cpu/mcf523x/start.S    | 16 ++++++++++++++++
 arch/m68k/cpu/mcf52x2/start.S    | 16 ++++++++++++++++
 arch/m68k/cpu/mcf530x/cpu_init.c |  2 +-
 arch/m68k/cpu/mcf530x/start.S    | 16 ++++++++++++++++
 arch/m68k/cpu/mcf532x/start.S    | 16 ++++++++++++++++
 arch/m68k/cpu/mcf5445x/start.S   | 16 ++++++++++++++++
 arch/m68k/cpu/mcf547x_8x/start.S | 16 ++++++++++++++++
 8 files changed, 113 insertions(+), 1 deletion(-)

diff --git a/arch/m68k/cpu/mcf5227x/start.S b/arch/m68k/cpu/mcf5227x/start.S
index 23024f9..ea36020 100644
--- a/arch/m68k/cpu/mcf5227x/start.S
+++ b/arch/m68k/cpu/mcf5227x/start.S
@@ -379,6 +379,22 @@ _start:
 
 	move.l #__got_start, %a5	/* put relocation table address to a5 */
 
+#if defined(CONFIG_SYS_MALLOC_F)
+	move.l	#(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_SIZE), %sp
+
+	/* allocate reserved area from current top of stack */
+	move.l	%sp, -(%sp)
+	bsr	board_init_f_alloc_reserve
+
+	/* update stack and frame-pointers */
+	move.l	%d0, %sp
+	move.l	%sp, %fp
+
+	/* initialize reserved area */
+	move.l	%d0, -(%sp)
+	bsr	board_init_f_init_reserve
+#endif
+
 	bsr cpu_init_f			/* run low-level CPU init code (from flash) */
 	bsr board_init_f		/* run low-level board init code (from flash) */
 
diff --git a/arch/m68k/cpu/mcf523x/start.S b/arch/m68k/cpu/mcf523x/start.S
index 1702f98..db1cb11 100644
--- a/arch/m68k/cpu/mcf523x/start.S
+++ b/arch/m68k/cpu/mcf523x/start.S
@@ -141,6 +141,22 @@ _start:
 
 	move.l #__got_start, %a5	/* put relocation table address to a5 */
 
+#if defined(CONFIG_SYS_MALLOC_F)
+	move.l	#(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_SIZE), %sp
+
+	/* allocate reserved area from current top of stack */
+	move.l	%sp, -(%sp)
+	bsr	board_init_f_alloc_reserve
+
+	/* update stack and frame-pointers */
+	move.l	%d0, %sp
+	move.l	%sp, %fp
+
+	/* initialize reserved area */
+	move.l	%d0, -(%sp)
+	bsr	board_init_f_init_reserve
+#endif
+
 	/* run low-level CPU init code (from flash) */
 	move.l #cpu_init_f, %a1
 	jsr (%a1)
diff --git a/arch/m68k/cpu/mcf52x2/start.S b/arch/m68k/cpu/mcf52x2/start.S
index 4af691f..e60d51e 100644
--- a/arch/m68k/cpu/mcf52x2/start.S
+++ b/arch/m68k/cpu/mcf52x2/start.S
@@ -198,6 +198,22 @@ _after_flashbar_copy:
 
 	move.l #__got_start, %a5		/* put relocation table address to a5 */
 
+#if defined(CONFIG_SYS_MALLOC_F)
+	move.l	#(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_SIZE), %sp
+
+	/* allocate reserved area from current top of stack */
+	move.l	%sp, -(%sp)
+	bsr	board_init_f_alloc_reserve
+
+	/* update stack and frame-pointers */
+	move.l	%d0, %sp
+	move.l	%sp, %fp
+
+	/* initialize reserved area */
+	move.l	%d0, -(%sp)
+	bsr	board_init_f_init_reserve
+#endif
+
 	/* run low-level CPU init code (from flash) */
 	move.l #cpu_init_f, %a1
 	jsr (%a1)
diff --git a/arch/m68k/cpu/mcf530x/cpu_init.c b/arch/m68k/cpu/mcf530x/cpu_init.c
index 80dc239..b09eed8 100644
--- a/arch/m68k/cpu/mcf530x/cpu_init.c
+++ b/arch/m68k/cpu/mcf530x/cpu_init.c
@@ -142,7 +142,7 @@ int cpu_init_r(void)
 	return 0;
 }
 
-void uart_port_conf(void)
+void uart_port_conf(int port)
 {
 }
 
diff --git a/arch/m68k/cpu/mcf530x/start.S b/arch/m68k/cpu/mcf530x/start.S
index 097958a..9740b59 100644
--- a/arch/m68k/cpu/mcf530x/start.S
+++ b/arch/m68k/cpu/mcf530x/start.S
@@ -137,6 +137,22 @@ _start:
 	/* put relocation table address to a5 */
 	move.l #__got_start, %a5
 
+#if defined(CONFIG_SYS_MALLOC_F)
+	move.l	#(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_SIZE), %sp
+
+	/* allocate reserved area from current top of stack */
+	move.l	%sp, -(%sp)
+	bsr	board_init_f_alloc_reserve
+
+	/* update stack and frame-pointers */
+	move.l	%d0, %sp
+	move.l	%sp, %fp
+
+	/* initialize reserved area */
+	move.l	%d0, -(%sp)
+	bsr	board_init_f_init_reserve
+#endif
+
 	/* run low-level CPU init code (from flash) */
 	bsr cpu_init_f
 
diff --git a/arch/m68k/cpu/mcf532x/start.S b/arch/m68k/cpu/mcf532x/start.S
index 131ad6e..558c8d5 100644
--- a/arch/m68k/cpu/mcf532x/start.S
+++ b/arch/m68k/cpu/mcf532x/start.S
@@ -155,6 +155,22 @@ _start:
 
 	move.l #__got_start, %a5	/* put relocation table address to a5 */
 
+#if defined(CONFIG_SYS_MALLOC_F)
+	move.l	#(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_SIZE), %sp
+
+	/* allocate reserved area from current top of stack */
+	move.l	%sp, -(%sp)
+	bsr	board_init_f_alloc_reserve
+
+	/* update stack and frame-pointers */
+	move.l	%d0, %sp
+	move.l	%sp, %fp
+
+	/* initialize reserved area */
+	move.l	%d0, -(%sp)
+	bsr	board_init_f_init_reserve
+#endif
+
 	/* run low-level CPU init code (from flash) */
 	move.l #cpu_init_f, %a1
 	jsr (%a1)
diff --git a/arch/m68k/cpu/mcf5445x/start.S b/arch/m68k/cpu/mcf5445x/start.S
index f50f147..49c8d30 100644
--- a/arch/m68k/cpu/mcf5445x/start.S
+++ b/arch/m68k/cpu/mcf5445x/start.S
@@ -664,6 +664,22 @@ _start:
 
 	move.l #__got_start, %a5	/* put relocation table address to a5 */
 
+#if defined(CONFIG_SYS_MALLOC_F)
+	move.l	#(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_SIZE), %sp
+
+	/* allocate reserved area from current top of stack */
+	move.l	%sp, -(%sp)
+	bsr	board_init_f_alloc_reserve
+
+	/* update stack and frame-pointers */
+	move.l	%d0, %sp
+	move.l	%sp, %fp
+
+	/* initialize reserved area */
+	move.l	%d0, -(%sp)
+	bsr	board_init_f_init_reserve
+#endif
+
 	/* run low-level CPU init code (from flash) */
 	move.l #cpu_init_f, %a1
 	jsr (%a1)
diff --git a/arch/m68k/cpu/mcf547x_8x/start.S b/arch/m68k/cpu/mcf547x_8x/start.S
index 75de22d..34cfbf0 100644
--- a/arch/m68k/cpu/mcf547x_8x/start.S
+++ b/arch/m68k/cpu/mcf547x_8x/start.S
@@ -148,6 +148,22 @@ _start:
 
 	move.l #__got_start, %a5	/* put relocation table address to a5 */
 
+#if defined(CONFIG_SYS_MALLOC_F)
+	move.l	#(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_SIZE), %sp
+
+	/* allocate reserved area from current top of stack */
+	move.l	%sp, -(%sp)
+	bsr	board_init_f_alloc_reserve
+
+	/* update stack and frame-pointers */
+	move.l	%d0, %sp
+	move.l	%sp, %fp
+
+	/* initialize reserved area */
+	move.l	%d0, -(%sp)
+	bsr	board_init_f_init_reserve
+#endif
+
 	jbsr cpu_init_f			/* run low-level CPU init code (from flash) */
 	jbsr board_init_f		/* run low-level board init code (from flash) */
 
-- 
2.7.0.rc3

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

* [U-Boot] [PATCH v3 1/2] m68k: add malloc memory for early malloc
  2016-04-24 22:20 [U-Boot] [PATCH v3 1/2] m68k: add malloc memory for early malloc Angelo Dureghello
@ 2016-04-25 14:28 ` Angelo Dureghello
  0 siblings, 0 replies; 2+ messages in thread
From: Angelo Dureghello @ 2016-04-25 14:28 UTC (permalink / raw)
  To: u-boot

Hi Simon,

noticed just after sending the patch an issue with my tests,
please freeze the patch, there are possible issues in it.

Will confirm this v3 in case after re-testing or will issue a v4.

thanks,

regards,
Angelo Dureghello

On 25/04/2016 00:20, Angelo Dureghello wrote:
> To use serial uclass and DM, CONFIG_SYS_MALLOC_F must be used.
> So CONFIG_SYS_GENERIC_GLOBAL_DATA has been undefined and
> call to board_init_f_mem() is added for all cpu's.
>
> Signed-off-by: Angelo Dureghello <angelo@sysam.it>
>
> ---
> Changes for v2:
>     - none
> Changes for v3:
>     - fix start.S using new board_init_f_alloc_reserve
> ---
>   arch/m68k/cpu/mcf5227x/start.S   | 16 ++++++++++++++++
>   arch/m68k/cpu/mcf523x/start.S    | 16 ++++++++++++++++
>   arch/m68k/cpu/mcf52x2/start.S    | 16 ++++++++++++++++
>   arch/m68k/cpu/mcf530x/cpu_init.c |  2 +-
>   arch/m68k/cpu/mcf530x/start.S    | 16 ++++++++++++++++
>   arch/m68k/cpu/mcf532x/start.S    | 16 ++++++++++++++++
>   arch/m68k/cpu/mcf5445x/start.S   | 16 ++++++++++++++++
>   arch/m68k/cpu/mcf547x_8x/start.S | 16 ++++++++++++++++
>   8 files changed, 113 insertions(+), 1 deletion(-)
>
> diff --git a/arch/m68k/cpu/mcf5227x/start.S b/arch/m68k/cpu/mcf5227x/start.S
> index 23024f9..ea36020 100644
> --- a/arch/m68k/cpu/mcf5227x/start.S
> +++ b/arch/m68k/cpu/mcf5227x/start.S
> @@ -379,6 +379,22 @@ _start:
>
>   	move.l #__got_start, %a5	/* put relocation table address to a5 */
>
> +#if defined(CONFIG_SYS_MALLOC_F)
> +	move.l	#(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_SIZE), %sp
> +
> +	/* allocate reserved area from current top of stack */
> +	move.l	%sp, -(%sp)
> +	bsr	board_init_f_alloc_reserve
> +
> +	/* update stack and frame-pointers */
> +	move.l	%d0, %sp
> +	move.l	%sp, %fp
> +
> +	/* initialize reserved area */
> +	move.l	%d0, -(%sp)
> +	bsr	board_init_f_init_reserve
> +#endif
> +
>   	bsr cpu_init_f			/* run low-level CPU init code (from flash) */
>   	bsr board_init_f		/* run low-level board init code (from flash) */
>
> diff --git a/arch/m68k/cpu/mcf523x/start.S b/arch/m68k/cpu/mcf523x/start.S
> index 1702f98..db1cb11 100644
> --- a/arch/m68k/cpu/mcf523x/start.S
> +++ b/arch/m68k/cpu/mcf523x/start.S
> @@ -141,6 +141,22 @@ _start:
>
>   	move.l #__got_start, %a5	/* put relocation table address to a5 */
>
> +#if defined(CONFIG_SYS_MALLOC_F)
> +	move.l	#(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_SIZE), %sp
> +
> +	/* allocate reserved area from current top of stack */
> +	move.l	%sp, -(%sp)
> +	bsr	board_init_f_alloc_reserve
> +
> +	/* update stack and frame-pointers */
> +	move.l	%d0, %sp
> +	move.l	%sp, %fp
> +
> +	/* initialize reserved area */
> +	move.l	%d0, -(%sp)
> +	bsr	board_init_f_init_reserve
> +#endif
> +
>   	/* run low-level CPU init code (from flash) */
>   	move.l #cpu_init_f, %a1
>   	jsr (%a1)
> diff --git a/arch/m68k/cpu/mcf52x2/start.S b/arch/m68k/cpu/mcf52x2/start.S
> index 4af691f..e60d51e 100644
> --- a/arch/m68k/cpu/mcf52x2/start.S
> +++ b/arch/m68k/cpu/mcf52x2/start.S
> @@ -198,6 +198,22 @@ _after_flashbar_copy:
>
>   	move.l #__got_start, %a5		/* put relocation table address to a5 */
>
> +#if defined(CONFIG_SYS_MALLOC_F)
> +	move.l	#(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_SIZE), %sp
> +
> +	/* allocate reserved area from current top of stack */
> +	move.l	%sp, -(%sp)
> +	bsr	board_init_f_alloc_reserve
> +
> +	/* update stack and frame-pointers */
> +	move.l	%d0, %sp
> +	move.l	%sp, %fp
> +
> +	/* initialize reserved area */
> +	move.l	%d0, -(%sp)
> +	bsr	board_init_f_init_reserve
> +#endif
> +
>   	/* run low-level CPU init code (from flash) */
>   	move.l #cpu_init_f, %a1
>   	jsr (%a1)
> diff --git a/arch/m68k/cpu/mcf530x/cpu_init.c b/arch/m68k/cpu/mcf530x/cpu_init.c
> index 80dc239..b09eed8 100644
> --- a/arch/m68k/cpu/mcf530x/cpu_init.c
> +++ b/arch/m68k/cpu/mcf530x/cpu_init.c
> @@ -142,7 +142,7 @@ int cpu_init_r(void)
>   	return 0;
>   }
>
> -void uart_port_conf(void)
> +void uart_port_conf(int port)
>   {
>   }
>
> diff --git a/arch/m68k/cpu/mcf530x/start.S b/arch/m68k/cpu/mcf530x/start.S
> index 097958a..9740b59 100644
> --- a/arch/m68k/cpu/mcf530x/start.S
> +++ b/arch/m68k/cpu/mcf530x/start.S
> @@ -137,6 +137,22 @@ _start:
>   	/* put relocation table address to a5 */
>   	move.l #__got_start, %a5
>
> +#if defined(CONFIG_SYS_MALLOC_F)
> +	move.l	#(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_SIZE), %sp
> +
> +	/* allocate reserved area from current top of stack */
> +	move.l	%sp, -(%sp)
> +	bsr	board_init_f_alloc_reserve
> +
> +	/* update stack and frame-pointers */
> +	move.l	%d0, %sp
> +	move.l	%sp, %fp
> +
> +	/* initialize reserved area */
> +	move.l	%d0, -(%sp)
> +	bsr	board_init_f_init_reserve
> +#endif
> +
>   	/* run low-level CPU init code (from flash) */
>   	bsr cpu_init_f
>
> diff --git a/arch/m68k/cpu/mcf532x/start.S b/arch/m68k/cpu/mcf532x/start.S
> index 131ad6e..558c8d5 100644
> --- a/arch/m68k/cpu/mcf532x/start.S
> +++ b/arch/m68k/cpu/mcf532x/start.S
> @@ -155,6 +155,22 @@ _start:
>
>   	move.l #__got_start, %a5	/* put relocation table address to a5 */
>
> +#if defined(CONFIG_SYS_MALLOC_F)
> +	move.l	#(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_SIZE), %sp
> +
> +	/* allocate reserved area from current top of stack */
> +	move.l	%sp, -(%sp)
> +	bsr	board_init_f_alloc_reserve
> +
> +	/* update stack and frame-pointers */
> +	move.l	%d0, %sp
> +	move.l	%sp, %fp
> +
> +	/* initialize reserved area */
> +	move.l	%d0, -(%sp)
> +	bsr	board_init_f_init_reserve
> +#endif
> +
>   	/* run low-level CPU init code (from flash) */
>   	move.l #cpu_init_f, %a1
>   	jsr (%a1)
> diff --git a/arch/m68k/cpu/mcf5445x/start.S b/arch/m68k/cpu/mcf5445x/start.S
> index f50f147..49c8d30 100644
> --- a/arch/m68k/cpu/mcf5445x/start.S
> +++ b/arch/m68k/cpu/mcf5445x/start.S
> @@ -664,6 +664,22 @@ _start:
>
>   	move.l #__got_start, %a5	/* put relocation table address to a5 */
>
> +#if defined(CONFIG_SYS_MALLOC_F)
> +	move.l	#(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_SIZE), %sp
> +
> +	/* allocate reserved area from current top of stack */
> +	move.l	%sp, -(%sp)
> +	bsr	board_init_f_alloc_reserve
> +
> +	/* update stack and frame-pointers */
> +	move.l	%d0, %sp
> +	move.l	%sp, %fp
> +
> +	/* initialize reserved area */
> +	move.l	%d0, -(%sp)
> +	bsr	board_init_f_init_reserve
> +#endif
> +
>   	/* run low-level CPU init code (from flash) */
>   	move.l #cpu_init_f, %a1
>   	jsr (%a1)
> diff --git a/arch/m68k/cpu/mcf547x_8x/start.S b/arch/m68k/cpu/mcf547x_8x/start.S
> index 75de22d..34cfbf0 100644
> --- a/arch/m68k/cpu/mcf547x_8x/start.S
> +++ b/arch/m68k/cpu/mcf547x_8x/start.S
> @@ -148,6 +148,22 @@ _start:
>
>   	move.l #__got_start, %a5	/* put relocation table address to a5 */
>
> +#if defined(CONFIG_SYS_MALLOC_F)
> +	move.l	#(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_INIT_RAM_SIZE), %sp
> +
> +	/* allocate reserved area from current top of stack */
> +	move.l	%sp, -(%sp)
> +	bsr	board_init_f_alloc_reserve
> +
> +	/* update stack and frame-pointers */
> +	move.l	%d0, %sp
> +	move.l	%sp, %fp
> +
> +	/* initialize reserved area */
> +	move.l	%d0, -(%sp)
> +	bsr	board_init_f_init_reserve
> +#endif
> +
>   	jbsr cpu_init_f			/* run low-level CPU init code (from flash) */
>   	jbsr board_init_f		/* run low-level board init code (from flash) */
>
>

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

end of thread, other threads:[~2016-04-25 14:28 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-24 22:20 [U-Boot] [PATCH v3 1/2] m68k: add malloc memory for early malloc Angelo Dureghello
2016-04-25 14:28 ` Angelo Dureghello

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