From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49699) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y8uXP-0008PL-6q for qemu-devel@nongnu.org; Wed, 07 Jan 2015 12:36:59 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Y8uXJ-0003RU-3A for qemu-devel@nongnu.org; Wed, 07 Jan 2015 12:36:55 -0500 Received: from mx1.redhat.com ([209.132.183.28]:47016) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Y8uXI-0003RQ-Rt for qemu-devel@nongnu.org; Wed, 07 Jan 2015 12:36:49 -0500 From: Eduardo Habkost Date: Wed, 7 Jan 2015 15:36:34 -0200 Message-Id: <1420652194-3224-3-git-send-email-ehabkost@redhat.com> In-Reply-To: <1420652194-3224-1-git-send-email-ehabkost@redhat.com> References: <1420652194-3224-1-git-send-email-ehabkost@redhat.com> Subject: [Qemu-devel] [PATCH 2/2] smbios: Don't report unknown CPU speed (fix SVVP regression) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Paolo Bonzini , "Gabriel L. Somlo" , Gerd Hoffmann SVVP requires processor speed on Type 4 structures to not be unknown. This was fixed in SeaBIOS 0.5.0 (in 2009), but the bug was reintroduced in QEMU 2.1. Revert to old behavior and report CPU speed as 2000 MHz instead of unknown. Signed-off-by: Eduardo Habkost --- hw/i386/smbios.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/hw/i386/smbios.c b/hw/i386/smbios.c index ae7032a..12d2137 100644 --- a/hw/i386/smbios.c +++ b/hw/i386/smbios.c @@ -618,8 +618,9 @@ static void smbios_build_type_4_table(unsigned instance) SMBIOS_TABLE_SET_STR(4, processor_version_str, type4.version); t->voltage = 0; t->external_clock = cpu_to_le16(0); /* Unknown */ - t->max_speed = cpu_to_le16(0); /* Unknown */ - t->current_speed = cpu_to_le16(0); /* Unknown */ + /* SVVP requires max_speed and current_speed to not be unknown. */ + t->max_speed = cpu_to_le16(2000); /* 2000 MHz */ + t->current_speed = cpu_to_le16(2000); /* 2000 MHz */ t->status = 0x41; /* Socket populated, CPU enabled */ t->processor_upgrade = 0x01; /* Other */ t->l1_cache_handle = cpu_to_le16(0xFFFF); /* N/A */ -- 1.9.3