svc
Supervisor Call
SVC #<imm>
Causes a Supervisor Call exception (to EL1).
Pseudocode Operation
ELR_EL1 ← PC
ESR_EL1.ISS[15:0] ← imm16
ESR_EL1.EC ← 0b010001
PSTATE.DAIF ← PSTATE.DAIF OR 0b1111
PC ← ExceptionVectorAddress(EL1, SVC)
Example
SVC #16
Encoding
Binary Layout
11010100
31:24
000
23:21
imm16
20:5
000
4:2
01
1:0
Operands
-
imm
ID
Related
Other forms of svc
Across architectures
System Call : how x86, ARM, RISC-V, and PowerISA each do this.
More in System
Reference
View in Arm A64 ISA Reference ↗
Arm A64 ISA
Instruction Forms
| Encoding | Instruction | ISA | Bit pattern | ||
|---|---|---|---|---|---|
| 0xD4000001 | SVC #<imm> | A64 | 11010100 | 000 | imm16 | 000 | 01 |
Description
Supervisor Call causes an exception to be taken to EL1. On executing an SVC instruction, the PE records the exception as a Supervisor Call exception in ESR_ELx, using the EC value 0x15, and the value of the immediate argument.
Operation
AArch64.CheckForSVCTrap(imm16); AArch64.CallSupervisor(imm16);