M ip/devip.c => ip/devip.c +3 -1
@@ 863,7 863,7 @@ ttlctlmsg(Conv *c, Cmdbuf *cb)
}
static long
-ipwrite(Chan* ch, char* a, long n, vlong)
+ipwrite(Chan* ch, void *v, long n, vlong)
{
Conv *c;
Proto *x;
@@ 871,7 871,9 @@ ipwrite(Chan* ch, char* a, long n, vlong)
Cmdbuf *cb;
uchar ia[IPaddrlen], ma[IPaddrlen];
Fs *f;
+ char *a;
+ a = v;
f = ipfs[ch->dev];
switch(TYPE(ch->qid)){
M ip/ethermedium.c => ip/ethermedium.c +3 -2
@@ 25,7 25,7 @@ static void etherremmulti(Ipifc *ifc, uchar *a, uchar *ia);
static Block* multicastarp(Fs *f, Arpent *a, uchar *mac);
static void sendarp(Ipifc *ifc, Arpent *a);
static int multicastea(uchar *ea, uchar *ip);
-static void recvarpproc(Ipifc *ifc);
+static void recvarpproc(void*);
Medium ethermedium =
{
@@ 453,8 453,9 @@ recvarp(Ipifc *ifc)
}
static void
-recvarpproc(Ipifc *ifc)
+recvarpproc(void *v)
{
+ Ipifc *ifc = v;
Etherrock *er = ifc->arg;
er->arpp = up;
M ip/rudp.c => ip/rudp.c +3 -1
@@ 308,8 308,10 @@ doipoput(Conv *c, Fs *f, Block *bp, int x, int ttl)
}
int
-flow(Reliable *r)
+flow(void *v)
{
+ Reliable *r = v;
+
return UNACKED(r) <= Maxunacked;
}
M ip/tcp.c => ip/tcp.c +8 -4
@@ 239,8 239,8 @@ void tcpstart(Conv*, int, ushort);
void tcptimeout(void*);
void tcpsndsyn(Tcpctl*);
void tcprcvwin(Conv*);
-void tcpacktimer(Conv*);
-void tcpkeepalive(Conv*);
+void tcpacktimer(void*);
+void tcpkeepalive(void*);
void
tcpsetstate(Conv *s, uchar newstate)
@@ 435,10 435,12 @@ tcprcvwin(Conv *s) /* Call with tcb locked */
}
void
-tcpacktimer(Conv *s)
+tcpacktimer(void *v)
{
Tcpctl *tcb;
+ Conv *s;
+ s = v;
tcb = (Tcpctl*)s->ptcl;
qlock(s);
@@ 1769,10 1771,12 @@ tcpsendka(Conv *s)
* otherwise, send a keepalive and restart the timer
*/
void
-tcpkeepalive(Conv *s)
+tcpkeepalive(void *v)
{
Tcpctl *tcb;
+ Conv *s;
+ s = v;
tcb = (Tcpctl*)s->ptcl;
if(--(tcb->kacounter) <= 0)
localclose(s, Etimedout);
M pc/mp.c => pc/mp.c +4 -2
@@ 348,6 348,8 @@ checkmtrr(void)
#define PDX(va) ((((ulong)(va))>>22) & 0x03FF)
#define PTX(va) ((((ulong)(va))>>12) & 0x03FF)
+Lock clocksynclock;
+
static void
squidboy(Apic* apic)
{
@@ 369,12 371,12 @@ squidboy(Apic* apic)
/*
* Restrain your octopus! Don't let it go out on the sea!
*/
- lock(&active);
+ ilock(&clocksynclock);
x = MACHP(0)->ticks;
while(MACHP(0)->ticks == x)
;
wrmsr(0x10, MACHP(0)->fastclock); /* synchronize fast counters */
- unlock(&active);
+ iunlock(&clocksynclock);
lapicinit(apic);
lapiconline();
M pc/screen.h => pc/screen.h +2 -2
@@ 10,8 10,8 @@ extern void mousetrack(int, int, int);
extern Point mousexy(void);
extern void mouseaccelerate(int);
-extern int m3mouseputc(void*, int);
-extern int mouseputc(void*, int);
+extern int m3mouseputc(Queue*, int);
+extern int mouseputc(Queue*, int);
extern Cursorinfo cursor;
extern Cursor arrow;
M port/devaudio.c => port/devaudio.c +6 -2
@@ 908,7 908,7 @@ audioclose(Chan *c)
}
static long
-audioread(Chan *c, char *a, long n, vlong off)
+audioread(Chan *c, void *v, long n, vlong off)
{
int liv, riv, lov, rov;
long m, n0;
@@ 916,8 916,10 @@ audioread(Chan *c, char *a, long n, vlong off)
Buf *b;
int j;
ulong offset = off;
+ char *a;
n0 = n;
+ a = v;
switch(c->qid.path & ~CHDIR) {
default:
error(Eperm);
@@ 1009,13 1011,15 @@ audioread(Chan *c, char *a, long n, vlong off)
}
static long
-audiowrite(Chan *c, char *a, long n, vlong)
+audiowrite(Chan *c, void *vp, long n, vlong)
{
long m, n0;
int i, nf, v, left, right, in, out;
char buf[255], *field[Ncmd];
Buf *b;
+ char *a;
+ a = vp;
n0 = n;
switch(c->qid.path & ~CHDIR) {
default:
M port/devkprof.c => port/devkprof.c +1 -1
@@ 151,7 151,7 @@ kprofread(Chan *c, void *va, long n, vlong off)
}
static long
-kprofwrite(Chan *c, char *a, long n, vlong)
+kprofwrite(Chan *c, void *a, long n, vlong)
{
switch((int)(c->qid.path&~CHDIR)){
case Kprofctlqid:
M port/devmnt.c => port/devmnt.c +9 -3
@@ 54,7 54,7 @@ void mntrpcread(Mnt*, Mntrpc*);
void mountio(Mnt*, Mntrpc*);
void mountmux(Mnt*, Mntrpc*);
void mountrpc(Mnt*, Mntrpc*);
-int rpcattn(Mntrpc*);
+int rpcattn(void*);
void mclose(Mnt*, Chan*);
void mntrecover(Mnt*, Mntrpc*);
Chan* mntchan(void);
@@ 993,14 993,20 @@ mntdirfix(uchar *dirbuf, Chan *c)
}
int
-rpcattn(Mntrpc *r)
+rpcattn(void *v)
{
+ Mntrpc *r;
+
+ r = v;
return r->done || r->m->rip == 0;
}
int
-recdone(Mnt *m)
+recdone(void *v)
{
+ Mnt *m;
+
+ m = v;
return m->recprog == 0;
}
M port/devmouse.c => port/devmouse.c +2 -2
@@ 459,7 459,7 @@ mousetrack(int b, int dx, int dy)
* shift & right button is the same as middle button (for 2 button mice)
*/
int
-m3mouseputc(void*, int c)
+m3mouseputc(Queue*, int c)
{
static uchar msg[3];
static int nb;
@@ 500,7 500,7 @@ m3mouseputc(void*, int c)
* shift & right button is the same as middle button (for 2 button mice)
*/
int
-mouseputc(void*, int c)
+mouseputc(Queue*, int c)
{
static short msg[5];
static int nb;
M port/devns16552.c => port/devns16552.c +12 -4
@@ 433,10 433,12 @@ stageoutput(Uart *p)
* (re)start output
*/
static void
-ns16552kick0(Uart *p)
+ns16552kick0(void *v)
{
int i;
+ Uart *p;
+ p = v;
if(p->cts == 0 || p->blocked)
return;
@@ 456,8 458,11 @@ ns16552kick0(Uart *p)
}
static void
-ns16552kick(Uart *p)
+ns16552kick(void *v)
{
+ Uart *p;
+
+ p = v;
ilock(&p->tlock);
ns16552kick0(p);
iunlock(&p->tlock);
@@ 467,8 472,11 @@ ns16552kick(Uart *p)
* restart input if it's off
*/
static void
-ns16552flow(Uart *p)
+ns16552flow(void *v)
{
+ Uart *p;
+
+ p = v;
if(p->modem){
ns16552rts(p, 1);
ilock(&p->rlock);
@@ 889,7 897,7 @@ ns16552ctl(Uart *p, char *cmd)
/* let output drain for a while */
for(i = 0; i < 16 && qlen(p->oq); i++)
- tsleep(&p->r, qlen, p->oq, 125);
+ tsleep(&p->r, (int(*)(void*))qlen, p->oq, 125);
if(strncmp(cmd, "break", 5) == 0){
ns16552break(p, 0);
M port/devsd.c => port/devsd.c +1 -1
@@ 257,7 257,7 @@ sdread(Chan *c, void *a, long n, vlong off)
}
static long
-sdwrite(Chan *c, char *a, long n, vlong off)
+sdwrite(Chan *c, void *a, long n, vlong off)
{
Disk *d;
M port/devssl.c => port/devssl.c +1 -1
@@ 187,7 187,7 @@ sslgen(Chan *c, Dirtab *d, int nd, int s, Dir *dp)
}
static Chan*
-sslattach(void *spec)
+sslattach(char *spec)
{
Chan *c;
M port/netif.c => port/netif.c +2 -2
@@ 30,11 30,11 @@ netifinit(Netif *nif, char *name, int nfile, ulong limit)
* generate a 3 level directory
*/
static int
-netifgen(Chan *c, void *vp, int, int i, Dir *dp)
+netifgen(Chan *c, Dirtab *vp, int, int i, Dir *dp)
{
Qid q;
char buf[32];
- Netif *nif = vp;
+ Netif *nif = (Netif*)vp;
Netfile *f;
int t;
int perm;