forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ARM: OMAP3: Add secure function omap_smc3() which calling instruction…
… smc #1 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 <[email protected]> Signed-off-by: Pali Rohár <[email protected]> Signed-off-by: Tony Lindgren <[email protected]>
- Loading branch information
Showing
2 changed files
with
21 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,11 @@ | ||
/* | ||
* OMAP44xx secure APIs file. | ||
* OMAP34xx and OMAP44xx secure APIs file. | ||
* | ||
* Copyright (C) 2010 Texas Instruments, Inc. | ||
* Written by Santosh Shilimkar <[email protected]> | ||
* | ||
* Copyright (C) 2012 Ivaylo Dimitrov <[email protected]> | ||
* Copyright (C) 2013 Pali Rohár <[email protected]> | ||
* | ||
* 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 | ||
|