[coreboot] Cache-line trouble on Xeon

Kyösti Mälkki kyosti.malkki at gmail.com
Tue Nov 8 12:55:12 CET 2011


On Tue, 2011-11-08 at 09:33 +0100, Rudolf Marek wrote:
> Hi,
> 
> Just a quick notes. There a peformance MSRs which have L2 fills counters. I did 
> want to know on AMD how the fills/misses/etc works so I used that counters to 
> see what is actually going on.
> 
> http://oprofile.sourceforge.net/docs
> 
> Has a list of events.

Good tip! I should be able to use events BSQ_cache_reference and
BSQ_allocation to count cache hits and misses.


> The CR.NW mode differs accross Intel CPUs just check documentation what is it 
> doing in your case (The architecture manuals). To get CAR working I would simply 
> follow the BIOS with serialICE.

Well, for Xeon CR0.NW is a don't care bit and it's always in no-fill
mode.

A part of my Problem 2 was that also inb()/outb() flushes modified
cache-lines from L1 to (disabled?) L2 and system bus. I think with
SerialICE I could not store a single valid cache-line in L1, as this
would involve serial-io between any two store dword instructions.

I just realised that attempts to use compressed ramstage on this
mainboard have always halted on un-LZMA, while for payload un-LZMA is
OK. Until now I thought it was a compiler issue with ROMCC and GCC
creating slighty different machine code, but maybe I should push
microcode update before any cache use. While there are quite a few
errata for these CPUs, I did not identify any of those with the symptoms
I saw. 


Thanks,
Kyösti





More information about the coreboot mailing list