OpenCores
URL https://opencores.org/ocsvn/hf-risc/hf-risc/trunk

Subversion Repositories hf-risc

[/] [hf-risc/] [trunk/] [tools/] [riscv-gnu-toolchain-master/] [linux-headers/] [include/] [linux/] [kexec.h] - Blame information for rev 13

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 13 serginhofr
#ifndef LINUX_KEXEC_H
2
#define LINUX_KEXEC_H
3
 
4
/* kexec system call -  It loads the new kernel to boot into.
5
 * kexec does not sync, or unmount filesystems so if you need
6
 * that to happen you need to do that yourself.
7
 */
8
 
9
#include <linux/types.h>
10
 
11
/* kexec flags for different usage scenarios */
12
#define KEXEC_ON_CRASH          0x00000001
13
#define KEXEC_PRESERVE_CONTEXT  0x00000002
14
#define KEXEC_ARCH_MASK         0xffff0000
15
 
16
/* These values match the ELF architecture values.
17
 * Unless there is a good reason that should continue to be the case.
18
 */
19
#define KEXEC_ARCH_DEFAULT ( 0 << 16)
20
#define KEXEC_ARCH_386     ( 3 << 16)
21
#define KEXEC_ARCH_68K     ( 4 << 16)
22
#define KEXEC_ARCH_X86_64  (62 << 16)
23
#define KEXEC_ARCH_PPC     (20 << 16)
24
#define KEXEC_ARCH_PPC64   (21 << 16)
25
#define KEXEC_ARCH_IA_64   (50 << 16)
26
#define KEXEC_ARCH_ARM     (40 << 16)
27
#define KEXEC_ARCH_S390    (22 << 16)
28
#define KEXEC_ARCH_SH      (42 << 16)
29
#define KEXEC_ARCH_MIPS_LE (10 << 16)
30
#define KEXEC_ARCH_MIPS    ( 8 << 16)
31
 
32
/* The artificial cap on the number of segments passed to kexec_load. */
33
#define KEXEC_SEGMENT_MAX 16
34
 
35
/*
36
 * This structure is used to hold the arguments that are used when
37
 * loading  kernel binaries.
38
 */
39
struct kexec_segment {
40
        const void *buf;
41
        size_t bufsz;
42
        const void *mem;
43
        size_t memsz;
44
};
45
 
46
/* Load a new kernel image as described by the kexec_segment array
47
 * consisting of passed number of segments at the entry-point address.
48
 * The flags allow different useage types.
49
 */
50
extern int kexec_load(void *, size_t, struct kexec_segment *,
51
                unsigned long int);
52
 
53
#endif /* LINUX_KEXEC_H */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.