kexec_load on ia32
load a new kernel for later execution
compat_sys_kexec_load(unsigned long entry, unsigned long nr_segments, struct kexec_segment *segments, unsigned long flags)
| number | 283 (0x11b) |
|---|---|
| abi | i386 |
| kconfig | CONFIG_KEXEC |
| entry point | compat_sys_kexec_load |
| since | Linux 3.3 or earlier (3.3 is the first release scanned for ia32) |
| man page | kexec_load(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
eax | 283, the syscall number |
ebx | unsigned long entry |
ecx | unsigned long nr_segments |
edx | struct kexec_segment *segments |
esi | unsigned long flags |
eax | the return value |
Then run int 0x80 to enter the kernel.
This compat ABI is only available when the kernel is built with CONFIG_IA32_EMULATION.
Same syscall on other architectures
- x64 246
- x86 283
- arm64 104
- arm 347
- riscv64 104
- x32 1073742352
- loongarch64 104
- ppc64 268
- ppc 268
- s390x 277
- mips64 5270
- mipsn32 6274
- mipso32 4311
- alpha 448
- arc 104
- csky 104
- hexagon 104
- m68k 313
- microblaze 283
- nios2 104
- openrisc 104
- parisc 300
- sh 283
- sparc 306
- sparc64 306
Get this as JSON: https://api.syscall.sh/v2/syscalls/ia32/kexec_load