arch/s390/include/asm/kexec.h

Source file repositories/reference/linux-study-clean/arch/s390/include/asm/kexec.h

File Facts

System
Linux kernel
Corpus path
arch/s390/include/asm/kexec.h
Extension
.h
Size
3250 bytes
Lines
114
Domain
Architecture Layer
Bucket
arch/s390
Inferred role
Architecture Layer: implementation source
Status
source implementation candidate

Why This File Exists

CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.

Dependency Surface

Detected Declarations

Annotated Snippet

struct s390_load_data {
	/* Pointer to the kernel buffer. Used to register cmdline etc.. */
	void *kernel_buf;

	/* Load address of the kernel_buf. */
	unsigned long kernel_mem;

	/* Parmarea in the kernel buffer. */
	struct parmarea *parm;

	/* Total size of loaded segments in memory. Used as an offset. */
	size_t memsz;

	struct ipl_report *report;
};

int s390_verify_sig(const char *kernel, unsigned long kernel_len);
void *kexec_file_add_components(struct kimage *image,
				int (*add_kernel)(struct kimage *image,
						  struct s390_load_data *data));
int arch_kexec_do_relocs(int r_type, void *loc, unsigned long val,
			 unsigned long addr);

#define ARCH_HAS_KIMAGE_ARCH

struct kimage_arch {
	void *ipl_buf;
};

extern const struct kexec_file_ops s390_kexec_image_ops;
extern const struct kexec_file_ops s390_kexec_elf_ops;

#ifdef CONFIG_CRASH_DUMP
void crash_free_reserved_phys_range(unsigned long begin, unsigned long end);
#define crash_free_reserved_phys_range crash_free_reserved_phys_range

void arch_kexec_protect_crashkres(void);
#define arch_kexec_protect_crashkres arch_kexec_protect_crashkres

void arch_kexec_unprotect_crashkres(void);
#define arch_kexec_unprotect_crashkres arch_kexec_unprotect_crashkres

bool is_kdump_kernel(void);
#define is_kdump_kernel is_kdump_kernel
#endif

#ifdef CONFIG_KEXEC_FILE
struct purgatory_info;
int arch_kexec_apply_relocations_add(struct purgatory_info *pi,
				     Elf_Shdr *section,
				     const Elf_Shdr *relsec,
				     const Elf_Shdr *symtab);
#define arch_kexec_apply_relocations_add arch_kexec_apply_relocations_add

int arch_kimage_file_post_load_cleanup(struct kimage *image);
#define arch_kimage_file_post_load_cleanup arch_kimage_file_post_load_cleanup
#endif
#endif /*_S390_KEXEC_H */

Annotation

Implementation Notes