[PATCH] Add a configuration option to avoid automatically probing VGA

Jordan Crouse jordan.crouse at amd.unroutablecom
Wed Nov 29 11:14:53 EST 2006


Commit:     3207a3d778e68c1f9de1c546221ad6345fe7a6c2
Parent:     f4f038f60ce939186f5347a8c02f06be4ec71c6b
commit 3207a3d778e68c1f9de1c546221ad6345fe7a6c2
Author:     Jordan Crouse <jordan.crouse at amd.com>
AuthorDate: Thu Jun 8 09:25:53 2006 -0600
Commit:     David Woodhouse <dwmw2 at infradead.org>
CommitDate: Mon Jun 19 16:23:03 2006 +0100

    [PATCH] Add a configuration option to avoid automatically probing VGA
    
    Some x86 implementations don't have a built in VGA / VESA BIOS.  This
    configuration option (enabled when EMBEDDED is selected), allows us to
    avoid probing the VGA hardware during boot.  This option also disables
    the VGA console option, which depends heavily on the VGA / VESA probing.
    
    Signed-off-by: Jordan Crouse <jordan.crouse at amd.com>
---
 arch/i386/Kconfig             |    9 +++++++++
 arch/i386/boot/setup.S        |    5 +++++
 drivers/video/Kconfig         |    6 +++---
 drivers/video/console/Kconfig |    4 ++--
 4 files changed, 19 insertions(+), 5 deletions(-)

diff --git a/arch/i386/Kconfig b/arch/i386/Kconfig
index 8dfa305..b6abc74 100644
--- a/arch/i386/Kconfig
+++ b/arch/i386/Kconfig
@@ -708,6 +708,15 @@ config SECCOMP
 
 	  If unsure, say Y. Only embedded should say N here.
 
+config VGA_NOPROBE
+       bool "Don't probe VGA at boot" if EMBEDDED
+       default n
+       help
+         Saying Y here will cause the kernel to not probe VGA at boot time.
+         This will break everything that depends on the probed screen
+         data.  Say N here unless you are absolutely sure this is what you
+         want.
+
 source kernel/Kconfig.hz
 
 config KEXEC
diff --git a/arch/i386/boot/setup.S b/arch/i386/boot/setup.S
index ca668d9..9c06c84 100644
--- a/arch/i386/boot/setup.S
+++ b/arch/i386/boot/setup.S
@@ -395,10 +395,13 @@ # Set the keyboard repeat rate to the ma
 	xorw	%bx, %bx
 	int	$0x16
 
+#ifndef CONFIG_VGA_NOPROBE
+
 # Check for video adapter and its parameters and allow the
 # user to browse video modes.
 	call	video				# NOTE: we need %ds pointing
 						# to bootsector
+#endif
 
 # Get hd0 data...
 	xorw	%ax, %ax
@@ -1007,9 +1010,11 @@ gdt_48:
 	.word	gdt_end - gdt - 1		# gdt limit
 	.word	0, 0				# gdt base (filled in later)
 
+#ifndef CONFIG_VGA_NOPROBE
 # Include video setup & detection code
 
 #include "video.S"
+#endif
 
 # Setup signature -- must be last
 setup_sig1:	.word	SIG1
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
index 4587087..e65a492 100644
--- a/drivers/video/Kconfig
+++ b/drivers/video/Kconfig
@@ -473,7 +473,7 @@ config FB_TGA
 
 config FB_VESA
 	bool "VESA VGA graphics support"
-	depends on (FB = y) && X86
+	depends on (FB = y) && X86 && !VGA_NOPROBE
 	select FB_CFB_FILLRECT
 	select FB_CFB_COPYAREA
 	select FB_CFB_IMAGEBLIT
@@ -743,7 +743,7 @@ config FB_I810_I2C
 
 config FB_INTEL
 	tristate "Intel 830M/845G/852GM/855GM/865G support (EXPERIMENTAL)"
-	depends on FB && EXPERIMENTAL && PCI && X86_32
+	depends on FB && EXPERIMENTAL && PCI && X86_32 && !VGA_NOPROBE
 	select AGP
 	select AGP_INTEL
 	select FB_MODE_HELPERS
@@ -1050,7 +1050,7 @@ config FB_SAVAGE_ACCEL
 
 config FB_SIS
 	tristate "SiS/XGI display support"
-	depends on FB && PCI
+	depends on FB && PCI && !VGA_NOPROBE
 	select FB_CFB_FILLRECT
 	select FB_CFB_COPYAREA
 	select FB_CFB_IMAGEBLIT
diff --git a/drivers/video/console/Kconfig b/drivers/video/console/Kconfig
index 4444bef..0be8e3b 100644
--- a/drivers/video/console/Kconfig
+++ b/drivers/video/console/Kconfig
@@ -5,8 +5,8 @@ #
 menu "Console display driver support"
 
 config VGA_CONSOLE
-	bool "VGA text console" if EMBEDDED || !X86
-	depends on !ARCH_ACORN && !ARCH_EBSA110 && !4xx && !8xx && !SPARC && !M68K && !PARISC && !FRV && !ARCH_VERSATILE
+	bool "VGA text console" if (EMBEDDED || !X86)
+	depends on !ARCH_ACORN && !ARCH_EBSA110 && !4xx && !8xx && !SPARC && !M68K && !PARISC && !FRV && !ARCH_VERSATILE && !VGA_NOPROBE
 	default y
 	help
 	  Saying Y here will allow you to use Linux in text mode through a


More information about the Commits-kernel mailing list