Lines Matching refs:kd
59 _arm_pte_get(kvm_t *kd, u_long pteindex) in _arm_pte_get() argument
61 arm_pt_entry_t *pte = _kvm_pmap_get(kd, pteindex, sizeof(*pte)); in _arm_pte_get()
63 return _kvm32toh(kd, *pte); in _arm_pte_get()
67 _arm_minidump_probe(kvm_t *kd) in _arm_minidump_probe() argument
70 return (_kvm_probe_elf_kernel(kd, ELFCLASS32, EM_ARM) && in _arm_minidump_probe()
71 _kvm_is_minidump(kd)); in _arm_minidump_probe()
75 _arm_minidump_freevtop(kvm_t *kd) in _arm_minidump_freevtop() argument
77 struct vmstate *vm = kd->vmst; in _arm_minidump_freevtop()
80 kd->vmst = NULL; in _arm_minidump_freevtop()
84 _arm_minidump_initvtop(kvm_t *kd) in _arm_minidump_initvtop() argument
89 vmst = _kvm_malloc(kd, sizeof(*vmst)); in _arm_minidump_initvtop()
91 _kvm_err(kd, kd->program, "cannot allocate vm"); in _arm_minidump_initvtop()
95 kd->vmst = vmst; in _arm_minidump_initvtop()
97 if (pread(kd->pmfd, &vmst->hdr, in _arm_minidump_initvtop()
99 _kvm_err(kd, kd->program, "cannot read dump header"); in _arm_minidump_initvtop()
105 _kvm_err(kd, kd->program, "not a minidump for this platform"); in _arm_minidump_initvtop()
108 vmst->hdr.version = _kvm32toh(kd, vmst->hdr.version); in _arm_minidump_initvtop()
110 _kvm_err(kd, kd->program, "wrong minidump version. " in _arm_minidump_initvtop()
114 vmst->hdr.msgbufsize = _kvm32toh(kd, vmst->hdr.msgbufsize); in _arm_minidump_initvtop()
115 vmst->hdr.bitmapsize = _kvm32toh(kd, vmst->hdr.bitmapsize); in _arm_minidump_initvtop()
116 vmst->hdr.ptesize = _kvm32toh(kd, vmst->hdr.ptesize); in _arm_minidump_initvtop()
117 vmst->hdr.kernbase = _kvm32toh(kd, vmst->hdr.kernbase); in _arm_minidump_initvtop()
118 vmst->hdr.arch = _kvm32toh(kd, vmst->hdr.arch); in _arm_minidump_initvtop()
119 vmst->hdr.mmuformat = _kvm32toh(kd, vmst->hdr.mmuformat); in _arm_minidump_initvtop()
125 _kvm32toh(kd, vmst->hdr.dumpavailsize) : 0; in _arm_minidump_initvtop()
135 if (_kvm_pt_init(kd, vmst->hdr.dumpavailsize, dump_avail_off, in _arm_minidump_initvtop()
141 if (_kvm_pmap_init(kd, vmst->hdr.ptesize, off) == -1) { in _arm_minidump_initvtop()
150 _arm_minidump_kvatop(kvm_t *kd, kvaddr_t va, off_t *pa) in _arm_minidump_kvatop() argument
158 if (ISALIVE(kd)) { in _arm_minidump_kvatop()
159 _kvm_err(kd, 0, "_arm_minidump_kvatop called in live kernel!"); in _arm_minidump_kvatop()
163 vm = kd->vmst; in _arm_minidump_kvatop()
169 pte = _arm_pte_get(kd, pteindex); in _arm_minidump_kvatop()
171 _kvm_err(kd, kd->program, in _arm_minidump_kvatop()
181 if (kd->vmst->hdr.mmuformat == MINIDUMP_MMU_FORMAT_V4 && in _arm_minidump_kvatop()
183 _kvm_err(kd, kd->program, in _arm_minidump_kvatop()
192 ofs = _kvm_pt_find(kd, a, ARM_PAGE_SIZE); in _arm_minidump_kvatop()
194 _kvm_err(kd, kd->program, "_arm_minidump_kvatop: " in _arm_minidump_kvatop()
203 _kvm_err(kd, kd->program, "_arm_minidump_kvatop: virtual " in _arm_minidump_kvatop()
207 _kvm_err(kd, 0, "invalid address (0x%jx)", (uintmax_t)va); in _arm_minidump_kvatop()
212 _arm_entry_to_prot(kvm_t *kd, arm_pt_entry_t pte) in _arm_entry_to_prot() argument
214 struct vmstate *vm = kd->vmst; in _arm_entry_to_prot()
233 _arm_minidump_walk_pages(kvm_t *kd, kvm_walk_pages_cb_t *cb, void *arg) in _arm_minidump_walk_pages() argument
235 struct vmstate *vm = kd->vmst; in _arm_minidump_walk_pages()
240 arm_pt_entry_t pte = _arm_pte_get(kd, pteindex); in _arm_minidump_walk_pages()
260 if (!_kvm_visit_cb(kd, cb, arg, pa, va, dva, in _arm_minidump_walk_pages()
261 _arm_entry_to_prot(kd, pte), ARM_PAGE_SIZE, 0)) in _arm_minidump_walk_pages()