summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2012-12-27 21:48:42 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2012-12-27 21:48:42 +0100
commit14a29498dfee39e72443ff0e6f463be7f3bfd4ec (patch)
tree76df6575dd99d09ef2c98fa6c9196fd6f3312d12
parent81f8c8607d6ffcfdfb47cfa3b1cd2b55a4577218 (diff)
Fix slow boot in virtualbox
By disabling some of the most slow drivers by default, and giving progress feedback to the user. * linux/configfrag.ac (CONFIG_SCSI_NCR53C7xx, CONFIG_SCSI_AIC7XXX, CONFIG_SCSI_GDTH): Disable by default * linux/src/drivers/scsi/eata.c (__initfunc): Don't feed line in probe message. * linux/src/drivers/scsi/hosts.c (scsi_init): Print SCSI probe progress.
-rw-r--r--linux/configfrag.ac9
-rw-r--r--linux/src/drivers/scsi/eata.c2
-rw-r--r--linux/src/drivers/scsi/hosts.c2
3 files changed, 9 insertions, 4 deletions
diff --git a/linux/configfrag.ac b/linux/configfrag.ac
index f5af666..882af6b 100644
--- a/linux/configfrag.ac
+++ b/linux/configfrag.ac
@@ -157,7 +157,8 @@ AC_ARG_ENABLE([ide-forcedma],
dnl SCSI controllers.
AC_OPTION_Linux_group([scsi], [SCSI drivers])
-AC_Linux_DRIVER([53c78xx],
+# Disabled by default.
+AC_Linux_DRIVER_nodef([53c78xx],
[SCSI controller NCR 53C7,8xx],
[CONFIG_SCSI_NCR53C7xx],
[scsi])
@@ -196,7 +197,8 @@ AC_Linux_DRIVER([aha1740],
[SCSI controller Adaptec AHA-1740],
[CONFIG_SCSI_AHA1740],
[scsi])
-AC_Linux_DRIVER([aic7xxx],
+# Disabled by default.
+AC_Linux_DRIVER_nodef([aic7xxx],
[SCSI controller Adaptec AIC7xxx],
[CONFIG_SCSI_AIC7XXX],
[scsi])
@@ -227,7 +229,8 @@ AC_Linux_DRIVER_nodef([g_NCR5380],
[SCSI controller Generic NCR5380/53c400 (ncr5380, ncr53c400)],
[CONFIG_SCSI_GENERIC_NCR5380],
[scsi])
-AC_Linux_DRIVER([gdth],
+# Disabled by default.
+AC_Linux_DRIVER_nodef([gdth],
[GDT SCSI Disk Array Controller],
[CONFIG_SCSI_GDTH],
[scsi])
diff --git a/linux/src/drivers/scsi/eata.c b/linux/src/drivers/scsi/eata.c
index ce859ce..49f0827 100644
--- a/linux/src/drivers/scsi/eata.c
+++ b/linux/src/drivers/scsi/eata.c
@@ -881,7 +881,7 @@ __initfunc (static inline int port_detect \
sprintf(name, "%s%d", driver_name, j);
- printk("probing eata on %lx\n", port_base);
+ printk("\rprobing eata on %lx", port_base);
if(check_region(port_base, REGION_SIZE)) {
printk("%s: address 0x%03lx in use, skipping probe.\n", name, port_base);
diff --git a/linux/src/drivers/scsi/hosts.c b/linux/src/drivers/scsi/hosts.c
index 010e1ce..0f1bedd 100644
--- a/linux/src/drivers/scsi/hosts.c
+++ b/linux/src/drivers/scsi/hosts.c
@@ -472,6 +472,7 @@ unsigned int scsi_init()
* Initialize our semaphores. -1 is interpreted to mean
* "inactive" - where as 0 will indicate a time out condition.
*/
+ printk("\rprobing scsi %d/%d: %s \e[K", tpnt-builtin_scsi_hosts, MAX_SCSI_HOSTS, tpnt->name);
pcount = next_scsi_host;
if ((tpnt->detect) &&
@@ -496,6 +497,7 @@ unsigned int scsi_init()
#endif
}
}
+ printk("\ndone\n");
for(shpnt=scsi_hostlist; shpnt; shpnt = shpnt->next)
{