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
next prev parent 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.