]> git.lizzy.rs Git - plan9front.git/blobdiff - sys/src/9/pc/sd53c8xx.c
archacpi: make *acpi=1 the default
[plan9front.git] / sys / src / 9 / pc / sd53c8xx.c
index ad1f3427ca9013d35d544a7298ec14f48d4880c6..234be07580feab81cfc7d5bc49b86f71dcd4c1da 100644 (file)
@@ -23,6 +23,7 @@
 #include "dat.h"
 #include "fns.h"
 #include "io.h"
+#include "../port/pci.h"
 
 #include "../port/sd.h"
 extern SDifc sd53c8xxifc;
@@ -2063,7 +2064,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 +2094,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 +2115,7 @@ sd53c8xxpnp(void)
                        }
                        scriptpa &= ~0x0F;
                        scriptva = vmap(scriptpa, p->mem[ba].size);
-                       if(scriptva)
+                       if(scriptva != nil)
                                script = scriptva;
                }
                if(scriptpa == 0){