arch/loongarch/include/asm/kexec.h

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

File Facts

System
Linux kernel
Corpus path
arch/loongarch/include/asm/kexec.h
Extension
.h
Size
1972 bytes
Lines
73
Domain
Architecture Layer
Bucket
arch/loongarch
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 kimage_arch {
	unsigned long efi_boot;
	unsigned long cmdline_ptr;
	unsigned long systable_ptr;
};

#ifdef CONFIG_KEXEC_FILE
extern const struct kexec_file_ops kexec_efi_ops;
extern const struct kexec_file_ops kexec_elf_ops;

int arch_kimage_file_post_load_cleanup(struct kimage *image);
#define arch_kimage_file_post_load_cleanup arch_kimage_file_post_load_cleanup

extern int load_other_segments(struct kimage *image,
		unsigned long kernel_load_addr, unsigned long kernel_size,
		char *initrd, unsigned long initrd_len, char *cmdline, unsigned long cmdline_len);
#endif

typedef void (*do_kexec_t)(unsigned long efi_boot,
			   unsigned long cmdline_ptr,
			   unsigned long systable_ptr,
			   unsigned long start_addr,
			   unsigned long first_ind_entry);

struct kimage;
extern const unsigned char relocate_new_kernel[];
extern const size_t relocate_new_kernel_size;
extern void kexec_reboot(void);

#ifdef CONFIG_SMP
extern atomic_t kexec_ready_to_reboot;
extern const unsigned char kexec_smp_wait[];
#endif

#endif /* !_ASM_KEXEC_H */

Annotation

Implementation Notes