M carrera/fns.h => carrera/fns.h +7 -4
@@ 118,11 118,14 @@ void enetaddr(uchar*);
#define KADDR1(a) ((void*)((ulong)(a)|KSEG1))
#define PADDR(a) ((ulong)(a)&~KSEGM)
-#define hnputl(p, v) ((*(ulong*)p) = v)
-#define hnputs(p, v) ((*(ushort*)p) = v)
-#define nhgetl(p) ((*(ulong*)p))
-#define nhgets(p) ((*(ushrt*)p))
+void hnputl(void*, ulong v);
+void hnputs(void*, ushort v);
+ulong nhgetl(void*);
+ushort nhgets(void*);
void ifwrite(void*, Block*);
void* ifinit(int);
void fiberint(int);
+ulong ifaddr(void*);
+void audiosbintr(void);
+void audiodmaintr(void);
M carrera/l.s => carrera/l.s +3 -10
@@ 842,20 842,13 @@ uvputuna:
RET
TEXT uvld(SB), $-4 /* uvld(address, dst) */
- MOVV 0(R1), R5
MOVW 4(FP), R2
- MOVW R5, 4(R2)
- DSRA (16,5,5)
- DSRA (16,5,5)
- MOVW R5, 0(R2)
+ MOVV 0(R1), R5
+ MOVV R5, 0(R2)
RET
TEXT uvst(SB), $-4 /* uvst(address, src) */
MOVW 4(FP), R2
- MOVW 0(R2), R5
- DSLL (16,5,5)
- DSLL (16,5,5)
- MOVW 4(R2), R2
- OR R2, R5
+ MOVV 0(R2), R5
MOVV R5, 0(R1)
RET
M carrera/main.c => carrera/main.c +2 -0
@@ 499,6 499,8 @@ rdbginit(void)
uchar *vec;
ulong jba;
+ return; /* Not installed now */
+
/* Only interested in the PC */
Mipsjmpbuf.pc = 0x8001C020;
M carrera/trap.c => carrera/trap.c +4 -6
@@ 341,6 341,7 @@ intr(Ureg *ur)
if(vec == Int1vec)
EISAOUTB(Int1ctl, EOI);
}
+
switch(devint) {
default:
iprint("i386ACK #%lux\n", devint);
@@ 429,19 430,16 @@ dumpregs(Ureg *ur)
{
int i;
ulong *l;
+
if(up)
print("registers for %s %d\n", up->text, up->pid);
else
print("registers for kernel\n");
-
l = &ur->status;
for(i=0; i<sizeof regname/sizeof(char*); i+=2, l+=2)
-/*
- print("%s\t0x%.8lux\t%s\t0x%.8lux\n", regname[i], l[0], regname[i+1], l[1]);
-*/
- print("%s 0x%.8lux %s 0x%.8lux ", regname[i], l[0], regname[i+1], l[1]);
-
+ print("%s\t0x%.8lux\t%s\t0x%.8lux\n",
+ regname[i], l[0], regname[i+1], l[1]);
}
int