2008-01-07 22:48:18

by Andi Kleen

[permalink] [raw]
Subject: MCFG ACPI patch in git-x86 causes boot regression


This patch

commit c5182babd1d0706f1294af7b8dbf64e378b066bb
Author: Robert Hancock <[email protected]>
Date: Sat Jan 5 13:26:32 2008 +0100

x86: validate against ACPI motherboard resources

...

recently added to git-x86 causes one of my Intel test systems to not boot
unless I specify pci=conf1.

...
ACPI: EC: Look up EC in DSDT
ACPI: Interpreter enabled
ACPI: (supports S0 S3 S4 S5)
ACPI: Using IOAPIC for interrupt routing
PCI: MCFG configuration 0: base 4026531840 segment 0 buses 0 - 127
PCI: MCFG area at f0000000 reserved in ACPI motherboard resources
PCI: Using MMCONFIG at f0000000 - f7ffffff
ACPI: PCI Root Bridge [PCI0] (0000:00)
<hang>

The system is a SDV, but I believe production level.
DSDT is available at http://firstfloor.org/~andi/dsdt.dsl

On previous kernels the MCFG was rejected because it wasn't e820 reserved:

ACPI: bus type pci registered
PCI: BIOS Bug: MCFG area at f0000000 is not E820-reserved
PCI: Not using MMCONFIG.
PCI: Using configuration type 1

Also I'm a little surprised to find my Signed-off-by on that patch.

-Andi


2008-01-07 23:32:47

by Robert Hancock

[permalink] [raw]
Subject: Re: MCFG ACPI patch in git-x86 causes boot regression

Jesse Barnes wrote:
> On Monday, January 07, 2008 2:47 Andi Kleen wrote:
>> This patch
>>
>> commit c5182babd1d0706f1294af7b8dbf64e378b066bb
>> Author: Robert Hancock <[email protected]>
>> Date: Sat Jan 5 13:26:32 2008 +0100
>>
>> x86: validate against ACPI motherboard resources
>>
>> ...
>>
>> recently added to git-x86 causes one of my Intel test systems to not
>> boot unless I specify pci=conf1.
>>
>> ...
>> ACPI: EC: Look up EC in DSDT
>> ACPI: Interpreter enabled
>> ACPI: (supports S0 S3 S4 S5)
>> ACPI: Using IOAPIC for interrupt routing
>> PCI: MCFG configuration 0: base 4026531840 segment 0 buses 0 - 127
>> PCI: MCFG area at f0000000 reserved in ACPI motherboard resources
>> PCI: Using MMCONFIG at f0000000 - f7ffffff
>> ACPI: PCI Root Bridge [PCI0] (0000:00)
>> <hang>
>>
>> The system is a SDV, but I believe production level.
>> DSDT is available at http://firstfloor.org/~andi/dsdt.dsl
>>
>> On previous kernels the MCFG was rejected because it wasn't e820
>> reserved:
>
> Yep, this patch (as was stated many times) requires other fixes to PCI
> probing--either disabling decode, not using mmconfig unless absolutely
> required, or one of the other discussed changes. I'm not sure why it
> was pushed before one of those changes went in.

I believe that such a change is in Greg KH's tree. So -mm (with both
trees) would probably work.

2008-01-08 00:58:57

by Andi Kleen

[permalink] [raw]
Subject: Re: MCFG ACPI patch in git-x86 causes boot regression

On Mon, Jan 07, 2008 at 05:31:58PM -0600, Robert Hancock wrote:
> Jesse Barnes wrote:

Hmm -- I didn't see Jesse's mail?

> I believe that such a change is in Greg KH's tree. So -mm (with both
> trees) would probably work.

Yes 2.6.24-rc6-mm1 works, but plain git-x86 does not:

PCI: MCFG configuration 0: base 4026531840 segment 0 buses 0 - 127
PCI: MCFG area at f0000000 reserved in ACPI motherboard resources
PCI: Using MMCONFIG at f0000000 - f7ffffff

-Andi

>

2008-01-08 01:04:35

by Robert Hancock

[permalink] [raw]
Subject: Re: MCFG ACPI patch in git-x86 causes boot regression

Andi Kleen wrote:
> On Mon, Jan 07, 2008 at 05:31:58PM -0600, Robert Hancock wrote:
>> Jesse Barnes wrote:
>
> Hmm -- I didn't see Jesse's mail?
>
>> I believe that such a change is in Greg KH's tree. So -mm (with both
>> trees) would probably work.
>
> Yes 2.6.24-rc6-mm1 works, but plain git-x86 does not:
>
> PCI: MCFG configuration 0: base 4026531840 segment 0 buses 0 - 127
> PCI: MCFG area at f0000000 reserved in ACPI motherboard resources
> PCI: Using MMCONFIG at f0000000 - f7ffffff

At least, I thought it was in Greg's tree, not sure now.. This is the
patch in -mm:

http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.24-rc6/2.6.24-rc6-mm1/broken-out/pci-disable-decoding-during-sizing-of-bars.patch

Without this change a bunch of machines fail to boot even without the
MCFG change (since their MCFG was E820 reserved and so the old
validation check passed).

2008-01-08 08:14:21

by Ingo Molnar

[permalink] [raw]
Subject: Re: MCFG ACPI patch in git-x86 causes boot regression


* Jesse Barnes <[email protected]> wrote:

> > On previous kernels the MCFG was rejected because it wasn't e820
> > reserved:
>
> Yep, this patch (as was stated many times) requires other fixes to PCI
> probing--either disabling decode, not using mmconfig unless absolutely
> required, or one of the other discussed changes. I'm not sure why it
> was pushed before one of those changes went in.

yeah - we try to pick up patches early into x86.git, so that integration
issues can be found as early as possible. But this patch should live in
Greg's tree - just sent it back.

Ingo

2008-01-08 08:16:17

by Ingo Molnar

[permalink] [raw]
Subject: Re: MCFG ACPI patch in git-x86 causes boot regression


* Robert Hancock <[email protected]> wrote:

> At least, I thought it was in Greg's tree, not sure now.. This is the
> patch in -mm:
>
> http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.24-rc6/2.6.24-rc6-mm1/broken-out/pci-disable-decoding-during-sizing-of-bars.patch
>
> Without this change a bunch of machines fail to boot even without the
> MCFG change (since their MCFG was E820 reserved and so the old
> validation check passed).

Andi, can you confirm that your box boots fine with that patch applied?

Ingo

2008-01-08 16:11:53

by Andi Kleen

[permalink] [raw]
Subject: Re: MCFG ACPI patch in git-x86 causes boot regression

On Tue, Jan 08, 2008 at 09:15:43AM +0100, Ingo Molnar wrote:
>
> * Robert Hancock <[email protected]> wrote:
>
> > At least, I thought it was in Greg's tree, not sure now.. This is the
> > patch in -mm:
> >
> > http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.24-rc6/2.6.24-rc6-mm1/broken-out/pci-disable-decoding-during-sizing-of-bars.patch
> >
> > Without this change a bunch of machines fail to boot even without the
> > MCFG change (since their MCFG was E820 reserved and so the old
> > validation check passed).
>
> Andi, can you confirm that your box boots fine with that patch applied?

Yes it does.

-Andi

2008-01-08 16:28:41

by Ingo Molnar

[permalink] [raw]
Subject: Re: MCFG ACPI patch in git-x86 causes boot regression


* Andi Kleen <[email protected]> wrote:

> > > http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.24-rc6/2.6.24-rc6-mm1/broken-out/pci-disable-decoding-during-sizing-of-bars.patch
> > >
> > > Without this change a bunch of machines fail to boot even without
> > > the MCFG change (since their MCFG was E820 reserved and so the old
> > > validation check passed).
> >
> > Andi, can you confirm that your box boots fine with that patch
> > applied?
>
> Yes it does.

thanks for testing it. (and thanks for finding & reporting the problem)
I've added that patch to x86.git, right before:

Subject: x86: validate against ACPI motherboard resources

this should be the only dependency AFAICS.

Ingo

2008-01-09 01:41:35

by Jesse Barnes

[permalink] [raw]
Subject: Re: MCFG ACPI patch in git-x86 causes boot regression

On Tuesday, January 08, 2008 8:27 Ingo Molnar wrote:
> * Andi Kleen <[email protected]> wrote:
> > > > http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/
> > > >2.6.24-rc6/2.6.24-rc6-mm1/broken-out/pci-disable-decoding-during
> > > >-sizing-of-bars.patch
> > > >
> > > > Without this change a bunch of machines fail to boot even
> > > > without the MCFG change (since their MCFG was E820 reserved and
> > > > so the old validation check passed).
> > >
> > > Andi, can you confirm that your box boots fine with that patch
> > > applied?
> >
> > Yes it does.
>
> thanks for testing it. (and thanks for finding & reporting the
> problem) I've added that patch to x86.git, right before:
>
> Subject: x86: validate against ACPI motherboard resources
>
> this should be the only dependency AFAICS.

Yeah, that should work afaik, thanks for sorting this out.

Jesse