Secure Monitor: Difference between revisions

Nwert (talk | contribs)
mNo edit summary
Nwert (talk | contribs)
mNo edit summary
Line 3: Line 3:
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:
Secure Monitor Calls follow the ARM SMC calling convention up to a small change:
{| class=wikitable
{| class=wikitable
! Bit number || Bit mask || Description
! Bit number || Bit mask || Description
Line 15: Line 15:
| 23-16 || 0x00FF0000 || Must be zero.
| 23-16 || 0x00FF0000 || Must be zero.
|-
|-
| 15-0 || 0x0000FFFF || Function number within the range call type.
| 15-8 || 0x0000FF00 || Argument type. This is different from the ARM SMC calling convention.
|-
| 7-0 || 0x000000FF || Function number within the range call type.
|}
|}
If bit ''n'' is set in the argument type then parameter X''n'' is treated as a pointer and the kernel will setup address translation for it in [[SVC#svcCallSecureMonitor|svcCallSecureMonitor]].


== Id 0 ==
== Id 0 ==