VMware Communities
AFWbrander
Contributor
Contributor

Fusion - Option to enable code profiling applications fails on iMac 2017 I7 7700K whereas it works on iMac 2010.

Fusion - Option to enable code profiling application fails on iMac 2017 I7 7700K whereas it works on iMac 2010.

The virtual guests ( Win 10 ) were transferred from a  Mid 2010 iMac using macOS Sierra (latest update) to a new iMac 2017 with Core i7 7700k processor also using MacOS Sierra ( same update level).

This all worked fine on Mid 2010 iMac.

On iMac 2017 with Core i7 7700k processor Fusion reports (VPMC) "Virtualization Performance Monitoring Counters not supported on this CPU architecture".

I have not seen this documented, but I have seen similar question asked with no reply.

Tags (2)
1 Reply
bluefirestorm
Champion
Champion

I don't have a Kaby Lake processor machine. But looking at vmware.log files in this forum, it seems that VMware Workstation/Player does not identify the codename of the Kaby Lake processors properly although it does seem to identify its features/capabilities properly (e.g. AVX2, etc). Those with Kaby Lake processors would have these lines.

| vmx| I125: hostCPUID codename: Pentium Core -- Unknown codename

| vmx| I125: guest vs. host CPUID guest codename: Pentium Core -- Unknown codename

I'd be curious to see the vmware.log of the VM that has this VPMC problem and see whether the same problem exists and whether Fusion identifies the VPMC capabilities of the host CPU properly.

As a possible workaround, you could try masking the CPUID of the guest VM and see whether the VPMC problem gets resolved. The VM would think that it sees an i7-6770K (the immediate predecessor of i7-7700K) by adding this line to the vmx configuration of the VM.

cpuid.1.eax = "0000:0000:0000:0101:0000:0110:1110:0111"

CPUID leaf 1 EAX value of i7-6770K is 506E3 http://www.cpu-world.com/CPUs/Core_i7/Intel-Core%20i7-6700K.html#cpuid

Somehow the method to mask the host CPU ID doesn't seem to work (instead of cpuid, it would be cpuidMask.1.eax). Ideally it would be better to mask the host CPUID in this scenario as the actual capabilities resides in the host CPU.