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;