~kris/9p

9hist

f269e91c84324fbb103ee66a25aed583df983d61 — David du Colombier 33 years ago c7621a8
Plan 9 from Bell Labs 1993-02-11
4 files changed, 11 insertions(+), 10 deletions(-)

M port/fault.c
M power/io.h
M power/segment.h
M power/trap.c
M port/fault.c => port/fault.c +1 -0
@@ 146,6 146,7 @@ fixfault(Segment *s, ulong addr, int read, int doputmmu)

		mmuphys = PPN((*pg)->pa) |PTEWRITE|PTEUNCACHED|PTEVALID;
		(*pg)->modref = PG_MOD|PG_REF;
/*		print("v %lux p %lux\n", addr, mmuphys);	/**/
		break;
	}


M power/io.h => power/io.h +3 -5
@@ 10,17 10,15 @@
enum
{
	LEDtrapmask=	0xf<<0,
	LED2=		1<<2,
	LED3=		1<<3,
	LEDkfault=	1<<4,
	LEDclock=	1<<5,
	LED5=		1<<5,
	LEDfault=	1<<6,
	LEDpulse=	1<<7,
};
/*
#define LEDON(x) 	(m->ledval &= ~(x), *LED = m->ledval)
#define LEDOFF(x) 	(m->ledval |= (x), *LED = m->ledval)
*/
#define LEDON(x)
#define LEDOFF(x)

typedef struct SBCC	SBCC;
typedef struct Timer	Timer;

M power/segment.h => power/segment.h +1 -1
@@ 2,7 2,7 @@
 * Attach segment types
 */

#define VME16IO3	0x17C10000	
#define VME16IO3	0x17C00000	
#define VME32TDFB	(0x30000000+128*MB)

Physseg physseg[] =

M power/trap.c => power/trap.c +6 -4
@@ 169,7 169,7 @@ void
intr(Ureg *ur)
{
	long v;
	int i, any;
	int i, any, limit;
	ulong cause;
	static int bogies;
	uchar pend, xxx;


@@ 182,7 182,7 @@ intr(Ureg *ur)
		cause &= ~INTR1;
	}

	while(cause & INTR5) {
	for(limit = 50; (cause&INTR5) && limit; limit--) {
		any = 0;
		if(!(*MPBERR1 & (1<<8))){
			print("MP bus error %lux %lux\n", *MPBERR0, *MPBERR1);


@@ 285,11 285,13 @@ intr(Ureg *ur)
		if(any == 0)
			cause &= ~INTR5;
	}
	if(limit == 0) {
		print("intr: unable to identify and clear level5\n");
		cause &= ~INTR5;
	}

	if(cause & (INTR2|INTR4)) {
		LEDON(LEDclock);
		clock(ur);
		LEDOFF(LEDclock);
		cause &= ~(INTR2|INTR4);
	}