Index: branches/azimutz/trunkGraphicsEnablerModules/i386/libsaio/cpu.c =================================================================== --- branches/azimutz/trunkGraphicsEnablerModules/i386/libsaio/cpu.c (revision 1211) +++ branches/azimutz/trunkGraphicsEnablerModules/i386/libsaio/cpu.c (revision 1212) @@ -451,7 +451,7 @@ p->CPU.Features |= CPU_FEATURE_MOBILE; } } - else if((p->CPU.Vendor == 0x68747541 /* AMD */) && (p->CPU.Family == 0x0f)) + else if((p->CPU.Vendor == CPUID_VENDOR_AMD) && (p->CPU.Family == 0x0f)) { switch(p->CPU.ExtFamily) { @@ -463,15 +463,19 @@ case 0x01: /* K10 */ msr = rdmsr64(K10_COFVID_STATUS); - //uint64_t mperf = measure_mperf_frequency(); - uint64_t aperf = measure_aperf_frequency(); + do_cpuid2(0x00000006, 0, p->CPU.CPUID[CPUID_6]); + if(bitfield(p->CPU.CPUID[CPUID_6][2], 0, 0) == 1) // EffFreq: effective frequency interface + { + //uint64_t mperf = measure_mperf_frequency(); + uint64_t aperf = measure_aperf_frequency(); + cpuFrequency = aperf; + } // NOTE: tsc runs at the maccoeff (non turbo) // *not* at the turbo frequency. - maxcoef = bitfield(msr, 54, 49) / 2 + 4; // VRIFY - currcoef = bitfield(msr, 5, 0) + 0x10; // note: this is * 2 + maxcoef = bitfield(msr, 54, 49) / 2 + 4; + currcoef = bitfield(msr, 5, 0) + 0x10; currdiv = 2 << bitfield(msr, 8, 6); - cpuFrequency = aperf; break; case 0x05: /* K14 */ @@ -487,8 +491,11 @@ break; } - if (maxcoef) { - if (currdiv) { + if (maxcoef) + { + if (currdiv) + { + if(!currcoef) currcoef = maxcoef; if(!cpuFrequency) fsbFrequency = ((tscFrequency * currdiv) / currcoef); else Index: branches/azimutz/trunkGraphicsEnablerModules/i386/libsaio/platform.h =================================================================== --- branches/azimutz/trunkGraphicsEnablerModules/i386/libsaio/platform.h (revision 1211) +++ branches/azimutz/trunkGraphicsEnablerModules/i386/libsaio/platform.h (revision 1212) @@ -23,10 +23,11 @@ #define CPUID_2 2 #define CPUID_3 3 #define CPUID_4 4 -#define CPUID_80 5 -#define CPUID_81 6 -#define CPUID_88 7 -#define CPUID_MAX 8 +#define CPUID_6 5 +#define CPUID_80 6 +#define CPUID_81 7 +#define CPUID_88 8 +#define CPUID_MAX 9 #define CPU_MODEL_YONAH 0x0E // Sossaman, Yonah #define CPU_MODEL_MEROM 0x0F // Allendale, Conroe, Kentsfield, Woodcrest, Clovertown, Tigerton, Merom Index: branches/azimutz/trunkGraphicsEnablerModules/i386/modules/GraphicsEnabler/AMDGraphicsEnabler/ati.c =================================================================== --- branches/azimutz/trunkGraphicsEnablerModules/i386/modules/GraphicsEnabler/AMDGraphicsEnabler/ati.c (revision 1211) +++ branches/azimutz/trunkGraphicsEnablerModules/i386/modules/GraphicsEnabler/AMDGraphicsEnabler/ati.c (revision 1212) @@ -219,7 +219,7 @@ //Azi: added devices // temporary placement // Akbar - { 0x9480, 0x3629103C, CHIP_FAMILY_M96/*RV730*/,"ATI Radeon HD 4650M", kShrike }, // hp OK + { 0x9480, 0x3628103C, CHIP_FAMILY_M96/*RV730*/,"ATI Radeon HD 4650M", kShrike }, // hp OK // issue #88 { 0x6741, 0x1646103C, CHIP_FAMILY_TURKS,/*??*/"AMD Radeon HD 6750M", kNull }, // - review turks // issue #121 Property changes on: branches/azimutz/trunkGraphicsEnablerModules ___________________________________________________________________ Modified: svn:mergeinfo Merged /trunk:r1193-1211