xref: /openbsd-src/lib/libkvm/kvm_powerpc64.c (revision d415763e8eca6b33134cd1c48e0bb3880267a548)
1*d415763eSderaadt /*	$OpenBSD: kvm_powerpc64.c,v 1.3 2021/12/01 21:45:19 deraadt Exp $	*/
2558cf89cSkettenis 
3558cf89cSkettenis /*
4558cf89cSkettenis  * Copyright (c) 2007 Miodrag Vallat.
5558cf89cSkettenis  *
6558cf89cSkettenis  * Permission to use, copy, modify, and distribute this software for any
7558cf89cSkettenis  * purpose with or without fee is hereby granted, provided that the above
8558cf89cSkettenis  * copyright notice, this permission notice, and the disclaimer below
9558cf89cSkettenis  * appear in all copies.
10558cf89cSkettenis  *
11558cf89cSkettenis  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
12558cf89cSkettenis  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
13558cf89cSkettenis  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
14558cf89cSkettenis  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
15558cf89cSkettenis  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
16558cf89cSkettenis  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
17558cf89cSkettenis  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
18558cf89cSkettenis  */
19558cf89cSkettenis 
200e64ee4cSderaadt #include <sys/types.h>
21558cf89cSkettenis #include <sys/kcore.h>
22558cf89cSkettenis 
23558cf89cSkettenis #include <unistd.h>
24558cf89cSkettenis #include <stdlib.h>
25558cf89cSkettenis #include <nlist.h>
26558cf89cSkettenis #include <kvm.h>
27558cf89cSkettenis 
28558cf89cSkettenis #include <db.h>
29558cf89cSkettenis 
30558cf89cSkettenis #include "kvm_private.h"
31558cf89cSkettenis 
32558cf89cSkettenis #include <machine/cpu.h>
33558cf89cSkettenis #include <machine/kcore.h>
34558cf89cSkettenis #include <machine/pte.h>
35558cf89cSkettenis #include <machine/vmparam.h>
36558cf89cSkettenis 
37558cf89cSkettenis void
_kvm_freevtop(kvm_t * kd)38558cf89cSkettenis _kvm_freevtop(kvm_t *kd)
39558cf89cSkettenis {
40558cf89cSkettenis }
41558cf89cSkettenis 
42558cf89cSkettenis int
_kvm_initvtop(kvm_t * kd)43558cf89cSkettenis _kvm_initvtop(kvm_t *kd)
44558cf89cSkettenis {
45558cf89cSkettenis 	return (0);
46558cf89cSkettenis }
47558cf89cSkettenis 
48558cf89cSkettenis /*
49558cf89cSkettenis  * Translate a kernel virtual address to a physical address by walking
50558cf89cSkettenis  * the kernel page tables.
51558cf89cSkettenis  */
52558cf89cSkettenis int
_kvm_kvatop(kvm_t * kd,u_long va,paddr_t * pa)53558cf89cSkettenis _kvm_kvatop(kvm_t *kd, u_long va, paddr_t *pa)
54558cf89cSkettenis {
55558cf89cSkettenis 	if (ISALIVE(kd)) {
56558cf89cSkettenis 		_kvm_err(kd, 0, "vatop called in live kernel!");
57558cf89cSkettenis 		return (0);
58558cf89cSkettenis 	}
59558cf89cSkettenis 
60558cf89cSkettenis 	_kvm_err(kd, 0, "%s not yet implemented", __func__);
61558cf89cSkettenis 	*pa = (paddr_t)-1;
62558cf89cSkettenis 	return (0);
63558cf89cSkettenis }
64558cf89cSkettenis 
65558cf89cSkettenis /*
66558cf89cSkettenis  * Translate a physical address to a file offset in the crash dump.
67558cf89cSkettenis  */
68558cf89cSkettenis off_t
_kvm_pa2off(kvm_t * kd,paddr_t pa)69558cf89cSkettenis _kvm_pa2off(kvm_t *kd, paddr_t pa)
70558cf89cSkettenis {
71558cf89cSkettenis 	_kvm_err(kd, 0, "%s not yet implemented", __func__);
72558cf89cSkettenis 	return (0);
73558cf89cSkettenis }
74