From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34901) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZeksK-00075E-EJ for qemu-devel@nongnu.org; Wed, 23 Sep 2015 10:18:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZeksH-0001oC-9U for qemu-devel@nongnu.org; Wed, 23 Sep 2015 10:18:24 -0400 Received: from mx1.redhat.com ([209.132.183.28]:39548) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZeksH-0001o6-4v for qemu-devel@nongnu.org; Wed, 23 Sep 2015 10:18:21 -0400 From: Andrew Jones Date: Wed, 23 Sep 2015 16:18:12 +0200 Message-Id: <1443017892-15567-1-git-send-email-drjones@redhat.com> Subject: [Qemu-devel] [PATCH] hw/arm/virt: smbios: inform guest of kvm List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: wei@redhat.com, peter.maydell@linaro.org ARM/AArch64 KVM guests don't have any way to identify themselves as KVM guests (x86 guests use a CPUID leaf). Now, we could discuss all sorts of reasons why guests shouldn't need to know that, but then there's always some case where it'd be nice... Anyway, now that we have SMBIOS tables in ARM guests, it's easy for the guest to know that it's a QEMU instance. This patch takes that one step further, also identifying KVM, when appropriate. Again, we could debate why generally nothing should care whether it's of type QEMU or QEMU/KVM, but again, sometimes it's nice to know... Signed-off-by: Andrew Jones --- hw/arm/virt.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/hw/arm/virt.c b/hw/arm/virt.c index 6bf0d6d591d6c..607d448354a8c 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -855,12 +855,17 @@ static void virt_build_smbios(VirtGuestInfo *guest_info) FWCfgState *fw_cfg = guest_info->fw_cfg; uint8_t *smbios_tables, *smbios_anchor; size_t smbios_tables_len, smbios_anchor_len; + const char *product = "QEMU Virtual Machine"; if (!fw_cfg) { return; } - smbios_set_defaults("QEMU", "QEMU Virtual Machine", + if (kvm_enabled()) { + product = "KVM Virtual Machine"; + } + + smbios_set_defaults("QEMU", product, "1.0", false, true, SMBIOS_ENTRY_POINT_30); smbios_get_tables(NULL, 0, &smbios_tables, &smbios_tables_len, -- 1.8.3.1