Re: [patch 0/9] x86, xsave: xsave/xrstor support
From: Rene Herman
Date: Fri Aug 01 2008 - 10:27:24 EST
This is a multi-part message in MIME format.On 01-08-08 11:51, Ingo Molnar wrote:
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.
For real ISA at the least, the best fix I feel is just not go grabbing
resources without anything (ie, ISAPnP) or anyone (ie, the user) telling
us that's where the hardware's at.
For example, for the first real ISA driver in the list:
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
+
The attached would be my preffered approach to this.
(to avoid an IRQ 0 discussion -- the middle hunk is unrelated, just
makes it consistent with the rest of the file)
(and this uses the isa_bus match() method as intended; the idea of the
isa_bus is to make it look at least somewhat like a sane bus such as PCI
which includes only failing a load if there's no way a later bind could
conceivably succeed. somewhat debatable merit sometimes, but such is the
device model, and it's actually fairly nice once you get used to it for
quickly switching drivers for a single piece of hardware)
A user of this hardware is a one-time
$ echo options i2c-pca-isa base=0x330 irq=10 >> /etc/modprobe.conf
away from the old behaviour. Given the hackish nature of all this kind
of hardware these days its users tend to not mind. In fact, what with
getting old hardware to play nice with modern systems, I myself at least
very much welcome having to be explicit about these things.
(and just saw the CC list on this thing while adding Wolfram. ouch. will
be dropping all from any followups...)
Rene.