summaryrefslogtreecommitdiff
path: root/sys/src/9/pc/sd53c8xx.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2020-06-06 16:16:48 +0200
committercinap_lenrek <cinap_lenrek@felloff.net>2020-06-06 16:16:48 +0200
commit13963cd5e032bf85f0d2f9a562b263374a7cc850 (patch)
treeca2ae32132e42dfc25385d50226883cce7988c2d /sys/src/9/pc/sd53c8xx.c
parent8003f4f00f0645426a0694b0e5e915d26b7c7153 (diff)
sd53c8xx: use 64-bit physical addresses
Diffstat (limited to 'sys/src/9/pc/sd53c8xx.c')
-rw-r--r--sys/src/9/pc/sd53c8xx.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/sys/src/9/pc/sd53c8xx.c b/sys/src/9/pc/sd53c8xx.c
index ad1f3427c..f16644fff 100644
--- a/sys/src/9/pc/sd53c8xx.c
+++ b/sys/src/9/pc/sd53c8xx.c
@@ -2063,7 +2063,8 @@ sd53c8xxpnp(void)
void *scriptma;
Controller *ctlr;
SDev *sdev, *head, *tail;
- ulong regpa, *script, scriptpa;
+ uvlong regpa, scriptpa;
+ ulong *script;
void *regva, *scriptva;
if(cp = getconf("*maxsd53c8xx"))
@@ -2092,12 +2093,14 @@ sd53c8xxpnp(void)
continue;
ba++;
}
+ regpa &= ~0xF;
if(regpa == 0)
print("regpa 0\n");
- regpa &= ~0xF;
regva = vmap(regpa, p->mem[1].size);
- if(regva == 0)
+ if(regva == nil){
+ print("sd53c8xx: can't map %llux\n", regpa);
continue;
+ }
script = nil;
scriptpa = 0;
@@ -2111,7 +2114,7 @@ sd53c8xxpnp(void)
}
scriptpa &= ~0x0F;
scriptva = vmap(scriptpa, p->mem[ba].size);
- if(scriptva)
+ if(scriptva != nil)
script = scriptva;
}
if(scriptpa == 0){