syscall.sh / x32 / kexec_file_load
kexec_file_load
load a new kernel for later execution
sys_kexec_file_load(int kernel_fd, int initrd_fd, unsigned long cmdline_len, const char *cmdline_ptr, unsigned long flags)
| number | 1073742144 (0x40000140) |
|---|---|
| abi | common |
| entry point | sys_kexec_file_load |
| since | Linux 3.17 |
| man page | kexec_file_load(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
rax | 1073742144, the syscall number |
rdi | int kernel_fd |
rsi | int initrd_fd |
rdx | unsigned long cmdline_len |
r10 | const char *cmdline_ptr |
r8 | unsigned long flags |
rax | the return value |
Then run syscall to enter the kernel.
Same syscall on other architectures
- x64 320
- arm64 294
- arm 401
- riscv64 294
- loongarch64 294
- ppc64 382
- ppc 382
- s390x 381
- arc 294
- csky 294
- hexagon 294
- nios2 294
- openrisc 294
- parisc 355
Get this as JSON: https://api.syscall.sh/v2/syscalls/x32/kexec_file_load