Re: i686 quirk for AMD Geode

Lennart Sorensen
2009-11-16T17:50:02Z

On Fri, Nov 13, 2009 at 09:21:48PM +0000, Alan Cox wrote:
> > > Which usually means some form of write gathering is enabled or something
> > > thinks the device is write combining on the PCI bus. What does the PCI
> > > bus and the RCRR MTRR set look like ?
> >
> > Well there is no /proc/mtrr.
>
> Linux doesn't have an RCRR driver - so you need to dump the MSRs directly
> (see the Geode GX manual MSR list) and read out the msrs.

Hmm, so looking at the Geode SC1200 data book, it doesn't mention mtrr,
rcrr or msr. I know the Geode LX has lots of MSR documentation.

Looking at the GX1 data book (which it seems the SC1200 refers to),
it does mention mtrr, as not supported. I have managed to find something
called the region configuration range registers, which must be RCRR.

I think this is a dump of the 8 region MSRs:

0x00001810->0xbf848ba8b7f282e8
0x00001811->0xbfcb5328b7f932e8
0x00001812->0xbfe93418b7f712e8
0x00001813->0xbfbd59b8b7fb52e8
0x00001814->0xbfb5f868b7f3d2e8
0x00001815->0xbf815018b7ef42e8
0x00001816->0xbfc4c0d8b7f2a2e8
0x00001817->0xbfe1eea8b7eff2e8

This must of course mean I read them wrong because those are not the
right values. Some bit ranges must be 0 and are not.

Trying rdmsr from msr-tools 1.2 gives me:

# ./rdmsr -x 0x00001810
rdmsr: CPU 0 cannot read MSR 0x00001810

Hmm, now what?

--
Len Sorensen