Re: [PATCH] I/O space boot parameter

From: Greg KH
Date: Tue Mar 20 2007 - 14:02:46 EST


On Tue, Mar 20, 2007 at 12:18:24PM -0400, Daniel Yeisley wrote:
> It has been mentioned before that large systems with a lot of PCI buses
> have issues with the 64k I/O space limit. The ES7000 has a BIOS option
> to either assign I/O space to all adapters, or only to those that need
> it. A list of supported adapters that don't need it is kept in the
> BIOS. When this option is used, the kernel sees the BARs on the
> adapters and still tries to assign I/O space (until it runs out). I've
> written a patch to implement a boot parameter that tells the kernel not
> to assign I/O space if the BIOS hasn't.

How prelevant are machines like this? And why are the BARs on these
devices wrong?

> Signed-off-by: Dan Yeisley <dan.yeisley@xxxxxxxxxx>
> ---
>
> diff -Naur linux-2.6.20-org/Documentation/kernel-parameters.txt linux-2.6.20-new/Documentation/kernel-parameters.txt
> --- linux-2.6.20-org/Documentation/kernel-parameters.txt 2007-02-04 13:44:54.000000000 -0500
> +++ linux-2.6.20-new/Documentation/kernel-parameters.txt 2007-03-05 21:35:15.000000000 -0500
> @@ -1259,6 +1259,7 @@
> This sorting is done to get a device
> order compatible with older (<= 2.4) kernels.
> nobfsort Don't sort PCI devices into breadth-first order.
> + noiospace Do not allocate I/O space unless the BIOS has done so.
>
> pcmv= [HW,PCMCIA] BadgePAD 4
>
> diff -Naur linux-2.6.20-org/drivers/pci/pci.c linux-2.6.20-new/drivers/pci/pci.c
> --- linux-2.6.20-org/drivers/pci/pci.c 2007-02-04 13:44:54.000000000 -0500
> +++ linux-2.6.20-new/drivers/pci/pci.c 2007-03-06 00:58:52.000000000 -0500
> @@ -20,6 +20,7 @@
> #include "pci.h"
>
> unsigned int pci_pm_d3_delay = 10;
> +unsigned int noiospace = 0;

pci_no_iospace perhaps? "noiospace" isn't the best named global
variable...

thanks,

greg k-h
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/