Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
authorMichael Neumann <mneumann@ntecs.de>
Fri, 27 Nov 2009 11:16:50 +0000 (12:16 +0100)
committerMichael Neumann <mneumann@ntecs.de>
Fri, 27 Nov 2009 11:16:50 +0000 (12:16 +0100)
sys/boot/common/loader.8
sys/boot/pc32/libi386/biosdisk.c
sys/platform/pc32/isa/npx.c
test/test/WRITEME

index 0e9bc51..1a592c9 100644 (file)
@@ -246,7 +246,9 @@ If
 is specified, file sizes will be shown too.
 .Pp
 .It Ic lsdev Op Fl v
-Lists all of the devices from which it may be possible to load modules.
+Lists all devices with known file systems, where a
+'*' prefix indicates a device from which it may be
+possible to load modules.
 If
 .Fl v
 is specified, more details are printed.
index 332bf2d..8e47f3f 100644 (file)
@@ -391,7 +391,10 @@ print_partition(u_int8_t fstype, unsigned long long offset,
 
                /* Only print out statistics in verbose mode */
                if (verbose) {
-                       sprintf(line, "  %s%c: %s  %.6lluMB (%llu - %llu)\n",
+                       sprintf(line, "%c %s%c: %s  %.6lluMB (%llu - %llu)\n",
+                           /* prefix disks that can be used to load modules with '*' */
+                           ((fstype == FS_BSDFFS) || (fstype == FS_UNUSED) ||
+                           (fstype == FS_VINUM)) ? '*' : ' ',
                            prefix, 'a' + i,
                            (fstype == FS_SWAP) ? "swap" :
                            (fstype == FS_VINUM) ? "vinum" :
@@ -404,7 +407,11 @@ print_partition(u_int8_t fstype, unsigned long long offset,
                            offset,
                            offset + size);
                } else {
-                       sprintf(line, "  %s%c: %s\n", prefix, 'a' + i,
+                       sprintf(line, "%c %s%c: %s\n",
+                           /* prefix disks that can be used to load modules with '*' */
+                           ((fstype == FS_BSDFFS) || (fstype == FS_UNUSED) ||
+                           (fstype == FS_VINUM)) ? '*' : ' ',
+                           prefix, 'a' + i,
                            (fstype == FS_SWAP) ? "swap" :
                            (fstype == FS_VINUM) ? "vinum" :
                            (fstype == FS_HAMMER) ? "HAMMER" :
index 6f99b4f..858f7c4 100644 (file)
@@ -310,18 +310,19 @@ npx_probe1(device_t dev)
         */
        fninit();
 
-#ifdef SMP
+       device_set_desc(dev, "math processor");
        /*
-        * Exception 16 MUST work for SMP.
+        * Modern CPUs all have an FPU that uses the INT16 interface
+        * and provide a simple way to verify that, so handle the
+        * common case right away.
         */
-       npx_irq13 = 0;
-       npx_ex16 = hw_float = npx_exists = 1;
-       device_set_desc(dev, "math processor");
-       return (0);
-
-#else /* !SMP */
-       device_set_desc(dev, "math processor");
+       if (cpu_feature & CPUID_FPU) {
+               npx_irq13 = 0;
+               npx_ex16 = hw_float = npx_exists = 1;
+               return (0);
+       }
 
+#ifndef SMP
        /*
         * Don't use fwait here because it might hang.
         * Don't use fnop here because it usually hangs if there is no FPU.
index 3d9004d..30437c0 100644 (file)
@@ -10,3 +10,5 @@ $DragonFly: src/test/test/WRITEME,v 1.1 2007/12/11 14:59:44 wa1ter Exp $
 Meh... does this really work?
 
 Konbanwa!
+
+Run Forrest, run