NIX mode.
[akaros.git] / kern / arch / x86 / mp.c
index 6961c29..32dbbcc 100644 (file)
@@ -233,12 +233,12 @@ static int mpparse(PCMP * pcmp, int maxcores)
                        case 1: /* bus */
                                printd("mpparse: bus: %d type %6.6s\n", p[1], (char *)p + 2);
                                if (p[1] >= Nbus) {
-                                       printd("mpparse: bus %d out of range\n", p[1]);
+                                       printk("mpparse: bus %d out of range\n", p[1]);
                                        p += 8;
                                        break;
                                }
                                if (mpbus[p[1]] != NULL) {
-                                       printd("mpparse: bus %d already allocated\n", p[1]);
+                                       printk("mpparse: bus %d already allocated\n", p[1]);
                                        p += 8;
                                        break;
                                }
@@ -247,7 +247,7 @@ static int mpparse(PCMP * pcmp, int maxcores)
                                                continue;
                                        if (memcmp(p + 2, "ISA   ", 6) == 0) {
                                                if (mpisabusno != -1) {
-                                                       printd("mpparse: bus %d already have ISA bus %d\n",
+                                                       printk("mpparse: bus %d already have ISA bus %d\n",
                                                                   p[1], mpisabusno);
                                                        continue;
                                                }
@@ -257,8 +257,8 @@ static int mpparse(PCMP * pcmp, int maxcores)
                                        break;
                                }
                                if (mpbus[p[1]] == NULL)
-                                       printd("mpparse: bus %d type %6.6s unknown\n",
-                                                  p[1], (char *unused_char_p_t)p + 2);
+                                       printk("mpparse: bus %d type %6.6s unknown\n",
+                                                  p[1], (char *)p + 2);
 
                                p += 8;
                                break;
@@ -287,11 +287,13 @@ static int mpparse(PCMP * pcmp, int maxcores)
                                        break;
                                }
                                if ((lo = mpmkintr(p)) == 0) {
+                                       if (MP_VERBOSE_DEBUG)
+                                               mpintrprint("iointr skipped", p);
                                        p += 8;
                                        break;
                                }
                                if (MP_VERBOSE_DEBUG)
-                                       mpintrprint(NULL, p);
+                                       mpintrprint("iointr", p);
 
                                /*
                                 * Always present the device number in the style
@@ -435,20 +437,15 @@ int mpsinit(int maxcores)
                return ncleft;
        if (sigchecksum(mp, mp->length * 16) != 0)
                return ncleft;
-#define vmap(x,y) ((void*)(x + KERNBASE))
-#define vunmap(x,y)
-
-       if ((pcmp = vmap(l32get(mp->addr), sizeof(PCMP))) == NULL)
+       if ((pcmp = KADDR_NOCHECK(l32get(mp->addr))) == NULL)
                return ncleft;
        if (pcmp->revision != 1 && pcmp->revision != 4) {
                return ncleft;
        }
        n = l16get(pcmp->length) + l16get(pcmp->xlength);
-       vunmap(pcmp, sizeof(PCMP));
-       if ((pcmp = vmap(l32get(mp->addr), n)) == NULL)
+       if ((pcmp = KADDR_NOCHECK(l32get(mp->addr))) == NULL)
                return ncleft;
        if (sigchecksum(pcmp, l16get(pcmp->length)) != 0) {
-               vunmap(pcmp, n);
                return ncleft;
        }
        if (MP_VERBOSE_DEBUG) {
@@ -468,7 +465,6 @@ int mpsinit(int maxcores)
                i = sigchecksum(p, l16get(pcmp->xlength));
                if (((i + pcmp->xchecksum) & 0xff) != 0) {
                        printd("extended table checksums to %p\n", i);
-                       vunmap(pcmp, n);
                        return ncleft;
                }
        }