kernel/i386: In the RAM driver, don't include regions above 4GB.
authorSascha Wildner <saw@online.de>
Sun, 7 Sep 2014 21:46:49 +0000 (23:46 +0200)
committerSascha Wildner <saw@online.de>
Sun, 7 Sep 2014 21:46:49 +0000 (23:46 +0200)
Taken-from: FreeBSD

sys/platform/pc32/i386/nexus.c

index 9ede43d..1416bcb 100644 (file)
@@ -678,6 +678,12 @@ ram_attach(device_t dev)
                        if (smap->type != SMAP_TYPE_MEMORY ||
                            smap->length == 0)
                                continue;
+                       /*
+                        * Resources use long's to track resources, so
+                        * we can't include memory regions above 4GB.
+                        */
+                       if (smap->base > ~0ul)
+                               continue;
                        error = bus_set_resource(dev, SYS_RES_MEMORY, rid,
                            smap->base, smap->length, -1);
                        if (error)