From nobody Fri May 3 05:01:43 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=1652719016; cv=none; d=zohomail.com; s=zohoarc; b=Ij471tlhmMeOLRBtVjlZX5Ur1+1LigVetmi7/se44Q9FPnzscyl8xwKqLZ4P8Wd8rOKr26/K75D35i1+pNMkKpv00BPMUZnqZ7fv4Zql7bAyJ8C81kR1rtcp+/ASLEAqZE3ZJTlBLWxPcYSQSXREiId1UVARQjIA5JuO1GHH2Z0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1652719016; h=Content-Type: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=wBEsT3r31ofu46HxbD7Amv+tNDwSCFB3+Wv+gV0TRLY=; b=Ve5Xi7uhWRVnZH35yjNeg4uNaz/qhq7h1dsl4PMAU1DJS3ftmEg6bXxvkld/YEkvMEqIm+k549E7Xhsj+ZBzED2s2PiN5PyBsvMyFr6JK2Rbs757SeMrmwasoV6/yvEbj3V4iXQsXrLtNyIWpOzJyIWv/rgNnajfqf+sy6xrq8w= 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 1652719016978339.57629512496635; Mon, 16 May 2022 09:36:56 -0700 (PDT) Received: from localhost ([::1]:37736 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nqdiJ-00007B-H2 for importer@patchew.org; Mon, 16 May 2022 12:36:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40104) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd4u-0001Lh-6O for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:12 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]:59989) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd4s-0003Js-Gj for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:11 -0400 Received: from mail-ed1-f70.google.com (mail-ed1-f70.google.com [209.85.208.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-569-Sgw1qdHSOeKkhdgq3H6Iiw-1; Mon, 16 May 2022 11:56:08 -0400 Received: by mail-ed1-f70.google.com with SMTP id b3-20020aa7d483000000b004282ca95814so9973980edr.9 for ; Mon, 16 May 2022 08:56:07 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id hg22-20020a1709072cd600b006f5294986besm43354ejc.111.2022.05.16.08.56.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 May 2022 08:56:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1652716569; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=wBEsT3r31ofu46HxbD7Amv+tNDwSCFB3+Wv+gV0TRLY=; b=AGXT/acHBq2CMGiP38Dwga/CHvoCKMtLVeFTLKdAogF1coxDkdQJp8o9/6kProcu2JB1gx 6vUSAcivXE/DIDSiwykBBpUfyP7ZB/SFP3HdzmYoFBR/ZaZWivntEbP1M7I2Hp+m6vqelc 1pT5+Im3mFINbgh0auQhWu4iTE7QfEM= X-MC-Unique: Sgw1qdHSOeKkhdgq3H6Iiw-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=wBEsT3r31ofu46HxbD7Amv+tNDwSCFB3+Wv+gV0TRLY=; b=PlpJ4GoJdD44HNFWeyBLHDcOIaWu+PBa8ENzTL79hk1wKq3nSNT4RnumOF+LTqDiYw E9IGasrlytqUU1E+07KCfX4SOIHDs0cFeooZeVOMda7GUT1elXhXKLN1IaGo8LKvpnxo Gq6iWQzcPPUVx28O3CRE+0YU9RsgqUGbxdnZxJzsdHeYbpOXJ9t3zVf7+5nW+lUs2uwM 6HoFsWK7qqu6jhkvBxEU5m3NADC18R+zYztb94b6xmgUr6rXocnbhzIswv5bepbLx58a 3sQMfyBkL2z8a49zs+fYJzyiaBgakhBQLbX4tHRlAd+8Tovi8Me56LJ9/tj9IBdSSFfA Qs8w== X-Gm-Message-State: AOAM532ioE7H7G7bzPCQ5pvGsLr70AejnBj7KP50bhAwaT9Gz+mqhSma 0o3sSbHLQ6+3t0AvscVZMnyZ6UPjmJKnqHiBxPywa1n+uSu589rmgiyacagSfpDdCxfvN6mpcyo HleNiRg98sQYD/0f1MK4I4NO22iBFz5sXDQuigfVGTKrNbnfKaJVdI8Dz2WHMwII2DPU= X-Received: by 2002:aa7:c849:0:b0:427:d464:e66f with SMTP id g9-20020aa7c849000000b00427d464e66fmr13959722edt.411.1652716566594; Mon, 16 May 2022 08:56:06 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyu8I2qfGFbSMKxXlAlQRPfpbWO09S6P0bVUMr+6UWrZ4Q2ni1b51FIZXXj+Wn6+nDiS5ZgBg== X-Received: by 2002:aa7:c849:0:b0:427:d464:e66f with SMTP id g9-20020aa7c849000000b00427d464e66fmr13959700edt.411.1652716566354; Mon, 16 May 2022 08:56:06 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: Ivan Shcherbakov Subject: [PULL 01/23] WHPX: fixed TPR/CR8 translation issues affecting VM debugging Date: Mon, 16 May 2022 17:55:41 +0200 Message-Id: <20220516155603.1234712-2-pbonzini@redhat.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220516155603.1234712-1-pbonzini@redhat.com> References: <20220516155603.1234712-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -28 X-Spam_score: -2.9 X-Spam_bar: -- X-Spam_report: (-2.9 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.082, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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" X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1652719019025100001 Content-Type: text/plain; charset="utf-8" From: Ivan Shcherbakov This patch fixes the following error that would occur when trying to resume a WHPX-accelerated VM from a breakpoint: qemu: WHPX: Failed to set interrupt state registers, hr=3Dc0350005 The error arises from an incorrect CR8 value being passed to WHvSetVirtualProcessorRegisters() that doesn't match the value set via WHvSetVirtualProcessorInterruptControllerState2(). Signed-off-by: Ivan Shcherbakov Signed-off-by: Paolo Bonzini --- target/i386/whpx/whpx-all.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c index 23ae639b23..b22a3314b4 100644 --- a/target/i386/whpx/whpx-all.c +++ b/target/i386/whpx/whpx-all.c @@ -373,6 +373,8 @@ static int whpx_set_tsc(CPUState *cpu) * * This mechanism is described in section 10.8.6.1 of Volume 3 of Intel 64 * and IA-32 Architectures Software Developer's Manual. + * + * The functions below translate the value of CR8 to TPR and vice versa. */ =20 static uint64_t whpx_apic_tpr_to_cr8(uint64_t tpr) @@ -380,6 +382,11 @@ static uint64_t whpx_apic_tpr_to_cr8(uint64_t tpr) return tpr >> 4; } =20 +static uint64_t whpx_cr8_to_apic_tpr(uint64_t cr8) +{ + return cr8 << 4; +} + static void whpx_set_registers(CPUState *cpu, int level) { struct whpx_state *whpx =3D &whpx_global; @@ -687,7 +694,7 @@ static void whpx_get_registers(CPUState *cpu) tpr =3D vcxt.values[idx++].Reg64; if (tpr !=3D vcpu->tpr) { vcpu->tpr =3D tpr; - cpu_set_apic_tpr(x86_cpu->apic_state, tpr); + cpu_set_apic_tpr(x86_cpu->apic_state, whpx_cr8_to_apic_tpr(tpr)); } =20 /* 8 Debug Registers - Skipped */ @@ -1547,7 +1554,7 @@ static void whpx_vcpu_pre_run(CPUState *cpu) } =20 /* Sync the TPR to the CR8 if was modified during the intercept */ - tpr =3D cpu_get_apic_tpr(x86_cpu->apic_state); + tpr =3D whpx_apic_tpr_to_cr8(cpu_get_apic_tpr(x86_cpu->apic_state)); if (tpr !=3D vcpu->tpr) { vcpu->tpr =3D tpr; reg_values[reg_count].Reg64 =3D tpr; @@ -1596,7 +1603,7 @@ static void whpx_vcpu_post_run(CPUState *cpu) if (vcpu->tpr !=3D tpr) { vcpu->tpr =3D tpr; qemu_mutex_lock_iothread(); - cpu_set_apic_tpr(x86_cpu->apic_state, vcpu->tpr); + cpu_set_apic_tpr(x86_cpu->apic_state, whpx_cr8_to_apic_tpr(vcpu->t= pr)); qemu_mutex_unlock_iothread(); } =20 --=20 2.36.0 From nobody Fri May 3 05:01:43 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=1652721449; cv=none; d=zohomail.com; s=zohoarc; b=TEBMurAzK/QZvaGNtTNHw7Ric20bP3CvOmLXkFg7u2WoU7GAX7ixnP9XoYRsnQ1MwNl/b0lOkscOw7KerHUji6QkKnl78a+TOg7wXuswyE9UurV7nQuSl/eS9bxTMyxim8mobJ+OgghnlxD4VfZYjskZ1EPb6Y6yQNahgl0t/qU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1652721449; h=Content-Type: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=M+29f587BYfTw3G2RmXRtQk88brAkMt1RpVyNwxFAJk=; b=YydjPZxPYGzuhNdxpONo2MvjH8gx5MrucZho2oOzcF/4hmmuFZxh9HmJKwWq4MgZVYaXoRDDOSRhg0U0PPe/j1gZm2oRCtOK2g6/+3ouSFVs0zy6Q7vpqMtpeCwE5sXTxq087g7kwjZ7pAegSe1z/NIcD+wULPki4SDcPbB4KRg= 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 1652721449250278.96644238113197; Mon, 16 May 2022 10:17:29 -0700 (PDT) Received: from localhost ([::1]:43676 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nqeLX-00031b-RQ for importer@patchew.org; Mon, 16 May 2022 13:17:27 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40124) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd4v-0001Ox-CO for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:13 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]:55630) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd4t-0003LV-PW for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:13 -0400 Received: from mail-ed1-f70.google.com (mail-ed1-f70.google.com [209.85.208.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-503-Ew-Bf2voPAeyMC1Yl5xvgQ-1; Mon, 16 May 2022 11:56:09 -0400 Received: by mail-ed1-f70.google.com with SMTP id f20-20020a50d554000000b0042abba35e60so960452edj.15 for ; Mon, 16 May 2022 08:56:09 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id u11-20020a50eacb000000b0042617ba6383sm5578218edp.13.2022.05.16.08.56.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 May 2022 08:56:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1652716571; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=M+29f587BYfTw3G2RmXRtQk88brAkMt1RpVyNwxFAJk=; b=YoCwv+/8CXHalNfUsn95LygE6TMiEsJXrPVtpMgBuUfP51Vi3Tj5MDzMtv0KZw89fZ4Wxl PXRxomVgSNUzfKwNNLYGVKBm37cb0XnpTTujN7ChR7Zm+CVX2IWaQJJo7q1++uljVCEwmn 7vPveDFHkU7mz4Y5bRtLo9GsILk2tiY= X-MC-Unique: Ew-Bf2voPAeyMC1Yl5xvgQ-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=M+29f587BYfTw3G2RmXRtQk88brAkMt1RpVyNwxFAJk=; b=oAe95ltQUDGmFc5fJ/ux/wyFTG2VOsz29oqxbKmtaL4IbzC8OpB5PeDYOWEQknlPkM y5DOfwpIqXVxQ/MRt8+P0lfpi+fjQK6/wM1GtbeRBm0UEEx+iWVNP2MzaV+bS27FsV0H B4uU+V/hGXdbiOxFsi1rPj76gQ5x4qaV7iN8CLKfZ+7UIvZkz1/UUKK2z8Oq3qFr6RsE OKpcLJpAC7VtJTN8QoOzb/S7MfrV+zjfAJSycKGdZ0gMbW2lzbrr9bJujsK7NESYdlQ1 U8MU3LBLHH6F9TqpTGH3FXfH+kpCVnSOouCeglCdGUxnHpwxIti+wO9gLBsfVxukJ2zX Vfdg== X-Gm-Message-State: AOAM531xe+e/mTugciBmSTyxuNSftRXnw6n5yIlJqjqU9BIyeISQKWiO yvcd/dzh9q2u0kuzrio2R19Y59pW5Z1FouF9qMlRnK0dEsv+VBK3ReF46kiE2u80qCLCMRIKLEb M0C7BjK+AZuhq6/Wl8RlQ2mRoRuSgA5NmUDRI3vxis+3v1Oxj6z3qrkzK7uvSnFq6eU0= X-Received: by 2002:a50:9b08:0:b0:42a:2d15:e15a with SMTP id o8-20020a509b08000000b0042a2d15e15amr13733737edi.361.1652716568200; Mon, 16 May 2022 08:56:08 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwTvI/CFmc2c/hc+Gln70bN81CJ8TpSMt8Xz3OEtcToZVznVZyp4oYK7czb2oUQs+wDEcs9xg== X-Received: by 2002:a50:9b08:0:b0:42a:2d15:e15a with SMTP id o8-20020a509b08000000b0042a2d15e15amr13733709edi.361.1652716567838; Mon, 16 May 2022 08:56:07 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: Konstantin Kostiuk Subject: [PULL 02/23] qga-vss: Add auto generated headers to dependencies Date: Mon, 16 May 2022 17:55:42 +0200 Message-Id: <20220516155603.1234712-3-pbonzini@redhat.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220516155603.1234712-1-pbonzini@redhat.com> References: <20220516155603.1234712-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -28 X-Spam_score: -2.9 X-Spam_bar: -- X-Spam_report: (-2.9 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.082, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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" X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1652721449815100001 Content-Type: text/plain; charset="utf-8" From: Konstantin Kostiuk Signed-off-by: Konstantin Kostiuk Message-Id: <20220512154906.331399-1-kkostiuk@redhat.com> Signed-off-by: Paolo Bonzini --- qga/vss-win32/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qga/vss-win32/meson.build b/qga/vss-win32/meson.build index 26c5dd6e0e..9483ccd3b8 100644 --- a/qga/vss-win32/meson.build +++ b/qga/vss-win32/meson.build @@ -7,7 +7,7 @@ link_args =3D cc.get_supported_link_arguments([ =20 qga_vss =3D shared_module( 'qga-vss', - ['requester.cpp', 'provider.cpp', 'install.cpp'], + ['requester.cpp', 'provider.cpp', 'install.cpp', genh], name_prefix: '', cpp_args: ['-Wno-unknown-pragmas', '-Wno-delete-non-virtual-dtor', '-Wno= -non-virtual-dtor'], link_args: link_args, --=20 2.36.0 From nobody Fri May 3 05:01:43 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=1652721598; cv=none; d=zohomail.com; s=zohoarc; b=HFYQglaB5I8tqCk5ACpfiImFnh7dsyehj2SH4KINx1OeM0vvJ54Pr7f4sVBhJZotYP9HcRJOzwXgMVx+ZeishvA1HcKvEJwD1TzciGtDpL8bfOTUtyt8cG88UyEdgBZzkwmIIlECp2Tvzgmu4lYSOnk1VM+Pz99dEn1Qte4q3WQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1652721598; h=Content-Type: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=SxsTlTbHkyYrRZRZ1DigcCQTTTxMf1/2YftPkrocfhU=; b=XVGHgGKecZrMtKOeK8CmwpeP1EygbNbTxOUOSLVbu3Hh76O4Qy5cKoVdayQ85mDbB3VVlqLoPrlmbtL930gU8VaTkHY27+CO3JZld7v+F17H2Yhh2/3acWmfePYMMn/yc5GNtozdaJ3tkxBfV2N+adb08Aofjsr2UcpJBo0jbyM= 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 1652721598120541.8141449677806; Mon, 16 May 2022 10:19:58 -0700 (PDT) Received: from localhost ([::1]:52092 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nqeNx-0000UC-4C for importer@patchew.org; Mon, 16 May 2022 13:19:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40144) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd4w-0001VD-VE for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:15 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]:40501) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd4v-0003Lt-8S for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:14 -0400 Received: from mail-ej1-f69.google.com (mail-ej1-f69.google.com [209.85.218.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-375-8cCFRfJtO5WiTCaldDVZyw-1; Mon, 16 May 2022 11:56:11 -0400 Received: by mail-ej1-f69.google.com with SMTP id hr42-20020a1709073faa00b006f4dc7f0be1so6009416ejc.22 for ; Mon, 16 May 2022 08:56:11 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id hx16-20020a170906847000b006f3ef214da7sm60090ejc.13.2022.05.16.08.56.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 May 2022 08:56:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1652716572; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=SxsTlTbHkyYrRZRZ1DigcCQTTTxMf1/2YftPkrocfhU=; b=dRceaHevGlbrjsZYUIOkxThIGAHZfjbQRtv1BplIKuzxrAzP89+TgDVoyd+62xenRHwArd J/sluPWBPuFEn8SA9rEobzfagVcy042vIPM8BCaborp24jxCph2ZnKLkT3D3YDMnEa7UWW OWg9xID5u88NbOSR49Za95yoKbKgfkE= X-MC-Unique: 8cCFRfJtO5WiTCaldDVZyw-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=SxsTlTbHkyYrRZRZ1DigcCQTTTxMf1/2YftPkrocfhU=; b=R7qMvWmqOD5dzdSmHzyc/tZc7+5BzDOAbm3eocFXx3YtLwgbvaU1z5x9tmlUGweUTC gwqXz2f2LJX547qnM7Da4o75rLmRMR169po5NbfUsiwzdwraAUa/OJdBXPhiRjP9ldX1 qW2TRWwvsz4m9+9GHA3POx/wlXc2y79n0YhWI87Z0nxOvchN80gfcEPFEMB5cS0vnkxx 8iAlIs1T35c3pqdDCxWo8qQiC5AGTFa63C9p6XSaAZjl+W9+5rpMmuYN/wFWvT7ICJYe dMH69iOCaNWv3cLJTcgz1I385yV73EAdH+XgRi0BoHd2rI59Oliy97zqQW7Yjzb/HJHJ FiYw== X-Gm-Message-State: AOAM532nZg52KWQi0Nzffyy5gog0lcdQg/I+aOHKghkSlH+dEzenB1U0 upFkQYaLeTyFB92rtFGG+vyzAaFtYSEbbGxOveABBJMKuxxqV8r4CjuJTyVKk+bm4g8PSLNY+K9 vSVHWWz9qbKmy82KbTuLz0/AFJiHIqsGuGL920QecQbtK1d0y/7sVhwQUTdhoSo72Q68= X-Received: by 2002:a17:907:72c4:b0:6f4:ad52:b9fd with SMTP id du4-20020a17090772c400b006f4ad52b9fdmr15850531ejc.128.1652716569817; Mon, 16 May 2022 08:56:09 -0700 (PDT) X-Google-Smtp-Source: ABdhPJztpB6dKXBb7HdfLBssMU7OGViEHJnomuS+4IBqjjukRmNuUGSvabiao8DrtxQgIWKKDtxOIg== X-Received: by 2002:a17:907:72c4:b0:6f4:ad52:b9fd with SMTP id du4-20020a17090772c400b006f4ad52b9fdmr15850513ejc.128.1652716569538; Mon, 16 May 2022 08:56:09 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: Konstantin Kostiuk , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Subject: [PULL 03/23] qga-vss: Use the proper operator to free memory Date: Mon, 16 May 2022 17:55:43 +0200 Message-Id: <20220516155603.1234712-4-pbonzini@redhat.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220516155603.1234712-1-pbonzini@redhat.com> References: <20220516155603.1234712-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Type: text/plain Content-Transfer-Encoding: quoted-printable 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=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.082, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, PP_MIME_FAKE_ASCII_TEXT=0.999, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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" X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1652721599261100001 From: Konstantin Kostiuk volume_name_wchar is allocated by 'void* operator new [](long long unsigned= int) Signed-off-by: Konstantin Kostiuk Reviewed-by: Marc-Andr=C3=A9 Lureau Message-Id: <20220512154909.331481-1-kkostiuk@redhat.com> Signed-off-by: Paolo Bonzini --- qga/vss-win32/requester.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/qga/vss-win32/requester.cpp b/qga/vss-win32/requester.cpp index 4513324dd2..b371affeab 100644 --- a/qga/vss-win32/requester.cpp +++ b/qga/vss-win32/requester.cpp @@ -354,12 +354,12 @@ void requester_freeze(int *num_vols, void *mountpoint= s, ErrorSet *errset) if (FAILED(hr)) { err_set(errset, hr, "failed to add %S to snapshot set", volume_name_wchar); - delete volume_name_wchar; + delete[] volume_name_wchar; goto out; } num_mount_points++; =20 - delete volume_name_wchar; + delete[] volume_name_wchar; } =20 if (num_mount_points =3D=3D 0) { --=20 2.36.0 From nobody Fri May 3 05:01:43 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=1652719786; cv=none; d=zohomail.com; s=zohoarc; b=hErbtnBU4idwv8YjkXubhpiA8cjQXfldkdmPY+LX81YOBQztr092WNRhccGns9x/pyKW5FaFZpFfoDIkWK3mSOvcNHin9SP1jJ77bhAC6RWO4EcqFw0w3xv/YrC6XavJ4WMcz7GK2mIgwIziVO/P/cXV83JWRoKSB9jjmTgmoNI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1652719786; h=Content-Type: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=XvRcbHvPEJfxvw2rMPmTP64RF5hN1UgQIqqLow5waU4=; b=i6nqqlrCRj8yh93IfIZX4o6u4KYGmX+zrzyZcUscaFLKj/yGdcHJnBWPJ94dp2O5rOpEIFshlNvuhNrFYK3nsEoJVOF9U5mOy6WdySWRp9WVGL+m8xdKVG1eTpP897PcDxNImDvipTs+j4nIRJoeeglyhbVES1L2bmTcADAJYoY= 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 1652719786554712.2789811067472; Mon, 16 May 2022 09:49:46 -0700 (PDT) Received: from localhost ([::1]:37410 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nqduj-0002br-E1 for importer@patchew.org; Mon, 16 May 2022 12:49:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40172) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd50-0001dS-5G for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:18 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:36004) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd4x-0003MA-0s for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:16 -0400 Received: from mail-ej1-f72.google.com (mail-ej1-f72.google.com [209.85.218.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-354-d7ohrvdeORGXWNPtkZ8BWw-1; Mon, 16 May 2022 11:56:13 -0400 Received: by mail-ej1-f72.google.com with SMTP id oz9-20020a1709077d8900b006f3d9488090so6031961ejc.6 for ; Mon, 16 May 2022 08:56:12 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id e9-20020a056402104900b0042ac0e79bb6sm232882edu.45.2022.05.16.08.56.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 May 2022 08:56:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1652716574; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=XvRcbHvPEJfxvw2rMPmTP64RF5hN1UgQIqqLow5waU4=; b=WWP8BnQRrtC75CprRzUXuncrZyxj+T0YBPZ/M+R8HGXxWdKsvz070vOLPgABBMFeII9cAk MJzSLOX5hS7caLkY7FMBWNV0qADWsgDvCmbE7RmQW8W7qzCH22kOpUpgss6XpL8bxbjaBB teLb83bryLn/6o0LIsLji4PS3+xY3o4= X-MC-Unique: d7ohrvdeORGXWNPtkZ8BWw-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=XvRcbHvPEJfxvw2rMPmTP64RF5hN1UgQIqqLow5waU4=; b=zbGai2UJjLEH/5sey+8ni0B3DqA858PHS+U7j04pY6r/F+H0cbIr9l2o91yvfrMX+8 4D7yrYoR6BSBct26TbEO8NoMXTyMcvTeIRCiRGSRuBaZCMoXxDhioCjKi3bqh0kpQk9c SlmG8AfVFZulYSaGgDah80Oi4gKgKeVRYHw1W539ddYTS62RmVLN5HUKqAkBJcCK8fG0 +VPX87rtFpM7npUqos6oaYQHDBMbb2/J9ErRn/hqa7YTtkxG1c8k5DFinztZajCdYeSc fOa/popFq9+cOSklKwHP1dg1fuBfnh8CSStH/3KdydnfAOVfeIq0w8CapQNepmxZyORc 3syA== X-Gm-Message-State: AOAM5329kt3gml1n/55p7S7F225kQAKxrZJ8novdc+8rArh1gV4BCVYV Mes5LcWZXnLSOLN/W/0edn4EHtDAQASGdehRBjfXbxN6rMh2cWNWz0SEi0rgcWowf7kDci9JOZr tlMwSSUw2CiADO9evpXYNty460hBp71rzY1LSMp/+K6H3fWYjz+loIkK4aMmUbtWfQ8g= X-Received: by 2002:a17:907:728c:b0:6f4:57e5:9ac6 with SMTP id dt12-20020a170907728c00b006f457e59ac6mr15502485ejc.22.1652716571387; Mon, 16 May 2022 08:56:11 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwkJq3RUNU79j+wbyqhfx+0YZ+OvMi9UfiCfDUJ4/fJnxfylEt0oDeq5ItDggmmYbao2fJWAw== X-Received: by 2002:a17:907:728c:b0:6f4:57e5:9ac6 with SMTP id dt12-20020a170907728c00b006f457e59ac6mr15502460ejc.22.1652716570954; Mon, 16 May 2022 08:56:10 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: Robert Hoo , Igor Mammedov Subject: [PULL 04/23] i386/cpu: Remove the deprecated cpu model 'Icelake-Client' Date: Mon, 16 May 2022 17:55:44 +0200 Message-Id: <20220516155603.1234712-5-pbonzini@redhat.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220516155603.1234712-1-pbonzini@redhat.com> References: <20220516155603.1234712-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -28 X-Spam_score: -2.9 X-Spam_bar: -- X-Spam_report: (-2.9 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.082, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, UPPERCASE_50_75=0.008 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" X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1652719788240100001 Content-Type: text/plain; charset="utf-8" From: Robert Hoo Icelake, is the codename for Intel 3rd generation Xeon Scalable server processors. There isn't ever client variants. This "Icelake-Client" CPU model was added wrongly and imaginarily. It has been deprecated since v5.2, now it's time to remove it completely from code. Signed-off-by: Robert Hoo Reviewed-by: Igor Mammedov Message-Id: <1647247859-4947-1-git-send-email-robert.hu@linux.intel.com> Signed-off-by: Paolo Bonzini --- docs/about/deprecated.rst | 6 -- docs/about/removed-features.rst | 6 ++ target/i386/cpu.c | 122 -------------------------------- 3 files changed, 6 insertions(+), 128 deletions(-) diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index 896e5a97ab..44f52c172d 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -270,12 +270,6 @@ from Linux upstream kernel, declare it deprecated. System emulator CPUS -------------------- =20 -``Icelake-Client`` CPU Model (since 5.2) -'''''''''''''''''''''''''''''''''''''''' - -``Icelake-Client`` CPU Models are deprecated. Use ``Icelake-Server`` CPU -Models instead. - MIPS ``I7200`` CPU Model (since 5.2) '''''''''''''''''''''''''''''''''''' =20 diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.= rst index 4a0b270296..ba78bc1a19 100644 --- a/docs/about/removed-features.rst +++ b/docs/about/removed-features.rst @@ -557,6 +557,12 @@ Support for this CPU was removed from the upstream Lin= ux kernel, and there is no available upstream toolchain to build binaries for it. Removed without replacement. =20 +x86 ``Icelake-Client`` CPU (removed in 7.1) +''''''''''''''''''''''''''''''''''''''''''' + +There isn't ever Icelake Client CPU, it is some wrong and imaginary one. +Use ``Icelake-Server`` instead. + System emulator machines ------------------------ =20 diff --git a/target/i386/cpu.c b/target/i386/cpu.c index c4a17c93f6..6083e556f5 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -3258,128 +3258,6 @@ static const X86CPUDefinition builtin_x86_defs[] = =3D { { /* end of list */ } } }, - { - .name =3D "Icelake-Client", - .level =3D 0xd, - .vendor =3D CPUID_VENDOR_INTEL, - .family =3D 6, - .model =3D 126, - .stepping =3D 0, - .features[FEAT_1_EDX] =3D - CPUID_VME | CPUID_SSE2 | CPUID_SSE | CPUID_FXSR | CPUID_MMX | - CPUID_CLFLUSH | CPUID_PSE36 | CPUID_PAT | CPUID_CMOV | CPUID_M= CA | - CPUID_PGE | CPUID_MTRR | CPUID_SEP | CPUID_APIC | CPUID_CX8 | - CPUID_MCE | CPUID_PAE | CPUID_MSR | CPUID_TSC | CPUID_PSE | - CPUID_DE | CPUID_FP87, - .features[FEAT_1_ECX] =3D - CPUID_EXT_AVX | CPUID_EXT_XSAVE | CPUID_EXT_AES | - CPUID_EXT_POPCNT | CPUID_EXT_X2APIC | CPUID_EXT_SSE42 | - CPUID_EXT_SSE41 | CPUID_EXT_CX16 | CPUID_EXT_SSSE3 | - CPUID_EXT_PCLMULQDQ | CPUID_EXT_SSE3 | - CPUID_EXT_TSC_DEADLINE_TIMER | CPUID_EXT_FMA | CPUID_EXT_MOVBE= | - CPUID_EXT_PCID | CPUID_EXT_F16C | CPUID_EXT_RDRAND, - .features[FEAT_8000_0001_EDX] =3D - CPUID_EXT2_LM | CPUID_EXT2_RDTSCP | CPUID_EXT2_NX | - CPUID_EXT2_SYSCALL, - .features[FEAT_8000_0001_ECX] =3D - CPUID_EXT3_ABM | CPUID_EXT3_LAHF_LM | CPUID_EXT3_3DNOWPREFETCH, - .features[FEAT_8000_0008_EBX] =3D - CPUID_8000_0008_EBX_WBNOINVD, - .features[FEAT_7_0_EBX] =3D - CPUID_7_0_EBX_FSGSBASE | CPUID_7_0_EBX_BMI1 | - CPUID_7_0_EBX_HLE | CPUID_7_0_EBX_AVX2 | CPUID_7_0_EBX_SMEP | - CPUID_7_0_EBX_BMI2 | CPUID_7_0_EBX_ERMS | CPUID_7_0_EBX_INVPCI= D | - CPUID_7_0_EBX_RTM | CPUID_7_0_EBX_RDSEED | CPUID_7_0_EBX_ADX | - CPUID_7_0_EBX_SMAP, - .features[FEAT_7_0_ECX] =3D - CPUID_7_0_ECX_AVX512_VBMI | CPUID_7_0_ECX_UMIP | CPUID_7_0_ECX= _PKU | - CPUID_7_0_ECX_AVX512_VBMI2 | CPUID_7_0_ECX_GFNI | - CPUID_7_0_ECX_VAES | CPUID_7_0_ECX_VPCLMULQDQ | - CPUID_7_0_ECX_AVX512VNNI | CPUID_7_0_ECX_AVX512BITALG | - CPUID_7_0_ECX_AVX512_VPOPCNTDQ, - .features[FEAT_7_0_EDX] =3D - CPUID_7_0_EDX_SPEC_CTRL | CPUID_7_0_EDX_SPEC_CTRL_SSBD, - /* XSAVES is added in version 3 */ - .features[FEAT_XSAVE] =3D - CPUID_XSAVE_XSAVEOPT | CPUID_XSAVE_XSAVEC | - CPUID_XSAVE_XGETBV1, - .features[FEAT_6_EAX] =3D - CPUID_6_EAX_ARAT, - /* Missing: Mode-based execute control (XS/XU), processor tracing,= TSC scaling */ - .features[FEAT_VMX_BASIC] =3D MSR_VMX_BASIC_INS_OUTS | - MSR_VMX_BASIC_TRUE_CTLS, - .features[FEAT_VMX_ENTRY_CTLS] =3D VMX_VM_ENTRY_IA32E_MODE | - VMX_VM_ENTRY_LOAD_IA32_PERF_GLOBAL_CTRL | VMX_VM_ENTRY_LOAD_I= A32_PAT | - VMX_VM_ENTRY_LOAD_DEBUG_CONTROLS | VMX_VM_ENTRY_LOAD_IA32_EFE= R, - .features[FEAT_VMX_EPT_VPID_CAPS] =3D MSR_VMX_EPT_EXECONLY | - MSR_VMX_EPT_PAGE_WALK_LENGTH_4 | MSR_VMX_EPT_WB | MSR_VMX_EPT= _2MB | - MSR_VMX_EPT_1GB | MSR_VMX_EPT_INVEPT | - MSR_VMX_EPT_INVEPT_SINGLE_CONTEXT | MSR_VMX_EPT_INVEPT_ALL_CO= NTEXT | - MSR_VMX_EPT_INVVPID | MSR_VMX_EPT_INVVPID_SINGLE_ADDR | - MSR_VMX_EPT_INVVPID_SINGLE_CONTEXT | MSR_VMX_EPT_INVVPID_ALL_= CONTEXT | - MSR_VMX_EPT_INVVPID_SINGLE_CONTEXT_NOGLOBALS | MSR_VMX_EPT_AD= _BITS, - .features[FEAT_VMX_EXIT_CTLS] =3D - VMX_VM_EXIT_ACK_INTR_ON_EXIT | VMX_VM_EXIT_SAVE_DEBUG_CONTROL= S | - VMX_VM_EXIT_LOAD_IA32_PERF_GLOBAL_CTRL | - VMX_VM_EXIT_LOAD_IA32_PAT | VMX_VM_EXIT_LOAD_IA32_EFER | - VMX_VM_EXIT_SAVE_IA32_PAT | VMX_VM_EXIT_SAVE_IA32_EFER | - VMX_VM_EXIT_SAVE_VMX_PREEMPTION_TIMER, - .features[FEAT_VMX_MISC] =3D MSR_VMX_MISC_ACTIVITY_HLT | - MSR_VMX_MISC_STORE_LMA | MSR_VMX_MISC_VMWRITE_VMEXIT, - .features[FEAT_VMX_PINBASED_CTLS] =3D VMX_PIN_BASED_EXT_INTR_MASK | - VMX_PIN_BASED_NMI_EXITING | VMX_PIN_BASED_VIRTUAL_NMIS | - VMX_PIN_BASED_VMX_PREEMPTION_TIMER, - .features[FEAT_VMX_PROCBASED_CTLS] =3D VMX_CPU_BASED_VIRTUAL_INTR_= PENDING | - VMX_CPU_BASED_USE_TSC_OFFSETING | VMX_CPU_BASED_HLT_EXITING | - VMX_CPU_BASED_INVLPG_EXITING | VMX_CPU_BASED_MWAIT_EXITING | - VMX_CPU_BASED_RDPMC_EXITING | VMX_CPU_BASED_RDTSC_EXITING | - VMX_CPU_BASED_CR8_LOAD_EXITING | VMX_CPU_BASED_CR8_STORE_EXIT= ING | - VMX_CPU_BASED_TPR_SHADOW | VMX_CPU_BASED_MOV_DR_EXITING | - VMX_CPU_BASED_UNCOND_IO_EXITING | VMX_CPU_BASED_USE_IO_BITMAP= S | - VMX_CPU_BASED_MONITOR_EXITING | VMX_CPU_BASED_PAUSE_EXITING | - VMX_CPU_BASED_VIRTUAL_NMI_PENDING | VMX_CPU_BASED_USE_MSR_BIT= MAPS | - VMX_CPU_BASED_CR3_LOAD_EXITING | VMX_CPU_BASED_CR3_STORE_EXIT= ING | - VMX_CPU_BASED_MONITOR_TRAP_FLAG | - VMX_CPU_BASED_ACTIVATE_SECONDARY_CONTROLS, - .features[FEAT_VMX_SECONDARY_CTLS] =3D - VMX_SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES | - VMX_SECONDARY_EXEC_WBINVD_EXITING | VMX_SECONDARY_EXEC_ENABLE= _EPT | - VMX_SECONDARY_EXEC_DESC | VMX_SECONDARY_EXEC_RDTSCP | - VMX_SECONDARY_EXEC_ENABLE_VPID | VMX_SECONDARY_EXEC_UNRESTRIC= TED_GUEST | - VMX_SECONDARY_EXEC_RDRAND_EXITING | VMX_SECONDARY_EXEC_ENABLE= _INVPCID | - VMX_SECONDARY_EXEC_ENABLE_VMFUNC | VMX_SECONDARY_EXEC_SHADOW_= VMCS | - VMX_SECONDARY_EXEC_RDSEED_EXITING | VMX_SECONDARY_EXEC_ENABLE= _PML, - .features[FEAT_VMX_VMFUNC] =3D MSR_VMX_VMFUNC_EPT_SWITCHING, - .xlevel =3D 0x80000008, - .model_id =3D "Intel Core Processor (Icelake)", - .versions =3D (X86CPUVersionDefinition[]) { - { - .version =3D 1, - .note =3D "deprecated" - }, - { - .version =3D 2, - .note =3D "no TSX, deprecated", - .alias =3D "Icelake-Client-noTSX", - .props =3D (PropValue[]) { - { "hle", "off" }, - { "rtm", "off" }, - { /* end of list */ } - }, - }, - { - .version =3D 3, - .note =3D "no TSX, XSAVES, deprecated", - .props =3D (PropValue[]) { - { "xsaves", "on" }, - { "vmx-xsaves", "on" }, - { /* end of list */ } - }, - }, - { /* end of list */ } - }, - .deprecation_note =3D "use Icelake-Server instead" - }, { .name =3D "Icelake-Server", .level =3D 0xd, --=20 2.36.0 From nobody Fri May 3 05:01:43 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=1652716796; cv=none; d=zohomail.com; s=zohoarc; b=CRi1zAc/ayZYp1EArAo84lYURH18C4/spGumn0dbDO1hTMYaFJYdR8efpuaXgPiOnQs3FfeLA+31LVFBf3Rqv0TGXAGbkoopsCYERvPHO2SmdPWlb4lHD4yGtxqdtnqayTJWrAyuGVP/UINR1ugGZbtz5X9q0dnAPns82+nsA2A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1652716796; h=Content-Type: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=AYJyZmUxNZsBEVzOnWcVqqvivvN6SHzGi8AIcyMs1Ho=; b=QnQLhy0gymtyOWo9nwcQVsjCl6BX2OzpjBFGQWC3YcRzExrn4STqr5PiHoauds9BouOVo4gTxuVayC0/ZX0RNb7Ku6qTh4Q91MDz+M6HL+4NKfVvtaALxHJcxNDLyhL3OBWKrHT3lG6UjBXK2BDbqPxLV/rHy6maPqPojHrkroY= 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 1652716796913829.71243916683; Mon, 16 May 2022 08:59:56 -0700 (PDT) Received: from localhost ([::1]:33566 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nqd8V-0005X3-3p for importer@patchew.org; Mon, 16 May 2022 11:59:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40186) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd50-0001i6-6p for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:18 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]:33842) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd4y-0003MP-99 for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:17 -0400 Received: from mail-ed1-f72.google.com (mail-ed1-f72.google.com [209.85.208.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-185-lO3bWmBRPd2fitLLjZY7AA-1; Mon, 16 May 2022 11:56:14 -0400 Received: by mail-ed1-f72.google.com with SMTP id bc17-20020a056402205100b0042aa0e072d3so3682350edb.17 for ; Mon, 16 May 2022 08:56:14 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id b19-20020aa7dc13000000b0042a6d0508a9sm3774309edu.73.2022.05.16.08.56.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 May 2022 08:56:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1652716575; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=AYJyZmUxNZsBEVzOnWcVqqvivvN6SHzGi8AIcyMs1Ho=; b=hno7Iu7ekR4EO77UInwb0w5mdHReu1bgRW17fCcfknwLZ88NTPp60zyWCLF5Aj12ROpnu6 qkUmVzYbDKFZ6Ckw9/BGuTp3q/0SZ+gSJzu4w7kiPmCNF+aZ1ZqZiRIToSQUHNSRuqqaak aTT3hyJnVD1t4yZQWXNYDICRhTZkFw0= X-MC-Unique: lO3bWmBRPd2fitLLjZY7AA-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=AYJyZmUxNZsBEVzOnWcVqqvivvN6SHzGi8AIcyMs1Ho=; b=TwyDkmiP4HZSxzWvWFCg/dG2VmToZ5DlQdfls2wpADFnLZ0bMRNzmcD2j48nM2XPXn nVOUHvqEB5WGqEap/3AirQEhuRfGbSy/V7YHIdAWrx2tFSxYyrnq5ctfJU+p3E6G47gj Wb4NxCE8DF7IO8wDQYIhD06Gp74zgD8UazRG2pa57xGLnf6AmKNrUsAOiJ3DmKWzxQbG BoG1jOXHmRGxyqddaCyNhO/S5uCSQZPQdpUvc+Z3FNlE7yvdfTAFeEVJQZBuKZR6o4dB u99l2kinMzJnVJiieejs4nWFQS/X9Rzpc6c4r1Tan0h0ZkdoQOVnX6tkxyguV4P3q+79 3m3g== X-Gm-Message-State: AOAM533AMDHL0QC7ymmw9RWGCoLpUerydyGPiL6szrzzBoTS3CQu94Gn 4VKa3eFCkEOKJU4WzKp3Ku9yP9b02qs/CnqBWjEH0uVESE8S9ANzI6j8ZNAOn4VoYKdDmgTk1V+ QElYwU6cPtbtb2ya7EmfrM9yQdMmYEYZMr+dSrkva6V9pB0A7KLeKKJ1jtyzmFpwsqYo= X-Received: by 2002:a17:906:4f90:b0:6f6:b288:b3ab with SMTP id o16-20020a1709064f9000b006f6b288b3abmr16396985eju.189.1652716572912; Mon, 16 May 2022 08:56:12 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyyPRw18XpemXXQqQjfAcommHR//FkozZQbbivBWMTCZgs67ii9WvB72lzRiY1giDDBsjniNA== X-Received: by 2002:a17:906:4f90:b0:6f6:b288:b3ab with SMTP id o16-20020a1709064f9000b006f6b288b3abmr16396965eju.189.1652716572675; Mon, 16 May 2022 08:56:12 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: Yang Weijiang , Like Xu Subject: [PULL 05/23] qdev-properties: Add a new macro with bitmask check for uint64_t property Date: Mon, 16 May 2022 17:55:45 +0200 Message-Id: <20220516155603.1234712-6-pbonzini@redhat.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220516155603.1234712-1-pbonzini@redhat.com> References: <20220516155603.1234712-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -28 X-Spam_score: -2.9 X-Spam_bar: -- X-Spam_report: (-2.9 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.082, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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" X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1652716798224100001 Content-Type: text/plain; charset="utf-8" From: Yang Weijiang The DEFINE_PROP_UINT64_CHECKMASK maro applies certain mask check agaist user-supplied property value, reject the value if it violates the bitmask. Co-developed-by: Like Xu Signed-off-by: Like Xu Signed-off-by: Yang Weijiang Message-Id: <20220215195258.29149-2-weijiang.yang@intel.com> Signed-off-by: Paolo Bonzini --- hw/core/qdev-properties.c | 19 +++++++++++++++++++ include/hw/qdev-properties.h | 12 ++++++++++++ 2 files changed, 31 insertions(+) diff --git a/hw/core/qdev-properties.c b/hw/core/qdev-properties.c index c34aac6ebc..357b8761b5 100644 --- a/hw/core/qdev-properties.c +++ b/hw/core/qdev-properties.c @@ -428,6 +428,25 @@ const PropertyInfo qdev_prop_int64 =3D { .set_default_value =3D qdev_propinfo_set_default_value_int, }; =20 +static void set_uint64_checkmask(Object *obj, Visitor *v, const char *name, + void *opaque, Error **errp) +{ + Property *prop =3D opaque; + uint64_t *ptr =3D object_field_prop_ptr(obj, prop); + + visit_type_uint64(v, name, ptr, errp); + if (*ptr & ~prop->bitmask) { + error_setg(errp, "Property value for '%s' has bits outside mask '0= x%" PRIx64 "'", + name, prop->bitmask); + } +} + +const PropertyInfo qdev_prop_uint64_checkmask =3D { + .name =3D "uint64", + .get =3D get_uint64, + .set =3D set_uint64_checkmask, +}; + /* --- string --- */ =20 static void release_string(Object *obj, const char *name, void *opaque) diff --git a/include/hw/qdev-properties.h b/include/hw/qdev-properties.h index f7925f67d0..e1df08876c 100644 --- a/include/hw/qdev-properties.h +++ b/include/hw/qdev-properties.h @@ -17,6 +17,7 @@ struct Property { const PropertyInfo *info; ptrdiff_t offset; uint8_t bitnr; + uint64_t bitmask; bool set_default; union { int64_t i; @@ -54,6 +55,7 @@ extern const PropertyInfo qdev_prop_uint16; extern const PropertyInfo qdev_prop_uint32; extern const PropertyInfo qdev_prop_int32; extern const PropertyInfo qdev_prop_uint64; +extern const PropertyInfo qdev_prop_uint64_checkmask; extern const PropertyInfo qdev_prop_int64; extern const PropertyInfo qdev_prop_size; extern const PropertyInfo qdev_prop_string; @@ -103,6 +105,16 @@ extern const PropertyInfo qdev_prop_link; .set_default =3D true, \ .defval.u =3D (bool)_defval) =20 +/** + * The DEFINE_PROP_UINT64_CHECKMASK macro checks a user-supplied value + * against corresponding bitmask, rejects the value if it violates. + * The default value is set in instance_init(). + */ +#define DEFINE_PROP_UINT64_CHECKMASK(_name, _state, _field, _bitmask) \ + DEFINE_PROP(_name, _state, _field, qdev_prop_uint64_checkmask, uint64_= t, \ + .bitmask =3D (_bitmask), \ + .set_default =3D false) + #define PROP_ARRAY_LEN_PREFIX "len-" =20 /** --=20 2.36.0 From nobody Fri May 3 05:01:43 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=1652717053; cv=none; d=zohomail.com; s=zohoarc; b=Uza5mTHn9M8oY0f/pdOvbXF2Df/1gxRwDYvDK3DfD/WX7weGsTr7wStrv1gOjELZmDEl8P7uq7uCqWU/CiNYs1H56P1lAef8+RxnV8UU8vEplLu/0OU542TcyLfiEqDEolcGfs57qbJ3KDREf5psp3VMHjjoEYCpj7m5X/yLP40= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1652717053; h=Content-Type: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=n1Mm2tW2WvCffZrKZWsjQDyjp4fFpeYpXS5+HH77de8=; b=BfEX2skd8GFz8ZArkRLvP5MHFyNdzEYBEB9q5x3zaBODNiDolDWdOIfyyolhDC/0BkZBevpK+4/yuWUmd0t8mcZyr7BpH4VSMC19h2+Jthj5+Kjrb/SAl/2JZjDQaWb9yoBiapYWUfXCQ8MbpYvlj4OK371NDgPjjC12adxlz3E= 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 1652717053762898.6055374064076; Mon, 16 May 2022 09:04:13 -0700 (PDT) Received: from localhost ([::1]:42154 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nqdCd-0003GN-Tv for importer@patchew.org; Mon, 16 May 2022 12:04:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40204) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd52-0001sO-VA for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:21 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:59015) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd51-0003Mu-3g for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:20 -0400 Received: from mail-ed1-f69.google.com (mail-ed1-f69.google.com [209.85.208.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-308-mSTkTPRuMoKBBG-uG_DAKA-1; Mon, 16 May 2022 11:56:16 -0400 Received: by mail-ed1-f69.google.com with SMTP id ch28-20020a0564021bdc00b00425cb227ab4so10046988edb.4 for ; Mon, 16 May 2022 08:56:16 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id f5-20020a1709063f4500b006f3ef214e46sm27231ejj.172.2022.05.16.08.56.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 May 2022 08:56:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1652716578; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=n1Mm2tW2WvCffZrKZWsjQDyjp4fFpeYpXS5+HH77de8=; b=chKamWIkDZjhswbhbsyWUSxjKBEmcDUS1/5TzmZfzaCOIv+jQ4tUt5qEcCfos1ZxcKJ6Q4 zSGcDhPwIFUoj23ZVdHvFk+fTwmhPztRBlpVG6CN59PW0bBBj+Us9eJJ2wMia7zVW2E4Gv gc61OjeB6afh8qR2SfXruy0pPMqRoSY= X-MC-Unique: mSTkTPRuMoKBBG-uG_DAKA-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=n1Mm2tW2WvCffZrKZWsjQDyjp4fFpeYpXS5+HH77de8=; b=aJ3LqsjwZFuF5erj015LIgA6VOcI49cv1GB5YD5ffFFnoOn79QlEOKLTZQpnKAOYT2 BlwX4dhS1UZP+t+Ygyn9AHC/hDmDqZxFIAxG9NMrYjHaJEPtdRaDBYCmpWRUXSN+Xp0q qgBWsYygBHFgZAe4P21CEsGIy7tTE6wzcD8FLZRQQ6NWJue20zoHnHsms0pqFO7j6Sfb D5RbV6fDjRrhstGojl0OvNn3/cpGgq4SJPjDmWooyk7s/4eJng3PGDGpdugt/fQP2Cs7 ijaZm7R/Ga6pVRSIhuI4PpyZw6EaPV1gJhTx8Bp4+uxgfCg3ZkaI5Libs+utkJkqIYOe nDgg== X-Gm-Message-State: AOAM530so3iSVwmWImy6PdhyiQ9M9EytwS/Pd9+QTS210E2yfI2SfI9p v/GkBIX2Rex1w00XFafgblFjP86x0e6LsOWdOpE+7MYHKPjeN396kbqVxQjgshk46baCU4LR27n Rn4oFUGGcpK5/3VtooEJ6QB02HsjdPvXGaw4hU4l0luOtGDEHO7X6oAP9qRaapiKeq78= X-Received: by 2002:a05:6402:3298:b0:42a:a91d:905b with SMTP id f24-20020a056402329800b0042aa91d905bmr9173480eda.373.1652716575281; Mon, 16 May 2022 08:56:15 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw604kUcU5kcTc/p9xxOlEZmGvRQVr0pmQ8a6LYHICCsz0RffApJbEGY2hO9udlMq2gpz1SyA== X-Received: by 2002:a05:6402:3298:b0:42a:a91d:905b with SMTP id f24-20020a056402329800b0042aa91d905bmr9173459eda.373.1652716575015; Mon, 16 May 2022 08:56:15 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: Yang Weijiang , Like Xu Subject: [PULL 06/23] target/i386: Add lbr-fmt vPMU option to support guest LBR Date: Mon, 16 May 2022 17:55:46 +0200 Message-Id: <20220516155603.1234712-7-pbonzini@redhat.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220516155603.1234712-1-pbonzini@redhat.com> References: <20220516155603.1234712-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -28 X-Spam_score: -2.9 X-Spam_bar: -- X-Spam_report: (-2.9 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.082, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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" X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1652717055219100001 Content-Type: text/plain; charset="utf-8" From: Yang Weijiang The Last Branch Recording (LBR) is a performance monitor unit (PMU) feature on Intel processors which records a running trace of the most recent branches taken by the processor in the LBR stack. This option indicates the LBR format to enable for guest perf. The LBR feature is enabled if below conditions are met: 1) KVM is enabled and the PMU is enabled. 2) msr-based-feature IA32_PERF_CAPABILITIES is supporterd on KVM. 3) Supported returned value for lbr_fmt from above msr is non-zero. 4) Guest vcpu model does support FEAT_1_ECX.CPUID_EXT_PDCM. 5) User-provided lbr-fmt value doesn't violate its bitmask (0x3f). 6) Target guest LBR format matches that of host. Co-developed-by: Like Xu Signed-off-by: Like Xu Signed-off-by: Yang Weijiang Message-Id: <20220215195258.29149-3-weijiang.yang@intel.com> Signed-off-by: Paolo Bonzini --- target/i386/cpu.c | 40 ++++++++++++++++++++++++++++++++++++++++ target/i386/cpu.h | 10 ++++++++++ 2 files changed, 50 insertions(+) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 6083e556f5..856a8659e8 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -6275,6 +6275,7 @@ static void x86_cpu_realizefn(DeviceState *dev, Error= **errp) CPUX86State *env =3D &cpu->env; Error *local_err =3D NULL; static bool ht_warned; + unsigned requested_lbr_fmt; =20 if (cpu->apic_id =3D=3D UNASSIGNED_APIC_ID) { error_setg(errp, "apic-id property was not initialized properly"); @@ -6292,6 +6293,42 @@ static void x86_cpu_realizefn(DeviceState *dev, Erro= r **errp) goto out; } =20 + /* + * Override env->features[FEAT_PERF_CAPABILITIES].LBR_FMT + * with user-provided setting. + */ + if (cpu->lbr_fmt !=3D ~PERF_CAP_LBR_FMT) { + if ((cpu->lbr_fmt & PERF_CAP_LBR_FMT) !=3D cpu->lbr_fmt) { + error_setg(errp, "invalid lbr-fmt"); + return; + } + env->features[FEAT_PERF_CAPABILITIES] &=3D ~PERF_CAP_LBR_FMT; + env->features[FEAT_PERF_CAPABILITIES] |=3D cpu->lbr_fmt; + } + + /* + * vPMU LBR is supported when 1) KVM is enabled 2) Option pmu=3Don and + * 3)vPMU LBR format matches that of host setting. + */ + requested_lbr_fmt =3D + env->features[FEAT_PERF_CAPABILITIES] & PERF_CAP_LBR_FMT; + if (requested_lbr_fmt && kvm_enabled()) { + uint64_t host_perf_cap =3D + x86_cpu_get_supported_feature_word(FEAT_PERF_CAPABILITIES, fal= se); + unsigned host_lbr_fmt =3D host_perf_cap & PERF_CAP_LBR_FMT; + + if (!cpu->enable_pmu) { + error_setg(errp, "vPMU: LBR is unsupported without pmu=3Don"); + return; + } + if (requested_lbr_fmt !=3D host_lbr_fmt) { + error_setg(errp, "vPMU: the lbr-fmt value (0x%x) does not matc= h " + "the host value (0x%x).", + requested_lbr_fmt, host_lbr_fmt); + return; + } + } + x86_cpu_filter_features(cpu, cpu->check_cpuid || cpu->enforce_cpuid); =20 if (cpu->enforce_cpuid && x86_cpu_have_filtered_features(cpu)) { @@ -6644,6 +6681,8 @@ static void x86_cpu_initfn(Object *obj) object_property_add_alias(obj, "sse4_2", obj, "sse4.2"); =20 object_property_add_alias(obj, "hv-apicv", obj, "hv-avic"); + cpu->lbr_fmt =3D ~PERF_CAP_LBR_FMT; + object_property_add_alias(obj, "lbr_fmt", obj, "lbr-fmt"); =20 if (xcc->model) { x86_cpu_load_model(cpu, xcc->model); @@ -6798,6 +6837,7 @@ static Property x86_cpu_properties[] =3D { #endif DEFINE_PROP_INT32("node-id", X86CPU, node_id, CPU_UNSET_NUMA_NODE_ID), DEFINE_PROP_BOOL("pmu", X86CPU, enable_pmu, false), + DEFINE_PROP_UINT64_CHECKMASK("lbr-fmt", X86CPU, lbr_fmt, PERF_CAP_LBR_= FMT), =20 DEFINE_PROP_UINT32("hv-spinlocks", X86CPU, hyperv_spinlock_attempts, HYPERV_SPINLOCK_NEVER_NOTIFY), diff --git a/target/i386/cpu.h b/target/i386/cpu.h index 9661f9fbd1..6730df5dbf 100644 --- a/target/i386/cpu.h +++ b/target/i386/cpu.h @@ -386,6 +386,7 @@ typedef enum X86Seg { #define ARCH_CAP_TSX_CTRL_MSR (1<<7) =20 #define MSR_IA32_PERF_CAPABILITIES 0x345 +#define PERF_CAP_LBR_FMT 0x3f =20 #define MSR_IA32_TSX_CTRL 0x122 #define MSR_IA32_TSCDEADLINE 0x6e0 @@ -1810,6 +1811,15 @@ struct ArchCPU { */ bool enable_pmu; =20 + /* + * Enable LBR_FMT bits of IA32_PERF_CAPABILITIES MSR. + * This can't be initialized with a default because it doesn't have + * stable ABI support yet. It is only allowed to pass all LBR_FMT bits + * returned by kvm_arch_get_supported_msr_feature()(which depends on b= oth + * host CPU and kernel capabilities) to the guest. + */ + uint64_t lbr_fmt; + /* LMCE support can be enabled/disabled via cpu option 'lmce=3Don/off'= . It is * disabled by default to avoid breaking migration between QEMU with * different LMCE configurations. --=20 2.36.0 From nobody Fri May 3 05:01:43 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=1652720156; cv=none; d=zohomail.com; s=zohoarc; b=LAw8ex4PNxMykvasO5LfCFKQcNeKdO7Zj5hH6B+5L+sn6LVCSSTmAJ7O1pkEZ+zm+Jkkl9HTlm+Y5kmOdt9MhXKcrDq/C7jlpuPU+8+KnQsSBsPZe8wgE8eA/ylQ9+MnDwVOUoTrcNca3/dLMthQeuW+cqwob2qKTyypjnIuU0g= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1652720156; h=Content-Type: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=a6Iq5klB4OYdeLKmv3MKps+y2xcYAT0ThmiCm0ZXWxE=; b=eaikBPwF/+nQvZpL48zADDXRg1ywiqPRYAvSMOQxxpLYEwB4r4oJ9rNlK9ggMtaQpWNEttyfr5x7vdVzt/XWqeBEko71k4asmS2bILFFNaFJOBvvkkpP97ecVm/fP2ECd1Xw3A8IEIgqAxd7plZhPvKkPlJEilA4E/MX2UR88RQ= 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 1652720156816252.22289653293637; Mon, 16 May 2022 09:55:56 -0700 (PDT) Received: from localhost ([::1]:46192 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nqe0h-0000Kg-MO for importer@patchew.org; Mon, 16 May 2022 12:55:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40214) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd54-0001wH-1G for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:22 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:40360) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd52-0003My-Bc for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:21 -0400 Received: from mail-ed1-f72.google.com (mail-ed1-f72.google.com [209.85.208.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-410-2ElxoDDjMMuSzHNNjoLRsg-1; Mon, 16 May 2022 11:56:18 -0400 Received: by mail-ed1-f72.google.com with SMTP id r8-20020a056402018800b00428b43999feso10068842edv.5 for ; Mon, 16 May 2022 08:56:18 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id gv29-20020a1709072bdd00b006f3ef214e06sm44898ejc.108.2022.05.16.08.56.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 May 2022 08:56:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1652716579; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=a6Iq5klB4OYdeLKmv3MKps+y2xcYAT0ThmiCm0ZXWxE=; b=ISJ1ItH7nGe0GfUG1ToIxgKcdE2jyvZK4Pq5EN9RtJfabLrim+eXFzwdh9IqCbI0Cd0aza /AjebU6YMWu+FxTqEh0aZeKFZ70kRstwag1e7ViCcxje7Yzf/p5Q0qCyw1U+QfFf/J01cm mFtp8fX7s/YpRDw7JJyVI3OYFHed7eE= X-MC-Unique: 2ElxoDDjMMuSzHNNjoLRsg-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=a6Iq5klB4OYdeLKmv3MKps+y2xcYAT0ThmiCm0ZXWxE=; b=CxFw3n1bUg7wkPT7V9T+Sd6D8RyNAjYBKVOHfletIv2chKmazuKICWWHEl+sjCcMC+ QurmlmqTUZ9euj6Eb+M/qsvj0yJC3S0f8u4esw+uXq5iaK2TJJEOLUGGRqtiRSm4M/4t j3FVxsMN29smVF3SoH5G/Suxt5itca6kAxq+D1/ahgS2m9JtW2Rcgp4+Fa3vgW2p9PZr oDkgkZ9dEizw4QxnJ23Cg9oIM0uVk7mjp5OQ8jLUfxMZ08e30ZNXMpnOa+R2htXtJ9cA fi7PUjUHY0wSxAkB6xaEuOJAJl1Uvtb6/19JoM/G+ql0XDLjic4QkJOl6e0UCYTrGbHa KUPQ== X-Gm-Message-State: AOAM532r2JZywq+ZGp4PNw8OwXQaM3ee8fNWjHWtRnqafT+chby/Hloo HIwa80uVRHTHfIOOZFFIItMExrcGE6cv1drTk3myyaVrtg4J7TYXx8PYA4jY6zy6NfpqOGV4jzc fMd9b1no8WDwEbo9/WsxD2tIaztcJ0Erh/nN8aXNXRN32qPHy/UVPwjV0UWnVGwmXRDs= X-Received: by 2002:a05:6402:34c6:b0:427:c65d:c254 with SMTP id w6-20020a05640234c600b00427c65dc254mr14008192edc.88.1652716576861; Mon, 16 May 2022 08:56:16 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxQWt2d49vGbZlh1AL5ymR2LH2z2BR6zjyeBtcQmx3+DJqIBHsntipzuEZmNkzjIXWC2M0BZg== X-Received: by 2002:a05:6402:34c6:b0:427:c65d:c254 with SMTP id w6-20020a05640234c600b00427c65dc254mr14008169edc.88.1652716576610; Mon, 16 May 2022 08:56:16 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: Yang Weijiang Subject: [PULL 07/23] target/i386: Add kvm_get_one_msr helper Date: Mon, 16 May 2022 17:55:47 +0200 Message-Id: <20220516155603.1234712-8-pbonzini@redhat.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220516155603.1234712-1-pbonzini@redhat.com> References: <20220516155603.1234712-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -28 X-Spam_score: -2.9 X-Spam_bar: -- X-Spam_report: (-2.9 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.082, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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" X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1652720158869100001 Content-Type: text/plain; charset="utf-8" From: Yang Weijiang When try to get one msr from KVM, I found there's no such kind of existing interface while kvm_put_one_msr() is there. So here comes the patch. It'll remove redundant preparation code before finally call KVM_GET_MSRS IOCTL. No functional change intended. Signed-off-by: Yang Weijiang Message-Id: <20220215195258.29149-4-weijiang.yang@intel.com> Signed-off-by: Paolo Bonzini --- target/i386/kvm/kvm.c | 46 ++++++++++++++++++++++++------------------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c index c885763a5b..536cbe5fad 100644 --- a/target/i386/kvm/kvm.c +++ b/target/i386/kvm/kvm.c @@ -141,6 +141,7 @@ static struct kvm_msr_list *kvm_feature_msrs; =20 #define BUS_LOCK_SLICE_TIME 1000000000ULL /* ns */ static RateLimit bus_lock_ratelimit_ctrl; +static int kvm_get_one_msr(X86CPU *cpu, int index, uint64_t *value); =20 int kvm_has_pit_state2(void) { @@ -211,28 +212,21 @@ static int kvm_get_tsc(CPUState *cs) { X86CPU *cpu =3D X86_CPU(cs); CPUX86State *env =3D &cpu->env; - struct { - struct kvm_msrs info; - struct kvm_msr_entry entries[1]; - } msr_data =3D {}; + uint64_t value; int ret; =20 if (env->tsc_valid) { return 0; } =20 - memset(&msr_data, 0, sizeof(msr_data)); - msr_data.info.nmsrs =3D 1; - msr_data.entries[0].index =3D MSR_IA32_TSC; env->tsc_valid =3D !runstate_is_running(); =20 - ret =3D kvm_vcpu_ioctl(CPU(cpu), KVM_GET_MSRS, &msr_data); + ret =3D kvm_get_one_msr(cpu, MSR_IA32_TSC, &value); if (ret < 0) { return ret; } =20 - assert(ret =3D=3D 1); - env->tsc =3D msr_data.entries[0].data; + env->tsc =3D value; return 0; } =20 @@ -1566,21 +1560,14 @@ static int hyperv_init_vcpu(X86CPU *cpu) * the kernel doesn't support setting vp_index; assert that its va= lue * is in sync */ - struct { - struct kvm_msrs info; - struct kvm_msr_entry entries[1]; - } msr_data =3D { - .info.nmsrs =3D 1, - .entries[0].index =3D HV_X64_MSR_VP_INDEX, - }; + uint64_t value; =20 - ret =3D kvm_vcpu_ioctl(cs, KVM_GET_MSRS, &msr_data); + ret =3D kvm_get_one_msr(cpu, HV_X64_MSR_VP_INDEX, &value); if (ret < 0) { return ret; } - assert(ret =3D=3D 1); =20 - if (msr_data.entries[0].data !=3D hyperv_vp_index(CPU(cpu))) { + if (value !=3D hyperv_vp_index(CPU(cpu))) { error_report("kernel's vp_index !=3D QEMU's vp_index"); return -ENXIO; } @@ -2839,6 +2826,25 @@ static int kvm_put_one_msr(X86CPU *cpu, int index, u= int64_t value) return kvm_vcpu_ioctl(CPU(cpu), KVM_SET_MSRS, cpu->kvm_msr_buf); } =20 +static int kvm_get_one_msr(X86CPU *cpu, int index, uint64_t *value) +{ + int ret; + struct { + struct kvm_msrs info; + struct kvm_msr_entry entries[1]; + } msr_data =3D { + .info.nmsrs =3D 1, + .entries[0].index =3D index, + }; + + ret =3D kvm_vcpu_ioctl(CPU(cpu), KVM_GET_MSRS, &msr_data); + if (ret < 0) { + return ret; + } + assert(ret =3D=3D 1); + *value =3D msr_data.entries[0].data; + return ret; +} void kvm_put_apicbase(X86CPU *cpu, uint64_t value) { int ret; --=20 2.36.0 From nobody Fri May 3 05:01:43 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=1652719144; cv=none; d=zohomail.com; s=zohoarc; b=jAk1FGu2IPYpYrYHreDoTiPYrVb/gk+cotyofBkDmFkprC037uQAtsVnAZ24bCS8Gx9pNKZuWGu/JfapBUpvnoCr1giBz3x2I4o0SyQEBRVCMoQWBAXG795kV/H2J5OUjD2ReHx5+iDAoU5o50FxbJNOKu8ewpSJbc+JWt0UOns= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1652719144; h=Content-Type: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=PBY2Yaa9/to//lKYZJQkzKis14F+XL3MYM7L7NaHTxc=; b=HDu37G0BbMVmt9K/WZlzx4gG66wj8d2vDWnuGUB+IyIrydo7JQlC9Qt4E09LS80k55AnxZptYpjTg7s40sY7DLqcv3PF1c4bgAEBd02Qi4Ge6VczpIfDmCHk1cApeitN4/qYvzb+ZkVEee+S0lH9cDpTLoUwIk9w+vzMmeopfBc= 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 1652719144053254.1313131068939; Mon, 16 May 2022 09:39:04 -0700 (PDT) Received: from localhost ([::1]:44704 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nqdkM-0004wA-Ud for importer@patchew.org; Mon, 16 May 2022 12:39:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40258) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd58-0002Ce-RE for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:26 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:39137) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd56-0003NK-IN for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:26 -0400 Received: from mail-ed1-f69.google.com (mail-ed1-f69.google.com [209.85.208.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-386-CTH3zTNmOJGIxIjuJ0gy8w-1; Mon, 16 May 2022 11:56:19 -0400 Received: by mail-ed1-f69.google.com with SMTP id s9-20020aa7c549000000b0042ab6ab62f0so1556063edr.14 for ; Mon, 16 May 2022 08:56:19 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id 14-20020a17090601ce00b006f3ef214e0dsm42361ejj.115.2022.05.16.08.56.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 May 2022 08:56:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1652716584; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=PBY2Yaa9/to//lKYZJQkzKis14F+XL3MYM7L7NaHTxc=; b=X8ZxvPpz2PgU9IqzjTniH2r2d+AIxzc7eODIlnS3ntzMXcqyHGsYsjPlpz2Bixk0PSYv8t cPXfD0jMw2TfVaEAx5as8xGLzTvHoZ9LSe8iJ+9WEEQMFhujCy7gsSza7ak+DlR1RAtCQU xMwRARQ+guRFQc5HegMA0LP3w50BrIg= X-MC-Unique: CTH3zTNmOJGIxIjuJ0gy8w-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=PBY2Yaa9/to//lKYZJQkzKis14F+XL3MYM7L7NaHTxc=; b=1dTu6VLrpn0N/yR7yuFCErH4/YyvLqddoYnElzHxzcG+j6mgqtlrDZ6EfBZCjicyp9 v7YFLoF/D/7WxC4S5RZC19ndolgiBQNSCwKostbYm3rRB+Y7w8wIqaHrlgsoGxofqQ8u nEg3+43Br98Zcj+wpAxQX2SVoomyGdEdRIvdnrxN0iVy00xTz4N6Rum0SsrdKjV0DzE3 9MzXMBRmPrXiIRScIuDr1PTF+VYn/FymwikfeBPQle5CGGj40kI6ib4vLu03IEunVqVY 7n8k7nXAviATaS0YEdpQEUvUtTpY2e0Vg4nE76bj5VpDAVG61R7QcsHDdvaouMKnTqp/ 0kMQ== X-Gm-Message-State: AOAM533rIK3X+WWOfjqIec4LeROLLzs4O4qolNi7Pa3aRamWdXYaIJs4 rcBv6w2qsPyl08VcBUNs5kUvvBY95PEzUP6Tm9SyHb3fge/L4f5Y9mhR+yujWaaB3p2gasi0H42 yCrd3z5aV94ZXnOMh2uSCjpPzS0RupINCE5tCs79IiIl+84XSMbgaaQTlG/IxKDfhKOg= X-Received: by 2002:aa7:cdcd:0:b0:42a:ada8:a03f with SMTP id h13-20020aa7cdcd000000b0042aada8a03fmr7464268edw.322.1652716578425; Mon, 16 May 2022 08:56:18 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyGEepJrOg0FBlLXdydpmdzuOrxxK1eNWS41nirJe2PCjhhFkN27d8hncw9KFvlaNZNRgxajg== X-Received: by 2002:aa7:cdcd:0:b0:42a:ada8:a03f with SMTP id h13-20020aa7cdcd000000b0042aada8a03fmr7464244edw.322.1652716578102; Mon, 16 May 2022 08:56:18 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: Yang Weijiang Subject: [PULL 08/23] target/i386: Enable support for XSAVES based features Date: Mon, 16 May 2022 17:55:48 +0200 Message-Id: <20220516155603.1234712-9-pbonzini@redhat.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220516155603.1234712-1-pbonzini@redhat.com> References: <20220516155603.1234712-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -28 X-Spam_score: -2.9 X-Spam_bar: -- X-Spam_report: (-2.9 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.082, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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" X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1652719144674100001 Content-Type: text/plain; charset="utf-8" From: Yang Weijiang There're some new features, including Arch LBR, depending on XSAVES/XRSTORS support, the new instructions will save/restore data based on feature bits enabled in XCR0 | XSS. This patch adds the basic support for related CPUID enumeration and meanwhile changes the name from FEAT_XSAVE_COMP_{LO|HI} to FEAT_XSAVE_XCR0_{LO|HI} to differentiate clearly the feature bits in XCR0 and those in XSS. Signed-off-by: Yang Weijiang Message-Id: <20220215195258.29149-5-weijiang.yang@intel.com> Signed-off-by: Paolo Bonzini --- target/i386/cpu.c | 104 +++++++++++++++++++++++++++++++++++----------- target/i386/cpu.h | 14 ++++++- 2 files changed, 92 insertions(+), 26 deletions(-) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 856a8659e8..643536d05d 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -937,6 +937,34 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { }, .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 { @@ -952,7 +980,7 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { .cpuid =3D { .eax =3D 6, .reg =3D R_EAX, }, .tcg_features =3D TCG_6_EAX_FEATURES, }, - [FEAT_XSAVE_COMP_LO] =3D { + [FEAT_XSAVE_XCR0_LO] =3D { .type =3D CPUID_FEATURE_WORD, .cpuid =3D { .eax =3D 0xD, @@ -965,7 +993,7 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { XSTATE_OPMASK_MASK | XSTATE_ZMM_Hi256_MASK | XSTATE_Hi16_ZMM_M= ASK | XSTATE_PKRU_MASK, }, - [FEAT_XSAVE_COMP_HI] =3D { + [FEAT_XSAVE_XCR0_HI] =3D { .type =3D CPUID_FEATURE_WORD, .cpuid =3D { .eax =3D 0xD, @@ -1382,6 +1410,9 @@ static const X86RegisterInfo32 x86_reg_info_32[CPU_NB= _REGS32] =3D { }; #undef REGISTER =20 +/* CPUID feature bits available in XSS */ +#define CPUID_XSTATE_XSS_MASK (0) + ExtSaveArea x86_ext_save_areas[XSAVE_STATE_AREA_COUNT] =3D { [XSTATE_FP_BIT] =3D { /* x87 FP state component is always enabled if XSAVE is supported = */ @@ -1424,15 +1455,18 @@ ExtSaveArea x86_ext_save_areas[XSAVE_STATE_AREA_COU= NT] =3D { }, }; =20 -static uint32_t xsave_area_size(uint64_t mask) +static uint32_t xsave_area_size(uint64_t mask, bool compacted) { + uint64_t ret =3D x86_ext_save_areas[0].size; + const ExtSaveArea *esa; + uint32_t offset =3D 0; int i; - uint64_t ret =3D 0; =20 - for (i =3D 0; i < ARRAY_SIZE(x86_ext_save_areas); i++) { - const ExtSaveArea *esa =3D &x86_ext_save_areas[i]; + for (i =3D 2; i < ARRAY_SIZE(x86_ext_save_areas); i++) { + esa =3D &x86_ext_save_areas[i]; if ((mask >> i) & 1) { - ret =3D MAX(ret, esa->offset + esa->size); + offset =3D compacted ? ret : esa->offset; + ret =3D MAX(ret, offset + esa->size); } } return ret; @@ -1443,10 +1477,10 @@ static inline bool accel_uses_host_cpuid(void) return kvm_enabled() || hvf_enabled(); } =20 -static inline uint64_t x86_cpu_xsave_components(X86CPU *cpu) +static inline uint64_t x86_cpu_xsave_xcr0_components(X86CPU *cpu) { - return ((uint64_t)cpu->env.features[FEAT_XSAVE_COMP_HI]) << 32 | - cpu->env.features[FEAT_XSAVE_COMP_LO]; + return ((uint64_t)cpu->env.features[FEAT_XSAVE_XCR0_HI]) << 32 | + cpu->env.features[FEAT_XSAVE_XCR0_LO]; } =20 /* Return name of 32-bit register, from a R_* constant */ @@ -1458,6 +1492,12 @@ static const char *get_register_name_32(unsigned int= reg) return x86_reg_info_32[reg].name; } =20 +static inline uint64_t x86_cpu_xsave_xss_components(X86CPU *cpu) +{ + return ((uint64_t)cpu->env.features[FEAT_XSAVE_XSS_HI]) << 32 | + cpu->env.features[FEAT_XSAVE_XSS_LO]; +} + /* * Returns the set of feature flags that are supported and migratable by * QEMU, for a given FeatureWord. @@ -4511,8 +4551,8 @@ static const char *x86_cpu_feature_name(FeatureWord w= , int bitnr) /* XSAVE components are automatically enabled by other features, * so return the original feature name instead */ - if (w =3D=3D FEAT_XSAVE_COMP_LO || w =3D=3D FEAT_XSAVE_COMP_HI) { - int comp =3D (w =3D=3D FEAT_XSAVE_COMP_HI) ? bitnr + 32 : bitnr; + if (w =3D=3D FEAT_XSAVE_XCR0_LO || w =3D=3D FEAT_XSAVE_XCR0_HI) { + int comp =3D (w =3D=3D FEAT_XSAVE_XCR0_HI) ? bitnr + 32 : bitnr; =20 if (comp < ARRAY_SIZE(x86_ext_save_areas) && x86_ext_save_areas[comp].bits) { @@ -5408,25 +5448,36 @@ void cpu_x86_cpuid(CPUX86State *env, uint32_t index= , uint32_t count, } =20 if (count =3D=3D 0) { - *ecx =3D xsave_area_size(x86_cpu_xsave_components(cpu)); - *eax =3D env->features[FEAT_XSAVE_COMP_LO]; - *edx =3D env->features[FEAT_XSAVE_COMP_HI]; + *ecx =3D xsave_area_size(x86_cpu_xsave_xcr0_components(cpu), f= alse); + *eax =3D env->features[FEAT_XSAVE_XCR0_LO]; + *edx =3D env->features[FEAT_XSAVE_XCR0_HI]; /* * The initial value of xcr0 and ebx =3D=3D 0, On host without= kvm * commit 412a3c41(e.g., CentOS 6), the ebx's value always =3D= =3D 0 * even through guest update xcr0, this will crash some legacy= guest * (e.g., CentOS 6), So set ebx =3D=3D ecx to workaroud it. */ - *ebx =3D kvm_enabled() ? *ecx : xsave_area_size(env->xcr0); + *ebx =3D kvm_enabled() ? *ecx : xsave_area_size(env->xcr0, fal= se); } else if (count =3D=3D 1) { + uint64_t xstate =3D x86_cpu_xsave_xcr0_components(cpu) | + x86_cpu_xsave_xss_components(cpu); + *eax =3D env->features[FEAT_XSAVE]; + *ebx =3D xsave_area_size(xstate, true); + *ecx =3D env->features[FEAT_XSAVE_XSS_LO]; + *edx =3D env->features[FEAT_XSAVE_XSS_HI]; } else if (count < ARRAY_SIZE(x86_ext_save_areas)) { - if ((x86_cpu_xsave_components(cpu) >> count) & 1) { - const ExtSaveArea *esa =3D &x86_ext_save_areas[count]; + const ExtSaveArea *esa =3D &x86_ext_save_areas[count]; + + if (x86_cpu_xsave_xcr0_components(cpu) & (1ULL << count)) { *eax =3D esa->size; *ebx =3D esa->offset; *ecx =3D esa->ecx & (ESA_FEATURE_ALIGN64_MASK | ESA_FEATURE_XFD_MASK); + } else if (x86_cpu_xsave_xss_components(cpu) & (1ULL << count)= ) { + *eax =3D esa->size; + *ebx =3D 0; + *ecx =3D 1; } } break; @@ -5477,8 +5528,8 @@ void cpu_x86_cpuid(CPUX86State *env, uint32_t index, = uint32_t count, } else { *eax &=3D env->features[FEAT_SGX_12_1_EAX]; *ebx &=3D 0; /* ebx reserve */ - *ecx &=3D env->features[FEAT_XSAVE_COMP_LO]; - *edx &=3D env->features[FEAT_XSAVE_COMP_HI]; + *ecx &=3D env->features[FEAT_XSAVE_XSS_LO]; + *edx &=3D env->features[FEAT_XSAVE_XSS_HI]; =20 /* FP and SSE are always allowed regardless of XSAVE/XCR0. */ *ecx |=3D XSTATE_FP_MASK | XSTATE_SSE_MASK; @@ -5874,6 +5925,9 @@ static void x86_cpu_reset(DeviceState *dev) } for (i =3D 2; i < ARRAY_SIZE(x86_ext_save_areas); i++) { const ExtSaveArea *esa =3D &x86_ext_save_areas[i]; + if (!((1 << i) & CPUID_XSTATE_XCR0_MASK)) { + continue; + } if (env->features[esa->feature] & esa->bits) { xcr0 |=3D 1ull << i; } @@ -5988,8 +6042,8 @@ static void x86_cpu_enable_xsave_components(X86CPU *c= pu) static bool request_perm; =20 if (!(env->features[FEAT_1_ECX] & CPUID_EXT_XSAVE)) { - env->features[FEAT_XSAVE_COMP_LO] =3D 0; - env->features[FEAT_XSAVE_COMP_HI] =3D 0; + env->features[FEAT_XSAVE_XCR0_LO] =3D 0; + env->features[FEAT_XSAVE_XCR0_HI] =3D 0; return; } =20 @@ -6007,8 +6061,10 @@ static void x86_cpu_enable_xsave_components(X86CPU *= cpu) request_perm =3D true; } =20 - env->features[FEAT_XSAVE_COMP_LO] =3D mask; - env->features[FEAT_XSAVE_COMP_HI] =3D mask >> 32; + env->features[FEAT_XSAVE_XCR0_LO] =3D mask & CPUID_XSTATE_XCR0_MASK; + env->features[FEAT_XSAVE_XCR0_HI] =3D mask >> 32; + env->features[FEAT_XSAVE_XSS_LO] =3D mask & CPUID_XSTATE_XSS_MASK; + env->features[FEAT_XSAVE_XSS_HI] =3D mask >> 32; } =20 /***** Steps involved on loading and filtering CPUID data diff --git a/target/i386/cpu.h b/target/i386/cpu.h index 6730df5dbf..453b80eae2 100644 --- a/target/i386/cpu.h +++ b/target/i386/cpu.h @@ -568,6 +568,14 @@ typedef enum X86Seg { #define ESA_FEATURE_XFD_MASK (1U << ESA_FEATURE_XFD_BIT) =20 =20 +/* CPUID feature bits available in XCR0 */ +#define CPUID_XSTATE_XCR0_MASK (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_MASK | XSTATE_PKRU_MASK |= \ + XSTATE_XTILE_CFG_MASK | XSTATE_XTILE_DATA= _MASK) + /* CPUID feature words */ typedef enum FeatureWord { FEAT_1_EDX, /* CPUID[1].EDX */ @@ -586,8 +594,8 @@ typedef enum FeatureWord { FEAT_SVM, /* CPUID[8000_000A].EDX */ FEAT_XSAVE, /* CPUID[EAX=3D0xd,ECX=3D1].EAX */ FEAT_6_EAX, /* CPUID[6].EAX */ - FEAT_XSAVE_COMP_LO, /* CPUID[EAX=3D0xd,ECX=3D0].EAX */ - FEAT_XSAVE_COMP_HI, /* CPUID[EAX=3D0xd,ECX=3D0].EDX */ + FEAT_XSAVE_XCR0_LO, /* CPUID[EAX=3D0xd,ECX=3D0].EAX */ + FEAT_XSAVE_XCR0_HI, /* CPUID[EAX=3D0xd,ECX=3D0].EDX */ FEAT_ARCH_CAPABILITIES, FEAT_CORE_CAPABILITY, FEAT_PERF_CAPABILITIES, @@ -604,6 +612,8 @@ typedef enum FeatureWord { FEAT_SGX_12_0_EAX, /* CPUID[EAX=3D0x12,ECX=3D0].EAX (SGX) */ FEAT_SGX_12_0_EBX, /* CPUID[EAX=3D0x12,ECX=3D0].EBX (SGX MISCSELECT[3= 1:0]) */ FEAT_SGX_12_1_EAX, /* CPUID[EAX=3D0x12,ECX=3D1].EAX (SGX ATTRIBUTES[3= 1:0]) */ + FEAT_XSAVE_XSS_LO, /* CPUID[EAX=3D0xd,ECX=3D1].ECX */ + FEAT_XSAVE_XSS_HI, /* CPUID[EAX=3D0xd,ECX=3D1].EDX */ FEATURE_WORDS, } FeatureWord; =20 --=20 2.36.0 From nobody Fri May 3 05:01:43 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=1652720343; cv=none; d=zohomail.com; s=zohoarc; b=Hs6WS85vzqSHP516bYS2VpXg520Pv3p5f6r6AmEdnRM7p61P/qhiVcDcwF6U7Rtahqza3lJX4Pr9fFDQdSfZbdV6B9prOmSDnYhkbEVG/1VhkIYXSJmzAu/DZSUXlklx2iMKt+I/374xce2Fhr/htsKwQTYUBEg3g+uNHdxxF1U= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1652720343; h=Content-Type: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=h2E53zbfCoAvd6aaoTcTPsEGfNWjOlKglDiTq7iilGk=; b=nKnWL3owjoF9ImW3PAqVxi5MI48MPMVQA66zbxFjFVZjmYd6gt8zjG3epTc5dnQZDzQPSowF2exM4tm9FjirmLy/RGC/CxOb8zJaj4PCcmlS5gK4tvP3mrpC3i7uxTYcrEYVRTngF6oDOCMqQAwNgofDOMgtxbEc/TuJwJ3DYGo= 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 1652720343103249.87710105337976; Mon, 16 May 2022 09:59:03 -0700 (PDT) Received: from localhost ([::1]:55688 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nqe3h-0006Hm-QX for importer@patchew.org; Mon, 16 May 2022 12:59:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40232) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd57-00026o-3G for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:25 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:54255) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd55-0003NG-Ab for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:24 -0400 Received: from mail-ed1-f71.google.com (mail-ed1-f71.google.com [209.85.208.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-52-_tpm5QZjNOqCFFcs4Z02iw-1; Mon, 16 May 2022 11:56:21 -0400 Received: by mail-ed1-f71.google.com with SMTP id bc17-20020a056402205100b0042aa0e072d3so3682554edb.17 for ; Mon, 16 May 2022 08:56:21 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id dq21-20020a170907735500b006f3ef214df2sm45895ejc.88.2022.05.16.08.56.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 May 2022 08:56:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1652716582; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=h2E53zbfCoAvd6aaoTcTPsEGfNWjOlKglDiTq7iilGk=; b=dIwNaOm1f0ZBsgxXaJu3UVQ8MLSJkh46tvSVxfzjSvxOGEkUEYKhVzV7oolxlxlLqpynbK MlRUNwjs2zsU8Qh0NSMS83V0YGaln3HzHTgUBG6bbxJUkJ2YnjGwfE0prEZKxrMd34YxrE 8fVroQLn2IZzng0YcruQsAXJ2bgduIU= X-MC-Unique: _tpm5QZjNOqCFFcs4Z02iw-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=h2E53zbfCoAvd6aaoTcTPsEGfNWjOlKglDiTq7iilGk=; b=i0bVUfshl5k22aBeoiergruYAQnOtfT9LW+dldvIEhgTR3I8hmBTkkTs3Bhltozf0T 3uGfZR+zITP2qNIJ/CkMKm5QiRwBV10046qLF/q/GCnOJfp/AZJ2RFRHskJXQtzamale dLzjV3S0qSzDxFH9Hv9TNmI2mDybnmS1ittl/lO7YhBpkCXe9Q7SmTXxpE3s0ioxGHCn /ps6D6L52ufqGQL33jA/ZxEPSM12QE8wYcwp2rmSmuZR+cHXXq0SNKm4dTTouW0YAzbl WJMTwVg/2K56MO7aZiVVAccpbJ8iVo9Lq3Ha8D3oNShh3XGXvtDf7NposIvGJw5YwUjx KCdA== X-Gm-Message-State: AOAM530FFZ77502+CfJ9D+rtlT1OVUYaKLJ53KzcU8QmLcnxlc8f1H71 w7neFQpjD0qgkQ88kIJfRL+fQxEbJJNB3zvRxxp3Ft580cXkVR7n3qGPZxCtXy+312aZVxYtH/G VDy/kvnQjgFbTFwoVVzOj5N7Lo4CDTNhlBjYzBAwsWuUdvuZI5qZ9iXuW454ixZC7gGM= X-Received: by 2002:a17:906:d552:b0:6f5:942e:bc5f with SMTP id cr18-20020a170906d55200b006f5942ebc5fmr15542923ejc.110.1652716580064; Mon, 16 May 2022 08:56:20 -0700 (PDT) X-Google-Smtp-Source: ABdhPJycRue7QcvkUQdu6w5LvPmecZIZbLuPUKLO7eIpuLymfmj6p0drfemJGpB9yk8HzD59dxSADQ== X-Received: by 2002:a17:906:d552:b0:6f5:942e:bc5f with SMTP id cr18-20020a170906d55200b006f5942ebc5fmr15542908ejc.110.1652716579808; Mon, 16 May 2022 08:56:19 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: Yang Weijiang Subject: [PULL 09/23] target/i386: Add XSAVES support for Arch LBR Date: Mon, 16 May 2022 17:55:49 +0200 Message-Id: <20220516155603.1234712-10-pbonzini@redhat.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220516155603.1234712-1-pbonzini@redhat.com> References: <20220516155603.1234712-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -28 X-Spam_score: -2.9 X-Spam_bar: -- X-Spam_report: (-2.9 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.082, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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" X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1652720345727100001 Content-Type: text/plain; charset="utf-8" From: Yang Weijiang Define Arch LBR bit in XSS and save/restore structure for XSAVE area size calculation. Signed-off-by: Yang Weijiang Message-Id: <20220215195258.29149-6-weijiang.yang@intel.com> Signed-off-by: Paolo Bonzini --- target/i386/cpu.c | 6 +++++- target/i386/cpu.h | 23 +++++++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 643536d05d..1816c37852 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -1411,7 +1411,7 @@ static const X86RegisterInfo32 x86_reg_info_32[CPU_NB= _REGS32] =3D { #undef REGISTER =20 /* CPUID feature bits available in XSS */ -#define CPUID_XSTATE_XSS_MASK (0) +#define CPUID_XSTATE_XSS_MASK (XSTATE_ARCH_LBR_MASK) =20 ExtSaveArea x86_ext_save_areas[XSAVE_STATE_AREA_COUNT] =3D { [XSTATE_FP_BIT] =3D { @@ -1445,6 +1445,10 @@ ExtSaveArea x86_ext_save_areas[XSAVE_STATE_AREA_COUN= T] =3D { [XSTATE_PKRU_BIT] =3D { .feature =3D FEAT_7_0_ECX, .bits =3D CPUID_7_0_ECX_PKU, .size =3D sizeof(XSavePKRU) }, + [XSTATE_ARCH_LBR_BIT] =3D { + .feature =3D FEAT_7_0_EDX, .bits =3D CPUID_7_0_EDX_ARCH_LBR, + .offset =3D 0 /*supervisor mode component, offset =3D 0 */, + .size =3D sizeof(XSavesArchLBR) }, [XSTATE_XTILE_CFG_BIT] =3D { .feature =3D FEAT_7_0_EDX, .bits =3D CPUID_7_0_EDX_AMX_TILE, .size =3D sizeof(XSaveXTILECFG), diff --git a/target/i386/cpu.h b/target/i386/cpu.h index 453b80eae2..dba92936a2 100644 --- a/target/i386/cpu.h +++ b/target/i386/cpu.h @@ -544,6 +544,7 @@ typedef enum X86Seg { #define XSTATE_ZMM_Hi256_BIT 6 #define XSTATE_Hi16_ZMM_BIT 7 #define XSTATE_PKRU_BIT 9 +#define XSTATE_ARCH_LBR_BIT 15 #define XSTATE_XTILE_CFG_BIT 17 #define XSTATE_XTILE_DATA_BIT 18 =20 @@ -556,6 +557,7 @@ typedef enum X86Seg { #define XSTATE_ZMM_Hi256_MASK (1ULL << XSTATE_ZMM_Hi256_BIT) #define XSTATE_Hi16_ZMM_MASK (1ULL << XSTATE_Hi16_ZMM_BIT) #define XSTATE_PKRU_MASK (1ULL << XSTATE_PKRU_BIT) +#define XSTATE_ARCH_LBR_MASK (1ULL << XSTATE_ARCH_LBR_BIT) #define XSTATE_XTILE_CFG_MASK (1ULL << XSTATE_XTILE_CFG_BIT) #define XSTATE_XTILE_DATA_MASK (1ULL << XSTATE_XTILE_DATA_BIT) =20 @@ -870,6 +872,8 @@ uint64_t x86_cpu_get_supported_feature_word(FeatureWord= w, #define CPUID_7_0_EDX_SERIALIZE (1U << 14) /* TSX Suspend Load Address Tracking instruction */ #define CPUID_7_0_EDX_TSX_LDTRK (1U << 16) +/* Architectural LBRs */ +#define CPUID_7_0_EDX_ARCH_LBR (1U << 19) /* AVX512_FP16 instruction */ #define CPUID_7_0_EDX_AVX512_FP16 (1U << 23) /* AMX tile (two-dimensional register) */ @@ -1376,6 +1380,24 @@ typedef struct XSaveXTILEDATA { uint8_t xtiledata[8][1024]; } XSaveXTILEDATA; =20 +typedef struct { + uint64_t from; + uint64_t to; + uint64_t info; +} LBREntry; + +#define ARCH_LBR_NR_ENTRIES 32 + +/* Ext. save area 19: Supervisor mode Arch LBR state */ +typedef struct XSavesArchLBR { + uint64_t lbr_ctl; + uint64_t lbr_depth; + uint64_t ler_from; + uint64_t ler_to; + uint64_t ler_info; + LBREntry lbr_records[ARCH_LBR_NR_ENTRIES]; +} XSavesArchLBR; + QEMU_BUILD_BUG_ON(sizeof(XSaveAVX) !=3D 0x100); QEMU_BUILD_BUG_ON(sizeof(XSaveBNDREG) !=3D 0x40); QEMU_BUILD_BUG_ON(sizeof(XSaveBNDCSR) !=3D 0x40); @@ -1385,6 +1407,7 @@ QEMU_BUILD_BUG_ON(sizeof(XSaveHi16_ZMM) !=3D 0x400); QEMU_BUILD_BUG_ON(sizeof(XSavePKRU) !=3D 0x8); QEMU_BUILD_BUG_ON(sizeof(XSaveXTILECFG) !=3D 0x40); QEMU_BUILD_BUG_ON(sizeof(XSaveXTILEDATA) !=3D 0x2000); +QEMU_BUILD_BUG_ON(sizeof(XSavesArchLBR) !=3D 0x328); =20 typedef struct ExtSaveArea { uint32_t feature, bits; --=20 2.36.0 From nobody Fri May 3 05:01:43 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=1652721716; cv=none; d=zohomail.com; s=zohoarc; b=UIFtsRs5uoQQVl9uCWf8miTcX65hBFePb9IRYbg1YOIfcF0JyWxkJ5gXa1C1b8tAJRiC7mNHamLaiJ0LQ/bj0V5OrRAOh+bOQrHx3daZOeQOzPNaOW9GUhnCMyHq3Vr1IZlu3+4ZsRplkJHM4hpep4Svt60kZbnP9uuayJ1xUxI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1652721716; h=Content-Type: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=JLpwnLJNtQaOov7pDM/v4molXBG6rR9qv9eI4vnHOwk=; b=UiUBfBY7KEbjtJb9QDl+0U6tPFh/C1vjaisNFRmP1FvTvxbsocGei+88/IFpYPjrjMYQ5n0fHrJaCXp8ladbablCfENwraYgMmgxRhzB987pN2oaHPZ5yHRXDJ+UOqx6Iekd3aX24X0lg5QnSElo4X66Uf+Nsuu5vbG98PnmhSQ= 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 1652721716722154.52756398851045; Mon, 16 May 2022 10:21:56 -0700 (PDT) Received: from localhost ([::1]:59414 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nqePr-0005cH-P6 for importer@patchew.org; Mon, 16 May 2022 13:21:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40260) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd59-0002Cu-1C for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:27 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:40102) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd57-0003NP-4o for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:26 -0400 Received: from mail-ed1-f72.google.com (mail-ed1-f72.google.com [209.85.208.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-584-aIUovsKsMNS5CDNcL7RGEg-1; Mon, 16 May 2022 11:56:23 -0400 Received: by mail-ed1-f72.google.com with SMTP id bc17-20020a056402205100b0042aa0e072d3so3682597edb.17 for ; Mon, 16 May 2022 08:56:22 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id 16-20020a17090600d000b006f3ef214e4dsm28415eji.179.2022.05.16.08.56.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 May 2022 08:56:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1652716584; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=JLpwnLJNtQaOov7pDM/v4molXBG6rR9qv9eI4vnHOwk=; b=Nd1/2QLvbYhI/mVAHaVh5w/A3aCsJavUsoUykDE33HzvNfusUgqddgcX14Rf0FBB3JeZpa WiWQjRpQkIAqsXBzK1Rz5+wJlKM7zaO/A/sUFGG1XrQRSre0WwoT+0yDOclfzfJda3XGzv Z760/6UhEiRW6jYgTJMTFsQvtwS3xuw= X-MC-Unique: aIUovsKsMNS5CDNcL7RGEg-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=JLpwnLJNtQaOov7pDM/v4molXBG6rR9qv9eI4vnHOwk=; b=lNTe6kREM9Bs2YzWur8zQSRoBVwnvt21qVInSzEV8jJRO4nhIcXSrUEHAh8s02ly7/ pRJBWtPip4P4Jpb5MQu5ZpWqFP5aJ/y/agxbkzhBoOCI8ZPgJUBMmLccSCYtB83WP6XD CiFytYE2GrrzCmyxoJ967CbExryAGC4/auvVjaWfHeR7ADPoYSbxCUENlzYdCBdmsmkw PUI1Mn/S/t5z0fbGNmuQgzPZqc7RpT+6X4PXPWJyjMp8bymbtL+bphV5Sy5aqr3oi9QO lMJF6UdxLYeJRVQg99Lg5038xoB9tUtEIIg7dM5UvIpikSDbD74K9zi+UZWPKTKSP/nw URkg== X-Gm-Message-State: AOAM5303T0VVKnzyiOhHflWT6D7mwpAQ0nn6HU/HYKYmwwf6bYhMSrdP 0g8N26wA1c9qSJ3Cq0Uk4AtxyGPPcdVQT1FxcXyvuJUf4Jfu4i6Xdd3CZVSZAv2ZCNx8H9incWZ 16Jk7heCEqh+R4vd/9cCLIxUFyDvhfkfLozrFuPYf8h17AwlUHxj9/+nT7cm5rVgesQA= X-Received: by 2002:a17:907:7da7:b0:6f4:f92b:3986 with SMTP id oz39-20020a1709077da700b006f4f92b3986mr15797014ejc.50.1652716581601; Mon, 16 May 2022 08:56:21 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw1VXkhPtQ2MT/IPxu87cD087KosZugaCVTcacmc0v+pu5hYvvcYsSk5WqBnnjdw9EWF3BBrQ== X-Received: by 2002:a17:907:7da7:b0:6f4:f92b:3986 with SMTP id oz39-20020a1709077da700b006f4f92b3986mr15796994ejc.50.1652716581310; Mon, 16 May 2022 08:56:21 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: Yang Weijiang Subject: [PULL 10/23] target/i386: Add MSR access interface for Arch LBR Date: Mon, 16 May 2022 17:55:50 +0200 Message-Id: <20220516155603.1234712-11-pbonzini@redhat.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220516155603.1234712-1-pbonzini@redhat.com> References: <20220516155603.1234712-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -28 X-Spam_score: -2.9 X-Spam_bar: -- X-Spam_report: (-2.9 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.082, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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" X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1652721718966100001 Content-Type: text/plain; charset="utf-8" From: Yang Weijiang In the first generation of Arch LBR, the max support Arch LBR depth is 32, both host and guest use the value to set depth MSR. This can simplify the implementation of patch given the side-effect of mismatch of host/guest depth MSR: XRSTORS will reset all recording MSRs to 0s if the saved depth mismatches MSR_ARCH_LBR_DEPTH. In most of the cases Arch LBR is not in active status, so check the control bit before save/restore the big chunck of Arch LBR MSRs. Signed-off-by: Yang Weijiang Message-Id: <20220215195258.29149-7-weijiang.yang@intel.com> Signed-off-by: Paolo Bonzini --- target/i386/cpu.h | 10 +++++++ target/i386/kvm/kvm.c | 67 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 77 insertions(+) diff --git a/target/i386/cpu.h b/target/i386/cpu.h index dba92936a2..0d528ac58f 100644 --- a/target/i386/cpu.h +++ b/target/i386/cpu.h @@ -391,6 +391,11 @@ typedef enum X86Seg { #define MSR_IA32_TSX_CTRL 0x122 #define MSR_IA32_TSCDEADLINE 0x6e0 #define MSR_IA32_PKRS 0x6e1 +#define MSR_ARCH_LBR_CTL 0x000014ce +#define MSR_ARCH_LBR_DEPTH 0x000014cf +#define MSR_ARCH_LBR_FROM_0 0x00001500 +#define MSR_ARCH_LBR_TO_0 0x00001600 +#define MSR_ARCH_LBR_INFO_0 0x00001200 =20 #define FEATURE_CONTROL_LOCKED (1<<0) #define FEATURE_CONTROL_VMXON_ENABLED_INSIDE_SMX (1ULL << 1) @@ -1650,6 +1655,11 @@ typedef struct CPUArchState { uint64_t msr_xfd; uint64_t msr_xfd_err; =20 + /* Per-VCPU Arch LBR MSRs */ + uint64_t msr_lbr_ctl; + uint64_t msr_lbr_depth; + LBREntry lbr_records[ARCH_LBR_NR_ENTRIES]; + /* exception/interrupt handling */ int error_code; int exception_is_int; diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c index 536cbe5fad..a9ee8eebd7 100644 --- a/target/i386/kvm/kvm.c +++ b/target/i386/kvm/kvm.c @@ -3367,6 +3367,38 @@ static int kvm_put_msrs(X86CPU *cpu, int level) env->msr_xfd_err); } =20 + if (kvm_enabled() && cpu->enable_pmu && + (env->features[FEAT_7_0_EDX] & CPUID_7_0_EDX_ARCH_LBR)) { + uint64_t depth; + int i, ret; + + /* + * Only migrate Arch LBR states when: 1) Arch LBR is enabled + * for migrated vcpu. 2) the host Arch LBR depth equals that + * of source guest's, this is to avoid mismatch of guest/host + * config for the msr hence avoid unexpected misbehavior. + */ + ret =3D kvm_get_one_msr(cpu, MSR_ARCH_LBR_DEPTH, &depth); + + if (ret =3D=3D 1 && (env->msr_lbr_ctl & 0x1) && !!depth && + depth =3D=3D env->msr_lbr_depth) { + kvm_msr_entry_add(cpu, MSR_ARCH_LBR_CTL, env->msr_lbr_ctl); + kvm_msr_entry_add(cpu, MSR_ARCH_LBR_DEPTH, env->msr_lbr_de= pth); + + for (i =3D 0; i < ARCH_LBR_NR_ENTRIES; i++) { + if (!env->lbr_records[i].from) { + continue; + } + kvm_msr_entry_add(cpu, MSR_ARCH_LBR_FROM_0 + i, + env->lbr_records[i].from); + kvm_msr_entry_add(cpu, MSR_ARCH_LBR_TO_0 + i, + env->lbr_records[i].to); + kvm_msr_entry_add(cpu, MSR_ARCH_LBR_INFO_0 + i, + env->lbr_records[i].info); + } + } + } + /* Note: MSR_IA32_FEATURE_CONTROL is written separately, see * kvm_put_msr_feature_control. */ } @@ -3767,6 +3799,26 @@ static int kvm_get_msrs(X86CPU *cpu) kvm_msr_entry_add(cpu, MSR_IA32_XFD_ERR, 0); } =20 + if (kvm_enabled() && cpu->enable_pmu && + (env->features[FEAT_7_0_EDX] & CPUID_7_0_EDX_ARCH_LBR)) { + uint64_t ctl, depth; + int i, ret2; + + ret =3D kvm_get_one_msr(cpu, MSR_ARCH_LBR_CTL, &ctl); + ret2 =3D kvm_get_one_msr(cpu, MSR_ARCH_LBR_DEPTH, &depth); + if (ret =3D=3D 1 && ret2 =3D=3D 1 && (ctl & 0x1) && + depth =3D=3D ARCH_LBR_NR_ENTRIES) { + kvm_msr_entry_add(cpu, MSR_ARCH_LBR_CTL, 0); + kvm_msr_entry_add(cpu, MSR_ARCH_LBR_DEPTH, 0); + + for (i =3D 0; i < ARCH_LBR_NR_ENTRIES; i++) { + kvm_msr_entry_add(cpu, MSR_ARCH_LBR_FROM_0 + i, 0); + kvm_msr_entry_add(cpu, MSR_ARCH_LBR_TO_0 + i, 0); + kvm_msr_entry_add(cpu, MSR_ARCH_LBR_INFO_0 + i, 0); + } + } + } + ret =3D kvm_vcpu_ioctl(CPU(cpu), KVM_GET_MSRS, cpu->kvm_msr_buf); if (ret < 0) { return ret; @@ -4072,6 +4124,21 @@ static int kvm_get_msrs(X86CPU *cpu) case MSR_IA32_XFD_ERR: env->msr_xfd_err =3D msrs[i].data; break; + case MSR_ARCH_LBR_CTL: + env->msr_lbr_ctl =3D msrs[i].data; + break; + case MSR_ARCH_LBR_DEPTH: + env->msr_lbr_depth =3D msrs[i].data; + break; + case MSR_ARCH_LBR_FROM_0 ... MSR_ARCH_LBR_FROM_0 + 31: + env->lbr_records[index - MSR_ARCH_LBR_FROM_0].from =3D msrs[i]= .data; + break; + case MSR_ARCH_LBR_TO_0 ... MSR_ARCH_LBR_TO_0 + 31: + env->lbr_records[index - MSR_ARCH_LBR_TO_0].to =3D msrs[i].dat= a; + break; + case MSR_ARCH_LBR_INFO_0 ... MSR_ARCH_LBR_INFO_0 + 31: + env->lbr_records[index - MSR_ARCH_LBR_INFO_0].info =3D msrs[i]= .data; + break; } } =20 --=20 2.36.0 From nobody Fri May 3 05:01:43 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=1652721843; cv=none; d=zohomail.com; s=zohoarc; b=hvcmnfJmsEnOitsxdK7cIQXPugIytege58gshKB9rr9+wG1g2KL+ek8soBInSAxr2xh9lDLy4PP0UOooZmjvukv8bpWuKltQ75GUgKyo8PdexpuuDrnpKBHA0z0odfpgvfWVpI1aOWUb0rKDCp35NB9HEJXcSJYcYsUaNOVRUzA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1652721843; h=Content-Type: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=v/zDHPfJxeRK0CPitXPTPqElU0Z+GlLsQXSOtZiRzTU=; b=F+KSFAe10+T9/Er+ryHeXBvohZ5zVwYdVI7UoDqxrYuPW0TRJCPTpFQoewu75XzmrGVIpktnrlnJBe3dpzkL2NRy9Dyx+qIVyrU3m9UEaVvTLI+IjADZauVIq5Gor9N0GG3f4Ybl3Wn08tnBFa9LOWwBpnpzb0ZEznt0MIEesT8= 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 165272184360136.27874885975848; Mon, 16 May 2022 10:24:03 -0700 (PDT) Received: from localhost ([::1]:35506 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nqeRu-000050-5k for importer@patchew.org; Mon, 16 May 2022 13:24:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40288) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd5A-0002JI-Qr for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:28 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:31215) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd59-0003Nh-4y for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:28 -0400 Received: from mail-ej1-f71.google.com (mail-ej1-f71.google.com [209.85.218.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-608-AmQjTjHHOGiR_QdkoGpCEg-1; Mon, 16 May 2022 11:56:25 -0400 Received: by mail-ej1-f71.google.com with SMTP id p7-20020a170906614700b006f87f866117so6006020ejl.21 for ; Mon, 16 May 2022 08:56:25 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id 30-20020a170906025e00b006f3ef214e48sm32668ejl.174.2022.05.16.08.56.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 May 2022 08:56:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1652716586; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=v/zDHPfJxeRK0CPitXPTPqElU0Z+GlLsQXSOtZiRzTU=; b=d9/NLUT8X1NvHAquR8mEog8WoedwJti9oAp+6mKlS1qpfTIsj3Gi3dHAHFlUWHg/dRxXEj ZQEv0O78lQpFI00K6jw0miYsHYh05yJMGn2i1WeXfGE5K4FMPBaj8NyVqFT0vUWiPosK4w tpj7J6KsGrEJKa8DLNLFds80+kRz6DA= X-MC-Unique: AmQjTjHHOGiR_QdkoGpCEg-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=v/zDHPfJxeRK0CPitXPTPqElU0Z+GlLsQXSOtZiRzTU=; b=GtKF3tBOzGkA5RGp+PcQ0PiS7d0Envt/cebFl6Ibpd3cFc7vbkKGTv8CuBXySZMAzg +6Qr2CVXgUILe2qTas4wuMd+RJQBFnhcpiYibzQhdWu9Mx7heTG3CdGGYjQWotzeJlxY H1XeP+WY8YHRxLCoLOj2szQ9i627lllKFSfERogvy1GEn1GgChDpFw5OUHIXMnDb1or4 incHKIwNeqQ4c20Bi9910EmCHobveicqwX88Vdk0yINHVkbyNeUt4iAshVYlm373f2Ep +IBeaaL49sTytakjwqJnQPntpUDEZmLjEy+QesrSXEFhzzrsRBbTw/yFJvgWKzXozk7V hpVQ== X-Gm-Message-State: AOAM531Dl7SYEZxvLtNM8JagiIDtQfBYZO3LO0PV/7XYffHeDu+WIrDR rOgLB2JNC4LqRQFPiVAgqdzqC4GEhXwalcCL++uBwcJ1fdhyjF44NK61qD1Z9R2K0tz1q4UGLsV MVbgLRNhuHovh27aGNTiKe96NnONvToDRxna1UUHV61jD4EcuEsgtAGz1+TJ5r1nnopI= X-Received: by 2002:a17:907:a40a:b0:6f4:d84e:3e49 with SMTP id sg10-20020a170907a40a00b006f4d84e3e49mr15546295ejc.361.1652716583750; Mon, 16 May 2022 08:56:23 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwSuN+OsIFEiE/gmFusde/zZ1tIcZWlQ7Jr50SBmMrhQGgxL3H5Aush6vnxTlMN/AF9VwlDqw== X-Received: by 2002:a17:907:a40a:b0:6f4:d84e:3e49 with SMTP id sg10-20020a170907a40a00b006f4d84e3e49mr15546278ejc.361.1652716583411; Mon, 16 May 2022 08:56:23 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: Yang Weijiang Subject: [PULL 11/23] target/i386: Enable Arch LBR migration states in vmstate Date: Mon, 16 May 2022 17:55:51 +0200 Message-Id: <20220516155603.1234712-12-pbonzini@redhat.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220516155603.1234712-1-pbonzini@redhat.com> References: <20220516155603.1234712-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -28 X-Spam_score: -2.9 X-Spam_bar: -- X-Spam_report: (-2.9 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.082, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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" X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1652721845593100001 Content-Type: text/plain; charset="utf-8" From: Yang Weijiang The Arch LBR record MSRs and control MSRs will be migrated to destination guest if the vcpus were running with Arch LBR active. Signed-off-by: Yang Weijiang Message-Id: <20220215195258.29149-8-weijiang.yang@intel.com> Signed-off-by: Paolo Bonzini --- target/i386/machine.c | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/target/i386/machine.c b/target/i386/machine.c index 7c54bada81..cecd476e98 100644 --- a/target/i386/machine.c +++ b/target/i386/machine.c @@ -136,6 +136,22 @@ static const VMStateDescription vmstate_mtrr_var =3D { #define VMSTATE_MTRR_VARS(_field, _state, _n, _v) \ VMSTATE_STRUCT_ARRAY(_field, _state, _n, _v, vmstate_mtrr_var, MTRRVar) =20 +static const VMStateDescription vmstate_lbr_records_var =3D { + .name =3D "lbr_records_var", + .version_id =3D 1, + .minimum_version_id =3D 1, + .fields =3D (VMStateField[]) { + VMSTATE_UINT64(from, LBREntry), + VMSTATE_UINT64(to, LBREntry), + VMSTATE_UINT64(info, LBREntry), + VMSTATE_END_OF_LIST() + } +}; + +#define VMSTATE_LBR_VARS(_field, _state, _n, _v) \ + VMSTATE_STRUCT_ARRAY(_field, _state, _n, _v, vmstate_lbr_records_var, \ + LBREntry) + typedef struct x86_FPReg_tmp { FPReg *parent; uint64_t tmp_mant; @@ -1525,6 +1541,27 @@ static const VMStateDescription vmstate_amx_xtile = =3D { }; #endif =20 +static bool arch_lbr_needed(void *opaque) +{ + X86CPU *cpu =3D opaque; + CPUX86State *env =3D &cpu->env; + + return !!(env->features[FEAT_7_0_EDX] & CPUID_7_0_EDX_ARCH_LBR); +} + +static const VMStateDescription vmstate_arch_lbr =3D { + .name =3D "cpu/arch_lbr", + .version_id =3D 1, + .minimum_version_id =3D 1, + .needed =3D arch_lbr_needed, + .fields =3D (VMStateField[]) { + VMSTATE_UINT64(env.msr_lbr_ctl, X86CPU), + VMSTATE_UINT64(env.msr_lbr_depth, X86CPU), + VMSTATE_LBR_VARS(env.lbr_records, X86CPU, ARCH_LBR_NR_ENTRIES, 1), + VMSTATE_END_OF_LIST() + } +}; + const VMStateDescription vmstate_x86_cpu =3D { .name =3D "cpu", .version_id =3D 12, @@ -1668,6 +1705,7 @@ const VMStateDescription vmstate_x86_cpu =3D { #ifdef TARGET_X86_64 &vmstate_amx_xtile, #endif + &vmstate_arch_lbr, NULL } }; --=20 2.36.0 From nobody Fri May 3 05:01:43 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=1652720604; cv=none; d=zohomail.com; s=zohoarc; b=E+xgNL2XMxdIlCp0E7ygp+6A0xsCZ+wnqD8zro+Jehn2OLGkvsGMi3n7leBzNVWcKPzw6HJ59LFE9mG+m2GMz4qctRGFbeAHg0Apq664Rrygni/IqM2+rQ5jnBGKUJmdVp3O04ZUHmSfG7+nkrX1FQBWyih+ooGcEXTRzJAruLo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1652720604; h=Content-Type:Content-Transfer-Encoding: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=eiEXTHu98zsiknms8EAHWtH89vXCymVaEhU4FQDTpe0=; b=cNzQLRRrzuf8AMifUqGUmd2egCLICosK8SquZuKrcGBRqx60vJEeMO2stn0E6o5BAsv9Gyy7e/mQjpy56NOBUqe8JQp44F/tnvfAbNqLpu+Kq9C3ukt7UlenrXTDrLjW96Y3tMNXvu9E8seOedOKSWOQZBQ8xPa1Tzaf7g8Yxwo= 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 1652720604392917.7477833068262; Mon, 16 May 2022 10:03:24 -0700 (PDT) Received: from localhost ([::1]:36240 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nqe7v-0003im-D2 for importer@patchew.org; Mon, 16 May 2022 13:03:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40316) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd5F-0002V8-5F for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:33 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:52347) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd5D-0003OM-FB for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:32 -0400 Received: from mail-ed1-f69.google.com (mail-ed1-f69.google.com [209.85.208.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-558-mpskp_87P7yHRxZqrULeXQ-1; Mon, 16 May 2022 11:56:27 -0400 Received: by mail-ed1-f69.google.com with SMTP id bc17-20020a056402205100b0042aa0e072d3so3682697edb.17 for ; Mon, 16 May 2022 08:56:26 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id i29-20020a1709067a5d00b006f3ef214da8sm63269ejo.14.2022.05.16.08.56.24 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 May 2022 08:56:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1652716590; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=eiEXTHu98zsiknms8EAHWtH89vXCymVaEhU4FQDTpe0=; b=Mhqjx/ri02CibeQ5QyvXv8p1dJIAMdUJyVdxfi2dKl9fvmBSssl6S5ni3Fi/22p3odoAmH u2qh4q2/HJJ/QtBB3Mkwef42wjrKm8YpK4Yzu3gEHcNwUwE7gbr8/AU+Vh7jmEyVTfokJa vHKj+BUBwjawuRHsJsDXBhsMU8HkCBs= X-MC-Unique: mpskp_87P7yHRxZqrULeXQ-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=eiEXTHu98zsiknms8EAHWtH89vXCymVaEhU4FQDTpe0=; b=FYBQr6+UyYOleEW8/9B3OhO7MjMrNHgC6bRz6th1WDGNfICUIjysphKw+q3LTk0x5+ IFyznfWjbmtsHBZGmKVZOCky8NUrWH19m2wdZvktQMqARENw7qTBLhIwXul/sc0tbH75 h6EP3ZcniGG5Btt+WU2arKbG4IbmYthFz8hQSweFjMyrvzueH5rqFHfxD8LrshzxAgT1 uMTKmEFm+XnKJU+gyefqVsWp3H0HaAxPWMKqdh8eZuoJS0jHFHOaTiRhdV/NZIp9lQQe Fo1ebX418ZgQcWO1luhZr61rgbxTgjcRPBezR1tVDsHQ/ML5KnIc/rGNXggNIXzWlY42 QQrw== X-Gm-Message-State: AOAM533J1sgzDkc53cRvdFx2hQ7/cgcqbRpnT9TqBt/LI+qBhGaIuzS4 iVJj+6DM/n1bOKfbdB4/kT3OxwgEV5UkTXUhPTsPZlc/OGDvoyy4lEG4+9OXNhvmrlu5EOO79vo 1uP+4JZRIWLE5fqG1ee06dQ1XYxb22luYmT3aNMXNk7ioG3a9bk0H2Y2svQtJ3v4wUjg= X-Received: by 2002:a05:6402:278d:b0:42a:2dc0:744f with SMTP id b13-20020a056402278d00b0042a2dc0744fmr14272211ede.226.1652716585603; Mon, 16 May 2022 08:56:25 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzHPaz67e/U23lgP+LzniX8nYGQaDc9B0USqA1rSVEvkMxAwSoGuhvnaqZ7M7/Vq5WBbq3U2g== X-Received: by 2002:a05:6402:278d:b0:42a:2dc0:744f with SMTP id b13-20020a056402278d00b0042a2dc0744fmr14272185ede.226.1652716585310; Mon, 16 May 2022 08:56:25 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 12/23] target/i386: introduce helper to access supported CPUID Date: Mon, 16 May 2022 17:55:52 +0200 Message-Id: <20220516155603.1234712-13-pbonzini@redhat.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220516155603.1234712-1-pbonzini@redhat.com> References: <20220516155603.1234712-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -28 X-Spam_score: -2.9 X-Spam_bar: -- X-Spam_report: (-2.9 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.082, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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" X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1652720608119100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Paolo Bonzini --- target/i386/cpu.c | 41 +++++++++++++++++++++++++---------------- 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 1816c37852..dcc770ecea 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -4944,6 +4944,28 @@ uint64_t x86_cpu_get_supported_feature_word(FeatureW= ord w, return r; } =20 +static void x86_cpu_get_supported_cpuid(uint32_t func, uint32_t index, + uint32_t *eax, uint32_t *ebx, + uint32_t *ecx, uint32_t *edx) +{ + if (kvm_enabled()) { + *eax =3D kvm_arch_get_supported_cpuid(kvm_state, func, index, R_EA= X); + *ebx =3D kvm_arch_get_supported_cpuid(kvm_state, func, index, R_EB= X); + *ecx =3D kvm_arch_get_supported_cpuid(kvm_state, func, index, R_EC= X); + *edx =3D kvm_arch_get_supported_cpuid(kvm_state, func, index, R_ED= X); + } else if (hvf_enabled()) { + *eax =3D hvf_get_supported_cpuid(func, index, R_EAX); + *ebx =3D hvf_get_supported_cpuid(func, index, R_EBX); + *ecx =3D hvf_get_supported_cpuid(func, index, R_ECX); + *edx =3D hvf_get_supported_cpuid(func, index, R_EDX); + } else { + *eax =3D 0; + *ebx =3D 0; + *ecx =3D 0; + *edx =3D 0; + } +} + static void x86_cpu_get_cache_cpuid(uint32_t func, uint32_t index, uint32_t *eax, uint32_t *ebx, uint32_t *ecx, uint32_t *edx) @@ -5359,18 +5381,8 @@ void cpu_x86_cpuid(CPUX86State *env, uint32_t index,= uint32_t count, break; case 0xA: /* Architectural Performance Monitoring Leaf */ - if (kvm_enabled() && cpu->enable_pmu) { - KVMState *s =3D cs->kvm_state; - - *eax =3D kvm_arch_get_supported_cpuid(s, 0xA, count, R_EAX); - *ebx =3D kvm_arch_get_supported_cpuid(s, 0xA, count, R_EBX); - *ecx =3D kvm_arch_get_supported_cpuid(s, 0xA, count, R_ECX); - *edx =3D kvm_arch_get_supported_cpuid(s, 0xA, count, R_EDX); - } else if (hvf_enabled() && cpu->enable_pmu) { - *eax =3D hvf_get_supported_cpuid(0xA, count, R_EAX); - *ebx =3D hvf_get_supported_cpuid(0xA, count, R_EBX); - *ecx =3D hvf_get_supported_cpuid(0xA, count, R_ECX); - *edx =3D hvf_get_supported_cpuid(0xA, count, R_EDX); + if (accel_uses_host_cpuid() && cpu->enable_pmu) { + x86_cpu_get_supported_cpuid(0xA, count, eax, ebx, ecx, edx); } else { *eax =3D 0; *ebx =3D 0; @@ -5521,10 +5533,7 @@ void cpu_x86_cpuid(CPUX86State *env, uint32_t index,= uint32_t count, * supports. Features can be further restricted by userspace, but= not * made more permissive. */ - *eax =3D kvm_arch_get_supported_cpuid(cs->kvm_state, 0x12, count, = R_EAX); - *ebx =3D kvm_arch_get_supported_cpuid(cs->kvm_state, 0x12, count, = R_EBX); - *ecx =3D kvm_arch_get_supported_cpuid(cs->kvm_state, 0x12, count, = R_ECX); - *edx =3D kvm_arch_get_supported_cpuid(cs->kvm_state, 0x12, count, = R_EDX); + x86_cpu_get_supported_cpuid(0x12, index, eax, ebx, ecx, edx); =20 if (count =3D=3D 0) { *eax &=3D env->features[FEAT_SGX_12_0_EAX]; --=20 2.36.0 From nobody Fri May 3 05:01:43 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=1652719404; cv=none; d=zohomail.com; s=zohoarc; b=UR+yaMZmK9VQduX+C/GNxbifU8so2/iVWMc7qSBHFQtG25JuoU3Gf2W+dkzpAz5Qs8YR2vkIuDYByBD6hJh4NxoSLuAkYSkJdSkYjnX2H7ryKuV8rYoliI9qljwsaMG+H6jXiNhhoizc7LFg9ikNnmkcKia8+vm/AA7IeKv9p9Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1652719404; h=Content-Type: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=QnKHzGpcDplZvjKLym1ZGlqmzAFc+xFpDNTh1jBSJAM=; b=YqtEac8JmRKhemiUfXzpV4l0Rn2n2MD3MeVJ1mx3IZ4v7oavLE0ZGA9ju7FHIPZKJZKMN8qXGlA64s6ZEVYZhEWmycRt01eCsdXEFaiOxuF4IvaInKfiYmsNUMih4A+s/KsPaMSAzx8k9MzKEJ6iNk9UIX3OqmR7kHZ9OnK2ZBc= 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 1652719404007242.1100668959; Mon, 16 May 2022 09:43:24 -0700 (PDT) Received: from localhost ([::1]:51284 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nqdoY-00011n-Kp for importer@patchew.org; Mon, 16 May 2022 12:43:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40318) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd5F-0002VB-5Z for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:33 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:32051) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd5D-0003OP-HL for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:32 -0400 Received: from mail-ed1-f72.google.com (mail-ed1-f72.google.com [209.85.208.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-100-9qwh9JsfNUKnlZ37jsb74w-1; Mon, 16 May 2022 11:56:29 -0400 Received: by mail-ed1-f72.google.com with SMTP id w5-20020a056402128500b0042aa2647eb6so3594829edv.12 for ; Mon, 16 May 2022 08:56:29 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id ig25-20020a1709072e1900b006f3a8b81ff7sm57086ejc.3.2022.05.16.08.56.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 May 2022 08:56:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1652716591; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=QnKHzGpcDplZvjKLym1ZGlqmzAFc+xFpDNTh1jBSJAM=; b=JKdX3PFmAl5HKEijGCITb0ZZgVWa/KYmaByKT7oEasNv2gno+hPoO+BlOrMUeTHr55kUhS l6LRYR5cBzV0kPD9Dmgmoo3mtNE19xpArdG/bOEtUASdpQk+glOseDUMkKEtrcRGXMVVIv KaU2CfI8Ovsz6hZA9eZVcN07/UrxJcY= X-MC-Unique: 9qwh9JsfNUKnlZ37jsb74w-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=QnKHzGpcDplZvjKLym1ZGlqmzAFc+xFpDNTh1jBSJAM=; b=APZgae4KPDP+1PsL7ZoNSbp+WMPeeENMda3DM88l8AeXtxGrN3qS9Rh4OwRF5Zim6T /lhRhIAYlPQ/HgssSYC19/BiV6ERVA+9abtei2xIeHe1n7rKtnFywjBmbSQVRo6wyZ+J HoZdXiun1ThG9lsk7L8xJ674DdfWpef0iPJVDzi0NMatbYXf06/Zzj/U94I8tnRTYzLr 4kYtxqeEyUwBiBVlWCnkfqwlR6Ks9Qyww9bxq4PGb8hMmT4df2tf2x6+DrK6ADf9bJzY BcsDyFEbdAipzZQ/1JsOwM6h2yfWZ+TBzH6cQSCyLTdqvDkBmGFLiuXBVszxHJtGaLlF 4CRQ== X-Gm-Message-State: AOAM533wfwxKGIHP4zG5RB4XnH1t9RrFTeDWUQ7yXUiMPVdEcUPXghml 8kB9QEMkDZ0YBuxEQn7e6YOTNmi1+3K6ApptwHImkbEf0mpnZzni3ZtS83574FbnU0h9+p0HRpp TYWAo5AHi0PyW6OoLtNpOD7pQ9hXeNG5Ox+L8reF2bN5sAF3HSPkCMfd49bKiMiSYjGc= X-Received: by 2002:a17:907:7e84:b0:6fe:2a21:1467 with SMTP id qb4-20020a1709077e8400b006fe2a211467mr6615646ejc.673.1652716588194; Mon, 16 May 2022 08:56:28 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxNUKO6P8jNyKIF9MjtkUmhjKbnl6MZV51N3ykrI/4ty84FNWSqeu1IiugF6ydD+9PGnEwm+w== X-Received: by 2002:a17:907:7e84:b0:6fe:2a21:1467 with SMTP id qb4-20020a1709077e8400b006fe2a211467mr6615632ejc.673.1652716587893; Mon, 16 May 2022 08:56:27 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Cc: Yang Weijiang Subject: [PULL 13/23] target/i386: Support Arch LBR in CPUID enumeration Date: Mon, 16 May 2022 17:55:53 +0200 Message-Id: <20220516155603.1234712-14-pbonzini@redhat.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220516155603.1234712-1-pbonzini@redhat.com> References: <20220516155603.1234712-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -28 X-Spam_score: -2.9 X-Spam_bar: -- X-Spam_report: (-2.9 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.082, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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" X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1652719404635100001 Content-Type: text/plain; charset="utf-8" From: Yang Weijiang If CPUID.(EAX=3D07H, ECX=3D0):EDX[19] is set to 1, the processor supports Architectural LBRs. In this case, CPUID leaf 01CH indicates details of the Architectural LBRs capabilities. XSAVE support for Architectural LBRs is enumerated in CPUID.(EAX=3D0DH, ECX=3D0FH). Signed-off-by: Yang Weijiang Message-Id: <20220215195258.29149-9-weijiang.yang@intel.com> Signed-off-by: Paolo Bonzini --- target/i386/cpu.c | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index dcc770ecea..35c3475e6c 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -855,7 +855,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 */, NULL, + "tsx-ldtrk", NULL, NULL /* pconfig */, "arch-lbr", NULL, NULL, "amx-bf16", "avx512-fp16", "amx-tile", "amx-int8", "spec-ctrl", "stibp", NULL, "arch-capabilities", "core-capability", "ssbd", @@ -5420,6 +5420,13 @@ void cpu_x86_cpuid(CPUX86State *env, uint32_t index,= uint32_t count, assert(!(*eax & ~0x1f)); *ebx &=3D 0xffff; /* The count doesn't need to be reliable. */ break; + case 0x1C: + if (accel_uses_host_cpuid() && cpu->enable_pmu && + (env->features[FEAT_7_0_EDX] & CPUID_7_0_EDX_ARCH_LBR)) { + x86_cpu_get_supported_cpuid(0x1C, 0, eax, ebx, ecx, edx); + *edx =3D 0; + } + break; case 0x1F: /* V2 Extended Topology Enumeration Leaf */ if (env->nr_dies < 2) { @@ -5482,6 +5489,17 @@ void cpu_x86_cpuid(CPUX86State *env, uint32_t index,= uint32_t count, *ebx =3D xsave_area_size(xstate, true); *ecx =3D env->features[FEAT_XSAVE_XSS_LO]; *edx =3D env->features[FEAT_XSAVE_XSS_HI]; + if (kvm_enabled() && cpu->enable_pmu && + (env->features[FEAT_7_0_EDX] & CPUID_7_0_EDX_ARCH_LBR) && + (*eax & CPUID_XSAVE_XSAVES)) { + *ecx |=3D XSTATE_ARCH_LBR_MASK; + } else { + *ecx &=3D ~XSTATE_ARCH_LBR_MASK; + } + } else if (count =3D=3D 0xf && + accel_uses_host_cpuid() && cpu->enable_pmu && + (env->features[FEAT_7_0_EDX] & CPUID_7_0_EDX_ARCH_LBR))= { + x86_cpu_get_supported_cpuid(0xD, count, eax, ebx, ecx, edx); } else if (count < ARRAY_SIZE(x86_ext_save_areas)) { const ExtSaveArea *esa =3D &x86_ext_save_areas[count]; =20 --=20 2.36.0 From nobody Fri May 3 05:01:43 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=1652722013; cv=none; d=zohomail.com; s=zohoarc; b=bn2L3KdCa46ctkgFsam0czM7OMRTuY6QG3ntLv5d6c46dbkD6DmEhgPqPLvdX6DXUHDZI6d1nvKmSv1rO9PpcrvDYbxmVRw3/mqarXk6hVrMWI+6HbCZ3eZ1pxibIgVCqQnHsqh8Sc453RGFac6vBVOEe66fSEuTaZ+djwfSeFI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1652722013; h=Content-Type:Content-Transfer-Encoding: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=SoMaa+rI8iDUMnDZhyFyCIwDgr6IM/di1/hoIh37aHE=; b=cNi9QhDPDnhyMeODdJKaZCu89nqAnXgUBzmtnt4OJsMDfKMLMm9VdXeT6ib4X7hWpfJSmT9YmZ/yBsw9UP0RGWCxy+YxRQYyneFnaGV9ojnSD5iUGoqtPPxczhtg3dKx4s3mbfpESqceb4ml/j+T7hvkF6sO+ShSmx6rRCZdBTU= 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 1652722013293739.8072913053667; Mon, 16 May 2022 10:26:53 -0700 (PDT) Received: from localhost ([::1]:40204 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nqeUe-0003RI-8P for importer@patchew.org; Mon, 16 May 2022 13:26:52 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40464) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd5T-0002t2-JG for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:47 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:39721) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd5Q-0003QE-PP for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:47 -0400 Received: from mail-ej1-f70.google.com (mail-ej1-f70.google.com [209.85.218.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-102-lONWGs1MPnGbmjn8WR_loA-1; Mon, 16 May 2022 11:56:35 -0400 Received: by mail-ej1-f70.google.com with SMTP id l18-20020a1709066b9200b006fe40aaf3bbso1039012ejr.1 for ; Mon, 16 May 2022 08:56:35 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id hx25-20020a170906847900b006f3ef214ddasm48644ejc.64.2022.05.16.08.56.31 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 May 2022 08:56:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1652716604; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=SoMaa+rI8iDUMnDZhyFyCIwDgr6IM/di1/hoIh37aHE=; b=W6KkP83XZxHikU7+E19GbfXchyDiEm5QbCXhBk1lnveT/U4qAkY7A4XMLHlXeEV/y9ztyC C7wQzgmAgEP5ASujsP024aMxi72HUMz1x3LDjnY7IITBETHS8+E1gdmQFjfokXHZPEHmo4 todwygwCio7HMGLxRTle4FsQX5miSRc= X-MC-Unique: lONWGs1MPnGbmjn8WR_loA-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=SoMaa+rI8iDUMnDZhyFyCIwDgr6IM/di1/hoIh37aHE=; b=bYCntu7oFTor7DSEGa52OTybvhIKJ+1CQgnyrntMWjfhjw8dSKv7txcCjhyDImnfMB DqC+WUcE+VG1svXluyZhXl9k9kaxsT01YhhWbt3mjK+evY+1gqgGOlghfDX7ahA+KP46 YpBeavMtZAyFQ5hdPQVmqGE0JGHQk/BWds91QzEHf8aYR5LFXmnRQIVwZSKEU/WX2YLl sJ1gJ4oMa0uEXtjTlHP7nHXhFQDVNFW07hI2wXDh8CKEW2x6ZoONfPkHfmQgMorWSB10 hGMaNTCDb7bPKxpgT4Fd7M6WjnMN6AJPGdVnbuMGjRjYO8rUlOU4fV22Fe4mPPc4luF9 +whQ== X-Gm-Message-State: AOAM530LNJHzJ6NjIDCIiz12DANnF35+VRHRdtgEhiQFr52W1dIKGzej Be7mQpF82D/Un9hVpQFy27w2McXFYtNYurUOgEoX8gBLk0LWD7w0bHqjufa1qeWwduF87pduA7Q Jnr2QM2/p2R1wBLso7L5yepjz+ys/UGiBKfYbaWEgWTUgvouMO2LXXh3HGYCpjRnUZzI= X-Received: by 2002:a17:906:8806:b0:6f5:15aa:1f40 with SMTP id zh6-20020a170906880600b006f515aa1f40mr16018714ejb.595.1652716593605; Mon, 16 May 2022 08:56:33 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzbDfazuBFu211z12T3R4F4oG/jTl/4CxH6f8JfBWt4HAEbVb7UQLE5/ULikycZs5b6sVxsQQ== X-Received: by 2002:a17:906:8806:b0:6f5:15aa:1f40 with SMTP id zh6-20020a170906880600b006f515aa1f40mr16018689ejb.595.1652716593157; Mon, 16 May 2022 08:56:33 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 14/23] crypto: make loaded property read-only Date: Mon, 16 May 2022 17:55:54 +0200 Message-Id: <20220516155603.1234712-15-pbonzini@redhat.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220516155603.1234712-1-pbonzini@redhat.com> References: <20220516155603.1234712-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -28 X-Spam_score: -2.9 X-Spam_bar: -- X-Spam_report: (-2.9 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.082, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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" X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1652722015390100001 Content-Type: text/plain; charset="utf-8" The ``loaded=3Don`` option in the command line or QMP ``object-add`` either= had no effect (if ``loaded`` was the last option) or caused options to be effectively ignored as if they were not given. The property is therefore useless and was deprecated in 6.0; make it read-only now. The patch is best reviewed with "-b". Signed-off-by: Paolo Bonzini --- crypto/secret_common.c | 84 ++++++++++++++------------------- crypto/tlscredsanon.c | 20 ++------ crypto/tlscredspsk.c | 20 ++------ crypto/tlscredsx509.c | 20 ++------ docs/about/deprecated.rst | 10 ---- docs/about/removed-features.rst | 9 ++++ 6 files changed, 56 insertions(+), 107 deletions(-) diff --git a/crypto/secret_common.c b/crypto/secret_common.c index 714a15d5e5..3441c44ca8 100644 --- a/crypto/secret_common.c +++ b/crypto/secret_common.c @@ -138,36 +138,44 @@ static void qcrypto_secret_decode(const uint8_t *inpu= t, =20 =20 static void -qcrypto_secret_prop_set_loaded(Object *obj, - bool value, - Error **errp) +qcrypto_secret_complete(UserCreatable *uc, Error **errp) { - QCryptoSecretCommon *secret =3D QCRYPTO_SECRET_COMMON(obj); + QCryptoSecretCommon *secret =3D QCRYPTO_SECRET_COMMON(uc); QCryptoSecretCommonClass *sec_class - =3D QCRYPTO_SECRET_COMMON_GET_CLASS(obj); + =3D QCRYPTO_SECRET_COMMON_GET_CLASS(uc); =20 - if (value) { - Error *local_err =3D NULL; - uint8_t *input =3D NULL; - size_t inputlen =3D 0; - uint8_t *output =3D NULL; - size_t outputlen =3D 0; + Error *local_err =3D NULL; + uint8_t *input =3D NULL; + size_t inputlen =3D 0; + uint8_t *output =3D NULL; + size_t outputlen =3D 0; =20 - if (sec_class->load_data) { - sec_class->load_data(secret, &input, &inputlen, &local_err); - if (local_err) { - error_propagate(errp, local_err); - return; - } - } else { - error_setg(errp, "%s provides no 'load_data' method'", - object_get_typename(obj)); + if (sec_class->load_data) { + sec_class->load_data(secret, &input, &inputlen, &local_err); + if (local_err) { + error_propagate(errp, local_err); return; } + } else { + error_setg(errp, "%s provides no 'load_data' method'", + object_get_typename(OBJECT(uc))); + return; + } =20 - if (secret->keyid) { - qcrypto_secret_decrypt(secret, input, inputlen, - &output, &outputlen, &local_err); + if (secret->keyid) { + qcrypto_secret_decrypt(secret, input, inputlen, + &output, &outputlen, &local_err); + g_free(input); + if (local_err) { + error_propagate(errp, local_err); + return; + } + input =3D output; + inputlen =3D outputlen; + } else { + if (secret->format =3D=3D QCRYPTO_SECRET_FORMAT_BASE64) { + qcrypto_secret_decode(input, inputlen, + &output, &outputlen, &local_err); g_free(input); if (local_err) { error_propagate(errp, local_err); @@ -175,26 +183,11 @@ qcrypto_secret_prop_set_loaded(Object *obj, } input =3D output; inputlen =3D outputlen; - } else { - if (secret->format =3D=3D QCRYPTO_SECRET_FORMAT_BASE64) { - qcrypto_secret_decode(input, inputlen, - &output, &outputlen, &local_err); - g_free(input); - if (local_err) { - error_propagate(errp, local_err); - return; - } - input =3D output; - inputlen =3D outputlen; - } } - - secret->rawdata =3D input; - secret->rawlen =3D inputlen; - } else if (secret->rawdata) { - error_setg(errp, "Cannot unload secret"); - return; } + + secret->rawdata =3D input; + secret->rawlen =3D inputlen; } =20 =20 @@ -268,13 +261,6 @@ qcrypto_secret_prop_get_keyid(Object *obj, } =20 =20 -static void -qcrypto_secret_complete(UserCreatable *uc, Error **errp) -{ - object_property_set_bool(OBJECT(uc), "loaded", true, errp); -} - - static void qcrypto_secret_finalize(Object *obj) { @@ -294,7 +280,7 @@ qcrypto_secret_class_init(ObjectClass *oc, void *data) =20 object_class_property_add_bool(oc, "loaded", qcrypto_secret_prop_get_loaded, - qcrypto_secret_prop_set_loaded); + NULL); object_class_property_add_enum(oc, "format", "QCryptoSecretFormat", &QCryptoSecretFormat_lookup, diff --git a/crypto/tlscredsanon.c b/crypto/tlscredsanon.c index 6fb83639ec..c0d23a0ef3 100644 --- a/crypto/tlscredsanon.c +++ b/crypto/tlscredsanon.c @@ -119,16 +119,11 @@ qcrypto_tls_creds_anon_unload(QCryptoTLSCredsAnon *cr= eds G_GNUC_UNUSED) =20 =20 static void -qcrypto_tls_creds_anon_prop_set_loaded(Object *obj, - bool value, - Error **errp) +qcrypto_tls_creds_anon_complete(UserCreatable *uc, Error **errp) { - QCryptoTLSCredsAnon *creds =3D QCRYPTO_TLS_CREDS_ANON(obj); + QCryptoTLSCredsAnon *creds =3D QCRYPTO_TLS_CREDS_ANON(uc); =20 - qcrypto_tls_creds_anon_unload(creds); - if (value) { - qcrypto_tls_creds_anon_load(creds, errp); - } + qcrypto_tls_creds_anon_load(creds, errp); } =20 =20 @@ -163,13 +158,6 @@ qcrypto_tls_creds_anon_prop_get_loaded(Object *obj G_G= NUC_UNUSED, #endif /* ! CONFIG_GNUTLS */ =20 =20 -static void -qcrypto_tls_creds_anon_complete(UserCreatable *uc, Error **errp) -{ - object_property_set_bool(OBJECT(uc), "loaded", true, errp); -} - - static void qcrypto_tls_creds_anon_finalize(Object *obj) { @@ -188,7 +176,7 @@ qcrypto_tls_creds_anon_class_init(ObjectClass *oc, void= *data) =20 object_class_property_add_bool(oc, "loaded", qcrypto_tls_creds_anon_prop_get_loaded, - qcrypto_tls_creds_anon_prop_set_loaded); + NULL); } =20 =20 diff --git a/crypto/tlscredspsk.c b/crypto/tlscredspsk.c index 752f2d92be..a4f9891274 100644 --- a/crypto/tlscredspsk.c +++ b/crypto/tlscredspsk.c @@ -188,16 +188,11 @@ qcrypto_tls_creds_psk_unload(QCryptoTLSCredsPSK *cred= s G_GNUC_UNUSED) =20 =20 static void -qcrypto_tls_creds_psk_prop_set_loaded(Object *obj, - bool value, - Error **errp) +qcrypto_tls_creds_psk_complete(UserCreatable *uc, Error **errp) { - QCryptoTLSCredsPSK *creds =3D QCRYPTO_TLS_CREDS_PSK(obj); + QCryptoTLSCredsPSK *creds =3D QCRYPTO_TLS_CREDS_PSK(uc); =20 - qcrypto_tls_creds_psk_unload(creds); - if (value) { - qcrypto_tls_creds_psk_load(creds, errp); - } + qcrypto_tls_creds_psk_load(creds, errp); } =20 =20 @@ -232,13 +227,6 @@ qcrypto_tls_creds_psk_prop_get_loaded(Object *obj G_GN= UC_UNUSED, #endif /* ! CONFIG_GNUTLS */ =20 =20 -static void -qcrypto_tls_creds_psk_complete(UserCreatable *uc, Error **errp) -{ - object_property_set_bool(OBJECT(uc), "loaded", true, errp); -} - - static void qcrypto_tls_creds_psk_finalize(Object *obj) { @@ -276,7 +264,7 @@ qcrypto_tls_creds_psk_class_init(ObjectClass *oc, void = *data) =20 object_class_property_add_bool(oc, "loaded", qcrypto_tls_creds_psk_prop_get_loaded, - qcrypto_tls_creds_psk_prop_set_loaded); + NULL); object_class_property_add_str(oc, "username", qcrypto_tls_creds_psk_prop_get_username, qcrypto_tls_creds_psk_prop_set_username); diff --git a/crypto/tlscredsx509.c b/crypto/tlscredsx509.c index 32948a6bdc..d14313925d 100644 --- a/crypto/tlscredsx509.c +++ b/crypto/tlscredsx509.c @@ -687,16 +687,11 @@ qcrypto_tls_creds_x509_unload(QCryptoTLSCredsX509 *cr= eds G_GNUC_UNUSED) =20 =20 static void -qcrypto_tls_creds_x509_prop_set_loaded(Object *obj, - bool value, - Error **errp) +qcrypto_tls_creds_x509_complete(UserCreatable *uc, Error **errp) { - QCryptoTLSCredsX509 *creds =3D QCRYPTO_TLS_CREDS_X509(obj); + QCryptoTLSCredsX509 *creds =3D QCRYPTO_TLS_CREDS_X509(uc); =20 - qcrypto_tls_creds_x509_unload(creds); - if (value) { - qcrypto_tls_creds_x509_load(creds, errp); - } + qcrypto_tls_creds_x509_load(creds, errp); } =20 =20 @@ -814,13 +809,6 @@ qcrypto_tls_creds_x509_reload(QCryptoTLSCreds *creds, = Error **errp) #endif /* ! CONFIG_GNUTLS */ =20 =20 -static void -qcrypto_tls_creds_x509_complete(UserCreatable *uc, Error **errp) -{ - object_property_set_bool(OBJECT(uc), "loaded", true, errp); -} - - static void qcrypto_tls_creds_x509_init(Object *obj) { @@ -852,7 +840,7 @@ qcrypto_tls_creds_x509_class_init(ObjectClass *oc, void= *data) =20 object_class_property_add_bool(oc, "loaded", qcrypto_tls_creds_x509_prop_get_loaded, - qcrypto_tls_creds_x509_prop_set_loaded); + NULL); object_class_property_add_bool(oc, "sanity-check", qcrypto_tls_creds_x509_prop_get_sanity, qcrypto_tls_creds_x509_prop_set_sanity); diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index 44f52c172d..2a022f2300 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -99,16 +99,6 @@ other options have been processed. This will either hav= e no effect (if ``opened`` was the last option) or cause errors. The property is therefore useless and should not be specified. =20 -``loaded`` property of ``secret`` and ``secret_keyring`` objects (since 6.= 0) -''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''= '' - -The only effect of specifying ``loaded=3Don`` in the command line or QMP -``object-add`` is that the secret is loaded immediately, possibly before a= ll -other options have been processed. This will either have no effect (if -``loaded`` was the last option) or cause options to be effectively ignored= as -if they were not given. The property is therefore useless and should not = be -specified. - ``-display sdl,window_close=3D...`` (since 6.1) ''''''''''''''''''''''''''''''''''''''''''''' =20 diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.= rst index ba78bc1a19..81ceeb9000 100644 --- a/docs/about/removed-features.rst +++ b/docs/about/removed-features.rst @@ -355,6 +355,15 @@ The ``-writeconfig`` option was not able to serialize = the entire contents of the QEMU command line. It is thus considered a failed experiment and removed without a replacement. =20 +``loaded`` property of ``secret`` and ``secret_keyring`` objects (removed = in 7.1) +''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''= ''''''' + +The ``loaded=3Don`` option in the command line or QMP ``object-add`` eithe= r had +no effect (if ``loaded`` was the last option) or caused options to be +effectively ignored as if they were not given. The property is therefore +useless and should simply be removed. + + QEMU Machine Protocol (QMP) commands ------------------------------------ =20 --=20 2.36.0 From nobody Fri May 3 05:01:43 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=1652717486; cv=none; d=zohomail.com; s=zohoarc; b=XWol+JJb/xBu3h1mwP1e7B5GItUnpwtmQNSTvVhSk5AvP7BgnKqRyeOtJXYHTlSL8KPJBj4BAHhxMDxHi2hNoJu0kpRn6DdlqDFdVT2rdD8A3Sn4P4cnYr0SJuhOQyNn9dMgqLO1PHMyqdnbSJcyqsgC8rv4nuMbsSpAmU5Bzb0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1652717486; h=Content-Type:Content-Transfer-Encoding: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=vYBZ2pGgl072Dbisxb+IUm2/PVM1Ev/7jyccpSog5Kc=; b=H6p5X5I1vGO2tJ5/7YSpGSQCsRaIbTV1yGLSzcbaX6jPChI0iaJtJ/Lzqxs+C3sW3B2D/8s/uceeX08eKOxyP+BSrfTwrF18CRla8WWvOuMB8gHNyA5Fg63WlSWIjAoCnQ0BCoEn5b2d1TvQ7/PEPvnxxfdbLQgKN9E83SMdj74= 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 1652717486572905.3356178367898; Mon, 16 May 2022 09:11:26 -0700 (PDT) Received: from localhost ([::1]:53896 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nqdJd-0003Jj-As for importer@patchew.org; Mon, 16 May 2022 12:11:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40382) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd5M-0002kV-Cd for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:40 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]:34902) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd5K-0003Pc-Ka for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:39 -0400 Received: from mail-ej1-f69.google.com (mail-ej1-f69.google.com [209.85.218.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-67-HJnVwfzCMXK_oxqgkVoxDg-1; Mon, 16 May 2022 11:56:36 -0400 Received: by mail-ej1-f69.google.com with SMTP id bk16-20020a170906b0d000b006fe34a2e598so1077116ejb.0 for ; Mon, 16 May 2022 08:56:36 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id jx1-20020a170907760100b006f3ef214da1sm60758ejc.7.2022.05.16.08.56.33 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 May 2022 08:56:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1652716598; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=vYBZ2pGgl072Dbisxb+IUm2/PVM1Ev/7jyccpSog5Kc=; b=B02aywNvoTZnEthe3WyGtH4o+tGoT8Fl0Kp81Ulv8JM8Bqd5VpNSkijvrqOaCMJ+cNKDxf OIruh352Wcv1qTu8hJ0SB9cu1O9kRI/UdMFztzGerEIucT14Aif7Z9lYIZ3qL2oPlZgVWb v6+87JSXKuRusrSBx9YBzC+LT5aNLfE= X-MC-Unique: HJnVwfzCMXK_oxqgkVoxDg-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=vYBZ2pGgl072Dbisxb+IUm2/PVM1Ev/7jyccpSog5Kc=; b=ZZXpRRzNI6S4DZPmGSGlQbJHHLC0OiwLx/MG0JQAxxbDjiBZDVTxPCgVHT5r+U2hGm ZU6WaeCHKbb4GeLnySRbX5CO7JwagMzuPv3deNVir4M1uQQiACqWIXYljpbRCIa1DUuy r/4asMRwAk3KXXKzVbTpsoA4HXjX705nY6PHibgfBQlwu7aZdepH8cPuiVNgnJBa25UU rrPZZi6Au3gb79gCFrmJY4tO0yGhgZEoLmInpYIHVqU7Y5NxPxr6v8waAdaovWFCpl9l OjVxme/JNzhYGpWjgeRU2zSPd8UFuQuOXZI/66GbtX5N3uEQEBixbB1kFCPG9cw/1HBG UmNw== X-Gm-Message-State: AOAM533B9/CdTpl2AVShkqAjyiXxYSz5Ule2VZcJzftk188KoRnJOxJM 54DaQD4ke0m5NQPFQkG/MyEbrpD64IgR3F7031ENLpav80vXsqwcSkJ1gjZ0tPiiOn3t9aTAptJ iVD3R6pG/nTDz8ob2TSyIOj8RQO19cpUJak3yNuOvO2bguM9l3duzidjr8s3VXU3Q7zQ= X-Received: by 2002:a05:6402:388d:b0:42a:ba9f:f85c with SMTP id fd13-20020a056402388d00b0042aba9ff85cmr3026375edb.292.1652716595140; Mon, 16 May 2022 08:56:35 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyjrgV3ClDLYqjhwlpGye4Q7MoEaX4CO2/d1DgnRiWdCTxB4WxNga2YhwS3ZpI4CGZ6CxfpLw== X-Received: by 2002:a05:6402:388d:b0:42a:ba9f:f85c with SMTP id fd13-20020a056402388d00b0042aba9ff85cmr3026351edb.292.1652716594780; Mon, 16 May 2022 08:56:34 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 15/23] rng: make opened property read-only Date: Mon, 16 May 2022 17:55:55 +0200 Message-Id: <20220516155603.1234712-16-pbonzini@redhat.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220516155603.1234712-1-pbonzini@redhat.com> References: <20220516155603.1234712-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -28 X-Spam_score: -2.9 X-Spam_bar: -- X-Spam_report: (-2.9 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.082, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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" X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1652717488414100001 Content-Type: text/plain; charset="utf-8" The ``opened=3Don`` option in the command line or QMP ``object-add`` either= had no effect (if ``opened`` was the last option) or caused errors. The proper= ty is therefore useless and was deprecated in 6.0; make it read-only now. Signed-off-by: Paolo Bonzini --- backends/rng.c | 18 ++---------------- docs/about/deprecated.rst | 9 --------- docs/about/removed-features.rst | 6 ++++++ 3 files changed, 8 insertions(+), 25 deletions(-) diff --git a/backends/rng.c b/backends/rng.c index 3757b04485..6c7bf64426 100644 --- a/backends/rng.c +++ b/backends/rng.c @@ -48,24 +48,10 @@ static bool rng_backend_prop_get_opened(Object *obj, Er= ror **errp) =20 static void rng_backend_complete(UserCreatable *uc, Error **errp) { - object_property_set_bool(OBJECT(uc), "opened", true, errp); -} - -static void rng_backend_prop_set_opened(Object *obj, bool value, Error **e= rrp) -{ - RngBackend *s =3D RNG_BACKEND(obj); + RngBackend *s =3D RNG_BACKEND(uc); RngBackendClass *k =3D RNG_BACKEND_GET_CLASS(s); Error *local_err =3D NULL; =20 - if (value =3D=3D s->opened) { - return; - } - - if (!value && s->opened) { - error_setg(errp, QERR_PERMISSION_DENIED); - return; - } - if (k->opened) { k->opened(s, &local_err); if (local_err) { @@ -122,7 +108,7 @@ static void rng_backend_class_init(ObjectClass *oc, voi= d *data) =20 object_class_property_add_bool(oc, "opened", rng_backend_prop_get_opened, - rng_backend_prop_set_opened); + NULL); } =20 static const TypeInfo rng_backend_info =3D { diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index 2a022f2300..1f961b9e6e 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -90,15 +90,6 @@ the process listing. This is replaced by the new ``passw= ord-secret`` option which lets the password be securely provided on the command line using a ``secret`` object instance. =20 -``opened`` property of ``rng-*`` objects (since 6.0) -'''''''''''''''''''''''''''''''''''''''''''''''''''' - -The only effect of specifying ``opened=3Don`` in the command line or QMP -``object-add`` is that the device is opened immediately, possibly before a= ll -other options have been processed. This will either have no effect (if -``opened`` was the last option) or cause errors. The property is therefore -useless and should not be specified. - ``-display sdl,window_close=3D...`` (since 6.1) ''''''''''''''''''''''''''''''''''''''''''''' =20 diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.= rst index 81ceeb9000..69498efd51 100644 --- a/docs/about/removed-features.rst +++ b/docs/about/removed-features.rst @@ -363,6 +363,12 @@ no effect (if ``loaded`` was the last option) or cause= d options to be effectively ignored as if they were not given. The property is therefore useless and should simply be removed. =20 +``opened`` property of ``rng-*`` objects (removed in 7.1) +''''''''''''''''''''''''''''''''''''''''''''''''''''''''' + +The ``opened=3Don`` option in the command line or QMP ``object-add`` eithe= r had +no effect (if ``opened`` was the last option) or caused errors. The prope= rty +is therefore useless and should simply be removed. =20 QEMU Machine Protocol (QMP) commands ------------------------------------ --=20 2.36.0 From nobody Fri May 3 05:01:43 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=1652720892; cv=none; d=zohomail.com; s=zohoarc; b=icfUhxe5GbTjkLFlicj6a2dreAGPwnD7WJQddZeQNm4Xu82VFygBcff/6sK8vRAFnAbbyF0T6K5VIvk//twRUEvpaPAPfav2Qh81lZJ81FI8rto03a51c11vgTohoc2OT5E6V3BV+uQW4SpYDtwV4O5eClt/3zTS0hG0KEGMTc4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1652720892; h=Content-Type:Content-Transfer-Encoding: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=WGv5/EkpBsBjxHEyqHZKoaua2z/A6zRcNcv8CTFdhh0=; b=TwygU9NzJtwQqkVko9LWnYj3zLuSz/rG+UMEozS934HYmyS1Bx26f8e7QM5FtZRg6hSMQ3xQl3IPPBjiq9Z9paUNJsnJDuyUYwsQuVhOkIhd1h70qlrSpmlxYD8zk/EqErlVWl9Q+HdFDedD6c85aGbiWRUaDHGMUTvmnQLzhxs= 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 1652720892447505.88069069625; Mon, 16 May 2022 10:08:12 -0700 (PDT) Received: from localhost ([::1]:45032 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nqeCZ-0001TK-Da for importer@patchew.org; Mon, 16 May 2022 13:08:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40396) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd5O-0002mZ-2K for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:42 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]:42779) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd5M-0003Pk-5I for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:41 -0400 Received: from mail-ed1-f71.google.com (mail-ed1-f71.google.com [209.85.208.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-651-eHtO-123ND-WOfOn4p9B-Q-1; Mon, 16 May 2022 11:56:38 -0400 Received: by mail-ed1-f71.google.com with SMTP id n9-20020aa7d049000000b0042aab725949so2944058edo.23 for ; Mon, 16 May 2022 08:56:38 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id s7-20020a170906778700b006f3ef214ddfsm50070ejm.69.2022.05.16.08.56.35 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 May 2022 08:56:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1652716599; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=WGv5/EkpBsBjxHEyqHZKoaua2z/A6zRcNcv8CTFdhh0=; b=Kjf2/CE2JYF18tTjaQBBZmlvUHYI6fG8AGqev7Gha5DY9FYQ4Ng43C/OMSzzHtfCDSMKB6 BdtWxQdrv6D0ZooxB86vR/s83vLEyUVS/qYCwQbcYRIVmerzF6EHAzgHhIxmKQW5G3Szog mfWEjbKi0szjUdSm559nTNO7jWDP8WE= X-MC-Unique: eHtO-123ND-WOfOn4p9B-Q-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=WGv5/EkpBsBjxHEyqHZKoaua2z/A6zRcNcv8CTFdhh0=; b=wSGdz/pWXok1M7vTzB7YghwK4Eprnzmz4mJRTWDeXwQAp76VhTXakJC4ifp1HdH7B3 dMShcus0hKeoTmO5qv60emiqm9DSRiDzO+GEiAvmORsUtTIHXvmwAy40JZZmNAs1ORvp fkbreCcHiLKg4qjk8Dhlk2Vedu8IxR/sxOkEdj1qbjox9H0t8quL0Dzm2u+ZxKZJSzuA XZVVwlpUcts9eMwNehauJibspa1meBdZgSmGKlu6Q5kZBLYfAX+xM1EXrd4t7oBJqHrs cfK0Aq4ldevvcl5FHO1Grf2fl9fzAXNXtTs54saXrp3goT4ftms/Jb9M2QNBbKiwDGpa zAmQ== X-Gm-Message-State: AOAM53093rng5elFaG8epFbHiT4KdJyGo1ulKmYWg7x8qo0X+YSQJxKY idAk5B/q4p1dXhXI1cR7V6H7Mr09ddNswNr/uWjLrviAHYX0gaSNbJMJeilwIVKfAk2s8/wPZ1a aNUAbnNSnGLKJjgtI7yJ2YkQrA0H5T4tFNCZY8OxS4DzbhXaBpMkr2LFKNX2tTyGHTEI= X-Received: by 2002:a17:906:1845:b0:6f4:346f:f767 with SMTP id w5-20020a170906184500b006f4346ff767mr15431328eje.214.1652716596702; Mon, 16 May 2022 08:56:36 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxoMgs3lY2aI9VzA2v+aU598y3YQCUXGmlKRxz8iwPgIZOrg1tdHSK3B+wsJZqNdhIKU5+q/g== X-Received: by 2002:a17:906:1845:b0:6f4:346f:f767 with SMTP id w5-20020a170906184500b006f4346ff767mr15431307eje.214.1652716596331; Mon, 16 May 2022 08:56:36 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 16/23] soundhw: remove ability to create multiple soundcards Date: Mon, 16 May 2022 17:55:56 +0200 Message-Id: <20220516155603.1234712-17-pbonzini@redhat.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220516155603.1234712-1-pbonzini@redhat.com> References: <20220516155603.1234712-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -28 X-Spam_score: -2.9 X-Spam_bar: -- X-Spam_report: (-2.9 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.082, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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" X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1652720893637100003 Content-Type: text/plain; charset="utf-8" The usefulness of enabling a dozen soundcards is dubious. Simplify the code by allowing a single instance of -soundhw, with no support for parsing either comma-separated values or 'soundhw all'. Signed-off-by: Paolo Bonzini --- hw/audio/soundhw.c | 88 +++++++++++++++++----------------------------- 1 file changed, 32 insertions(+), 56 deletions(-) diff --git a/hw/audio/soundhw.c b/hw/audio/soundhw.c index f7d94d7dfa..097501fee1 100644 --- a/hw/audio/soundhw.c +++ b/hw/audio/soundhw.c @@ -25,6 +25,7 @@ #include "qemu/option.h" #include "qemu/help_option.h" #include "qemu/error-report.h" +#include "qapi/error.h" #include "qom/object.h" #include "hw/isa/isa.h" #include "hw/pci/pci.h" @@ -34,7 +35,6 @@ struct soundhw { const char *name; const char *descr; const char *typename; - int enabled; int isa; int (*init_pci) (PCIBus *bus); }; @@ -64,10 +64,16 @@ void deprecated_register_soundhw(const char *name, cons= t char *descr, soundhw_count++; } =20 +static struct soundhw *selected =3D NULL; + void select_soundhw(const char *optarg) { struct soundhw *c; =20 + if (selected) { + error_setg(&error_fatal, "only one -soundhw option is allowed"); + } + if (is_help_option(optarg)) { show_valid_cards: =20 @@ -84,44 +90,15 @@ void select_soundhw(const char *optarg) exit(!is_help_option(optarg)); } else { - size_t l; - const char *p; - char *e; - int bad_card =3D 0; - - if (!strcmp(optarg, "all")) { - for (c =3D soundhw; c->name; ++c) { - c->enabled =3D 1; + for (c =3D soundhw; c->name; ++c) { + if (g_str_equal(c->name, optarg)) { + selected =3D c; + break; } - return; } =20 - p =3D optarg; - while (*p) { - e =3D strchr(p, ','); - l =3D !e ? strlen(p) : (size_t) (e - p); - - for (c =3D soundhw; c->name; ++c) { - if (!strncmp(c->name, p, l) && !c->name[l]) { - c->enabled =3D 1; - break; - } - } - - if (!c->name) { - if (l > 80) { - error_report("Unknown sound card name (too big to show= )"); - } - else { - error_report("Unknown sound card name `%.*s'", - (int) l, p); - } - bad_card =3D 1; - } - p +=3D l + (e !=3D NULL); - } - - if (bad_card) { + if (!c->name) { + error_report("Unknown sound card name `%s'", optarg); goto show_valid_cards; } } @@ -129,30 +106,29 @@ void select_soundhw(const char *optarg) =20 void soundhw_init(void) { - struct soundhw *c; + struct soundhw *c =3D selected; ISABus *isa_bus =3D (ISABus *) object_resolve_path_type("", TYPE_ISA_B= US, NULL); PCIBus *pci_bus =3D (PCIBus *) object_resolve_path_type("", TYPE_PCI_B= US, NULL); =20 - for (c =3D soundhw; c->name; ++c) { - if (c->enabled) { - if (c->typename) { - warn_report("'-soundhw %s' is deprecated, " - "please use '-device %s' instead", - c->name, c->typename); - if (c->isa) { - isa_create_simple(isa_bus, c->typename); - } else { - pci_create_simple(pci_bus, -1, c->typename); - } - } else { - assert(!c->isa); - if (!pci_bus) { - error_report("PCI bus not available for %s", c->name); - exit(1); - } - c->init_pci(pci_bus); - } + if (!c) { + return; + } + if (c->typename) { + warn_report("'-soundhw %s' is deprecated, " + "please use '-device %s' instead", + c->name, c->typename); + if (c->isa) { + isa_create_simple(isa_bus, c->typename); + } else { + pci_create_simple(pci_bus, -1, c->typename); } + } else { + assert(!c->isa); + if (!pci_bus) { + error_report("PCI bus not available for %s", c->name); + exit(1); + } + c->init_pci(pci_bus); } } =20 --=20 2.36.0 From nobody Fri May 3 05:01:43 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=1652717739; cv=none; d=zohomail.com; s=zohoarc; b=NE2rnWtiJ6SGnRIs7YoNBWN7S6SZlHHiHPsTnSEoKY4w7tZ+p9qkWo8M9PwD80U8432ks1/VTNfHr5JRhZabaeFcj3pLFZo2KbXJEDy7DoZt+DOKBA6FDGcvVJbh2q6R7HE3YUq6Uvm+GALuYRAiaPxSqnekKKLNxQdCWRp8tCo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1652717739; h=Content-Type:Content-Transfer-Encoding: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=KlNcC4Y37dCnjdIJcK87NW2WaANvbQhaq8YL05jIONI=; b=Y5iTb4leRtaDH6pjVMI0Zti4RI9lHJuLzO1R3xpf3RZoTXsQfCxId79M8usvP6CQzqXAu70WqJAbCq4FTnIqypzFi0E90pmlq4ysTLTfCA60q/rTxBgAf3ZbeIY8frTQLVdU5mPq0CT6NY5gh6DaPAGvyQRHDMya9LQO4x0ggKc= 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 165271773916861.185111977887914; Mon, 16 May 2022 09:15:39 -0700 (PDT) Received: from localhost ([::1]:34054 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nqdNi-0000dr-0c for importer@patchew.org; Mon, 16 May 2022 12:15:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40414) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd5Q-0002o5-NM for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:45 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]:46314) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd5N-0003Pt-Cj for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:43 -0400 Received: from mail-ed1-f69.google.com (mail-ed1-f69.google.com [209.85.208.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-627-LGSYh0ntOeS3vkpHFM7tVw-1; Mon, 16 May 2022 11:56:39 -0400 Received: by mail-ed1-f69.google.com with SMTP id b3-20020aa7d483000000b004282ca95814so9974847edr.9 for ; Mon, 16 May 2022 08:56:39 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id eb10-20020a170907280a00b006f3ef214dcfsm50556ejc.53.2022.05.16.08.56.36 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 May 2022 08:56:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1652716600; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=KlNcC4Y37dCnjdIJcK87NW2WaANvbQhaq8YL05jIONI=; b=DJpf0GGVgr+RYQar3kGeNmBlUdbxUEuia1XDqA0jgY0G1bIyv7TDFH8NkdmBw0PqR8aPxS Z5GuM1eyOo1vwy+hBjdfSlxDd7aA/zQdjXegmv8IvNBJMZfaWf7jFp8rncrqm30DDA3+1w 4ZwqG9AeyYpUntte6djYQS3HCy8nSic= X-MC-Unique: LGSYh0ntOeS3vkpHFM7tVw-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=KlNcC4Y37dCnjdIJcK87NW2WaANvbQhaq8YL05jIONI=; b=5/JVtFNRZvhMBD8nPWtL+63uCdh8EouCz/8NJjINgqnRXkQeCzhbcVUUPtsWZ6+lk5 BxJzFtsi7fi+R7MTbhsOTXQtvaKN1EGBHqd2AoY/HeviCQFkbf25S6wk5ykG2AApDOYH b2mk4Z+kgkF3a6A3ZnjHb13OEu4nxJLC/2rjYN0Pa9mi65VVto1kbhw6LlYZoihOBsY8 n4e6aUov4/VdSg1dUCq5MVjmoaqkcncalaTP37qgPd637gQeqg6parJuSPSynOoL6DEn 45Den+L8vWVH5N4O2gsiivka8Bj8k0IYvdwGEkAJCoCvnayjbkNMNgxiEZfFjWz194B3 pSTw== X-Gm-Message-State: AOAM530iKTx0hQG+G6vpJhEzF0m2SPr8fFKy9lobfaKoCjz2f8QE3C/y DCtXx+o92zjFlp8mQa1hL5my7n/qIo9zuBRhZo12+V2AAl/LebPBy3Se69Ot1CZV5WwLNefBNA2 2FI1IcevWhTFclzEsB7qYmY4UqUQvk0QDi1b3sCzU2CwNALVBqpFFSnHsp+F8IstOXO0= X-Received: by 2002:a17:907:1c82:b0:6f4:d2ee:2f8e with SMTP id nb2-20020a1709071c8200b006f4d2ee2f8emr16371783ejc.714.1652716598043; Mon, 16 May 2022 08:56:38 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxdkwSgzmMPFdmGKeIG9ITtYfX+AiJYb1cvnmxF+3eXw0wU7Fb9pzirrGf0Hd4fPlGzOA+3PQ== X-Received: by 2002:a17:907:1c82:b0:6f4:d2ee:2f8e with SMTP id nb2-20020a1709071c8200b006f4d2ee2f8emr16371759ejc.714.1652716597719; Mon, 16 May 2022 08:56:37 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 17/23] soundhw: extract soundhw help to a separate function Date: Mon, 16 May 2022 17:55:57 +0200 Message-Id: <20220516155603.1234712-18-pbonzini@redhat.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220516155603.1234712-1-pbonzini@redhat.com> References: <20220516155603.1234712-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -28 X-Spam_score: -2.9 X-Spam_bar: -- X-Spam_report: (-2.9 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.082, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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" X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1652717740410100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Paolo Bonzini --- hw/audio/soundhw.c | 33 +++++++++++++++++++-------------- include/hw/audio/soundhw.h | 1 + 2 files changed, 20 insertions(+), 14 deletions(-) diff --git a/hw/audio/soundhw.c b/hw/audio/soundhw.c index 097501fee1..0fb64bdc8f 100644 --- a/hw/audio/soundhw.c +++ b/hw/audio/soundhw.c @@ -64,6 +64,21 @@ void deprecated_register_soundhw(const char *name, const= char *descr, soundhw_count++; } =20 +void show_valid_soundhw(void) +{ + struct soundhw *c; + + if (soundhw_count) { + printf("Valid sound card names (comma separated):\n"); + for (c =3D soundhw; c->name; ++c) { + printf ("%-11s %s\n", c->name, c->descr); + } + } else { + printf("Machine has no user-selectable audio hardware " + "(it may or may not have always-present audio hardware).\n= "); + } +} + static struct soundhw *selected =3D NULL; =20 void select_soundhw(const char *optarg) @@ -75,19 +90,8 @@ void select_soundhw(const char *optarg) } =20 if (is_help_option(optarg)) { - show_valid_cards: - - if (soundhw_count) { - printf("Valid sound card names (comma separated):\n"); - for (c =3D soundhw; c->name; ++c) { - printf ("%-11s %s\n", c->name, c->descr); - } - printf("\n-soundhw all will enable all of the above\n"); - } else { - printf("Machine has no user-selectable audio hardware " - "(it may or may not have always-present audio hardware= ).\n"); - } - exit(!is_help_option(optarg)); + show_valid_soundhw(); + exit(0); } else { for (c =3D soundhw; c->name; ++c) { @@ -99,7 +103,8 @@ void select_soundhw(const char *optarg) =20 if (!c->name) { error_report("Unknown sound card name `%s'", optarg); - goto show_valid_cards; + show_valid_soundhw(); + exit(1); } } } diff --git a/include/hw/audio/soundhw.h b/include/hw/audio/soundhw.h index e68685fcda..dec5c0cdca 100644 --- a/include/hw/audio/soundhw.h +++ b/include/hw/audio/soundhw.h @@ -7,6 +7,7 @@ void deprecated_register_soundhw(const char *name, const ch= ar *descr, int isa, const char *typename); =20 void soundhw_init(void); +void show_valid_soundhw(void); void select_soundhw(const char *optarg); =20 #endif --=20 2.36.0 From nobody Fri May 3 05:01:43 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=1652721109; cv=none; d=zohomail.com; s=zohoarc; b=f5N/ydLyuB/gg9RMqFRXxo+SxJBEhG7QTJrNgRrhDvHtW2+4SNWNxFvAblaEF9HPU046zsr1VdAw9hYeSHjQyjM5KpRCnMPJE2EzbIzs02SEkcvPT/QW0no9SpF368/IZXfBqv33J5EQe5vS9S+f48SLCrqc4S7yZt48DMRObnY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1652721109; h=Content-Type:Content-Transfer-Encoding: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=8wKsk7Jk3lA9O2ukpSpr1c+d355y3PcTPWwFRjEq2/g=; b=Izq3jjH60kS3ygZmVGqMC8Q6DYJ89CtIBfQIbmkz87oY1q3gFvf0rRCyq480RS7HT5JQWl+zYd5lYkcAU0X40tFF/NLJT475AXVIGkxO2uUbXIaeADrGNvKp9J6bYbYr92CGBpMBxtesdiNs6cfRx76e6rPKNkJAoyw3PHrNBdc= 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 1652721109088244.47888461745993; Mon, 16 May 2022 10:11:49 -0700 (PDT) Received: from localhost ([::1]:53706 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nqeG3-0007XL-QU for importer@patchew.org; Mon, 16 May 2022 13:11:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40436) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd5R-0002pK-UU for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:45 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:53000) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd5P-0003Q2-HP for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:45 -0400 Received: from mail-ed1-f71.google.com (mail-ed1-f71.google.com [209.85.208.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-336-QRXIbpj_O9OeO02QkqPJgQ-1; Mon, 16 May 2022 11:56:40 -0400 Received: by mail-ed1-f71.google.com with SMTP id ch28-20020a0564021bdc00b00425cb227ab4so10047611edb.4 for ; Mon, 16 May 2022 08:56:40 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id y24-20020aa7ccd8000000b0042617ba6397sm5480896edt.33.2022.05.16.08.56.38 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 May 2022 08:56:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1652716602; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=8wKsk7Jk3lA9O2ukpSpr1c+d355y3PcTPWwFRjEq2/g=; b=Wy61vRfMh829kJiTUT0UtXV4ts8Z1HGXwMjwGRfzRHVjssndPvHFVAJX3avmlglQIYdyTE CR5z1GNo4bp0yelbXXB9Lfm9t8CVlIfZBjm0GPHWpoJOwnQxlRatt01/Kxmu1yQZfXGtgB i/mGvPo91to3SauDJTNVAxhAcrPkMDo= X-MC-Unique: QRXIbpj_O9OeO02QkqPJgQ-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=8wKsk7Jk3lA9O2ukpSpr1c+d355y3PcTPWwFRjEq2/g=; b=ToH2iT0VVUXJB8xz9CCWpXA4p79q8cIMLpkdNEt/obLH9zr7yIsni3B30vL59LT7cf u+Xq1QXpsfdiY7h8gmeOMqZeu+ZLGP8r4+3lFHRdAjKje8WhkrBb6+eLACinQtbLD+5H lh9gZ7pN46AegjZ5pa/euk21/7xNmwN4nfcnRVZopuSVdejOF2QeZdIzugRHm5bow5C8 Xw450Nug5zUkgxv0DNIBijTe6OtPIrp/0O4G5ZtZR4KfIoxY7h0AAtCGNlWEy8iWc5F2 v0oIJWHprcGC6TM8HAwZbaYXF4KURaM4pVKHJUFcxGq/7hgJygIauHESfS2fy7EuIOCI MsAw== X-Gm-Message-State: AOAM531M2mUBblIoEjwitPyJ77p9mpoAdLrrqxQarw5ElMF22BZMfQ2P feDJ34eysHi+9KkcEDfPlBYymYm6e+PXA5ZQzc2raKpEe0Yhf0LEmcQTe17E7sX/QVXkCcOpDXU YQwpAY6oDHZQwxOP+Rgp+sj0zfdH52WCLrJmY65pL3ngT3Jocm9KM4GAlPUls7SYV/iA= X-Received: by 2002:a05:6402:cae:b0:42a:ba8f:9d05 with SMTP id cn14-20020a0564020cae00b0042aba8f9d05mr3005182edb.277.1652716599468; Mon, 16 May 2022 08:56:39 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxPwqpFEBH49Us7Zf6gaZuPsOVWoxn9Bnfy3KcJnlahhHRWKviIRNhm6LuTwSKrd/xjzWY2JA== X-Received: by 2002:a05:6402:cae:b0:42a:ba8f:9d05 with SMTP id cn14-20020a0564020cae00b0042aba8f9d05mr3005154edb.277.1652716599096; Mon, 16 May 2022 08:56:39 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 18/23] soundhw: unify initialization for ISA and PCI soundhw Date: Mon, 16 May 2022 17:55:58 +0200 Message-Id: <20220516155603.1234712-19-pbonzini@redhat.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220516155603.1234712-1-pbonzini@redhat.com> References: <20220516155603.1234712-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -28 X-Spam_score: -2.9 X-Spam_bar: -- X-Spam_report: (-2.9 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.082, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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" X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1652721109364100001 Content-Type: text/plain; charset="utf-8" Use qdev_new instead of distinguishing isa_create_simple/pci_create_simple. Signed-off-by: Paolo Bonzini --- hw/audio/soundhw.c | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/hw/audio/soundhw.c b/hw/audio/soundhw.c index 0fb64bdc8f..a1558dab3a 100644 --- a/hw/audio/soundhw.c +++ b/hw/audio/soundhw.c @@ -114,25 +114,30 @@ void soundhw_init(void) struct soundhw *c =3D selected; ISABus *isa_bus =3D (ISABus *) object_resolve_path_type("", TYPE_ISA_B= US, NULL); PCIBus *pci_bus =3D (PCIBus *) object_resolve_path_type("", TYPE_PCI_B= US, NULL); + BusState *bus; =20 if (!c) { return; } - if (c->typename) { - warn_report("'-soundhw %s' is deprecated, " - "please use '-device %s' instead", - c->name, c->typename); - if (c->isa) { - isa_create_simple(isa_bus, c->typename); - } else { - pci_create_simple(pci_bus, -1, c->typename); + if (c->isa) { + if (!isa_bus) { + error_report("ISA bus not available for %s", c->name); + exit(1); } + bus =3D BUS(isa_bus); } else { - assert(!c->isa); if (!pci_bus) { error_report("PCI bus not available for %s", c->name); exit(1); } + bus =3D BUS(pci_bus); + } + + if (c->typename) { + DeviceState *dev =3D qdev_new(c->typename); + qdev_realize_and_unref(dev, bus, &error_fatal); + } else { + assert(!c->isa); c->init_pci(pci_bus); } } --=20 2.36.0 From nobody Fri May 3 05:01:43 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=1652721229; cv=none; d=zohomail.com; s=zohoarc; b=XFaT/gCmOayh0YTeiI5hpcb7rZj/PGnMhRZoFYHqeT+ldNfjyPd0HlmDQyBN+wdoKxgk+HRMkg8vK5GRp5RiLBiTbw4BLkJxD5P7zz5K35W9DBYox8lKzjQkIzmv5gS7p6kXBMAr+a1Uqv49DpmiRFvPPfI4b3EReYVNtRtOSk4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1652721229; h=Content-Type:Content-Transfer-Encoding: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=Lw2i3zBYqODw1azDWWx+BDtCSLGMBU4VmzNLOJxP3OA=; b=JNmK8eXw9CauZsfBZ6PUVACLOcAwcyJabxMs/8aGJTT8WjsnBkZ8E13LgXBFkRWqqdkLWoui/Yf2KWCEQ7gcl9m0jE6QYafxRIPbuaXtlu0ZZ8qWMHhSzMr3y0ps5lr0TmQ5g6/ZNJ54F1DDbbRqgQoxcsJk8TKBBMpGSOK9gS0= 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 1652721229735281.0385747906902; Mon, 16 May 2022 10:13:49 -0700 (PDT) Received: from localhost ([::1]:33862 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nqeI0-0004kO-B2 for importer@patchew.org; Mon, 16 May 2022 13:13:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40440) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd5S-0002q2-D2 for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:46 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:58085) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd5Q-0003Q9-Fj for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:45 -0400 Received: from mail-ed1-f69.google.com (mail-ed1-f69.google.com [209.85.208.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-568-ScdsVJfbOAWD1i5BsMNPSg-1; Mon, 16 May 2022 11:56:42 -0400 Received: by mail-ed1-f69.google.com with SMTP id i22-20020aa7dd16000000b0042a9f9e2272so3732543edv.6 for ; Mon, 16 May 2022 08:56:42 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id g25-20020a056402115900b0042aaacd4edasm2687745edw.26.2022.05.16.08.56.39 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 May 2022 08:56:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1652716603; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Lw2i3zBYqODw1azDWWx+BDtCSLGMBU4VmzNLOJxP3OA=; b=ZhTP/P/8Y7zANBw/gcVwc7D7+JqXp3GG/3Bekc5rm5KEl6HV2Hs5Yg4uD/irnRy2EANo5D qiIe/EMePXPEm786BML5rMyfXGSrnhsb9m2Kle9C3gLzRAsINy7OvcpZBo1bo2leTPaMfA 9orfrZbIf1O/xzMlG31Q1WQyUs776Xo= X-MC-Unique: ScdsVJfbOAWD1i5BsMNPSg-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Lw2i3zBYqODw1azDWWx+BDtCSLGMBU4VmzNLOJxP3OA=; b=tvRJulbZ2B6qlDBY0am+OZM2w3HmD5eVIDQGq+Z4VvD2hZLvJCD1U5mPrenxn41OmX NWanxsFTVW8hcYE2UuBj9Df5d1HFh11irDpT1dAEGl6tz8Zx80ZlIMC5pACi08RxjC4+ BSpsPTRtalapaEalZ2DtokYJMVKU0QgSQT/1bye8w/FwHDGyqbUhWVHJtyQSKh058Px7 i0IVvN47j3RYPRyM+PEUu95FiX0YCzagQvD3twsdDybpwT6fa3/StkMvXd9QyTFyytBH pzfkg9fAUqiQI4lmmt6CvFmLGPvMzxaFKDO40ATv/25cm0LHOYGxrIMzu6o+w65rwaLl JPcw== X-Gm-Message-State: AOAM532y6g348KuNAh4Hk2b/S8bZlcknZP1Csj5AcqI4WGGukWGpkfWF aDp++O3xlM/VEv+a0BRc7+c+0KhC7sRxXt7YQEdXQ2eteqNJ8UiyxS6oNgDTWPrM7t3vYW1UVJY 8iWt+izZqyQQ8ghYfLspQ78mp8O5Pl7Qe4GkTqsUxDyVFLXoY4gJlOzYJ7xS/Z2wz7oE= X-Received: by 2002:a17:907:1c06:b0:6df:b257:cbb3 with SMTP id nc6-20020a1709071c0600b006dfb257cbb3mr16144325ejc.631.1652716600938; Mon, 16 May 2022 08:56:40 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyUPBbC7C17yVWGNfcQEZ4IRnL4lVNfy05tqhnZaIVYj3M0Fv76JESUmuOW6uW7HMTcJ3UkNg== X-Received: by 2002:a17:907:1c06:b0:6df:b257:cbb3 with SMTP id nc6-20020a1709071c0600b006dfb257cbb3mr16144311ejc.631.1652716600602; Mon, 16 May 2022 08:56:40 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 19/23] soundhw: move help handling to vl.c Date: Mon, 16 May 2022 17:55:59 +0200 Message-Id: <20220516155603.1234712-20-pbonzini@redhat.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220516155603.1234712-1-pbonzini@redhat.com> References: <20220516155603.1234712-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -28 X-Spam_score: -2.9 X-Spam_bar: -- X-Spam_report: (-2.9 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.082, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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" X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1652721232041100001 Content-Type: text/plain; charset="utf-8" This will allow processing "-audio model=3Dhelp" even if the backend part of the option is missing. Signed-off-by: Paolo Bonzini --- hw/audio/soundhw.c | 24 +++++++++--------------- softmmu/vl.c | 4 ++++ 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/hw/audio/soundhw.c b/hw/audio/soundhw.c index a1558dab3a..ebbd0958ba 100644 --- a/hw/audio/soundhw.c +++ b/hw/audio/soundhw.c @@ -89,23 +89,17 @@ void select_soundhw(const char *optarg) error_setg(&error_fatal, "only one -soundhw option is allowed"); } =20 - if (is_help_option(optarg)) { - show_valid_soundhw(); - exit(0); + for (c =3D soundhw; c->name; ++c) { + if (g_str_equal(c->name, optarg)) { + selected =3D c; + break; + } } - else { - for (c =3D soundhw; c->name; ++c) { - if (g_str_equal(c->name, optarg)) { - selected =3D c; - break; - } - } =20 - if (!c->name) { - error_report("Unknown sound card name `%s'", optarg); - show_valid_soundhw(); - exit(1); - } + if (!c->name) { + error_report("Unknown sound card name `%s'", optarg); + show_valid_soundhw(); + exit(1); } } =20 diff --git a/softmmu/vl.c b/softmmu/vl.c index 817d515783..0363cbd9b4 100644 --- a/softmmu/vl.c +++ b/softmmu/vl.c @@ -2931,6 +2931,10 @@ void qemu_init(int argc, char **argv, char **envp) audio_parse_option(optarg); break; case QEMU_OPTION_soundhw: + if (is_help_option(optarg)) { + show_valid_soundhw(); + exit(0); + } select_soundhw (optarg); break; case QEMU_OPTION_h: --=20 2.36.0 From nobody Fri May 3 05:01:43 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=1652719587; cv=none; d=zohomail.com; s=zohoarc; b=YDVczlQW0kMMnt+TEPz4FhDwJOIU/iqjn/hNIZo9E+J25KbkcDeDHruHm4cPzJc+QLxxELgeH7nwTyrVyZa5OdoR3lOYbgoZZ0p7HDJyb9k2Q6gZ0XvtujQ5XpdgiK809GZSODLsk7zjzsU9KKNeMjWHTdMK6teemaoD1g+UhVg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1652719587; h=Content-Type:Content-Transfer-Encoding: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=m+AfIsdFVD+/iBurPs3xn/ZLPSLYXq3YYCbUnmehnD0=; b=nnwnbW2YZ+FeDfze6Dq313CU9z1Kt3LhekkeQJZPra14zHCxcbf9hMgomq5iwU55Gwah/nSUXV/MYiP+p1celWyqHpEiWrg3TTuKyTylTE/lWJ+lXCiPx3L1J4jqz5RmgbM4xXmxGtRNPI7hIQPpzFaPH8qRmIyr2NTCxyDjag8= 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 1652719587534837.2539043382446; Mon, 16 May 2022 09:46:27 -0700 (PDT) Received: from localhost ([::1]:59742 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nqdrW-0006zv-GJ for importer@patchew.org; Mon, 16 May 2022 12:46:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40484) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd5U-0002vm-Nd for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:50 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]:55206) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd5S-0003QV-C2 for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:48 -0400 Received: from mail-ej1-f70.google.com (mail-ej1-f70.google.com [209.85.218.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-591-35CYaIr8Ofq-aebLR03IQw-1; Mon, 16 May 2022 11:56:44 -0400 Received: by mail-ej1-f70.google.com with SMTP id bk16-20020a170906b0d000b006fe34a2e598so1077247ejb.0 for ; Mon, 16 May 2022 08:56:44 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id ze15-20020a170906ef8f00b006f3ef214da5sm62168ejb.11.2022.05.16.08.56.41 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 May 2022 08:56:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1652716605; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=m+AfIsdFVD+/iBurPs3xn/ZLPSLYXq3YYCbUnmehnD0=; b=GokDfFoj1xILJ8ft3Nyt5n048BKGWGoRzZKt4Z2g+TlG7E9muNMFqLVHBmkCfqHcQRb+9i Nt4ZAupK5+P0icLqjEIB+GvJE/v2op3i25YM18raJvw+0SFhLQYtjH8YzfJsUApjS9GRmd ZIHaETEKX/R2urKwMea+ESInnfJVT4Y= X-MC-Unique: 35CYaIr8Ofq-aebLR03IQw-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=m+AfIsdFVD+/iBurPs3xn/ZLPSLYXq3YYCbUnmehnD0=; b=fqnCJ+z5yi2I2Ye8x7gCs/a1i3za+7MybN1KWrFZU723UlMee9x6RxRj0n3DN7rkPp HlqeAoHJ/aySBcTXF3Wey2muMh0mueFDdi+YpeZtpJpf6EKKG+lSbtXWs3knEHUqek4u pEHXvFxIP1XVulYLvcXpbCcxxgAKOVNvZotmW30VBvgQlGxhQKitzW9L9x1pXxH4bw/y 0/NLSQ+rHnCoQ50J055WgP/dQswKBDwdEFQ8d3EmE1lPR8i/2TnXpcZcymGn5Vab6IMs f6upKHoGpe5VrcCzSrMNk/TLcZgG/t++mmHg+E/+ajXn7/j8P0HqJVWBITKcyzKv0y+B qDcQ== X-Gm-Message-State: AOAM530eaK8aK3an94mU47yp4W/HKC0NA/yl9R3aFAWQVioio88G2xB7 L3TcWNa1kmeTnIO+s0/+VsC40SRyss/UkJ8TMlBh+/tTlLXB093i9Z+Vb9C6ZGdDfklyQKu+hZ5 OKQaqM7OOhPlZWF21SRhNHvkJwIiHJiyNs5+JUk58nuV24IopOd1qUE1T+BijDL+JQ1k= X-Received: by 2002:a17:906:cb90:b0:6f4:d91b:1025 with SMTP id mf16-20020a170906cb9000b006f4d91b1025mr16204390ejb.177.1652716602585; Mon, 16 May 2022 08:56:42 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxlHOvSd5555V2EQlP7pe0Zzeoj9lx78yNy61+W7AFawwvufF1cRBTJbdtU2eY9qmweFVB06A== X-Received: by 2002:a17:906:cb90:b0:6f4:d91b:1025 with SMTP id mf16-20020a170906cb9000b006f4d91b1025mr16204367ejb.177.1652716602134; Mon, 16 May 2022 08:56:42 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 20/23] introduce -audio as a replacement for -soundhw Date: Mon, 16 May 2022 17:56:00 +0200 Message-Id: <20220516155603.1234712-21-pbonzini@redhat.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220516155603.1234712-1-pbonzini@redhat.com> References: <20220516155603.1234712-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -28 X-Spam_score: -2.9 X-Spam_bar: -- X-Spam_report: (-2.9 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.082, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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" X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1652719589064100001 Content-Type: text/plain; charset="utf-8" -audio is used like "-audio pa,model=3Dsb16". It is almost as simple as -soundhw, but it reuses the -audiodev parsing machinery and attaches an audiodev to the newly-created device. The main 'feature' is that it knows about adding the codec device for model=3Dintel-hda, and adding the audiodev to the codec device. In the future, it could be extended to support default models or builtin devices, just like -nic, or even a default backend. For now, keep it simple. Signed-off-by: Paolo Bonzini --- audio/audio.c | 8 +++++- audio/audio.h | 1 + docs/about/deprecated.rst | 9 ------ docs/about/removed-features.rst | 7 +++++ hw/audio/intel-hda.c | 5 ++-- hw/audio/soundhw.c | 12 +++++--- include/hw/audio/soundhw.h | 4 +-- qemu-options.hx | 51 ++++++++++++++++----------------- softmmu/vl.c | 28 ++++++++++++++++-- 9 files changed, 76 insertions(+), 49 deletions(-) diff --git a/audio/audio.c b/audio/audio.c index 9e91a5a4f2..a02f3ce5c6 100644 --- a/audio/audio.c +++ b/audio/audio.c @@ -2099,13 +2099,19 @@ static void audio_validate_opts(Audiodev *dev, Erro= r **errp) =20 void audio_parse_option(const char *opt) { - AudiodevListEntry *e; Audiodev *dev =3D NULL; =20 Visitor *v =3D qobject_input_visitor_new_str(opt, "driver", &error_fat= al); visit_type_Audiodev(v, NULL, &dev, &error_fatal); visit_free(v); =20 + audio_define(dev); +} + +void audio_define(Audiodev *dev) +{ + AudiodevListEntry *e; + audio_validate_opts(dev, &error_fatal); =20 e =3D g_new0(AudiodevListEntry, 1); diff --git a/audio/audio.h b/audio/audio.h index 3d5ecdecd5..b5e17cd218 100644 --- a/audio/audio.h +++ b/audio/audio.h @@ -168,6 +168,7 @@ void audio_sample_to_uint64(const void *samples, int po= s, void audio_sample_from_uint64(void *samples, int pos, uint64_t left, uint64_t right); =20 +void audio_define(Audiodev *audio); void audio_parse_option(const char *opt); void audio_init_audiodevs(void); void audio_legacy_help(void); diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index 1f961b9e6e..a92ae0f162 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -39,15 +39,6 @@ should specify an ``audiodev=3D`` property. Additionall= y, when using vnc, you should specify an ``audiodev=3D`` property if you plan to transmit audio through the VNC protocol. =20 -Creating sound card devices using ``-soundhw`` (since 5.1) -'''''''''''''''''''''''''''''''''''''''''''''''''''''''''' - -Sound card devices should be created using ``-device`` instead. The -names are the same for most devices. The exceptions are ``hda`` which -needs two devices (``-device intel-hda -device hda-duplex``) and -``pcspk`` which can be activated using ``-machine -pcspk-audiodev=3D``. - ``-chardev`` backend aliases ``tty`` and ``parport`` (since 6.0) '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' =20 diff --git a/docs/about/removed-features.rst b/docs/about/removed-features.= rst index 69498efd51..eb76974347 100644 --- a/docs/about/removed-features.rst +++ b/docs/about/removed-features.rst @@ -654,6 +654,13 @@ tripped up the CI testing and was suspected to be quit= e broken. For that reason the maintainers strongly suspected no one actually used it. =20 =20 +Creating sound card devices using ``-soundhw`` (removed in 7.1) +''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' + +Sound card devices should be created using ``-device`` or ``-audio``. +The exception is ``pcspk`` which can be activated using ``-machine +pcspk-audiodev=3D``. + TCG introspection features -------------------------- =20 diff --git a/hw/audio/intel-hda.c b/hw/audio/intel-hda.c index bc77e3d8c9..f38117057b 100644 --- a/hw/audio/intel-hda.c +++ b/hw/audio/intel-hda.c @@ -1311,17 +1311,16 @@ static const TypeInfo hda_codec_device_type_info = =3D { * create intel hda controller with codec attached to it, * so '-soundhw hda' works. */ -static int intel_hda_and_codec_init(PCIBus *bus) +static int intel_hda_and_codec_init(PCIBus *bus, const char *audiodev) { DeviceState *controller; BusState *hdabus; DeviceState *codec; =20 - warn_report("'-soundhw hda' is deprecated, " - "please use '-device intel-hda -device hda-duplex' instead= "); controller =3D DEVICE(pci_create_simple(bus, -1, "intel-hda")); hdabus =3D QLIST_FIRST(&controller->child_bus); codec =3D qdev_new("hda-duplex"); + qdev_prop_set_string(codec, "audiodev", audiodev); qdev_realize_and_unref(codec, hdabus, &error_fatal); return 0; } diff --git a/hw/audio/soundhw.c b/hw/audio/soundhw.c index ebbd0958ba..94d9463e42 100644 --- a/hw/audio/soundhw.c +++ b/hw/audio/soundhw.c @@ -27,6 +27,7 @@ #include "qemu/error-report.h" #include "qapi/error.h" #include "qom/object.h" +#include "hw/qdev-properties.h" #include "hw/isa/isa.h" #include "hw/pci/pci.h" #include "hw/audio/soundhw.h" @@ -36,14 +37,14 @@ struct soundhw { const char *descr; const char *typename; int isa; - int (*init_pci) (PCIBus *bus); + int (*init_pci) (PCIBus *bus, const char *audiodev); }; =20 static struct soundhw soundhw[9]; static int soundhw_count; =20 void pci_register_soundhw(const char *name, const char *descr, - int (*init_pci)(PCIBus *bus)) + int (*init_pci)(PCIBus *bus, const char *audiode= v)) { assert(soundhw_count < ARRAY_SIZE(soundhw) - 1); soundhw[soundhw_count].name =3D name; @@ -80,8 +81,9 @@ void show_valid_soundhw(void) } =20 static struct soundhw *selected =3D NULL; +static const char *audiodev_id; =20 -void select_soundhw(const char *optarg) +void select_soundhw(const char *optarg, const char *audiodev) { struct soundhw *c; =20 @@ -92,6 +94,7 @@ void select_soundhw(const char *optarg) for (c =3D soundhw; c->name; ++c) { if (g_str_equal(c->name, optarg)) { selected =3D c; + audiodev_id =3D audiodev; break; } } @@ -129,10 +132,11 @@ void soundhw_init(void) =20 if (c->typename) { DeviceState *dev =3D qdev_new(c->typename); + qdev_prop_set_string(dev, "audiodev", audiodev_id); qdev_realize_and_unref(dev, bus, &error_fatal); } else { assert(!c->isa); - c->init_pci(pci_bus); + c->init_pci(pci_bus, audiodev_id); } } =20 diff --git a/include/hw/audio/soundhw.h b/include/hw/audio/soundhw.h index dec5c0cdca..270717a06a 100644 --- a/include/hw/audio/soundhw.h +++ b/include/hw/audio/soundhw.h @@ -2,12 +2,12 @@ #define HW_SOUNDHW_H =20 void pci_register_soundhw(const char *name, const char *descr, - int (*init_pci)(PCIBus *bus)); + int (*init_pci)(PCIBus *bus, const char *audiode= v)); void deprecated_register_soundhw(const char *name, const char *descr, int isa, const char *typename); =20 void soundhw_init(void); void show_valid_soundhw(void); -void select_soundhw(const char *optarg); +void select_soundhw(const char *optarg, const char *audiodev); =20 #endif diff --git a/qemu-options.hx b/qemu-options.hx index 796229c433..60d2d728d6 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -661,6 +661,30 @@ SRST (deprecated) environment variables. ERST =20 +DEF("audio", HAS_ARG, QEMU_OPTION_audio, + "-audio [driver=3D]driver,model=3Dvalue[,prop[=3Dvalue][,...]]\n" + " specifies the audio backend and device to use;\n" + " apart from 'model', options are the same as for -audi= odev.\n" + " use '-audio model=3Dhelp' to show possible devices.\n= ", + QEMU_ARCH_ALL) +SRST +``-audio [driver=3D]driver,model=3Dvalue[,prop[=3Dvalue][,...]]`` + This option is a shortcut for configuring both the guest audio + hardware and the host audio backend in one go. + The host backend options are the same as with the corresponding + ``-audiodev`` options below. The guest hardware model can be set with + ``model=3Dmodelname``. Use ``model=3Dhelp`` to list the available devi= ce + types. + + The following two example do exactly the same, to show how ``-audio`` + can be used to shorten the command line length: + + .. parsed-literal:: + + |qemu_system| -audiodev pa,id=3Dpa -device sb16,audiodev=3Dpa + |qemu_system| -audio pa,model=3Dsb16 +ERST + DEF("audiodev", HAS_ARG, QEMU_OPTION_audiodev, "-audiodev [driver=3D]driver,id=3Did[,prop[=3Dvalue][,...]]\n" " specifies the audio backend to use\n" @@ -892,33 +916,6 @@ SRST ``qemu.wav``. ERST =20 -DEF("soundhw", HAS_ARG, QEMU_OPTION_soundhw, - "-soundhw c1,... enable audio support\n" - " and only specified sound cards (comma separated list)= \n" - " use '-soundhw help' to get the list of supported card= s\n" - " use '-soundhw all' to enable all of them\n", QEMU_ARC= H_ALL) -SRST -``-soundhw card1[,card2,...] or -soundhw all`` - Enable audio and selected sound hardware. Use 'help' to print all - available sound hardware. For example: - - .. parsed-literal:: - - |qemu_system_x86| -soundhw sb16,adlib disk.img - |qemu_system_x86| -soundhw es1370 disk.img - |qemu_system_x86| -soundhw ac97 disk.img - |qemu_system_x86| -soundhw hda disk.img - |qemu_system_x86| -soundhw all disk.img - |qemu_system_x86| -soundhw help - - Note that Linux's i810\_audio OSS kernel (for AC97) module might - require manually specifying clocking. - - :: - - modprobe i810_audio clocking=3D48000 -ERST - DEF("device", HAS_ARG, QEMU_OPTION_device, "-device driver[,prop[=3Dvalue][,...]]\n" " add device (based on driver)\n" diff --git a/softmmu/vl.c b/softmmu/vl.c index 0363cbd9b4..219b23a573 100644 --- a/softmmu/vl.c +++ b/softmmu/vl.c @@ -116,6 +116,8 @@ #include "crypto/init.h" #include "sysemu/replay.h" #include "qapi/qapi-events-run-state.h" +#include "qapi/qapi-types-audio.h" +#include "qapi/qapi-visit-audio.h" #include "qapi/qapi-visit-block-core.h" #include "qapi/qapi-visit-compat.h" #include "qapi/qapi-visit-ui.h" @@ -2930,13 +2932,33 @@ void qemu_init(int argc, char **argv, char **envp) case QEMU_OPTION_audiodev: audio_parse_option(optarg); break; - case QEMU_OPTION_soundhw: - if (is_help_option(optarg)) { + case QEMU_OPTION_audio: { + QDict *dict =3D keyval_parse(optarg, "driver", NULL, &erro= r_fatal); + char *model; + Audiodev *dev =3D NULL; + Visitor *v; + + if (!qdict_haskey(dict, "id")) { + qdict_put_str(dict, "id", "audiodev0"); + } + if (!qdict_haskey(dict, "model")) { + error_setg(&error_fatal, "Parameter 'model' is missing= "); + } + model =3D g_strdup(qdict_get_str(dict, "model")); + qdict_del(dict, "model"); + if (is_help_option(model)) { show_valid_soundhw(); exit(0); } - select_soundhw (optarg); + v =3D qobject_input_visitor_new_keyval(QOBJECT(dict)); + qobject_unref(dict); + visit_type_Audiodev(v, NULL, &dev, &error_fatal); + visit_free(v); + audio_define(dev); + select_soundhw(model, dev->id); + g_free(model); break; + } case QEMU_OPTION_h: help(0); break; --=20 2.36.0 From nobody Fri May 3 05:01:43 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=1652721379; cv=none; d=zohomail.com; s=zohoarc; b=dpOg13rBNv0NVtlAp5LI8JvpERf2n+U6wqP4PcGPqKCUULCrfU5JHG5ZsCtZNpPC/cvjJrk0vYmT9TFhWlahNf2okRUMbMEQfKA1u6AlfhO8jWTISlkBxamjoiQMFoG+K/Ob6QS+Wg/IPSQ84Ogun5VlCYoAxox9E1svrwEPwrc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1652721379; h=Content-Type:Content-Transfer-Encoding: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=OK0to00hZr33g+bacbdfmnWtmxWLDNzWz7vj6utljHg=; b=ni3RL+e452QEvc2JTJgPMMtdYP6Sf/scIYqdv+mTsObOhxclCk+Au5qkZvtFOhBvJThLhfhpubZbomTZT6DYYYXEcm5DY73T0lYRi1uS/H/uLikHm0MNr3VhwWDbHe6NefHSgkehvTRqGXSTk/q+iootnDvnyH8+h2UaI70KrCg= 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 1652721379691572.2276957033736; Mon, 16 May 2022 10:16:19 -0700 (PDT) Received: from localhost ([::1]:42522 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nqeKQ-0002D9-BN for importer@patchew.org; Mon, 16 May 2022 13:16:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40490) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd5V-0002w2-7n for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:50 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:35715) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd5T-0003Qk-HH for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:48 -0400 Received: from mail-ed1-f71.google.com (mail-ed1-f71.google.com [209.85.208.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-562-_Ox6IOqjOyWVvcNKQXTGyQ-1; Mon, 16 May 2022 11:56:45 -0400 Received: by mail-ed1-f71.google.com with SMTP id ch28-20020a0564021bdc00b00425cb227ab4so10047745edb.4 for ; Mon, 16 May 2022 08:56:45 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id zp1-20020a17090684e100b006f3ef214e28sm38004ejb.142.2022.05.16.08.56.42 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 May 2022 08:56:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1652716607; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OK0to00hZr33g+bacbdfmnWtmxWLDNzWz7vj6utljHg=; b=QmVVRJZWVhkBLq3i2fmEBydbVNVefGcE4qHyuxprDV/JzayGCpVVzxj3i/2XIjhm/8jXz/ m5FjNt8ScvXX9k/jVOnPtgkOoJBjfrZ+o7lSQ6q6BfZmClz2qJhSlOA/JPw32ZQnjFwu23 YkfGFFy5Arfa6zKmUQljRDisoyxd91U= X-MC-Unique: _Ox6IOqjOyWVvcNKQXTGyQ-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=OK0to00hZr33g+bacbdfmnWtmxWLDNzWz7vj6utljHg=; b=OKgMNEaVQWoQfHCgSmKxsslagChgLNQeuFoaYA39oiuqrXn7apLZl/GPNDPkT0SVOG LqwmIj4SoiJl3B7U0yUPG8tYQ4vU555gQ2IpW4WH29Q3A3TW5uF42Hog3ce3I2dCHrc/ I+/RG7AWKEzW178Jl/n1K0HF39rsPu3vl1/tF9Anaqbhsd+yoi9ftsxF9UdN7aV7PVa6 V7AqIIj922+HXqc8HRK51w1MBS6yq4117hukpR87q6kKmk8Ys/M1v6WgklU2HyXCC4Rt xQCrLIXUWEAcM0YydyF3GP3ZB5XX6JRQ+pwyJSBMx7KWvfUXEFo3WqlwQTOZt84wu1q7 eLCg== X-Gm-Message-State: AOAM5316Lo+U4uGWowECJgiZJl2NJyytvijbrnNHQ+a+h1M+BuEYHlBV z0zdIqEJrff/PWxaaLf7+wPaXnHCWFT3OU7KXX3PaT+/MzR31YigPKLwmGfDUr38Py8i8kpa8h2 AjLOKL/G7GfMKqKy3WgFEpNc+X9Dz42lw7psBJ52kF8FE1t5SBKb2Lcal+mGW0uvUdDU= X-Received: by 2002:aa7:da83:0:b0:42a:b7c9:1a7b with SMTP id q3-20020aa7da83000000b0042ab7c91a7bmr3671428eds.359.1652716603991; Mon, 16 May 2022 08:56:43 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwpYk8uCLcauoV7+XpxuGYeHc+cm1Mks7Rfz3mdJjnRqmuNx6iRIaNb774Wup8RiX18RO5dLA== X-Received: by 2002:aa7:da83:0:b0:42a:b7c9:1a7b with SMTP id q3-20020aa7da83000000b0042ab7c91a7bmr3671407eds.359.1652716603780; Mon, 16 May 2022 08:56:43 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 21/23] build: remove useless dependency Date: Mon, 16 May 2022 17:56:01 +0200 Message-Id: <20220516155603.1234712-22-pbonzini@redhat.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220516155603.1234712-1-pbonzini@redhat.com> References: <20220516155603.1234712-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -28 X-Spam_score: -2.9 X-Spam_bar: -- X-Spam_report: (-2.9 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.082, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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" X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1652721380839100001 Content-Type: text/plain; charset="utf-8" qemu-plugins.symbols is now processed in Meson. Signed-off-by: Paolo Bonzini --- Makefile | 3 --- 1 file changed, 3 deletions(-) diff --git a/Makefile b/Makefile index e5fd1ebdf6..b842dbccdb 100644 --- a/Makefile +++ b/Makefile @@ -165,10 +165,7 @@ ifneq ($(filter $(ninja-targets), $(ninja-cmd-goals)),) endif endif =20 -# Force configure to re-run if the API symbols are updated ifeq ($(CONFIG_PLUGIN),y) -config-host.mak: $(SRC_PATH)/plugins/qemu-plugins.symbols - .PHONY: plugins plugins: $(call quiet-command,\ --=20 2.36.0 From nobody Fri May 3 05:01:43 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=1652717884; cv=none; d=zohomail.com; s=zohoarc; b=FWCqLjdbSP/9gMDFzGdBr/QI5Pn2pdc5+CXX3PfxMn2IAu68lxr087+6+6CMoM5K1p2OjNOgd2ds1oTAE+/hMP27CweonIp1Oh5rCLx0hqALsIgdDe3kZfqrv9Xfw+SY/l7qj+hOlro6dk53oTlJA0Be7a698aTU66fklgAj5k8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1652717884; h=Content-Type:Content-Transfer-Encoding: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=UD1ktUjeIsHgoVdsvsoK6vrVzweAvHuK/QoZj+edBNI=; b=WIghFCAgxGeUG7lFccvG7SQePWm+0sbLO6E8/OO4G3Wpt4qPRRZStUOpUvpcXSvIjfoe1UUn28mJkW4tE1mgK5USeRC9VxuDLB8du1uBfIoKjpjbPTq5oBTNGyrjbS/1JEL/PPufcXwVt1CQuOT0IYtrFdp+PglTr4QE2uLe17Q= 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 1652717884738403.27093382423527; Mon, 16 May 2022 09:18:04 -0700 (PDT) Received: from localhost ([::1]:42638 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nqdQ3-0006Yg-Hv for importer@patchew.org; Mon, 16 May 2022 12:18:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40508) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd5W-0002ww-EC for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:51 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]:40456) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd5U-0003Qv-Pr for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:50 -0400 Received: from mail-ed1-f69.google.com (mail-ed1-f69.google.com [209.85.208.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-615-UmozlCb7MZqssOHs5gIkpA-1; Mon, 16 May 2022 11:56:46 -0400 Received: by mail-ed1-f69.google.com with SMTP id cz24-20020a0564021cb800b00425dfdd7768so10052970edb.2 for ; Mon, 16 May 2022 08:56:46 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id u20-20020a170906109400b006f3ef214e72sm15178eju.216.2022.05.16.08.56.44 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 May 2022 08:56:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1652716608; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=UD1ktUjeIsHgoVdsvsoK6vrVzweAvHuK/QoZj+edBNI=; b=invXjcLAEJ6XvAAR5Y8rquskM1Au61b0SNTnqijD7f63S8rx0xDCda/SGxlBNXibx+XTXQ bSmwggwyJveiChdiz26+s8vCXOCtfuT16c5Zdoduq8CtovuqmvI7MQE1hBwxCUgqkZsNGE Z4tEuqhUZ+Tcc7q4FLW2/JlN1iXncEA= X-MC-Unique: UmozlCb7MZqssOHs5gIkpA-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=UD1ktUjeIsHgoVdsvsoK6vrVzweAvHuK/QoZj+edBNI=; b=Ge2p+4EtRZwQ1ZSjR0dTAOMn4BOagef6HjZtknIKAU8LZFVGIzNlTBJPlC5+kibwIb bb3u5TAdUUKWAh+IlgAvQaQrdn3vfPTbHH0h4tY2kiQSW8bc+fo/y52QCJoL5n2IczTE yXj/T/8SDenMTJyYlV89iX8yhuUKCon4tv3lZJUyY8ZHLOQfZN5lnGXGr4YnUony6l75 SZYvyVLbr0vWE3mSOr3wW/9f0CrDRIMQxst13thghf5MeoaR00Uavd8wUF0WIYo/nuts 7Ze80yT6/SgG6kPubcAU2L0898xDZchlct59gj5xPvMeopSwa34wX1QYaUnHrZgK6cVW Pvww== X-Gm-Message-State: AOAM532ODFzocVwzHz77q0ne2/7F8UuS9aavqqjSEgHVNVS1JJm0vfoU bYGzXZSHOrTKzpR0UB9D3lOyYLVk+JB4xPF4L4QV51JICHqDI5sSMxAQdGtI1h/lUYJY65kIQr0 VrFqgUOMzHQr09UOTjrUSlX8mnzNeYV4TGIUaMmBqJ16jLqJvW+OaIXMvKnWTWJuQnxg= X-Received: by 2002:a17:907:72ca:b0:6f9:8675:6a2a with SMTP id du10-20020a17090772ca00b006f986756a2amr15998612ejc.98.1652716605474; Mon, 16 May 2022 08:56:45 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxUYrtN3uTw57gq8xdlH1z46Lc7Sj+75s45BVQVvMzWwdAGnDJBDSUNOSNYBY6DAyiyN31jNQ== X-Received: by 2002:a17:907:72ca:b0:6f9:8675:6a2a with SMTP id du10-20020a17090772ca00b006f986756a2amr15998593ejc.98.1652716605233; Mon, 16 May 2022 08:56:45 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 22/23] configure: remove another dead variable Date: Mon, 16 May 2022 17:56:02 +0200 Message-Id: <20220516155603.1234712-23-pbonzini@redhat.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220516155603.1234712-1-pbonzini@redhat.com> References: <20220516155603.1234712-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -28 X-Spam_score: -2.9 X-Spam_bar: -- X-Spam_report: (-2.9 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.082, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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" X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1652717885812100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Paolo Bonzini --- configure | 1 - 1 file changed, 1 deletion(-) diff --git a/configure b/configure index c8b5b99532..dda25f05bf 100755 --- a/configure +++ b/configure @@ -1992,7 +1992,6 @@ fi if test "$static" =3D "yes" ; then echo "CONFIG_STATIC=3Dy" >> $config_host_mak fi -qemu_version=3D$(head $source_path/VERSION) echo "SRC_PATH=3D$source_path" >> $config_host_mak echo "TARGET_DIRS=3D$target_list" >> $config_host_mak if test "$modules" =3D "yes"; then --=20 2.36.0 From nobody Fri May 3 05:01:43 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=1652721583; cv=none; d=zohomail.com; s=zohoarc; b=NlnTFB7/YORoVKEbH75Y2/7Dx1EaZH+5IrT/8ncuJZiv35NIdlrMrwMUTl3FVN+ZRIUvt+53npUknMk0IctGgmK+/uQxYTlUb/4CubIucveOXGBTrUGGH0Sl2vX52VcJsptNtK+fPoPfFtiqVB2Z3FksE7ebq0KJ47toX65RwQg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1652721583; h=Content-Type:Content-Transfer-Encoding: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=HbXuoKgFMK8+YZhLN1m76ki//xYuz8s9DmNhEQf7244=; b=Vig80IMXUFfL3y5q4N9zhjz178hjJHC1BLNIFQkgVDy2HwDXnlGIG9MIW2oL2XwLiUJBQ34j5wxVwcjxMlWCQBRDURN3vboX9sWoQWY84rdsjWFNnHIYX5SOkc7PL3NjusfK2zv8oKpBSP+CnDLqjQSrnh3+kJFu+IwUh1hNEso= 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 1652721583737647.6937946003226; Mon, 16 May 2022 10:19:43 -0700 (PDT) Received: from localhost ([::1]:50870 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nqeNi-00082M-MC for importer@patchew.org; Mon, 16 May 2022 13:19:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40514) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd5X-0002x7-A8 for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:51 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:35866) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nqd5V-0003R9-Rz for qemu-devel@nongnu.org; Mon, 16 May 2022 11:56:51 -0400 Received: from mail-ed1-f72.google.com (mail-ed1-f72.google.com [209.85.208.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-626-7EY51dY6O_yfrbB_P6eepQ-1; Mon, 16 May 2022 11:56:48 -0400 Received: by mail-ed1-f72.google.com with SMTP id n7-20020a05640206c700b0042aaeb9d702so2473553edy.19 for ; Mon, 16 May 2022 08:56:48 -0700 (PDT) Received: from [192.168.10.118] ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id ia21-20020a170907a07500b006f3ef214dd4sm49659ejc.58.2022.05.16.08.56.45 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 May 2022 08:56:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1652716609; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=HbXuoKgFMK8+YZhLN1m76ki//xYuz8s9DmNhEQf7244=; b=S9V0vS5AkmOxJF8XrrSmH2yJh2FIvwPmB7GN+15ci0gVIGCv64QC7tQnehM9EGvwQkASE6 0in9jp+ghnyYFTVAp4u955Mbwhm3EE1KMX6qSkB7X1WAEYVaKdT0Zhu2jc85aW0EjtC2T/ 6/8wk9WY10rf3OV3OQX9ZnzPz8ZUdxQ= X-MC-Unique: 7EY51dY6O_yfrbB_P6eepQ-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=HbXuoKgFMK8+YZhLN1m76ki//xYuz8s9DmNhEQf7244=; b=p9zmpXrsbJa+nM9XgFQfaAHix67o3sPD8rgPHGkymn4aK7icp0+F2OjAIYcIOr2RX1 Gq6WmjL82a4Z5KqEg4aFWBbdS6mI5th6W5N3polgMzmyspHok/QmmsNbMOlKXUxpPtcz J7HYpPNWqHfXSt7/EV3FEu9SdOwDuwOJiNVYIxa4dKQBh124MQdP/I77MUbM5TpAPrXl WmWG/ULFNqmMGAJsHMWWSoLAWNSJkE2CK47nTWWTKppOH6KTge5NYxzflYZNjfQqL6qO Zk59lJdreqAES2DF8lwNjdRVpMmtfWWHRJNt32lR8Sp+6IuHQcdMghkr7aQ+TY4HDY05 So3A== X-Gm-Message-State: AOAM530E4/RldMA55HQ6+/BGPVHWdG7FgoHpP92oZ3WyoUKUOks51MXM DscPrvs7nFXGBpzeP73v+UiY/0E2Y5FoYMbr6z6FNHR/ydmG4GBP8igVY/tVuUFlB+0yhdZlONn sddsMI7c+0b/NLxNEUVs9gKMzewe+T1MVWLzebEtfLalNZWaDJqylGdISdzGR/bz6T8I= X-Received: by 2002:a50:fd11:0:b0:42a:b6af:6e13 with SMTP id i17-20020a50fd11000000b0042ab6af6e13mr3991213eds.221.1652716606803; Mon, 16 May 2022 08:56:46 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwiZ6HrRPbzCBnHSJPPO3nun5fkGOIW8M30HFKOiyCYgM469AbUkolXt+Fa+DwvuM6OM6Gddg== X-Received: by 2002:a50:fd11:0:b0:42a:b6af:6e13 with SMTP id i17-20020a50fd11000000b0042ab6af6e13mr3991190eds.221.1652716606562; Mon, 16 May 2022 08:56:46 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 23/23] configure: remove duplicate help messages Date: Mon, 16 May 2022 17:56:03 +0200 Message-Id: <20220516155603.1234712-24-pbonzini@redhat.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220516155603.1234712-1-pbonzini@redhat.com> References: <20220516155603.1234712-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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=pbonzini@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -28 X-Spam_score: -2.9 X-Spam_bar: -- X-Spam_report: (-2.9 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.082, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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" X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1652721585231100003 Content-Type: text/plain; charset="utf-8" These messages are already emitted by scripts/meson-parse-buildoptions.sh. Signed-off-by: Paolo Bonzini --- configure | 4 ---- 1 file changed, 4 deletions(-) diff --git a/configure b/configure index dda25f05bf..0cc8c876f7 100755 --- a/configure +++ b/configure @@ -1043,10 +1043,6 @@ Advanced options (experts only): --enable-tsan enable thread sanitizer --disable-werror disable compilation abort on warning --disable-stack-protector disable compiler-provided stack protection - --audio-drv-list=3DLIST set audio drivers to try if -audiodev is not = used - --block-drv-whitelist=3DL Same as --block-drv-rw-whitelist=3DL - --with-trace-file=3DNAME Full PATH,NAME of file to store traces - Default:trace- --cpu=3DCPU Build for host CPU [$cpu] --with-coroutine=3DBACKEND coroutine backend. Supported options: ucontext, sigaltstack, windows --=20 2.36.0