[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <86802c440709221820y5dfdca5fmd74da31146bf78d9@mail.gmail.com>
Date: Sat, 22 Sep 2007 18:20:18 -0700
From: "Yinghai Lu" <yhlu.kernel@...il.com>
To: "Robert Hancock" <hancockr@...w.ca>
Cc: "Andrew Morton" <akpm@...ux-foundation.org>,
"H. Peter Anvin" <hpa@...or.com>,
"Thomas Gleixner" <tglx@...utronix.de>, "Andi Kleen" <ak@...e.de>,
rajesh.shah@...el.com, jbarnes@...tuousgeek.org, greg@...ah.com,
patches@...-64.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] [9/50] i386: validate against ACPI motherboard resources
On 9/22/07, Robert Hancock <hancockr@...w.ca> wrote:
> Yinghai Lu wrote:
> > On 9/22/07, Robert Hancock <hancockr@...w.ca> wrote:
> >> Thomas Gleixner wrote:
> >>> On Sat, 2007-09-22 at 10:28 -0600, Robert Hancock wrote:
> >>>> Yinghai Lu wrote:
> >>>>> No!
> >>>>>
> >>>>> MMCONFIG will not work with acpi=off any more.
> >>>> I don't think this is unreasonable. The ACPI MCFG table is how we are
> >>>> supposed to learn about the area in the first place. If we can't get the
> >>>> table location via an approved mechanism, and can't validate it doesn't
> >>>> overlap with another memory reservation or something, I really don't
> >>>> think we should be using it.
> >>> We all know how correct ACPI tables are. Specifications are nice,
> >>> reality tells a different story.
> >> MMCONFIG can't be used without ACPI in any case unless we know where the
> >> table is using chipset-specific knowledge (i.e. reading the registers
> >> directly). Doing that without being told that this area is really
> >> intended to be used, via the ACPI table, is dangerous, i.e. we don't
> >> necessarily know if the MMCONFIG is broken on the platform in some way
> >> we can't detect.
> >
> > the BIOS get these info from the chipset too.
> > for AMD Fam 10h opteron, we can read that MSR for MMCONFIG base.
> >
> >>>> I don't think it's much of an issue anyway - the chances that somebody
> >>>> will want to run without ACPI on a system with MCFG are pretty low given
> >>>> that you'll end up losing a bunch of functionality (not least of which
> >>>> is multi-cores).
> >>> acpi=off is an often used debug switch and it _is_ quite useful. Taking
> >>> away debug functionality is not a good idea.
> >> If someone has to turn ACPI off, disabling MMCONFIG is probably the
> >> least of their worries..
> >
> > MMCONFIG has nothing to do ACPI..., just becase MCFG in the ACPI, we
> > must use ACPI for MMCONFIG?
>
> config PCI_MMCONFIG
> bool
> depends on PCI && ACPI && (PCI_GOMMCONFIG || PCI_GOANY)
> default y
>
> We already depend on ACPI for MMCONFIG support at compile time. This
> patch does not change that.
>
> We could conceivably skip the validation if ACPI was disabled, though
> this would only make a difference in the few cases where we can detect
> the MMCONFIG area without it (looks like currently only Intel E7520 and
> 945, at least in mainline).
can you make pci_mmcfg_late_init take one parameter about if acpi is
there or not?
so in acpi_init will be
diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c
index 9ba778a..a4a6a6f 100644
--- a/drivers/acpi/bus.c
+++ b/drivers/acpi/bus.c
@@ -746,6 +746,7 @@ static int __init acpi_init(void)
if (acpi_disabled) {
printk(KERN_INFO PREFIX "Interpreter disabled.\n");
+ pci_mmcfg_late_init(0);
return -ENODEV;
}
@@ -757,6 +758,7 @@ static int __init acpi_init(void)
result = acpi_bus_init();
if (!result) {
+ pci_mmcfg_late_init(1);
#ifdef CONFIG_PM_LEGACY
if (!PM_IS_ACTIVE())
pm_active = 1;
@@ -767,8 +769,10 @@ static int __init acpi_init(void)
result = -ENODEV;
}
#endif
- } else
+ } else {
+ pci_mmcfg_late_init(0);
disable_acpi();
+ }
return result;
}
YH
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists