Lines Matching refs:kd

84 _kvm_pcpu_init(kvm_t *kd)
90 if (kvm_nlist(kd, kvm_pcpu_nl) < 0)
93 _kvm_err(kd, kd->program, "unable to find cpuid_to_pcpu");
97 _kvm_err(kd, kd->program, "unable to find mp_maxcpus");
100 if (kvm_read(kd, kvm_pcpu_nl[NL_MP_MAXCPUS].n_value, &max,
102 _kvm_err(kd, kd->program, "cannot read mp_maxcpus");
106 _kvm_err(kd, kd->program, "unable to find mp_ncpus");
109 if (kvm_read(kd, kvm_pcpu_nl[NL_MP_NCPUS].n_value, &mp_ncpus,
111 _kvm_err(kd, kd->program, "cannot read mp_ncpus");
116 _kvm_err(kd, kd->program, "unable to find __pcpu");
119 if (kvm_read(kd, kvm_pcpu_nl[NL___PCPU].n_value, &__pcpu,
121 _kvm_err(kd, kd->program, "cannot read __pcpu");
128 _kvm_err(kd, kd->program, "out of memory");
131 if (kvm_read(kd, kvm_pcpu_nl[NL_CPUID_TO_PCPU].n_value, data, len) !=
133 _kvm_err(kd, kd->program, "cannot read cpuid_to_pcpu array");
152 kvm_getpcpu(kvm_t *kd, int cpu)
156 if (kd == NULL) {
162 if (_kvm_pcpu_init(kd) < 0)
170 _kvm_err(kd, kd->program, "out of memory");
173 if (kvm_read(kd, (uintptr_t)pcpu_data[cpu], buf,
175 _kvm_err(kd, kd->program, "unable to read per-CPU data");
183 kvm_getmaxcpu(kvm_t *kd)
186 if (kd == NULL) {
192 if (_kvm_pcpu_init(kd) < 0)
198 kvm_getncpus(kvm_t *kd)
202 if (_kvm_pcpu_init(kd) < 0)
208 _kvm_dpcpu_setcpu(kvm_t *kd, u_int cpu, int report_error)
211 if (!kd->dpcpu_initialized) {
213 _kvm_err(kd, kd->program, "%s: not initialized",
217 if (cpu >= kd->dpcpu_maxcpus) {
219 _kvm_err(kd, kd->program, "%s: CPU %u too big",
223 if (kd->dpcpu_off[cpu] == 0) {
225 _kvm_err(kd, kd->program, "%s: CPU %u not found",
229 kd->dpcpu_curcpu = cpu;
230 kd->dpcpu_curoff = kd->dpcpu_off[cpu];
238 _kvm_dpcpu_init(kvm_t *kd)
258 if (!kvm_native(kd))
266 if (_kvm_nlist(kd, nl, 0) != 0)
268 if (kvm_read(kd, nl[NLIST_MP_MAXCPUS].n_value, &dpcpu_maxcpus,
275 if (kvm_read(kd, nl[NLIST_DPCPU_OFF].n_value, dpcpu_off_buf, len) !=
280 kd->dpcpu_start = nl[NLIST_START_SET_PCPU].n_value;
281 kd->dpcpu_stop = nl[NLIST_STOP_SET_PCPU].n_value;
282 kd->dpcpu_maxcpus = dpcpu_maxcpus;
283 kd->dpcpu_off = dpcpu_off_buf;
284 kd->dpcpu_initialized = 1;
285 (void)_kvm_dpcpu_setcpu(kd, 0, 0);
294 _kvm_dpcpu_initialized(kvm_t *kd, int intialize)
297 if (kd->dpcpu_initialized || !intialize)
298 return (kd->dpcpu_initialized);
300 (void)_kvm_dpcpu_init(kd);
302 return (kd->dpcpu_initialized);
310 _kvm_dpcpu_validaddr(kvm_t *kd, kvaddr_t value)
316 if (!kd->dpcpu_initialized)
319 if (value < kd->dpcpu_start || value >= kd->dpcpu_stop)
322 return (kd->dpcpu_curoff + value);
326 kvm_dpcpu_setcpu(kvm_t *kd, u_int cpu)
330 if (!kd->dpcpu_initialized) {
331 ret = _kvm_dpcpu_init(kd);
333 _kvm_err(kd, kd->program, "%s: init failed",
339 return (_kvm_dpcpu_setcpu(kd, cpu, 1));
346 kvm_read_zpcpu(kvm_t *kd, u_long base, void *buf, size_t size, int cpu)
349 if (!kvm_native(kd))
352 if (_kvm_pcpu_init(kd) < 0)
358 return (kvm_read(kd, (uintptr_t)(base + sizeof(struct pcpu) * cpu),
366 kvm_counter_u64_fetch(kvm_t *kd, u_long base)
371 if (_kvm_pcpu_init(kd) < 0)
376 if (kvm_read_zpcpu(kd, base, &c, sizeof(c), i) != sizeof(c))