From nobody Wed May 15 10:36:37 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1694177211; cv=none; d=zohomail.com; s=zohoarc; b=MoBNQVc0GK+ZvsSLW77UyB2FugDLX56M/xBqIOkkZDXaO5YXqEVlfr0TFyIZlOW2W1kB2SFCUM5F9ng8Ea7x9712hqSM8ml+2FXmM0X3V4Lx6/C/vpVAcELKl8zSLiq6w4uLmDTe/mAL9GpR7d3onwJq+4xXGsAXS9mY58j44JU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694177211; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=7dIA4q8l/1YGfhWGTPsegsXPh0H8iDvPKD306R29RwE=; b=gmvDG+y21zWKIq5IFCF6JqdHNl3h3E3bgRshGCY8GwyfxjfORZjW9G+A5rnvFTUi1+JVMo/kQTpImt+osEFAgB1t3SGfuohtknEEXfUquYsKSzbL9j8Pf/r5xY+l9HK//mT5bfm2PcGsh5by/wSQxf5zfvJYXf5QRVlcNXA+jlw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1694177211751265.4369937362742; Fri, 8 Sep 2023 05:46:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qeasA-0003gf-Vn; Fri, 08 Sep 2023 08:46:07 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qeas9-0003gS-6j for qemu-devel@nongnu.org; Fri, 08 Sep 2023 08:46:05 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qeas2-0006Kt-Hz for qemu-devel@nongnu.org; Fri, 08 Sep 2023 08:46:04 -0400 Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-286-CljUndrmMqeLWhnSmJI3rw-1; Fri, 08 Sep 2023 08:45:38 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 590CE184174D; Fri, 8 Sep 2023 12:45:37 +0000 (UTC) Received: from work.redhat.com (unknown [10.39.194.211]) by smtp.corp.redhat.com (Postfix) with ESMTP id 7098321EE566; Fri, 8 Sep 2023 12:45:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1694177141; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=7dIA4q8l/1YGfhWGTPsegsXPh0H8iDvPKD306R29RwE=; b=bqKlzzFjjyFt4ZI/LWmawSy9lmz3djE3BPjShogWHZBOGGqbLCQ2blzbD13o3BBPfY6GVb bwB7SgKqGovQavewhdzyQOkC+CU5dvy2MMEfEDulDR5lqxJlfbAIpNVrqvdJ1ulHPXKLXc rvFB5v/DjX8/W2gPKMSSfmJqQjN26HI= X-MC-Unique: CljUndrmMqeLWhnSmJI3rw-1 From: Tim Wiederhake To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Paolo Bonzini , "Michael S . Tsirkin" , Tim Wiederhake Subject: [PATCH v2 01/10] target/i386: Add missing feature names in FEAT_VMX_EPT_VPID_CAPS Date: Fri, 8 Sep 2023 14:45:25 +0200 Message-Id: <20230908124534.25027-2-twiederh@redhat.com> In-Reply-To: <20230908124534.25027-1-twiederh@redhat.com> References: <20230908124534.25027-1-twiederh@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.6 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=twiederh@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1694177213566100007 Content-Type: text/plain; charset="utf-8" Add the missing feature names for two bits in the FEAT_VMX_EPT_VPID_CAPS cpuid leaf. "vmx-ept-uc" is currently unused, but "vmx-ept-wb" is enabled for multiple cpu models. Signed-off-by: Tim Wiederhake Reviewed-by: Igor Mammedov --- target/i386/cpu.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 24ee67b42d..7c2c48ac06 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -1314,8 +1314,8 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { .feat_names =3D { "vmx-ept-execonly", NULL, NULL, NULL, NULL, NULL, "vmx-page-walk-4", "vmx-page-walk-5", - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, + "vmx-ept-uc", NULL, NULL, NULL, + NULL, NULL, "vmx-ept-wb", NULL, "vmx-ept-2mb", "vmx-ept-1gb", NULL, NULL, "vmx-invept", "vmx-eptad", "vmx-ept-advanced-exitinfo", NULL, NULL, "vmx-invept-single-context", "vmx-invept-all-context", N= ULL, --=20 2.39.2 From nobody Wed May 15 10:36:37 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1694177271; cv=none; d=zohomail.com; s=zohoarc; b=SxeaYA9iJNaPHHGYpbVhnwtL+1yHookiux6o6csFmKb/o+3nYvEHa6/Mz/EWGzd//KXJSmywAWkV4DBg+2zJBeJ0sBavBBbJEwETvQk8NP1L7OkVt5XUD/0vxlSp6ucwnVDRgsJ3eh/qbFn1c4iD4yx2o9+H63eRa1fzey8gUdI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694177271; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=d38o6sgv9OWnxOsVXrct03tSnYjnFJgfcNcrQ2UQJPA=; b=mvCQKOymbmEZ2hhHUw4oTNBC3OeTnLhThPV9iI84C1AWoOmiZ/YPTPVueDJxWYDmDq6DM8vvSHVm14cupOPRwmFGUXkkjW9zDLxMeJ7xoMnmH2xiCx1jZihvnCcPXa6xINKULZhu/m4xrYAqBUWmL3s1NjROAoD4f50uAUO6V9g= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 169417727139065.79370573013352; Fri, 8 Sep 2023 05:47:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qeasG-0003lU-G0; Fri, 08 Sep 2023 08:46:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qeasC-0003iF-7w for qemu-devel@nongnu.org; Fri, 08 Sep 2023 08:46:08 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qeas6-0006Kz-Tm for qemu-devel@nongnu.org; Fri, 08 Sep 2023 08:46:07 -0400 Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-493-c5vLE9lRNaeJuvHr97I0gA-1; Fri, 08 Sep 2023 08:45:38 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 794E21C05EA1; Fri, 8 Sep 2023 12:45:38 +0000 (UTC) Received: from work.redhat.com (unknown [10.39.194.211]) by smtp.corp.redhat.com (Postfix) with ESMTP id 9176321EE56B; Fri, 8 Sep 2023 12:45:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1694177141; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=d38o6sgv9OWnxOsVXrct03tSnYjnFJgfcNcrQ2UQJPA=; b=Q/f+Tlt5i93fGwdZAlDlO3scmFNl5WSDAICIJo66EDa3hxizc8DQKVuZbKG0MxeevPVOrn fnSSQ8vtXTED9+mmMp36PLjW2j50qCHczvdM4639z17qTxRdeFyb34GI2J3WrEkevgpGcY tgLBj24MaHAQBIhbschUODc7pZIBVjY= X-MC-Unique: c5vLE9lRNaeJuvHr97I0gA-1 From: Tim Wiederhake To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Paolo Bonzini , "Michael S . Tsirkin" , Tim Wiederhake Subject: [PATCH v2 02/10] target/i386: Fix feature names in FEAT_VMX_EPT_VPID_CAPS Date: Fri, 8 Sep 2023 14:45:26 +0200 Message-Id: <20230908124534.25027-3-twiederh@redhat.com> In-Reply-To: <20230908124534.25027-1-twiederh@redhat.com> References: <20230908124534.25027-1-twiederh@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.6 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=twiederh@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1694177272542100003 Content-Type: text/plain; charset="utf-8" Fix a copy-paste-mistake in the FEAT_VMX_EPT_VIPD_CAPS cpuid leaf. The mistake became apparent as there were two features with the same name in this cpuid leaf. The names are now in line with SDM volume 3, appendix A, section 10. Fixes: 20a78b02d3 ("target/i386: add VMX features") Signed-off-by: Tim Wiederhake --- target/i386/cpu.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 7c2c48ac06..f10d343935 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -1322,8 +1322,8 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, NULL, NULL, NULL, "vmx-invvpid", NULL, NULL, NULL, NULL, NULL, NULL, NULL, - "vmx-invvpid-single-addr", "vmx-invept-single-context", - "vmx-invvpid-all-context", "vmx-invept-single-context-nogl= obals", + "vmx-invvpid-single-addr", "vmx-invvpid-single-context", + "vmx-invvpid-all-context", "vmx-invvpid-single-context-nog= lobals", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, --=20 2.39.2 From nobody Wed May 15 10:36:37 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1694177207; cv=none; d=zohomail.com; s=zohoarc; b=EekstNOTQOOGTXHBX2cEta5HWoCAhIPagsRGVzjSmn74m1vgHeiZ6EzJSj3unFEOMEqqepYauBfk0nSBm5qiANaopFXHJLRcCpfUyc3Z8gq/2+ZiyVqhi8xUHK+AxZQsFguzxL2hI04bhlQHTnX/3T8okWJUDky1QCahFMvTsq4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694177207; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=XDuhSCDGkZEhp8x/gX9rTugs+9BIkW1oG0c8Fay26ZA=; b=C4zlMBZiWDWq81dbrbRVnVwjIrVcnM9LAeKyG7KozPK3MFHuGL3IBB+mGz3XEA1RrcyDpdHcnsxz+t1kUoza8H84EWcLkyIuq0J1zQBdmEl7ln784fGD4z7/Aw0SPojPYlz9TLQcBOktV3yMsC/jrrxsqOtk5FlCDrPLxdNge7I= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1694177207285122.37484374199403; Fri, 8 Sep 2023 05:46:47 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qeasE-0003il-5T; Fri, 08 Sep 2023 08:46:10 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qeasA-0003gg-Ln for qemu-devel@nongnu.org; Fri, 08 Sep 2023 08:46:06 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qeas5-0006Kv-Ti for qemu-devel@nongnu.org; Fri, 08 Sep 2023 08:46:06 -0400 Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-438-ewELP0J2MQazR_4FJ6WvJw-1; Fri, 08 Sep 2023 08:45:39 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 9AAA8816524; Fri, 8 Sep 2023 12:45:39 +0000 (UTC) Received: from work.redhat.com (unknown [10.39.194.211]) by smtp.corp.redhat.com (Postfix) with ESMTP id B33B820BB074; Fri, 8 Sep 2023 12:45:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1694177141; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=XDuhSCDGkZEhp8x/gX9rTugs+9BIkW1oG0c8Fay26ZA=; b=JhdQle0cgcyi/zqmux/fw7OJmIyTh0pfT6YH2jOm4nsLbLPYWNPTcgCBsgBxYPu9AGVqdv f/pl66eTjv/MiS1Vtp/WGi/q/YAtUzoJ8hM+GOVTnTOFSjaeGVr2x4wizbveodNrgr+OsL VhveFHLI7CWHD1dglPzwaMNOJNjGOF8= X-MC-Unique: ewELP0J2MQazR_4FJ6WvJw-1 From: Tim Wiederhake To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Paolo Bonzini , "Michael S . Tsirkin" , Tim Wiederhake Subject: [PATCH v2 03/10] target/i386: Fix duplicated feature name in FEAT_KVM Date: Fri, 8 Sep 2023 14:45:27 +0200 Message-Id: <20230908124534.25027-4-twiederh@redhat.com> In-Reply-To: <20230908124534.25027-1-twiederh@redhat.com> References: <20230908124534.25027-1-twiederh@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.6 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=twiederh@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1694177209591100003 Content-Type: text/plain; charset="utf-8" The mistake became apparent as there were two features with the same name in this cpuid leaf. The names are now in line with the documentation from https://kernel.org/doc/html/latest/virt/kvm/x86/cpuid.html Fixes: 642258c6c7 ("kvm: add kvmclock to its second bit") Signed-off-by: Tim Wiederhake --- target/i386/cpu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index f10d343935..f0fedf4b88 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -852,7 +852,7 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { [FEAT_KVM] =3D { .type =3D CPUID_FEATURE_WORD, .feat_names =3D { - "kvmclock", "kvm-nopiodelay", "kvm-mmu", "kvmclock", + "kvmclock", "kvm-nopiodelay", "kvm-mmu", "kvmclock2", "kvm-asyncpf", "kvm-steal-time", "kvm-pv-eoi", "kvm-pv-unhalt", NULL, "kvm-pv-tlb-flush", NULL, "kvm-pv-ipi", "kvm-poll-control", "kvm-pv-sched-yield", "kvm-asyncpf-int", "= kvm-msi-ext-dest-id", --=20 2.39.2 From nobody Wed May 15 10:36:37 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1694177328; cv=none; d=zohomail.com; s=zohoarc; b=mb0i1UT/UO3b+gvMH8XT5mcTRSWmTVpKu9vxqChuNiIAbe4gK8co73IqcR6KAujsw2ls+RzfcauSklxwGpONlqB7Jr/u8S5kSiA6jGG1CAjQ8XIuHeXROOzb6Kbf6rG9rf70lTXs8tci5eSggtbVt3g20/QJNsrbG6OoUl1gL6I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694177328; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=r4v2UNO09l3D5rqVvYOTwvX9KjE7HsQvpbrFmW+LzOQ=; b=m8uLTMfHNSVNu8FvG/zKW/+M5yZysmK9ZzNNmTnrUwxWTAy/P+QgzxRlofHI01RZC88UWEbhvChKbeoBO031XFEw7nEWLPOaVYyqFKxc+czGjDTNRQRUz3dTGyzNKq7BaYyOXxxKfAfgJw3Zb4XEhxW55FwQRuxaY5zXcyTpyMY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 169417732841644.746548360173506; Fri, 8 Sep 2023 05:48:48 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qeasH-0003m3-VO; Fri, 08 Sep 2023 08:46:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qeasF-0003kQ-Ml for qemu-devel@nongnu.org; Fri, 08 Sep 2023 08:46:11 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qeas6-0006LC-UB for qemu-devel@nongnu.org; Fri, 08 Sep 2023 08:46:11 -0400 Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-231-k5mXhk68OBeFd57x6r0bhA-1; Fri, 08 Sep 2023 08:45:41 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 095341841746; Fri, 8 Sep 2023 12:45:41 +0000 (UTC) Received: from work.redhat.com (unknown [10.39.194.211]) by smtp.corp.redhat.com (Postfix) with ESMTP id DE79720BAE38; Fri, 8 Sep 2023 12:45:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1694177145; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=r4v2UNO09l3D5rqVvYOTwvX9KjE7HsQvpbrFmW+LzOQ=; b=gXi08v6mOlv7DE71AQx+KX+W12/aJ8Hpr7nKuD0y9QKe8JR0q/YiMV+FrJble6/OovyVbt aDHQFqFYHD4gT0u2CvUXwVCWRnxkQeOEIm7lU+xye/Xor9WsXyvujWvWiJCbu7lXKxNk2U x1EoDTUkA/y9GEmuk2xQW/8Z3i0k/Wg= X-MC-Unique: k5mXhk68OBeFd57x6r0bhA-1 From: Tim Wiederhake To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Paolo Bonzini , "Michael S . Tsirkin" , Tim Wiederhake Subject: [PATCH v2 04/10] target/i386: Split out feature_word_info Date: Fri, 8 Sep 2023 14:45:28 +0200 Message-Id: <20230908124534.25027-5-twiederh@redhat.com> In-Reply-To: <20230908124534.25027-1-twiederh@redhat.com> References: <20230908124534.25027-1-twiederh@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.6 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=twiederh@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1694177329639100003 Content-Type: text/plain; charset="utf-8" The isolated part will be generated by a script. Signed-off-by: Tim Wiederhake --- target/i386/cpu.c | 677 +--------------------------- target/i386/feature_word_info.c.inc | 676 +++++++++++++++++++++++++++ 2 files changed, 677 insertions(+), 676 deletions(-) create mode 100644 target/i386/feature_word_info.c.inc diff --git a/target/i386/cpu.c b/target/i386/cpu.c index f0fedf4b88..23ed2fb09c 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -762,682 +762,7 @@ void x86_cpu_vendor_words2str(char *dst, uint32_t ven= dor1, #define TCG_8000_0008_EBX (CPUID_8000_0008_EBX_XSAVEERPTR | \ CPUID_8000_0008_EBX_WBNOINVD | CPUID_8000_0008_EBX_KERNEL_FEATUR= ES) =20 -FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { - [FEAT_1_EDX] =3D { - .type =3D CPUID_FEATURE_WORD, - .feat_names =3D { - "fpu", "vme", "de", "pse", - "tsc", "msr", "pae", "mce", - "cx8", "apic", NULL, "sep", - "mtrr", "pge", "mca", "cmov", - "pat", "pse36", "pn" /* Intel psn */, "clflush" /* Intel clfsh= */, - NULL, "ds" /* Intel dts */, "acpi", "mmx", - "fxsr", "sse", "sse2", "ss", - "ht" /* Intel htt */, "tm", "ia64", "pbe", - }, - .cpuid =3D {.eax =3D 1, .reg =3D R_EDX, }, - .tcg_features =3D TCG_FEATURES, - }, - [FEAT_1_ECX] =3D { - .type =3D CPUID_FEATURE_WORD, - .feat_names =3D { - "pni" /* Intel,AMD sse3 */, "pclmulqdq", "dtes64", "monitor", - "ds-cpl", "vmx", "smx", "est", - "tm2", "ssse3", "cid", NULL, - "fma", "cx16", "xtpr", "pdcm", - NULL, "pcid", "dca", "sse4.1", - "sse4.2", "x2apic", "movbe", "popcnt", - "tsc-deadline", "aes", "xsave", NULL /* osxsave */, - "avx", "f16c", "rdrand", "hypervisor", - }, - .cpuid =3D { .eax =3D 1, .reg =3D R_ECX, }, - .tcg_features =3D TCG_EXT_FEATURES, - }, - /* Feature names that are already defined on feature_name[] but - * are set on CPUID[8000_0001].EDX on AMD CPUs don't have their - * names on feat_names below. They are copied automatically - * to features[FEAT_8000_0001_EDX] if and only if CPU vendor is AMD. - */ - [FEAT_8000_0001_EDX] =3D { - .type =3D CPUID_FEATURE_WORD, - .feat_names =3D { - NULL /* fpu */, NULL /* vme */, NULL /* de */, NULL /* pse */, - NULL /* tsc */, NULL /* msr */, NULL /* pae */, NULL /* mce */, - NULL /* cx8 */, NULL /* apic */, NULL, "syscall", - NULL /* mtrr */, NULL /* pge */, NULL /* mca */, NULL /* cmov = */, - NULL /* pat */, NULL /* pse36 */, NULL, NULL /* Linux mp */, - "nx", NULL, "mmxext", NULL /* mmx */, - NULL /* fxsr */, "fxsr-opt", "pdpe1gb", "rdtscp", - NULL, "lm", "3dnowext", "3dnow", - }, - .cpuid =3D { .eax =3D 0x80000001, .reg =3D R_EDX, }, - .tcg_features =3D TCG_EXT2_FEATURES, - }, - [FEAT_8000_0001_ECX] =3D { - .type =3D CPUID_FEATURE_WORD, - .feat_names =3D { - "lahf-lm", "cmp-legacy", "svm", "extapic", - "cr8legacy", "abm", "sse4a", "misalignsse", - "3dnowprefetch", "osvw", "ibs", "xop", - "skinit", "wdt", NULL, "lwp", - "fma4", "tce", NULL, "nodeid-msr", - NULL, "tbm", "topoext", "perfctr-core", - "perfctr-nb", NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - }, - .cpuid =3D { .eax =3D 0x80000001, .reg =3D R_ECX, }, - .tcg_features =3D TCG_EXT3_FEATURES, - /* - * TOPOEXT is always allowed but can't be enabled blindly by - * "-cpu host", as it requires consistent cache topology info - * to be provided so it doesn't confuse guests. - */ - .no_autoenable_flags =3D CPUID_EXT3_TOPOEXT, - }, - [FEAT_C000_0001_EDX] =3D { - .type =3D CPUID_FEATURE_WORD, - .feat_names =3D { - NULL, NULL, "xstore", "xstore-en", - NULL, NULL, "xcrypt", "xcrypt-en", - "ace2", "ace2-en", "phe", "phe-en", - "pmm", "pmm-en", NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - }, - .cpuid =3D { .eax =3D 0xC0000001, .reg =3D R_EDX, }, - .tcg_features =3D TCG_EXT4_FEATURES, - }, - [FEAT_KVM] =3D { - .type =3D CPUID_FEATURE_WORD, - .feat_names =3D { - "kvmclock", "kvm-nopiodelay", "kvm-mmu", "kvmclock2", - "kvm-asyncpf", "kvm-steal-time", "kvm-pv-eoi", "kvm-pv-unhalt", - NULL, "kvm-pv-tlb-flush", NULL, "kvm-pv-ipi", - "kvm-poll-control", "kvm-pv-sched-yield", "kvm-asyncpf-int", "= kvm-msi-ext-dest-id", - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - "kvmclock-stable-bit", NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - }, - .cpuid =3D { .eax =3D KVM_CPUID_FEATURES, .reg =3D R_EAX, }, - .tcg_features =3D TCG_KVM_FEATURES, - }, - [FEAT_KVM_HINTS] =3D { - .type =3D CPUID_FEATURE_WORD, - .feat_names =3D { - "kvm-hint-dedicated", NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - }, - .cpuid =3D { .eax =3D KVM_CPUID_FEATURES, .reg =3D R_EDX, }, - .tcg_features =3D TCG_KVM_FEATURES, - /* - * KVM hints aren't auto-enabled by -cpu host, they need to be - * explicitly enabled in the command-line. - */ - .no_autoenable_flags =3D ~0U, - }, - [FEAT_SVM] =3D { - .type =3D CPUID_FEATURE_WORD, - .feat_names =3D { - "npt", "lbrv", "svm-lock", "nrip-save", - "tsc-scale", "vmcb-clean", "flushbyasid", "decodeassists", - NULL, NULL, "pause-filter", NULL, - "pfthreshold", "avic", NULL, "v-vmsave-vmload", - "vgif", NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, "vnmi", NULL, NULL, - "svme-addr-chk", NULL, NULL, NULL, - }, - .cpuid =3D { .eax =3D 0x8000000A, .reg =3D R_EDX, }, - .tcg_features =3D TCG_SVM_FEATURES, - }, - [FEAT_7_0_EBX] =3D { - .type =3D CPUID_FEATURE_WORD, - .feat_names =3D { - "fsgsbase", "tsc-adjust", "sgx", "bmi1", - "hle", "avx2", NULL, "smep", - "bmi2", "erms", "invpcid", "rtm", - NULL, NULL, "mpx", NULL, - "avx512f", "avx512dq", "rdseed", "adx", - "smap", "avx512ifma", "pcommit", "clflushopt", - "clwb", "intel-pt", "avx512pf", "avx512er", - "avx512cd", "sha-ni", "avx512bw", "avx512vl", - }, - .cpuid =3D { - .eax =3D 7, - .needs_ecx =3D true, .ecx =3D 0, - .reg =3D R_EBX, - }, - .tcg_features =3D TCG_7_0_EBX_FEATURES, - }, - [FEAT_7_0_ECX] =3D { - .type =3D CPUID_FEATURE_WORD, - .feat_names =3D { - NULL, "avx512vbmi", "umip", "pku", - NULL /* ospke */, "waitpkg", "avx512vbmi2", NULL, - "gfni", "vaes", "vpclmulqdq", "avx512vnni", - "avx512bitalg", NULL, "avx512-vpopcntdq", NULL, - "la57", NULL, NULL, NULL, - NULL, NULL, "rdpid", NULL, - "bus-lock-detect", "cldemote", NULL, "movdiri", - "movdir64b", NULL, "sgxlc", "pks", - }, - .cpuid =3D { - .eax =3D 7, - .needs_ecx =3D true, .ecx =3D 0, - .reg =3D R_ECX, - }, - .tcg_features =3D TCG_7_0_ECX_FEATURES, - }, - [FEAT_7_0_EDX] =3D { - .type =3D CPUID_FEATURE_WORD, - .feat_names =3D { - NULL, NULL, "avx512-4vnniw", "avx512-4fmaps", - "fsrm", NULL, NULL, NULL, - "avx512-vp2intersect", NULL, "md-clear", NULL, - NULL, NULL, "serialize", NULL, - "tsx-ldtrk", NULL, NULL /* pconfig */, "arch-lbr", - NULL, NULL, "amx-bf16", "avx512-fp16", - "amx-tile", "amx-int8", "spec-ctrl", "stibp", - "flush-l1d", "arch-capabilities", "core-capability", "ssbd", - }, - .cpuid =3D { - .eax =3D 7, - .needs_ecx =3D true, .ecx =3D 0, - .reg =3D R_EDX, - }, - .tcg_features =3D TCG_7_0_EDX_FEATURES, - }, - [FEAT_7_1_EAX] =3D { - .type =3D CPUID_FEATURE_WORD, - .feat_names =3D { - NULL, NULL, NULL, NULL, - "avx-vnni", "avx512-bf16", NULL, "cmpccxadd", - NULL, NULL, "fzrm", "fsrs", - "fsrc", NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, "amx-fp16", NULL, "avx-ifma", - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - }, - .cpuid =3D { - .eax =3D 7, - .needs_ecx =3D true, .ecx =3D 1, - .reg =3D R_EAX, - }, - .tcg_features =3D TCG_7_1_EAX_FEATURES, - }, - [FEAT_7_1_EDX] =3D { - .type =3D CPUID_FEATURE_WORD, - .feat_names =3D { - NULL, NULL, NULL, NULL, - "avx-vnni-int8", "avx-ne-convert", NULL, NULL, - "amx-complex", NULL, NULL, NULL, - NULL, NULL, "prefetchiti", NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - }, - .cpuid =3D { - .eax =3D 7, - .needs_ecx =3D true, .ecx =3D 1, - .reg =3D R_EDX, - }, - .tcg_features =3D TCG_7_1_EDX_FEATURES, - }, - [FEAT_7_2_EDX] =3D { - .type =3D CPUID_FEATURE_WORD, - .feat_names =3D { - NULL, NULL, NULL, NULL, - NULL, "mcdt-no", NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - }, - .cpuid =3D { - .eax =3D 7, - .needs_ecx =3D true, .ecx =3D 2, - .reg =3D R_EDX, - }, - .tcg_features =3D TCG_7_2_EDX_FEATURES, - }, - [FEAT_8000_0007_EDX] =3D { - .type =3D CPUID_FEATURE_WORD, - .feat_names =3D { - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - "invtsc", NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - }, - .cpuid =3D { .eax =3D 0x80000007, .reg =3D R_EDX, }, - .tcg_features =3D TCG_APM_FEATURES, - .unmigratable_flags =3D CPUID_APM_INVTSC, - }, - [FEAT_8000_0008_EBX] =3D { - .type =3D CPUID_FEATURE_WORD, - .feat_names =3D { - "clzero", NULL, "xsaveerptr", NULL, - NULL, NULL, NULL, NULL, - NULL, "wbnoinvd", NULL, NULL, - "ibpb", NULL, "ibrs", "amd-stibp", - NULL, "stibp-always-on", NULL, NULL, - NULL, NULL, NULL, NULL, - "amd-ssbd", "virt-ssbd", "amd-no-ssb", NULL, - "amd-psfd", NULL, NULL, NULL, - }, - .cpuid =3D { .eax =3D 0x80000008, .reg =3D R_EBX, }, - .tcg_features =3D TCG_8000_0008_EBX, - .unmigratable_flags =3D 0, - }, - [FEAT_8000_0021_EAX] =3D { - .type =3D CPUID_FEATURE_WORD, - .feat_names =3D { - "no-nested-data-bp", NULL, "lfence-always-serializing", NULL, - NULL, NULL, "null-sel-clr-base", NULL, - "auto-ibrs", NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - }, - .cpuid =3D { .eax =3D 0x80000021, .reg =3D R_EAX, }, - .tcg_features =3D 0, - .unmigratable_flags =3D 0, - }, - [FEAT_XSAVE] =3D { - .type =3D CPUID_FEATURE_WORD, - .feat_names =3D { - "xsaveopt", "xsavec", "xgetbv1", "xsaves", - "xfd", NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - }, - .cpuid =3D { - .eax =3D 0xd, - .needs_ecx =3D true, .ecx =3D 1, - .reg =3D R_EAX, - }, - .tcg_features =3D TCG_XSAVE_FEATURES, - }, - [FEAT_XSAVE_XSS_LO] =3D { - .type =3D CPUID_FEATURE_WORD, - .feat_names =3D { - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - }, - .cpuid =3D { - .eax =3D 0xD, - .needs_ecx =3D true, - .ecx =3D 1, - .reg =3D R_ECX, - }, - }, - [FEAT_XSAVE_XSS_HI] =3D { - .type =3D CPUID_FEATURE_WORD, - .cpuid =3D { - .eax =3D 0xD, - .needs_ecx =3D true, - .ecx =3D 1, - .reg =3D R_EDX - }, - }, - [FEAT_6_EAX] =3D { - .type =3D CPUID_FEATURE_WORD, - .feat_names =3D { - NULL, NULL, "arat", NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - }, - .cpuid =3D { .eax =3D 6, .reg =3D R_EAX, }, - .tcg_features =3D TCG_6_EAX_FEATURES, - }, - [FEAT_XSAVE_XCR0_LO] =3D { - .type =3D CPUID_FEATURE_WORD, - .cpuid =3D { - .eax =3D 0xD, - .needs_ecx =3D true, .ecx =3D 0, - .reg =3D R_EAX, - }, - .tcg_features =3D ~0U, - .migratable_flags =3D XSTATE_FP_MASK | XSTATE_SSE_MASK | - XSTATE_YMM_MASK | XSTATE_BNDREGS_MASK | XSTATE_BNDCSR_MASK | - XSTATE_OPMASK_MASK | XSTATE_ZMM_Hi256_MASK | XSTATE_Hi16_ZMM_M= ASK | - XSTATE_PKRU_MASK, - }, - [FEAT_XSAVE_XCR0_HI] =3D { - .type =3D CPUID_FEATURE_WORD, - .cpuid =3D { - .eax =3D 0xD, - .needs_ecx =3D true, .ecx =3D 0, - .reg =3D R_EDX, - }, - .tcg_features =3D ~0U, - }, - /*Below are MSR exposed features*/ - [FEAT_ARCH_CAPABILITIES] =3D { - .type =3D MSR_FEATURE_WORD, - .feat_names =3D { - "rdctl-no", "ibrs-all", "rsba", "skip-l1dfl-vmentry", - "ssb-no", "mds-no", "pschange-mc-no", "tsx-ctrl", - "taa-no", NULL, NULL, NULL, - NULL, "sbdr-ssdp-no", "fbsdp-no", "psdp-no", - NULL, "fb-clear", NULL, NULL, - NULL, NULL, NULL, NULL, - "pbrsb-no", NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - }, - .msr =3D { - .index =3D MSR_IA32_ARCH_CAPABILITIES, - }, - /* - * FEAT_ARCH_CAPABILITIES only affects a read-only MSR, which - * cannot be read from user mode. Therefore, it has no impact - > on any user-mode operation, and warnings about unsupported - * features do not matter. - */ - .tcg_features =3D ~0U, - }, - [FEAT_CORE_CAPABILITY] =3D { - .type =3D MSR_FEATURE_WORD, - .feat_names =3D { - NULL, NULL, NULL, NULL, - NULL, "split-lock-detect", NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - }, - .msr =3D { - .index =3D MSR_IA32_CORE_CAPABILITY, - }, - }, - [FEAT_PERF_CAPABILITIES] =3D { - .type =3D MSR_FEATURE_WORD, - .feat_names =3D { - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, "full-width-write", NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - }, - .msr =3D { - .index =3D MSR_IA32_PERF_CAPABILITIES, - }, - }, - - [FEAT_VMX_PROCBASED_CTLS] =3D { - .type =3D MSR_FEATURE_WORD, - .feat_names =3D { - NULL, NULL, "vmx-vintr-pending", "vmx-tsc-offset", - NULL, NULL, NULL, "vmx-hlt-exit", - NULL, "vmx-invlpg-exit", "vmx-mwait-exit", "vmx-rdpmc-exit", - "vmx-rdtsc-exit", NULL, NULL, "vmx-cr3-load-noexit", - "vmx-cr3-store-noexit", NULL, NULL, "vmx-cr8-load-exit", - "vmx-cr8-store-exit", "vmx-flexpriority", "vmx-vnmi-pending", = "vmx-movdr-exit", - "vmx-io-exit", "vmx-io-bitmap", NULL, "vmx-mtf", - "vmx-msr-bitmap", "vmx-monitor-exit", "vmx-pause-exit", "vmx-s= econdary-ctls", - }, - .msr =3D { - .index =3D MSR_IA32_VMX_TRUE_PROCBASED_CTLS, - } - }, - - [FEAT_VMX_SECONDARY_CTLS] =3D { - .type =3D MSR_FEATURE_WORD, - .feat_names =3D { - "vmx-apicv-xapic", "vmx-ept", "vmx-desc-exit", "vmx-rdtscp-exi= t", - "vmx-apicv-x2apic", "vmx-vpid", "vmx-wbinvd-exit", "vmx-unrest= ricted-guest", - "vmx-apicv-register", "vmx-apicv-vid", "vmx-ple", "vmx-rdrand-= exit", - "vmx-invpcid-exit", "vmx-vmfunc", "vmx-shadow-vmcs", "vmx-encl= s-exit", - "vmx-rdseed-exit", "vmx-pml", NULL, NULL, - "vmx-xsaves", NULL, NULL, NULL, - NULL, "vmx-tsc-scaling", "vmx-enable-user-wait-pause", NULL, - NULL, NULL, NULL, NULL, - }, - .msr =3D { - .index =3D MSR_IA32_VMX_PROCBASED_CTLS2, - } - }, - - [FEAT_VMX_PINBASED_CTLS] =3D { - .type =3D MSR_FEATURE_WORD, - .feat_names =3D { - "vmx-intr-exit", NULL, NULL, "vmx-nmi-exit", - NULL, "vmx-vnmi", "vmx-preemption-timer", "vmx-posted-intr", - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - }, - .msr =3D { - .index =3D MSR_IA32_VMX_TRUE_PINBASED_CTLS, - } - }, - - [FEAT_VMX_EXIT_CTLS] =3D { - .type =3D MSR_FEATURE_WORD, - /* - * VMX_VM_EXIT_HOST_ADDR_SPACE_SIZE is copied from - * the LM CPUID bit. - */ - .feat_names =3D { - NULL, NULL, "vmx-exit-nosave-debugctl", NULL, - NULL, NULL, NULL, NULL, - NULL, NULL /* vmx-exit-host-addr-space-size */, NULL, NULL, - "vmx-exit-load-perf-global-ctrl", NULL, NULL, "vmx-exit-ack-in= tr", - NULL, NULL, "vmx-exit-save-pat", "vmx-exit-load-pat", - "vmx-exit-save-efer", "vmx-exit-load-efer", - "vmx-exit-save-preemption-timer", "vmx-exit-clear-bndcfgs", - NULL, "vmx-exit-clear-rtit-ctl", NULL, NULL, - NULL, "vmx-exit-load-pkrs", NULL, NULL, - }, - .msr =3D { - .index =3D MSR_IA32_VMX_TRUE_EXIT_CTLS, - } - }, - - [FEAT_VMX_ENTRY_CTLS] =3D { - .type =3D MSR_FEATURE_WORD, - .feat_names =3D { - NULL, NULL, "vmx-entry-noload-debugctl", NULL, - NULL, NULL, NULL, NULL, - NULL, "vmx-entry-ia32e-mode", NULL, NULL, - NULL, "vmx-entry-load-perf-global-ctrl", "vmx-entry-load-pat",= "vmx-entry-load-efer", - "vmx-entry-load-bndcfgs", NULL, "vmx-entry-load-rtit-ctl", NUL= L, - NULL, NULL, "vmx-entry-load-pkrs", NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - }, - .msr =3D { - .index =3D MSR_IA32_VMX_TRUE_ENTRY_CTLS, - } - }, - - [FEAT_VMX_MISC] =3D { - .type =3D MSR_FEATURE_WORD, - .feat_names =3D { - NULL, NULL, NULL, NULL, - NULL, "vmx-store-lma", "vmx-activity-hlt", "vmx-activity-shutd= own", - "vmx-activity-wait-sipi", NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, "vmx-vmwrite-vmexit-fields", "vmx-zero-len-inject", NULL, - }, - .msr =3D { - .index =3D MSR_IA32_VMX_MISC, - } - }, - - [FEAT_VMX_EPT_VPID_CAPS] =3D { - .type =3D MSR_FEATURE_WORD, - .feat_names =3D { - "vmx-ept-execonly", NULL, NULL, NULL, - NULL, NULL, "vmx-page-walk-4", "vmx-page-walk-5", - "vmx-ept-uc", NULL, NULL, NULL, - NULL, NULL, "vmx-ept-wb", NULL, - "vmx-ept-2mb", "vmx-ept-1gb", NULL, NULL, - "vmx-invept", "vmx-eptad", "vmx-ept-advanced-exitinfo", NULL, - NULL, "vmx-invept-single-context", "vmx-invept-all-context", N= ULL, - NULL, NULL, NULL, NULL, - "vmx-invvpid", NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - "vmx-invvpid-single-addr", "vmx-invvpid-single-context", - "vmx-invvpid-all-context", "vmx-invvpid-single-context-nog= lobals", - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - }, - .msr =3D { - .index =3D MSR_IA32_VMX_EPT_VPID_CAP, - } - }, - - [FEAT_VMX_BASIC] =3D { - .type =3D MSR_FEATURE_WORD, - .feat_names =3D { - [54] =3D "vmx-ins-outs", - [55] =3D "vmx-true-ctls", - }, - .msr =3D { - .index =3D MSR_IA32_VMX_BASIC, - }, - /* Just to be safe - we don't support setting the MSEG version fie= ld. */ - .no_autoenable_flags =3D MSR_VMX_BASIC_DUAL_MONITOR, - }, - - [FEAT_VMX_VMFUNC] =3D { - .type =3D MSR_FEATURE_WORD, - .feat_names =3D { - [0] =3D "vmx-eptp-switching", - }, - .msr =3D { - .index =3D MSR_IA32_VMX_VMFUNC, - } - }, - - [FEAT_14_0_ECX] =3D { - .type =3D CPUID_FEATURE_WORD, - .feat_names =3D { - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, "intel-pt-lip", - }, - .cpuid =3D { - .eax =3D 0x14, - .needs_ecx =3D true, .ecx =3D 0, - .reg =3D R_ECX, - }, - .tcg_features =3D TCG_14_0_ECX_FEATURES, - }, - - [FEAT_SGX_12_0_EAX] =3D { - .type =3D CPUID_FEATURE_WORD, - .feat_names =3D { - "sgx1", "sgx2", NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, "sgx-edeccssa", - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - }, - .cpuid =3D { - .eax =3D 0x12, - .needs_ecx =3D true, .ecx =3D 0, - .reg =3D R_EAX, - }, - .tcg_features =3D TCG_SGX_12_0_EAX_FEATURES, - }, - - [FEAT_SGX_12_0_EBX] =3D { - .type =3D CPUID_FEATURE_WORD, - .feat_names =3D { - "sgx-exinfo" , NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - }, - .cpuid =3D { - .eax =3D 0x12, - .needs_ecx =3D true, .ecx =3D 0, - .reg =3D R_EBX, - }, - .tcg_features =3D TCG_SGX_12_0_EBX_FEATURES, - }, - - [FEAT_SGX_12_1_EAX] =3D { - .type =3D CPUID_FEATURE_WORD, - .feat_names =3D { - NULL, "sgx-debug", "sgx-mode64", NULL, - "sgx-provisionkey", "sgx-tokenkey", NULL, "sgx-kss", - NULL, NULL, "sgx-aex-notify", NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, - }, - .cpuid =3D { - .eax =3D 0x12, - .needs_ecx =3D true, .ecx =3D 1, - .reg =3D R_EAX, - }, - .tcg_features =3D TCG_SGX_12_1_EAX_FEATURES, - }, -}; +#include "feature_word_info.c.inc" =20 typedef struct FeatureMask { FeatureWord index; diff --git a/target/i386/feature_word_info.c.inc b/target/i386/feature_word= _info.c.inc new file mode 100644 index 0000000000..d4462d7b1f --- /dev/null +++ b/target/i386/feature_word_info.c.inc @@ -0,0 +1,676 @@ +FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { + [FEAT_1_EDX] =3D { + .type =3D CPUID_FEATURE_WORD, + .feat_names =3D { + "fpu", "vme", "de", "pse", + "tsc", "msr", "pae", "mce", + "cx8", "apic", NULL, "sep", + "mtrr", "pge", "mca", "cmov", + "pat", "pse36", "pn" /* Intel psn */, "clflush" /* Intel clfsh= */, + NULL, "ds" /* Intel dts */, "acpi", "mmx", + "fxsr", "sse", "sse2", "ss", + "ht" /* Intel htt */, "tm", "ia64", "pbe", + }, + .cpuid =3D {.eax =3D 1, .reg =3D R_EDX, }, + .tcg_features =3D TCG_FEATURES, + }, + [FEAT_1_ECX] =3D { + .type =3D CPUID_FEATURE_WORD, + .feat_names =3D { + "pni" /* Intel,AMD sse3 */, "pclmulqdq", "dtes64", "monitor", + "ds-cpl", "vmx", "smx", "est", + "tm2", "ssse3", "cid", NULL, + "fma", "cx16", "xtpr", "pdcm", + NULL, "pcid", "dca", "sse4.1", + "sse4.2", "x2apic", "movbe", "popcnt", + "tsc-deadline", "aes", "xsave", NULL /* osxsave */, + "avx", "f16c", "rdrand", "hypervisor", + }, + .cpuid =3D { .eax =3D 1, .reg =3D R_ECX, }, + .tcg_features =3D TCG_EXT_FEATURES, + }, + /* Feature names that are already defined on feature_name[] but + * are set on CPUID[8000_0001].EDX on AMD CPUs don't have their + * names on feat_names below. They are copied automatically + * to features[FEAT_8000_0001_EDX] if and only if CPU vendor is AMD. + */ + [FEAT_8000_0001_EDX] =3D { + .type =3D CPUID_FEATURE_WORD, + .feat_names =3D { + NULL /* fpu */, NULL /* vme */, NULL /* de */, NULL /* pse */, + NULL /* tsc */, NULL /* msr */, NULL /* pae */, NULL /* mce */, + NULL /* cx8 */, NULL /* apic */, NULL, "syscall", + NULL /* mtrr */, NULL /* pge */, NULL /* mca */, NULL /* cmov = */, + NULL /* pat */, NULL /* pse36 */, NULL, NULL /* Linux mp */, + "nx", NULL, "mmxext", NULL /* mmx */, + NULL /* fxsr */, "fxsr-opt", "pdpe1gb", "rdtscp", + NULL, "lm", "3dnowext", "3dnow", + }, + .cpuid =3D { .eax =3D 0x80000001, .reg =3D R_EDX, }, + .tcg_features =3D TCG_EXT2_FEATURES, + }, + [FEAT_8000_0001_ECX] =3D { + .type =3D CPUID_FEATURE_WORD, + .feat_names =3D { + "lahf-lm", "cmp-legacy", "svm", "extapic", + "cr8legacy", "abm", "sse4a", "misalignsse", + "3dnowprefetch", "osvw", "ibs", "xop", + "skinit", "wdt", NULL, "lwp", + "fma4", "tce", NULL, "nodeid-msr", + NULL, "tbm", "topoext", "perfctr-core", + "perfctr-nb", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + }, + .cpuid =3D { .eax =3D 0x80000001, .reg =3D R_ECX, }, + .tcg_features =3D TCG_EXT3_FEATURES, + /* + * TOPOEXT is always allowed but can't be enabled blindly by + * "-cpu host", as it requires consistent cache topology info + * to be provided so it doesn't confuse guests. + */ + .no_autoenable_flags =3D CPUID_EXT3_TOPOEXT, + }, + [FEAT_C000_0001_EDX] =3D { + .type =3D CPUID_FEATURE_WORD, + .feat_names =3D { + NULL, NULL, "xstore", "xstore-en", + NULL, NULL, "xcrypt", "xcrypt-en", + "ace2", "ace2-en", "phe", "phe-en", + "pmm", "pmm-en", NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + }, + .cpuid =3D { .eax =3D 0xC0000001, .reg =3D R_EDX, }, + .tcg_features =3D TCG_EXT4_FEATURES, + }, + [FEAT_KVM] =3D { + .type =3D CPUID_FEATURE_WORD, + .feat_names =3D { + "kvmclock", "kvm-nopiodelay", "kvm-mmu", "kvmclock2", + "kvm-asyncpf", "kvm-steal-time", "kvm-pv-eoi", "kvm-pv-unhalt", + NULL, "kvm-pv-tlb-flush", NULL, "kvm-pv-ipi", + "kvm-poll-control", "kvm-pv-sched-yield", "kvm-asyncpf-int", "= kvm-msi-ext-dest-id", + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + "kvmclock-stable-bit", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + }, + .cpuid =3D { .eax =3D KVM_CPUID_FEATURES, .reg =3D R_EAX, }, + .tcg_features =3D TCG_KVM_FEATURES, + }, + [FEAT_KVM_HINTS] =3D { + .type =3D CPUID_FEATURE_WORD, + .feat_names =3D { + "kvm-hint-dedicated", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + }, + .cpuid =3D { .eax =3D KVM_CPUID_FEATURES, .reg =3D R_EDX, }, + .tcg_features =3D TCG_KVM_FEATURES, + /* + * KVM hints aren't auto-enabled by -cpu host, they need to be + * explicitly enabled in the command-line. + */ + .no_autoenable_flags =3D ~0U, + }, + [FEAT_SVM] =3D { + .type =3D CPUID_FEATURE_WORD, + .feat_names =3D { + "npt", "lbrv", "svm-lock", "nrip-save", + "tsc-scale", "vmcb-clean", "flushbyasid", "decodeassists", + NULL, NULL, "pause-filter", NULL, + "pfthreshold", "avic", NULL, "v-vmsave-vmload", + "vgif", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, "vnmi", NULL, NULL, + "svme-addr-chk", NULL, NULL, NULL, + }, + .cpuid =3D { .eax =3D 0x8000000A, .reg =3D R_EDX, }, + .tcg_features =3D TCG_SVM_FEATURES, + }, + [FEAT_7_0_EBX] =3D { + .type =3D CPUID_FEATURE_WORD, + .feat_names =3D { + "fsgsbase", "tsc-adjust", "sgx", "bmi1", + "hle", "avx2", NULL, "smep", + "bmi2", "erms", "invpcid", "rtm", + NULL, NULL, "mpx", NULL, + "avx512f", "avx512dq", "rdseed", "adx", + "smap", "avx512ifma", "pcommit", "clflushopt", + "clwb", "intel-pt", "avx512pf", "avx512er", + "avx512cd", "sha-ni", "avx512bw", "avx512vl", + }, + .cpuid =3D { + .eax =3D 7, + .needs_ecx =3D true, .ecx =3D 0, + .reg =3D R_EBX, + }, + .tcg_features =3D TCG_7_0_EBX_FEATURES, + }, + [FEAT_7_0_ECX] =3D { + .type =3D CPUID_FEATURE_WORD, + .feat_names =3D { + NULL, "avx512vbmi", "umip", "pku", + NULL /* ospke */, "waitpkg", "avx512vbmi2", NULL, + "gfni", "vaes", "vpclmulqdq", "avx512vnni", + "avx512bitalg", NULL, "avx512-vpopcntdq", NULL, + "la57", NULL, NULL, NULL, + NULL, NULL, "rdpid", NULL, + "bus-lock-detect", "cldemote", NULL, "movdiri", + "movdir64b", NULL, "sgxlc", "pks", + }, + .cpuid =3D { + .eax =3D 7, + .needs_ecx =3D true, .ecx =3D 0, + .reg =3D R_ECX, + }, + .tcg_features =3D TCG_7_0_ECX_FEATURES, + }, + [FEAT_7_0_EDX] =3D { + .type =3D CPUID_FEATURE_WORD, + .feat_names =3D { + NULL, NULL, "avx512-4vnniw", "avx512-4fmaps", + "fsrm", NULL, NULL, NULL, + "avx512-vp2intersect", NULL, "md-clear", NULL, + NULL, NULL, "serialize", NULL, + "tsx-ldtrk", NULL, NULL /* pconfig */, "arch-lbr", + NULL, NULL, "amx-bf16", "avx512-fp16", + "amx-tile", "amx-int8", "spec-ctrl", "stibp", + "flush-l1d", "arch-capabilities", "core-capability", "ssbd", + }, + .cpuid =3D { + .eax =3D 7, + .needs_ecx =3D true, .ecx =3D 0, + .reg =3D R_EDX, + }, + .tcg_features =3D TCG_7_0_EDX_FEATURES, + }, + [FEAT_7_1_EAX] =3D { + .type =3D CPUID_FEATURE_WORD, + .feat_names =3D { + NULL, NULL, NULL, NULL, + "avx-vnni", "avx512-bf16", NULL, "cmpccxadd", + NULL, NULL, "fzrm", "fsrs", + "fsrc", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, "amx-fp16", NULL, "avx-ifma", + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + }, + .cpuid =3D { + .eax =3D 7, + .needs_ecx =3D true, .ecx =3D 1, + .reg =3D R_EAX, + }, + .tcg_features =3D TCG_7_1_EAX_FEATURES, + }, + [FEAT_7_1_EDX] =3D { + .type =3D CPUID_FEATURE_WORD, + .feat_names =3D { + NULL, NULL, NULL, NULL, + "avx-vnni-int8", "avx-ne-convert", NULL, NULL, + "amx-complex", NULL, NULL, NULL, + NULL, NULL, "prefetchiti", NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + }, + .cpuid =3D { + .eax =3D 7, + .needs_ecx =3D true, .ecx =3D 1, + .reg =3D R_EDX, + }, + .tcg_features =3D TCG_7_1_EDX_FEATURES, + }, + [FEAT_7_2_EDX] =3D { + .type =3D CPUID_FEATURE_WORD, + .feat_names =3D { + NULL, NULL, NULL, NULL, + NULL, "mcdt-no", NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + }, + .cpuid =3D { + .eax =3D 7, + .needs_ecx =3D true, .ecx =3D 2, + .reg =3D R_EDX, + }, + .tcg_features =3D TCG_7_2_EDX_FEATURES, + }, + [FEAT_8000_0007_EDX] =3D { + .type =3D CPUID_FEATURE_WORD, + .feat_names =3D { + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + "invtsc", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + }, + .cpuid =3D { .eax =3D 0x80000007, .reg =3D R_EDX, }, + .tcg_features =3D TCG_APM_FEATURES, + .unmigratable_flags =3D CPUID_APM_INVTSC, + }, + [FEAT_8000_0008_EBX] =3D { + .type =3D CPUID_FEATURE_WORD, + .feat_names =3D { + "clzero", NULL, "xsaveerptr", NULL, + NULL, NULL, NULL, NULL, + NULL, "wbnoinvd", NULL, NULL, + "ibpb", NULL, "ibrs", "amd-stibp", + NULL, "stibp-always-on", NULL, NULL, + NULL, NULL, NULL, NULL, + "amd-ssbd", "virt-ssbd", "amd-no-ssb", NULL, + "amd-psfd", NULL, NULL, NULL, + }, + .cpuid =3D { .eax =3D 0x80000008, .reg =3D R_EBX, }, + .tcg_features =3D TCG_8000_0008_EBX, + .unmigratable_flags =3D 0, + }, + [FEAT_8000_0021_EAX] =3D { + .type =3D CPUID_FEATURE_WORD, + .feat_names =3D { + "no-nested-data-bp", NULL, "lfence-always-serializing", NULL, + NULL, NULL, "null-sel-clr-base", NULL, + "auto-ibrs", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + }, + .cpuid =3D { .eax =3D 0x80000021, .reg =3D R_EAX, }, + .tcg_features =3D 0, + .unmigratable_flags =3D 0, + }, + [FEAT_XSAVE] =3D { + .type =3D CPUID_FEATURE_WORD, + .feat_names =3D { + "xsaveopt", "xsavec", "xgetbv1", "xsaves", + "xfd", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + }, + .cpuid =3D { + .eax =3D 0xd, + .needs_ecx =3D true, .ecx =3D 1, + .reg =3D R_EAX, + }, + .tcg_features =3D TCG_XSAVE_FEATURES, + }, + [FEAT_XSAVE_XSS_LO] =3D { + .type =3D CPUID_FEATURE_WORD, + .feat_names =3D { + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + }, + .cpuid =3D { + .eax =3D 0xD, + .needs_ecx =3D true, + .ecx =3D 1, + .reg =3D R_ECX, + }, + }, + [FEAT_XSAVE_XSS_HI] =3D { + .type =3D CPUID_FEATURE_WORD, + .cpuid =3D { + .eax =3D 0xD, + .needs_ecx =3D true, + .ecx =3D 1, + .reg =3D R_EDX + }, + }, + [FEAT_6_EAX] =3D { + .type =3D CPUID_FEATURE_WORD, + .feat_names =3D { + NULL, NULL, "arat", NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + }, + .cpuid =3D { .eax =3D 6, .reg =3D R_EAX, }, + .tcg_features =3D TCG_6_EAX_FEATURES, + }, + [FEAT_XSAVE_XCR0_LO] =3D { + .type =3D CPUID_FEATURE_WORD, + .cpuid =3D { + .eax =3D 0xD, + .needs_ecx =3D true, .ecx =3D 0, + .reg =3D R_EAX, + }, + .tcg_features =3D ~0U, + .migratable_flags =3D XSTATE_FP_MASK | XSTATE_SSE_MASK | + XSTATE_YMM_MASK | XSTATE_BNDREGS_MASK | XSTATE_BNDCSR_MASK | + XSTATE_OPMASK_MASK | XSTATE_ZMM_Hi256_MASK | XSTATE_Hi16_ZMM_M= ASK | + XSTATE_PKRU_MASK, + }, + [FEAT_XSAVE_XCR0_HI] =3D { + .type =3D CPUID_FEATURE_WORD, + .cpuid =3D { + .eax =3D 0xD, + .needs_ecx =3D true, .ecx =3D 0, + .reg =3D R_EDX, + }, + .tcg_features =3D ~0U, + }, + /*Below are MSR exposed features*/ + [FEAT_ARCH_CAPABILITIES] =3D { + .type =3D MSR_FEATURE_WORD, + .feat_names =3D { + "rdctl-no", "ibrs-all", "rsba", "skip-l1dfl-vmentry", + "ssb-no", "mds-no", "pschange-mc-no", "tsx-ctrl", + "taa-no", NULL, NULL, NULL, + NULL, "sbdr-ssdp-no", "fbsdp-no", "psdp-no", + NULL, "fb-clear", NULL, NULL, + NULL, NULL, NULL, NULL, + "pbrsb-no", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + }, + .msr =3D { + .index =3D MSR_IA32_ARCH_CAPABILITIES, + }, + /* + * FEAT_ARCH_CAPABILITIES only affects a read-only MSR, which + * cannot be read from user mode. Therefore, it has no impact + > on any user-mode operation, and warnings about unsupported + * features do not matter. + */ + .tcg_features =3D ~0U, + }, + [FEAT_CORE_CAPABILITY] =3D { + .type =3D MSR_FEATURE_WORD, + .feat_names =3D { + NULL, NULL, NULL, NULL, + NULL, "split-lock-detect", NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + }, + .msr =3D { + .index =3D MSR_IA32_CORE_CAPABILITY, + }, + }, + [FEAT_PERF_CAPABILITIES] =3D { + .type =3D MSR_FEATURE_WORD, + .feat_names =3D { + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, "full-width-write", NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + }, + .msr =3D { + .index =3D MSR_IA32_PERF_CAPABILITIES, + }, + }, + + [FEAT_VMX_PROCBASED_CTLS] =3D { + .type =3D MSR_FEATURE_WORD, + .feat_names =3D { + NULL, NULL, "vmx-vintr-pending", "vmx-tsc-offset", + NULL, NULL, NULL, "vmx-hlt-exit", + NULL, "vmx-invlpg-exit", "vmx-mwait-exit", "vmx-rdpmc-exit", + "vmx-rdtsc-exit", NULL, NULL, "vmx-cr3-load-noexit", + "vmx-cr3-store-noexit", NULL, NULL, "vmx-cr8-load-exit", + "vmx-cr8-store-exit", "vmx-flexpriority", "vmx-vnmi-pending", = "vmx-movdr-exit", + "vmx-io-exit", "vmx-io-bitmap", NULL, "vmx-mtf", + "vmx-msr-bitmap", "vmx-monitor-exit", "vmx-pause-exit", "vmx-s= econdary-ctls", + }, + .msr =3D { + .index =3D MSR_IA32_VMX_TRUE_PROCBASED_CTLS, + } + }, + + [FEAT_VMX_SECONDARY_CTLS] =3D { + .type =3D MSR_FEATURE_WORD, + .feat_names =3D { + "vmx-apicv-xapic", "vmx-ept", "vmx-desc-exit", "vmx-rdtscp-exi= t", + "vmx-apicv-x2apic", "vmx-vpid", "vmx-wbinvd-exit", "vmx-unrest= ricted-guest", + "vmx-apicv-register", "vmx-apicv-vid", "vmx-ple", "vmx-rdrand-= exit", + "vmx-invpcid-exit", "vmx-vmfunc", "vmx-shadow-vmcs", "vmx-encl= s-exit", + "vmx-rdseed-exit", "vmx-pml", NULL, NULL, + "vmx-xsaves", NULL, NULL, NULL, + NULL, "vmx-tsc-scaling", "vmx-enable-user-wait-pause", NULL, + NULL, NULL, NULL, NULL, + }, + .msr =3D { + .index =3D MSR_IA32_VMX_PROCBASED_CTLS2, + } + }, + + [FEAT_VMX_PINBASED_CTLS] =3D { + .type =3D MSR_FEATURE_WORD, + .feat_names =3D { + "vmx-intr-exit", NULL, NULL, "vmx-nmi-exit", + NULL, "vmx-vnmi", "vmx-preemption-timer", "vmx-posted-intr", + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + }, + .msr =3D { + .index =3D MSR_IA32_VMX_TRUE_PINBASED_CTLS, + } + }, + + [FEAT_VMX_EXIT_CTLS] =3D { + .type =3D MSR_FEATURE_WORD, + /* + * VMX_VM_EXIT_HOST_ADDR_SPACE_SIZE is copied from + * the LM CPUID bit. + */ + .feat_names =3D { + NULL, NULL, "vmx-exit-nosave-debugctl", NULL, + NULL, NULL, NULL, NULL, + NULL, NULL /* vmx-exit-host-addr-space-size */, NULL, NULL, + "vmx-exit-load-perf-global-ctrl", NULL, NULL, "vmx-exit-ack-in= tr", + NULL, NULL, "vmx-exit-save-pat", "vmx-exit-load-pat", + "vmx-exit-save-efer", "vmx-exit-load-efer", + "vmx-exit-save-preemption-timer", "vmx-exit-clear-bndcfgs", + NULL, "vmx-exit-clear-rtit-ctl", NULL, NULL, + NULL, "vmx-exit-load-pkrs", NULL, NULL, + }, + .msr =3D { + .index =3D MSR_IA32_VMX_TRUE_EXIT_CTLS, + } + }, + + [FEAT_VMX_ENTRY_CTLS] =3D { + .type =3D MSR_FEATURE_WORD, + .feat_names =3D { + NULL, NULL, "vmx-entry-noload-debugctl", NULL, + NULL, NULL, NULL, NULL, + NULL, "vmx-entry-ia32e-mode", NULL, NULL, + NULL, "vmx-entry-load-perf-global-ctrl", "vmx-entry-load-pat",= "vmx-entry-load-efer", + "vmx-entry-load-bndcfgs", NULL, "vmx-entry-load-rtit-ctl", NUL= L, + NULL, NULL, "vmx-entry-load-pkrs", NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + }, + .msr =3D { + .index =3D MSR_IA32_VMX_TRUE_ENTRY_CTLS, + } + }, + + [FEAT_VMX_MISC] =3D { + .type =3D MSR_FEATURE_WORD, + .feat_names =3D { + NULL, NULL, NULL, NULL, + NULL, "vmx-store-lma", "vmx-activity-hlt", "vmx-activity-shutd= own", + "vmx-activity-wait-sipi", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, "vmx-vmwrite-vmexit-fields", "vmx-zero-len-inject", NULL, + }, + .msr =3D { + .index =3D MSR_IA32_VMX_MISC, + } + }, + + [FEAT_VMX_EPT_VPID_CAPS] =3D { + .type =3D MSR_FEATURE_WORD, + .feat_names =3D { + "vmx-ept-execonly", NULL, NULL, NULL, + NULL, NULL, "vmx-page-walk-4", "vmx-page-walk-5", + "vmx-ept-uc", NULL, NULL, NULL, + NULL, NULL, "vmx-ept-wb", NULL, + "vmx-ept-2mb", "vmx-ept-1gb", NULL, NULL, + "vmx-invept", "vmx-eptad", "vmx-ept-advanced-exitinfo", NULL, + NULL, "vmx-invept-single-context", "vmx-invept-all-context", N= ULL, + NULL, NULL, NULL, NULL, + "vmx-invvpid", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + "vmx-invvpid-single-addr", "vmx-invvpid-single-context", + "vmx-invvpid-all-context", "vmx-invvpid-single-context-nog= lobals", + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + }, + .msr =3D { + .index =3D MSR_IA32_VMX_EPT_VPID_CAP, + } + }, + + [FEAT_VMX_BASIC] =3D { + .type =3D MSR_FEATURE_WORD, + .feat_names =3D { + [54] =3D "vmx-ins-outs", + [55] =3D "vmx-true-ctls", + }, + .msr =3D { + .index =3D MSR_IA32_VMX_BASIC, + }, + /* Just to be safe - we don't support setting the MSEG version fie= ld. */ + .no_autoenable_flags =3D MSR_VMX_BASIC_DUAL_MONITOR, + }, + + [FEAT_VMX_VMFUNC] =3D { + .type =3D MSR_FEATURE_WORD, + .feat_names =3D { + [0] =3D "vmx-eptp-switching", + }, + .msr =3D { + .index =3D MSR_IA32_VMX_VMFUNC, + } + }, + + [FEAT_14_0_ECX] =3D { + .type =3D CPUID_FEATURE_WORD, + .feat_names =3D { + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, "intel-pt-lip", + }, + .cpuid =3D { + .eax =3D 0x14, + .needs_ecx =3D true, .ecx =3D 0, + .reg =3D R_ECX, + }, + .tcg_features =3D TCG_14_0_ECX_FEATURES, + }, + + [FEAT_SGX_12_0_EAX] =3D { + .type =3D CPUID_FEATURE_WORD, + .feat_names =3D { + "sgx1", "sgx2", NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, "sgx-edeccssa", + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + }, + .cpuid =3D { + .eax =3D 0x12, + .needs_ecx =3D true, .ecx =3D 0, + .reg =3D R_EAX, + }, + .tcg_features =3D TCG_SGX_12_0_EAX_FEATURES, + }, + + [FEAT_SGX_12_0_EBX] =3D { + .type =3D CPUID_FEATURE_WORD, + .feat_names =3D { + "sgx-exinfo" , NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + }, + .cpuid =3D { + .eax =3D 0x12, + .needs_ecx =3D true, .ecx =3D 0, + .reg =3D R_EBX, + }, + .tcg_features =3D TCG_SGX_12_0_EBX_FEATURES, + }, + + [FEAT_SGX_12_1_EAX] =3D { + .type =3D CPUID_FEATURE_WORD, + .feat_names =3D { + NULL, "sgx-debug", "sgx-mode64", NULL, + "sgx-provisionkey", "sgx-tokenkey", NULL, "sgx-kss", + NULL, NULL, "sgx-aex-notify", NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + }, + .cpuid =3D { + .eax =3D 0x12, + .needs_ecx =3D true, .ecx =3D 1, + .reg =3D R_EAX, + }, + .tcg_features =3D TCG_SGX_12_1_EAX_FEATURES, + }, +}; --=20 2.39.2 From nobody Wed May 15 10:36:37 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1694177360; cv=none; d=zohomail.com; s=zohoarc; b=BVrb0YIrWqr20NUqzgJ3a3pquN3DwAjPQu19AmcPYg/hnlLEPMoU0dvaCNZGTKEtIWZkmYeeD788AG6MgYzvegNA3fDAIFWfg8OlKWQUmGXzLpVQONr3Sdw9wppRUQvxMF7QvXSFS6Dhl7oSYayYzRoa/vXrAV6AD/J58pp6jPs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694177360; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=KWMIa81KCQs12hZJQVrD8el8J8dMsnm/4OquFwa3ZG4=; b=kqNzHp8Rk4JPD8vUm0aj/uiBqrBM14hKNzk603fezSKaiy0/eSUC1oWdyUvlnKgkavdWxf8zOyjFm8Vao3odd3HzDOgtPiT4OLSOY6dhZPI78HBkgjzlwwP1t94A4ffko7iyJBIuDa7qC5e1s0Z6WmYn3aLY1kLpF44O0QAJjD8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1694177360457110.45857604673131; Fri, 8 Sep 2023 05:49:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qeasP-0003tS-4k; Fri, 08 Sep 2023 08:46:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qeasA-0003gh-RF for qemu-devel@nongnu.org; Fri, 08 Sep 2023 08:46:06 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qeas5-0006LI-U6 for qemu-devel@nongnu.org; Fri, 08 Sep 2023 08:46:06 -0400 Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-97-AV31ONLbMQmvffXEehnweg-1; Fri, 08 Sep 2023 08:45:42 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 2E4F21C08981; Fri, 8 Sep 2023 12:45:42 +0000 (UTC) Received: from work.redhat.com (unknown [10.39.194.211]) by smtp.corp.redhat.com (Postfix) with ESMTP id 46FF821EE566; Fri, 8 Sep 2023 12:45:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1694177145; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=KWMIa81KCQs12hZJQVrD8el8J8dMsnm/4OquFwa3ZG4=; b=XFwI2W2HCfXEN8Qo+id01TfeMkYjEgi9E4diLAcH0tDiGBtI5cO/yQoxUqH0ef3DYJNpXx qnv37uU7mHKzREopr12OfsXt7GynZZc7hWRWHwCBAGV1qpcf1zQyzsJBAyxlu7hayKvyph aScKBb5VDKXd1jBWqwxiYfg6nv4rWsU= X-MC-Unique: AV31ONLbMQmvffXEehnweg-1 From: Tim Wiederhake To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Paolo Bonzini , "Michael S . Tsirkin" , Tim Wiederhake Subject: [PATCH v2 05/10] target/i386: Translate feature_word_info to yaml Date: Fri, 8 Sep 2023 14:45:29 +0200 Message-Id: <20230908124534.25027-6-twiederh@redhat.com> In-Reply-To: <20230908124534.25027-1-twiederh@redhat.com> References: <20230908124534.25027-1-twiederh@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.6 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=twiederh@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1694177362744100003 Content-Type: text/plain; charset="utf-8" This is the data file that will be used to generate the C code. All information, including the comments, is preserved. Signed-off-by: Tim Wiederhake --- target/i386/feature_word_info.yaml | 695 +++++++++++++++++++++++++++++ 1 file changed, 695 insertions(+) create mode 100644 target/i386/feature_word_info.yaml diff --git a/target/i386/feature_word_info.yaml b/target/i386/feature_word_= info.yaml new file mode 100644 index 0000000000..cd6cdc8053 --- /dev/null +++ b/target/i386/feature_word_info.yaml @@ -0,0 +1,695 @@ +- index: FEAT_1_EDX + cpuid: + eax: '1' + reg: R_EDX + feat_names: + 0: fpu + 1: vme + 2: de + 3: pse + 4: tsc + 5: msr + 6: pae + 7: mce + 8: cx8 + 9: apic + 11: sep + 12: mtrr + 13: pge + 14: mca + 15: cmov + 16: pat + 17: pse36 + 18: pn # Intel psn + 19: clflush # Intel clfsh + 21: ds # Intel dts + 22: acpi + 23: mmx + 24: fxsr + 25: sse + 26: sse2 + 27: ss + 28: ht # Intel htt + 29: tm + 30: ia64 + 31: pbe + tcg_features: TCG_FEATURES + type: CPUID_FEATURE_WORD + +- index: FEAT_1_ECX + cpuid: + eax: '1' + reg: R_ECX + feat_names: + 0: pni # Intel,AMD sse3 + 1: pclmulqdq + 2: dtes64 + 3: monitor + 4: ds-cpl + 5: vmx + 6: smx + 7: est + 8: tm2 + 9: ssse3 + 10: cid + 12: fma + 13: cx16 + 14: xtpr + 15: pdcm + 17: pcid + 18: dca + 19: sse4.1 + 20: sse4.2 + 21: x2apic + 22: movbe + 23: popcnt + 24: tsc-deadline + 25: aes + 26: xsave + # 27: osxsave + 28: avx + 29: f16c + 30: rdrand + 31: hypervisor + tcg_features: TCG_EXT_FEATURES + type: CPUID_FEATURE_WORD + +# Feature names that are already defined on feature_name[] but are set on +# CPUID[8000_0001].EDX on AMD CPUs don't have their names on feat_names be= low. +# They are copied automatically to features[FEAT_8000_0001_EDX] if and onl= y if +# CPU vendor is AMD. +- index: FEAT_8000_0001_EDX + cpuid: + eax: '0x80000001' + reg: R_EDX + feat_names: + # 0: fpu + # 1: vme + # 2: de + # 3: pse + # 4: tsc + # 5: msr + # 6: pae + # 7: mce + # 8: cx8 + # 9: apic + 11: syscall + # 12: mtrr + # 13: pge + # 14: mca + # 15: cmov + # 16: pat + # 17: pse36 + # 19: Linux mp + 20: nx + 22: mmxext + # 23: mmx + # 24: fxsr + 25: fxsr-opt + 26: pdpe1gb + 27: rdtscp + 29: lm + 30: 3dnowext + 31: 3dnow + tcg_features: TCG_EXT2_FEATURES + type: CPUID_FEATURE_WORD + +- index: FEAT_8000_0001_ECX + cpuid: + eax: '0x80000001' + reg: R_ECX + feat_names: + 0: lahf-lm + 1: cmp-legacy + 2: svm + 3: extapic + 4: cr8legacy + 5: abm + 6: sse4a + 7: misalignsse + 8: 3dnowprefetch + 9: osvw + 10: ibs + 11: xop + 12: skinit + 13: wdt + 15: lwp + 16: fma4 + 17: tce + 19: nodeid-msr + 21: tbm + 22: topoext + 23: perfctr-core + 24: perfctr-nb + # TOPOEXT is always allowed but can't be enabled blindly by "-cpu host",= as + # it requires consistent cache topology info to be provided so it doesn't + # confuse guests. + no_autoenable_flags: CPUID_EXT3_TOPOEXT + tcg_features: TCG_EXT3_FEATURES + type: CPUID_FEATURE_WORD + +- index: FEAT_C000_0001_EDX + cpuid: + eax: '0xC0000001' + reg: R_EDX + feat_names: + 2: xstore + 3: xstore-en + 6: xcrypt + 7: xcrypt-en + 8: ace2 + 9: ace2-en + 10: phe + 11: phe-en + 12: pmm + 13: pmm-en + tcg_features: TCG_EXT4_FEATURES + type: CPUID_FEATURE_WORD + +- index: FEAT_KVM + cpuid: + eax: KVM_CPUID_FEATURES + reg: R_EAX + feat_names: + 0: kvmclock + 1: kvm-nopiodelay + 2: kvm-mmu + 3: kvmclock2 + 4: kvm-asyncpf + 5: kvm-steal-time + 6: kvm-pv-eoi + 7: kvm-pv-unhalt + 9: kvm-pv-tlb-flush + 11: kvm-pv-ipi + 12: kvm-poll-control + 13: kvm-pv-sched-yield + 14: kvm-asyncpf-int + 15: kvm-msi-ext-dest-id + 24: kvmclock-stable-bit + tcg_features: TCG_KVM_FEATURES + type: CPUID_FEATURE_WORD + +- index: FEAT_KVM_HINTS + cpuid: + eax: KVM_CPUID_FEATURES + reg: R_EDX + feat_names: + 0: kvm-hint-dedicated + # KVM hints aren't auto-enabled by -cpu host, they need to be explicitly + # enabled in the command-line. + no_autoenable_flags: ~0U + tcg_features: TCG_KVM_FEATURES + type: CPUID_FEATURE_WORD + +- index: FEAT_SVM + cpuid: + eax: '0x8000000A' + reg: R_EDX + feat_names: + 0: npt + 1: lbrv + 2: svm-lock + 3: nrip-save + 4: tsc-scale + 5: vmcb-clean + 6: flushbyasid + 7: decodeassists + 10: pause-filter + 12: pfthreshold + 13: avic + 15: v-vmsave-vmload + 16: vgif + 25: vnmi + 28: svme-addr-chk + tcg_features: TCG_SVM_FEATURES + type: CPUID_FEATURE_WORD + +- index: FEAT_7_0_EBX + cpuid: + eax: '7' + ecx: '0' + needs_ecx: 'true' + reg: R_EBX + feat_names: + 0: fsgsbase + 1: tsc-adjust + 2: sgx + 3: bmi1 + 4: hle + 5: avx2 + 7: smep + 8: bmi2 + 9: erms + 10: invpcid + 11: rtm + 14: mpx + 16: avx512f + 17: avx512dq + 18: rdseed + 19: adx + 20: smap + 21: avx512ifma + 22: pcommit + 23: clflushopt + 24: clwb + 25: intel-pt + 26: avx512pf + 27: avx512er + 28: avx512cd + 29: sha-ni + 30: avx512bw + 31: avx512vl + tcg_features: TCG_7_0_EBX_FEATURES + type: CPUID_FEATURE_WORD + +- index: FEAT_7_0_ECX + cpuid: + eax: '7' + ecx: '0' + needs_ecx: 'true' + reg: R_ECX + feat_names: + 1: avx512vbmi + 2: umip + 3: pku + # 4: ospke + 5: waitpkg + 6: avx512vbmi2 + 8: gfni + 9: vaes + 10: vpclmulqdq + 11: avx512vnni + 12: avx512bitalg + 14: avx512-vpopcntdq + 16: la57 + 22: rdpid + 24: bus-lock-detect + 25: cldemote + 27: movdiri + 28: movdir64b + 30: sgxlc + 31: pks + tcg_features: TCG_7_0_ECX_FEATURES + type: CPUID_FEATURE_WORD + +- index: FEAT_7_0_EDX + cpuid: + eax: '7' + ecx: '0' + needs_ecx: 'true' + reg: R_EDX + feat_names: + 2: avx512-4vnniw + 3: avx512-4fmaps + 4: fsrm + 8: avx512-vp2intersect + 10: md-clear + 14: serialize + 16: tsx-ldtrk + # 18: pconfig + 19: arch-lbr + 22: amx-bf16 + 23: avx512-fp16 + 24: amx-tile + 25: amx-int8 + 26: spec-ctrl + 27: stibp + 28: flush-l1d + 29: arch-capabilities + 30: core-capability + 31: ssbd + tcg_features: TCG_7_0_EDX_FEATURES + type: CPUID_FEATURE_WORD + +- index: FEAT_7_1_EAX + cpuid: + eax: '7' + ecx: '1' + needs_ecx: 'true' + reg: R_EAX + feat_names: + 4: avx-vnni + 5: avx512-bf16 + 7: cmpccxadd + 10: fzrm + 11: fsrs + 12: fsrc + 21: amx-fp16 + 23: avx-ifma + tcg_features: TCG_7_1_EAX_FEATURES + type: CPUID_FEATURE_WORD + +- index: FEAT_7_1_EDX + cpuid: + eax: '7' + ecx: '1' + needs_ecx: 'true' + reg: R_EDX + feat_names: + 4: avx-vnni-int8 + 5: avx-ne-convert + 8: amx-complex + 14: prefetchiti + tcg_features: TCG_7_1_EDX_FEATURES + type: CPUID_FEATURE_WORD + +- index: FEAT_7_2_EDX + cpuid: + eax: '7' + ecx: '2' + needs_ecx: 'true' + reg: R_EDX + feat_names: + 5: mcdt-no + tcg_features: TCG_7_2_EDX_FEATURES + type: CPUID_FEATURE_WORD + +- index: FEAT_8000_0007_EDX + cpuid: + eax: '0x80000007' + reg: R_EDX + feat_names: + 8: invtsc + tcg_features: TCG_APM_FEATURES + type: CPUID_FEATURE_WORD + unmigratable_flags: CPUID_APM_INVTSC + +- index: FEAT_8000_0008_EBX + cpuid: + eax: '0x80000008' + reg: R_EBX + feat_names: + 0: clzero + 2: xsaveerptr + 9: wbnoinvd + 12: ibpb + 14: ibrs + 15: amd-stibp + 17: stibp-always-on + 24: amd-ssbd + 25: virt-ssbd + 26: amd-no-ssb + 28: amd-psfd + tcg_features: TCG_8000_0008_EBX + type: CPUID_FEATURE_WORD + unmigratable_flags: '0' + +- index: FEAT_8000_0021_EAX + cpuid: + eax: '0x80000021' + reg: R_EAX + feat_names: + 0: no-nested-data-bp + 2: lfence-always-serializing + 6: null-sel-clr-base + 8: auto-ibrs + tcg_features: '0' + type: CPUID_FEATURE_WORD + unmigratable_flags: '0' + +- index: FEAT_XSAVE + cpuid: + eax: '0xd' + ecx: '1' + needs_ecx: 'true' + reg: R_EAX + feat_names: + 0: xsaveopt + 1: xsavec + 2: xgetbv1 + 3: xsaves + 4: xfd + tcg_features: TCG_XSAVE_FEATURES + type: CPUID_FEATURE_WORD + +- index: FEAT_XSAVE_XSS_LO + cpuid: + eax: '0xD' + ecx: '1' + needs_ecx: 'true' + reg: R_ECX + type: CPUID_FEATURE_WORD + +- index: FEAT_XSAVE_XSS_HI + cpuid: + eax: '0xD' + ecx: '1' + needs_ecx: 'true' + reg: R_EDX + type: CPUID_FEATURE_WORD + +- index: FEAT_6_EAX + cpuid: + eax: '6' + reg: R_EAX + feat_names: + 2: arat + tcg_features: TCG_6_EAX_FEATURES + type: CPUID_FEATURE_WORD + +- index: FEAT_XSAVE_XCR0_LO + cpuid: + eax: '0xD' + ecx: '0' + needs_ecx: 'true' + reg: R_EAX + migratable_flags: XSTATE_FP_MASK | XSTATE_SSE_MASK | XSTATE_YMM_MASK | X= STATE_BNDREGS_MASK + | XSTATE_BNDCSR_MASK | XSTATE_OPMASK_MASK | XSTATE_ZMM_Hi256_MASK | XS= TATE_Hi16_ZMM_MASK + | XSTATE_PKRU_MASK + tcg_features: ~0U + type: CPUID_FEATURE_WORD + +- index: FEAT_XSAVE_XCR0_HI + cpuid: + eax: '0xD' + ecx: '0' + needs_ecx: 'true' + reg: R_EDX + tcg_features: ~0U + type: CPUID_FEATURE_WORD + +- index: FEAT_ARCH_CAPABILITIES + msr: MSR_IA32_ARCH_CAPABILITIES + feat_names: + 0: rdctl-no + 1: ibrs-all + 2: rsba + 3: skip-l1dfl-vmentry + 4: ssb-no + 5: mds-no + 6: pschange-mc-no + 7: tsx-ctrl + 8: taa-no + 13: sbdr-ssdp-no + 14: fbsdp-no + 15: psdp-no + 17: fb-clear + 24: pbrsb-no + # FEAT_ARCH_CAPABILITIES only affects a read-only MSR, which cannot be r= ead + # from user mode. Therefore, it has no impact on any user-mode operatio= n, + # and warnings about unsupported features do not matter. + tcg_features: ~0U + type: MSR_FEATURE_WORD + +- index: FEAT_CORE_CAPABILITY + msr: MSR_IA32_CORE_CAPABILITY + feat_names: + 5: split-lock-detect + type: MSR_FEATURE_WORD + +- index: FEAT_PERF_CAPABILITIES + msr: MSR_IA32_PERF_CAPABILITIES + feat_names: + 13: full-width-write + type: MSR_FEATURE_WORD + +- index: FEAT_VMX_PROCBASED_CTLS + msr: MSR_IA32_VMX_TRUE_PROCBASED_CTLS + feat_names: + 2: vmx-vintr-pending + 3: vmx-tsc-offset + 7: vmx-hlt-exit + 9: vmx-invlpg-exit + 10: vmx-mwait-exit + 11: vmx-rdpmc-exit + 12: vmx-rdtsc-exit + 15: vmx-cr3-load-noexit + 16: vmx-cr3-store-noexit + 19: vmx-cr8-load-exit + 20: vmx-cr8-store-exit + 21: vmx-flexpriority + 22: vmx-vnmi-pending + 23: vmx-movdr-exit + 24: vmx-io-exit + 25: vmx-io-bitmap + 27: vmx-mtf + 28: vmx-msr-bitmap + 29: vmx-monitor-exit + 30: vmx-pause-exit + 31: vmx-secondary-ctls + type: MSR_FEATURE_WORD + +- index: FEAT_VMX_SECONDARY_CTLS + msr: MSR_IA32_VMX_PROCBASED_CTLS2 + feat_names: + 0: vmx-apicv-xapic + 1: vmx-ept + 2: vmx-desc-exit + 3: vmx-rdtscp-exit + 4: vmx-apicv-x2apic + 5: vmx-vpid + 6: vmx-wbinvd-exit + 7: vmx-unrestricted-guest + 8: vmx-apicv-register + 9: vmx-apicv-vid + 10: vmx-ple + 11: vmx-rdrand-exit + 12: vmx-invpcid-exit + 13: vmx-vmfunc + 14: vmx-shadow-vmcs + 15: vmx-encls-exit + 16: vmx-rdseed-exit + 17: vmx-pml + 20: vmx-xsaves + 25: vmx-tsc-scaling + 26: vmx-enable-user-wait-pause + type: MSR_FEATURE_WORD + +- index: FEAT_VMX_PINBASED_CTLS + msr: MSR_IA32_VMX_TRUE_PINBASED_CTLS + feat_names: + 0: vmx-intr-exit + 3: vmx-nmi-exit + 5: vmx-vnmi + 6: vmx-preemption-timer + 7: vmx-posted-intr + type: MSR_FEATURE_WORD + +- index: FEAT_VMX_EXIT_CTLS + msr: MSR_IA32_VMX_TRUE_EXIT_CTLS + feat_names: + 2: vmx-exit-nosave-debugctl + #9: VMX_VM_EXIT_HOST_ADDR_SPACE_SIZE is copied from the LM CPUID bit. + 12: vmx-exit-load-perf-global-ctrl + 15: vmx-exit-ack-intr + 18: vmx-exit-save-pat + 19: vmx-exit-load-pat + 20: vmx-exit-save-efer + 21: vmx-exit-load-efer + 22: vmx-exit-save-preemption-timer + 23: vmx-exit-clear-bndcfgs + 25: vmx-exit-clear-rtit-ctl + 29: vmx-exit-load-pkrs + type: MSR_FEATURE_WORD + +- index: FEAT_VMX_ENTRY_CTLS + msr: MSR_IA32_VMX_TRUE_ENTRY_CTLS + feat_names: + 2: vmx-entry-noload-debugctl + 9: vmx-entry-ia32e-mode + 13: vmx-entry-load-perf-global-ctrl + 14: vmx-entry-load-pat + 15: vmx-entry-load-efer + 16: vmx-entry-load-bndcfgs + 18: vmx-entry-load-rtit-ctl + 22: vmx-entry-load-pkrs + type: MSR_FEATURE_WORD + +- index: FEAT_VMX_MISC + msr: MSR_IA32_VMX_MISC + feat_names: + 5: vmx-store-lma + 6: vmx-activity-hlt + 7: vmx-activity-shutdown + 8: vmx-activity-wait-sipi + 29: vmx-vmwrite-vmexit-fields + 30: vmx-zero-len-inject + type: MSR_FEATURE_WORD + +- index: FEAT_VMX_EPT_VPID_CAPS + msr: MSR_IA32_VMX_EPT_VPID_CAP + feat_names: + 0: vmx-ept-execonly + 6: vmx-page-walk-4 + 7: vmx-page-walk-5 + 8: vmx-ept-uc + 14: vmx-ept-wb + 16: vmx-ept-2mb + 17: vmx-ept-1gb + 20: vmx-invept + 21: vmx-eptad + 22: vmx-ept-advanced-exitinfo + 25: vmx-invept-single-context + 26: vmx-invept-all-context + 32: vmx-invvpid + 40: vmx-invvpid-single-addr + 41: vmx-invvpid-single-context + 42: vmx-invvpid-all-context + 43: vmx-invvpid-single-context-noglobals + type: MSR_FEATURE_WORD + +- index: FEAT_VMX_BASIC + msr: MSR_IA32_VMX_BASIC + feat_names: + 54: vmx-ins-outs + 55: vmx-true-ctls + # Just to be safe - we don't support setting the MSEG version field. + no_autoenable_flags: MSR_VMX_BASIC_DUAL_MONITOR + type: MSR_FEATURE_WORD + +- index: FEAT_VMX_VMFUNC + msr: MSR_IA32_VMX_VMFUNC + feat_names: + 0: vmx-eptp-switching + type: MSR_FEATURE_WORD + +- index: FEAT_14_0_ECX + cpuid: + eax: '0x14' + ecx: '0' + needs_ecx: 'true' + reg: R_ECX + feat_names: + 31: intel-pt-lip + tcg_features: TCG_14_0_ECX_FEATURES + type: CPUID_FEATURE_WORD + +- index: FEAT_SGX_12_0_EAX + cpuid: + eax: '0x12' + ecx: '0' + needs_ecx: 'true' + reg: R_EAX + feat_names: + 0: sgx1 + 1: sgx2 + 11: sgx-edeccssa + tcg_features: TCG_SGX_12_0_EAX_FEATURES + type: CPUID_FEATURE_WORD + +- index: FEAT_SGX_12_0_EBX + cpuid: + eax: '0x12' + ecx: '0' + needs_ecx: 'true' + reg: R_EBX + feat_names: + 0: sgx-exinfo + tcg_features: TCG_SGX_12_0_EBX_FEATURES + type: CPUID_FEATURE_WORD + +- index: FEAT_SGX_12_1_EAX + cpuid: + eax: '0x12' + ecx: '1' + needs_ecx: 'true' + reg: R_EAX + feat_names: + 1: sgx-debug + 2: sgx-mode64 + 4: sgx-provisionkey + 5: sgx-tokenkey + 7: sgx-kss + 10: sgx-aex-notify + tcg_features: TCG_SGX_12_1_EAX_FEATURES + type: CPUID_FEATURE_WORD --=20 2.39.2 From nobody Wed May 15 10:36:37 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1694177221; cv=none; d=zohomail.com; s=zohoarc; b=gECkkVwLG8eS8C2V52ADi8BYBNdHW58pFaETZ13GhzhcjxaqpHHSxjq3BUVfoT+DWWB6Li+YtqXBBL/nTIWDcDl+yo6RATQ9bVLjESJxunmb7zh0uUJV7T/7J1jbODm0012YwLWWVDqQAW8Sp2MZNLm8WwFtOj5ksJXSbIrDEpI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694177221; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=drc63C8ZcWUOxriNZ3UVxlK0ByUnKTd46gaXlKxEsI0=; b=QT0DwbPm4LMoDIqLf+OnoBFMyYDdrIfaduKPY9hI5F2AdWviIKZscZyCJl3+ynT/JagS2Wj2Bk1v/Q/bgFjjI3QZk7RZ4CORF4QGGME/LjhsZIodaLw3Xa/zkBAVtZJ8zsPSn+9GbDJCS+w/mJ2lr7UtEWcqYeRpE3rxvmYUH3I= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1694177221200674.4833512688459; Fri, 8 Sep 2023 05:47:01 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qeasF-0003jd-Fz; Fri, 08 Sep 2023 08:46:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qeasB-0003h3-B3 for qemu-devel@nongnu.org; Fri, 08 Sep 2023 08:46:07 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qeas6-0006LA-Tr for qemu-devel@nongnu.org; Fri, 08 Sep 2023 08:46:07 -0400 Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-580-W8X-oejLP4SZ62oYaBIS1Q-1; Fri, 08 Sep 2023 08:45:43 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 502C9101CA89; Fri, 8 Sep 2023 12:45:43 +0000 (UTC) Received: from work.redhat.com (unknown [10.39.194.211]) by smtp.corp.redhat.com (Postfix) with ESMTP id 6917A20BAE72; Fri, 8 Sep 2023 12:45:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1694177145; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=drc63C8ZcWUOxriNZ3UVxlK0ByUnKTd46gaXlKxEsI0=; b=TdL7W0cnoN6UyrB93NNWrw4jFrZP2vD8MpJ2gMna9SpuVg3qroiLd6zbw/8shOXRWlKVuc RUR2mGD5eUoDllPML2jlOPYTJpws8AIXjE3UGaXJVsWbm/X78hyeSm3IF3+0vmtKZipDnn i3oYx4rgYThSts5dFuiSoLeXqgdAGy8= X-MC-Unique: W8X-oejLP4SZ62oYaBIS1Q-1 From: Tim Wiederhake To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Paolo Bonzini , "Michael S . Tsirkin" , Tim Wiederhake Subject: [PATCH v2 06/10] target/i386: Format feature_word_info.c.inc: Remove comments Date: Fri, 8 Sep 2023 14:45:30 +0200 Message-Id: <20230908124534.25027-7-twiederh@redhat.com> In-Reply-To: <20230908124534.25027-1-twiederh@redhat.com> References: <20230908124534.25027-1-twiederh@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.6 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.133.124; envelope-from=twiederh@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1694177223138100001 Content-Type: text/plain; charset="utf-8" The comments are preserved in the yaml file. Signed-off-by: Tim Wiederhake --- target/i386/feature_word_info.c.inc | 56 ++++++++--------------------- 1 file changed, 15 insertions(+), 41 deletions(-) diff --git a/target/i386/feature_word_info.c.inc b/target/i386/feature_word= _info.c.inc index d4462d7b1f..1d7eae9130 100644 --- a/target/i386/feature_word_info.c.inc +++ b/target/i386/feature_word_info.c.inc @@ -6,10 +6,10 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { "tsc", "msr", "pae", "mce", "cx8", "apic", NULL, "sep", "mtrr", "pge", "mca", "cmov", - "pat", "pse36", "pn" /* Intel psn */, "clflush" /* Intel clfsh= */, - NULL, "ds" /* Intel dts */, "acpi", "mmx", + "pat", "pse36", "pn", "clflush", + NULL, "ds", "acpi", "mmx", "fxsr", "sse", "sse2", "ss", - "ht" /* Intel htt */, "tm", "ia64", "pbe", + "ht", "tm", "ia64", "pbe", }, .cpuid =3D {.eax =3D 1, .reg =3D R_EDX, }, .tcg_features =3D TCG_FEATURES, @@ -17,33 +17,28 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { [FEAT_1_ECX] =3D { .type =3D CPUID_FEATURE_WORD, .feat_names =3D { - "pni" /* Intel,AMD sse3 */, "pclmulqdq", "dtes64", "monitor", + "pni", "pclmulqdq", "dtes64", "monitor", "ds-cpl", "vmx", "smx", "est", "tm2", "ssse3", "cid", NULL, "fma", "cx16", "xtpr", "pdcm", NULL, "pcid", "dca", "sse4.1", "sse4.2", "x2apic", "movbe", "popcnt", - "tsc-deadline", "aes", "xsave", NULL /* osxsave */, + "tsc-deadline", "aes", "xsave", NULL, "avx", "f16c", "rdrand", "hypervisor", }, .cpuid =3D { .eax =3D 1, .reg =3D R_ECX, }, .tcg_features =3D TCG_EXT_FEATURES, }, - /* Feature names that are already defined on feature_name[] but - * are set on CPUID[8000_0001].EDX on AMD CPUs don't have their - * names on feat_names below. They are copied automatically - * to features[FEAT_8000_0001_EDX] if and only if CPU vendor is AMD. - */ [FEAT_8000_0001_EDX] =3D { .type =3D CPUID_FEATURE_WORD, .feat_names =3D { - NULL /* fpu */, NULL /* vme */, NULL /* de */, NULL /* pse */, - NULL /* tsc */, NULL /* msr */, NULL /* pae */, NULL /* mce */, - NULL /* cx8 */, NULL /* apic */, NULL, "syscall", - NULL /* mtrr */, NULL /* pge */, NULL /* mca */, NULL /* cmov = */, - NULL /* pat */, NULL /* pse36 */, NULL, NULL /* Linux mp */, - "nx", NULL, "mmxext", NULL /* mmx */, - NULL /* fxsr */, "fxsr-opt", "pdpe1gb", "rdtscp", + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, "syscall", + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + "nx", NULL, "mmxext", NULL, + NULL, "fxsr-opt", "pdpe1gb", "rdtscp", NULL, "lm", "3dnowext", "3dnow", }, .cpuid =3D { .eax =3D 0x80000001, .reg =3D R_EDX, }, @@ -63,11 +58,6 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { }, .cpuid =3D { .eax =3D 0x80000001, .reg =3D R_ECX, }, .tcg_features =3D TCG_EXT3_FEATURES, - /* - * TOPOEXT is always allowed but can't be enabled blindly by - * "-cpu host", as it requires consistent cache topology info - * to be provided so it doesn't confuse guests. - */ .no_autoenable_flags =3D CPUID_EXT3_TOPOEXT, }, [FEAT_C000_0001_EDX] =3D { @@ -114,10 +104,6 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { }, .cpuid =3D { .eax =3D KVM_CPUID_FEATURES, .reg =3D R_EDX, }, .tcg_features =3D TCG_KVM_FEATURES, - /* - * KVM hints aren't auto-enabled by -cpu host, they need to be - * explicitly enabled in the command-line. - */ .no_autoenable_flags =3D ~0U, }, [FEAT_SVM] =3D { @@ -158,7 +144,7 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { .type =3D CPUID_FEATURE_WORD, .feat_names =3D { NULL, "avx512vbmi", "umip", "pku", - NULL /* ospke */, "waitpkg", "avx512vbmi2", NULL, + NULL, "waitpkg", "avx512vbmi2", NULL, "gfni", "vaes", "vpclmulqdq", "avx512vnni", "avx512bitalg", NULL, "avx512-vpopcntdq", NULL, "la57", NULL, NULL, NULL, @@ -180,7 +166,7 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { "fsrm", NULL, NULL, NULL, "avx512-vp2intersect", NULL, "md-clear", NULL, NULL, NULL, "serialize", NULL, - "tsx-ldtrk", NULL, NULL /* pconfig */, "arch-lbr", + "tsx-ldtrk", NULL, NULL, "arch-lbr", NULL, NULL, "amx-bf16", "avx512-fp16", "amx-tile", "amx-int8", "spec-ctrl", "stibp", "flush-l1d", "arch-capabilities", "core-capability", "ssbd", @@ -381,7 +367,6 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { }, .tcg_features =3D ~0U, }, - /*Below are MSR exposed features*/ [FEAT_ARCH_CAPABILITIES] =3D { .type =3D MSR_FEATURE_WORD, .feat_names =3D { @@ -397,12 +382,6 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { .msr =3D { .index =3D MSR_IA32_ARCH_CAPABILITIES, }, - /* - * FEAT_ARCH_CAPABILITIES only affects a read-only MSR, which - * cannot be read from user mode. Therefore, it has no impact - > on any user-mode operation, and warnings about unsupported - * features do not matter. - */ .tcg_features =3D ~0U, }, [FEAT_CORE_CAPABILITY] =3D { @@ -491,14 +470,10 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { =20 [FEAT_VMX_EXIT_CTLS] =3D { .type =3D MSR_FEATURE_WORD, - /* - * VMX_VM_EXIT_HOST_ADDR_SPACE_SIZE is copied from - * the LM CPUID bit. - */ .feat_names =3D { NULL, NULL, "vmx-exit-nosave-debugctl", NULL, NULL, NULL, NULL, NULL, - NULL, NULL /* vmx-exit-host-addr-space-size */, NULL, NULL, + NULL, NULL, NULL, NULL, "vmx-exit-load-perf-global-ctrl", NULL, NULL, "vmx-exit-ack-in= tr", NULL, NULL, "vmx-exit-save-pat", "vmx-exit-load-pat", "vmx-exit-save-efer", "vmx-exit-load-efer", @@ -580,7 +555,6 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { .msr =3D { .index =3D MSR_IA32_VMX_BASIC, }, - /* Just to be safe - we don't support setting the MSEG version fie= ld. */ .no_autoenable_flags =3D MSR_VMX_BASIC_DUAL_MONITOR, }, =20 --=20 2.39.2 From nobody Wed May 15 10:36:37 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1694177292; cv=none; d=zohomail.com; s=zohoarc; b=c3IPbsiNNQ1M1QYKLiVRxLgzEvfEb780t0CnexqlBXKgo/eR0HN+1shYLc6qaHADccyW2lApgpjVmiP0viB/2A7Yi4TigQZDFT7jErMxqkJlYgkkfC+PnLveM+09qIHunuJKXhhyAvjbxooF8emJ6TJOEUaSbdBrmo0eyLQZpHw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694177292; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=F1kE+hNS2W1dVC16ObsdR9/1qgu4n3Vem3enpvUIKwI=; b=RklHZitmEfkO6LGSUp4an5NFxsxQsdYJQQV7Oty+gu8GjPltKftKX6Tzo+A6yW1ycXE84+I/JwTUgW7TbBuY6WdspvYJC0BLRfxcdi5BMvxc1Yj36jQKGn1pF2CXpeFcyE/D1zt3nwkyjRjVGlAgmiKyDbG/kuPOlH594Gk3kO0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 16941772922180.970255187494331; Fri, 8 Sep 2023 05:48:12 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qeasH-0003ly-UK; Fri, 08 Sep 2023 08:46:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qeasF-0003jp-8s for qemu-devel@nongnu.org; Fri, 08 Sep 2023 08:46:11 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qeas6-0006LM-Vg for qemu-devel@nongnu.org; Fri, 08 Sep 2023 08:46:11 -0400 Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-595-5LFFWXbxMs2Qf_j-L5_6pw-1; Fri, 08 Sep 2023 08:45:44 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 77DF3917EBD; Fri, 8 Sep 2023 12:45:44 +0000 (UTC) Received: from work.redhat.com (unknown [10.39.194.211]) by smtp.corp.redhat.com (Postfix) with ESMTP id 8DB8D21EE566; Fri, 8 Sep 2023 12:45:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1694177146; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=F1kE+hNS2W1dVC16ObsdR9/1qgu4n3Vem3enpvUIKwI=; b=MTjxvDNjeocD0++jjwJsl1rPX+Stara13JvT0rSmeDSfF/0cdoWxSaTxPw9MI+rbVtPJ0/ 4gSARlVZ3aUGqb8qDpW/TO6toJ4eIJX1P6aiQf1DQTrPk0q5AmYc3/+9EBIYxfATCcg0jz 3igBJcVnZZ5mXRvSUqI4XYA5S+F6Q7Y= X-MC-Unique: 5LFFWXbxMs2Qf_j-L5_6pw-1 From: Tim Wiederhake To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Paolo Bonzini , "Michael S . Tsirkin" , Tim Wiederhake Subject: [PATCH v2 07/10] target/i386: Format feature_word_info.c.inc: Fill out feat_names Date: Fri, 8 Sep 2023 14:45:31 +0200 Message-Id: <20230908124534.25027-8-twiederh@redhat.com> In-Reply-To: <20230908124534.25027-1-twiederh@redhat.com> References: <20230908124534.25027-1-twiederh@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.6 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=twiederh@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, UPPERCASE_50_75=0.008 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1694177293611100003 Content-Type: text/plain; charset="utf-8" This member is an array of length 64. Initializing all entries in this array allows for some simplification in the generating code. Signed-off-by: Tim Wiederhake --- target/i386/feature_word_info.c.inc | 355 +++++++++++++++++++++++++++- 1 file changed, 351 insertions(+), 4 deletions(-) diff --git a/target/i386/feature_word_info.c.inc b/target/i386/feature_word= _info.c.inc index 1d7eae9130..1f28c3f66e 100644 --- a/target/i386/feature_word_info.c.inc +++ b/target/i386/feature_word_info.c.inc @@ -10,6 +10,14 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, "ds", "acpi", "mmx", "fxsr", "sse", "sse2", "ss", "ht", "tm", "ia64", "pbe", + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, }, .cpuid =3D {.eax =3D 1, .reg =3D R_EDX, }, .tcg_features =3D TCG_FEATURES, @@ -25,6 +33,14 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { "sse4.2", "x2apic", "movbe", "popcnt", "tsc-deadline", "aes", "xsave", NULL, "avx", "f16c", "rdrand", "hypervisor", + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, }, .cpuid =3D { .eax =3D 1, .reg =3D R_ECX, }, .tcg_features =3D TCG_EXT_FEATURES, @@ -40,6 +56,14 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { "nx", NULL, "mmxext", NULL, NULL, "fxsr-opt", "pdpe1gb", "rdtscp", NULL, "lm", "3dnowext", "3dnow", + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, }, .cpuid =3D { .eax =3D 0x80000001, .reg =3D R_EDX, }, .tcg_features =3D TCG_EXT2_FEATURES, @@ -55,6 +79,14 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, "tbm", "topoext", "perfctr-core", "perfctr-nb", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, }, .cpuid =3D { .eax =3D 0x80000001, .reg =3D R_ECX, }, .tcg_features =3D TCG_EXT3_FEATURES, @@ -71,6 +103,14 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, }, .cpuid =3D { .eax =3D 0xC0000001, .reg =3D R_EDX, }, .tcg_features =3D TCG_EXT4_FEATURES, @@ -86,6 +126,14 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, NULL, NULL, NULL, "kvmclock-stable-bit", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, }, .cpuid =3D { .eax =3D KVM_CPUID_FEATURES, .reg =3D R_EAX, }, .tcg_features =3D TCG_KVM_FEATURES, @@ -101,6 +149,14 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, }, .cpuid =3D { .eax =3D KVM_CPUID_FEATURES, .reg =3D R_EDX, }, .tcg_features =3D TCG_KVM_FEATURES, @@ -117,6 +173,14 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, NULL, NULL, NULL, NULL, "vnmi", NULL, NULL, "svme-addr-chk", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, }, .cpuid =3D { .eax =3D 0x8000000A, .reg =3D R_EDX, }, .tcg_features =3D TCG_SVM_FEATURES, @@ -132,6 +196,14 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { "smap", "avx512ifma", "pcommit", "clflushopt", "clwb", "intel-pt", "avx512pf", "avx512er", "avx512cd", "sha-ni", "avx512bw", "avx512vl", + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, }, .cpuid =3D { .eax =3D 7, @@ -151,6 +223,14 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, NULL, "rdpid", NULL, "bus-lock-detect", "cldemote", NULL, "movdiri", "movdir64b", NULL, "sgxlc", "pks", + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, }, .cpuid =3D { .eax =3D 7, @@ -170,6 +250,14 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, NULL, "amx-bf16", "avx512-fp16", "amx-tile", "amx-int8", "spec-ctrl", "stibp", "flush-l1d", "arch-capabilities", "core-capability", "ssbd", + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, }, .cpuid =3D { .eax =3D 7, @@ -189,6 +277,14 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, "amx-fp16", NULL, "avx-ifma", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, }, .cpuid =3D { .eax =3D 7, @@ -208,6 +304,14 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, }, .cpuid =3D { .eax =3D 7, @@ -227,6 +331,14 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, }, .cpuid =3D { .eax =3D 7, @@ -246,6 +358,14 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, }, .cpuid =3D { .eax =3D 0x80000007, .reg =3D R_EDX, }, .tcg_features =3D TCG_APM_FEATURES, @@ -262,6 +382,14 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, NULL, NULL, NULL, "amd-ssbd", "virt-ssbd", "amd-no-ssb", NULL, "amd-psfd", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, }, .cpuid =3D { .eax =3D 0x80000008, .reg =3D R_EBX, }, .tcg_features =3D TCG_8000_0008_EBX, @@ -278,6 +406,14 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, }, .cpuid =3D { .eax =3D 0x80000021, .reg =3D R_EAX, }, .tcg_features =3D 0, @@ -294,6 +430,14 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, }, .cpuid =3D { .eax =3D 0xd, @@ -313,6 +457,14 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, }, .cpuid =3D { .eax =3D 0xD, @@ -323,6 +475,24 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { }, [FEAT_XSAVE_XSS_HI] =3D { .type =3D CPUID_FEATURE_WORD, + .feat_names =3D { + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + }, .cpuid =3D { .eax =3D 0xD, .needs_ecx =3D true, @@ -341,12 +511,38 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, }, .cpuid =3D { .eax =3D 6, .reg =3D R_EAX, }, .tcg_features =3D TCG_6_EAX_FEATURES, }, [FEAT_XSAVE_XCR0_LO] =3D { .type =3D CPUID_FEATURE_WORD, + .feat_names =3D { + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + }, .cpuid =3D { .eax =3D 0xD, .needs_ecx =3D true, .ecx =3D 0, @@ -360,6 +556,24 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { }, [FEAT_XSAVE_XCR0_HI] =3D { .type =3D CPUID_FEATURE_WORD, + .feat_names =3D { + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + }, .cpuid =3D { .eax =3D 0xD, .needs_ecx =3D true, .ecx =3D 0, @@ -378,6 +592,14 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, NULL, NULL, NULL, "pbrsb-no", NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, }, .msr =3D { .index =3D MSR_IA32_ARCH_CAPABILITIES, @@ -395,6 +617,14 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, }, .msr =3D { .index =3D MSR_IA32_CORE_CAPABILITY, @@ -411,6 +641,14 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, }, .msr =3D { .index =3D MSR_IA32_PERF_CAPABILITIES, @@ -428,6 +666,14 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { "vmx-cr8-store-exit", "vmx-flexpriority", "vmx-vnmi-pending", = "vmx-movdr-exit", "vmx-io-exit", "vmx-io-bitmap", NULL, "vmx-mtf", "vmx-msr-bitmap", "vmx-monitor-exit", "vmx-pause-exit", "vmx-s= econdary-ctls", + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, }, .msr =3D { .index =3D MSR_IA32_VMX_TRUE_PROCBASED_CTLS, @@ -445,6 +691,14 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { "vmx-xsaves", NULL, NULL, NULL, NULL, "vmx-tsc-scaling", "vmx-enable-user-wait-pause", NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, }, .msr =3D { .index =3D MSR_IA32_VMX_PROCBASED_CTLS2, @@ -462,6 +716,14 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, }, .msr =3D { .index =3D MSR_IA32_VMX_TRUE_PINBASED_CTLS, @@ -480,6 +742,14 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { "vmx-exit-save-preemption-timer", "vmx-exit-clear-bndcfgs", NULL, "vmx-exit-clear-rtit-ctl", NULL, NULL, NULL, "vmx-exit-load-pkrs", NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, }, .msr =3D { .index =3D MSR_IA32_VMX_TRUE_EXIT_CTLS, @@ -497,6 +767,14 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, NULL, "vmx-entry-load-pkrs", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, }, .msr =3D { .index =3D MSR_IA32_VMX_TRUE_ENTRY_CTLS, @@ -514,6 +792,14 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "vmx-vmwrite-vmexit-fields", "vmx-zero-len-inject", NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, }, .msr =3D { .index =3D MSR_IA32_VMX_MISC, @@ -549,8 +835,22 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { [FEAT_VMX_BASIC] =3D { .type =3D MSR_FEATURE_WORD, .feat_names =3D { - [54] =3D "vmx-ins-outs", - [55] =3D "vmx-true-ctls", + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, "vmx-ins-outs", "vmx-true-ctls", + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, }, .msr =3D { .index =3D MSR_IA32_VMX_BASIC, @@ -561,7 +861,22 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { [FEAT_VMX_VMFUNC] =3D { .type =3D MSR_FEATURE_WORD, .feat_names =3D { - [0] =3D "vmx-eptp-switching", + "vmx-eptp-switching", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, }, .msr =3D { .index =3D MSR_IA32_VMX_VMFUNC, @@ -579,6 +894,14 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, "intel-pt-lip", + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, }, .cpuid =3D { .eax =3D 0x14, @@ -599,6 +922,14 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, }, .cpuid =3D { .eax =3D 0x12, @@ -611,7 +942,15 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { [FEAT_SGX_12_0_EBX] =3D { .type =3D CPUID_FEATURE_WORD, .feat_names =3D { - "sgx-exinfo" , NULL, NULL, NULL, + "sgx-exinfo", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, @@ -639,6 +978,14 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, }, .cpuid =3D { .eax =3D 0x12, --=20 2.39.2 From nobody Wed May 15 10:36:37 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1694177292; cv=none; d=zohomail.com; s=zohoarc; b=HWkDOJnEpwRiulY15OVtitLDBFcJXph4fQUEJd5SHDic2g7Bdt7tWNgS+TB1HjPgVoDvAyOlbogOFd0iZ0hU8We8JVvG7EtZt7LSU5QIQfT7zDBqkam+Rq4tmuw8EK7oA8IwvvJkm9jJu7nQTnfl+ej8cMdGjag4C4tjVjzzpqw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694177292; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=1Xc+o7+fNdaTWsUTme+0KqsdGzH9ed0FqOKqu4AbJDY=; b=e6holsaMqH9X0i2SnBlGNHmnv3E8Z/U7hBvtvgj0h29N7RQTwzobq8EQtxLaLthcRU3NcHan3o07soPEXawV8oY+Db4SDMD4bPCVzf14RI85Sk0k7Z7DBwKdK3U+3QWk97Mjjsg/ZFW/lYn09TewvbeBgCz2NUj91EnX93uCpdM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1694177292146413.76090161198965; Fri, 8 Sep 2023 05:48:12 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qeasQ-0003tv-8a; Fri, 08 Sep 2023 08:46:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qeasD-0003ig-3y for qemu-devel@nongnu.org; Fri, 08 Sep 2023 08:46:10 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qeas6-0006LS-UA for qemu-devel@nongnu.org; Fri, 08 Sep 2023 08:46:08 -0400 Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-317-8bLaTEFSNk2A8I_HAopv1A-1; Fri, 08 Sep 2023 08:45:46 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id A4E0B281224A; Fri, 8 Sep 2023 12:45:45 +0000 (UTC) Received: from work.redhat.com (unknown [10.39.194.211]) by smtp.corp.redhat.com (Postfix) with ESMTP id B617C21EE56B; Fri, 8 Sep 2023 12:45:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1694177149; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=1Xc+o7+fNdaTWsUTme+0KqsdGzH9ed0FqOKqu4AbJDY=; b=F+z2AaWeJDqev8tLIa8vpk6W+pdOX8wh/hJ0M6j01wZ/mSZ9yUbotsZztgc/TDs8EndU3h XKzcWagrmHddXDCcVgGAIB0tGz+ml7gTntQyUZR0NkmLEqG75CzmwzM80hafUeK6A1Qfen lNrAa8kPQeUkb2f/hLmHPe18jldCXxs= X-MC-Unique: 8bLaTEFSNk2A8I_HAopv1A-1 From: Tim Wiederhake To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Paolo Bonzini , "Michael S . Tsirkin" , Tim Wiederhake Subject: [PATCH v2 08/10] target/i386: Format feature_word_info.c.inc: Unfold cpuid member Date: Fri, 8 Sep 2023 14:45:32 +0200 Message-Id: <20230908124534.25027-9-twiederh@redhat.com> In-Reply-To: <20230908124534.25027-1-twiederh@redhat.com> References: <20230908124534.25027-1-twiederh@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.6 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=twiederh@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1694177293623100004 Content-Type: text/plain; charset="utf-8" Having a consistent formatting minimizes the diff to the generated code. Signed-off-by: Tim Wiederhake --- target/i386/feature_word_info.c.inc | 101 +++++++++++++++++++++------- 1 file changed, 75 insertions(+), 26 deletions(-) diff --git a/target/i386/feature_word_info.c.inc b/target/i386/feature_word= _info.c.inc index 1f28c3f66e..c154a2b0cf 100644 --- a/target/i386/feature_word_info.c.inc +++ b/target/i386/feature_word_info.c.inc @@ -19,7 +19,10 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, }, - .cpuid =3D {.eax =3D 1, .reg =3D R_EDX, }, + .cpuid =3D { + .eax =3D 1, + .reg =3D R_EDX, + }, .tcg_features =3D TCG_FEATURES, }, [FEAT_1_ECX] =3D { @@ -42,7 +45,10 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, }, - .cpuid =3D { .eax =3D 1, .reg =3D R_ECX, }, + .cpuid =3D { + .eax =3D 1, + .reg =3D R_ECX, + }, .tcg_features =3D TCG_EXT_FEATURES, }, [FEAT_8000_0001_EDX] =3D { @@ -65,7 +71,10 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, }, - .cpuid =3D { .eax =3D 0x80000001, .reg =3D R_EDX, }, + .cpuid =3D { + .eax =3D 0x80000001, + .reg =3D R_EDX, + }, .tcg_features =3D TCG_EXT2_FEATURES, }, [FEAT_8000_0001_ECX] =3D { @@ -88,7 +97,10 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, }, - .cpuid =3D { .eax =3D 0x80000001, .reg =3D R_ECX, }, + .cpuid =3D { + .eax =3D 0x80000001, + .reg =3D R_ECX, + }, .tcg_features =3D TCG_EXT3_FEATURES, .no_autoenable_flags =3D CPUID_EXT3_TOPOEXT, }, @@ -112,7 +124,10 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, }, - .cpuid =3D { .eax =3D 0xC0000001, .reg =3D R_EDX, }, + .cpuid =3D { + .eax =3D 0xC0000001, + .reg =3D R_EDX, + }, .tcg_features =3D TCG_EXT4_FEATURES, }, [FEAT_KVM] =3D { @@ -135,7 +150,10 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, }, - .cpuid =3D { .eax =3D KVM_CPUID_FEATURES, .reg =3D R_EAX, }, + .cpuid =3D { + .eax =3D KVM_CPUID_FEATURES, + .reg =3D R_EAX, + }, .tcg_features =3D TCG_KVM_FEATURES, }, [FEAT_KVM_HINTS] =3D { @@ -158,7 +176,10 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, }, - .cpuid =3D { .eax =3D KVM_CPUID_FEATURES, .reg =3D R_EDX, }, + .cpuid =3D { + .eax =3D KVM_CPUID_FEATURES, + .reg =3D R_EDX, + }, .tcg_features =3D TCG_KVM_FEATURES, .no_autoenable_flags =3D ~0U, }, @@ -182,7 +203,10 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, }, - .cpuid =3D { .eax =3D 0x8000000A, .reg =3D R_EDX, }, + .cpuid =3D { + .eax =3D 0x8000000A, + .reg =3D R_EDX, + }, .tcg_features =3D TCG_SVM_FEATURES, }, [FEAT_7_0_EBX] =3D { @@ -207,7 +231,8 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { }, .cpuid =3D { .eax =3D 7, - .needs_ecx =3D true, .ecx =3D 0, + .needs_ecx =3D true, + .ecx =3D 0, .reg =3D R_EBX, }, .tcg_features =3D TCG_7_0_EBX_FEATURES, @@ -234,7 +259,8 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { }, .cpuid =3D { .eax =3D 7, - .needs_ecx =3D true, .ecx =3D 0, + .needs_ecx =3D true, + .ecx =3D 0, .reg =3D R_ECX, }, .tcg_features =3D TCG_7_0_ECX_FEATURES, @@ -261,7 +287,8 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { }, .cpuid =3D { .eax =3D 7, - .needs_ecx =3D true, .ecx =3D 0, + .needs_ecx =3D true, + .ecx =3D 0, .reg =3D R_EDX, }, .tcg_features =3D TCG_7_0_EDX_FEATURES, @@ -288,7 +315,8 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { }, .cpuid =3D { .eax =3D 7, - .needs_ecx =3D true, .ecx =3D 1, + .needs_ecx =3D true, + .ecx =3D 1, .reg =3D R_EAX, }, .tcg_features =3D TCG_7_1_EAX_FEATURES, @@ -315,7 +343,8 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { }, .cpuid =3D { .eax =3D 7, - .needs_ecx =3D true, .ecx =3D 1, + .needs_ecx =3D true, + .ecx =3D 1, .reg =3D R_EDX, }, .tcg_features =3D TCG_7_1_EDX_FEATURES, @@ -342,7 +371,8 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { }, .cpuid =3D { .eax =3D 7, - .needs_ecx =3D true, .ecx =3D 2, + .needs_ecx =3D true, + .ecx =3D 2, .reg =3D R_EDX, }, .tcg_features =3D TCG_7_2_EDX_FEATURES, @@ -367,7 +397,10 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, }, - .cpuid =3D { .eax =3D 0x80000007, .reg =3D R_EDX, }, + .cpuid =3D { + .eax =3D 0x80000007, + .reg =3D R_EDX, + }, .tcg_features =3D TCG_APM_FEATURES, .unmigratable_flags =3D CPUID_APM_INVTSC, }, @@ -391,7 +424,10 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, }, - .cpuid =3D { .eax =3D 0x80000008, .reg =3D R_EBX, }, + .cpuid =3D { + .eax =3D 0x80000008, + .reg =3D R_EBX, + }, .tcg_features =3D TCG_8000_0008_EBX, .unmigratable_flags =3D 0, }, @@ -415,7 +451,10 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, }, - .cpuid =3D { .eax =3D 0x80000021, .reg =3D R_EAX, }, + .cpuid =3D { + .eax =3D 0x80000021, + .reg =3D R_EAX, + }, .tcg_features =3D 0, .unmigratable_flags =3D 0, }, @@ -441,7 +480,8 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { }, .cpuid =3D { .eax =3D 0xd, - .needs_ecx =3D true, .ecx =3D 1, + .needs_ecx =3D true, + .ecx =3D 1, .reg =3D R_EAX, }, .tcg_features =3D TCG_XSAVE_FEATURES, @@ -497,7 +537,7 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { .eax =3D 0xD, .needs_ecx =3D true, .ecx =3D 1, - .reg =3D R_EDX + .reg =3D R_EDX, }, }, [FEAT_6_EAX] =3D { @@ -520,7 +560,10 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, }, - .cpuid =3D { .eax =3D 6, .reg =3D R_EAX, }, + .cpuid =3D { + .eax =3D 6, + .reg =3D R_EAX, + }, .tcg_features =3D TCG_6_EAX_FEATURES, }, [FEAT_XSAVE_XCR0_LO] =3D { @@ -545,7 +588,8 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { }, .cpuid =3D { .eax =3D 0xD, - .needs_ecx =3D true, .ecx =3D 0, + .needs_ecx =3D true, + .ecx =3D 0, .reg =3D R_EAX, }, .tcg_features =3D ~0U, @@ -576,7 +620,8 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { }, .cpuid =3D { .eax =3D 0xD, - .needs_ecx =3D true, .ecx =3D 0, + .needs_ecx =3D true, + .ecx =3D 0, .reg =3D R_EDX, }, .tcg_features =3D ~0U, @@ -905,7 +950,8 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { }, .cpuid =3D { .eax =3D 0x14, - .needs_ecx =3D true, .ecx =3D 0, + .needs_ecx =3D true, + .ecx =3D 0, .reg =3D R_ECX, }, .tcg_features =3D TCG_14_0_ECX_FEATURES, @@ -933,7 +979,8 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { }, .cpuid =3D { .eax =3D 0x12, - .needs_ecx =3D true, .ecx =3D 0, + .needs_ecx =3D true, + .ecx =3D 0, .reg =3D R_EAX, }, .tcg_features =3D TCG_SGX_12_0_EAX_FEATURES, @@ -961,7 +1008,8 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { }, .cpuid =3D { .eax =3D 0x12, - .needs_ecx =3D true, .ecx =3D 0, + .needs_ecx =3D true, + .ecx =3D 0, .reg =3D R_EBX, }, .tcg_features =3D TCG_SGX_12_0_EBX_FEATURES, @@ -989,7 +1037,8 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { }, .cpuid =3D { .eax =3D 0x12, - .needs_ecx =3D true, .ecx =3D 1, + .needs_ecx =3D true, + .ecx =3D 1, .reg =3D R_EAX, }, .tcg_features =3D TCG_SGX_12_1_EAX_FEATURES, --=20 2.39.2 From nobody Wed May 15 10:36:37 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1694177217; cv=none; d=zohomail.com; s=zohoarc; b=PVoVbG+fi4TTATMLWRDQiQ7uCAKQrL6h+aYg1RF4Mv7c58jVFBh9h0MSm3tNtSQDC1o3yCP+ZbkB2YIy63nJdomd5CSe56fS9GlMZeHIXKEAV38bkhZPF/7WBr/ixOe5REaoeo/+au93ON20X8F9XJ9rpJqK9EUnvEunxfccOlM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694177217; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=h8R8sdwErNXOISyu2acerni+tRQFccjE0EjJm6SaSwQ=; b=nicTOCrY3sp9cTvAo7MfwSV7SUMQqG5w/ea566gToayi4Tn0nDNo8MFHZbsCwIA+RONrecDSXyE8Yp4zbhAKh+KrC2Ud+X7nILRxQV8jBMBkQNcDnuAe5KOIoaHBSSU/7cUtt6R0KFfROJEHQkAKyMUD7g9/9ccQDeHIGFmlc48= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1694177217235106.30004915258712; Fri, 8 Sep 2023 05:46:57 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qeasG-0003lX-OW; Fri, 08 Sep 2023 08:46:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qeasE-0003jD-Di for qemu-devel@nongnu.org; Fri, 08 Sep 2023 08:46:10 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qeas5-0006Lm-U4 for qemu-devel@nongnu.org; Fri, 08 Sep 2023 08:46:10 -0400 Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-643-ydN-sNglOKWKfDPIs9ewvQ-1; Fri, 08 Sep 2023 08:45:47 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id C7603917EAC; Fri, 8 Sep 2023 12:45:46 +0000 (UTC) Received: from work.redhat.com (unknown [10.39.194.211]) by smtp.corp.redhat.com (Postfix) with ESMTP id E029521EE56A; Fri, 8 Sep 2023 12:45:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1694177150; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=h8R8sdwErNXOISyu2acerni+tRQFccjE0EjJm6SaSwQ=; b=clsT0w9ywSGLL50AFq9HC04YTx+RhJx05XmA/ErLiWEYDxmLloe2/vy0AzaYo6fDmkhlY7 hiGuYA86Vp82nTxiIdTjcZ7WA1w+oFyIqtSUdpko3xgage+/ENcx9uwQLcSuPxaShCWQrw 7IHEIjFsjquxmQrJQq9LklGhj/XQsaY= X-MC-Unique: ydN-sNglOKWKfDPIs9ewvQ-1 From: Tim Wiederhake To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Paolo Bonzini , "Michael S . Tsirkin" , Tim Wiederhake Subject: [PATCH v2 09/10] target/i386: Format feature_word_info.c.inc: Whitespaces and trailing commas Date: Fri, 8 Sep 2023 14:45:33 +0200 Message-Id: <20230908124534.25027-10-twiederh@redhat.com> In-Reply-To: <20230908124534.25027-1-twiederh@redhat.com> References: <20230908124534.25027-1-twiederh@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.6 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=twiederh@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1694177217879100001 Content-Type: text/plain; charset="utf-8" Having a consistent formatting minimizes the diff to the generated code. Signed-off-by: Tim Wiederhake --- target/i386/feature_word_info.c.inc | 44 +++++++++-------------------- 1 file changed, 13 insertions(+), 31 deletions(-) diff --git a/target/i386/feature_word_info.c.inc b/target/i386/feature_word= _info.c.inc index c154a2b0cf..5bac4aaeba 100644 --- a/target/i386/feature_word_info.c.inc +++ b/target/i386/feature_word_info.c.inc @@ -187,7 +187,7 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { .type =3D CPUID_FEATURE_WORD, .feat_names =3D { "npt", "lbrv", "svm-lock", "nrip-save", - "tsc-scale", "vmcb-clean", "flushbyasid", "decodeassists", + "tsc-scale", "vmcb-clean", "flushbyasid", "decodeassists", NULL, NULL, "pause-filter", NULL, "pfthreshold", "avic", NULL, "v-vmsave-vmload", "vgif", NULL, NULL, NULL, @@ -593,10 +593,7 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { .reg =3D R_EAX, }, .tcg_features =3D ~0U, - .migratable_flags =3D XSTATE_FP_MASK | XSTATE_SSE_MASK | - XSTATE_YMM_MASK | XSTATE_BNDREGS_MASK | XSTATE_BNDCSR_MASK | - XSTATE_OPMASK_MASK | XSTATE_ZMM_Hi256_MASK | XSTATE_Hi16_ZMM_M= ASK | - XSTATE_PKRU_MASK, + .migratable_flags =3D XSTATE_FP_MASK | XSTATE_SSE_MASK | XSTATE_YM= M_MASK | XSTATE_BNDREGS_MASK | XSTATE_BNDCSR_MASK | XSTATE_OPMASK_MASK | XS= TATE_ZMM_Hi256_MASK | XSTATE_Hi16_ZMM_MASK | XSTATE_PKRU_MASK, }, [FEAT_XSAVE_XCR0_HI] =3D { .type =3D CPUID_FEATURE_WORD, @@ -699,7 +696,6 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { .index =3D MSR_IA32_PERF_CAPABILITIES, }, }, - [FEAT_VMX_PROCBASED_CTLS] =3D { .type =3D MSR_FEATURE_WORD, .feat_names =3D { @@ -722,9 +718,8 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { }, .msr =3D { .index =3D MSR_IA32_VMX_TRUE_PROCBASED_CTLS, - } + }, }, - [FEAT_VMX_SECONDARY_CTLS] =3D { .type =3D MSR_FEATURE_WORD, .feat_names =3D { @@ -747,9 +742,8 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { }, .msr =3D { .index =3D MSR_IA32_VMX_PROCBASED_CTLS2, - } + }, }, - [FEAT_VMX_PINBASED_CTLS] =3D { .type =3D MSR_FEATURE_WORD, .feat_names =3D { @@ -772,9 +766,8 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { }, .msr =3D { .index =3D MSR_IA32_VMX_TRUE_PINBASED_CTLS, - } + }, }, - [FEAT_VMX_EXIT_CTLS] =3D { .type =3D MSR_FEATURE_WORD, .feat_names =3D { @@ -783,8 +776,7 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, NULL, NULL, NULL, "vmx-exit-load-perf-global-ctrl", NULL, NULL, "vmx-exit-ack-in= tr", NULL, NULL, "vmx-exit-save-pat", "vmx-exit-load-pat", - "vmx-exit-save-efer", "vmx-exit-load-efer", - "vmx-exit-save-preemption-timer", "vmx-exit-clear-bndcfgs", + "vmx-exit-save-efer", "vmx-exit-load-efer", "vmx-exit-save-pre= emption-timer", "vmx-exit-clear-bndcfgs", NULL, "vmx-exit-clear-rtit-ctl", NULL, NULL, NULL, "vmx-exit-load-pkrs", NULL, NULL, NULL, NULL, NULL, NULL, @@ -798,9 +790,8 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { }, .msr =3D { .index =3D MSR_IA32_VMX_TRUE_EXIT_CTLS, - } + }, }, - [FEAT_VMX_ENTRY_CTLS] =3D { .type =3D MSR_FEATURE_WORD, .feat_names =3D { @@ -823,9 +814,8 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { }, .msr =3D { .index =3D MSR_IA32_VMX_TRUE_ENTRY_CTLS, - } + }, }, - [FEAT_VMX_MISC] =3D { .type =3D MSR_FEATURE_WORD, .feat_names =3D { @@ -848,9 +838,8 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { }, .msr =3D { .index =3D MSR_IA32_VMX_MISC, - } + }, }, - [FEAT_VMX_EPT_VPID_CAPS] =3D { .type =3D MSR_FEATURE_WORD, .feat_names =3D { @@ -864,8 +853,7 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { NULL, NULL, NULL, NULL, "vmx-invvpid", NULL, NULL, NULL, NULL, NULL, NULL, NULL, - "vmx-invvpid-single-addr", "vmx-invvpid-single-context", - "vmx-invvpid-all-context", "vmx-invvpid-single-context-nog= lobals", + "vmx-invvpid-single-addr", "vmx-invvpid-single-context", "vmx-= invvpid-all-context", "vmx-invvpid-single-context-noglobals", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, @@ -874,9 +862,8 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { }, .msr =3D { .index =3D MSR_IA32_VMX_EPT_VPID_CAP, - } + }, }, - [FEAT_VMX_BASIC] =3D { .type =3D MSR_FEATURE_WORD, .feat_names =3D { @@ -902,7 +889,6 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { }, .no_autoenable_flags =3D MSR_VMX_BASIC_DUAL_MONITOR, }, - [FEAT_VMX_VMFUNC] =3D { .type =3D MSR_FEATURE_WORD, .feat_names =3D { @@ -925,9 +911,8 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { }, .msr =3D { .index =3D MSR_IA32_VMX_VMFUNC, - } + }, }, - [FEAT_14_0_ECX] =3D { .type =3D CPUID_FEATURE_WORD, .feat_names =3D { @@ -955,8 +940,7 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { .reg =3D R_ECX, }, .tcg_features =3D TCG_14_0_ECX_FEATURES, - }, - + }, [FEAT_SGX_12_0_EAX] =3D { .type =3D CPUID_FEATURE_WORD, .feat_names =3D { @@ -985,7 +969,6 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { }, .tcg_features =3D TCG_SGX_12_0_EAX_FEATURES, }, - [FEAT_SGX_12_0_EBX] =3D { .type =3D CPUID_FEATURE_WORD, .feat_names =3D { @@ -1014,7 +997,6 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { }, .tcg_features =3D TCG_SGX_12_0_EBX_FEATURES, }, - [FEAT_SGX_12_1_EAX] =3D { .type =3D CPUID_FEATURE_WORD, .feat_names =3D { --=20 2.39.2 From nobody Wed May 15 10:36:37 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1694177226; cv=none; d=zohomail.com; s=zohoarc; b=T5sv1+p7W4jTUvWZKQt9HxVyi9EHB5Wk7wLqLK7k4cSd1dEe/gb+zo3SHs3+SPbIKSnFxPwVm5fbTibABbR7jWxRSzSfrgqeQ/TGjkKyMREAc2brhzJmlxSkY0TSwTOLFwAnur3pVXjfP7MGH7RLoD3so6K84bN9Gjhb4t3zh5o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1694177226; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=tMHaGTzPO5hAxGJz4y5qWrfcim7WggOPevcuEvAy/mU=; b=FYb4oKscYqIVQq5GrHIL6ngG23MjCq9YtEyQc3dEA79zQUm/whw7Z6qec0ycjmRg5RrRmtatoMSFITVKyDQNLPSL7+jJwAO+miSJEFUe/eXFDPTX7SPmfVz4w3j8iacWBvXzdRghjQ0rZkAPFJD5BYqmVLUrQzXWUKpprDEHihI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1694177226829797.7815593407549; Fri, 8 Sep 2023 05:47:06 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qeasK-0003oY-2t; Fri, 08 Sep 2023 08:46:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qeasC-0003iO-Nw for qemu-devel@nongnu.org; Fri, 08 Sep 2023 08:46:08 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qeas6-0006Lq-Tz for qemu-devel@nongnu.org; Fri, 08 Sep 2023 08:46:08 -0400 Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-619-KEavpg4IMrCXJ_GMCXiUtw-1; Fri, 08 Sep 2023 08:45:48 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id EDF50917EBA; Fri, 8 Sep 2023 12:45:47 +0000 (UTC) Received: from work.redhat.com (unknown [10.39.194.211]) by smtp.corp.redhat.com (Postfix) with ESMTP id 11DD6200BFEA; Fri, 8 Sep 2023 12:45:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1694177150; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=tMHaGTzPO5hAxGJz4y5qWrfcim7WggOPevcuEvAy/mU=; b=gY4WHALtUYuibZl2EEcyTEimgmcNR3VW+PlzOPx6R5IhwTfpsH2w1MU/qCSspdwnSsKkuf 1Ti9XVx8F9/L+nya1nbUqWju8cp5C+IMh8kvajD2PlH85fVyTfW3VBtoVikZyzuZAsjpOn slTXcxBhKTzLuIdrtQOT1E3uyqISzWU= X-MC-Unique: KEavpg4IMrCXJ_GMCXiUtw-1 From: Tim Wiederhake To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , =?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= , Paolo Bonzini , "Michael S . Tsirkin" , Tim Wiederhake Subject: [PATCH v2 10/10] target/i386: Autogenerate feature_word_info.c.inc Date: Fri, 8 Sep 2023 14:45:34 +0200 Message-Id: <20230908124534.25027-11-twiederh@redhat.com> In-Reply-To: <20230908124534.25027-1-twiederh@redhat.com> References: <20230908124534.25027-1-twiederh@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Scanned-By: MIMEDefang 3.1 on 10.11.54.6 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=twiederh@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1694177227089100002 Content-Type: text/plain; charset="utf-8" This introduces no semantic changes to the file. Signed-off-by: Tim Wiederhake --- target/i386/feature_word_info.c.inc | 2 + target/i386/feature_word_info.py | 62 +++++++++++++++++++++++++++++ target/i386/feature_word_info.yaml | 2 + 3 files changed, 66 insertions(+) create mode 100755 target/i386/feature_word_info.py diff --git a/target/i386/feature_word_info.c.inc b/target/i386/feature_word= _info.c.inc index 5bac4aaeba..fb699528a6 100644 --- a/target/i386/feature_word_info.c.inc +++ b/target/i386/feature_word_info.c.inc @@ -1,3 +1,5 @@ +/* This file is generated by feature_word_info.py. */ + FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { [FEAT_1_EDX] =3D { .type =3D CPUID_FEATURE_WORD, diff --git a/target/i386/feature_word_info.py b/target/i386/feature_word_in= fo.py new file mode 100755 index 0000000000..e5773c8dbf --- /dev/null +++ b/target/i386/feature_word_info.py @@ -0,0 +1,62 @@ +#!/bin/env python3 + +import os +import yaml + + +def write_feature_word(f, data): + f.write(" [{}] =3D {{\n".format(data["index"])) + f.write(" .type =3D {},\n".format(data["type"])) + f.write(" .feat_names =3D {\n") + for index in range(64): + name =3D data.get("feat_names", {}).get(index) + name =3D "NULL" if name is None else "\"" + name + "\"" + if index % 4 =3D=3D 0: + f.write(" " * 11) + f.write(" " + str(name) + ",") + if index % 4 =3D=3D 3: + f.write("\n") + f.write(" },\n") + if "cpuid" in data: + cpuid =3D data["cpuid"] + f.write(" .cpuid =3D {\n") + f.write(" .eax =3D {},\n".format(cpuid["eax"])) + if "ecx" in cpuid: + f.write(" .needs_ecx =3D true,\n") + f.write(" .ecx =3D {},\n".format(cpuid["ecx"])) + f.write(" .reg =3D {},\n".format(cpuid["reg"])) + f.write(" },\n") + if "msr" in data: + f.write(" .msr =3D {\n") + f.write(" .index =3D {},\n".format(data["msr"])) + f.write(" },\n") + if "tcg_features" in data: + f.write(" .tcg_features =3D {},\n".format(data["tcg_feature= s"])) + if "unmigratable_flags" in data: + f.write(" .unmigratable_flags =3D {},\n".format( + data["unmigratable_flags"])) + if "migratable_flags" in data: + f.write(" .migratable_flags =3D {},\n".format( + data["migratable_flags"])) + if "no_autoenable_flags" in data: + f.write(" .no_autoenable_flags =3D {},\n".format( + data["no_autoenable_flags"])) + f.write(" },\n") + + +def main(): + dirname =3D os.path.dirname(__file__) + + with open(os.path.join(dirname, "feature_word_info.yaml"), "tr") as f: + feature_words =3D yaml.safe_load(f) + + with open(os.path.join(dirname, "feature_word_info.c.inc"), "tw") as f: + f.write("/* This file is generated by feature_word_info.py. */\n\n= ") + f.write("FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D {\n") + for feature_word in feature_words: + write_feature_word(f, feature_word) + f.write("};\n") + + +if __name__ =3D=3D "__main__": + main() diff --git a/target/i386/feature_word_info.yaml b/target/i386/feature_word_= info.yaml index cd6cdc8053..79914a0ece 100644 --- a/target/i386/feature_word_info.yaml +++ b/target/i386/feature_word_info.yaml @@ -1,3 +1,5 @@ +# Run `feature_word_info.py` when you make changes to this file. + - index: FEAT_1_EDX cpuid: eax: '1' --=20 2.39.2