## diffname power/io.h 1990/0227
## diff -e /dev/null /n/bootesdump/1990/0227/sys/src/9/mips/io.h
0a
#define UNCACHED 0xA0000000
#define IO2(t,x) ((t *)(UNCACHED|0x17000000|(x)))
#define VMEA24SUP(t, x) ((t *)(UNCACHED|0x13000000|(x)))
#define SYNCBUS(t,x) ((t *)(UNCACHED|0x1E000000|(x)))
#define SBSEM SYNCBUS(ulong, 0)
#define SBSEMTOP SYNCBUS(ulong, 0x400000)
#define LED ((char*)0xBF200001)
typedef struct SBCC SBCC;
typedef struct Timer Timer;
typedef struct Duart Duart;
struct SBCC
{
ulong level[14]; /* cpu interrupt level for cpu->cpu ints */
ulong junk0[2];
ulong status[14]; /* status from other cpu */
ulong junk1[2];
ulong elevel; /* cpu interrupt level for vme->cpu ints */
ulong junk2[7];
ulong flevel; /* cpu interrupt level for vme->cpu ints */
ulong junk3[3];
ulong overrun;
ulong junk4[3];
ulong id; /* id of this cpu */
ulong eintenable;
ulong eintpending;
ulong fintenable;
ulong fintpending;
ulong idintenable;
ulong idintpending;
ulong junk5[8];
ulong intxmit;
};
#define SBCCREG SYNCBUS(SBCC, 0x400000)
#define TIMERREG SYNCBUS(Timer, 0x1600000)
#define CLRTIM0 SYNCBUS(uchar, 0x1100000)
#define CLRTIM1 SYNCBUS(uchar, 0x1180000)
#define DUARTREG SYNCBUS(Duart, 0x1A00000)
#define LANCERAM IO2(uchar, 0xE00000)
#define LANCEEND IO2(uchar, 0xF00000)
#define LANCERDP IO2(ushort, 0xFC0002)
#define LANCERAP IO2(ushort, 0xFC000a)
#define LANCEID IO2(ushort, 0xFF0002)
typedef struct MODE MODE;
typedef struct INTVEC INTVEC;
struct MODE {
uchar masterslave; /* master/slave addresses for the IO2 */
uchar resetforce;
uchar checkbits;
uchar promenet;
};
#define MODEREG IO2(MODE, 0xF40000)
#define MASTER 0x0
#define SLAVE 0x4
struct INTVEC {
struct {
ulong vec;
ulong fill2;
} i[8];
};
#define INTVECREG IO2(INTVEC, 0xF60000)
#define INTPENDREG IO2(uchar, 0xF20000) /* same as LED */
#define IO2CLRMASK IO2(uchar, 0xFE0000)
#define IO2SETMASK IO2(uchar, 0xFE8000)
#define IO2MASK IO2(ushort, 0xFE8000)
#define MPBERR0 IO2(ulong, 0xF48000)
#define MPBERR1 IO2(ulong, 0xF4C000)
#define SBEADDR ((ulong *)(UNCACHED|0x1f080000))
/*
* hsvme datakit board
*/
struct hsvme {
ushort version;
ushort pad0x02;
ushort vector;
ushort pad0x06;
ushort csr;
ushort pad0x0A;
ushort data;
};
#define HSVME VMEA24SUP(struct hsvme, 0xF90000)
.
## diffname power/io.h 1990/03021
## diff -e /n/bootesdump/1990/0227/sys/src/9/mips/io.h /n/bootesdump/1990/03021/sys/src/9/mips/io.h
81,94d
## diffname power/io.h 1990/0718
## diff -e /n/bootesdump/1990/03021/sys/src/9/mips/io.h /n/bootesdump/1990/0718/sys/src/9/mips/io.h
80c
#define SBEADDR ((ulong *)(UNCACHED|0x1F080000))
.
## diffname power/io.h 1990/0825
## diff -e /n/bootesdump/1990/0718/sys/src/9/mips/io.h /n/bootesdump/1990/0825/sys/src/9/mips/io.h
80a
.
49a
#define IOID IO2(uchar, 0xFFFFF0)
#define IO2R1 1 /* IO2 revision level 1 */
#define IO2R2 2 /* IO2 revision level 2 */
#define IO3R1 3 /* IO3 revision level 1 */
.
## diffname power/io.h 1990/0826
## diff -e /n/bootesdump/1990/0825/sys/src/9/mips/io.h /n/bootesdump/1990/0826/sys/src/9/mips/io.h
85a
/*
* IO board type
*/
extern int ioid;
.
## diffname power/io.h 1990/08272
## diff -e /n/bootesdump/1990/0826/sys/src/9/mips/io.h /n/bootesdump/1990/08272/sys/src/9/mips/io.h
89a
/*
* The IO2/IO3 slave maps. These maps are used to map
* external addresses to MP bus addresses.
*/
enum {
a24map, /* VME A24 non-priv address space */
a32map, /* VME A32 non-priv address space */
lancemap, /* Lance chip address space */
scsi1map, /* SCSI bus 1 address space */
scsi0map, /* SCSI bus 0 address space */
nomap,
};
#define WRITEMAP IO2(ulong, 0xFA0000);
.
## diffname power/io.h 1990/0905
## diff -e /n/bootesdump/1990/08272/sys/src/9/mips/io.h /n/bootesdump/1990/0905/sys/src/9/mips/io.h
96,101c
A24map, /* VME A24 non-priv address space */
A32map, /* VME A32 non-priv address space */
Lancemap, /* Lance chip address space */
Scsi1map, /* SCSI bus 1 address space */
Scsi0map, /* SCSI bus 0 address space */
Nomap,
.
86,89c
extern int ioid; /* io board type */
extern int iolevels; /* number of io levels */
extern int iomask; /* interrupts to enable */
.
49a
.
46a
#define LANCE3RAM IO2(uchar, 0xFF4000)
#define LANCE3END IO2(uchar, 0xFF8000)
.
## diffname power/io.h 1990/09051
## diff -e /n/bootesdump/1990/0905/sys/src/9/mips/io.h /n/bootesdump/1990/09051/sys/src/9/mips/io.h
105c
#define WRITEMAP IO2(ulong, 0xFA0000)
.
## diffname power/io.h 1990/0907
## diff -e /n/bootesdump/1990/09051/sys/src/9/mips/io.h /n/bootesdump/1990/0907/sys/src/9/mips/io.h
47,48c
#define LANCE3RAM IO2(ushort, 0xFF4000)
#define LANCE3END IO2(ushort, 0xFF8000)
.
## diffname power/io.h 1990/0911
## diff -e /n/bootesdump/1990/0907/sys/src/9/mips/io.h /n/bootesdump/1990/0911/sys/src/9/mips/io.h
88,105d
56a
extern int ioid; /* io board type */
.
51a
#define WRITEMAP IO2(ulong, 0xFA0000)
.
45,46c
#define LANCERAM IO2(ushort, 0xE00000)
#define LANCEEND IO2(ushort, 0xF00000)
.
## diffname power/io.h 1990/1013
## diff -e /n/bootesdump/1990/0911/sys/src/9/mips/io.h /n/bootesdump/1990/1013/sys/src/9/mips/io.h
3a
#define VMEA32SUP(t, x) ((t *)(UNCACHED|0x30000000|(x)))
.
## diffname power/io.h 1990/1204
## diff -e /n/bootesdump/1990/1013/sys/src/9/mips/io.h /n/bootesdump/1990/1204/sys/src/9/mips/io.h
89a
#define RTC (NVRAM+0x3ff8)
.
83a
#define NVRAM IO2(uchar, 0xF10000)
.
## diffname power/io.h 1990/1231
## diff -e /n/bootesdump/1990/1204/sys/src/9/mips/io.h /n/bootesdump/1990/1231/sys/src/9/mips/io.h
53a
#define LANCEINDEX 0x1E00 /* index of lancemap */
.
## diffname power/io.h 1991/0212
## diff -e /n/bootesdump/1991/0201/sys/src/9/mips/io.h /n/bootesdump/1991/0212/sys/src/9/power/io.h
87,89c
#define INTPENDREG3 IO2(uchar, 0xFF0000) /* same as ENET ID */
#define IO2CLRMASK IO2(ulong, 0xFE0000)
#define IO2SETMASK IO2(ulong, 0xFE8000)
.
76a
.
75a
#define MP2VME(addr) (((ulong)(addr) & 0x0fffffff) | (SLAVE<<28))
.
73a
/*
* VME addressing.
* MP2VME takes a physical MP bus address and returns an address
* usable by a VME device through A32 space
*/
.
## diffname power/io.h 1991/0306
## diff -e /n/bootesdump/1991/0212/sys/src/9/power/io.h /n/bootesdump/1991/0306/sys/src/9/power/io.h
81a
#define VME2MP(addr) (((ulong)(addr) & 0x0fffffff) | KZERO)
.
77c
* usable by a VME device through A32 space. VME2MP is its inverse
.
## diffname power/io.h 1992/0228
## diff -e /n/bootesdump/1991/0306/sys/src/9/power/io.h /n/bootesdump/1992/0228/sys/src/9/power/io.h
79c
#define MASTER 0x1 /* 0x10000000 - Map for cyclone A32 addressing */
.
## diffname power/io.h 1992/0508
## diff -e /n/bootesdump/1992/0228/sys/src/9/power/io.h /n/bootesdump/1992/0508/sys/src/9/power/io.h
9a
enum
{
LEDhotintr= 1<<0,
LEDclock= 1<<1,
LEDfault= 1<<2,
};
#define LEDON(x) { m->ledval |= x; *LED = m->ledval; }
#define LEDOFF(x) { m->ledval &= ~x; *LED = m->ledval; }
.
## diffname power/io.h 1992/0509
## diff -e /n/bootesdump/1992/0508/sys/src/9/power/io.h /n/bootesdump/1992/0509/sys/src/9/power/io.h
16,17c
#define LEDON(x) (m->ledval &= ~x, *LED = m->ledval)
#define LEDOFF(x) (m->ledval |= x, *LED = m->ledval)
.
14a
LEDpulse= 1<<7,
.
## diffname power/io.h 1992/0520
## diff -e /n/bootesdump/1992/0509/sys/src/9/power/io.h /n/bootesdump/1992/0520/sys/src/9/power/io.h
53c
#define DUARTREG SYNCBUS(Duartreg, 0x1A00000)
.
22c
typedef struct Duartreg Duartreg;
.
## diffname power/io.h 1992/0527
## diff -e /n/bootesdump/1992/0520/sys/src/9/power/io.h /n/bootesdump/1992/0527/sys/src/9/power/io.h
12,14c
LEDtrapmask= 0xf<<0,
LEDhotintr= 1<<4,
LEDclock= 1<<5,
LEDfault= 1<<6,
.
## diffname power/io.h 1992/0609
## diff -e /n/bootesdump/1992/0527/sys/src/9/power/io.h /n/bootesdump/1992/0609/sys/src/9/power/io.h
18,19c
#define LEDON(x) (m->ledval &= ~(x), *LED = m->ledval)
#define LEDOFF(x) (m->ledval |= (x), *LED = m->ledval)
.
13c
LEDkfault= 1<<4,
.
## diffname power/io.h 1992/0610
## diff -e /n/bootesdump/1992/0609/sys/src/9/power/io.h /n/bootesdump/1992/0610/sys/src/9/power/io.h
112a
#define PROM_RESET 0 /* run diags, check bootmode, reinit */
#define PROM_EXEC 1 /* load new program image */
#define PROM_RESTART 2 /* re-enter monitor command loop */
#define PROM_REINIT 3 /* re-init monitor, then cmd loop */
#define PROM_REBOOT 4 /* check bootmode, no config */
#define PROM_AUTOBOOT 5 /* autoboot the system */
.
## diffname power/io.h 1992/0612
## diff -e /n/bootesdump/1992/0610/sys/src/9/power/io.h /n/bootesdump/1992/0612/sys/src/9/power/io.h
119a
/*
* hs datakit board
*/
typedef struct HSdev HSdev;
struct HSdev {
ushort version;
ushort pad0x02;
ushort vector;
ushort pad0x06;
ushort csr;
ushort pad0x0A;
ushort data;
};
#define HSDEV VMEA24SUP(HSdev, 0xF90000)
.
## diffname power/io.h 1992/1128
## diff -e /n/bootesdump/1992/0612/sys/src/9/power/io.h /n/bootesdump/1992/1128/sys/src/9/power/io.h
19a
*/
#define LEDON(x)
#define LEDOFF(x)
.
17a
/*
.
## diffname power/io.h 1992/1208
## diff -e /n/bootesdump/1992/1128/sys/src/9/power/io.h /n/bootesdump/1992/1208/sys/src/9/power/io.h
69a
#define SCSI0ADDR IO2(uchar, 0xF08007)
#define SCSI0DATA IO2(uchar, 0xF08107)
#define SCSI1ADDR IO2(uchar, 0xF0C007)
#define SCSI1DATA IO2(uchar, 0xF0C107)
#define SCSI0CNT IO2(ulong, 0xF54000)
#define SCSI1CNT IO2(ulong, 0xF58000)
#define SCSI0FLS IO2(uchar, 0xF30001)
#define SCSI1FLS IO2(uchar, 0xF34001)
.
## diffname power/io.h 1993/0211
## diff -e /n/bootesdump/1992/1208/sys/src/9/power/io.h /n/bootesdump/1993/0211/sys/src/9/power/io.h
21,23d
18d
14c
LED5= 1<<5,
.
12a
LED2= 1<<2,
LED3= 1<<3,
.
## diffname power/io.h 1993/0501
## diff -e /n/bootesdump/1993/0211/sys/src/9/power/io.h /n/fornaxdump/1993/0501/sys/src/brazil/power/io.h
21a
*/
#define LEDON(x)
#define LEDOFF(x)
.
19a
/*
.
16c
LEDclock= 1<<5,
.
13,14d
## diffname power/io.h 1997/0327 # deleted
## diff -e /n/fornaxdump/1993/0501/sys/src/brazil/power/io.h /n/emeliedump/1997/0327/sys/src/brazil/power/io.h
1,148d
|