lkml.org 
[lkml]   [1998]   [Dec]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patches in this message
/
Date
From
SubjectRe: CONFIG_PCI_BIOS in 2.1.132 (update)
Hi Linus.

Addendum to the enclosed message: I forgot to include the relevant
changes to the documentation with it. Here they are, both against the
2.1.132 raw kernel source...

Best wishes from Riley.

---------- Forwarded message ----------
Date: Wed, 23 Dec 1998 22:31:07 +0000 (GMT)
From: Riley Williams <rhw@bigfoot.com>
To: Linus Torvalds <torvalds@transmeta.com>
Cc: linux-kernel@vger.rutgers.edu
Subject: Re: CONFIG_PCI_BIOS in 2.1.132

Hi Linus.

>> That should provide you with the correct combination of options...

> It doesn't work too well, though - try it and see what happens to
> the config file after doing "make oldconfig" etc.

> The proper fix is probably something like

> unset CONFIG_PCI_BIOS CONFIG_PCI_DIRECT
> choice 'PCI access mode' \
> "BIOS CONFIG_PCI_ACCESS_BIOS \
> Direct CONFIG_PCI_ACCESS_DIRECT \
> Both CONFIG_PCI_ACCESS_BOTH" CONFIG_PCI_ACCESS_BOTH
> if [ "$CONFIG_PCI_ACCESS_BIOS" = "y" -o "$CONFIG_PCI_ACCESS_BOTH" = "y" ]
> then
> define_bool CONFIG_PCI_BIOS y
> fi
> if [ "$CONFIG_PCI_ACCESS_DIRECT" = y -o "$CONFIG_PCI_ACCESS_BOTH" = "y" ]
> then
> define_bool CONFIG_PCI_DIRECT y
> fi

> (note the "unset" and the different name spaces to make sure that
> we don't get configuration confusion).

> I have _not_ tested the above, but I tested your previous patch and
> it didn't work reliably. The above approach _should_ work, but if
> anybody really wants to see this in the next kernel, please test it
> out and send me a patch if/when it works..

I've just downloaded 2.1.132 on this system, and am unpacking it at
the moment...ah, done. let's have a look...OK, try the enclosed...

I've changed the "Both" option to "Any" to make the options differ
from the first letter onwards, and the above appears to work for
"oldconfig", "config" and "menuconfig" - I can't test "xconfig" atm,
so can't comment on that...

Best wishes from Riley.
--- linux/arch/i386/config.in.orig Fri Dec 18 22:01:48 1998
+++ linux/arch/i386/config.in Wed Dec 23 22:15:41 1998
@@ -36,14 +36,20 @@
comment 'General setup'

bool 'Networking support' CONFIG_NET
bool 'PCI support' CONFIG_PCI
if [ "$CONFIG_PCI" = "y" ]; then
- bool ' PCI BIOS support' CONFIG_PCI_BIOS
- bool ' PCI direct access support' CONFIG_PCI_DIRECT
- if [ "$CONFIG_PCI_BIOS" = "n" -a "$CONFIG_PCI_DIRECT" = "n" ]; then
- define_bool CONFIG_PCI_BIOS "y"
+ unset CONFIG_PCI_BIOS CONFIG_PCI_DIRECT
+ choice 'PCI access mode' \
+ "BIOS CONFIG_PCI_GOBIOS \
+ Direct CONFIG_PCI_GODIRECT \
+ Any CONFIG_PCI_GOANY" Any
+ if [ -n "$CONFIG_PCI_GOBIOS" -o -n "$CONFIG_PCI_GOANY" ]; then
+ define_bool CONFIG_PCI_BIOS y
+ fi
+ if [ -n "$CONFIG_PCI_GODIRECT" -o -n "$CONFIG_PCI_GOANY" ]; then
+ define_bool CONFIG_PCI_DIRECT y
fi
bool ' PCI quirks' CONFIG_PCI_QUIRKS
if [ "$CONFIG_PCI_QUIRKS" = "y" -a "$CONFIG_EXPERIMENTAL" = "y" ]; then
bool ' PCI bridge optimization (experimental)' CONFIG_PCI_OPTIMIZE
fi--- linux/Documentation/Configure.help.orig Tue Dec 22 16:29:00 1998
+++ linux/Documentation/Configure.help Sat Dec 26 15:41:05 1998
@@ -1291,30 +1291,43 @@

If some of your PCI devices don't work and you get a warning during
boot time ("man dmesg"), please follow the instructions at the top
of include/linux/pci.h.

-PCI BIOS support
-CONFIG_PCI_BIOS
- If you have enabled PCI bus support above, you probably want to
- allow Linux to use your PCI BIOS to detect the PCI devices and
- determine their configuration. Note: some old PCI motherboards have
- BIOS bugs and may crash if you say Y here -- for such motherboards,
- you should say N here and say Y to "PCI direct access support"
- instead.
-
- Except for some special cases (embedded systems with no BIOS), you
- probably should say Y here.
-
-PCI direct access support
-CONFIG_PCI_DIRECT
- If you don't want to use the PCI BIOS (e.g., because you run some
- embedded system with no BIOS at all) or Linux says it cannot use
- your PCI BIOS, you can enable direct PCI hardware here. It might
- fail if your machine is based on some unusual chipset, but it
- usually works. If both PCI BIOS and direct PCI access are enabled,
- the use of BIOS is preferred. If unsure, say Y.
+PCI access support
+CONFIG_PCI_GOBIOS
+ If you have enabled PCI bus support above, Linux needs to determine
+ what PCI devices you have, and how they are configured. This setting
+ deals with how Linux should do that.
+
+ Within the kernel, two separate options are used to enable the two
+ possible ways Linux has for determining this. They are as follows:
+
+ CONFIG_PCI_BIOS
+ This says to allow Linux to use your PCI BIOS to detect the PCI
+ devices and determine their configuration. Note that some old
+ PCI motherboards have BIOS bugs and may crash if this mode is
+ selected.
+
+ CONFIG_PCI_DIRECT
+ This says that Linux should enable direct hardware support for
+ detecting PCI devices and determining their configuration. It
+ might fail if your machine is based on some unusual chipset,
+ but it usually works.
+
+ This setting is used to determine the valid combinations of the
+ above two options, since at least one of them MUST be selected. The
+ available choices are as follows:
+
+ BIOS This enables the CONFIG_PCI_BIOS option only.
+ Direct This enables the CONFIG_PCI_DIRECT option only.
+ Any This enables both options.
+
+ If you are using Linux on some embedded system with no BIOS, or
+ Linux says it cannot use your BIOS, you should select DIRECT here,
+ otherwise you should probably select ANY here. Select BIOS only if
+ you have an unusual chipset for which DIRECT doesn't work.

PCI quirks
CONFIG_PCI_QUIRKS
If you have a broken BIOS, it may fail to set up the PCI bus in a
correct or optimal fashion. Saying Y here will correct that problem.
\
 
 \ /
  Last update: 2005-03-22 13:46    [W:0.030 / U:0.152 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site