summaryrefslogtreecommitdiffstats
path: root/kexec/arch/x86_64/kexec-x86_64.h
blob: 4cdeffb28bcbec15ae4d5d7a56cb16221264b823 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#ifndef KEXEC_X86_64_H
#define KEXEC_X86_64_H

#include "../i386/kexec-x86.h"

struct entry64_regs {
	uint64_t rax;
	uint64_t rbx;
	uint64_t rcx;
	uint64_t rdx;
	uint64_t rsi;
	uint64_t rdi;
	uint64_t rsp;
	uint64_t rbp;
	uint64_t r8;
	uint64_t r9;
	uint64_t r10;
	uint64_t r11;
	uint64_t r12;
	uint64_t r13;
	uint64_t r14;
	uint64_t r15;
	uint64_t rip;
};

int elf_x86_64_probe(const char *buf, off_t len);
int elf_x86_64_load(int argc, char **argv, const char *buf, off_t len,
	struct kexec_info *info);
void elf_x86_64_usage(void);

int bzImage64_probe(const char *buf, off_t len);
int bzImage64_load(int argc, char **argv, const char *buf, off_t len,
			struct kexec_info *info);
void bzImage64_usage(void);

#endif /* KEXEC_X86_64_H */