Lines Matching refs:kd
66 _kvm_pa2off(kvm_t *kd, uint64_t pa, off_t *ofs, size_t pgsz) in _kvm_pa2off() argument
68 struct vmstate *vm = kd->vmst; in _kvm_pa2off()
86 _arm_freevtop(kvm_t *kd) in _arm_freevtop() argument
88 struct vmstate *vm = kd->vmst; in _arm_freevtop()
92 kd->vmst = NULL; in _arm_freevtop()
96 _arm_probe(kvm_t *kd) in _arm_probe() argument
99 return (_kvm_probe_elf_kernel(kd, ELFCLASS32, EM_ARM) && in _arm_probe()
100 !_kvm_is_minidump(kd)); in _arm_probe()
104 _arm_initvtop(kvm_t *kd) in _arm_initvtop() argument
114 if (kd->rawdump) { in _arm_initvtop()
115 _kvm_err(kd, kd->program, "raw dumps not supported on arm"); in _arm_initvtop()
119 vm = _kvm_malloc(kd, sizeof(*vm)); in _arm_initvtop()
121 _kvm_err(kd, kd->program, "cannot allocate vm"); in _arm_initvtop()
124 kd->vmst = vm; in _arm_initvtop()
127 if (_kvm_read_core_phdrs(kd, &vm->phnum, &vm->phdr) == -1) in _arm_initvtop()
143 if (kvm_nlist2(kd, nl) != 0) { in _arm_initvtop()
147 _kvm_err(kd, kd->program, "cannot resolve kernbase"); in _arm_initvtop()
154 if (kvm_nlist2(kd, nl) != 0) { in _arm_initvtop()
155 _kvm_err(kd, kd->program, "couldn't get phys addr"); in _arm_initvtop()
161 if (kvm_nlist2(kd, nl) != 0) { in _arm_initvtop()
162 _kvm_err(kd, kd->program, "bad namelist"); in _arm_initvtop()
165 if (kvm_read2(kd, (nl[0].n_value - kernbase + physaddr), &pa, in _arm_initvtop()
167 _kvm_err(kd, kd->program, "cannot read kernel_l1pa"); in _arm_initvtop()
170 l1pt = _kvm_malloc(kd, ARM_L1_TABLE_SIZE); in _arm_initvtop()
172 _kvm_err(kd, kd->program, "cannot allocate l1pt"); in _arm_initvtop()
175 if (kvm_read2(kd, pa, l1pt, ARM_L1_TABLE_SIZE) != ARM_L1_TABLE_SIZE) { in _arm_initvtop()
176 _kvm_err(kd, kd->program, "cannot read l1pt"); in _arm_initvtop()
194 _arm_kvatop(kvm_t *kd, kvaddr_t va, off_t *pa) in _arm_kvatop() argument
196 struct vmstate *vm = kd->vmst; in _arm_kvatop()
203 return (_kvm_pa2off(kd, va, pa, ARM_PAGE_SIZE)); in _arm_kvatop()
204 pd = _kvm32toh(kd, vm->l1pt[ARM_L1_IDX(va)]); in _arm_kvatop()
210 return (_kvm_pa2off(kd, *pa, pa, ARM_L1_S_SIZE)); in _arm_kvatop()
213 _kvm_pa2off(kd, pte_pa, &pte_off, ARM_L1_S_SIZE); in _arm_kvatop()
214 if (pread(kd->pmfd, &pte, sizeof(pte), pte_off) != sizeof(pte)) { in _arm_kvatop()
215 _kvm_syserr(kd, kd->program, "_arm_kvatop: pread"); in _arm_kvatop()
218 pte = _kvm32toh(kd, pte); in _arm_kvatop()
224 return (_kvm_pa2off(kd, *pa, pa, ARM_L2_L_SIZE)); in _arm_kvatop()
227 return (_kvm_pa2off(kd, *pa, pa, ARM_PAGE_SIZE)); in _arm_kvatop()
229 _kvm_err(kd, 0, "Invalid address (%jx)", (uintmax_t)va); in _arm_kvatop()
240 _kvm_mdopen(kvm_t *kd) in _kvm_mdopen() argument
243 kd->usrstack = USRSTACK; in _kvm_mdopen()
244 kd->min_uva = VM_MIN_ADDRESS; in _kvm_mdopen()
245 kd->max_uva = VM_MAXUSER_ADDRESS; in _kvm_mdopen()
253 _arm_native(kvm_t *kd) in _arm_native() argument
255 _arm_native(kvm_t *kd __unused) in _arm_native()
261 return (kd->nlehdr.e_ident[EI_DATA] == ELFDATA2LSB); in _arm_native()
263 return (kd->nlehdr.e_ident[EI_DATA] == ELFDATA2MSB); in _arm_native()