Secure Monitor: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
No edit summary |
||
| Line 2: | Line 2: | ||
The secure monitor provides two top level handlers of which each provides a range of sub handlers. | The secure monitor provides two top level handlers of which each provides a range of sub handlers. | ||
Secure Monitor Calls follow the ARM SMC calling convention: | |||
{| class=wikitable | |||
! Bit number || Bit mask || Description | |||
|- | |||
| 31 || 0x80000000 || Set to 0 means Yielding Call; Set to 1 means Fast Call. | |||
|- | |||
| 30 || 0x40000000 || Set to 0 means SMC32 convention; Set to 1 means SMC64. | |||
|- | |||
| 29-24 || 0x3F000000 || Service Call ranges. | |||
|- | |||
| 23-16 || 0x00FF0000 || Must be zero. | |||
|- | |||
| 15-0 || 0x0000FFFF || Function number within the range call type. | |||
|} | |||
== Id 0 == | == Id 0 == | ||
| Line 54: | Line 69: | ||
! Sub-Id || Name || In || Out | ! Sub-Id || Name || In || Out | ||
|- | |- | ||
| 0xC4000001 || oyasumi || || | | 0xC4000001 || CPU_SUSPEND (oyasumi) || || | ||
|- | |- | ||
| 0x84000002 || || || | | 0x84000002 || CPU_OFF || || | ||
|- | |- | ||
| 0xC4000003 || || || | | 0xC4000003 || CPU_ON || || | ||
|- | |- | ||
| 0xC3000004 || (Same as Id 0 Sub-Id 2.) || || | | 0xC3000004 || (Same as Id 0 Sub-Id 2.) || || | ||
Revision as of 13:57, 10 July 2017
Secure Monitor Calls
The secure monitor provides two top level handlers of which each provides a range of sub handlers.
Secure Monitor Calls follow the ARM SMC calling convention:
| Bit number | Bit mask | Description |
|---|---|---|
| 31 | 0x80000000 | Set to 0 means Yielding Call; Set to 1 means Fast Call. |
| 30 | 0x40000000 | Set to 0 means SMC32 convention; Set to 1 means SMC64. |
| 29-24 | 0x3F000000 | Service Call ranges. |
| 23-16 | 0x00FF0000 | Must be zero. |
| 15-0 | 0x0000FFFF | Function number within the range call type. |
Id 0
Cryptography related functions.
| Sub-Id | Name | In | Out |
|---|---|---|---|
| 0xC3000401 | |||
| 0xC3000002 | (Same as Id 1 Sub-Id 4.) | ||
| 0xC3000003 | |||
| 0xC3000404 | |||
| 0xC3000E05 | |||
| 0xC3000006 | |||
| 0xC3000007 | |||
| 0xC3000008 | |||
| 0xC3000009 | |||
| 0xC300000A | |||
| 0xC300040B | |||
| 0xC300100C | |||
| 0xC300100D | |||
| 0xC300100E | |||
| 0xC300060F | |||
| 0xC3000610 | |||
| 0xC3000011 | |||
| 0xC3000012 |
Id 1
General and power related functions.
| Sub-Id | Name | In | Out |
|---|---|---|---|
| 0xC4000001 | CPU_SUSPEND (oyasumi) | ||
| 0x84000002 | CPU_OFF | ||
| 0xC4000003 | CPU_ON | ||
| 0xC3000004 | (Same as Id 0 Sub-Id 2.) | ||
| 0xC3000005 | |||
| 0xC3000006 | |||
| 0xC3000007 | |||
| 0xC3000008 |