## 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