Print this page
XXX nobios

@@ -35,10 +35,11 @@
 #include <sys/ddi.h>
 #include <sys/sunddi.h>
 #include <sys/sunndi.h>
 #include <sys/biosdisk.h>
 #include <sys/psw.h>
+#include <sys/machsystm.h>
 #if defined(__xpv)
 #include <sys/hypervisor.h>
 #endif
 
 extern int prom_debug;

@@ -80,12 +81,17 @@
         int got_first_block = 0;
         uchar_t name[20];
         dev_info_t      *devi;
         int extensions;
 
-        if (dobiosdev == 0)
+        if (dobiosdev == 0 || !bios_calls_available) {
+                /*
+                 * If BIOS calls have been disabled, or are not supported on
+                 * this system, we cannot probe for the startup disk.
+                 */
                 return;
+        }
 
         for (drivenum = 0x80; drivenum < (0x80 + BIOSDEV_NUM); drivenum++) {
 
                 if (!drive_present(drivenum))
                         continue;