Re: [PATCH 1/5] x86: validate against acpi motherboard resources

From: Robert Hancock
Date: Mon Feb 18 2008 - 15:26:26 EST


Andi Kleen wrote:
With just this patch you will have this problem. You need either the patch to disable decode during BAR sizing,

Isn't that one already merged?

I remember the BAR decoding patch did help with at least one
of the original failures (there were multiple ones iirc0)

I believe that one's been dropped as it's not needed if we don't use MMCONFIG for non-extended accesses (like we use during BAR sizing). (Though, there may still be a case where it's needed, see below.)


If someone points me to all the patches needed or a tree who has them all applied I can give it a quick spin on the boxes I have here.
One of the systems where it originally failed I don't have anymore
though.

or the patch to use MMCONFIG for extended config space only, if you don't have them already.

That would mean it would boot, but anything that uses extended config
space would fail. While not as catastrophic as before I'm not sure
it's that great either. At least there would be still breakage,
but much more subtle ones.

The only issue on those boards is that since certain device BARs will overlap the MMCONFIG area during BAR sizing, if you use MMCONFIG to do the accesses used during BAR sizing itself, it'll fail. If you use conf1 to do the BAR sizing then that problem doesn't happen.

However, I suppose there could be an issue if you hotplugged a device (causing BAR sizing) once you'd booted, while extended config space was in use on another device. The BAR sizing wouldn't fail, but the guy using extended config space would since he's actually reading from/writing into the BAR of the device being sized instead of the MMCONFIG area. That wouldn't be good. The disable-decode-during-sizing patch would avoid that problem.
--
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/