All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Rene Herman <rene.herman@keyaccess.nl>
Cc: "Linus Torvalds" <torvalds@linux-foundation.org>,
	"Suresh Siddha" <suresh.b.siddha@intel.com>,
	"Wim Van Sebroeck" <wim@iguana.be>,
	"Pádraig Brady" <P@draigBrady.com>,
	"Andi Kleen" <andi@firstfloor.org>,
	"H. Peter Anvin" <hpa@zytor.com>,
	"tglx@linutronix.de" <tglx@linutronix.de>,
	"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
	"arjan@linux.intel.com" <arjan@linux.intel.com>,
	"roland@redhat.com" <roland@redhat.com>,
	"drepper@redhat.com" <drepper@redhat.com>,
	"mikpe@it.uu.se" <mikpe@it.uu.se>,
	"chrisw@sous-sol.org" <chrisw@sous-sol.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [patch 0/9] x86, xsave: xsave/xrstor support
Date: Fri, 1 Aug 2008 11:51:05 +0200	[thread overview]
Message-ID: <20080801095105.GA18055@elte.hu> (raw)
In-Reply-To: <48926FC3.3000706@keyaccess.nl>


* Rene Herman <rene.herman@keyaccess.nl> wrote:

> On 01-08-08 00:50, Ingo Molnar wrote:
>
>> there are a handful of old ISA-ish drivers that can crash randconfig  
>> kernels in various ways. [indefinite lockups, crashes, stomped-over  
>> hardware, non-working keyboard, etc.]
>>
>> I mapped most of them out via many months of trial-and-error - but it  
>> would still be nice to have some separate config option to disable the  
>> known ones. CONFIG_ALLOW_NON_GENERIC or something like that - which i  
>> would unset in the randconfig runs.
>>
>> ( They are not CONFIG_BROKEN per se, because often it's hardware that
>>   cannot be probed in any reliable way - the driver just assumes it's   
>> there. )
>
> If you have a list, I might be able to do something about some of 
> them.

find attached below a newer version of the original list i published 
half a year ago:

   http://people.redhat.com/mingo/auto-qa-patches/Kconfig-qa.patch

these are just pragmatic local hacks to get things going. (There are 
more per machine quirks as well.)

i have not used a BROKEN annotation because CONFIG_BROKEN is 
impractical: it just kills code altogether, indiscriminately. There's no 
way for users to enable CONFIG_BROKEN in the upstream kernel - nothing 
selects it and it's not an interactive option either.

So by all means if we mark a driver or a kernel feature as 
CONFIG_BROKEN, it's killed altogether for all practical purposes.

What we'd need is some more gradual approach: for example a way to mark 
"drivers that are not expected to boot on a whitebox PC", without 
removing them altogether via a CONFIG_BROKEN dependency - often it's 
hardware that cannot be probed safely.

	Ingo

------------------>
Index: linux/security/smack/Kconfig
===================================================================
--- linux.orig/security/smack/Kconfig
+++ linux/security/smack/Kconfig
@@ -1,6 +1,9 @@
 config SECURITY_SMACK
 	bool "Simplified Mandatory Access Control Kernel Support"
 	depends on NETLABEL && SECURITY_NETWORK
+	# breaks networking (TCP connections)
+	depends on BROKEN_BOOT_ALLOWED
+	select BROKEN_BOOT
 	default n
 	help
 	  This selects the Simplified Mandatory Access Control Kernel.
Index: linux/drivers/block/Kconfig
===================================================================
--- linux.orig/drivers/block/Kconfig
+++ linux/drivers/block/Kconfig
@@ -71,6 +71,11 @@ config BLK_DEV_XD
 config PARIDE
 	tristate "Parallel port IDE device support"
 	depends on PARPORT_PC
+
+	# the probe can hang during bootup on non-PARIDE boxes
+	depends on BROKEN_BOOT_ALLOWED
+	select BROKEN_BOOT if PARIDE = y
+
 	---help---
 	  There are many external CD-ROM and disk devices that connect through
 	  your computer's parallel port. Most of them are actually IDE devices
Index: linux/drivers/i2c/busses/Kconfig
===================================================================
--- linux.orig/drivers/i2c/busses/Kconfig
+++ linux/drivers/i2c/busses/Kconfig
@@ -610,6 +610,11 @@ config I2C_ELEKTOR
 config I2C_PCA_ISA
 	tristate "PCA9564 on an ISA bus"
 	depends on ISA
+
+	# takes away IRQ10 on venus and thus breaks e1000
+	depends on BROKEN_BOOT_ALLOWED
+	select BROKEN_BOOT
+
 	select I2C_ALGOPCA
 	default n
 	help
Index: linux/drivers/ide/Kconfig
===================================================================
--- linux.orig/drivers/ide/Kconfig
+++ linux/drivers/ide/Kconfig
@@ -9,6 +9,11 @@ config HAVE_IDE
 menuconfig IDE
 	tristate "ATA/ATAPI/MFM/RLL support"
 	depends on HAVE_IDE
+
+	# my test box expects /dev/sda, not /dev/hda
+	depends on BROKEN_BOOT_ALLOWED
+	select BROKEN_BOOT if IDE = y
+
 	depends on BLOCK
 	---help---
 	  If you say Y here, your kernel will be able to manage low cost mass
Index: linux/drivers/isdn/icn/Kconfig
===================================================================
--- linux.orig/drivers/isdn/icn/Kconfig
+++ linux/drivers/isdn/icn/Kconfig
@@ -4,6 +4,11 @@
 config ISDN_DRV_ICN
 	tristate "ICN 2B and 4B support"
 	depends on ISA
+
+	# crashed on venus, see config-Sun_May_25_11_00_41_CEST_2008.bad
+	depends on BROKEN_BOOT_ALLOWED
+	select BROKEN_BOOT
+
 	help
 	  This enables support for two kinds of ISDN-cards made by a German
 	  company called ICN.  2B is the standard version for a single ISDN
Index: linux/drivers/media/video/Kconfig
===================================================================
--- linux.orig/drivers/media/video/Kconfig
+++ linux/drivers/media/video/Kconfig
@@ -481,6 +481,9 @@ config VIDEO_SAA6588
 config VIDEO_PMS
 	tristate "Mediavision Pro Movie Studio Video For Linux"
 	depends on ISA && VIDEO_V4L1
+	# hung on bootup on mars, see config-Wed_Jun__4_14_33_56_CEST_2008.bad
+	depends on BROKEN_BOOT_ALLOWED
+	select BROKEN_BOOT
 	help
 	  Say Y if you have such a thing.
 
Index: linux/drivers/mtd/Kconfig
===================================================================
--- linux.orig/drivers/mtd/Kconfig
+++ linux/drivers/mtd/Kconfig
@@ -1,6 +1,11 @@
 menuconfig MTD
 	tristate "Memory Technology Device (MTD) support"
 	depends on HAS_IOMEM
+
+	# dangerous to enable - sometimes hangs on probe
+	depends on BROKEN_BOOT_ALLOWED
+	select BROKEN_BOOT if MTD = y
+
 	help
 	  Memory Technology Devices are flash, RAM and similar chips, often
 	  used for solid state file systems on embedded devices. This option
Index: linux/drivers/net/appletalk/Kconfig
===================================================================
--- linux.orig/drivers/net/appletalk/Kconfig
+++ linux/drivers/net/appletalk/Kconfig
@@ -52,6 +52,11 @@ config LTPC
 config COPS
 	tristate "COPS LocalTalk PC support"
 	depends on DEV_APPLETALK && (ISA || EISA)
+	#
+	# Can hang
+	#
+	depends on BROKEN_BOOT_ALLOWED
+	select BROKEN_BOOT if COPS = y
 	help
 	  This allows you to use COPS AppleTalk cards to connect to LocalTalk
 	  networks. You also need version 1.3.3 or later of the netatalk
Index: linux/drivers/scsi/Kconfig
===================================================================
--- linux.orig/drivers/scsi/Kconfig
+++ linux/drivers/scsi/Kconfig
@@ -1520,6 +1520,11 @@ config SCSI_NSP32
 config SCSI_DEBUG
 	tristate "SCSI debugging host simulator"
 	depends on SCSI
+
+	# this creates a fake /dev/sda which confuses the bzImage bootup
+	depends on BROKEN_BOOT_ALLOWED
+	select BROKEN_BOOT if SCSI_DEBUG = y
+
 	help
 	  This is a host adapter simulator that can simulate multiple hosts
 	  each with multiple dummy SCSI devices (disks). It defaults to one
Index: linux/drivers/video/Kconfig
===================================================================
--- linux.orig/drivers/video/Kconfig
+++ linux/drivers/video/Kconfig
@@ -236,6 +236,11 @@ comment "Frame buffer hardware drivers"
 
 config FB_CIRRUS
 	tristate "Cirrus Logic support"
+
+	# can hang on a box without this hardware
+	depends on BROKEN_BOOT_ALLOWED
+	select BROKEN_BOOT if FB_CIRRUS = y
+
 	depends on FB && (ZORRO || PCI)
 	select FB_CFB_FILLRECT
 	select FB_CFB_COPYAREA
@@ -546,6 +551,11 @@ config FB_CT65550
 
 config FB_ASILIANT
 	bool "Asiliant (Chips) 69000 display support"
+
+	# can hang on a box without this hardware
+	depends on BROKEN_BOOT_ALLOWED
+	select BROKEN_BOOT if FB_ASILIANT = y
+
 	depends on (FB = y) && PCI
 	select FB_CFB_FILLRECT
 	select FB_CFB_COPYAREA
@@ -564,6 +574,11 @@ config FB_IMSTT
 
 config FB_VGA16
 	tristate "VGA 16-color graphics support"
+
+	# can hang on a box without this hardware
+	depends on BROKEN_BOOT_ALLOWED
+	select BROKEN_BOOT if FB_VGA16 = y
+
 	depends on FB && (X86 || PPC)
 	select FB_CFB_FILLRECT
 	select FB_CFB_COPYAREA
@@ -674,6 +689,11 @@ config FB_UVESA
 
 config FB_VESA
 	bool "VESA VGA graphics support"
+
+	# can hang on a box without this hardware
+	depends on BROKEN_BOOT_ALLOWED
+	select BROKEN_BOOT if FB_VESA = y
+
 	depends on (FB = y) && X86
 	select FB_CFB_FILLRECT
 	select FB_CFB_COPYAREA
@@ -1299,6 +1319,11 @@ config FB_MATROX_MULTIHEAD
 
 config FB_RADEON
 	tristate "ATI Radeon display support"
+
+	# can hang on a box without this hardware
+	depends on BROKEN_BOOT_ALLOWED
+	select BROKEN_BOOT if FB_RADEON = y
+
 	depends on FB && PCI
 	select FB_BACKLIGHT if FB_RADEON_BACKLIGHT
 	select FB_MODE_HELPERS
@@ -1581,6 +1606,11 @@ config FB_VT8623
 
 config FB_CYBLA
 	tristate "Cyberblade/i1 support"
+
+	# can hang on a box without this hardware
+	depends on BROKEN_BOOT_ALLOWED
+	select BROKEN_BOOT if FB_CYBLA = y
+
 	depends on FB && PCI && X86_32 && !64BIT
 	select FB_CFB_IMAGEBLIT
 	select VIDEO_SELECT
@@ -2006,6 +2036,11 @@ config FB_SH7760
 
 config FB_VIRTUAL
 	tristate "Virtual Frame Buffer support (ONLY FOR TESTING!)"
+
+	# can hang on a box without this hardware
+	depends on BROKEN_BOOT_ALLOWED
+	select BROKEN_BOOT if FB_VIRTUAL = y
+
 	depends on FB
 	select FB_SYS_FILLRECT
 	select FB_SYS_COPYAREA
Index: linux/drivers/video/console/Kconfig
===================================================================
--- linux.orig/drivers/video/console/Kconfig
+++ linux/drivers/video/console/Kconfig
@@ -61,6 +61,11 @@ config VIDEO_SELECT
 
 config MDA_CONSOLE
 	depends on !M68K && !PARISC && ISA
+
+	# can hang on a box without this hardware
+	depends on BROKEN_BOOT_ALLOWED
+	select BROKEN_BOOT if MDA_CONSOLE = y
+
 	tristate "MDA text console (dual-headed) (EXPERIMENTAL)"
 	---help---
 	  Say Y here if you have an old MDA or monochrome Hercules graphics
@@ -113,6 +118,10 @@ config DUMMY_CONSOLE_ROWS
 
 config FRAMEBUFFER_CONSOLE
 	tristate "Framebuffer Console support"
+
+	depends on BROKEN_BOOT_ALLOWED
+	select BROKEN_BOOT if FRAMEBUFFER_CONSOLE = y
+
 	depends on FB
 	select CRC32
 	help
Index: linux/drivers/watchdog/Kconfig
===================================================================
--- linux.orig/drivers/watchdog/Kconfig
+++ linux/drivers/watchdog/Kconfig
@@ -324,6 +324,12 @@ config SC520_WDT
 config EUROTECH_WDT
 	tristate "Eurotech CPU-1220/1410 Watchdog Timer"
 	depends on X86
+
+	# this ISA driver puts itself on IRQ10 - if IRQ10 happens to
+	# trigger then that will cause a watchdog-initiated reboot
+	depends on BROKEN_BOOT_ALLOWED
+	select BROKEN_BOOT if EUROTECH_WDT = y
+
 	help
 	  Enable support for the watchdog timer on the Eurotech CPU-1220 and
 	  CPU-1410 cards.  These are PC/104 SBCs. Spec sheets and product
@@ -830,6 +836,11 @@ config MIXCOMWD
 config WDT
 	tristate "WDT Watchdog timer"
 	depends on ISA
+
+	# this ISA driver sits on IRQ11 by default - blocking forcedeth
+	depends on BROKEN_BOOT_ALLOWED
+	select BROKEN_BOOT if WDT = y
+
 	---help---
 	  If you have a WDT500P or WDT501P watchdog board, say Y here,
 	  otherwise N. It is not possible to probe for this board, which means
Index: linux/fs/Kconfig
===================================================================
--- linux.orig/fs/Kconfig
+++ linux/fs/Kconfig
@@ -1636,6 +1636,11 @@ config NFS_V4
 config ROOT_NFS
 	bool "Root file system on NFS"
 	depends on NFS_FS=y && IP_PNP
+
+	# hangs a non-root-NFS box during bootup
+	depends on BROKEN_BOOT_ALLOWED
+	select BROKEN_BOOT
+
 	help
 	  If you want your system to mount its root file system via NFS,
 	  choose Y here.  This is common practice for managing systems
Index: linux/security/Kconfig
===================================================================
--- linux.orig/security/Kconfig
+++ linux/security/Kconfig
@@ -85,6 +85,11 @@ config SECURITY_FILE_CAPABILITIES
 config SECURITY_ROOTPLUG
 	bool "Root Plug Support"
 	depends on USB=y && SECURITY
+
+	# fails with hard-to-debug "could not find init" boot failure
+	depends on BROKEN_BOOT_ALLOWED
+	select BROKEN_BOOT
+
 	help
 	  This is a sample LSM module that should only be used as such.
 	  It prevents any programs running with egid == 0 if a specific
Index: linux/security/selinux/Kconfig
===================================================================
--- linux.orig/security/selinux/Kconfig
+++ linux/security/selinux/Kconfig
@@ -100,6 +100,11 @@ config SECURITY_SELINUX_CHECKREQPROT_VAL
 config SECURITY_SELINUX_ENABLE_SECMARK_DEFAULT
 	bool "NSA SELinux enable new secmark network controls by default"
 	depends on SECURITY_SELINUX
+
+	# old system booted up with this cannot ssh out
+	depends on BROKEN_BOOT_ALLOWED
+	select BROKEN_BOOT
+
 	default n
 	help
 	  This option determines whether the new secmark-based network

  reply	other threads:[~2008-08-01  9:52 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-29 17:29 [patch 0/9] x86, xsave: xsave/xrstor support Suresh Siddha
2008-07-29 17:29 ` [patch 1/9] x86, xsave: xsave cpuid feature bits Suresh Siddha
2008-07-29 17:29 ` [patch 2/9] x86, xsave: enable xsave/xrstor on cpus with xsave support Suresh Siddha
2008-07-29 17:29 ` [patch 3/9] x86, xsave: context switch support using xsave/xrstor Suresh Siddha
2008-07-29 17:29 ` [patch 4/9] x86, xsave: dynamically allocate sigframes fpstate instead of static allocation Suresh Siddha
2008-07-29 17:29 ` [patch 5/9] x86, xsave: reorganization of signal save/restore fpstate code layout Suresh Siddha
2008-07-29 17:29 ` [patch 6/9] x86, xsave: xsave/xrstor specific routines Suresh Siddha
2008-07-29 17:29 ` [patch 7/9] x86, xsave: struct _fpstate extensions to include extended state information Suresh Siddha
2008-07-29 17:29 ` [patch 8/9] x86, xsave: save/restore the extended state context in sigframe Suresh Siddha
2008-07-29 17:29 ` [patch 9/9] x86, xsave: update xsave header bits during ptrace fpregs set Suresh Siddha
2008-07-29 23:09 ` [patch 0/9] x86, xsave: xsave/xrstor support H. Peter Anvin
2008-07-29 23:29   ` Suresh Siddha
2008-07-29 23:43     ` H. Peter Anvin
2008-07-30 10:03       ` Ingo Molnar
2008-07-30 16:31         ` H. Peter Anvin
2008-07-30 17:08           ` Suresh Siddha
2008-07-30 17:14             ` H. Peter Anvin
2008-07-30 18:25         ` Ingo Molnar
2008-07-30 21:46           ` Suresh Siddha
2008-07-30 23:41           ` Suresh Siddha
2008-07-31 21:29             ` Ingo Molnar
2008-07-31 21:58               ` Suresh Siddha
2008-07-31 22:14                 ` Andi Kleen
2008-07-31 22:19                   ` Suresh Siddha
2008-07-31 22:36                     ` Andi Kleen
2008-07-31 22:38                     ` Linus Torvalds
2008-07-31 22:50                       ` Ingo Molnar
2008-08-01  2:06                         ` Rene Herman
2008-08-01  9:51                           ` Ingo Molnar [this message]
2008-08-01 14:27                             ` Rene Herman
2008-08-01 14:49                               ` Andi Kleen
2008-08-01 15:19                                 ` Rene Herman
2008-08-01 15:44                                   ` Andi Kleen
2008-08-01 16:03                                     ` Rene Herman
2008-07-31 22:48                     ` Alan Cox
2008-07-31 22:17                 ` Ingo Molnar
2008-08-13 11:00                   ` Ingo Molnar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080801095105.GA18055@elte.hu \
    --to=mingo@elte.hu \
    --cc=P@draigBrady.com \
    --cc=akpm@linux-foundation.org \
    --cc=andi@firstfloor.org \
    --cc=arjan@linux.intel.com \
    --cc=chrisw@sous-sol.org \
    --cc=drepper@redhat.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mikpe@it.uu.se \
    --cc=rene.herman@keyaccess.nl \
    --cc=roland@redhat.com \
    --cc=suresh.b.siddha@intel.com \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --cc=wim@iguana.be \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.