summaryrefslogtreecommitdiff
path: root/debian/patches/20_slow-boot.patch
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2012-12-27 22:00:32 +0000
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2012-12-27 22:00:32 +0000
commitff31ea5cf19afe78c168db13352c4a60917ee6e8 (patch)
tree0085945dda621942b65219afa0514744293a5f6c /debian/patches/20_slow-boot.patch
parent65472a0abebb6caeb7f8c9744d8a995c433a078a (diff)
Cherry-pick from upstream to fix slow boot in virtualbox
Diffstat (limited to 'debian/patches/20_slow-boot.patch')
-rw-r--r--debian/patches/20_slow-boot.patch82
1 files changed, 82 insertions, 0 deletions
diff --git a/debian/patches/20_slow-boot.patch b/debian/patches/20_slow-boot.patch
new file mode 100644
index 0000000..ff00299
--- /dev/null
+++ b/debian/patches/20_slow-boot.patch
@@ -0,0 +1,82 @@
+commit 14a29498dfee39e72443ff0e6f463be7f3bfd4ec
+Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
+Date: Thu Dec 27 21:48:42 2012 +0100
+
+ 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.
+
+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)
+ {