Re: [PATCH v4 1/2] ARM: OMAP: Add secure function omap_smc3() which calling instruction smc #1

2013-10-08 Thread Tony Lindgren
* Russell King - ARM Linux  [131008 01:17]:
> On Tue, Oct 08, 2013 at 09:13:16AM +0200, Ben Dooks wrote:
> > On 08/09/13 09:43, Pali Rohár wrote:
> >> Here is new version (v4) of omap secure part patch:
> >>
> >> Other secure functions omap_smc1() and omap_smc2() calling instruction smc 
> >> #0
> >> but Nokia RX-51 board needs to call smc #1 for PPA access.
> >>
> >> Signed-off-by: Ivaylo Dimitrov
> >> Signed-off-by: Pali Rohár
> >> ---
> >> diff --git a/arch/arm/mach-omap2/omap-secure.h 
> >> b/arch/arm/mach-omap2/omap-secure.h
> >> index 0e72917..c4586f4 100644
> >> --- a/arch/arm/mach-omap2/omap-secure.h
> >> +++ b/arch/arm/mach-omap2/omap-secure.h
> >> @@ -51,6 +51,7 @@
> >>   extern u32 omap_secure_dispatcher(u32 idx, u32 flag, u32 nargs,
> >>u32 arg1, u32 arg2, u32 arg3, u32 arg4);
> >>   extern u32 omap_smc2(u32 id, u32 falg, u32 pargs);
> >> +extern u32 omap_smc3(u32 id, u32 process, u32 flag, u32 pargs);
> >>   extern phys_addr_t omap_secure_ram_mempool_base(void);
> >>   extern int omap_secure_ram_reserve_memblock(void);
> >>
> >> diff --git a/arch/arm/mach-omap2/omap-smc.S 
> >> b/arch/arm/mach-omap2/omap-smc.S
> >> index f6441c1..fd90125 100644
> >> --- a/arch/arm/mach-omap2/omap-smc.S
> >> +++ b/arch/arm/mach-omap2/omap-smc.S
> >> @@ -1,9 +1,11 @@
> >>   /*
> >> - * OMAP44xx secure APIs file.
> >> + * OMAP34xx and OMAP44xx secure APIs file.
> >>*
> >>* Copyright (C) 2010 Texas Instruments, Inc.
> >>* Written by Santosh Shilimkar
> >>*
> >> + * Copyright (C) 2012 Ivaylo Dimitrov
> >> + * Copyright (C) 2013 Pali Rohár
> >>*
> >>* This program is free software,you can redistribute it and/or modify
> >>* it under the terms of the GNU General Public License version 2 as
> >> @@ -54,6 +56,23 @@ ENTRY(omap_smc2)
> >>ldmfd   sp!, {r4-r12, pc}
> >>   ENDPROC(omap_smc2)
> >>
> >> +/**
> >> + * u32 omap_smc3(u32 service_id, u32 process_id, u32 flag, u32 pargs)
> >> + * Low level common routine for secure HAL and PPA APIs via smc #1
> >> + * r0 - @service_id: Secure Service ID
> >> + * r1 - @process_id: Process ID
> >> + * r2 - @flag: Flag to indicate the criticality of operation
> >> + * r3 - @pargs: Physical address of parameter list
> >> + */
> >> +ENTRY(omap_smc3)
> >> +  stmfd   sp!, {r4-r11, lr}
> >> +  mov r12, r0 @ Copy the secure service ID
> >
> > I think you should save r12 in the call.
> 
> Not necessary.

Assuming there are no other comments I'll apply these into
omap-for-v3.13/n900 branch.

Regards,

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v4 1/2] ARM: OMAP: Add secure function omap_smc3() which calling instruction smc #1

2013-10-08 Thread Russell King - ARM Linux
On Tue, Oct 08, 2013 at 09:13:16AM +0200, Ben Dooks wrote:
> On 08/09/13 09:43, Pali Rohár wrote:
>> Here is new version (v4) of omap secure part patch:
>>
>> Other secure functions omap_smc1() and omap_smc2() calling instruction smc #0
>> but Nokia RX-51 board needs to call smc #1 for PPA access.
>>
>> Signed-off-by: Ivaylo Dimitrov
>> Signed-off-by: Pali Rohár
>> ---
>> diff --git a/arch/arm/mach-omap2/omap-secure.h 
>> b/arch/arm/mach-omap2/omap-secure.h
>> index 0e72917..c4586f4 100644
>> --- a/arch/arm/mach-omap2/omap-secure.h
>> +++ b/arch/arm/mach-omap2/omap-secure.h
>> @@ -51,6 +51,7 @@
>>   extern u32 omap_secure_dispatcher(u32 idx, u32 flag, u32 nargs,
>>  u32 arg1, u32 arg2, u32 arg3, u32 arg4);
>>   extern u32 omap_smc2(u32 id, u32 falg, u32 pargs);
>> +extern u32 omap_smc3(u32 id, u32 process, u32 flag, u32 pargs);
>>   extern phys_addr_t omap_secure_ram_mempool_base(void);
>>   extern int omap_secure_ram_reserve_memblock(void);
>>
>> diff --git a/arch/arm/mach-omap2/omap-smc.S b/arch/arm/mach-omap2/omap-smc.S
>> index f6441c1..fd90125 100644
>> --- a/arch/arm/mach-omap2/omap-smc.S
>> +++ b/arch/arm/mach-omap2/omap-smc.S
>> @@ -1,9 +1,11 @@
>>   /*
>> - * OMAP44xx secure APIs file.
>> + * OMAP34xx and OMAP44xx secure APIs file.
>>*
>>* Copyright (C) 2010 Texas Instruments, Inc.
>>* Written by Santosh Shilimkar
>>*
>> + * Copyright (C) 2012 Ivaylo Dimitrov
>> + * Copyright (C) 2013 Pali Rohár
>>*
>>* This program is free software,you can redistribute it and/or modify
>>* it under the terms of the GNU General Public License version 2 as
>> @@ -54,6 +56,23 @@ ENTRY(omap_smc2)
>>  ldmfd   sp!, {r4-r12, pc}
>>   ENDPROC(omap_smc2)
>>
>> +/**
>> + * u32 omap_smc3(u32 service_id, u32 process_id, u32 flag, u32 pargs)
>> + * Low level common routine for secure HAL and PPA APIs via smc #1
>> + * r0 - @service_id: Secure Service ID
>> + * r1 - @process_id: Process ID
>> + * r2 - @flag: Flag to indicate the criticality of operation
>> + * r3 - @pargs: Physical address of parameter list
>> + */
>> +ENTRY(omap_smc3)
>> +stmfd   sp!, {r4-r11, lr}
>> +mov r12, r0 @ Copy the secure service ID
>
> I think you should save r12 in the call.

Not necessary.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v4 1/2] ARM: OMAP: Add secure function omap_smc3() which calling instruction smc #1

2013-10-08 Thread Ben Dooks

On 08/09/13 09:43, Pali Rohár wrote:

Here is new version (v4) of omap secure part patch:

Other secure functions omap_smc1() and omap_smc2() calling instruction smc #0
but Nokia RX-51 board needs to call smc #1 for PPA access.

Signed-off-by: Ivaylo Dimitrov
Signed-off-by: Pali Rohár
---
diff --git a/arch/arm/mach-omap2/omap-secure.h 
b/arch/arm/mach-omap2/omap-secure.h
index 0e72917..c4586f4 100644
--- a/arch/arm/mach-omap2/omap-secure.h
+++ b/arch/arm/mach-omap2/omap-secure.h
@@ -51,6 +51,7 @@
  extern u32 omap_secure_dispatcher(u32 idx, u32 flag, u32 nargs,
u32 arg1, u32 arg2, u32 arg3, u32 arg4);
  extern u32 omap_smc2(u32 id, u32 falg, u32 pargs);
+extern u32 omap_smc3(u32 id, u32 process, u32 flag, u32 pargs);
  extern phys_addr_t omap_secure_ram_mempool_base(void);
  extern int omap_secure_ram_reserve_memblock(void);

diff --git a/arch/arm/mach-omap2/omap-smc.S b/arch/arm/mach-omap2/omap-smc.S
index f6441c1..fd90125 100644
--- a/arch/arm/mach-omap2/omap-smc.S
+++ b/arch/arm/mach-omap2/omap-smc.S
@@ -1,9 +1,11 @@
  /*
- * OMAP44xx secure APIs file.
+ * OMAP34xx and OMAP44xx secure APIs file.
   *
   * Copyright (C) 2010 Texas Instruments, Inc.
   * Written by Santosh Shilimkar
   *
+ * Copyright (C) 2012 Ivaylo Dimitrov
+ * Copyright (C) 2013 Pali Rohár
   *
   * This program is free software,you can redistribute it and/or modify
   * it under the terms of the GNU General Public License version 2 as
@@ -54,6 +56,23 @@ ENTRY(omap_smc2)
ldmfd   sp!, {r4-r12, pc}
  ENDPROC(omap_smc2)

+/**
+ * u32 omap_smc3(u32 service_id, u32 process_id, u32 flag, u32 pargs)
+ * Low level common routine for secure HAL and PPA APIs via smc #1
+ * r0 - @service_id: Secure Service ID
+ * r1 - @process_id: Process ID
+ * r2 - @flag: Flag to indicate the criticality of operation
+ * r3 - @pargs: Physical address of parameter list
+ */
+ENTRY(omap_smc3)
+   stmfd   sp!, {r4-r11, lr}
+   mov r12, r0 @ Copy the secure service ID


I think you should save r12 in the call.


--
Ben Dooks   http://www.codethink.co.uk/
Senior Engineer Codethink - Providing Genius
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v4 1/2] ARM: OMAP: Add secure function omap_smc3() which calling instruction smc #1

2013-10-08 Thread Ben Dooks

On 08/09/13 09:43, Pali Rohár wrote:

Here is new version (v4) of omap secure part patch:

Other secure functions omap_smc1() and omap_smc2() calling instruction smc #0
but Nokia RX-51 board needs to call smc #1 for PPA access.

Signed-off-by: Ivaylo Dimitrovfreemangor...@abv.bg
Signed-off-by: Pali Rohárpali.ro...@gmail.com
---
diff --git a/arch/arm/mach-omap2/omap-secure.h 
b/arch/arm/mach-omap2/omap-secure.h
index 0e72917..c4586f4 100644
--- a/arch/arm/mach-omap2/omap-secure.h
+++ b/arch/arm/mach-omap2/omap-secure.h
@@ -51,6 +51,7 @@
  extern u32 omap_secure_dispatcher(u32 idx, u32 flag, u32 nargs,
u32 arg1, u32 arg2, u32 arg3, u32 arg4);
  extern u32 omap_smc2(u32 id, u32 falg, u32 pargs);
+extern u32 omap_smc3(u32 id, u32 process, u32 flag, u32 pargs);
  extern phys_addr_t omap_secure_ram_mempool_base(void);
  extern int omap_secure_ram_reserve_memblock(void);

diff --git a/arch/arm/mach-omap2/omap-smc.S b/arch/arm/mach-omap2/omap-smc.S
index f6441c1..fd90125 100644
--- a/arch/arm/mach-omap2/omap-smc.S
+++ b/arch/arm/mach-omap2/omap-smc.S
@@ -1,9 +1,11 @@
  /*
- * OMAP44xx secure APIs file.
+ * OMAP34xx and OMAP44xx secure APIs file.
   *
   * Copyright (C) 2010 Texas Instruments, Inc.
   * Written by Santosh Shilimkarsantosh.shilim...@ti.com
   *
+ * Copyright (C) 2012 Ivaylo Dimitrovfreemangor...@abv.bg
+ * Copyright (C) 2013 Pali Rohárpali.ro...@gmail.com
   *
   * This program is free software,you can redistribute it and/or modify
   * it under the terms of the GNU General Public License version 2 as
@@ -54,6 +56,23 @@ ENTRY(omap_smc2)
ldmfd   sp!, {r4-r12, pc}
  ENDPROC(omap_smc2)

+/**
+ * u32 omap_smc3(u32 service_id, u32 process_id, u32 flag, u32 pargs)
+ * Low level common routine for secure HAL and PPA APIs via smc #1
+ * r0 - @service_id: Secure Service ID
+ * r1 - @process_id: Process ID
+ * r2 - @flag: Flag to indicate the criticality of operation
+ * r3 - @pargs: Physical address of parameter list
+ */
+ENTRY(omap_smc3)
+   stmfd   sp!, {r4-r11, lr}
+   mov r12, r0 @ Copy the secure service ID


I think you should save r12 in the call.


--
Ben Dooks   http://www.codethink.co.uk/
Senior Engineer Codethink - Providing Genius
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v4 1/2] ARM: OMAP: Add secure function omap_smc3() which calling instruction smc #1

2013-10-08 Thread Russell King - ARM Linux
On Tue, Oct 08, 2013 at 09:13:16AM +0200, Ben Dooks wrote:
 On 08/09/13 09:43, Pali Rohár wrote:
 Here is new version (v4) of omap secure part patch:

 Other secure functions omap_smc1() and omap_smc2() calling instruction smc #0
 but Nokia RX-51 board needs to call smc #1 for PPA access.

 Signed-off-by: Ivaylo Dimitrovfreemangor...@abv.bg
 Signed-off-by: Pali Rohárpali.ro...@gmail.com
 ---
 diff --git a/arch/arm/mach-omap2/omap-secure.h 
 b/arch/arm/mach-omap2/omap-secure.h
 index 0e72917..c4586f4 100644
 --- a/arch/arm/mach-omap2/omap-secure.h
 +++ b/arch/arm/mach-omap2/omap-secure.h
 @@ -51,6 +51,7 @@
   extern u32 omap_secure_dispatcher(u32 idx, u32 flag, u32 nargs,
  u32 arg1, u32 arg2, u32 arg3, u32 arg4);
   extern u32 omap_smc2(u32 id, u32 falg, u32 pargs);
 +extern u32 omap_smc3(u32 id, u32 process, u32 flag, u32 pargs);
   extern phys_addr_t omap_secure_ram_mempool_base(void);
   extern int omap_secure_ram_reserve_memblock(void);

 diff --git a/arch/arm/mach-omap2/omap-smc.S b/arch/arm/mach-omap2/omap-smc.S
 index f6441c1..fd90125 100644
 --- a/arch/arm/mach-omap2/omap-smc.S
 +++ b/arch/arm/mach-omap2/omap-smc.S
 @@ -1,9 +1,11 @@
   /*
 - * OMAP44xx secure APIs file.
 + * OMAP34xx and OMAP44xx secure APIs file.
*
* Copyright (C) 2010 Texas Instruments, Inc.
* Written by Santosh Shilimkarsantosh.shilim...@ti.com
*
 + * Copyright (C) 2012 Ivaylo Dimitrovfreemangor...@abv.bg
 + * Copyright (C) 2013 Pali Rohárpali.ro...@gmail.com
*
* This program is free software,you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
 @@ -54,6 +56,23 @@ ENTRY(omap_smc2)
  ldmfd   sp!, {r4-r12, pc}
   ENDPROC(omap_smc2)

 +/**
 + * u32 omap_smc3(u32 service_id, u32 process_id, u32 flag, u32 pargs)
 + * Low level common routine for secure HAL and PPA APIs via smc #1
 + * r0 - @service_id: Secure Service ID
 + * r1 - @process_id: Process ID
 + * r2 - @flag: Flag to indicate the criticality of operation
 + * r3 - @pargs: Physical address of parameter list
 + */
 +ENTRY(omap_smc3)
 +stmfd   sp!, {r4-r11, lr}
 +mov r12, r0 @ Copy the secure service ID

 I think you should save r12 in the call.

Not necessary.
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v4 1/2] ARM: OMAP: Add secure function omap_smc3() which calling instruction smc #1

2013-10-08 Thread Tony Lindgren
* Russell King - ARM Linux li...@arm.linux.org.uk [131008 01:17]:
 On Tue, Oct 08, 2013 at 09:13:16AM +0200, Ben Dooks wrote:
  On 08/09/13 09:43, Pali Rohár wrote:
  Here is new version (v4) of omap secure part patch:
 
  Other secure functions omap_smc1() and omap_smc2() calling instruction smc 
  #0
  but Nokia RX-51 board needs to call smc #1 for PPA access.
 
  Signed-off-by: Ivaylo Dimitrovfreemangor...@abv.bg
  Signed-off-by: Pali Rohárpali.ro...@gmail.com
  ---
  diff --git a/arch/arm/mach-omap2/omap-secure.h 
  b/arch/arm/mach-omap2/omap-secure.h
  index 0e72917..c4586f4 100644
  --- a/arch/arm/mach-omap2/omap-secure.h
  +++ b/arch/arm/mach-omap2/omap-secure.h
  @@ -51,6 +51,7 @@
extern u32 omap_secure_dispatcher(u32 idx, u32 flag, u32 nargs,
 u32 arg1, u32 arg2, u32 arg3, u32 arg4);
extern u32 omap_smc2(u32 id, u32 falg, u32 pargs);
  +extern u32 omap_smc3(u32 id, u32 process, u32 flag, u32 pargs);
extern phys_addr_t omap_secure_ram_mempool_base(void);
extern int omap_secure_ram_reserve_memblock(void);
 
  diff --git a/arch/arm/mach-omap2/omap-smc.S 
  b/arch/arm/mach-omap2/omap-smc.S
  index f6441c1..fd90125 100644
  --- a/arch/arm/mach-omap2/omap-smc.S
  +++ b/arch/arm/mach-omap2/omap-smc.S
  @@ -1,9 +1,11 @@
/*
  - * OMAP44xx secure APIs file.
  + * OMAP34xx and OMAP44xx secure APIs file.
 *
 * Copyright (C) 2010 Texas Instruments, Inc.
 * Written by Santosh Shilimkarsantosh.shilim...@ti.com
 *
  + * Copyright (C) 2012 Ivaylo Dimitrovfreemangor...@abv.bg
  + * Copyright (C) 2013 Pali Rohárpali.ro...@gmail.com
 *
 * This program is free software,you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
  @@ -54,6 +56,23 @@ ENTRY(omap_smc2)
 ldmfd   sp!, {r4-r12, pc}
ENDPROC(omap_smc2)
 
  +/**
  + * u32 omap_smc3(u32 service_id, u32 process_id, u32 flag, u32 pargs)
  + * Low level common routine for secure HAL and PPA APIs via smc #1
  + * r0 - @service_id: Secure Service ID
  + * r1 - @process_id: Process ID
  + * r2 - @flag: Flag to indicate the criticality of operation
  + * r3 - @pargs: Physical address of parameter list
  + */
  +ENTRY(omap_smc3)
  +  stmfd   sp!, {r4-r11, lr}
  +  mov r12, r0 @ Copy the secure service ID
 
  I think you should save r12 in the call.
 
 Not necessary.

Assuming there are no other comments I'll apply these into
omap-for-v3.13/n900 branch.

Regards,

Tony
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v4 1/2] ARM: OMAP: Add secure function omap_smc3() which calling instruction smc #1

2013-09-17 Thread Tony Lindgren
* Pali Rohár  [130917 09:01]:
> On Tuesday 17 September 2013 17:43:31 Tony Lindgren wrote:
> > Have you guys checked how this works with the recently posted
> > "[PATCH v6 0/5] ARM: support for Trusted Foundations secure
> > monitor" series?
> 
> this code looks like some Tegra and "Trusted Foundations" 
> specific. There is Note: The API followed by Trusted Foundations 
> does *not* follow the SMC calling conventions.  Also code calling 
> smc #0 instruction, so in my opinion for rx51 it is useless.

OK, so still no generic SMC code then :( This patch is fine
with me.
 
> Tony, can you include this two rx51 secure patches (patch v4 1/2 
> and patch v2 2/2)? Or is there some any other problem?

No other comments on this patch, I'll post some comments on the
v2 2/2 patch considering we're moving to device tree based
booting.

Regards,

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v4 1/2] ARM: OMAP: Add secure function omap_smc3() which calling instruction smc #1

2013-09-17 Thread Pali Rohár
On Tuesday 17 September 2013 17:43:31 Tony Lindgren wrote:
> * Dave Martin  [130916 10:18]:
> > On Sat, Sep 14, 2013 at 10:37:12AM +0100, Pali Rohár wrote:
> > > On Sunday 08 September 2013 09:43:29 Pali Rohár wrote:
> > > > + */
> > > > +ENTRY(omap_smc3)
> > > > +   stmfd   sp!, {r4-r11, lr}
> > > > +   mov r12, r0 @ Copy the secure service ID
> > > > +   mov r6, #0xff   @ Indicate new Task call
> > > > +   dsb @ Memory Barrier (not sure if needed, 
> > > > copied
> > > > from omap_smc2) +   smc #1  @ Call PPA service
> > > > +   ldmfd   sp!, {r4-r11, pc}
> > > > +ENDPROC(omap_smc3)
> > > > +
> > > > 
> > > >  ENTRY(omap_modify_auxcoreboot0)
> > > >  
> > > > stmfd   sp!, {r1-r12, lr}
> > > > ldr r12, =0x104
> > > 
> > > Dave, it is ok now?
> > 
> > Yes, that's sufficient to warn people to stop and think (at
> > least, if someone copy-pastes it, they will likely
> > highlight the possible error by copy-pasting the comment
> > too).  Thanks.
> > 
> > Acked-by: Dave Martin 
> 
> Have you guys checked how this works with the recently posted
> "[PATCH v6 0/5] ARM: support for Trusted Foundations secure
> monitor" series?
> 
> Regards,
> 
> Tony

Hello,

this code looks like some Tegra and "Trusted Foundations" 
specific. There is Note: The API followed by Trusted Foundations 
does *not* follow the SMC calling conventions.  Also code calling 
smc #0 instruction, so in my opinion for rx51 it is useless.

Tony, can you include this two rx51 secure patches (patch v4 1/2 
and patch v2 2/2)? Or is there some any other problem?

-- 
Pali Rohár
pali.ro...@gmail.com


signature.asc
Description: This is a digitally signed message part.


Re: [PATCH v4 1/2] ARM: OMAP: Add secure function omap_smc3() which calling instruction smc #1

2013-09-17 Thread Tony Lindgren
* Dave Martin  [130916 10:18]:
> On Sat, Sep 14, 2013 at 10:37:12AM +0100, Pali Rohár wrote:
> > On Sunday 08 September 2013 09:43:29 Pali Rohár wrote:
> > > + */
> > > +ENTRY(omap_smc3)
> > > + stmfd   sp!, {r4-r11, lr}
> > > + mov r12, r0 @ Copy the secure service ID
> > > + mov r6, #0xff   @ Indicate new Task call
> > > + dsb @ Memory Barrier (not sure if needed, copied 
> > > from
> > > omap_smc2) +  smc #1  @ Call PPA service
> > > + ldmfd   sp!, {r4-r11, pc}
> > > +ENDPROC(omap_smc3)
> > > +
> > >  ENTRY(omap_modify_auxcoreboot0)
> > >   stmfd   sp!, {r1-r12, lr}
> > >   ldr r12, =0x104
> > 
> > Dave, it is ok now?
> 
> Yes, that's sufficient to warn people to stop and think (at least, if
> someone copy-pastes it, they will likely highlight the possible error by
> copy-pasting the comment too).  Thanks.
> 
> Acked-by: Dave Martin 

Have you guys checked how this works with the recently posted
"[PATCH v6 0/5] ARM: support for Trusted Foundations secure monitor"
series?

Regards,

Tony
 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v4 1/2] ARM: OMAP: Add secure function omap_smc3() which calling instruction smc #1

2013-09-17 Thread Tony Lindgren
* Dave Martin dave.mar...@arm.com [130916 10:18]:
 On Sat, Sep 14, 2013 at 10:37:12AM +0100, Pali Rohár wrote:
  On Sunday 08 September 2013 09:43:29 Pali Rohár wrote:
   + */
   +ENTRY(omap_smc3)
   + stmfd   sp!, {r4-r11, lr}
   + mov r12, r0 @ Copy the secure service ID
   + mov r6, #0xff   @ Indicate new Task call
   + dsb @ Memory Barrier (not sure if needed, copied 
   from
   omap_smc2) +  smc #1  @ Call PPA service
   + ldmfd   sp!, {r4-r11, pc}
   +ENDPROC(omap_smc3)
   +
ENTRY(omap_modify_auxcoreboot0)
 stmfd   sp!, {r1-r12, lr}
 ldr r12, =0x104
  
  Dave, it is ok now?
 
 Yes, that's sufficient to warn people to stop and think (at least, if
 someone copy-pastes it, they will likely highlight the possible error by
 copy-pasting the comment too).  Thanks.
 
 Acked-by: Dave Martin dave.mar...@arm.com

Have you guys checked how this works with the recently posted
[PATCH v6 0/5] ARM: support for Trusted Foundations secure monitor
series?

Regards,

Tony
 
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v4 1/2] ARM: OMAP: Add secure function omap_smc3() which calling instruction smc #1

2013-09-17 Thread Pali Rohár
On Tuesday 17 September 2013 17:43:31 Tony Lindgren wrote:
 * Dave Martin dave.mar...@arm.com [130916 10:18]:
  On Sat, Sep 14, 2013 at 10:37:12AM +0100, Pali Rohár wrote:
   On Sunday 08 September 2013 09:43:29 Pali Rohár wrote:
+ */
+ENTRY(omap_smc3)
+   stmfd   sp!, {r4-r11, lr}
+   mov r12, r0 @ Copy the secure service ID
+   mov r6, #0xff   @ Indicate new Task call
+   dsb @ Memory Barrier (not sure if needed, 
copied
from omap_smc2) +   smc #1  @ Call PPA service
+   ldmfd   sp!, {r4-r11, pc}
+ENDPROC(omap_smc3)
+

 ENTRY(omap_modify_auxcoreboot0)
 
stmfd   sp!, {r1-r12, lr}
ldr r12, =0x104
   
   Dave, it is ok now?
  
  Yes, that's sufficient to warn people to stop and think (at
  least, if someone copy-pastes it, they will likely
  highlight the possible error by copy-pasting the comment
  too).  Thanks.
  
  Acked-by: Dave Martin dave.mar...@arm.com
 
 Have you guys checked how this works with the recently posted
 [PATCH v6 0/5] ARM: support for Trusted Foundations secure
 monitor series?
 
 Regards,
 
 Tony

Hello,

this code looks like some Tegra and Trusted Foundations 
specific. There is Note: The API followed by Trusted Foundations 
does *not* follow the SMC calling conventions.  Also code calling 
smc #0 instruction, so in my opinion for rx51 it is useless.

Tony, can you include this two rx51 secure patches (patch v4 1/2 
and patch v2 2/2)? Or is there some any other problem?

-- 
Pali Rohár
pali.ro...@gmail.com


signature.asc
Description: This is a digitally signed message part.


Re: [PATCH v4 1/2] ARM: OMAP: Add secure function omap_smc3() which calling instruction smc #1

2013-09-17 Thread Tony Lindgren
* Pali Rohár pali.ro...@gmail.com [130917 09:01]:
 On Tuesday 17 September 2013 17:43:31 Tony Lindgren wrote:
  Have you guys checked how this works with the recently posted
  [PATCH v6 0/5] ARM: support for Trusted Foundations secure
  monitor series?
 
 this code looks like some Tegra and Trusted Foundations 
 specific. There is Note: The API followed by Trusted Foundations 
 does *not* follow the SMC calling conventions.  Also code calling 
 smc #0 instruction, so in my opinion for rx51 it is useless.

OK, so still no generic SMC code then :( This patch is fine
with me.
 
 Tony, can you include this two rx51 secure patches (patch v4 1/2 
 and patch v2 2/2)? Or is there some any other problem?

No other comments on this patch, I'll post some comments on the
v2 2/2 patch considering we're moving to device tree based
booting.

Regards,

Tony
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v4 1/2] ARM: OMAP: Add secure function omap_smc3() which calling instruction smc #1

2013-09-16 Thread Dave Martin
On Sat, Sep 14, 2013 at 10:37:12AM +0100, Pali Rohár wrote:
> On Sunday 08 September 2013 09:43:29 Pali Rohár wrote:
> > Here is new version (v4) of omap secure part patch:
> > 
> > Other secure functions omap_smc1() and omap_smc2() calling
> > instruction smc #0 but Nokia RX-51 board needs to call smc #1
> > for PPA access.
> > 
> > Signed-off-by: Ivaylo Dimitrov 
> > Signed-off-by: Pali Rohár 
> > ---
> > diff --git a/arch/arm/mach-omap2/omap-secure.h
> > b/arch/arm/mach-omap2/omap-secure.h index 0e72917..c4586f4
> > 100644
> > --- a/arch/arm/mach-omap2/omap-secure.h
> > +++ b/arch/arm/mach-omap2/omap-secure.h
> > @@ -51,6 +51,7 @@
> >  extern u32 omap_secure_dispatcher(u32 idx, u32 flag, u32
> > nargs, u32 arg1, u32 arg2, u32 arg3, u32 arg4);
> >  extern u32 omap_smc2(u32 id, u32 falg, u32 pargs);
> > +extern u32 omap_smc3(u32 id, u32 process, u32 flag, u32
> > pargs); extern phys_addr_t
> > omap_secure_ram_mempool_base(void); extern int
> > omap_secure_ram_reserve_memblock(void);
> > 
> > diff --git a/arch/arm/mach-omap2/omap-smc.S
> > b/arch/arm/mach-omap2/omap-smc.S index f6441c1..fd90125
> > 100644
> > --- a/arch/arm/mach-omap2/omap-smc.S
> > +++ b/arch/arm/mach-omap2/omap-smc.S
> > @@ -1,9 +1,11 @@
> >  /*
> > - * OMAP44xx secure APIs file.
> > + * OMAP34xx and OMAP44xx secure APIs file.
> >   *
> >   * Copyright (C) 2010 Texas Instruments, Inc.
> >   * Written by Santosh Shilimkar 
> >   *
> > + * Copyright (C) 2012 Ivaylo Dimitrov 
> > + * Copyright (C) 2013 Pali Rohár 
> >   *
> >   * This program is free software,you can redistribute it
> > and/or modify * it under the terms of the GNU General Public
> > License version 2 as @@ -54,6 +56,23 @@ ENTRY(omap_smc2)
> > ldmfd   sp!, {r4-r12, pc}
> >  ENDPROC(omap_smc2)
> > 
> > +/**
> > + * u32 omap_smc3(u32 service_id, u32 process_id, u32 flag,
> > u32 pargs) + * Low level common routine for secure HAL and
> > PPA APIs via smc #1 + * r0 - @service_id: Secure Service ID
> > + * r1 - @process_id: Process ID
> > + * r2 - @flag: Flag to indicate the criticality of operation
> > + * r3 - @pargs: Physical address of parameter list
> > + */
> > +ENTRY(omap_smc3)
> > +   stmfd   sp!, {r4-r11, lr}
> > +   mov r12, r0 @ Copy the secure service ID
> > +   mov r6, #0xff   @ Indicate new Task call
> > +   dsb @ Memory Barrier (not sure if needed, copied 
> > from
> > omap_smc2) +smc #1  @ Call PPA service
> > +   ldmfd   sp!, {r4-r11, pc}
> > +ENDPROC(omap_smc3)
> > +
> >  ENTRY(omap_modify_auxcoreboot0)
> > stmfd   sp!, {r1-r12, lr}
> > ldr r12, =0x104
> 
> Dave, it is ok now?

Yes, that's sufficient to warn people to stop and think (at least, if
someone copy-pastes it, they will likely highlight the possible error by
copy-pasting the comment too).  Thanks.

Acked-by: Dave Martin 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v4 1/2] ARM: OMAP: Add secure function omap_smc3() which calling instruction smc #1

2013-09-16 Thread Dave Martin
On Sat, Sep 14, 2013 at 10:37:12AM +0100, Pali Rohár wrote:
 On Sunday 08 September 2013 09:43:29 Pali Rohár wrote:
  Here is new version (v4) of omap secure part patch:
  
  Other secure functions omap_smc1() and omap_smc2() calling
  instruction smc #0 but Nokia RX-51 board needs to call smc #1
  for PPA access.
  
  Signed-off-by: Ivaylo Dimitrov freemangor...@abv.bg
  Signed-off-by: Pali Rohár pali.ro...@gmail.com
  ---
  diff --git a/arch/arm/mach-omap2/omap-secure.h
  b/arch/arm/mach-omap2/omap-secure.h index 0e72917..c4586f4
  100644
  --- a/arch/arm/mach-omap2/omap-secure.h
  +++ b/arch/arm/mach-omap2/omap-secure.h
  @@ -51,6 +51,7 @@
   extern u32 omap_secure_dispatcher(u32 idx, u32 flag, u32
  nargs, u32 arg1, u32 arg2, u32 arg3, u32 arg4);
   extern u32 omap_smc2(u32 id, u32 falg, u32 pargs);
  +extern u32 omap_smc3(u32 id, u32 process, u32 flag, u32
  pargs); extern phys_addr_t
  omap_secure_ram_mempool_base(void); extern int
  omap_secure_ram_reserve_memblock(void);
  
  diff --git a/arch/arm/mach-omap2/omap-smc.S
  b/arch/arm/mach-omap2/omap-smc.S index f6441c1..fd90125
  100644
  --- a/arch/arm/mach-omap2/omap-smc.S
  +++ b/arch/arm/mach-omap2/omap-smc.S
  @@ -1,9 +1,11 @@
   /*
  - * OMAP44xx secure APIs file.
  + * OMAP34xx and OMAP44xx secure APIs file.
*
* Copyright (C) 2010 Texas Instruments, Inc.
* Written by Santosh Shilimkar santosh.shilim...@ti.com
*
  + * Copyright (C) 2012 Ivaylo Dimitrov freemangor...@abv.bg
  + * Copyright (C) 2013 Pali Rohár pali.ro...@gmail.com
*
* This program is free software,you can redistribute it
  and/or modify * it under the terms of the GNU General Public
  License version 2 as @@ -54,6 +56,23 @@ ENTRY(omap_smc2)
  ldmfd   sp!, {r4-r12, pc}
   ENDPROC(omap_smc2)
  
  +/**
  + * u32 omap_smc3(u32 service_id, u32 process_id, u32 flag,
  u32 pargs) + * Low level common routine for secure HAL and
  PPA APIs via smc #1 + * r0 - @service_id: Secure Service ID
  + * r1 - @process_id: Process ID
  + * r2 - @flag: Flag to indicate the criticality of operation
  + * r3 - @pargs: Physical address of parameter list
  + */
  +ENTRY(omap_smc3)
  +   stmfd   sp!, {r4-r11, lr}
  +   mov r12, r0 @ Copy the secure service ID
  +   mov r6, #0xff   @ Indicate new Task call
  +   dsb @ Memory Barrier (not sure if needed, copied 
  from
  omap_smc2) +smc #1  @ Call PPA service
  +   ldmfd   sp!, {r4-r11, pc}
  +ENDPROC(omap_smc3)
  +
   ENTRY(omap_modify_auxcoreboot0)
  stmfd   sp!, {r1-r12, lr}
  ldr r12, =0x104
 
 Dave, it is ok now?

Yes, that's sufficient to warn people to stop and think (at least, if
someone copy-pastes it, they will likely highlight the possible error by
copy-pasting the comment too).  Thanks.

Acked-by: Dave Martin dave.mar...@arm.com

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH v4 1/2] ARM: OMAP: Add secure function omap_smc3() which calling instruction smc #1

2013-09-14 Thread Pali Rohár
On Sunday 08 September 2013 09:43:29 Pali Rohár wrote:
> Here is new version (v4) of omap secure part patch:
> 
> Other secure functions omap_smc1() and omap_smc2() calling
> instruction smc #0 but Nokia RX-51 board needs to call smc #1
> for PPA access.
> 
> Signed-off-by: Ivaylo Dimitrov 
> Signed-off-by: Pali Rohár 
> ---
> diff --git a/arch/arm/mach-omap2/omap-secure.h
> b/arch/arm/mach-omap2/omap-secure.h index 0e72917..c4586f4
> 100644
> --- a/arch/arm/mach-omap2/omap-secure.h
> +++ b/arch/arm/mach-omap2/omap-secure.h
> @@ -51,6 +51,7 @@
>  extern u32 omap_secure_dispatcher(u32 idx, u32 flag, u32
> nargs, u32 arg1, u32 arg2, u32 arg3, u32 arg4);
>  extern u32 omap_smc2(u32 id, u32 falg, u32 pargs);
> +extern u32 omap_smc3(u32 id, u32 process, u32 flag, u32
> pargs); extern phys_addr_t
> omap_secure_ram_mempool_base(void); extern int
> omap_secure_ram_reserve_memblock(void);
> 
> diff --git a/arch/arm/mach-omap2/omap-smc.S
> b/arch/arm/mach-omap2/omap-smc.S index f6441c1..fd90125
> 100644
> --- a/arch/arm/mach-omap2/omap-smc.S
> +++ b/arch/arm/mach-omap2/omap-smc.S
> @@ -1,9 +1,11 @@
>  /*
> - * OMAP44xx secure APIs file.
> + * OMAP34xx and OMAP44xx secure APIs file.
>   *
>   * Copyright (C) 2010 Texas Instruments, Inc.
>   * Written by Santosh Shilimkar 
>   *
> + * Copyright (C) 2012 Ivaylo Dimitrov 
> + * Copyright (C) 2013 Pali Rohár 
>   *
>   * This program is free software,you can redistribute it
> and/or modify * it under the terms of the GNU General Public
> License version 2 as @@ -54,6 +56,23 @@ ENTRY(omap_smc2)
>   ldmfd   sp!, {r4-r12, pc}
>  ENDPROC(omap_smc2)
> 
> +/**
> + * u32 omap_smc3(u32 service_id, u32 process_id, u32 flag,
> u32 pargs) + * Low level common routine for secure HAL and
> PPA APIs via smc #1 + * r0 - @service_id: Secure Service ID
> + * r1 - @process_id: Process ID
> + * r2 - @flag: Flag to indicate the criticality of operation
> + * r3 - @pargs: Physical address of parameter list
> + */
> +ENTRY(omap_smc3)
> + stmfd   sp!, {r4-r11, lr}
> + mov r12, r0 @ Copy the secure service ID
> + mov r6, #0xff   @ Indicate new Task call
> + dsb @ Memory Barrier (not sure if needed, copied 
> from
> omap_smc2) +  smc #1  @ Call PPA service
> + ldmfd   sp!, {r4-r11, pc}
> +ENDPROC(omap_smc3)
> +
>  ENTRY(omap_modify_auxcoreboot0)
>   stmfd   sp!, {r1-r12, lr}
>   ldr r12, =0x104

Dave, it is ok now?

-- 
Pali Rohár
pali.ro...@gmail.com


signature.asc
Description: This is a digitally signed message part.


Re: [PATCH v4 1/2] ARM: OMAP: Add secure function omap_smc3() which calling instruction smc #1

2013-09-14 Thread Pali Rohár
On Sunday 08 September 2013 09:43:29 Pali Rohár wrote:
 Here is new version (v4) of omap secure part patch:
 
 Other secure functions omap_smc1() and omap_smc2() calling
 instruction smc #0 but Nokia RX-51 board needs to call smc #1
 for PPA access.
 
 Signed-off-by: Ivaylo Dimitrov freemangor...@abv.bg
 Signed-off-by: Pali Rohár pali.ro...@gmail.com
 ---
 diff --git a/arch/arm/mach-omap2/omap-secure.h
 b/arch/arm/mach-omap2/omap-secure.h index 0e72917..c4586f4
 100644
 --- a/arch/arm/mach-omap2/omap-secure.h
 +++ b/arch/arm/mach-omap2/omap-secure.h
 @@ -51,6 +51,7 @@
  extern u32 omap_secure_dispatcher(u32 idx, u32 flag, u32
 nargs, u32 arg1, u32 arg2, u32 arg3, u32 arg4);
  extern u32 omap_smc2(u32 id, u32 falg, u32 pargs);
 +extern u32 omap_smc3(u32 id, u32 process, u32 flag, u32
 pargs); extern phys_addr_t
 omap_secure_ram_mempool_base(void); extern int
 omap_secure_ram_reserve_memblock(void);
 
 diff --git a/arch/arm/mach-omap2/omap-smc.S
 b/arch/arm/mach-omap2/omap-smc.S index f6441c1..fd90125
 100644
 --- a/arch/arm/mach-omap2/omap-smc.S
 +++ b/arch/arm/mach-omap2/omap-smc.S
 @@ -1,9 +1,11 @@
  /*
 - * OMAP44xx secure APIs file.
 + * OMAP34xx and OMAP44xx secure APIs file.
   *
   * Copyright (C) 2010 Texas Instruments, Inc.
   * Written by Santosh Shilimkar santosh.shilim...@ti.com
   *
 + * Copyright (C) 2012 Ivaylo Dimitrov freemangor...@abv.bg
 + * Copyright (C) 2013 Pali Rohár pali.ro...@gmail.com
   *
   * This program is free software,you can redistribute it
 and/or modify * it under the terms of the GNU General Public
 License version 2 as @@ -54,6 +56,23 @@ ENTRY(omap_smc2)
   ldmfd   sp!, {r4-r12, pc}
  ENDPROC(omap_smc2)
 
 +/**
 + * u32 omap_smc3(u32 service_id, u32 process_id, u32 flag,
 u32 pargs) + * Low level common routine for secure HAL and
 PPA APIs via smc #1 + * r0 - @service_id: Secure Service ID
 + * r1 - @process_id: Process ID
 + * r2 - @flag: Flag to indicate the criticality of operation
 + * r3 - @pargs: Physical address of parameter list
 + */
 +ENTRY(omap_smc3)
 + stmfd   sp!, {r4-r11, lr}
 + mov r12, r0 @ Copy the secure service ID
 + mov r6, #0xff   @ Indicate new Task call
 + dsb @ Memory Barrier (not sure if needed, copied 
 from
 omap_smc2) +  smc #1  @ Call PPA service
 + ldmfd   sp!, {r4-r11, pc}
 +ENDPROC(omap_smc3)
 +
  ENTRY(omap_modify_auxcoreboot0)
   stmfd   sp!, {r1-r12, lr}
   ldr r12, =0x104

Dave, it is ok now?

-- 
Pali Rohár
pali.ro...@gmail.com


signature.asc
Description: This is a digitally signed message part.