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, int idx); void kimage_terminate(struct kimage *image); int kimage_is_destination_range(struct kimage *image, unsignedlong start, unsignedlong end);
/* * Whatever is used to serialize accesses to the kexec_crash_image needs to be * NMI safe, as __crash_kexec() can happen during nmi_panic(), so here we use a * "simple" atomic variable that is acquired with a cmpxchg().
*/ extern atomic_t __kexec_lock; staticinlinebool kexec_trylock(void)
{ int old = 0; return atomic_try_cmpxchg_acquire(&__kexec_lock, &old, 1);
} staticinlinevoid kexec_unlock(void)
{
atomic_set_release(&__kexec_lock, 0);
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.