Home | History | Annotate | Line # | Download | only in include
uvax.h revision 1.7.156.1
      1  1.7.156.1  jdolecek /*	$NetBSD: uvax.h,v 1.7.156.1 2017/12/03 11:36:48 jdolecek Exp $ */
      2        1.1     ragge /*
      3        1.7     ragge  * Copyright (c) 2002 Hugh Graham.
      4        1.1     ragge  * Copyright (c) 1996 Ludd, University of Lule}, Sweden.
      5        1.1     ragge  * All rights reserved.
      6        1.1     ragge  *
      7        1.1     ragge  * This code is derived from software contributed to Ludd by Bertram Barth.
      8        1.1     ragge  *
      9        1.1     ragge  * Redistribution and use in source and binary forms, with or without
     10        1.1     ragge  * modification, are permitted provided that the following conditions
     11        1.1     ragge  * are met:
     12        1.1     ragge  * 1. Redistributions of source code must retain the above copyright
     13        1.1     ragge  *    notice, this list of conditions and the following disclaimer.
     14        1.1     ragge  * 2. Redistributions in binary form must reproduce the above copyright
     15        1.1     ragge  *    notice, this list of conditions and the following disclaimer in the
     16        1.1     ragge  *    documentation and/or other materials provided with the distribution.
     17  1.7.156.1  jdolecek  * 3. The name of the author may not be used to endorse or promote products
     18        1.1     ragge  *    derived from this software without specific prior written permission
     19        1.1     ragge  *
     20        1.1     ragge  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
     21        1.1     ragge  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
     22        1.1     ragge  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
     23        1.1     ragge  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
     24        1.1     ragge  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
     25        1.1     ragge  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     26        1.1     ragge  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     27        1.1     ragge  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     28        1.1     ragge  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
     29        1.1     ragge  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     30        1.1     ragge  */
     31        1.1     ragge 
     32        1.2     ragge #ifndef _VAX_UVAX_H_
     33        1.2     ragge #define _VAX_UVAX_H_
     34        1.2     ragge 
     35        1.1     ragge /*
     36        1.1     ragge  * Generic definitions common on all MicroVAXen clock chip.
     37        1.1     ragge  */
     38        1.7     ragge #define uVAX_CLKVRT	0200
     39        1.7     ragge #define uVAX_CLKUIP	0200
     40        1.7     ragge #define uVAX_CLKRATE	040
     41        1.7     ragge #define uVAX_CLKENABLE	06
     42        1.7     ragge #define uVAX_CLKSET	0206
     43        1.1     ragge 
     44        1.1     ragge /* cpmbx bits  */
     45        1.7     ragge #define uVAX_CLKHLTACT	03
     46        1.1     ragge 
     47        1.1     ragge /* halt action values */
     48        1.7     ragge #define uVAX_CLKRESTRT	01
     49        1.7     ragge #define uVAX_CLKREBOOT	02
     50        1.7     ragge #define uVAX_CLKHALT	03
     51        1.1     ragge 
     52        1.1     ragge /* in progress flags */
     53        1.7     ragge #define uVAX_CLKBOOT	04
     54        1.7     ragge #define uVAX_CLKRSTRT	010
     55        1.7     ragge #define uVAX_CLKLANG	0360
     56        1.3     ragge 
     57        1.3     ragge /*
     58        1.3     ragge  * Miscellaneous registers common on most VAXststions.
     59        1.3     ragge  */
     60        1.3     ragge struct vs_cpu {
     61        1.7     ragge 	u_long	vc_hltcod;	/* 00 - Halt Code Register */
     62        1.7     ragge 	u_long	vc_410mser;	/* 04 - VS2K */
     63        1.7     ragge 	u_long	vc_410cear;	/* 08 - VS2K */
     64        1.6      matt 	u_char	vc_intmsk;	/* 0c - Interrupt mask register */
     65        1.6      matt 	u_char	vc_vdcorg;	/* 0d - Mono display origin */
     66        1.6      matt 	u_char	vc_vdcsel;	/* 0e - Video interrupt select */
     67        1.6      matt 	u_char	vc_intreq;	/* 0f - Interrupt request register */
     68        1.7     ragge #define vc_intclr vc_intreq
     69        1.7     ragge 	u_short vc_diagdsp;	/* 10 - Diagnostic display register */
     70        1.7     ragge 	u_short pad4;		/* 12 */
     71        1.7     ragge 	u_long	vc_parctl;	/* 14 - Parity Control Register */
     72        1.7     ragge #define vc_bwf0 vc_parctl
     73        1.7     ragge 	u_short pad5;		/* 16 */
     74        1.7     ragge 	u_short pad6;		/* 18 */
     75        1.7     ragge 	u_short vc_diagtimu;	/* 1a - usecond timer KA46 */
     76        1.7     ragge 	u_short vc_diagtme;	/* 1c - Diagnostic time register */
     77        1.7     ragge #define vc_diagtimm vc_diagtme	/* msecond time KA46 */
     78        1.3     ragge };
     79        1.7     ragge #define PARCTL_DMA	0x1000000
     80        1.7     ragge #define PARCTL_CPEN	2
     81        1.7     ragge #define PARCTL_DPEN	1
     82        1.7     ragge 
     83        1.7     ragge 
     84        1.7     ragge /*
     85        1.7     ragge  * Console Mailbox layout common to several models.
     86        1.7     ragge  */
     87        1.7     ragge 
     88        1.7     ragge struct cpmbx {
     89        1.7     ragge 	unsigned int mbox_halt:2;	/* mailbox halt action */
     90        1.7     ragge 	unsigned int mbox_bip:1;	/* bootstrap in progress */
     91        1.7     ragge 	unsigned int mbox_rip:1;	/* restart in progress */
     92        1.7     ragge 	unsigned int mbox_lang:4;	/* language info */
     93        1.7     ragge 	unsigned int terminal:8;	/* terminal info */
     94        1.7     ragge 	unsigned int keyboard:8;	/* keyboard info */
     95        1.7     ragge 	unsigned int user_four:4;	/* unknown */
     96        1.7     ragge 	unsigned int user_halt:3;	/* user halt action */
     97        1.7     ragge 	unsigned int user_one:1;	/* unknown */
     98        1.7     ragge };
     99        1.7     ragge 
    100        1.7     ragge extern struct cpmbx *cpmbx;
    101        1.7     ragge 
    102        1.7     ragge void   generic_halt(void);
    103        1.7     ragge void   generic_reboot(int);
    104        1.7     ragge 
    105        1.7     ragge #define	MHALT_RESTART_REBOOT	0
    106        1.7     ragge #define	MHALT_RESTART		1
    107        1.7     ragge #define	MHALT_REBOOT		2
    108        1.7     ragge #define	MHALT_HALT		3
    109        1.7     ragge 
    110        1.7     ragge #define	UHALT_DEFAULT		0
    111        1.7     ragge #define	UHALT_RESTART		1
    112        1.7     ragge #define	UHALT_REBOOT		2
    113        1.7     ragge #define	UHALT_HALT		3
    114        1.7     ragge #define	UHALT_RESTART_REBOOT	4
    115        1.1     ragge 
    116        1.2     ragge #endif
    117