[coreboot] [msrtool] Bug report

Peter Stuge peter at stuge.se
Tue Oct 25 15:28:03 CEST 2011

Hi Nils!

Are you subscribed to the coreboot mailing list? I only got your
email direct, so I guess not. I'm including the list in Cc.

Nils wrote:
> I found a bug in msrtool.
> On AMD Geode GX2 the reading of MSR registers above 0x7FFFFFFF gives
> an error.
> For MSR register 0x80000000 the error is:
> linux_rdmsr: read(0x80000000): Invalid argument

Hm.. Did you try other addresses >= 0x80000000? And are you sure that
0x80000000 is a valid MSR address on GX2? The only mention of the
value when searching quickly through the databook is the parameter
for the CPUID instruction..

> I spend about 8 hours to look at the code but it needs a more
> expirienced programmer.

There are a couple of levels of structures for the register mappings,
but the code flow e.g. for stream mode skips all that. The system
abstraction is still there of course..

Anyway, reading 0x80000000 doesn't work on a Pentium III system that
I just tested on either:

# ./msrtool -s - <<< 0x80000000
msrtool exported
Detected system linux: Linux with /dev/cpu/*/msr
Detected target intel_pentium3: Intel Pentium III Xeon Processor, Intel Pentium III Processor

linux_rdmsr: read(0x80000000): Invalid argument

Are you sure that this really is a bug?


More information about the coreboot mailing list