xref: /minix3/lib/libkvm/kvm_m68k.h (revision 9da227510d14c35cccbd92c6a9e316b4079c4911)
1*9da22751SDavid van Moolenbroek /*	$NetBSD: kvm_m68k.h,v 1.6 2010/09/20 23:23:16 jym Exp $	*/
2*9da22751SDavid van Moolenbroek 
3*9da22751SDavid van Moolenbroek /*-
4*9da22751SDavid van Moolenbroek  * Copyright (c) 1997 The NetBSD Foundation, Inc.
5*9da22751SDavid van Moolenbroek  * All rights reserved.
6*9da22751SDavid van Moolenbroek  *
7*9da22751SDavid van Moolenbroek  * This code is derived from software contributed to The NetBSD Foundation
8*9da22751SDavid van Moolenbroek  * by Gordon W. Ross and Jason R. Thorpe.
9*9da22751SDavid van Moolenbroek  *
10*9da22751SDavid van Moolenbroek  * Redistribution and use in source and binary forms, with or without
11*9da22751SDavid van Moolenbroek  * modification, are permitted provided that the following conditions
12*9da22751SDavid van Moolenbroek  * are met:
13*9da22751SDavid van Moolenbroek  * 1. Redistributions of source code must retain the above copyright
14*9da22751SDavid van Moolenbroek  *    notice, this list of conditions and the following disclaimer.
15*9da22751SDavid van Moolenbroek  * 2. Redistributions in binary form must reproduce the above copyright
16*9da22751SDavid van Moolenbroek  *    notice, this list of conditions and the following disclaimer in the
17*9da22751SDavid van Moolenbroek  *    documentation and/or other materials provided with the distribution.
18*9da22751SDavid van Moolenbroek  *
19*9da22751SDavid van Moolenbroek  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
20*9da22751SDavid van Moolenbroek  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21*9da22751SDavid van Moolenbroek  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22*9da22751SDavid van Moolenbroek  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23*9da22751SDavid van Moolenbroek  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24*9da22751SDavid van Moolenbroek  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25*9da22751SDavid van Moolenbroek  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26*9da22751SDavid van Moolenbroek  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27*9da22751SDavid van Moolenbroek  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28*9da22751SDavid van Moolenbroek  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29*9da22751SDavid van Moolenbroek  * POSSIBILITY OF SUCH DAMAGE.
30*9da22751SDavid van Moolenbroek  */
31*9da22751SDavid van Moolenbroek 
32*9da22751SDavid van Moolenbroek struct kvm_ops {
33*9da22751SDavid van Moolenbroek 	int   (*initvtop)(kvm_t *);
34*9da22751SDavid van Moolenbroek 	void  (*freevtop)(kvm_t *);
35*9da22751SDavid van Moolenbroek 	int   (*kvatop)  (kvm_t *, vaddr_t, paddr_t *);
36*9da22751SDavid van Moolenbroek 	off_t (*pa2off)  (kvm_t *, paddr_t);
37*9da22751SDavid van Moolenbroek };
38*9da22751SDavid van Moolenbroek 
39*9da22751SDavid van Moolenbroek struct vmstate {
40*9da22751SDavid van Moolenbroek 	struct kvm_ops *ops;	/* ops vector */
41*9da22751SDavid van Moolenbroek 	u_int32_t pgshift;	/* log2(page_size) */
42*9da22751SDavid van Moolenbroek 	u_int32_t pgofset;	/* mask to find offset into page */
43*9da22751SDavid van Moolenbroek 	void *private;		/* private to the bottom layer */
44*9da22751SDavid van Moolenbroek };
45*9da22751SDavid van Moolenbroek 
46*9da22751SDavid van Moolenbroek extern struct kvm_ops _kvm_ops_cmn;
47*9da22751SDavid van Moolenbroek extern struct kvm_ops _kvm_ops_sun2;
48*9da22751SDavid van Moolenbroek extern struct kvm_ops _kvm_ops_sun3;
49*9da22751SDavid van Moolenbroek extern struct kvm_ops _kvm_ops_sun3x;
50