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