vsbus.h revision 1.8.4.1 1 1.8.4.1 fvdl /* $NetBSD: vsbus.h,v 1.8.4.1 1999/11/15 00:39:50 fvdl Exp $ */
2 1.1 ragge /*
3 1.1 ragge * Copyright (c) 1996 Ludd, University of Lule}, Sweden.
4 1.1 ragge * All rights reserved.
5 1.1 ragge *
6 1.1 ragge * This code is derived from software contributed to Ludd by Bertram Barth.
7 1.1 ragge *
8 1.1 ragge * Redistribution and use in source and binary forms, with or without
9 1.1 ragge * modification, are permitted provided that the following conditions
10 1.1 ragge * are met:
11 1.1 ragge * 1. Redistributions of source code must retain the above copyright
12 1.1 ragge * notice, this list of conditions and the following disclaimer.
13 1.1 ragge * 2. Redistributions in binary form must reproduce the above copyright
14 1.1 ragge * notice, this list of conditions and the following disclaimer in the
15 1.1 ragge * documentation and/or other materials provided with the distribution.
16 1.1 ragge * 3. All advertising materials mentioning features or use of this software
17 1.1 ragge * must display the following acknowledgement:
18 1.1 ragge * This product includes software developed at Ludd, University of
19 1.1 ragge * Lule}, Sweden and its contributors.
20 1.1 ragge * 4. The name of the author may not be used to endorse or promote products
21 1.1 ragge * derived from this software without specific prior written permission
22 1.1 ragge *
23 1.1 ragge * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
24 1.1 ragge * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
25 1.1 ragge * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
26 1.1 ragge * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
27 1.1 ragge * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
28 1.1 ragge * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29 1.1 ragge * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30 1.1 ragge * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31 1.1 ragge * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
32 1.1 ragge * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 1.1 ragge */
34 1.1 ragge
35 1.1 ragge /*
36 1.1 ragge * Generic definitions for the (virtual) vsbus. contains common info
37 1.1 ragge * used by all VAXstations.
38 1.1 ragge */
39 1.1 ragge
40 1.8 ragge #ifndef _VAX_VSBUS_H_
41 1.8 ragge #define _VAX_VSBUS_H_
42 1.8 ragge
43 1.8 ragge #include <machine/bus.h>
44 1.8 ragge
45 1.2 ragge struct vsbus_attach_args {
46 1.7 ragge vaddr_t va_addr; /* virtual CSR address */
47 1.7 ragge paddr_t va_paddr; /* physical CSR address */
48 1.7 ragge void (*va_ivec) __P((int)); /* Interrupt routine */
49 1.7 ragge short va_br; /* Interrupt level */
50 1.7 ragge short va_cvec; /* Interrupt vector address */
51 1.7 ragge u_char va_maskno; /* Interrupt vector in mask */
52 1.8 ragge bus_dma_tag_t va_dmat;
53 1.2 ragge };
54 1.2 ragge
55 1.2 ragge /*
56 1.2 ragge * Some chip addresses and constants, same on all VAXstations.
57 1.2 ragge */
58 1.7 ragge #define VS_CFGTST 0x20020000 /* config register */
59 1.7 ragge #define VS_REGS 0x20080000 /* Misc cpu internal regs */
60 1.2 ragge #define NI_ADDR 0x20090000 /* Ethernet address */
61 1.2 ragge #define DZ_CSR 0x200a0000 /* DZ11-compatible chip csr */
62 1.2 ragge #define VS_CLOCK 0x200b0000 /* clock chip address */
63 1.6 ragge #define SCA_REGS 0x200c0000 /* disk device addresses */
64 1.2 ragge #define NI_BASE 0x200e0000 /* LANCE CSRs */
65 1.5 ragge #define NI_IOSIZE (128 * VAX_NBPG) /* IO address size */
66 1.2 ragge
67 1.2 ragge /*
68 1.3 ragge * Small monochrome graphics framebuffer, present on all machines.
69 1.3 ragge */
70 1.3 ragge #define SMADDR 0x30000000
71 1.3 ragge #define SMSIZE 0x20000 /* Actually 256k, only 128k used */
72 1.3 ragge
73 1.7 ragge u_char vsbus_setmask __P((unsigned char));
74 1.7 ragge void vsbus_clrintr __P((unsigned char));
75 1.8.4.1 fvdl void vsbus_copytoproc(struct proc *, caddr_t, caddr_t, int);
76 1.8.4.1 fvdl void vsbus_copyfromproc(struct proc *, caddr_t, caddr_t, int);
77 1.8 ragge #endif /* _VAX_VSBUS_H_ */
78