Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/ksyms/ksyms.c
Show First 20 Lines • Show All 438 Lines • ▼ Show 20 Lines | ksyms_open(struct cdev *dev, int flags, int fmt __unused, struct thread *td) | ||||
* time. | * time. | ||||
*/ | */ | ||||
for (try = 0; try < 3; try++) { | for (try = 0; try < 3; try++) { | ||||
ksyms_size_calc(&ts); | ksyms_size_calc(&ts); | ||||
elfsz = sizeof(struct ksyms_hdr) + ts.ts_symsz + ts.ts_strsz; | elfsz = sizeof(struct ksyms_hdr) + ts.ts_symsz + ts.ts_strsz; | ||||
object = vm_object_allocate(OBJT_DEFAULT, | object = vm_object_allocate(OBJT_DEFAULT, | ||||
OFF_TO_IDX(round_page(elfsz))); | OFF_TO_IDX(round_page(elfsz))); | ||||
vm_object_set_flag(object, OBJ_NOSPLIT); | |||||
sc->sc_obj = object; | sc->sc_obj = object; | ||||
sc->sc_objsz = elfsz; | sc->sc_objsz = elfsz; | ||||
error = ksyms_snapshot(sc, &ts); | error = ksyms_snapshot(sc, &ts); | ||||
if (error == 0) | if (error == 0) | ||||
break; | break; | ||||
vm_object_deallocate(sc->sc_obj); | vm_object_deallocate(sc->sc_obj); | ||||
▲ Show 20 Lines • Show All 69 Lines • Show Last 20 Lines |