M pc/devfloppy.c => pc/devfloppy.c +0 -1
@@ 616,7 616,6 @@ floppyon(Drive *dp)
tsleep(&dp->r, return0, 0, 750);
/* clear any pending interrupts */
- setvec(Floppyvec, floppyintr);
floppysense();
}
M pc/trap.c => pc/trap.c +1 -1
@@ 241,9 241,9 @@ trap(Ureg *ur)
*/
c = v&~0x7;
if(c==Int0vec || c==Int1vec){
- outb(Int0ctl, EOI);
if(c == Int1vec)
outb(Int1ctl, EOI);
+ outb(Int0ctl, EOI);
if(v != Uart0vec)
uartintr0(ur);
}
M port/devboot.c => port/devboot.c +0 -1
@@ 114,7 114,6 @@ bootwrite(Chan *c, void *buf, long n, ulong offset)
case Qboot:
pc = *(ulong*)buf;
splhi();
- icflush(0, 64*1024);
gotopc(pc);
}
error(Ebadarg);
M power/l.s => power/l.s +8 -1
@@ 181,7 181,14 @@ TEXT getcallerpc(SB), $0
MOVW 0(SP), R1
RET
-TEXT gotopc(SB), $-4
+TEXT gotopc(SB), $8
+
+ MOVW R1, 0(FP)
+ MOVW $(64*1024), R1
+ MOVW R1, 8(SP)
+ MOVW R0, R1
+ JAL icflush(SB)
+ MOVW 0(FP), R1
MOVW _argc(SB), R4
MOVW _argv(SB), R5