~kris/9p

9hist

eed620fae0fa375a842e81463a6233957dfc3fc4 — David du Colombier 25 years ago 78098e6
Plan 9 from Bell Labs 2000-12-12
2 files changed, 12 insertions(+), 4 deletions(-)

M bitsy/devµc.c
M bitsy/l.s
M bitsy/devµc.c => bitsy/devµc.c +2 -2
@@ 81,7 81,7 @@ static struct µcontroller
/* button map */
Rune bmap[4] = 
{
	Kup, Kright, Kdown, Kleft
	Kup, Kright, Kleft, Kdown
};

int


@@ 143,7 143,7 @@ int

			if(b > 5) {
				/* rocker panel acts like arrow keys */
				if(b < 10)
				if(b < 10 && !up)
					kbdputc(kbdq, bmap[b-6]);
			} else {
				/* the rest like mouse buttons */

M bitsy/l.s => bitsy/l.s +10 -2
@@ 46,13 46,18 @@ TEXT mmuinvalidateaddr(SB), $-4

/* write back and invalidate i and d caches */
TEXT cacheflush(SB), $-4
	/* splhi */
	MOVW	CPSR, R3
	ORR	$(PsrDirq), R3, R1
	MOVW	R1, CPSR

	/* write back any dirty data */
	MOVW	$0xe0000000,R0
	ADD	$(8*1024),R0,R1
_cfloop:
	MOVW.P	32(R0),R2
	CMP.S	R0,R1
	BNE	_cfloop
	BGE	_cfloop
	
	/* drain write buffer and invalidate i cache contents */
	MCR	CpMMU, 0, R0, C(CpCacheFlush), C(0xa), 4


@@ 63,6 68,9 @@ _cfloop:
	MOVW	R0,R0
	MOVW	R0,R0
	MOVW	R0,R0

	/* splx */
	MOVW	R3, CPSR
	RET

/* write back d cache */


@@ 74,7 82,7 @@ _cachewb:
_cwbloop:
	MOVW.P	32(R0),R2
	CMP.S	R0,R1
	BNE	_cwbloop
	BGE	_cwbloop
	
	/* drain write buffer */
	MCR	CpMMU, 0, R0, C(CpCacheFlush), C(0xa), 4