Lines Matching refs:kd
65 _kvm_pa2off(kvm_t *kd, uint64_t pa, off_t *ofs, size_t pgsz) in _kvm_pa2off() argument
67 struct vmstate *vm = kd->vmst; in _kvm_pa2off()
85 _arm_freevtop(kvm_t *kd) in _arm_freevtop() argument
87 struct vmstate *vm = kd->vmst; in _arm_freevtop()
91 kd->vmst = NULL; in _arm_freevtop()
95 _arm_probe(kvm_t *kd) in _arm_probe() argument
98 return (_kvm_probe_elf_kernel(kd, ELFCLASS32, EM_ARM) && in _arm_probe()
99 !_kvm_is_minidump(kd)); in _arm_probe()
103 _arm_initvtop(kvm_t *kd) in _arm_initvtop() argument
113 if (kd->rawdump) { in _arm_initvtop()
114 _kvm_err(kd, kd->program, "raw dumps not supported on arm"); in _arm_initvtop()
118 vm = _kvm_malloc(kd, sizeof(*vm)); in _arm_initvtop()
120 _kvm_err(kd, kd->program, "cannot allocate vm"); in _arm_initvtop()
123 kd->vmst = vm; in _arm_initvtop()
126 if (_kvm_read_core_phdrs(kd, &vm->phnum, &vm->phdr) == -1) in _arm_initvtop()
142 if (kvm_nlist2(kd, nl) != 0) { in _arm_initvtop()
146 _kvm_err(kd, kd->program, "cannot resolve kernbase"); in _arm_initvtop()
153 if (kvm_nlist2(kd, nl) != 0) { in _arm_initvtop()
154 _kvm_err(kd, kd->program, "couldn't get phys addr"); in _arm_initvtop()
160 if (kvm_nlist2(kd, nl) != 0) { in _arm_initvtop()
161 _kvm_err(kd, kd->program, "bad namelist"); in _arm_initvtop()
164 if (kvm_read2(kd, (nl[0].n_value - kernbase + physaddr), &pa, in _arm_initvtop()
166 _kvm_err(kd, kd->program, "cannot read kernel_l1pa"); in _arm_initvtop()
169 l1pt = _kvm_malloc(kd, ARM_L1_TABLE_SIZE); in _arm_initvtop()
171 _kvm_err(kd, kd->program, "cannot allocate l1pt"); in _arm_initvtop()
174 if (kvm_read2(kd, pa, l1pt, ARM_L1_TABLE_SIZE) != ARM_L1_TABLE_SIZE) { in _arm_initvtop()
175 _kvm_err(kd, kd->program, "cannot read l1pt"); in _arm_initvtop()
193 _arm_kvatop(kvm_t *kd, kvaddr_t va, off_t *pa) in _arm_kvatop() argument
195 struct vmstate *vm = kd->vmst; in _arm_kvatop()
202 return (_kvm_pa2off(kd, va, pa, ARM_PAGE_SIZE)); in _arm_kvatop()
203 pd = _kvm32toh(kd, vm->l1pt[ARM_L1_IDX(va)]); in _arm_kvatop()
209 return (_kvm_pa2off(kd, *pa, pa, ARM_L1_S_SIZE)); in _arm_kvatop()
212 _kvm_pa2off(kd, pte_pa, &pte_off, ARM_L1_S_SIZE); in _arm_kvatop()
213 if (pread(kd->pmfd, &pte, sizeof(pte), pte_off) != sizeof(pte)) { in _arm_kvatop()
214 _kvm_syserr(kd, kd->program, "_arm_kvatop: pread"); in _arm_kvatop()
217 pte = _kvm32toh(kd, pte); in _arm_kvatop()
223 return (_kvm_pa2off(kd, *pa, pa, ARM_L2_L_SIZE)); in _arm_kvatop()
226 return (_kvm_pa2off(kd, *pa, pa, ARM_PAGE_SIZE)); in _arm_kvatop()
228 _kvm_err(kd, 0, "Invalid address (%jx)", (uintmax_t)va); in _arm_kvatop()
239 _kvm_mdopen(kvm_t *kd) in _kvm_mdopen() argument
242 kd->usrstack = USRSTACK; in _kvm_mdopen()
243 kd->min_uva = VM_MIN_ADDRESS; in _kvm_mdopen()
244 kd->max_uva = VM_MAXUSER_ADDRESS; in _kvm_mdopen()
252 _arm_native(kvm_t *kd) in _arm_native() argument
254 _arm_native(kvm_t *kd __unused) in _arm_native()
260 return (kd->nlehdr.e_ident[EI_DATA] == ELFDATA2LSB); in _arm_native()
262 return (kd->nlehdr.e_ident[EI_DATA] == ELFDATA2MSB); in _arm_native()