kexec_load on score
load a new kernel for later execution
sys_kexec_load(unsigned long entry, unsigned long nr_segments, struct kexec_segment *segments, unsigned long flags)
| number | 104 (0x68) |
|---|---|
| abi | common |
| kconfig | CONFIG_KEXEC |
| entry point | sys_kexec_load |
| since | Linux 3.7 or earlier (3.7 is the first release scanned for score) |
| man page | kexec_load(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
r27 | 104, the syscall number |
r4 | unsigned long entry |
r5 | unsigned long nr_segments |
r6 | struct kexec_segment *segments |
r7 | unsigned long flags |
r4 | the return value |
Then run syscall to enter the kernel.
r7 is the error flag and r4 then holds the positive error number.
This architecture was removed from the Linux kernel in Linux 4.17. The newest release with a syscall table here is Linux 4.16. The other removed architectures live on the historical architectures page.
Same syscall on other architectures
- x64 246
- x86 283
- arm64 104
- arm 347
- riscv64 104
- ia32 283
- x32 1073742352
- loongarch64 104
- ppc64 268
- ppc 268
- s390x 277
- mips64 5270
- mipsn32 6274
- mipso32 4311
- alpha 448
- arc 104
- csky 104
- hexagon 104
- ia64 1268, removed in 6.7
- m68k 313
- metag 104, removed in 4.17
- microblaze 283
- mn10300 283, removed in 4.17
- nds32 104, removed in 5.18
- nios2 104
- openrisc 104
- parisc 300
- sh 283
- sparc 306
- sparc64 306
- tilegx 104, removed in 4.17
- tilepro 104, removed in 4.17
Get this as JSON: https://api.syscall.sh/v2/syscalls/score/kexec_load?kernel=all