blob: b9779aa9d7f881702575ac1503a79cf3a3834565 (
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
37
38
39
|
/******************************************************************************
* kexec.h
*
* Based heavily on machine_kexec.c and kexec.h from Linux 2.6.19-rc1
*
*/
#ifndef __X86_64_KEXEC_H__
#define __X86_64_KEXEC_H__
#include <xen/types.h>
#include <xen/kexec.h>
#include <asm/fixmap.h>
typedef void (*relocate_new_kernel_t)(
unsigned long indirection_page,
unsigned long page_list,
unsigned long start_address);
static inline void machine_kexec(xen_kexec_image_t *image)
{
relocate_new_kernel_t rnk;
rnk = (relocate_new_kernel_t) image->page_list[1];
(*rnk)(image->indirection_page, (unsigned long)image->page_list,
image->start_address);
}
#endif /* __X86_64_KEXEC_H__ */
/*
* Local variables:
* mode: C
* c-set-style: "BSD"
* c-basic-offset: 4
* tab-width: 4
* indent-tabs-mode: nil
* End:
*/
|