On Sun, Nov 26, 2006 at 03:23:36PM -0800, Yinghai Lu wrote:
>
Are you sure it's correct? The drivers/pci pci= parsing
isn't early and there tend to be nasty ordering issues.
I can't see where it would go wrong here, but it probably
needs very careful double checking.
-Andi
On 27 Nov 2006 01:22:21 +0100, Andi Kleen <[email protected]> wrote:
> On Sun, Nov 26, 2006 at 03:23:36PM -0800, Yinghai Lu wrote:
> >
>
> Are you sure it's correct? The drivers/pci pci= parsing
> isn't early and there tend to be nasty ordering issues.
> I can't see where it would go wrong here, but it probably
> needs very careful double checking.
I will double check that
YH
-----Original Message-----
From: Andi Kleen [mailto:[email protected]]
Sent: Sunday, November 26, 2006 4:22 PM
>Are you sure it's correct? The drivers/pci pci= parsing
>isn't early and there tend to be nasty ordering issues.
>I can't see where it would go wrong here, but it probably
>needs very careful double checking.
I double check that, we don't need the parser in
arch/i386/kernel/acpi/boot.c for
pci=noapci.
Actually, pcibios_setup in arch/i386/kernel/pci/common.c that process
pci=noacpi will be
called by pci_setup in drivers/pci/pci.c, and
early_param("pci", pci_setup);
YH
On Sun, 2006-11-26 at 15:23 -0800, Yinghai Lu wrote:
[PATCH 2/3] x86: remove duplicated parser for "pci=noacpi"
Remove "pci=noacpi" parse in acpi/boot.c, because it is duplicated
with that in pci/common.c.
Signed-off-by: Yinghai Lu <[email protected]>
diff --git a/arch/i386/kernel/acpi/boot.c b/arch/i386/kernel/acpi/boot.c
index d12fb97..6d62dd1 100644
--- a/arch/i386/kernel/acpi/boot.c
+++ b/arch/i386/kernel/acpi/boot.c
@@ -1285,15 +1293,6 @@ static int __init parse_acpi(char *arg)
}
early_param("acpi", parse_acpi);
-/* FIXME: Using pci= for an ACPI parameter is a travesty. */
-static int __init parse_pci(char *arg)
-{
- if (arg && strcmp(arg, "noacpi") == 0)
- acpi_disable_pci();
- return 0;
-}
-early_param("pci", parse_pci);
-
#ifdef CONFIG_X86_IO_APIC
static int __init parse_acpi_skip_timer_override(char *arg)
{
diff --git a/arch/i386/pci/common.c b/arch/i386/pci/common.c
index cdfcf97..6d5b70a 100644
--- a/arch/i386/pci/common.c
+++ b/arch/i386/pci/common.c
@@ -294,7 +294,7 @@ char * __devinit pcibios_setup(char *str)
}
#endif
else if (!strcmp(str, "noacpi")) {
- acpi_noirq_set();
+ acpi_disable_pci();
return NULL;
}
else if (!strcmp(str, "noearly")) {
/include/asm-x86_64/acpi.h (and asm-i386)
acpi_disable_pci :
#ifdef CONFIG_ACPI
static inline void acpi_noirq_set(void) { acpi_noirq = 1; }
static inline void acpi_disable_pci(void)
{
acpi_pci_disabled = 1;
acpi_noirq_set();
}
#else /* !CONFIG_ACPI */
#define acpi_ioapic 0
static inline void acpi_noirq_set(void) { }
static inline void acpi_disable_pci(void) { }
so first hunk of the patch doesn't have nothing in common with second ,
and it is different disable acpi_irqs than disable all acpi,
callacpi_disable_pci () is acpi=off.
My main goal when I read this mail was delete acpi=noirq or pci=noacpi
because is a redundant boot option which just make confusions.
I have to go (sleep)
Thanks,
--
S?rgio M.B.
> so first hunk of the patch doesn't have nothing in common with second ,
> and it is different disable acpi_irqs than disable all acpi,
> callacpi_disable_pci () is acpi=off.
>
pci=noacpi mean it will not use acpi for pci bus scan and irq routing setting.
acpi=noirq mean it will only not use irq routing setting.
the problem is that old code in acpi is processing pci=.... for pci subsystem.
YH