shithub: riscv

Download patch

ref: 13963cd5e032bf85f0d2f9a562b263374a7cc850
parent: 8003f4f00f0645426a0694b0e5e915d26b7c7153
author: cinap_lenrek <[email protected]>
date: Sat Jun 6 12:16:48 EDT 2020

sd53c8xx: use 64-bit physical addresses

--- a/sys/src/9/pc/sd53c8xx.c
+++ b/sys/src/9/pc/sd53c8xx.c
@@ -2063,7 +2063,8 @@
 	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 @@
 				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 @@
 			}
 			scriptpa &= ~0x0F;
 			scriptva = vmap(scriptpa, p->mem[ba].size);
-			if(scriptva)
+			if(scriptva != nil)
 				script = scriptva;
 		}
 		if(scriptpa == 0){