diff options
author | Jeff Garzik <jeff@garzik.org> | 2007-10-11 16:57:27 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2007-10-12 18:03:18 -0400 |
commit | 32a2eea795643929a43cbbba00d8c4a176b309bf (patch) | |
tree | c0bbf2e3ef330ec9f36c42dfbe6c360efe685f82 /drivers/pci/pci.c | |
parent | 11949255d9433ea6c0908b7390ec4faecd1d4cf0 (diff) |
PCI: Add 'nodomains' boot option, and pci_domains_supported global
* Introduce pci_domains_supported global, hardcoded to zero if
!CONFIG_PCI_DOMAINS.
* Introduce 'nodomains' boot option, which clears pci_domains_supported
on platforms that enable it by default (x86, x86-64, and others when
they are converted to use this).
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Cc: Andi Kleen <ak@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/pci/pci.c')
-rw-r--r-- | drivers/pci/pci.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 2dd5c282fabe..728b3c863d87 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c | |||
@@ -23,6 +23,10 @@ | |||
23 | 23 | ||
24 | unsigned int pci_pm_d3_delay = 10; | 24 | unsigned int pci_pm_d3_delay = 10; |
25 | 25 | ||
26 | #ifdef CONFIG_PCI_DOMAINS | ||
27 | int pci_domains_supported = 1; | ||
28 | #endif | ||
29 | |||
26 | #define DEFAULT_CARDBUS_IO_SIZE (256) | 30 | #define DEFAULT_CARDBUS_IO_SIZE (256) |
27 | #define DEFAULT_CARDBUS_MEM_SIZE (64*1024*1024) | 31 | #define DEFAULT_CARDBUS_MEM_SIZE (64*1024*1024) |
28 | /* pci=cbmemsize=nnM,cbiosize=nn can override this */ | 32 | /* pci=cbmemsize=nnM,cbiosize=nn can override this */ |
@@ -1567,6 +1571,13 @@ int pci_select_bars(struct pci_dev *dev, unsigned long flags) | |||
1567 | return bars; | 1571 | return bars; |
1568 | } | 1572 | } |
1569 | 1573 | ||
1574 | static void __devinit pci_no_domains(void) | ||
1575 | { | ||
1576 | #ifdef CONFIG_PCI_DOMAINS | ||
1577 | pci_domains_supported = 0; | ||
1578 | #endif | ||
1579 | } | ||
1580 | |||
1570 | static int __devinit pci_init(void) | 1581 | static int __devinit pci_init(void) |
1571 | { | 1582 | { |
1572 | struct pci_dev *dev = NULL; | 1583 | struct pci_dev *dev = NULL; |
@@ -1588,6 +1599,8 @@ static int __devinit pci_setup(char *str) | |||
1588 | pci_no_msi(); | 1599 | pci_no_msi(); |
1589 | } else if (!strcmp(str, "noaer")) { | 1600 | } else if (!strcmp(str, "noaer")) { |
1590 | pci_no_aer(); | 1601 | pci_no_aer(); |
1602 | } else if (!strcmp(str, "nodomains")) { | ||
1603 | pci_no_domains(); | ||
1591 | } else if (!strncmp(str, "cbiosize=", 9)) { | 1604 | } else if (!strncmp(str, "cbiosize=", 9)) { |
1592 | pci_cardbus_io_size = memparse(str + 9, &str); | 1605 | pci_cardbus_io_size = memparse(str + 9, &str); |
1593 | } else if (!strncmp(str, "cbmemsize=", 10)) { | 1606 | } else if (!strncmp(str, "cbmemsize=", 10)) { |