я узнал, что существуют некоторые идентификаторы, связанные с CPUIDs в vmx файле каждой виртуальной машины, эти идентификаторы;
hostCPUID. {Цифра}
hostCPUID.80000001
guestCPUID. {Цифра}
guestCPUID.80000001
userCPUID. {Цифра}
userCPUID.80000001
у меня были некоторое исследование и поиск, и я узнал, что guestCPUID и userCPUID являются тем же, но hostCPUID всегда отличается, Также я понял, что эти идентификаторы являются 32 шестнадцатеричными символами, который содержит EDX, EAX, ECX и EDX
я просто хочу знать, почему hostCPUID отличается от двух других идентификаторов??
и что является различным между ними, форматируют идентификаторов и другого формата, которые объясняют в документах VMware (cpuid. {Цифра} .edx или cpuid. {Цифра} .eax) записанный в двоичных кодах, не шестнадцатеричных??
также я должен знать, почему нет никаких CPUIDs в vmx файле некоторого виртуального устройства, которые часто доступны в формате OVF/OVA, и мы можем просто развернуть его??
С уважением,
Похоже, что это вовсе не идентификаторы, а маски того, какие возможности имеются:
Я предполагаю, что "хост" в hostCPUID - это фактические необработанные биты CPUID, сообщаемые ESXi процессором хоста
GuestCPUID представляет собой биты возможностей, выставленные на ВМ. В дополнение к маскировке, применяются маски, основанные на возможностях, поддерживаемых виртуальным оборудованием.
UserCPUID - это то, что будет видно коду гостевого кольца-3, запущенному с использованием двоичной трансляции.
Значение строк hostCPUID, userCPUID и guestCPUID в файле vmware.log
ESXi не раскрывает всех возможностей процессора ВМ, по крайней мере, не при использовании EVC. Так что очевидно, что "виртуальный" процессор имеет маску, отличную от реального сырого процессора.
OVF/OVA не имеет реального процессора под ним. А возможности процессора, представленные в ВМ, определяются средой, в которой развернуто виртуальное устройство. Поэтому, вероятно, они просто отсутствуют, так как для них нет никакой значимой ценности. (Я просто догадываюсь.)