blob: 53c86f3e6cfa0de2f7de074903b6fbdc5c3added [file] [log] [blame]
Elliott Hughes180edef2023-11-02 00:08:05 +00001/*
2 * This file is auto-generated. Modifications will be lost.
3 *
4 * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5 * for more information.
6 */
Ben Cheng655a7c02013-10-16 16:09:24 -07007#ifndef _UAPILINUX_KEXEC_H
8#define _UAPILINUX_KEXEC_H
9#include <linux/types.h>
10#define KEXEC_ON_CRASH 0x00000001
Ben Cheng655a7c02013-10-16 16:09:24 -070011#define KEXEC_PRESERVE_CONTEXT 0x00000002
Christopher Ferris67d1e5e2023-10-31 13:36:37 -070012#define KEXEC_UPDATE_ELFCOREHDR 0x00000004
Ben Cheng655a7c02013-10-16 16:09:24 -070013#define KEXEC_ARCH_MASK 0xffff0000
Christopher Ferris82d75042015-01-26 10:57:07 -080014#define KEXEC_FILE_UNLOAD 0x00000001
15#define KEXEC_FILE_ON_CRASH 0x00000002
Christopher Ferris82d75042015-01-26 10:57:07 -080016#define KEXEC_FILE_NO_INITRAMFS 0x00000004
Tao Baod7db5942015-01-28 10:07:51 -080017#define KEXEC_ARCH_DEFAULT (0 << 16)
18#define KEXEC_ARCH_386 (3 << 16)
19#define KEXEC_ARCH_68K (4 << 16)
Christopher Ferris9584fa42019-12-09 15:36:13 -080020#define KEXEC_ARCH_PARISC (15 << 16)
Ben Cheng655a7c02013-10-16 16:09:24 -070021#define KEXEC_ARCH_X86_64 (62 << 16)
22#define KEXEC_ARCH_PPC (20 << 16)
23#define KEXEC_ARCH_PPC64 (21 << 16)
Christopher Ferris38062f92014-07-09 15:33:25 -070024#define KEXEC_ARCH_IA_64 (50 << 16)
Ben Cheng655a7c02013-10-16 16:09:24 -070025#define KEXEC_ARCH_ARM (40 << 16)
26#define KEXEC_ARCH_S390 (22 << 16)
27#define KEXEC_ARCH_SH (42 << 16)
Christopher Ferris38062f92014-07-09 15:33:25 -070028#define KEXEC_ARCH_MIPS_LE (10 << 16)
Tao Baod7db5942015-01-28 10:07:51 -080029#define KEXEC_ARCH_MIPS (8 << 16)
Christopher Ferris49f525c2016-12-12 14:55:36 -080030#define KEXEC_ARCH_AARCH64 (183 << 16)
Christopher Ferrisfcc3b4f2021-07-01 01:30:21 +000031#define KEXEC_ARCH_RISCV (243 << 16)
Christopher Ferris80ae69d2022-08-02 16:32:21 -070032#define KEXEC_ARCH_LOONGARCH (258 << 16)
Ben Cheng655a7c02013-10-16 16:09:24 -070033#define KEXEC_SEGMENT_MAX 16
34struct kexec_segment {
Christopher Ferris49f525c2016-12-12 14:55:36 -080035 const void * buf;
Christopher Ferris10a76e62022-06-08 13:31:52 -070036 __kernel_size_t bufsz;
Tao Baod7db5942015-01-28 10:07:51 -080037 const void * mem;
Christopher Ferris10a76e62022-06-08 13:31:52 -070038 __kernel_size_t memsz;
Christopher Ferris49f525c2016-12-12 14:55:36 -080039};
Nick Kralevicha67e4de2013-01-14 11:28:26 -080040#endif