ulong doesn't make sense for the sector size. use uint instead Reference: /n/atom/patch/applied/uintsectors Date: Wed Jun 11 20:57:53 CES 2014 Signed-off-by: quanstro@quanstro.net --- /sys/src/nix/k10/uarti8250.c Wed Jun 11 20:56:06 2014 +++ /sys/src/nix/k10/uarti8250.c Wed Jun 11 20:56:06 2014 @@ -127,7 +127,7 @@ n = uartconsconf(&cmd); if(n == 0 || n == 1){ qlock(i8250uart + n); - uartctl(i8250uart + n, "z"); + uartctl(i8250uart + n, "z i8"); uartctl(i8250uart + n, cmd); qunlock(i8250uart + n); } --- /sys/src/nix/k10/trap.c Wed Jun 11 20:56:08 2014 +++ /sys/src/nix/k10/trap.c Wed Jun 11 20:56:10 2014 @@ -99,6 +99,8 @@ { Vctl *v, *x, **ll; + if(vector == nil) + return 0; ilock(&vctllock); v = vector; if(v == nil || vctl[v->affinity][v->vno] != v) --- /sys/src/nix/k10/sdahci.c Wed Jun 11 20:56:13 2014 +++ /sys/src/nix/k10/sdahci.c Wed Jun 11 20:56:16 2014 @@ -1966,7 +1966,7 @@ p = capfmt(p, e, ctab, nelem(ctab), o->cmd); p = seprint(p, e, "\n"); p = seprint(p, e, "mode\t%s %s\n", modes[d->mode], modes[maxmode(c)]); - p = seprint(p, e, "geometry %llud %lud\n", u->sectors, u->secsize); + p = seprint(p, e, "geometry %llud %ud\n", u->sectors, u->secsize); return p - op; } --- /sys/src/nix/k10/sdide.c Wed Jun 11 20:56:18 2014 +++ /sys/src/nix/k10/sdide.c Wed Jun 11 20:56:20 2014 @@ -910,7 +910,7 @@ p = sfisxrdctl(d, p, e); else p = seprint(p, e, "no disk present [%s]\n", dstate(d->state)); - p = seprint(p, e, "geometry %llud %lud\n", u->sectors, u->secsize); + p = seprint(p, e, "geometry %llud %ud\n", u->sectors, u->secsize); return p - op; } --- /sys/src/nix/k10/sdmpt2.c Wed Jun 11 20:56:25 2014 +++ /sys/src/nix/k10/sdmpt2.c Wed Jun 11 20:56:28 2014 @@ -1849,7 +1849,7 @@ p = seprint(p, e, "type %s\n", unittype(u)); p = seprint(p, e, "link %s\n", unitlink(u)); p = seprint(p, e, "state %s\n", unitstate(u)); - p = seprint(p, e, "geometry %llud %lud\n", + p = seprint(p, e, "geometry %llud %ud\n", unit->sectors, unit->secsize); p = seprint(p, e, "slot %d:%d\n", u->ench, u->slot); --- /sys/src/nix/k10/sdodin.c Wed Jun 11 20:56:33 2014 +++ /sys/src/nix/k10/sdodin.c Wed Jun 11 20:56:35 2014 @@ -908,11 +908,6 @@ m = 1<cq[0], n, i); - /* - * xinc doesn't return the previous value and i can't - * figure out how to do this without a lock - * s = _xinc(&c->dqwp); - */ ilock(c); d->cmd->cflag = Active; s = c->dqwp++; @@ -2336,7 +2331,7 @@ if(d->state == Dready) p = sfisxrdctl(d, p, e); p = rctldebug(p, e, c, d); - p = seprint(p, e, "geometry %llud %lud\n", d->sectors, u->secsize); + p = seprint(p, e, "geometry %llud %ud\n", d->sectors, u->secsize); return p - op; } --- /sys/src/nix/k10/sdvanir.c Wed Jun 11 20:56:39 2014 +++ /sys/src/nix/k10/sdvanir.c Wed Jun 11 20:56:42 2014 @@ -930,11 +930,6 @@ // print("cqwp\t%.8ux : n %ux : d%d; \n", f->cq[0], n, i); // print("%s: command %.8ux; slot %d; cq %d\n", // dnam(d), d->cmd->cflag, f->dqwp, f->cq[0]); - /* - * xinc doesn't return the previous value and i can't - * figure out how to do this without a lock - * s = _xinc(&c->dqwp); - */ ilock(d->ctlr); d->cmd->cflag = Active; s = f->dqwp++; @@ -2394,7 +2389,7 @@ if(d->state == Dready) p = sfisxrdctl(d, p, e); p = rctldebug(p, e, c, d); - p = seprint(p, e, "geometry %llud %lud\n", d->sectors, u->secsize); + p = seprint(p, e, "geometry %llud %ud\n", d->sectors, u->secsize); return p - op; } --- /sys/src/nix/k10/sdvirtio.c Wed Jun 11 20:56:44 2014 +++ /sys/src/nix/k10/sdvirtio.c Wed Jun 11 20:56:46 2014 @@ -447,7 +447,7 @@ q->rock[head] = &rock; -// coherence(); + coherence(); q->availent[q->avail->idx++ & (q->size-1)] = head; coherence(); outs(vd->port+Qnotify, q->idx); --- /sys/src/nix/port/sd.h Wed Jun 11 20:56:47 2014 +++ /sys/src/nix/port/sd.h Wed Jun 11 20:56:48 2014 @@ -43,14 +43,14 @@ QLock ctl; uvlong sectors; - ulong secsize; + uint secsize; SDpart* part; /* nil or array of size npart */ int npart; ulong vers; SDperm ctlperm; QLock raw; /* raw read or write in progress */ - ulong rawinuse; /* really just a test-and-set */ + int rawinuse; /* really just a test-and-set */ int state; SDreq* req; SDperm rawperm; @@ -165,12 +165,12 @@ * hardware info about a device */ struct Devport { - ulong port; + uintptr port; int size; }; struct DevConf { - ulong intnum; /* interrupt number */ + int intnum; /* interrupt number */ char *type; /* card type, malloced */ int nports; /* Number of ports */ Devport *ports; /* The ports themselves */ --- /sys/src/nix/port/sdscsi.c Wed Jun 11 20:56:50 2014 +++ /sys/src/nix/port/sdscsi.c Wed Jun 11 20:56:51 2014 @@ -206,7 +206,7 @@ } static uvlong -capreply(SDreq *r, ulong *secsize) +capreply(SDreq *r, uint *secsize) { uchar *u; ulong ss;