Is the immediate value used in the SVC instruction.
It is an expression evaluating to an integer in the range:
0 to 224-1 (a 24-bit
value) in an ARM instruction
0-255 (an 8-bit value) in a 16-bit Thumb instruction.
real_num
Is the value passed in r12 to
the handler to determine the function to perform.
To use the indirect mechanism, your system handlers must make
use of the r12 value to select the required operation.
Usage
You can use this feature to implement indirect SVCs.
Example
int __svc_indirect(0) ioctl(int svcino, int fn, void *argp);
Calling:
ioctl(IOCTL+4, RESET, NULL);
compiles to SVC #0 with IOCTL+4
in r12.
Errors
When an ARM architecture variant or ARM architecture-based
processor that does not support an SVC instruction
is specified on the command line using the --cpu option,
the compiler generates an error.
This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.
ARM websites use two types of cookie: (1) those that enable the site to function and perform as required; and (2) analytical cookies which anonymously track visitors only while using the site. If you are not happy with this use of these cookies please review our Privacy Policy to learn how they can be disabled. By disabling cookies some features of the site will not work.