bcc9, on May 14 2011, 01:21 AM, said:
Helping me? I've yet to see anything you've posted that helps me. It's more like revo issues are being raised to distract from the issue at hand...
First and foremost. There was absolutely nothing that I did to distract you. To fix a bug in RevoBoot. It is in fact plain simple. Or at least it should have been right from the start because when someone adds the following code snippet:
msr = rdmsr64(MSR_PLATFORM_INFO); // 0xCE
uint16_t minBusRatio = (msr >> 40);
uint16_t maxBusRatio = ((msr >> 8) & 0xff);
printf("Busratio (min): 0x%x (%d)\n", maxBusRatio, maxBusRatio);
printf("Busratio (max): 0x%x (%d)\n", minBusRatio, minBusRatio);
And ask you the following question: "So what does that give you?
" meaning that you are supposed to check this, so that (like I said before) you can inject the data into the broken MSR.
And I said: "When this MSR also returns zero's where it should return the correct multipliers...
" (ending with a smiley) that lucky us Asus owners don't have this problem. And that when there is a problem, that Asus engineers are willing to listen and solve the problem(s).
Anyway. Looking at the mach_kernel of Lion I see this:
ffffff80002c438d callq _cpuid_cpufamily
ffffff80002c4392 cmpl $0x5490b78c,%eax
ffffff80002c4397 je 0xffffff80002c43a7
ffffff80002c4399 cmpl $0x573b5eec,%eax
ffffff80002c439e je 0xffffff80002c43a7
ffffff80002c43a0 cmpl $0x6b5a4cd2,%eax
ffffff80002c43a5 jne 0xffffff80002c4415
ffffff80002c43a7 movl $0x00000194,%ecx
ffffff80002c43ae movl %eax,%esi
ffffff80002c43b0 movl $0x000000ce,%ecx
Where WESTMERE, NEHALEM, and SANDYBRIDGE all jump to the same spot reading the MSR that caused you problems. And since Apple is Intels biggest client, and since Apple has Intel engineers working for them... I'd say that it is safe to assume that MSR 0x194 is part of what should work. Not to mention that more MSR's are missing from the docs/white papers, and that Asus engineers cite NDA restrictions when people do ask for info about them.
Now I like to go back to my Asus engineering remark, because I'm unaware of GB engineering fixing things in the same pace like Asus is doing these days.
And to round it up for this beautiful morning; It would be nice when you could at least confirm that the data from that other MSR is right (or not of course) so that other GB board owners can get a better fix. One that ports the data from one MSR to the other... simply because wiping that single bit might not be enough.