i386: expose "TCGTCGTCGTCG" in the 0x40000000 CPUID leaf
commit1ce36bfe6424243082d3d7c2330e1a0a4ff72a43
authorDaniel P. Berrange <berrange@redhat.com>
Tue, 9 May 2017 13:27:36 +0000 (9 14:27 +0100)
committerEduardo Habkost <ehabkost@redhat.com>
Mon, 17 Jul 2017 18:41:30 +0000 (17 15:41 -0300)
treec58746657db8a709970e935c9fcaa9b43c5ba903
parent39736e18cda64c501caab00d93ebfd8b4cf6b36e
i386: expose "TCGTCGTCGTCG" in the 0x40000000 CPUID leaf

Currently when running KVM, we expose "KVMKVMKVM\0\0\0" in
the 0x40000000 CPUID leaf. Other hypervisors (VMWare,
HyperV, Xen, BHyve) all do the same thing, which leaves
TCG as the odd one out.

The CPUID signature is used by software to detect which
virtual environment they are running in and (potentially)
change behaviour in certain ways. For example, systemd
supports a ConditionVirtualization= setting in unit files.
The virt-what command can also report the virt type it is
running on

Currently both these apps have to resort to custom hacks
like looking for 'fw-cfg' entry in the /proc/device-tree
file to identify TCG.

This change thus proposes a signature "TCGTCGTCGTCG" to be
reported when running under TCG.

To hide this, the -cpu option tcg-cpuid=off can be used.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Message-Id: <20170509132736.10071-3-berrange@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
include/hw/i386/pc.h
target/i386/cpu.c
target/i386/cpu.h