i found out that there are some IDs associated to the CPUIDs in vmx file of each virtual machine, these IDs are;
hostCPUID.{Num}
hostCPUID.80000001
guestCPUID.{Num}
guestCPUID.80000001
userCPUID.{Num}
userCPUID.80000001
i had some examination and search and i found out that guestCPUID and userCPUID are the same but hostCPUID always is different, Also i realized that these IDs are 32 hexadecimal characters that contains EDX, EAX, ECX and EDX
i just want to know why hostCPUID is different from two other IDs??
and what is the different between these format of IDs and another format that explain in VMware documents ( cpuid.{Num}.edx or cpuid.{Num}.eax ) that written in binary codes not hexadecimal??
also i need to know why there are no CPUIDs in vmx file of some virtual appliance that often are available in OVF/OVA format and we can just deploy it??
Best Regards,
Best Answer
It looks like they aren't IDs at all but masks of what features are available:
Meaning of the hostCPUID, userCPUID and guestCPUID lines in the vmware.log file
ESXi doesn't expose all CPU features to the VM, at least not when making use of EVC. So it's obvious that the "virtual" CPU has a different mask than the actual raw CPU.
OVF/OVA don't have a real CPU underneath. And the CPU features presented to the VM are determined by the environment the virtual appliance is deployed to. So presumably they are simply missing because there's no meaningful value for them. (I'm just guessing here.)