diff mbox series

[U-Boot,1/3] spl: update bl31_entry() with new name and parameter

Message ID 1504767608-8846-1-git-send-email-kever.yang@rock-chips.com
State Superseded
Delegated to: Philipp Tomsich
Headers show
Series [U-Boot,1/3] spl: update bl31_entry() with new name and parameter | expand

Commit Message

Kever Yang Sept. 7, 2017, 7 a.m. UTC
Rename the bl31_entry() function with 'spl_' prefix and add one
parameter for bl31 entry address since we can get it from spl_image header.

Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
---

 common/spl/spl.c     | 2 +-
 common/spl/spl_atf.c | 4 ++--
 include/spl.h        | 6 +++++-
 3 files changed, 8 insertions(+), 4 deletions(-)

Comments

Philipp Tomsich Sept. 7, 2017, 8:36 a.m. UTC | #1
Kever,

> On 7 Sep 2017, at 09:00, Kever Yang <kever.yang@rock-chips.com> wrote:
> 
> Rename the bl31_entry() function with 'spl_' prefix and add one
> parameter for bl31 entry address since we can get it from spl_image header.

Just as a heads-up, I also have a patch in my queue (i.e. to submit this week) that
integrates as IH_OS_ARM_TRUSTED_FIRMWARE and adds the option to pass
a pointer to the FDT as a platform-parameter.

I’ll copy you, so we can then figure out how to best merge your and my changes
and apply those at the same time.

Regards,
Philipp.

> 
> Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
> ---
> 
> common/spl/spl.c     | 2 +-
> common/spl/spl_atf.c | 4 ++--
> include/spl.h        | 6 +++++-
> 3 files changed, 8 insertions(+), 4 deletions(-)
> 
> diff --git a/common/spl/spl.c b/common/spl/spl.c
> index 6ff390c..1d8bbb2 100644
> --- a/common/spl/spl.c
> +++ b/common/spl/spl.c
> @@ -427,7 +427,7 @@ void board_init_r(gd_t *dummy1, ulong dummy2)
> 
> 	if (CONFIG_IS_ENABLED(ATF_SUPPORT)) {
> 		debug("loaded - jumping to U-Boot via ATF BL31.\n");
> -		bl31_entry();
> +		spl_bl31_entry((void *)spl_image.entry_point);
> 	}
> 
> 	if (CONFIG_IS_ENABLED(OPTEE_SUPPORT)) {
> diff --git a/common/spl/spl_atf.c b/common/spl/spl_atf.c
> index 6e8f928..2f6fff9 100644
> --- a/common/spl/spl_atf.c
> +++ b/common/spl/spl_atf.c
> @@ -82,13 +82,13 @@ void raw_write_daif(unsigned int daif)
> 	__asm__ __volatile__("msr DAIF, %0\n\t" : : "r" (daif) : "memory");
> }
> 
> -void bl31_entry(void)
> +void spl_bl31_entry(void *entry_addr)
> {
> 	struct bl31_params *bl31_params;
> 	void (*entry)(struct bl31_params *params, void *plat_params) = NULL;
> 
> 	bl31_params = bl2_plat_get_bl31_params();
> -	entry = (void *)CONFIG_SPL_ATF_TEXT_BASE;
> +	entry = entry_addr;
> 
> 	raw_write_daif(SPSR_EXCEPTION_MASK);
> 	dcache_disable();
> diff --git a/include/spl.h b/include/spl.h
> index 13d46ed..d21a3d2 100644
> --- a/include/spl.h
> +++ b/include/spl.h
> @@ -267,7 +267,11 @@ int spl_dfu_cmd(int usbctrl, char *dfu_alt_info, char *interface, char *devstr);
> int spl_mmc_load_image(struct spl_image_info *spl_image,
> 		       struct spl_boot_device *bootdev);
> 
> -void bl31_entry(void);
> +/**
> + * spl_bl31_entry - entry function for ATF bl31
> + * @entry_addr - entry address of bl31 text
> + */
> +void spl_bl31_entry(void *entry_addr);
> 
> /**
>  * spl_optee_entry - entry function for optee
> -- 
> 1.9.1
>
Philipp Tomsich Sept. 12, 2017, 3:47 p.m. UTC | #2
> Rename the bl31_entry() function with 'spl_' prefix and add one
> parameter for bl31 entry address since we can get it from spl_image header.
> 
> Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
> ---
> 
>  common/spl/spl.c     | 2 +-
>  common/spl/spl_atf.c | 4 ++--
>  include/spl.h        | 6 +++++-
>  3 files changed, 8 insertions(+), 4 deletions(-)
> 

Acked-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
diff mbox series

Patch

diff --git a/common/spl/spl.c b/common/spl/spl.c
index 6ff390c..1d8bbb2 100644
--- a/common/spl/spl.c
+++ b/common/spl/spl.c
@@ -427,7 +427,7 @@  void board_init_r(gd_t *dummy1, ulong dummy2)
 
 	if (CONFIG_IS_ENABLED(ATF_SUPPORT)) {
 		debug("loaded - jumping to U-Boot via ATF BL31.\n");
-		bl31_entry();
+		spl_bl31_entry((void *)spl_image.entry_point);
 	}
 
 	if (CONFIG_IS_ENABLED(OPTEE_SUPPORT)) {
diff --git a/common/spl/spl_atf.c b/common/spl/spl_atf.c
index 6e8f928..2f6fff9 100644
--- a/common/spl/spl_atf.c
+++ b/common/spl/spl_atf.c
@@ -82,13 +82,13 @@  void raw_write_daif(unsigned int daif)
 	__asm__ __volatile__("msr DAIF, %0\n\t" : : "r" (daif) : "memory");
 }
 
-void bl31_entry(void)
+void spl_bl31_entry(void *entry_addr)
 {
 	struct bl31_params *bl31_params;
 	void (*entry)(struct bl31_params *params, void *plat_params) = NULL;
 
 	bl31_params = bl2_plat_get_bl31_params();
-	entry = (void *)CONFIG_SPL_ATF_TEXT_BASE;
+	entry = entry_addr;
 
 	raw_write_daif(SPSR_EXCEPTION_MASK);
 	dcache_disable();
diff --git a/include/spl.h b/include/spl.h
index 13d46ed..d21a3d2 100644
--- a/include/spl.h
+++ b/include/spl.h
@@ -267,7 +267,11 @@  int spl_dfu_cmd(int usbctrl, char *dfu_alt_info, char *interface, char *devstr);
 int spl_mmc_load_image(struct spl_image_info *spl_image,
 		       struct spl_boot_device *bootdev);
 
-void bl31_entry(void);
+/**
+ * spl_bl31_entry - entry function for ATF bl31
+ * @entry_addr - entry address of bl31 text
+ */
+void spl_bl31_entry(void *entry_addr);
 
 /**
  * spl_optee_entry - entry function for optee