Lines Matching full:segments
79 * A single segment cannot span multiple vm_phys_seg segments, even if the
80 * vm_phys_seg segments are adjacent.
99 static MALLOC_DEFINE(M_KEXEC, "kexec", "Kexec segments");
177 * - Load the new segments to temporary in kern_kexec_load()
178 * - Remove the old segments in kern_kexec_load()
179 * - Install the new segments in kern_kexec_load()
188 /* Only do error checking if we're installing new segments. */ in kern_kexec_load()
199 * - All segments must not overlap the kernel, so must be fully enclosed in kern_kexec_load()
201 * vm_phys_seg segment, cannot cross even adjacent segments). in kern_kexec_load()
210 new_image_stage->segments[i].pindex = image_count; in kern_kexec_load()
211 new_image_stage->segments[i].target = (vm_offset_t)segtmp[i].mem; in kern_kexec_load()
212 new_image_stage->segments[i].size = segtmp[i].memsz; in kern_kexec_load()
221 * - Grab all pages for all segments (use pindex to slice it) in kern_kexec_load()
238 otherpg = PHYS_TO_VM_PAGE(pa_for_pindex(new_image_stage->segments, in kern_kexec_load()
259 new_image_stage->segments[i].first_page = in kern_kexec_load()
261 new_image_stage->segments[i].pindex); in kern_kexec_load()
287 new_image_stage->segments[i].map_buf = buf; in kern_kexec_load()
349 return (kern_kexec_load(td, uap->entry, uap->nseg, uap->segments, uap->flags)); in sys_kexec_load()