On 07.11.2013 17:59, ron minnich wrote:
On Thu, Nov 7, 2013 at 7:34 AM, Kyösti Mälkki kyosti.malkki@gmail.com wrote:
So we had it, then we no longer had it. Looks like there was not enough interest to determine the cases when it is needed.
its presence hurt on the p4 (which is when that happened) and its absence never hurt. But from this note, restoring it post-jump would not help; the author is specifically stating that we need it BEFORE the power-on-reset jump.
hmm.
ron
Patch merged into coreboot/master: c35c461 Invalidate cache before first jump
And the discussion that ended up with reverting the commit: http://www.coreboot.org/pipermail/coreboot/2012-April/069430.html
Kyösti
In terms of what wbinvd does, it makes no sense to execute that instruction at that point. Write back? To where? Many memory controllers will hang if you try to use them before they're configured (personal experience). I believe that set of 16-bit instructions was written by me for linuxbios ca. 2000, when my understanding of these details was tenuous, so the wbinvd at that point was probably my mistake, which Eric corrected in 2004. I tend to expect that's why there was not much discussion in 2004 -- on the face of it, a wbinvd at that point just seems wrong.
As for the 2012 discussion, I'd forgotten it completely.
I think the most we could do is a config option to enable this, and it seems like a bad idea in any event unless we really care about the z250p. The wbinvd at the POR vector seems like a hack for a buggy chipset.
But it's certainly interesting.
ron