BSD 4_3 release
[unix-history] / usr / src / sys / vaxuba / psreg.h
/*
* Copyright (c) 1982, 1986 Regents of the University of California.
* All rights reserved. The Berkeley software License Agreement
* specifies the terms and conditions for redistribution.
*
* @(#)psreg.h 7.1 (Berkeley) 6/5/86
*/
/*
* The Real Nitty Gritty Device Registers
*/
struct psdevice {
short int ps_data; /* data register */
short int ps_addr; /* address register */
short int ps_wcount; /* word count register */
short int ps_busaddr; /* unibus address register */
short int ps_iostat; /* io status register */
};
/*
* Possible ioctl's
*/
#define PSIOAUTOREFRESH _IO(p, 0) /* auto refresh */
#define PSIOSINGLEREFRESH _IO(p, 1) /* single refresh */
#define PSIOAUTOMAP _IO(p, 2) /* auto map */
#define PSIOSINGLEMAP _IO(p, 3) /* single map */
#define PSIODOUBLEBUFFER _IO(p, 4) /* double buffer */
#define PSIOSINGLEBUFFER _IO(p, 5) /* single buffer */
#define PSIOWAITREFRESH _IO(p, 6) /* await refresh */
#define PSIOWAITMAP _IO(p, 7) /* await map */
#define PSIOWAITHIT _IO(p, 8) /* await hit */
#define PSIOSTOPREFRESH _IO(p, 9) /* stop refresh */
#define PSIOSTOPMAP _IO(p,10) /* stop map */
#define PSIOGETADDR _IOR(p,11, int) /* get Unibus address */
#define PSIOTIMEREFRESH _IO(p,12) /* time refresh */
/*
* Picture system io status register bits
*/
#define DIOREADY 0100000
#define PSAHOLD 040000
#define PSRESET 020000
#define DIORESET 010000
#define DMARESET 04000
#define PSIE 0400
#define DMAREADY 0200
#define DMAIE 0100
#define PASSIVE 010
#define DMAIN 04
#define NEXEM 02
#define GO 01
/*
* Picture system memory mapping control registers: SCB 0177400-0177410
*/
#define EXMMR_DMA 0177400
#define EXMMR_DIO 0177404
#define EXMMR_RC 0177405
#define EXMMR_MAPOUT 0177406
#define EXMMR_MAPIN 0177407
#define EXMSR 0177410
/*
* Extended memory status register bits
*/
#define DBERROR 0100000
#define SBERROR 040000
#define MEMREADY 0200
#define DBIE 0100
#define MMENBL 02
#define INITMEM 01
/*
* Size of extended memory
*/
#define NEXMPAGES (256*2)
#define WORDSPERPAGE (256)
/*
* MAP picture processor registers: SCB 0177750-0177753
*/
#define MAOL 0177750
#define MAOA 0177751
#define MAIA 0177752
#define MASR 0177753
#define MAMSR 0177754
/*
* MAP status register bits
*/
#define PPDONE 0100000
#define FIFOFULL 040000
#define FIFOEMPTY 020000
#define HIT 010000
#define IB 04000
#define TAKE 02000
#define MMODE 01400
#define MOSTOPPED 0200
#define IOUT 0100
#define MAO 040
#define MAI 020
#define HIT_HOLD 010
#define RSR_HOLD 04
#define VEC_HOLD 02
#define MAP_RESET 01
/*
* Refresh controller registers: SCB 0177730-0177737
*/
#define RFCSN 0177730
#define RFSN 0177731
#define RFAWA 0177732
#define RFAWL 0177733
#define RFAIA 0177734
#define RFASA 0177735
#define RFAIL 0177736
#define RFSR 0177737
/*
* Refresh controller status register bits
*/
#define RFSTOPPED 0100000
#define RFHOLD 040000
#define RFSTART 020000
#define AUTOREF 010000
#define RFBLANK 04000
#define RIGHT 02000
#define LGFIFO_FULL 01000
#define NOT_EXEC 0200
#define SKIPSEG 0100
#define WRITEBACK 040
#define SEARCH 020
#define MATCH_HOLD 010
#define MATCH_DEC 04
#define SEARCH_MODE 03
/*
* Interrupt control
*/
#define RTCREQ 0177760
#define RTCIE 0177761
#define SYSREQ 0177762
#define SYSIE 0177763
#define DEVREQ 0177764
#define DEVIE 0177765
/*
* System interrupt request bits
*/
#define LPEN_REQ 0200
#define MATCH_REQ 0100
#define WBSTOP_REQ 040
#define RFSTOP_REQ 020
#define MOSTOP_REQ 010
#define JUMP_REQ 04
#define HIT_REQ 02
#define HALT_REQ 01
/*
* Real-Time Clock registers
*/
#define RTCCNT 0177744
#define RTCSR 0177745
/*
* Real-Time Clock status register bits
*/
#define HZ120 040
#define EXT 020
#define SYNC 010
#define EXTSEL2 04
#define EXTSEL1 02
#define RUN 01
/*
* Control dials a/d registers
*/
#define ADDR0 0177500
#define ADDR1 0177501
#define ADDR2 0177502
#define ADDR3 0177503
#define ADDR4 0177504
#define ADDR5 0177505
#define ADDR6 0177506
#define ADDR7 0177507
/*
* Function switches and lights
*/
#define FSWR 0177626
#define FSLR 0177627