By entering this site you need to consent to the use of cookies and their functional use according to this privacy policy. Cookies help us to provide the functional services of the website. Kindly read the below message of use and consent to the use.
The following cookies are stored and shared when accessing this website:
- Internal cookies for the MediaWiki site. This is used for user authentication and article modifications.
- Third-party cookies from Google providing services for Google AdSense and Google Analytics
We will never use data collected outside of the above scope.
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]].