ProjectOSX

Welcome Guest!

Returning User? Login here.

Want membership privileges? Register here.

9 Pages V   1 2 3 > »   
Start a new topic Add Reply
> Intelcpumonitor, IntelCPUMonitor Plug-in Topic
THe KiNG
post Dec 22 2010, 12:48 PM
Post #1
Here we discuss the IntelCPUMonitor Plug-in

You can download the latest code from assembla using terminal like this:

QUOTE


Latest binary you will find in Downloads section

PLEASE POST HERE ONLY BUGS, IDEAS RELATED TO IntelCPUMonitor ONLY!


How to correct temperature values
THe KiNG
post Dec 22 2010, 01:27 PM
Post #2
@ Slice,

I found the bug for injecting 2 TC%XD keys instead one:
QUOTE
Dec 22 11:57:11 HM311 kernel[0]: IntelCPUMonitor: CPU family 0x6, model 0x1c, stepping 0x2, cores 2, threads 0
Dec 22 11:57:11 HM311 kernel[0]: IntelCPUMonitor: BusClock=133MHz FSB=532MHz
Dec 22 11:57:11 HM311 kernel[0]: IntelCPUMonitor: Platform string T9
Dec 22 11:57:11 HM311 kernel[0]: IntelCPUMonitor: CPU Tjmax 100

It should be 1 core 2 threads, can you fix that?

Also default Tjmax for C0 rev should be 100(or 105 same as mobile penryn but not sure, intel data is more confusing...) , you showed some code about what I asked earlier, raising the Tjmax when is overclocked, can you implement that too?
Rest is working just fine.

Thanks!
Slice
post Dec 22 2010, 02:12 PM
Post #3
Test, please, and show me kernel.log part about the kext.
There should be line "InfoLog("MSR_CORE_THREAD_COUNT = %08x_%08lx", m2, msr);"

TJmax=100. Dynamically is not implemented yet. It would be second step if you tell me what is your min and max multiplyer. And with what tjmax changed.
[attachment=2882:IntelCPU...tor.kext.zip]
Пожалуйста, прочитайте ЧаВо!
i3-2120 GA-H61M-S1, Radeon HD6670, ALC887(VoodooHDA 2.8.4), OS⌘10.9.2, OS⌘ 10.7.5 Clover FakeSMC_plugins_3.3.1 Realtek LAN v3.1.2
THe KiNG
post Dec 22 2010, 04:03 PM
Post #4
QUOTE (Slice @ Dec 22 2010, 04:12 PM) *
Test, please, and show me kernel.log part about the kext.
There should be line "InfoLog("MSR_CORE_THREAD_COUNT = %08x_%08lx", m2, msr);"

TJmax=100. Dynamically is not implemented yet. It would be second step if you tell me what is your min and max multiplyer. And with what tjmax changed.
[attachment=2882:IntelCPU...tor.kext.zip]

It panics:
Attached File  IntelCPUMonitor.jpg ( 1.03MB ) Number of downloads: 274


from win:
CODE
Processors
-------------------------------------------------------------------------

Number of processors 1
Number of threads 2

APICs
-------------------------------------------------------------------------

Processor 0
-- Core 0
-- Thread 0 0
-- Thread 1 1

Processors Information
-------------------------------------------------------------------------

Processor 1 ID = 0
Number of cores 1 (max 1)
Number of threads 2 (max 2)
Name Intel Atom N270
Codename Diamondville
Specification Intel® Atom™ CPU N270 @ 1.60GHz
Package (platform ID) Socket 437 FCBGA8 (0x2)
CPUID 6.C.2
Extended CPUID 6.1C
Core Stepping C0
Technology 45 nm
Core Speed 798.2 MHz
Multiplier x FSB 6.0 x 133.0 MHz
Rated Bus speed 532.1 MHz
Stock frequency 1600 MHz
Instructions sets MMX, SSE, SSE2, SSE3, SSSE3
L1 Data cache 24 KBytes, 6-way set associative, 64-byte line size
L1 Instruction cache 32 KBytes, 8-way set associative, 64-byte line size
L2 cache 512 KBytes, 8-way set associative, 64-byte line size
FID/VID Control yes
FID range 6.0x - 12.0x
Max VID 1.200 V



Thread dumps
-------------------------------------------------------------------------

CPU Thread 0
APIC ID 0
Topology Processor ID 0, Core ID 0, Thread ID 0
Type 01010001h
Max CPUID level 0000000Ah
Max CPUID ext. level 80000008h
Cache descriptor Level 1, D, 24 KB, 2 thread(s)
Cache descriptor Level 1, I, 32 KB, 2 thread(s)
Cache descriptor Level 2, U, 512 KB, 2 thread(s)

CPUID
0x00000000 0x0000000A 0x756E6547 0x6C65746E 0x49656E69
0x00000001 0x000106C2 0x00020800 0x0040C39D 0xBFE9FBFF
0x00000002 0x4FBA5901 0x0E3080C0 0x00000000 0x00000000
0x00000003 0x00000000 0x00000000 0x00000000 0x00000000
0x00000004 0x00004121 0x0140003F 0x0000003F 0x00000001
0x00000004 0x00004122 0x01C0003F 0x0000003F 0x00000001
0x00000004 0x00004143 0x01C0003F 0x000003FF 0x00000001
0x00000005 0x00000040 0x00000040 0x00000003 0x00020220
0x00000006 0x00000001 0x00000002 0x00000001 0x00000000
0x00000007 0x00000000 0x00000000 0x00000000 0x00000000
0x00000008 0x00000000 0x00000000 0x00000000 0x00000000
0x00000009 0x00000000 0x00000000 0x00000000 0x00000000
0x0000000A 0x07280203 0x00000000 0x00000000 0x00002501
0x80000000 0x80000008 0x00000000 0x00000000 0x00000000
0x80000001 0x00000000 0x00000000 0x00000001 0x00100000
0x80000002 0x20202020 0x20202020 0x746E4920 0x52286C65
0x80000003 0x74412029 0x54286D6F 0x4320294D 0x4E205550
0x80000004 0x20303732 0x20402020 0x30362E31 0x007A4847
0x80000005 0x00000000 0x00000000 0x00000000 0x00000000
0x80000006 0x00000000 0x00000000 0x02008040 0x00000000
0x80000007 0x00000000 0x00000000 0x00000000 0x00000000
0x80000008 0x00002020 0x00000000 0x00000000 0x00000000

MSR 0x0000001B 0x00000000 0xFEE00900
MSR 0x00000017 0x00080000 0x9024CC27
MSR 0x000000CD 0x00000000 0x00000101
MSR 0x0000003F 0x00000000 0x00000000
MSR 0x000000CE 0x270F0C00 0x4B4B0000
MSR 0x000001A0 0x00000003 0x64972488
MSR 0x000000EE 0x00000000 0x02F90002
MSR 0x0000011E 0x00000000 0x7E00011F
MSR 0x0000019C 0x00000000 0x883C0000
MSR 0x00000198 0x060F0C27 0x06000C27
MSR 0x00000199 0x00000000 0x00000C27

CPU Thread 1
APIC ID 1
Topology Processor ID 0, Core ID 0, Thread ID 1
Type 01010001h
Max CPUID level 0000000Ah
Max CPUID ext. level 80000008h
Cache descriptor Level 1, D, 24 KB, 2 thread(s)
Cache descriptor Level 1, I, 32 KB, 2 thread(s)
Cache descriptor Level 2, U, 512 KB, 2 thread(s)

CPUID
0x00000000 0x0000000A 0x756E6547 0x6C65746E 0x49656E69
0x00000001 0x000106C2 0x01020800 0x0040C39D 0xBFE9FBFF
0x00000002 0x4FBA5901 0x0E3080C0 0x00000000 0x00000000
0x00000003 0x00000000 0x00000000 0x00000000 0x00000000
0x00000004 0x00004121 0x0140003F 0x0000003F 0x00000001
0x00000004 0x00004122 0x01C0003F 0x0000003F 0x00000001
0x00000004 0x00004143 0x01C0003F 0x000003FF 0x00000001
0x00000005 0x00000040 0x00000040 0x00000003 0x00020220
0x00000006 0x00000001 0x00000002 0x00000001 0x00000000
0x00000007 0x00000000 0x00000000 0x00000000 0x00000000
0x00000008 0x00000000 0x00000000 0x00000000 0x00000000
0x00000009 0x00000000 0x00000000 0x00000000 0x00000000
0x0000000A 0x07280203 0x00000000 0x00000000 0x00002501
0x80000000 0x80000008 0x00000000 0x00000000 0x00000000
0x80000001 0x00000000 0x00000000 0x00000001 0x00100000
0x80000002 0x20202020 0x20202020 0x746E4920 0x52286C65
0x80000003 0x74412029 0x54286D6F 0x4320294D 0x4E205550
0x80000004 0x20303732 0x20402020 0x30362E31 0x007A4847
0x80000005 0x00000000 0x00000000 0x00000000 0x00000000
0x80000006 0x00000000 0x00000000 0x02008040 0x00000000
0x80000007 0x00000000 0x00000000 0x00000000 0x00000000
0x80000008 0x00002020 0x00000000 0x00000000 0x00000000

MSR 0x0000001B 0x00000000 0xFEE00800
MSR 0x00000017 0x00080000 0x9024CC27
MSR 0x000000CD 0x00000000 0x00000101
MSR 0x0000003F 0x00000000 0x00000000
MSR 0x000000CE 0x270F0C00 0x4B4B0000
MSR 0x000001A0 0x00000003 0x64972480
MSR 0x000000EE 0x00000000 0x02F90002
MSR 0x0000011E 0x00000000 0x7E00011F
MSR 0x0000019C 0x00000000 0x883B0000
MSR 0x00000198 0x060F0C27 0x06000C27
MSR 0x00000199 0x00000000 0x00000C27

zorglub
post Dec 22 2010, 04:42 PM
Post #5
Two issues with an i7 930 cpu (nehalem).

The computed frequency is incorrect as it is computed from the base bus clock instead of the base cpu clock.
One fix would be to multiply the computed freq by gPEClockFrequencyInfo.bus_to_cpu_rate_den and divide by gPEClockFrequencyInfo.bus_to_cpu_rate_num.

I believe cpu_number() returns a value between 0 and 7 (inclusive).
0 is thread 0 of core 0. 1 is thread 1 core 0. 2 is thread 0 of core 1...
As a result, IntelState and IntelThermal get values for the first two cores only.
For nehalem, we need something like "i = cpu_number() >> 1" instead of "i = cpu_number()".

Tentative patch:
CODE
Index: IntelCPUMonitor.cpp
===================================================================
--- IntelCPUMonitor.cpp    (revision 449)
+++ IntelCPUMonitor.cpp    (working copy)
@@ -295,7 +295,11 @@
                    index = name[2] >= 'A' ? name[2] - 55 : name[2] - 48;
                    if (index >= 0 && index < count) {
                        mp_rendezvous_no_intrs(IntelThermal, &magic);
-                        value = tjmax[index] - GlobalThermalValue[index];
+                        if (!nehalemArch) {
+                            value = tjmax[index] - GlobalThermalValue[index];
+                        } else {
+                            value = tjmax[index] - GlobalThermalValue[index << 1];
+                        }
                    }
                    else {
                        //DebugLog("cpu index out of bounds");
@@ -357,7 +361,7 @@
            Frequency[i] = IntelGetFrequency(GlobalState[i].FID);
            Voltage = IntelGetVoltage(GlobalState[i].VID);
        } else {
-            Frequency[i] = IntelGetFrequency(GlobalState[i].VID);
+            Frequency[i] = IntelGetFrequency(GlobalState[i << 1].VID);
            Voltage = 1;
        }
    }
@@ -380,7 +384,7 @@
    }
    else {
        multiplier = fid & 0x1f;
-        frequency = (multiplier * BusClock);            
+        frequency = (multiplier * BusClock) * gPEClockFrequencyInfo.bus_to_cpu_rate_den / gPEClockFrequencyInfo.bus_to_cpu_rate_num;            
        return (frequency);    
    }
}


This post has been edited by zorglub: Dec 22 2010, 06:53 PM
Slice
post Dec 23 2010, 08:00 AM
Post #6
QUOTE (THe KiNG @ Dec 22 2010, 08:03 PM) *
It panics:

Thanks for win-info. It is helpful.
About panic. It seems Atom is not Nehalem and has no msr35, so I set manually cores=1 threads=2.

QUOTE (zorglub @ Dec 22 2010, 08:42 PM) *
Two issues with an i7 930 cpu (nehalem).

I applied your propositions. Thanks for sharing.
Attached File  IntelCPUMonitor.kext.zip ( 24.57K ) Number of downloads: 1145

Пожалуйста, прочитайте ЧаВо!
i3-2120 GA-H61M-S1, Radeon HD6670, ALC887(VoodooHDA 2.8.4), OS⌘10.9.2, OS⌘ 10.7.5 Clover FakeSMC_plugins_3.3.1 Realtek LAN v3.1.2
THe KiNG
post Dec 23 2010, 09:54 AM
Post #7
QUOTE (Slice @ Dec 23 2010, 10:00 AM) *
Thanks for win-info. It is helpful.
About panic. It seems Atom is not Nehalem and has no msr35, so I set manually cores=1 threads=2.

CODE
Dec 23 11:43:41 HM311 kernel[0]: IntelCPUMonitor: CPU family 0x6, model 0x1c, stepping 0x2, cores 1, threads 2
Dec 23 11:43:41 HM311 kernel[0]: IntelCPUMonitor: BusClock=133MHz FSB=532MHz
Dec 23 11:43:41 HM311 kernel[0]: IntelCPUMonitor: Platform string T9
Dec 23 11:43:41 HM311 kernel[0]: IntelCPUMonitor: CPU Tjmax 100


Now all looks good, thanks!

But what about dual core atom's cpus? Is there a check for that? Or if HT is turned off?
Slice
post Dec 23 2010, 11:03 AM
Post #8
New info -> new patches.
I can implement new features only if I have infomation.
Пожалуйста, прочитайте ЧаВо!
i3-2120 GA-H61M-S1, Radeon HD6670, ALC887(VoodooHDA 2.8.4), OS⌘10.9.2, OS⌘ 10.7.5 Clover FakeSMC_plugins_3.3.1 Realtek LAN v3.1.2
noam a
post Dec 25 2010, 05:06 PM
Post #9
hey there, i think i'm in the right section but correct me if i'm wrong,
i have compiled hwsensors, and put the files (FakeSMC, SuperIOFamily, NVClockX, IntelThermal - for some reason IntelCPUMonitor didn't work, does it need to work or it is better this way?) in the E/E folder

i can now successfully see some temps in istat pro, (Northbridge, GPU Diode, Ambient{what is that?}, CPU A,B (however i have Quad q6600 so i think there should be 4, no?) and my hard drives.

so here are the questions again in case you didn't understand

1.do i need IntelThermal or IntelCPUMonitor? because IntelCPUMonitor doesn't seem to work for me
2.with IntelThermal i can see CPU temps but only A and B and i have Quad Q6600, this is normal or not?

And In istat manu i can't see any of this, only my hard drives
am i doing something wrong?


please forgive me if i'm in the wrong section!
eMatoS
post Dec 25 2010, 06:27 PM
Post #10
Well, iStatPro shows up to 2 cores, so that's normal. Also I had to install everything on /S/L/E to get all readings so you should at least try and tell us if it works better. On the other hand, IstatMenu (+3,0) will show the readings depending on which Apple model you're loading on your smbios. For me it only works with MacPro3,1 and 5,1, though I get no speedstep with 5,1.
GA-Z68AP-D3 rev1 UEFI / i7 2600K @ 4,5GHz / ATI Radeon HD5770 1GB / Wireless TP-LINK TL-WN881ND / Bluetooth 2.1 IOGEAR GBU421
Clover kext patch for USB3 / RealtekRTL81xx for LAN / TianoCore EFI Hybrid BIOS / Clover Legacy and UEFI boot / ML 10.9.4 - 10.10 / MacBookPro8,3
noam a
post Dec 25 2010, 07:05 PM
Post #11
QUOTE (eMatoS @ Dec 25 2010, 06:27 PM) *
Well, iStatPro shows up to 2 cores, so that's normal. Also I had to install everything on /S/L/E to get all readings so you should at least try and tell us if it works better. On the other hand, IstatMenu (+3,0) will show the readings depending on which Apple model you're loading on your smbios. For me it only works with MacPro3,1 and 5,1, though I get no speedstep with 5,1.


hey thanks for replying, well i forgot to mention the first time i tried it, i just wasn't able to compile the xcode project so i used the FakeSMC from here which only works from S/L/E, then i figure my problem with xcode and compiled the fakesmc and the plugins, put in E/E and got almost same result (i have now "ambient" which was i think something else)

now it seems that u right about the smbios thing, i have MacPro2,1
so i guess i need to test some other
will back with results


------------

EDIT:
i test what u suggest and have no luck
i tried macbook3,1 and no luck
with macbook5,1 i got KP
any more suggestions?

This post has been edited by noam a: Dec 25 2010, 08:38 PM
eMatoS
post Dec 25 2010, 09:51 PM
Post #12
Is it a laptop or a desktop pc (though you mentioned the q6600 but then used macbook models)? You should use a model that is similar to your hardware, at least your CPU.
Get the data you need from this post: SMBIOS
GA-Z68AP-D3 rev1 UEFI / i7 2600K @ 4,5GHz / ATI Radeon HD5770 1GB / Wireless TP-LINK TL-WN881ND / Bluetooth 2.1 IOGEAR GBU421
Clover kext patch for USB3 / RealtekRTL81xx for LAN / TianoCore EFI Hybrid BIOS / Clover Legacy and UEFI boot / ML 10.9.4 - 10.10 / MacBookPro8,3
noam a
post Dec 26 2010, 04:26 AM
Post #13
QUOTE (eMatoS @ Dec 25 2010, 09:51 PM) *
Is it a laptop or a desktop pc (though you mentioned the q6600 but then used macbook models)? You should use a model that is similar to your hardware, at least your CPU.
Get the data you need from this post: SMBIOS


ohh sorry LOL, i'm using MacPro not Macbook sorry for mixup
But i will try with the following serial and boot rom versions too

------
EDIT:
Ok so i tried out from Macpro2,1 (which i already had) to MacPro5,1 with no luck
on both 4,1 & 5,1 i'm getting a Kernel Panic. (which BTW i can't understand i thought smbios is just cosmetic, but guess i'm wrong)
so will i be able to see my temp in istat menus?

one more thing, it seems SuperIOFamily working only from E/E, and not from the "plugins" folder i created inside FakeSMC->Contents , am i doing something wrong here either? (NVClockX & IntelThermal working just fine from there)

oh and BTW thanks for helping, much appreciated

This post has been edited by noam a: Dec 26 2010, 05:11 AM
Slice
post Dec 26 2010, 09:23 AM
Post #14
SuperIOFamily contains Plugins so I doubt that the kext may be placed into Plugins folder (double level!).

Use iMac11,1 instead of MacPro. MacPro is for Xeon processors that you have no.
Пожалуйста, прочитайте ЧаВо!
i3-2120 GA-H61M-S1, Radeon HD6670, ALC887(VoodooHDA 2.8.4), OS⌘10.9.2, OS⌘ 10.7.5 Clover FakeSMC_plugins_3.3.1 Realtek LAN v3.1.2
noam a
post Dec 26 2010, 09:39 AM
Post #15
QUOTE (Slice @ Dec 26 2010, 10:23 AM) *
SuperIOFamily contains Plugins so I doubt that the kext may be placed into Plugins folder (double level!).

Use iMac11,1 instead of MacPro. MacPro is for Xeon processors that you have no.


tried now, no luck yet.
and in the about screen i still see quad xeon is it ok?
just to make it more clear here is the smbios
CODE
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>SMbiosdate</key>
    <string>04/01/2008</string>
    <key>SMbiosversion</key>
    <string>IM111.88Z.0034.B02.1003171314</string>
    <key>SMfamily</key>
    <string>Mac Pro</string>
    <key>SMmanufacter</key>
    <string>Apple Computer, Inc.</string>
    <key>SMproductname</key>
    <string>iMac11,1</string>
    <key>SMserial</key>
    <string>W89470DZ5RU</string>
    <key>SMcputype</key>
    <string>1281</string>
    <key>SMsystemversion</key>
    <string>1.0</string>
</dict>
</plist>

Edit, find a little mistake, if anyone read before i change it just couple of minutes

This post has been edited by noam a: Dec 26 2010, 09:41 AM
Slice
post Dec 26 2010, 09:41 AM
Post #16
QUOTE
<key>SMfamily</key>
<string>Mac Pro</string>
Пожалуйста, прочитайте ЧаВо!
i3-2120 GA-H61M-S1, Radeon HD6670, ALC887(VoodooHDA 2.8.4), OS⌘10.9.2, OS⌘ 10.7.5 Clover FakeSMC_plugins_3.3.1 Realtek LAN v3.1.2
noam a
post Dec 26 2010, 09:46 AM
Post #17
noticed it and changed
but still no luck

This post has been edited by noam a: Dec 26 2010, 09:46 AM
Slice
post Dec 26 2010, 03:22 PM
Post #18
"About Mac -> Xeon" depends on bootloader.
Пожалуйста, прочитайте ЧаВо!
i3-2120 GA-H61M-S1, Radeon HD6670, ALC887(VoodooHDA 2.8.4), OS⌘10.9.2, OS⌘ 10.7.5 Clover FakeSMC_plugins_3.3.1 Realtek LAN v3.1.2
noam a
post Dec 26 2010, 03:43 PM
Post #19
QUOTE (Slice @ Dec 26 2010, 04:22 PM) *
"About Mac -> Xeon" depends on bootloader.

I'm currently using chameleon by mozodojo for native power management + mem detection,
i just tried the one supplied from the svn
still no luck' do i need some kind of flag or something?
Slice
post Dec 26 2010, 09:49 PM
Post #20
Show your bdmesg (messages from bootloader).
Пожалуйста, прочитайте ЧаВо!
i3-2120 GA-H61M-S1, Radeon HD6670, ALC887(VoodooHDA 2.8.4), OS⌘10.9.2, OS⌘ 10.7.5 Clover FakeSMC_plugins_3.3.1 Realtek LAN v3.1.2

9 Pages V   1 2 3 > » 
Add Reply Start a new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members: