I'm using OpenBSD-current (cvs'd 2 days ago)

Trying to use flashrom on this board (AMD Geode LX 800 + CS 5536),
I found that the /dev/amdmsr device was "Not Configured".

Early in the boot, when calling amdmsr_probe() the code doesn't
configure MSR access because when reading GLX_GP_GLD_MSR_CAP
the returned value is 0xD0C1EE10.
So the DID is 0x1EE1 instead of the expected 0x03D4.

I've bypassed this last check to "return 1", and flashrom 
now is able to access msr registers via /dev/amdmsr.

Reading the Processor datasheet the value IS 0x03D4, so
I don't know why this happens.

Any suggestion?

Leonardo
--- amdmsr.c    2013-04-10 19:18:05.038996550 +0200
+++ amdmsr-fix.c        2013-04-10 19:22:13.508890253 +0200
@@ -77,8 +77,8 @@
                /* Check for graphics processor presence */
                gld_msr_cap = rdmsr(GLX_CPU_GLD_MSR_CAP);
                if (((gld_msr_cap >> 8) & 0x0fff) == GLX_CPU_DID) {
-                       gld_msr_cap = rdmsr(GLX_GP_GLD_MSR_CAP);
-                       if (((gld_msr_cap >> 8) & 0x0fff) == GLX_GP_DID)
+                       //gld_msr_cap = rdmsr(GLX_GP_GLD_MSR_CAP);
+                       //if (((gld_msr_cap >> 8) & 0x0fff) == GLX_GP_DID)
                                return 1;
                }
        }

Reply via email to