diff --git a/sys/src/cmd/aux/vga/3dfx.c b/sys/src/cmd/aux/vga/3dfx.c index d1a4b59f8..997849497 100644 --- a/sys/src/cmd/aux/vga/3dfx.c +++ b/sys/src/cmd/aux/vga/3dfx.c @@ -81,7 +81,8 @@ snarf(Vga* vga, Ctlr* ctlr) vga->n[1] = 256; vga->p[1] = 4; - if((v = (tdfx->pci->mem[2].bar & ~0x3)) == 0) + v = tdfx->pci->mem[2].bar & ~0x3; + if(v == 0) error("%s: I/O not mapped\n", ctlr->name); tdfx->io = v; diff --git a/sys/src/cmd/aux/vga/i81x.c b/sys/src/cmd/aux/vga/i81x.c index dc0001c0f..243512e2e 100644 --- a/sys/src/cmd/aux/vga/i81x.c +++ b/sys/src/cmd/aux/vga/i81x.c @@ -403,10 +403,10 @@ dump(Vga* vga, Ctlr* ctlr) p = i81x->pci; printitem(name, "mem[0]"); - Bprint(&stdout, "base %lux size %d\n", p->mem[0].bar & ~0x0F, p->mem[0].size); + Bprint(&stdout, "base %llux size %d\n", p->mem[0].bar & ~0x0F, p->mem[0].size); printitem(name, "mem[1]"); - Bprint(&stdout, "base %lux size %d\n", p->mem[1].bar & ~0x0F, p->mem[1].size); + Bprint(&stdout, "base %llux size %d\n", p->mem[1].bar & ~0x0F, p->mem[1].size); } diff --git a/sys/src/cmd/aux/vga/mach64xx.c b/sys/src/cmd/aux/vga/mach64xx.c index b2c549eac..a0e56fc98 100644 --- a/sys/src/cmd/aux/vga/mach64xx.c +++ b/sys/src/cmd/aux/vga/mach64xx.c @@ -379,7 +379,8 @@ snarf(Vga* vga, Ctlr* ctlr) mp->iow32 = portiow32; mp->pci = pcimatch(0, 0x1002, 0); if (mp->pci) { - if(v = mp->pci->mem[1].bar & ~0x3) { + v = mp->pci->mem[1].bar & ~0x3; + if(v != 0) { mp->io = v; mp->ior32 = pciior32; mp->iow32 = pciiow32; diff --git a/sys/src/cmd/aux/vga/main.c b/sys/src/cmd/aux/vga/main.c index a3915d2ae..8d044c906 100644 --- a/sys/src/cmd/aux/vga/main.c +++ b/sys/src/cmd/aux/vga/main.c @@ -131,12 +131,12 @@ linear(Vga* vga) * new: addr p 0x12345678 v 0x82345678 size 0x123 */ if(buf[0]=='p' && buf[1]==' '){ - vga->vmb = strtoul(buf+2, 0, 0); + vga->vmb = strtoull(buf+2, 0, 0); p = strstr(buf, "size"); if(p) vga->apz = strtoul(p+4, 0, 0); }else - vga->vmb = strtoul(buf, 0, 0); + vga->vmb = strtoull(buf, 0, 0); } else vgactlw("linear", "0"); diff --git a/sys/src/cmd/aux/vga/pci.c b/sys/src/cmd/aux/vga/pci.c index ad1227101..2b4c57e0c 100644 --- a/sys/src/cmd/aux/vga/pci.c +++ b/sys/src/cmd/aux/vga/pci.c @@ -70,9 +70,9 @@ pcicfginit(void) j = strtol(s+1, &s, 10); if(j < 0 || j >= nelem(p->mem)) break; - p->mem[j].bar = strtoul(s+1, &s, 16); + p->mem[j].bar = strtoull(s+1, &s, 16); p->mem[j].size = strtoul(s+1, &s, 10); - trace("\tmem[%d] = %lux %d\n", j, p->mem[j].bar, p->mem[j].size); + trace("\tmem[%d] = %llux %d\n", j, p->mem[j].bar, p->mem[j].size); } if(pcilist != nil) diff --git a/sys/src/cmd/aux/vga/pci.h b/sys/src/cmd/aux/vga/pci.h index a245b0f96..f0f886aed 100644 --- a/sys/src/cmd/aux/vga/pci.h +++ b/sys/src/cmd/aux/vga/pci.h @@ -92,7 +92,7 @@ typedef struct Pcidev { uchar rid; /* revision ID */ struct { - ulong bar; /* base address */ + uvlong bar; /* base address */ int size; } mem[6]; diff --git a/sys/src/cmd/aux/vga/vga.c b/sys/src/cmd/aux/vga/vga.c index 7269a07b3..c208b81a4 100644 --- a/sys/src/cmd/aux/vga/vga.c +++ b/sys/src/cmd/aux/vga/vga.c @@ -459,7 +459,7 @@ dump(Vga* vga, Ctlr* ctlr) if(vga->vma || vga->vmb){ printitem(ctlr->name, "vm a b"); - Bprint(&stdout, "%9lud %8lud\n", vga->vma, vga->vmb); + Bprint(&stdout, "%9lud %8llud\n", vga->vma, vga->vmb); } if(vga->vmz){ printitem(ctlr->name, "vmz"); diff --git a/sys/src/cmd/aux/vga/vga.h b/sys/src/cmd/aux/vga/vga.h index 62955004b..daea27467 100644 --- a/sys/src/cmd/aux/vga/vga.h +++ b/sys/src/cmd/aux/vga/vga.h @@ -197,7 +197,7 @@ typedef struct Vga { ulong r[2]; ulong vma; /* video memory linear-address alignment */ - ulong vmb; /* video memory linear-address base */ + uvlong vmb; /* video memory linear-address base */ ulong apz; /* aperture size */ ulong vmz; /* video memory size */