File:  [Power 6/32 Unix Tahoe 4.2BSD] / cci / d / ether / cyconf.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Sun Jul 28 12:24:19 2019 UTC (6 years, 11 months ago) by root
Branches: bsd, MAIN
CVS tags: v12b, v121, HEAD
Power 6/32 Unix version 1.2b


/*
 * Provide about n microseconds of delay
*/
#define	DELAY(n)	{ register int N = (n); while (--N > 0); }

#define IOBASE		0xff000000
#define PGSHIFT		10
#define TBASE		0xff4000
#define ATT_ADR		0xffff4000	/* Channel attention address */
#define SCP_ADR		0xc06		/* System Conf. pointer address */
#define TM_BSIZE	(1024)		/* Block size on Cypher */
#define CYVEC		0x80		/* Cypher interrupt vector to TAHOE */
#define	RETRY		1000


struct scp	/* SYSTEM CONFIGUREATION POINTER */
{
  char sysbus ;		/* width of system buss 0=8;1=16 */
  char nu1 ;
  char pt_scb[4] ;	/* pointer to ->SYSTEM CONFIGUREATION BLOCK */
};

struct scb	/* System conf. block */
{
 char sysblk;
 char nu2;
 char pt_ccb[4];
};

struct ccb	/* CHANNEL CONTROL BLOCK */
{
  char ccw ;		/* 0x11 normal; 0x09 clear non_vect interrupt */
  char gate;		/* This is "the" GATE */
  char pt_tpb[4] ;	/* pointer to ->TAPE OPERATION BLOCK or MOVE BLOCK */
};



struct tpb	/* TAPE OPERATIONS PARAMETER BLOCK */
{
  long cmd ;			/* COMMAND (input) */
  char control[2] ;		/* CONTROL (input) */
  unsigned short count ;	/* RETURN COUNT (output) */
  unsigned short size ;		/* BUFFER SIZE (input/output) */
  unsigned short rec_over ;	/* RECORDS/OVERRUN (input/output) */
  char pt_data[4] ;		/* pointer to ->SOURCE/DEST (input) */
  char status[2];		/* STATUS (output) */
  char pt_link[4] ;	/* pointer to INTERRUPT/PARAMETER BLOCK (input) */
  unsigned short unused[3];
};

struct tpblk	/* TAPE PARAMETER BLOCK for block move operation */
{
  long cmd ;			/* COMMAND (input) */
  char control[2] ;		/* CONTROL (input) */
  unsigned short count ;	/* RETURN COUNT (output) */
  char source[4] ;		/* pointer to source */
  char dest[4] ;		/* pointer to Destination */
  unsigned short mask;		/* Mask/Stat search */
  unsigned short intr[2];	/* Interrupt */
  unsigned short table[2];	/* table */
  unsigned short throttle;	/* throttle word */
};


struct	tmbuf
	{ char byte[TM_BSIZE]; 
	} cybuf;


unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.