Plan 9 from Bell Labs’s /usr/web/sources/extra/9hist/ss/io.h

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


## diffname ss/io.h 1990/1223
## diff -e /dev/null /n/bootesdump/1990/1223/sys/src/9/sparc/io.h
0a
typedef struct	Duart	Duart;

#define	SYNCREG		((char*)0x40400000)
#define	DISPLAYRAM	0x02000000
#define	DUARTREG	((Duart*)0x40100000)
#define	PORT		((uchar *)0x40300000)
.
## diffname ss/io.h 1990/1226
## diff -e /n/bootesdump/1990/1223/sys/src/9/sparc/io.h /n/bootesdump/1990/1226/sys/src/9/sparc/io.h
6a

#define	ENAB		0x40000000	/* ASI 2, System Enable Register */
#define	ENABCACHE	0x10
#define	ENABRESET	0x04
.
4c
#define	DISPLAYRAM	0x1E800000
#define	EPROM		0xF6000000
.
## diffname ss/io.h 1990/1227
## diff -e /n/bootesdump/1990/1226/sys/src/9/sparc/io.h /n/bootesdump/1990/1227/sys/src/9/sparc/io.h
5a
#define	CLOCK		0xF3000000
#define	CLOCKFREQ	1000000		/* one microsecond increments */
.
## diffname ss/io.h 1990/1231
## diff -e /n/bootesdump/1990/1227/sys/src/9/sparc/io.h /n/bootesdump/1990/1231/sys/src/9/sparc/io.h
8,9c
#define	KMDUART		0xF0000000	/* keyboard A, mouse B */
#define	ETHER		0xF8C00000	/* RDP, RAP */
#define	EEPROM		0xF2000000
.
3d
## diffname ss/io.h 1991/0110
## diff -e /n/bootesdump/1990/1231/sys/src/9/sparc/io.h /n/bootesdump/1991/0110/sys/src/9/sparc/io.h
9a
#define	INTRREG		0xF5000000	/* interrupt register, IO space */
.
## diffname ss/io.h 1991/0111
## diff -e /n/bootesdump/1991/0110/sys/src/9/sparc/io.h /n/bootesdump/1991/0111/sys/src/9/sparc/io.h
11,14d
## diffname ss/io.h 1991/0604
## diff -e /n/bootesdump/1991/0201/sys/src/9/sparc/io.h /n/bootesdump/1991/0604/sys/src/9/slc/io.h
10a

typedef struct SCCdev	SCCdev;
struct SCCdev
{
	uchar	ptrb;
	uchar	dummy1;
	uchar	datab;
	uchar	dummy2;
	uchar	ptra;
	uchar	dummy3;
	uchar	dataa;
	uchar	dummy4;
};

/*
 *  crystal frequency for SCC
 */
#define SCCFREQ	10000000
.
1,2d
## diffname ss/io.h 1991/1224
## diff -e /n/bootesdump/1991/0604/sys/src/9/slc/io.h /n/bootesdump/1991/1224/sys/src/9/slc/io.h
5c
#define	KMDUART0	0xF0000000	/* keyboard A, mouse B */
#define	KMDUART1	0xF1000000	/* serial ports */
.
## diffname ss/io.h 1991/1225
## diff -e /n/bootesdump/1991/1224/sys/src/9/slc/io.h /n/bootesdump/1991/1225/sys/src/9/slc/io.h
24,27c
#define KMFREQ	10000000	/* crystal frequency for kbd/mouse 8530 */
#define EIAFREQ	5000000		/* crystal frequency for serial port 8530 */
.
5,6c
#define	KMDUART		0xF0000000	/* keyboard A, mouse B */
#define	EIADUART	0xF1000000	/* serial ports */
.
## diffname ss/io.h 1992/0807
## diff -e /n/bootesdump/1992/0807/sys/src/9/slc/io.h /n/bootesdump/1992/0807/sys/src/9/ss/io.h
25a

/*
 *  non-volatile ram
 */
#define NVREAD	(2048-8)	/* minus RTC */
#define NVWRITE	(2048-8-32)	/* minus RTC, minus ID prom */

/*
 * real-time clock (every 4th location)
 */
typedef struct RTCdev	RTCdev;
struct RTCdev
{
	uchar	control;		/* read or write the device */
	uchar	sec;
	uchar	min;
	uchar	hour;
	uchar	wday;
	uchar	mday;
	uchar	mon;
	uchar	year;
};
#define RTCOFF		0x7F8
#define RTCREAD		(0x40)
#define RTCWRITE	(0x80)

/*
 * dma
 */
typedef struct DMAdev DMAdev;
struct DMAdev {
	ulong	csr;			/* Control/Status */
	ulong	addr;			/* address in 16Mb segment */
	ulong	count;			/* transfer byte count */
	ulong	diag;
};

enum {
	Int_pend	= 0x00000001,	/* interrupt pending */
	Err_pend	= 0x00000002,	/* error pending */
	Pack_cnt	= 0x0000000C,	/* pack count (mask) */
	Int_en		= 0x00000010,	/* interrupt enable */
	Dma_Flush	= 0x00000020,	/* flush pack end error */
	Drain		= 0x00000040,	/* drain pack to memory */
	Dma_Reset	= 0x00000080,	/* hardware reset (sticky) */
	Write		= 0x00000100,	/* set for device to memory (!) */
	En_dma		= 0x00000200,	/* enable DMA */
	Req_pend	= 0x00000400,	/* request pending */
	Byte_addr	= 0x00001800,	/* next byte addr (mask) */
	En_cnt		= 0x00002000,	/* enable count */
	Tc		= 0x00004000,	/* terminal count */
	Ilacc		= 0x00008000,	/* which ether chip */
	Dev_id		= 0xF0000000,	/* device ID */
};

/*
 *  NCR53C90 SCSI controller (every 4th location)
 */
typedef struct SCSIdev	SCSIdev;
struct SCSIdev {
	uchar	countlo;		/* byte count, low bits */
	uchar	pad1[3];
	uchar	counthi;		/* byte count, hi bits */
	uchar	pad2[3];
	uchar	fifo;			/* data fifo */
	uchar	pad3[3];
	uchar	cmd;			/* command byte */
	uchar	pad4[3];
	union {
		struct {		/* read only... */
			uchar	status;		/* status */
			uchar	pad05[3];
			uchar	intr;		/* interrupt status */
			uchar	pad06[3];
			uchar	step;		/* sequence step */
			uchar	pad07[3];
			uchar	fflags;		/* fifo flags */
			uchar	pad08[3];
			uchar	config;		/* configuration */
			uchar	pad09[3];
			uchar	Reserved1;
			uchar	pad0A[3];
			uchar	Reserved2;
			uchar	pad0B[3];
		};
		struct {		/* write only... */
			uchar	destid;		/* destination id */
			uchar	pad15[3];
			uchar	timeout;	/* during selection */
			uchar	pad16[3];
			uchar	syncperiod;	/* synchronous xfr period */
			uchar	pad17[3];
			uchar	syncoffset;	/* synchronous xfr offset */
			uchar	pad18[3];
			uchar	XXX;
			uchar	pad19[3];
			uchar	clkconf;
			uchar	pad1A[3];
			uchar	test;	
			uchar	pad1B[3];
		};
	};
};
.
6a
#define	NVRAM		0xF2000000	/* non-volatile RAM */
#define DMA		0xF8400000	/* DMA registers */
#define SCSI		0xF8800000	/* NCR53C90 registers */
.
## diffname ss/io.h 1992/0810
## diff -e /n/bootesdump/1992/0807/sys/src/9/ss/io.h /n/bootesdump/1992/0810/sys/src/9/ss/io.h
1c
#define	FRAMEBUFID	0xFE000000
#define	DISPLAYRAM	0xFE800000
.
## diffname ss/io.h 1992/0813
## diff -e /n/bootesdump/1992/0810/sys/src/9/ss/io.h /n/bootesdump/1992/0813/sys/src/9/ss/io.h
129a
			uchar	RW1;
			uchar	pad1C[3];
			uchar	RW2;
			uchar	pad1D[3];
			uchar	counthi;	/* byte count, hi bits */
			uchar	pad1E[3];
			uchar	RW3;
			uchar	pad1F[3];
.
124c
			uchar	RW0;
.
113a
			uchar	conf2;		/* RW: configuration */
			uchar	pad0C[3];
			uchar	conf3;		/* RW: configuration */
			uchar	pad0D[3];
			uchar	partid;		/* unique part id */
			uchar	pad0E[3];
			uchar	fbottom;	/* RW: fifo bottom */
			uchar	pad0F[3];
.
108c
			uchar	config;		/* RW: configuration */
.
92c
	uchar	countmi;		/* byte count, middle bits */
.
0a
#define	FRAMEBUF	0xFE000000
.
## diffname ss/io.h 1992/0814
## diff -e /n/bootesdump/1992/0813/sys/src/9/ss/io.h /n/bootesdump/1992/0814/sys/src/9/ss/io.h
39c
 * real-time clock
.
2,3c
#define	FRAMEBUFID	(FRAMEBUF+0x000000)
#define	DISPLAYRAM	(FRAMEBUF+0x800000)
.
## diffname ss/io.h 1992/0904
## diff -e /n/bootesdump/1992/0814/sys/src/9/ss/io.h /n/bootesdump/1992/0904/sys/src/9/ss/io.h
1,3c
#define	SBUS(n)		(0xF8000000+(n)*0x2000000)
#define	FRAMEBUF(n)	SBUS(n)
#define	FRAMEBUFID(n)	(SBUS(n)+0x000000)
#define	DISPLAYRAM(n)	(SBUS(n)+0x800000)
.
## diffname ss/io.h 1993/0501 # deleted
## diff -e /n/bootesdump/1992/0904/sys/src/9/ss/io.h /n/fornaxdump/1993/0501/sys/src/brazil/ss/io.h
1,150d

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to [email protected].