Blame view

kernel/kexec_internal.h 1.2 KB
a43cac0d9   Dave Young   kexec: split kexe...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
  #ifndef LINUX_KEXEC_INTERNAL_H
  #define LINUX_KEXEC_INTERNAL_H
  
  #include <linux/kexec.h>
  
  struct kimage *do_kimage_alloc_init(void);
  int sanity_check_segment_list(struct kimage *image);
  void kimage_free_page_list(struct list_head *list);
  void kimage_free(struct kimage *image);
  int kimage_load_segment(struct kimage *image, struct kexec_segment *segment);
  void kimage_terminate(struct kimage *image);
  int kimage_is_destination_range(struct kimage *image,
  				unsigned long start, unsigned long end);
  
  extern struct mutex kexec_mutex;
  
  #ifdef CONFIG_KEXEC_FILE
978e30c9b   Xunlei Pang   kexec: move some ...
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
  struct kexec_sha_region {
  	unsigned long start;
  	unsigned long len;
  };
  
  /*
   * Keeps track of buffer parameters as provided by caller for requesting
   * memory placement of buffer.
   */
  struct kexec_buf {
  	struct kimage *image;
  	char *buffer;
  	unsigned long bufsz;
  	unsigned long mem;
  	unsigned long memsz;
  	unsigned long buf_align;
  	unsigned long buf_min;
  	unsigned long buf_max;
  	bool top_down;		/* allocate from top of memory hole */
  };
a43cac0d9   Dave Young   kexec: split kexe...
38
39
40
41
42
  void kimage_file_post_load_cleanup(struct kimage *image);
  #else /* CONFIG_KEXEC_FILE */
  static inline void kimage_file_post_load_cleanup(struct kimage *image) { }
  #endif /* CONFIG_KEXEC_FILE */
  #endif /* LINUX_KEXEC_INTERNAL_H */