Lines Matching refs:kd
76 _amd64_pde_get(kvm_t *kd, u_long pdeindex) in _amd64_pde_get() argument
78 amd64_pde_t *pde = _kvm_pmap_get(kd, pdeindex, sizeof(*pde)); in _amd64_pde_get()
84 _amd64_pte_get(kvm_t *kd, u_long pteindex) in _amd64_pte_get() argument
86 amd64_pte_t *pte = _kvm_pmap_get(kd, pteindex, sizeof(*pte)); in _amd64_pte_get()
93 _amd64_pde_first_pte(kvm_t *kd, u_long pdeindex) in _amd64_pde_first_pte() argument
97 pa = _kvm_pmap_get(kd, pdeindex, sizeof(amd64_pde_t)); in _amd64_pde_first_pte()
100 return _kvm_map_get(kd, *pa & AMD64_PG_FRAME, AMD64_PAGE_SIZE); in _amd64_pde_first_pte()
104 _amd64_minidump_probe(kvm_t *kd) in _amd64_minidump_probe() argument
107 return (_kvm_probe_elf_kernel(kd, ELFCLASS64, EM_X86_64) && in _amd64_minidump_probe()
108 _kvm_is_minidump(kd)); in _amd64_minidump_probe()
112 _amd64_minidump_freevtop(kvm_t *kd) in _amd64_minidump_freevtop() argument
114 struct vmstate *vm = kd->vmst; in _amd64_minidump_freevtop()
117 kd->vmst = NULL; in _amd64_minidump_freevtop()
121 _amd64_minidump_initvtop(kvm_t *kd) in _amd64_minidump_initvtop() argument
126 vmst = _kvm_malloc(kd, sizeof(*vmst)); in _amd64_minidump_initvtop()
128 _kvm_err(kd, kd->program, "cannot allocate vm"); in _amd64_minidump_initvtop()
131 kd->vmst = vmst; in _amd64_minidump_initvtop()
132 if (pread(kd->pmfd, &vmst->hdr, sizeof(vmst->hdr), 0) != in _amd64_minidump_initvtop()
134 _kvm_err(kd, kd->program, "cannot read dump header"); in _amd64_minidump_initvtop()
138 _kvm_err(kd, kd->program, "not a minidump for this platform"); in _amd64_minidump_initvtop()
148 _kvm_err(kd, kd->program, "wrong minidump version. expected %d got %d", in _amd64_minidump_initvtop()
169 if (_kvm_pt_init(kd, vmst->hdr.dumpavailsize, dump_avail_off, in _amd64_minidump_initvtop()
175 if (_kvm_pmap_init(kd, vmst->hdr.pmapsize, off) == -1) { in _amd64_minidump_initvtop()
184 _amd64_minidump_vatop_v1(kvm_t *kd, kvaddr_t va, off_t *pa) in _amd64_minidump_vatop_v1() argument
193 vm = kd->vmst; in _amd64_minidump_vatop_v1()
200 pte = _amd64_pte_get(kd, pteindex); in _amd64_minidump_vatop_v1()
202 _kvm_err(kd, kd->program, in _amd64_minidump_vatop_v1()
207 ofs = _kvm_pt_find(kd, a, AMD64_PAGE_SIZE); in _amd64_minidump_vatop_v1()
209 _kvm_err(kd, kd->program, in _amd64_minidump_vatop_v1()
218 ofs = _kvm_pt_find(kd, a, AMD64_PAGE_SIZE); in _amd64_minidump_vatop_v1()
220 _kvm_err(kd, kd->program, in _amd64_minidump_vatop_v1()
228 _kvm_err(kd, kd->program, in _amd64_minidump_vatop_v1()
235 _kvm_err(kd, 0, "invalid address (0x%jx)", (uintmax_t)va); in _amd64_minidump_vatop_v1()
240 _amd64_minidump_vatop(kvm_t *kd, kvaddr_t va, off_t *pa) in _amd64_minidump_vatop() argument
252 vm = kd->vmst; in _amd64_minidump_vatop()
259 pde = _amd64_pde_get(kd, pdeindex); in _amd64_minidump_vatop()
261 _kvm_err(kd, kd->program, in _amd64_minidump_vatop()
268 ofs = _kvm_pt_find(kd, a, AMD64_PAGE_SIZE); in _amd64_minidump_vatop()
270 _kvm_err(kd, kd->program, in _amd64_minidump_vatop()
275 if (pread(kd->pmfd, &pt, AMD64_PAGE_SIZE, ofs) != in _amd64_minidump_vatop()
277 _kvm_err(kd, kd->program, in _amd64_minidump_vatop()
286 _kvm_err(kd, kd->program, in _amd64_minidump_vatop()
295 ofs = _kvm_pt_find(kd, a, AMD64_PAGE_SIZE); in _amd64_minidump_vatop()
297 _kvm_err(kd, kd->program, in _amd64_minidump_vatop()
306 ofs = _kvm_pt_find(kd, a, AMD64_PAGE_SIZE); in _amd64_minidump_vatop()
308 _kvm_err(kd, kd->program, in _amd64_minidump_vatop()
316 _kvm_err(kd, kd->program, in _amd64_minidump_vatop()
323 _kvm_err(kd, 0, "invalid address (0x%jx)", (uintmax_t)va); in _amd64_minidump_vatop()
328 _amd64_minidump_kvatop(kvm_t *kd, kvaddr_t va, off_t *pa) in _amd64_minidump_kvatop() argument
331 if (ISALIVE(kd)) { in _amd64_minidump_kvatop()
332 _kvm_err(kd, 0, in _amd64_minidump_kvatop()
336 if (((struct vmstate *)kd->vmst)->hdr.version == 1) in _amd64_minidump_kvatop()
337 return (_amd64_minidump_vatop_v1(kd, va, pa)); in _amd64_minidump_kvatop()
339 return (_amd64_minidump_vatop(kd, va, pa)); in _amd64_minidump_kvatop()
343 _amd64_minidump_walk_pages(kvm_t *kd, kvm_walk_pages_cb_t *cb, void *arg) in _amd64_minidump_walk_pages() argument
345 struct vmstate *vm = kd->vmst; in _amd64_minidump_walk_pages()
360 amd64_pde_t pde = _amd64_pde_get(kd, pdeindex); in _amd64_minidump_walk_pages()
378 _kvm_bitmap_set(&bm, _kvm_pa_bit_id(kd, pa, AMD64_PAGE_SIZE)); in _amd64_minidump_walk_pages()
379 if (!_kvm_visit_cb(kd, cb, arg, pa, va, dva, in _amd64_minidump_walk_pages()
387 ptes = _amd64_pde_first_pte(kd, pdeindex); in _amd64_minidump_walk_pages()
399 _kvm_pa_bit_id(kd, pa, AMD64_PAGE_SIZE)); in _amd64_minidump_walk_pages()
400 if (!_kvm_visit_cb(kd, cb, arg, pa, va, dva, in _amd64_minidump_walk_pages()
410 pa = _kvm_bit_id_pa(kd, bmindex, AMD64_PAGE_SIZE); in _amd64_minidump_walk_pages()
419 if (!_kvm_visit_cb(kd, cb, arg, pa, va, dva, prot, pgsz, 0)) { in _amd64_minidump_walk_pages()