Re: [U-Boot] [PATCH] ARM: HYP/non-sec: relocation before enable secondary cores

2015-03-27 Thread Albert ARIBAUD
Hello Tom,

On Fri, 13 Feb 2015 13:09:33 -0500, Tom Rini tr...@ti.com wrote:
 On Fri, Feb 13, 2015 at 09:37:23AM +0800, Peng Fan wrote:
  Hi, Albert and Tom
  
  On 2/4/2015 7:02 PM, Marc Zyngier wrote:
  On 04/02/15 10:15, Peng Fan wrote:
  If CONFIG_ARMV7_PSCI is not defined and CONFIG_ARMV7_SECURE_BASE is 
  defined,
  smp_kicl_all_cpus may enable secondary cores and runs into 
  secure_ram_addr(
  _smp_pen), before code is relocated to secure ram.
  So need relocation to secure ram before enable secondary cores.
  
  Signed-off-by: Peng Fan peng@freescale.com
  ---
arch/arm/cpu/armv7/virt-v7.c | 9 -
1 file changed, 8 insertions(+), 1 deletion(-)
  
  diff --git a/arch/arm/cpu/armv7/virt-v7.c b/arch/arm/cpu/armv7/virt-v7.c
  index b69fd37..4cb8806 100644
  --- a/arch/arm/cpu/armv7/virt-v7.c
  +++ b/arch/arm/cpu/armv7/virt-v7.c
  @@ -112,13 +112,20 @@ int armv7_init_nonsec(void)
for (i = 1; i = itlinesnr; i++)
writel((unsigned)-1, gic_dist_addr + GICD_IGROUPRn + 4 
   * i);
  + /*
  +  * Relocate secure section before any cpu runs in secure ram.
  +  * smp_kick_all_cpus may enable other cores and runs into secure
  +  * ram, so need to relocate secure section before enabling other
  +  * cores.
  +  */
  + relocate_secure_section();
  +
#ifndef CONFIG_ARMV7_PSCI
smp_set_core_boot_addr((unsigned 
   long)secure_ram_addr(_smp_pen), -1);
smp_kick_all_cpus();
#endif
/* call the non-sec switching code on this CPU also */
  - relocate_secure_section();
secure_ram_addr(_nonsec_init)();
return 0;
}
  
  Seems like a sensible thing to do. FWIW:
  
  Acked-by: Marc Zyngier marc.zyng...@arm.com
  Just kindly remind. Will this patch be merged into u-boot-arm git
  repo or directly into u-boot master git repo?
 
 This is a core ARM thing so I'm expecting Albert to pick it up.  Albert?
 Thanks!
 
 -- 
 Tom

Applied (for a while now, actually) to u-boot-arm/master, thanks!

Amicalement,
-- 
Albert.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] ARM: HYP/non-sec: relocation before enable secondary cores

2015-02-13 Thread Tom Rini
On Fri, Feb 13, 2015 at 09:37:23AM +0800, Peng Fan wrote:
 Hi, Albert and Tom
 
 On 2/4/2015 7:02 PM, Marc Zyngier wrote:
 On 04/02/15 10:15, Peng Fan wrote:
 If CONFIG_ARMV7_PSCI is not defined and CONFIG_ARMV7_SECURE_BASE is defined,
 smp_kicl_all_cpus may enable secondary cores and runs into secure_ram_addr(
 _smp_pen), before code is relocated to secure ram.
 So need relocation to secure ram before enable secondary cores.
 
 Signed-off-by: Peng Fan peng@freescale.com
 ---
   arch/arm/cpu/armv7/virt-v7.c | 9 -
   1 file changed, 8 insertions(+), 1 deletion(-)
 
 diff --git a/arch/arm/cpu/armv7/virt-v7.c b/arch/arm/cpu/armv7/virt-v7.c
 index b69fd37..4cb8806 100644
 --- a/arch/arm/cpu/armv7/virt-v7.c
 +++ b/arch/arm/cpu/armv7/virt-v7.c
 @@ -112,13 +112,20 @@ int armv7_init_nonsec(void)
 for (i = 1; i = itlinesnr; i++)
 writel((unsigned)-1, gic_dist_addr + GICD_IGROUPRn + 4 * i);
 +   /*
 +* Relocate secure section before any cpu runs in secure ram.
 +* smp_kick_all_cpus may enable other cores and runs into secure
 +* ram, so need to relocate secure section before enabling other
 +* cores.
 +*/
 +   relocate_secure_section();
 +
   #ifndef CONFIG_ARMV7_PSCI
 smp_set_core_boot_addr((unsigned long)secure_ram_addr(_smp_pen), -1);
 smp_kick_all_cpus();
   #endif
 /* call the non-sec switching code on this CPU also */
 -   relocate_secure_section();
 secure_ram_addr(_nonsec_init)();
 return 0;
   }
 
 Seems like a sensible thing to do. FWIW:
 
 Acked-by: Marc Zyngier marc.zyng...@arm.com
 Just kindly remind. Will this patch be merged into u-boot-arm git
 repo or directly into u-boot master git repo?

This is a core ARM thing so I'm expecting Albert to pick it up.  Albert?
Thanks!

-- 
Tom


signature.asc
Description: Digital signature
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] ARM: HYP/non-sec: relocation before enable secondary cores

2015-02-12 Thread Peng Fan

Hi, Albert and Tom

On 2/4/2015 7:02 PM, Marc Zyngier wrote:

On 04/02/15 10:15, Peng Fan wrote:

If CONFIG_ARMV7_PSCI is not defined and CONFIG_ARMV7_SECURE_BASE is defined,
smp_kicl_all_cpus may enable secondary cores and runs into secure_ram_addr(
_smp_pen), before code is relocated to secure ram.
So need relocation to secure ram before enable secondary cores.

Signed-off-by: Peng Fan peng@freescale.com
---
  arch/arm/cpu/armv7/virt-v7.c | 9 -
  1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/arch/arm/cpu/armv7/virt-v7.c b/arch/arm/cpu/armv7/virt-v7.c
index b69fd37..4cb8806 100644
--- a/arch/arm/cpu/armv7/virt-v7.c
+++ b/arch/arm/cpu/armv7/virt-v7.c
@@ -112,13 +112,20 @@ int armv7_init_nonsec(void)
for (i = 1; i = itlinesnr; i++)
writel((unsigned)-1, gic_dist_addr + GICD_IGROUPRn + 4 * i);
  
+	/*

+* Relocate secure section before any cpu runs in secure ram.
+* smp_kick_all_cpus may enable other cores and runs into secure
+* ram, so need to relocate secure section before enabling other
+* cores.
+*/
+   relocate_secure_section();
+
  #ifndef CONFIG_ARMV7_PSCI
smp_set_core_boot_addr((unsigned long)secure_ram_addr(_smp_pen), -1);
smp_kick_all_cpus();
  #endif
  
  	/* call the non-sec switching code on this CPU also */

-   relocate_secure_section();
secure_ram_addr(_nonsec_init)();
return 0;
  }


Seems like a sensible thing to do. FWIW:

Acked-by: Marc Zyngier marc.zyng...@arm.com
Just kindly remind. Will this patch be merged into u-boot-arm git repo 
or directly into u-boot master git repo?


M.

Thanks,
Peng.
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH] ARM: HYP/non-sec: relocation before enable secondary cores

2015-02-04 Thread Peng Fan
If CONFIG_ARMV7_PSCI is not defined and CONFIG_ARMV7_SECURE_BASE is defined,
smp_kicl_all_cpus may enable secondary cores and runs into secure_ram_addr(
_smp_pen), before code is relocated to secure ram.
So need relocation to secure ram before enable secondary cores.

Signed-off-by: Peng Fan peng@freescale.com
---
 arch/arm/cpu/armv7/virt-v7.c | 9 -
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/arch/arm/cpu/armv7/virt-v7.c b/arch/arm/cpu/armv7/virt-v7.c
index b69fd37..4cb8806 100644
--- a/arch/arm/cpu/armv7/virt-v7.c
+++ b/arch/arm/cpu/armv7/virt-v7.c
@@ -112,13 +112,20 @@ int armv7_init_nonsec(void)
for (i = 1; i = itlinesnr; i++)
writel((unsigned)-1, gic_dist_addr + GICD_IGROUPRn + 4 * i);
 
+   /*
+* Relocate secure section before any cpu runs in secure ram.
+* smp_kick_all_cpus may enable other cores and runs into secure
+* ram, so need to relocate secure section before enabling other
+* cores.
+*/
+   relocate_secure_section();
+
 #ifndef CONFIG_ARMV7_PSCI
smp_set_core_boot_addr((unsigned long)secure_ram_addr(_smp_pen), -1);
smp_kick_all_cpus();
 #endif
 
/* call the non-sec switching code on this CPU also */
-   relocate_secure_section();
secure_ram_addr(_nonsec_init)();
return 0;
 }
-- 
1.8.4


___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH] ARM: HYP/non-sec: relocation before enable secondary cores

2015-02-04 Thread Marc Zyngier
On 04/02/15 10:15, Peng Fan wrote:
 If CONFIG_ARMV7_PSCI is not defined and CONFIG_ARMV7_SECURE_BASE is defined,
 smp_kicl_all_cpus may enable secondary cores and runs into secure_ram_addr(
 _smp_pen), before code is relocated to secure ram.
 So need relocation to secure ram before enable secondary cores.
 
 Signed-off-by: Peng Fan peng@freescale.com
 ---
  arch/arm/cpu/armv7/virt-v7.c | 9 -
  1 file changed, 8 insertions(+), 1 deletion(-)
 
 diff --git a/arch/arm/cpu/armv7/virt-v7.c b/arch/arm/cpu/armv7/virt-v7.c
 index b69fd37..4cb8806 100644
 --- a/arch/arm/cpu/armv7/virt-v7.c
 +++ b/arch/arm/cpu/armv7/virt-v7.c
 @@ -112,13 +112,20 @@ int armv7_init_nonsec(void)
   for (i = 1; i = itlinesnr; i++)
   writel((unsigned)-1, gic_dist_addr + GICD_IGROUPRn + 4 * i);
  
 + /*
 +  * Relocate secure section before any cpu runs in secure ram.
 +  * smp_kick_all_cpus may enable other cores and runs into secure
 +  * ram, so need to relocate secure section before enabling other
 +  * cores.
 +  */
 + relocate_secure_section();
 +
  #ifndef CONFIG_ARMV7_PSCI
   smp_set_core_boot_addr((unsigned long)secure_ram_addr(_smp_pen), -1);
   smp_kick_all_cpus();
  #endif
  
   /* call the non-sec switching code on this CPU also */
 - relocate_secure_section();
   secure_ram_addr(_nonsec_init)();
   return 0;
  }
 

Seems like a sensible thing to do. FWIW:

Acked-by: Marc Zyngier marc.zyng...@arm.com

M.
-- 
Jazz is not dead. It just smells funny...
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot