Lines Matching defs:ks
812 struct ksyms_snapshot *ks;
821 ks = ksyms_snapshot;
825 if (ks)
826 ksyms_snapshot_release(ks);
836 struct ksyms_snapshot *ks;
873 ks = ksyms_snapshot;
885 if (ks)
886 ksyms_snapshot_release(ks);
1072 struct ksyms_snapshot *ks;
1074 ks = kmem_zalloc(sizeof(*ks), KM_SLEEP);
1075 ks->ks_refcnt = 1;
1076 ks->ks_gen = gen;
1077 ks->ks_uobj = uao_create(size, 0);
1078 ks->ks_size = size;
1079 ks->ks_dev = dev;
1080 ks->ks_maxlen = maxlen;
1082 return ks;
1086 ksyms_snapshot_release(struct ksyms_snapshot *ks)
1091 refcnt = --ks->ks_refcnt;
1097 uao_detach(ks->ks_uobj);
1098 kmem_free(ks, sizeof(*ks));
1115 ksyms_take_snapshot(struct ksyms_snapshot *ks, struct ksyms_symtab *last)
1117 struct uvm_object *uobj = ks->ks_uobj;
1191 KASSERT(uio.uio_offset == ks->ks_size);
1203 struct ksyms_snapshot *ks = NULL;
1224 while ((ks = ksyms_snapshot) == NULL && ksyms_snapshotting) {
1234 if (ks) {
1235 ks->ks_refcnt++;
1267 ks = ksyms_snapshot_alloc(maxlen, size, dev, gen);
1268 error = ksyms_take_snapshot(ks, last);
1286 ksyms_snapshot = ks;
1287 ks->ks_refcnt++;
1288 KASSERT(ks->ks_refcnt == 2);
1294 if (ks)
1295 ksyms_snapshot_release(ks);
1298 KASSERT(ks);
1299 error = fd_clone(fp, fd, flags, &ksyms_fileops, ks);
1308 struct ksyms_snapshot *ks = fp->f_data;
1310 ksyms_snapshot_release(ks);
1319 const struct ksyms_snapshot *ks = fp->f_data;
1342 if (*offp >= ks->ks_size) {
1356 error = ubc_uiomove(ks->ks_uobj, uio, MIN(count, ks->ks_size - *offp),
1369 const struct ksyms_snapshot *ks = fp->f_data;
1379 st->st_rdev = ks->ks_dev;
1380 st->st_size = ks->ks_size;
1384 st->st_gen = ks->ks_gen;
1393 const struct ksyms_snapshot *ks = fp->f_data;
1405 if (nbytes > round_page(ks->ks_size) ||
1406 *offp > round_page(ks->ks_size) - nbytes)
1410 uao_reference(ks->ks_uobj);
1412 *uobjp = ks->ks_uobj;
1421 struct ksyms_snapshot *ks = fp->f_data;
1432 base = ks->ks_size;
1468 struct ksyms_snapshot *ks = fp->f_data;
1480 len = ks->ks_maxlen;
1576 *(int *)data = ks->ks_size;