Kaby Lake Leaks…

Do you remember this article that speculated about the i7-7700K because of this leaked image. Well. I have reasons to believe that this wasn’t the 95 Watt Intel i7-7700K but the 65 Watt Intel i7-7700. This means that the top of the S-Line processor will actually be even faster.

Fake Geekbench results

You may also have seen some Geekbench results of the ‘i5-7500‘ and the ‘i5-7600K‘.

Wrong brandstring

It is my believe that both of them are fake. The reason for this is that with the current/first series that were given out to motherboard manufacturers, the brand string does not report the actual data (shows CPU 0000). Only later series do, but with the addition of “Engineering Sample” (ES).

Wrong Stepping Number

Also note the: “Stepping 9” for a brand new processor. Now read what Intel has to say about it:

The first version of a new microprocessor product is the A-0 core step. As we make functional fixes or manufacturing improvements, the core stepping letter and/or number is incremented. Minor changes result in an increased number (for example, A-3 to A-4), while more complex changes result in the letter being changed (for example, A-3 to B-0). B-0 core stepping is more recent than an A-4 core stepping.

Do you really think that Intel, I mean this early, is already giving out a processors with:

1.) the correct brandstring?
2.) without engineering sample (ES) in the brandstring?
3.) stepping 9?

I guess not…

Lucky me. I had an iPhone 7 Plus for like ten minutes…

I was lucky to get my hands on the new iPhone 7 Plus en negro mate. Got in the car and opened the box. Put the sim card in it and turned it on. Homescreen. Wow. This is cool. Let’s go home quick and show my new iPhone to my wife. But then… STUPID STUPID stupid me!!! I had the windows open and put it on my dashboard so in the first corner… so long iPhone. It’s gone! 1089 euro lost in seven minutes or so. I am so pissed off that I am going to take a day or two off.

I will try to get a new one on Monday in Amsterdam… pffft.

Edit: Wait what? It’s back. It’s not even damaged. It dropped right inside a convertible on the road below me – no wonder I was unable to locate it. How did that happen? No idea but I can get it back in little over an hour. Freaking awesome!

Phil Schiller and the headphone jack on the next MacBook Pro…

philschillertheheadphonejackpuppet
On a more serious note. If Apple is going to remove the headphone jack from the next MacBook Pro, then I hope that they are going to use a USB Type-C connector for analog/digital audio. No thanks. I don’t need another proprietary connector that will be replaced in due time. Like Thunderbolt is being replaced by USB Type-C. A plus would be a USB-C to 3.5 headphone jack adapter. Included for free that is.

AppleIntelInfo.kext v1.7

The source code of a new update of AppleIntelInfo.kext is now available for download with a couple of new features. Like some information about the processor:

Processor Brandstring..................: Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz

Processor Signature................... : 0x506E3
----------------------------------------
 - Family............................. : 6
 - Stepping........................... : 3
 - Model.............................. : 0x5E (94)

Which can be quite helpful to me and I’m sure to some other folks as well. I also change the output of MSR’s 0x198, 0x199 and 0x1AD a little:

MSR_IA32_PERF_STATUS...........(0x198) : 0x27A200002500
----------------------------------------
 - Current Performance State Value.... : 0x2500 (3700 MHz)

MSR_IA32_PERF_CONTROL..........(0x199) : 0x2800
----------------------------------------
 - Target performance State Value..... : 0x2800 (4000 MHz)
 - Intel Dynamic Acceleration......... : 0 (IDA engaged)

MSR_TURBO_RATIO_LIMIT..........(0x1AD) : 0x25262728
----------------------------------------
 - Maximum Ratio Limit for C01........ : 28 (4000 MHz) 
 - Maximum Ratio Limit for C02........ : 27 (3900 MHz) 
 - Maximum Ratio Limit for C03........ : 26 (3800 MHz) 
 - Maximum Ratio Limit for C04........ : 25 (3700 MHz)

The newly added frequency in MHz is a small but helpful addition – we won’t have to use a calculator anymore. Next up. There is a whole lot of new data for a number of MSR’s.

MSR_RAPL_POWER_UNIT............(0x606) : 0xA0E03
----------------------------------------
 - Power Units........................ : 3 (1/8 Watt)
 - Energy Status Units................ : 14 (61 micro-Joules)
 - Time Units ........................ : 10 (976.6 micro-Seconds)

MSR_PKG_POWER_LIMIT............(0x610) : 0x42827000148208
----------------------------------------
 - Package Power Limit #1............. : 65 Watt
 - Enable Power Limit #1.............. : 1 (enabled)
 - Package Clamping Limitation #1..... : 0 (disabled)
 - Time Window for Power Limit #1..... : 10 (2560 milli-Seconds)
 - Package Power Limit #2............. : 78 Watt
 - Enable Power Limit #2.............. : 1 (enabled)
 - Package Clamping Limitation #2..... : 0 (disabled)
 - Time Window for Power Limit #2..... : 33 (10 milli-Seconds)
 - Lock............................... : 0 (MSR not locked)

MSR_PKG_ENERGY_STATUS..........(0x611) : 0x7456C81
----------------------------------------
 - Total Energy Consumed.............. : 7445 Joules (Watt = Joules / seconds)

MSR_PKG_POWER_INFO.............(0x614) : 0x208
----------------------------------------
 - Thermal Spec Power................. : 65 Watt
 - Minimum Power...................... : 0
 - Maximum Power...................... : 0
 - Maximum Time Window................ : 0

MSR_PP0_POWER_LIMIT............(0x638) : 0x0
----------------------------------------
 - Power Limit........................ : 0 Watt
 - Enable Power Limit................. : 0 (disabled)
 - Clamping Limitation................ : 0 (disabled)
 - Time Window for Power Limit........ : 0 (10 milli-Seconds)
 - Lock............................... : 0 (MSR not locked)

MSR_PP0_ENERGY_STATUS..........(0x639) : 0x5E0B1B5
----------------------------------------
 - Total Energy Consumed.............. : 6018 Joules (Watt = Joules / seconds)

MSR_PP1_POWER_LIMIT............(0x640) : 0x0
----------------------------------------
 - Power Limit........................ : 0 Watt
 - Enable Power Limit................. : 0 (disabled)
 - Clamping Limitation................ : 0 (disabled)
 - Time Window for Power Limit........ : 0 (10 milli-Seconds)
 - Lock............................... : 0 (MSR not locked)

MSR_PP1_ENERGY_STATUS..........(0x641) : 0xEAC0B2
----------------------------------------
 - Total Energy Consumed.............. : 939 Joules (Watt = Joules / seconds)

MSR_PP1_POLICY.................(0x642) : 0x18
----------------------------------------
 - Priority Level..................... : 24

The next update will hide data blocks for zero values – see MSR 0x638 and 0x640 – but for now… this is what we have to work with.

I hope that you will enjoy this update as mush as I do.

Geekbench 4 is out…

Sorry for being a bit late into the game, due to my holiday, but you should know that one of my favourite benchmarking tools is Geekbench from Primate Labs Inc. and I have been using Geekbench 2 and Geekbench 3 for quite a long time already, but now Geekbench 4 is out….

The first thing you’ll notice after firing it up is that the GUI is completely overhauled. It’s refreshingly more Apple like now, and this is how it looks:
Geekbench_4_CPU
Yeah I know. It’s much better looking, and the developer in me is impressed by the quality that the good folks at Primate Labs Inc. have delivered. I know how hard it is to come up with something that is strikingly beautiful. A huge step forward. Bravo!

More good news. A newly added Compute Benchmark gives us the opportunity to measure the performance of our (I)GPU. From one and the same app. And I am particular fond of it because of the Compute results browser. This gives me quick access to other results so that I can compare other results with mine. In the same kind of fashion that we are used to for our CPU benchmark results. Here is how it looks when you select it, before you run the Compute Benchmark:
Geekbench_4_Compute

Next up. Device information. This can be handy at times, but it would be even better when it allowed me to select the text and copy it. Or save it to a file. I don’t know why this feature is missing, but I think that it will be missed by a lot of people. One other thing that I don’t understand is the lack of information about the IGPU. Not even the amount of memory is shown on this screen:
Geekbench_4_Device
Maybe a good addition (RFE) for a next update. For me it certainly is, and sure. It’s not easy to get everything right the minute you launch a new app or a great update like Geekbench 4. I know that all to well myself. Still. A man can dream can’t he.

Note: The minimum requirement to run Geekbench 4 on your Mac is 10.11 (El Capitan) and I have used it on macOS Sierra Build 16A313a greater. From now on my prime benchmark tool. Like before😉

Head over to Geekbench.com to get your copy of Geekbench 4.

Recovering from lost hardware…

Sorry folks. I am currently in recovery mode. First the logicboard of the Macmini that I used for my VPN connection burned out and yesterday someone in a black VW Transporter has stolen all my computer hardware while we are in Monza Italy for todays F1 race (VIP area above Nico Rosbergs pit box).

I have no idea when exactly we will be back on-line but new hardware will be available the day that I return.

Update: All hardware was tracked down and recovered by police in Morocco. Thanks to CCTV footage and a GPS chip in my Mac Pro.

AppleIntelInfo.kext v1.6

I am working on a massive update of AppleIntelInfo.kext and slowly working towards v2.0 but I need feedback, so what I have available for you right now is the source code of v1.6 And what else is more self explanatory… as the new self explanatory output of AppleIntelInfo.kext itself:

AppleIntelInfo.kext v1.6 Copyright © 2012-2016 Pike R. Alpha. All rights reserved

Settings:
------------------------------------
logMSRs............................: 1
logIGPU............................: 1
logCStates.........................: 1
logIPGStyle........................: 1
InitialTSC.........................: 0x4cfcc0f7c8e
MWAIT C-States.....................: 1319200

Model Specific Registers (MSRs)
---------------------------------------

MSR_CORE_THREAD_COUNT..........(0x35) : 0x40008
----------------------------------------
- Core Count......................... : 4
- Thread Count....................... : 8

MSR_PLATFORM_INFO..............(0xCE) : 0x80838F1012200
----------------------------------------
- Maximum Non-Turbo Ratio............ : 34
- Ratio Limit for Turbo Mode......... : 1 (programmable)
- TDP Limit for Turbo Mode........... : 1 (programmable)
- Low Power Mode Support............. : 0 (LMP not supported)
- Number of ConfigTDP Levels......... : 0 (only base TDP level available)
- Maximum Efficiency Ratio........... : 8
- Minimum Operating Ratio............ : 8

MSR_PMG_CST_CONFIG_CONTROL.....(0xE2) : 0x7E000008
----------------------------------------
- I/O MWAIT Redirection Enable....... : 0 (not enabled)
- CFG Lock........................... : 0 (MSR not locked)
- C3 State Auto Demotion............. : 1 (enabled)
- C1 State Auto Demotion............. : 1 (enabled)
- C3 State Undemotion................ : 1 (enabled)
- C1 State Undemotion................ : 1 (enabled)
- Package C-State Auto Demotion...... : 1 (enabled)
- Package C-State Undemotion......... : 1 (enabled)

MSR_PMG_IO_CAPTURE_BASE........(0xE4) : 0x31814
----------------------------------------
- LVL_2 Base Address................. : 0x1814
- C-state Range...................... : 3 (C-States not included, I/O MWAIT redirection not enabled)

IA32_MPERF.....................(0xE7) : 0x33E0B3CD05
IA32_APERF.....................(0xE8) : 0xC9C422E20

MSR_FLEX_RATIO.................(0x194) : 0x0
----------------------------------------

MSR_IA32_PERF_STATUS...........(0x198) : 0x274F00002500
----------------------------------------
- Current Performance State Value.... : 0x2500

MSR_IA32_PERF_CONTROL..........(0x199) : 0x2800
----------------------------------------
- Target performance State Value..... : 0x2800
- Intel Dynamic Acceleration......... : 0 (IDA engaged)

IA32_CLOCK_MODULATION..........(0x19A) : 0x0
IA32_THERM_STATUS..............(0x19C) : 0x884B0800

IA32_MISC_ENABLES..............(0x1A0) : 0x850089
----------------------------------------
- Fast-Strings....................... : 1 (enabled)
- Automatic Thermal Control Circuit.. : 1 (enabled)
- Performance Monitoring............. : 1 (available)
- Enhanced Intel SpeedStep Technology : 1 (enabled)

MSR_MISC_PWR_MGMT..............(0x1AA) : 0x18C1
----------------------------------------
- EIST Hardware Coordination......... : 1 (disabled)

MSR_TURBO_RATIO_LIMIT..........(0x1AD) : 0x25262728
----------------------------------------
- Maximum Ratio Limit for C00........ : 40
- Maximum Ratio Limit for C01........ : 39
- Maximum Ratio Limit for C02........ : 38
- Maximum Ratio Limit for C03........ : 37

IA32_ENERGY_PERF_BIAS..........(0x1B0) : 0x1
----------------------------------------
- Power Policy Preference.............: 1 (highest performance)

MSR_POWER_CTL..................(0x1FC) : 0x2C005F
MSR_RAPL_POWER_UNIT............(0x606) : 0xA0E03
MSR_PKG_POWER_LIMIT............(0x610) : 0x42FFD0001A8208
MSR_PKG_ENERGY_STATUS..........(0x611) : 0x6ACF78F
MSR_PKG_POWER_INFO.............(0x614) : 0x208
MSR_PP0_POWER_LIMIT............(0x638) : 0x0
MSR_PP0_ENERGY_STATUS..........(0x639) : 0x5754BCB
MSR_TURBO_ACTIVATION_RATIO.....(0x64C) : 0x0
MSR_PKGC6_IRTL.................(0x60b) : 0x8876
MSR_PKGC7_IRTL.................(0x60c) : 0x8894
MSR_PKG_C2_RESIDENCY...........(0x60d) : 0x2FD0B893448
MSR_PKG_C3_RESIDENCY...........(0x3f8) : 0x0
MSR_PKG_C6_RESIDENCY...........(0x3f9) : 0x0
MSR_PKG_C7_RESIDENCY...........(0x3fa) : 0x0
IA32_TSC_DEADLINE..............(0x6E0) : 0x4CFCF5A38F1
MSR_PPERF......................(0x63E) : 0xFFFFFF802ADF09F0 (122)

IA32_PM_ENABLE.................(0x770) : 0x3700000000 (HWP Enabled)

IA32_HWP_CAPABILITIES..........(0x771) : 0x1102228
----------------------------------------
- Highest Performance................ : 40
- Guaranteed Performance............. : 34
- Most Efficient Performance......... : 16
- Lowest Performance................. : 1

IA32_HWP_INTERRUPT.............(0x773) : 0x0
----------------------------------------
- Guaranteed Performance Change...... : 0 (Interrupt generation disabled)
- Excursion Minimum.................. : 0 (Interrupt generation disabled)

IA32_HWP_REQUEST...............(0x774) : 0x8000FF01
----------------------------------------
- Minimum Performance................ : 1
- Maximum Performance................ : 255
- Desired Performance................ : 0
- Energy Efficient Performance....... : 128
- Activity Window.................... : 0, 0
- Package Control.................... : 0

IA32_HWP_STATUS................(0x777) : 0x0
----------------------------------------
- Guaranteed Performance Change...... : 0 (has not occured)
- Excursion To Minimum............... : 0 (has not occured)

CPU Ratio Info:
----------------------------------------
CPU Maximum Efficiency Ratio...........: 800 MHz
CPU Maximum non-Turbo Frequency........: 3400 MHz
CPU Maximum Turbo Frequency............: 4000 MHz

IGPU Info:
----------------------------------------
IGPU Current Frequency.................: 0 MHz
IGPU Minimum Frequency.................: 350 MHz
IGPU Maximum Non-Turbo Frequency.......: 350 MHz
IGPU Maximum Turbo Frequency...........: 1150 MHz
IGPU Maximum limit.....................: No Limit

Now what?

It should be pretty straightforward for developers, but just in case you don’t know what to do. This should help:

1.) Download the updated source code.
2.) Compile it with Xcode.
3.) cd /Library/Developer/Xcode/DerivedData/AppleIntelInfo-*/Build/Products/Debug
4.) sudo chown -R root:wheel AppleIntelInfo.kext
5.) sudo chmod -R 755 AppleIntelInfo.kext
6.) sudo kextload AppleIntelInfo.kext

What is next?

I also have a new command line tool in the works that will output the same kind of (MSR) data but I won’t release it until after AppleIntelInfo.kext is done.

Update: Ok. Many thanks for the feedback and output of the updated kext. You may have noticed that I started to fix a couple of issues, and there is a lot more to do for me. I’ll get back to you when I am done with the next set of changes. Again. Thanks again for your feedback!