Annotation of sys/arch/mvme68k/mvme68k/sys_machdep.c, Revision 1.1.1.1
1.1 nbrk 1: /* $OpenBSD: sys_machdep.c,v 1.19 2005/12/17 07:31:26 miod Exp $ */
2:
3: /*
4: * Copyright (c) 1982, 1986, 1993
5: * The Regents of the University of California. All rights reserved.
6: *
7: * Redistribution and use in source and binary forms, with or without
8: * modification, are permitted provided that the following conditions
9: * are met:
10: * 1. Redistributions of source code must retain the above copyright
11: * notice, this list of conditions and the following disclaimer.
12: * 2. Redistributions in binary form must reproduce the above copyright
13: * notice, this list of conditions and the following disclaimer in the
14: * documentation and/or other materials provided with the distribution.
15: * 3. Neither the name of the University nor the names of its contributors
16: * may be used to endorse or promote products derived from this software
17: * without specific prior written permission.
18: *
19: * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
20: * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22: * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
23: * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24: * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25: * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27: * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28: * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29: * SUCH DAMAGE.
30: *
31: * @(#)sys_machdep.c 8.2 (Berkeley) 1/13/94
32: */
33:
34: #include <sys/param.h>
35: #include <sys/systm.h>
36: #include <sys/ioctl.h>
37: #include <sys/file.h>
38: #include <sys/time.h>
39: #include <sys/proc.h>
40: #include <sys/signalvar.h>
41: #include <sys/uio.h>
42: #include <sys/kernel.h>
43: #include <sys/mtio.h>
44: #include <sys/buf.h>
45: #include <sys/mount.h>
46:
47: #include <sys/syscallargs.h>
48:
49: #include <uvm/uvm_extern.h>
50:
51: #include <machine/cpu.h>
52:
53: /*
54: * DMA cache control
55: */
56: /*ARGSUSED1*/
57: void
58: dma_cachectl(addr, len)
59: caddr_t addr;
60: int len;
61: {
62: #if defined(M68040) || defined(M68060)
63: if (mmutype <= MMU_68040) {
64: register int inc = 0;
65: int pa = 0;
66: caddr_t end;
67:
68: end = addr + len;
69: if (len <= 1024 || mmutype == MMU_68060) { /* always line push line for 060 */
70: addr = (caddr_t)((int)addr & ~0xF);
71: inc = 16;
72: } else {
73: addr = (caddr_t)((int)addr & ~PGOFSET);
74: inc = NBPG;
75: }
76: do {
77: /*
78: * Convert to physical address.
79: */
80: if (pa == 0 || ((int)addr & PGOFSET) == 0) {
81: pa = kvtop((vaddr_t)addr);
82: }
83: if (inc == 16) {
84: DCFL(pa);
85: ICPL(pa);
86: } else {
87: DCFP(pa);
88: ICPP(pa);
89: }
90: pa += inc;
91: addr += inc;
92: } while (addr < end);
93: }
94: #endif /* M68040 */
95: }
96:
97: int
98: sys_sysarch(p, v, retval)
99: struct proc *p;
100: void *v;
101: register_t *retval;
102: {
103: #if 0
104: struct sys_sysarch_args /* {
105: syscallarg(int) op;
106: syscallarg(char *) parms;
107: } */ *uap = v;
108: #endif
109:
110: return ENOSYS;
111: }
CVSweb