From nobody Fri May 17 05:54:47 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 164624497251717.774944250202452; Wed, 2 Mar 2022 10:16:12 -0800 (PST) Received: from localhost ([::1]:50356 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nPTWF-0004P3-BS for importer@patchew.org; Wed, 02 Mar 2022 13:16:11 -0500 Received: from eggs.gnu.org ([209.51.188.92]:59762) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nPTRs-0006eV-Ow for qemu-devel@nongnu.org; Wed, 02 Mar 2022 13:11:41 -0500 Received: from [2a00:1450:4864:20::429] (port=43913 helo=mail-wr1-x429.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nPTRq-0008Li-S7 for qemu-devel@nongnu.org; Wed, 02 Mar 2022 13:11:40 -0500 Received: by mail-wr1-x429.google.com with SMTP id m6so4063498wrr.10 for ; Wed, 02 Mar 2022 10:11:38 -0800 (PST) Received: from avogadro.lan ([2001:b07:6468:f312:5e2c:eb9a:a8b6:fd3e]) by smtp.gmail.com with ESMTPSA id bg20-20020a05600c3c9400b0037fa5c422c8sm7720811wmb.48.2022.03.02.10.11.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Mar 2022 10:11:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Y9cqJILoV0+xn8mWQ2aytUPnC+SpQT6vl7Ugzs0thRM=; b=id2G97uub8Qa3dD1fLhTCiPLhQzRU5ZiimUd8W2FoyKBm/3EI6JdkUzWUHvxqHQVVL leY7EfX/ldU5TvudNjV6fdkQg+Up1ZURVunzBSdcbagaeVqlGeSlPKeIpnzoQwzRXNty 8vowyMtdaUCUEGAfmrZGXYiXivJ5FdIlRs7vgzKoTyqocriDIXo+uFXUVKd9qo+xxwPa ZYWoPgAcQdKc23y07TLHMTx0O4zyv9wFcsGwnNf/ZPHgukaiPDg1VDjU7RQP2CIDQptm ce1fRvwaezZ3wiS6aehqKOoajLrGGxYpe4uUM3b0ffP1B8AT55wKB+EcMqQUXNJDlLxr XPog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=Y9cqJILoV0+xn8mWQ2aytUPnC+SpQT6vl7Ugzs0thRM=; b=v4Pa7vZdTeJbWTfOtGMnGKgVp5NXgOIaK/mo3tRtCdveuOZhu9UYICOlTwhGWRJ+e2 JLWWOk5iurG9jWKxtpc56xvEtLDVmHTKnflLfQ1Pbz/jM97V4R8R4fG0j9GrfU/kymKa KUPSP1iJvpoHhpXqyyPRKk2oc1RG5uHT2SgB/26DKeKjmxejlJ+QJpE1gQ8j/4gbQP4J pCF6EzzQFUKGahoxmU2HTLFqODy0L5W7zf06/tH5AcONPLOAVEQlYq3kr/iAxsXkMDVv YOvR+HUXcAYmZxtqK+F7WbB+OrED30oTPOhUFPnp2MMw/kpAHHBOOqV0eworxQL9xy50 /osQ== X-Gm-Message-State: AOAM530YL810Ae5cDysV9guK+xbpnkWApDaK0/j9M/MVQCltFEUDILoX mUHsxzy8yEIlqO9LpfwrRmK98BKpJ6w= X-Google-Smtp-Source: ABdhPJzxZvIxl88LJnT187ZwGEyw3rMF4JAbXTP4fTcOXmViEAG0ZTDkX2xuGAlJFXsjwMaVKPS1Rg== X-Received: by 2002:adf:e5d0:0:b0:1f0:22ee:5828 with SMTP id a16-20020adfe5d0000000b001f022ee5828mr5227668wrn.516.1646244697372; Wed, 02 Mar 2022 10:11:37 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 01/11] whpx: Fixed reporting of the CPU context to GDB for 64-bit Date: Wed, 2 Mar 2022 19:11:24 +0100 Message-Id: <20220302181134.285107-2-pbonzini@redhat.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220302181134.285107-1-pbonzini@redhat.com> References: <20220302181134.285107-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::429 (failed) 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=2a00:1450:4864:20::429; envelope-from=paolo.bonzini@gmail.com; helo=mail-wr1-x429.google.com X-Spam_score_int: 0 X-Spam_score: -0.1 X-Spam_bar: / X-Spam_report: (-0.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Ivan Shcherbakov Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1646244973379100001 Content-Type: text/plain; charset="utf-8" From: Ivan Shcherbakov Make sure that pausing the VM while in 64-bit mode will set the HF_CS64_MASK flag in env->hflags (see x86_update_hflags() in target/i386/cpu.c). Without it, the code in gdbstub.c would only use the 32-bit register values when debugging 64-bit targets, making debugging effectively impossible. Signed-off-by: Ivan Shcherbakov Message-Id: <00f701d82874$68b02000$3a106000$@sysprogs.com> Signed-off-by: Paolo Bonzini --- target/i386/whpx/whpx-all.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c index ef896da0a2..edd4fafbdf 100644 --- a/target/i386/whpx/whpx-all.c +++ b/target/i386/whpx/whpx-all.c @@ -604,6 +604,8 @@ static void whpx_get_registers(CPUState *cpu) whpx_apic_get(x86_cpu->apic_state); } =20 + x86_update_hflags(env); + return; } =20 --=20 2.34.1 From nobody Fri May 17 05:54:47 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 164624546995312.210779356619355; Wed, 2 Mar 2022 10:24:29 -0800 (PST) Received: from localhost ([::1]:51472 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nPTeH-0007vm-8G for importer@patchew.org; Wed, 02 Mar 2022 13:24:29 -0500 Received: from eggs.gnu.org ([209.51.188.92]:59780) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nPTRu-0006fU-2U for qemu-devel@nongnu.org; Wed, 02 Mar 2022 13:11:42 -0500 Received: from [2a00:1450:4864:20::42c] (port=42912 helo=mail-wr1-x42c.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nPTRs-0008NX-DY for qemu-devel@nongnu.org; Wed, 02 Mar 2022 13:11:41 -0500 Received: by mail-wr1-x42c.google.com with SMTP id u10so2453770wra.9 for ; Wed, 02 Mar 2022 10:11:40 -0800 (PST) Received: from avogadro.lan ([2001:b07:6468:f312:5e2c:eb9a:a8b6:fd3e]) by smtp.gmail.com with ESMTPSA id bg20-20020a05600c3c9400b0037fa5c422c8sm7720811wmb.48.2022.03.02.10.11.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Mar 2022 10:11:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=M5dbaBdYAMjhrYbiwidflPhtFdmpOVM1ditmWCxx0uo=; b=HhP9/8EhQpfP8jl26gJ5VFFBwHwto4Ep6HR4LivgakHzw/HMhGAKf4SoNh4ez+cNfD J1txsf/RZIOTyKLaXhj1r+UvPDn6i+NKCpTu6j14dR548QeAm9PSDSRN4uEuytQ7G8mY o0NmqVgSCTSWePYwC9QsJ6bTX9rOoKA0rdCFNteynkcKMqgQN9WgOfmgLTFxhQJ+qqrc uKEfV3/dqlD96XY7RaJ6rIX4Vqp1LUYB9QBFQ1cFIJH/M9b0vN+ZahBFaAh0+eZr6BDX QqMdLIJP7GP1Xvy/BEJFoxqOzthqtJ0rYZINDIhUbUmPmnl+Hpy072khKiasmJg/RsJd KWEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=M5dbaBdYAMjhrYbiwidflPhtFdmpOVM1ditmWCxx0uo=; b=rpXipXrrNk5+q76oMX7aSZsGhgt3PB/BNSyVPbzguVFVQsrx4567vKzVHP8L3W0Y30 bDbhLY5rkG35JWQcfRFCK7CylD42sSNKNgYYosiGK3rAbXj7JmSpIBAKjknRt8QGdMik PG/z5keXoqqzkBSgdZEEZR5Feg4Y9bagZwh3eA8+5qZ74JA0dukHsAmIVO/pIVz9pwOh BrJt+kj9p6hhaEOH6RnxdncvKldfbevK/3Lc5tG8175mnKLLFHk4C0Sp6iH/bOvSdCqA ctYgT+qU2qDsV9SAJc7sZQI9OK/PCTEgCX3GEuGyb+akWCdQM02JPH642uEzi5xy7GTM RBPg== X-Gm-Message-State: AOAM533BPDd/W47GmobugfYGDWB6dnpif3fp74lxZAD0lEgOtuhJCGUA yd9DfpkLNDEIh0UBJbEYLRR6lO3fgp0= X-Google-Smtp-Source: ABdhPJx82IzqlVKNyBtMDWgxZ1EzlCIlnNHJW0wXQeNL3/A8r9ag+dMdbmBnBEqhrKjMIBB8r1qtAg== X-Received: by 2002:a5d:59ac:0:b0:1e4:9b6e:eac7 with SMTP id p12-20020a5d59ac000000b001e49b6eeac7mr24895021wrr.172.1646244699129; Wed, 02 Mar 2022 10:11:39 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 02/11] whpx: Fixed incorrect CR8/TPR synchronization Date: Wed, 2 Mar 2022 19:11:25 +0100 Message-Id: <20220302181134.285107-3-pbonzini@redhat.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220302181134.285107-1-pbonzini@redhat.com> References: <20220302181134.285107-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::42c (failed) 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=2a00:1450:4864:20::42c; envelope-from=paolo.bonzini@gmail.com; helo=mail-wr1-x42c.google.com X-Spam_score_int: 0 X-Spam_score: -0.1 X-Spam_bar: / X-Spam_report: (-0.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Ivan Shcherbakov Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1646245471926100001 Content-Type: text/plain; charset="utf-8" From: Ivan Shcherbakov This fixes the following error triggered when stopping and resuming a 64-bit Linux kernel via gdb: qemu-system-x86_64.exe: WHPX: Failed to set virtual processor context, hr= =3Dc0350005 The previous logic for synchronizing the values did not take into account that the lower 4 bits of the CR8 register, containing the priority level, mapped to bits 7:4 of the APIC.TPR register (see section 10.8.6.1 of Volume 3 of Intel 64 and IA-32 Architectures Software Developer's Manual). The caused WHvSetVirtualProcessorRegisters() to fail with an error, effectively preventing GDB from changing the guest context. Signed-off-by: Ivan Shcherbakov Message-Id: <010b01d82874$bb4ef160$31ecd420$@sysprogs.com> Signed-off-by: Paolo Bonzini --- target/i386/whpx/whpx-all.c | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c index edd4fafbdf..63203730bc 100644 --- a/target/i386/whpx/whpx-all.c +++ b/target/i386/whpx/whpx-all.c @@ -256,6 +256,21 @@ static int whpx_set_tsc(CPUState *cpu) return 0; } =20 +/* + * The CR8 register in the CPU is mapped to the TPR register of the APIC, + * however, they use a slightly different encoding. Specifically: + * + * APIC.TPR[bits 7:4] =3D CR8[bits 3:0] + * + * This mechanism is described in section 10.8.6.1 of Volume 3 of Intel 64 + * and IA-32 Architectures Software Developer's Manual. + */ + +static uint64_t whpx_apic_tpr_to_cr8(uint64_t tpr) +{ + return tpr >> 4; +} + static void whpx_set_registers(CPUState *cpu, int level) { struct whpx_state *whpx =3D &whpx_global; @@ -284,7 +299,7 @@ static void whpx_set_registers(CPUState *cpu, int level) v86 =3D (env->eflags & VM_MASK); r86 =3D !(env->cr[0] & CR0_PE_MASK); =20 - vcpu->tpr =3D cpu_get_apic_tpr(x86_cpu->apic_state); + vcpu->tpr =3D whpx_apic_tpr_to_cr8(cpu_get_apic_tpr(x86_cpu->apic_stat= e)); vcpu->apic_base =3D cpu_get_apic_base(x86_cpu->apic_state); =20 idx =3D 0; @@ -475,6 +490,17 @@ static void whpx_get_registers(CPUState *cpu) hr); } =20 + if (whpx_apic_in_platform()) { + /* + * Fetch the TPR value from the emulated APIC. It may get overwrit= ten + * below with the value from CR8 returned by + * WHvGetVirtualProcessorRegisters(). + */ + whpx_apic_get(x86_cpu->apic_state); + vcpu->tpr =3D whpx_apic_tpr_to_cr8( + cpu_get_apic_tpr(x86_cpu->apic_state)); + } + idx =3D 0; =20 /* Indexes for first 16 registers match between HV and QEMU definition= s */ --=20 2.34.1 From nobody Fri May 17 05:54:47 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1646245584892395.7404807044031; Wed, 2 Mar 2022 10:26:24 -0800 (PST) Received: from localhost ([::1]:55754 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nPTg7-0002Yu-7J for importer@patchew.org; Wed, 02 Mar 2022 13:26:23 -0500 Received: from eggs.gnu.org ([209.51.188.92]:59794) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nPTRw-0006hY-0P for qemu-devel@nongnu.org; Wed, 02 Mar 2022 13:11:44 -0500 Received: from [2a00:1450:4864:20::42d] (port=36847 helo=mail-wr1-x42d.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nPTRt-0008O5-IJ for qemu-devel@nongnu.org; Wed, 02 Mar 2022 13:11:42 -0500 Received: by mail-wr1-x42d.google.com with SMTP id r10so4101966wrp.3 for ; Wed, 02 Mar 2022 10:11:41 -0800 (PST) Received: from avogadro.lan ([2001:b07:6468:f312:5e2c:eb9a:a8b6:fd3e]) by smtp.gmail.com with ESMTPSA id bg20-20020a05600c3c9400b0037fa5c422c8sm7720811wmb.48.2022.03.02.10.11.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Mar 2022 10:11:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=sppHUFpHoe2Mf0jRs80IVLnkBEj/9LXlh2U2u72ah2M=; b=eFddcbmNonXX6qRbTxNrsgOouKnX6MxFK6Y+K9ulLHzWyD6HYQHzYJC0p/PNS+j0oq eUxfkrDJFjQltk2CWD8aAxelZrmco3uSQGfH1vSt0QnM2hZjHg7sqG1AJaRlyZDfkgdT KkFexzmKKB+hxRRpe+q781F1itdf05nGCZoWAaP25xcHARBbe6XIKBpKzPJnjRhe4pbv UcMwvvI54Z0auMUQKtZfUCctK91BRi6vcwJk2JU9z18P0YmmBFPbQ4WUVOxeLAaLLpZ2 1OErIIOaxmKXUFsJ73j1DDo6XR/758aOctassrbqtAU3HgaTh46Mnr0ynjyEk3Gy1GyI FmGA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=sppHUFpHoe2Mf0jRs80IVLnkBEj/9LXlh2U2u72ah2M=; b=6bE36vugT2aqhn4bvA4EVpdGSkOrNRONRzxobeZxkawHie0W5yDNw9PBWegqHpAeve M01aCLEzWJt5939vR+qLoM/4MuKjOiXZzFk/TuqeofWhSXFGA8QNF4y63pj9lOeHR7CL fH+6cHqSJa4/lAk39WPlSWmrhcq3nZSFA4IK8jnj0fb5tTs56UlJ+u/8b75zHF2RaX2w xAodfyqHd3Wsa+XgNbD5qIqxVtfujfNPqOcym/xr5s6iIj4jeJQojdyyXWQAEJCiU/gJ liokMIdlHTUt7Q2VyrxMnvLRDlJkgRhmmJcZP/B36dqAcz5+6Nd+uSfLgXhOojH/tLZE vJXw== X-Gm-Message-State: AOAM530wcd0s5Kcz9NjFOgjgeYV7fS+g8253OCLVq8TOR7STPH4FFzl3 XbHpKbh8e7/pPcEkUDpfqmaTVQLxOHI= X-Google-Smtp-Source: ABdhPJykWY1+W2QBwkXJahneb9cjAFN8YeXXzrFiaHFuE62D6TB9xiUSvkE3fEYOqliXgJ2ILE7ULw== X-Received: by 2002:a5d:52ca:0:b0:1e5:8cbc:7f2e with SMTP id r10-20020a5d52ca000000b001e58cbc7f2emr24171216wrv.309.1646244700343; Wed, 02 Mar 2022 10:11:40 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 03/11] vmxcap: Add 5-level EPT bit Date: Wed, 2 Mar 2022 19:11:26 +0100 Message-Id: <20220302181134.285107-4-pbonzini@redhat.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220302181134.285107-1-pbonzini@redhat.com> References: <20220302181134.285107-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::42d (failed) 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=2a00:1450:4864:20::42d; envelope-from=paolo.bonzini@gmail.com; helo=mail-wr1-x42d.google.com X-Spam_score_int: 0 X-Spam_score: -0.1 X-Spam_bar: / X-Spam_report: (-0.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Vitaly Kuznetsov Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1646245587900100001 Content-Type: text/plain; charset="utf-8" From: Vitaly Kuznetsov 5-level EPT is present in Icelake Server CPUs and is supported by QEMU ('vmx-page-walk-5'). Signed-off-by: Vitaly Kuznetsov Message-Id: <20220221145316.576138-2-vkuznets@redhat.com> Signed-off-by: Paolo Bonzini --- scripts/kvm/vmxcap | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/kvm/vmxcap b/scripts/kvm/vmxcap index 6fe66d5f57..f140040104 100755 --- a/scripts/kvm/vmxcap +++ b/scripts/kvm/vmxcap @@ -249,6 +249,7 @@ controls =3D [ bits =3D { 0: 'Execute-only EPT translations', 6: 'Page-walk length 4', + 7: 'Page-walk length 5', 8: 'Paging-structure memory type UC', 14: 'Paging-structure memory type WB', 16: '2MB EPT pages', --=20 2.34.1 From nobody Fri May 17 05:54:47 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1646245114519810.7988121121496; Wed, 2 Mar 2022 10:18:34 -0800 (PST) Received: from localhost ([::1]:59110 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nPTYX-00023i-Tf for importer@patchew.org; Wed, 02 Mar 2022 13:18:33 -0500 Received: from eggs.gnu.org ([209.51.188.92]:59808) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nPTRx-0006kC-Sm for qemu-devel@nongnu.org; Wed, 02 Mar 2022 13:11:47 -0500 Received: from [2a00:1450:4864:20::329] (port=44616 helo=mail-wm1-x329.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nPTRu-0008Oi-Px for qemu-devel@nongnu.org; Wed, 02 Mar 2022 13:11:44 -0500 Received: by mail-wm1-x329.google.com with SMTP id bg31-20020a05600c3c9f00b00381590dbb33so1772232wmb.3 for ; Wed, 02 Mar 2022 10:11:41 -0800 (PST) Received: from avogadro.lan ([2001:b07:6468:f312:5e2c:eb9a:a8b6:fd3e]) by smtp.gmail.com with ESMTPSA id bg20-20020a05600c3c9400b0037fa5c422c8sm7720811wmb.48.2022.03.02.10.11.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Mar 2022 10:11:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=4VLoIpmcWh/bwRoXTyuG+imMilJf3xfJ/t7uUrTUILo=; b=oPxxP+VSDlvThvo+KMn8Bmj2Zzki4TGOmjJUz90+zK12i8KmBEYjmWbVVLOCH1WDnP 2f5kBX2mm59WG959N0PBU2k8VIboNmQobQamDvU03aaVF/LLjyopXuUTZL8uc4aotgk2 SG8vGx2kqyiQoS/arf9CUcAmggwQsJdYnylihKmNNKiunP0e2CMtlz2Hk9W/o/WFerUb q04dSM4L1Woge2WkjFM2sQ+ZJ/SS1VfjGw7kIqjFyZGVm6FvKp2Za3BYmyyvER9iFqak Ama5U/QSugpj+JVYFFhPtAG5oktBaFxzcC2Sah0C2Ng/CPolvoteQSAJvyPfyNAgKkBt HCzQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=4VLoIpmcWh/bwRoXTyuG+imMilJf3xfJ/t7uUrTUILo=; b=LHcxAhcg7VGBBFH3oT/Q41/wsQGTfk9h5QNVubYg2VhtqiowQa7csbwAGhTMy1iM/B M+6jhJIfKporYTec+TJJEzHzWkVdW9TJUlRK+M3Z/CGbT6MrhfgjhBxZT1Ou/JX+SJNF AEN7c7JpAttvbelxMJPkMsQ0ccOqoPaWv3qWL18fHgqes5Yvg2qwqbnB9LFDZyWgUfoJ sKgtilMXfLBtMEAeGEERpIAWX/mI8DBl3113+l3Uq7ipfoiT10YJyswbKlCufAXK1Fy0 ZqxgPO5+vlBAVCC/0mYlCDpeUxmvFYzoO2N+cVen36gUz+md9M0Z7jYI4MXOBVqeBGre IXSg== X-Gm-Message-State: AOAM530WbBI6li/BpKQp46AFxVZhoD6vYt+G5FDPDc4UaP8rZODldCnC Dgvcs/ntBPXGgpcrX6E7Npy5MCp68HA= X-Google-Smtp-Source: ABdhPJwhphMTNT9l/Dhm5EqOgLdCsav0g1RI2ZKW33+IR9PbFdrhXEXUBdGsI8iPJtFWsBT9yGqVOg== X-Received: by 2002:a05:600c:384b:b0:381:10bc:9e43 with SMTP id s11-20020a05600c384b00b0038110bc9e43mr817848wmr.181.1646244701068; Wed, 02 Mar 2022 10:11:41 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 04/11] meson: fix generic location of vss headers Date: Wed, 2 Mar 2022 19:11:27 +0100 Message-Id: <20220302181134.285107-5-pbonzini@redhat.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220302181134.285107-1-pbonzini@redhat.com> References: <20220302181134.285107-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::329 (failed) 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=2a00:1450:4864:20::329; envelope-from=paolo.bonzini@gmail.com; helo=mail-wm1-x329.google.com X-Spam_score_int: 0 X-Spam_score: -0.1 X-Spam_bar: / X-Spam_report: (-0.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1646245116233100001 From: Marc-Andr=C3=A9 Lureau This is a left-over, despite requesting the change before the merge. Fixes: commit 8821a389 ("configure, meson: replace VSS SDK checks and optio= ns with --enable-vss-sdk") Signed-off-by: Marc-Andr=C3=A9 Lureau Message-Id: <20220222194008.610377-2-marcandre.lureau@redhat.com> Signed-off-by: Paolo Bonzini --- meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 8df40bfac4..b871098dbb 100644 --- a/meson.build +++ b/meson.build @@ -1936,7 +1936,7 @@ have_vss =3D false if targetos =3D=3D 'windows' and link_language =3D=3D 'cpp' have_vss =3D cxx.compiles(''' #define __MIDL_user_allocate_free_DEFINED__ - #include + #include int main(void) { return VSS_CTX_BACKUP; }''') endif =20 --=20 2.34.1 From nobody Fri May 17 05:54:47 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1646245704050805.9336513029334; Wed, 2 Mar 2022 10:28:24 -0800 (PST) Received: from localhost ([::1]:60286 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nPTi3-0005s6-BG for importer@patchew.org; Wed, 02 Mar 2022 13:28:23 -0500 Received: from eggs.gnu.org ([209.51.188.92]:59830) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nPTRz-0006kd-GX for qemu-devel@nongnu.org; Wed, 02 Mar 2022 13:11:47 -0500 Received: from [2a00:1450:4864:20::429] (port=34542 helo=mail-wr1-x429.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nPTRx-0008PK-Ka for qemu-devel@nongnu.org; Wed, 02 Mar 2022 13:11:46 -0500 Received: by mail-wr1-x429.google.com with SMTP id d3so4115173wrf.1 for ; Wed, 02 Mar 2022 10:11:44 -0800 (PST) Received: from avogadro.lan ([2001:b07:6468:f312:5e2c:eb9a:a8b6:fd3e]) by smtp.gmail.com with ESMTPSA id bg20-20020a05600c3c9400b0037fa5c422c8sm7720811wmb.48.2022.03.02.10.11.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Mar 2022 10:11:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=x3Wm5zyvRpbzPis/TBvRWMn+RknvyzFIxPlVh7GOxBE=; b=CDH2POxq2Q9F7PnPNYxWfAtZpDsQ1B8xgEUGbCaR6DGU6ml01mwhI3D4Bc5aDQT83K TgaNci5eObpoKtMP+K7Rzxdgaxwka23IULJWVrezaYpe2oXwlkVEX+823Gt8lav74+q0 iATTANEdSxxL3fU70CsvLrBqg5OPa46/vp/fL2nSyF0eRzA+61GghXTc7rKRBeLJgYe0 wJdBhYlFI1LdsXI+dsg3KP9i7dGJwZhvG86sMjfiWs+Uz5DDW19gT5Sfd6+cRBuMr/gQ sSwcMP6/sgJKMz40DGjHNzucKCCCPKMW79LU8aVOoquw6xA84pnz3z1u55Mu3BbttABG E8Mw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=x3Wm5zyvRpbzPis/TBvRWMn+RknvyzFIxPlVh7GOxBE=; b=i0wG03uX9Yx/DpdMmQNaBeQfkXjaM24HdST3SgdHpnMh+gEQk8H8DNjF2quyDv7kYn A/qxLjvh9Tm59jrfYVMWjQ7rdIlO6ezb2I+vT2cCcB6ME3DQtxKSXe/8ZXlOxPrDlHP9 nAVyGEIkQgTzAuv4GNLmKyrZCB8Kzf0gMhGJVIBTOPEr5ce1b5QETiGm3OfZP5ijl6yT QFVpMd1SosBBdu0xEVVA5jjEd4ch53U08cAzHfe6yixgMOZM+rXOpfJ0iYuC3XY2kA3S 323JSoNk3wpNjISDjjAG1Vxq/604dmMQqWx9/Bex32tGccEG3oAdQvua7KjlDFTdKsLZ /56Q== X-Gm-Message-State: AOAM530gTqy59LyZhCM9In81MfOvw22L4qRDNGtOWx5M/mX/DmGtDEKt LgKbiRV3HHa1T0d6qMx42g903167MD8= X-Google-Smtp-Source: ABdhPJw29ECLu90Mi0YwxwmPx4Oe20jdomDSf3Fb7TPzQ11sF5czTJqI5uEA9BVxRlLQQLw4V2sMhw== X-Received: by 2002:a05:6000:16c8:b0:1ef:f880:79eb with SMTP id h8-20020a05600016c800b001eff88079ebmr9192611wrf.134.1646244703786; Wed, 02 Mar 2022 10:11:43 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 05/11] qga/vss-win32: check old VSS SDK headers Date: Wed, 2 Mar 2022 19:11:28 +0100 Message-Id: <20220302181134.285107-6-pbonzini@redhat.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220302181134.285107-1-pbonzini@redhat.com> References: <20220302181134.285107-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::429 (failed) 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=2a00:1450:4864:20::429; envelope-from=paolo.bonzini@gmail.com; helo=mail-wr1-x429.google.com X-Spam_score_int: 0 X-Spam_score: -0.1 X-Spam_bar: / X-Spam_report: (-0.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1646245706368100001 From: Marc-Andr=C3=A9 Lureau The VssCoordinator & VssAdmin interfaces have been moved to vsadmin.h in the Windows SDK. Signed-off-by: Marc-Andr=C3=A9 Lureau Message-Id: <20220222194008.610377-3-marcandre.lureau@redhat.com> Signed-off-by: Paolo Bonzini --- meson.build | 3 +++ qga/vss-win32/install.cpp | 4 ++++ qga/vss-win32/provider.cpp | 4 ++++ qga/vss-win32/vss-common.h | 3 ++- 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/meson.build b/meson.build index b871098dbb..101a3f2d31 100644 --- a/meson.build +++ b/meson.build @@ -1933,12 +1933,15 @@ config_host_data.set('CONFIG_AF_VSOCK', cc.compiles= (gnu_source_prefix + ''' }''')) =20 have_vss =3D false +have_vss_sdk =3D false # old xp/2003 SDK if targetos =3D=3D 'windows' and link_language =3D=3D 'cpp' have_vss =3D cxx.compiles(''' #define __MIDL_user_allocate_free_DEFINED__ #include int main(void) { return VSS_CTX_BACKUP; }''') + have_vss_sdk =3D cxx.has_header('vscoordint.h') endif +config_host_data.set('HAVE_VSS_SDK', have_vss_sdk) =20 have_ntddscsi =3D false if targetos =3D=3D 'windows' diff --git a/qga/vss-win32/install.cpp b/qga/vss-win32/install.cpp index efc5bb9909..8076efe3cb 100644 --- a/qga/vss-win32/install.cpp +++ b/qga/vss-win32/install.cpp @@ -13,7 +13,11 @@ #include "qemu/osdep.h" =20 #include "vss-common.h" +#ifdef HAVE_VSS_SDK #include +#else +#include +#endif #include "install.h" #include #include diff --git a/qga/vss-win32/provider.cpp b/qga/vss-win32/provider.cpp index fd187fb66f..1b885e24ee 100644 --- a/qga/vss-win32/provider.cpp +++ b/qga/vss-win32/provider.cpp @@ -12,7 +12,11 @@ =20 #include "qemu/osdep.h" #include "vss-common.h" +#ifdef HAVE_VSS_SDK #include +#else +#include +#endif #include =20 #define VSS_TIMEOUT_MSEC (60*1000) diff --git a/qga/vss-win32/vss-common.h b/qga/vss-win32/vss-common.h index 54f8de8c88..0e67e7822c 100644 --- a/qga/vss-win32/vss-common.h +++ b/qga/vss-win32/vss-common.h @@ -64,12 +64,13 @@ const CLSID CLSID_QGAVSSProvider =3D { 0x6e6a3492, 0x8d= 4d, 0x440c, const TCHAR g_szClsid[] =3D TEXT("{6E6A3492-8D4D-440C-9619-5E5D0CC31CA8}"); const TCHAR g_szProgid[] =3D TEXT("QGAVSSProvider"); =20 +#ifdef HAVE_VSS_SDK /* Enums undefined in VSS SDK 7.2 but defined in newer Windows SDK */ enum __VSS_VOLUME_SNAPSHOT_ATTRIBUTES { VSS_VOLSNAP_ATTR_NO_AUTORECOVERY =3D 0x00000002, VSS_VOLSNAP_ATTR_TXF_RECOVERY =3D 0x02000000 }; - +#endif =20 /* COM pointer utility; call ->Release() when it goes out of scope */ template --=20 2.34.1 From nobody Fri May 17 05:54:47 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1646245730639286.01291150967813; Wed, 2 Mar 2022 10:28:50 -0800 (PST) Received: from localhost ([::1]:33006 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nPTiT-0006Xq-VT for importer@patchew.org; Wed, 02 Mar 2022 13:28:50 -0500 Received: from eggs.gnu.org ([209.51.188.92]:59850) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nPTS2-0006q6-5A for qemu-devel@nongnu.org; Wed, 02 Mar 2022 13:11:51 -0500 Received: from [2a00:1450:4864:20::42e] (port=39876 helo=mail-wr1-x42e.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nPTS0-0008QG-Hn for qemu-devel@nongnu.org; Wed, 02 Mar 2022 13:11:49 -0500 Received: by mail-wr1-x42e.google.com with SMTP id ay10so4082019wrb.6 for ; Wed, 02 Mar 2022 10:11:48 -0800 (PST) Received: from avogadro.lan ([2001:b07:6468:f312:5e2c:eb9a:a8b6:fd3e]) by smtp.gmail.com with ESMTPSA id bg20-20020a05600c3c9400b0037fa5c422c8sm7720811wmb.48.2022.03.02.10.11.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Mar 2022 10:11:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=5jubMeLfMS6DO/0PCPGI57Go6LtnBr0CArY5PUrgsRY=; b=DYxmc7F66McsdB3bU+RofhAlr0VVUoCVX4n4J63bnZ0Myhcy42Htfh/E4C2BsIoxNl Rt0WXEv4RyiRuycom735zdsmOPy2uD1M2EXJeJZfBUI2S5hXYIWceBEYRbqhB4rwUOmE xqSSaECE2QSLDLLu3RVFPow+DgBtsMictRT8l8OLD1Y9WQkiYfuCQ+SYAoNbQpkONWQH rnCyJVFEJ9a2yc/rrO/uozuMwDduK6s3XNFTs7kHXC8zUrG6VtYCf90BY9HrhBGDkGzc wfbnIv616hb1caURGM+nT2v6U+FLaeUOJaZKgzeACdJBV4MAdhIH3nuD1KwqhlZsbKwy moXQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=5jubMeLfMS6DO/0PCPGI57Go6LtnBr0CArY5PUrgsRY=; b=4xtERiWapQ/exJvteOxP/5vmfrvUTdwqTIRUwYScsEv3L+uHL1C03QQAQcvmPzJgVL Pxm8Ua0Wkh3Xu85MTsC0SDMcQv7hjiiiJ2uqA4hc4lFeLOpQ5M9Iv610Pc4w0GkQE/KF pHb1gvk42liuZtyx0Fyo+YhMnL4pSUJi9CfWZFSu+JWEddNErg6tHEAyZECC5wyqpAmY U+NsFMYCZG18o8tZoQp14ZsYa/oEdJ62IpNAYEI+uLOrYl+PyZJcAXfGHGoy6MGWBUsl afD1dhul/4ag/c58BCctId9nOdfawsxoifga2x4kX3KUVwppqJhSN/a1qvxL9CiI+89k UMrA== X-Gm-Message-State: AOAM53061L4/306l1SB3/j2abbCFlXTS9Ita6a2ir/6lhhiKlwJWKrVX nv7IfygpzmMmuJf0zY+OxB1MpUnFyg4= X-Google-Smtp-Source: ABdhPJyBVxbT0Z1VbkhkPp9ggOx9ge/DTe6BhImoSXfTsJquTPQqdctWEaiX7TFOZmzGenN8ztVDmA== X-Received: by 2002:a5d:69d0:0:b0:1ef:747c:c1da with SMTP id s16-20020a5d69d0000000b001ef747cc1damr19203140wrw.713.1646244707274; Wed, 02 Mar 2022 10:11:47 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 06/11] qga/vss: update informative message about MinGW Date: Wed, 2 Mar 2022 19:11:29 +0100 Message-Id: <20220302181134.285107-7-pbonzini@redhat.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220302181134.285107-1-pbonzini@redhat.com> References: <20220302181134.285107-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::42e (failed) 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=2a00:1450:4864:20::42e; envelope-from=paolo.bonzini@gmail.com; helo=mail-wr1-x42e.google.com X-Spam_score_int: 0 X-Spam_score: -0.1 X-Spam_bar: / X-Spam_report: (-0.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1646245732168100001 From: Marc-Andr=C3=A9 Lureau The headers are now all available in MinGW master branch. (commit 13390dbbf885f and earlier) aiming for 10.0. Signed-off-by: Marc-Andr=C3=A9 Lureau Message-Id: <20220222194008.610377-4-marcandre.lureau@redhat.com> Signed-off-by: Paolo Bonzini --- qga/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qga/meson.build b/qga/meson.build index 54f2da5b07..62472747f1 100644 --- a/qga/meson.build +++ b/qga/meson.build @@ -15,7 +15,7 @@ have_qga_vss =3D get_option('qga_vss') \ If your Visual Studio installation doesn't have the VSS headers, Please download and install Microsoft VSS SDK: http://www.microsoft.com/en-us/download/details.aspx?id=3D23490 - On POSIX-systems, MinGW doesn't yet provide working headers. + On POSIX-systems, MinGW should provide headers in >=3D10.0 releases. you can extract the SDK headers by: $ scripts/extract-vsssdk-headers setup.exe The headers are extracted in the directory 'inc/win2003'. --=20 2.34.1 From nobody Fri May 17 05:54:47 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 164624587362034.30016973739987; Wed, 2 Mar 2022 10:31:13 -0800 (PST) Received: from localhost ([::1]:36236 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nPTkm-0000aY-It for importer@patchew.org; Wed, 02 Mar 2022 13:31:12 -0500 Received: from eggs.gnu.org ([209.51.188.92]:59868) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nPTS4-0006qc-M8 for qemu-devel@nongnu.org; Wed, 02 Mar 2022 13:11:53 -0500 Received: from [2a00:1450:4864:20::32d] (port=56092 helo=mail-wm1-x32d.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nPTS3-0008Qn-7H for qemu-devel@nongnu.org; Wed, 02 Mar 2022 13:11:52 -0500 Received: by mail-wm1-x32d.google.com with SMTP id i66so1665848wma.5 for ; Wed, 02 Mar 2022 10:11:50 -0800 (PST) Received: from avogadro.lan ([2001:b07:6468:f312:5e2c:eb9a:a8b6:fd3e]) by smtp.gmail.com with ESMTPSA id bg20-20020a05600c3c9400b0037fa5c422c8sm7720811wmb.48.2022.03.02.10.11.47 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Mar 2022 10:11:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:from:to:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=gc1VZ48NcTl2YvmBVaW5SzwnjSSDE+xasrOWm+E//I4=; b=AXxVa2p2eJJH8jfmQBprWOPWBKmY0Jsmg2LnSt/jBpeRwgZXSJNkMg1P/cqkot68LA lxtSBsV0k3AnrhSuRd03DVdu32ildIu10ITPVPUQLXlpJo3fHTlRQ9/bAqq9cchxFaCD h0PDNBzPAQbB+J6jnOLcuDoQW5XpKzng8ISnvd8XXsBzJFtxY+VTG/HznKWt2w3/J+IJ yAWOFNNwP/W25f32OlewJCl6uDfvq0eFAWyJPZDuVpUKT858rjfPhmiww05yYdS6MriH 8kQZh7sqGehDCar2llP4giNjJrEufGi4qMjFgKdjCAK71FJgYQ/jub7iRG2m00RSFG6c DrjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=gc1VZ48NcTl2YvmBVaW5SzwnjSSDE+xasrOWm+E//I4=; b=ERSAtyJKl1YAaLd2ZPawLN51BRjibJuLikEIw91n5+ITW1R2VpO2sdkNNRAwoZhUve ag59C+b1oZqbQ4ppakzZiPD7UlcNKbBApo/SMjb1mLKIaUMi8d72qfVFeYqKhbKEO90y Oy//mk3LjWo19kLKxqVT8FrECH4bKNN2fHh1CpXIQmMtugU37udmdHtnrz+l6rCDdaVL j4xnQjk5RBVjqmDD/A64F52TslgQgDsKmgYwSyUqG6ZpeUmt3VZvNogSMTL9UEt/nl8O NK08heuesLodxXiYUpYc/JQNEoKGL/qMgZwkvTU/ct95yxyBJtlg+vPT9ctEIb0OIkHQ isMw== X-Gm-Message-State: AOAM530xDm+BHXH98ov4e1p3jcyF0t3DS5IxHUnsd/vHh5vj3NGT3JtV kfcHksZNdlD/KUD491HPALXXo2FcjyU= X-Google-Smtp-Source: ABdhPJw38sq8igfM18VGPr6F4iOh+0gxMuIZmVvpA7eBuhPeALshXssDiJqXMs3BBO2tXvelsAVaBw== X-Received: by 2002:a1c:a382:0:b0:381:cfd:5564 with SMTP id m124-20020a1ca382000000b003810cfd5564mr813410wme.103.1646244708436; Wed, 02 Mar 2022 10:11:48 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 07/11] update meson-buildoptions.sh Date: Wed, 2 Mar 2022 19:11:30 +0100 Message-Id: <20220302181134.285107-8-pbonzini@redhat.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220302181134.285107-1-pbonzini@redhat.com> References: <20220302181134.285107-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::32d (failed) 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=2a00:1450:4864:20::32d; envelope-from=paolo.bonzini@gmail.com; helo=mail-wm1-x32d.google.com X-Spam_score_int: 0 X-Spam_score: -0.1 X-Spam_bar: / X-Spam_report: (-0.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1646245874697100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Paolo Bonzini --- scripts/meson-buildoptions.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/meson-buildoptions.sh b/scripts/meson-buildoptions.sh index 9ee684ef03..1e26f4571e 100644 --- a/scripts/meson-buildoptions.sh +++ b/scripts/meson-buildoptions.sh @@ -20,7 +20,6 @@ meson_options_help() { printf "%s\n" ' --enable-malloc=3DCHOICE choose memory allocator to u= se [system] (choices:' printf "%s\n" ' jemalloc/system/tcmalloc)' printf "%s\n" ' --enable-profiler profiler support' - printf "%s\n" ' --enable-qga-vss build QGA VSS support' printf "%s\n" ' --enable-qom-cast-debug cast debugging support' printf "%s\n" ' --enable-rng-none dummy RNG, avoid using /dev/(u= )random and' printf "%s\n" ' getrandom()' @@ -97,6 +96,7 @@ meson_options_help() { printf "%s\n" ' parallels parallels image format support' printf "%s\n" ' qcow1 qcow1 image format support' printf "%s\n" ' qed qed image format support' + printf "%s\n" ' qga-vss build QGA VSS support (broken with MinG= W)' printf "%s\n" ' rbd Ceph block device driver' printf "%s\n" ' replication replication support' printf "%s\n" ' sdl SDL user interface' --=20 2.34.1 From nobody Fri May 17 05:54:47 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 16462460221445.74654825166283; Wed, 2 Mar 2022 10:33:42 -0800 (PST) Received: from localhost ([::1]:44276 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nPTnB-0005qj-Fa for importer@patchew.org; Wed, 02 Mar 2022 13:33:41 -0500 Received: from eggs.gnu.org ([209.51.188.92]:59898) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nPTS6-0006vI-DH for qemu-devel@nongnu.org; Wed, 02 Mar 2022 13:11:54 -0500 Received: from [2a00:1450:4864:20::32a] (port=38466 helo=mail-wm1-x32a.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nPTS4-0008R2-Oh for qemu-devel@nongnu.org; Wed, 02 Mar 2022 13:11:54 -0500 Received: by mail-wm1-x32a.google.com with SMTP id m42-20020a05600c3b2a00b00382ab337e14so2673740wms.3 for ; Wed, 02 Mar 2022 10:11:52 -0800 (PST) Received: from avogadro.lan ([2001:b07:6468:f312:5e2c:eb9a:a8b6:fd3e]) by smtp.gmail.com with ESMTPSA id bg20-20020a05600c3c9400b0037fa5c422c8sm7720811wmb.48.2022.03.02.10.11.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Mar 2022 10:11:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=fjXszMyPdCO8TmuZAfVhiRygjcmH9t+A5T8HqlfmFlU=; b=k1gSHolGROPk/DnTfWnvyQRMaXlh+MQ0c0cVgplopHG6IucOBu6ar+d6tnQdSKQGaE CFo6H0KalOv696C3JdXPq4wgln+0EPfhHt0x/lOora8WCCeOH+3rX8y959HyjjBFf/EN OaVjBnrPLB9BWlZ17SedYgl5XqAniWViXa41PTdUCahrWv4n4tbS3fYCrafBEtU0fKIQ 3eEOz0+GzUb35v3N2iGvaVB7cXgPzlqigyWrdI74UDp33ds3xT7NlIyIUPsdECMXltBJ bGhv9ahe2MsjIvwSZKxKK7JWDggBFkggwl4SVSbDih/jmr5nkBR6GJ9Rwo/v7paUa/sI m8HA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=fjXszMyPdCO8TmuZAfVhiRygjcmH9t+A5T8HqlfmFlU=; b=3PtgtEiDClzRaXhjltoTcC7JpDwqcVk3XMRhpuwzJEpboPtLWDy7WHW8e+7QJfkNE4 0P1ZZpzZn5XR/kyhscXLsjCp0cbfwkZElyThGeBgPJgKDMAMqwhvQN6sVtoVEZLvmGgt 5V6UG3slQBPQBUp6zRbwct3ITyCUhVc93YTAHNQpDnj3/8ICCpe+FTCsuYRjGGqPUkwr R7xPkJlUx388pWAOUMugrTTw9/lmE+2ifI4N8oqB6aJvBQDAbX+LG7fqxdr71AH37ba9 +PgcZVTulSz2Fk5+kUYd6LaniWllqu8GCPJWH33MOprF8yyPdxd+LAHmDjoTIKEPQ/KQ An+g== X-Gm-Message-State: AOAM531PaLpajbg6AhvBhmzs24JhG9FndhFUMoCHR27TJWpvqHkTZLvA u+41gZpl0SBVRdjNCJoSTUbTPv2GIWQ= X-Google-Smtp-Source: ABdhPJzZ+lItZogudVbnAiV/KmCslITI0xdAD0YtBr7UevT/iqxEYfMX7srpExCBGPpFJUTh159q+Q== X-Received: by 2002:a7b:c939:0:b0:37b:c13f:6fa3 with SMTP id h25-20020a7bc939000000b0037bc13f6fa3mr841405wml.72.1646244711332; Wed, 02 Mar 2022 10:11:51 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 08/11] kvm-irqchip: introduce new API to support route change Date: Wed, 2 Mar 2022 19:11:31 +0100 Message-Id: <20220302181134.285107-9-pbonzini@redhat.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220302181134.285107-1-pbonzini@redhat.com> References: <20220302181134.285107-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::32a (failed) 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=2a00:1450:4864:20::32a; envelope-from=paolo.bonzini@gmail.com; helo=mail-wm1-x32a.google.com X-Spam_score_int: 0 X-Spam_score: -0.1 X-Spam_bar: / X-Spam_report: (-0.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Longpeng\(Mike\)" Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1646246024954100001 Content-Type: text/plain; charset="utf-8" From: "Longpeng(Mike)" Paolo suggested adding the new API to support route changes [1]. We should = invoke kvm_irqchip_begin_route_changes() before changing the routes, increasing the KVMRouteChange.changes if the routes are changed, and commit the changes at= last. [1] https://lists.gnu.org/archive/html/qemu-devel/2021-11/msg02898.html Signed-off-by: Longpeng Message-Id: <20220222141116.2091-2-longpeng2@huawei.com> Signed-off-by: Paolo Bonzini --- include/sysemu/kvm.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/include/sysemu/kvm.h b/include/sysemu/kvm.h index 6eb39a088b..36e6d40191 100644 --- a/include/sysemu/kvm.h +++ b/include/sysemu/kvm.h @@ -224,6 +224,11 @@ DECLARE_INSTANCE_CHECKER(KVMState, KVM_STATE, extern KVMState *kvm_state; typedef struct Notifier Notifier; =20 +typedef struct KVMRouteChange { + KVMState *s; + int changes; +} KVMRouteChange; + /* external API */ =20 bool kvm_has_free_slot(MachineState *ms); @@ -494,6 +499,20 @@ int kvm_irqchip_add_msi_route(KVMState *s, int vector,= PCIDevice *dev); int kvm_irqchip_update_msi_route(KVMState *s, int virq, MSIMessage msg, PCIDevice *dev); void kvm_irqchip_commit_routes(KVMState *s); + +static inline KVMRouteChange kvm_irqchip_begin_route_changes(KVMState *s) +{ + return (KVMRouteChange) { .s =3D s, .changes =3D 0 }; +} + +static inline void kvm_irqchip_commit_route_changes(KVMRouteChange *c) +{ + if (c->changes) { + kvm_irqchip_commit_routes(c->s); + c->changes =3D 0; + } +} + void kvm_irqchip_release_virq(KVMState *s, int virq); =20 int kvm_irqchip_add_adapter_route(KVMState *s, AdapterInfo *adapter); --=20 2.34.1 From nobody Fri May 17 05:54:47 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1646246157139173.77530621579228; Wed, 2 Mar 2022 10:35:57 -0800 (PST) Received: from localhost ([::1]:52720 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nPTpM-0002qi-3r for importer@patchew.org; Wed, 02 Mar 2022 13:35:56 -0500 Received: from eggs.gnu.org ([209.51.188.92]:59918) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nPTS7-0006xM-DQ for qemu-devel@nongnu.org; Wed, 02 Mar 2022 13:11:57 -0500 Received: from [2a00:1450:4864:20::332] (port=44625 helo=mail-wm1-x332.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nPTS5-0008RE-FQ for qemu-devel@nongnu.org; Wed, 02 Mar 2022 13:11:55 -0500 Received: by mail-wm1-x332.google.com with SMTP id bg31-20020a05600c3c9f00b00381590dbb33so1772637wmb.3 for ; Wed, 02 Mar 2022 10:11:53 -0800 (PST) Received: from avogadro.lan ([2001:b07:6468:f312:5e2c:eb9a:a8b6:fd3e]) by smtp.gmail.com with ESMTPSA id bg20-20020a05600c3c9400b0037fa5c422c8sm7720811wmb.48.2022.03.02.10.11.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Mar 2022 10:11:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=KylYBeizrlE5Gp5mZ41VKSCYaKhs9BRVgkz2yfqUuz4=; b=IvZ1OOHRnZOSg2ml9uwIKo2vCJyFb1EETF25+oQ9SAg6a3wa9/iA+RpA39NGhuZFUa lQX6BiEf5ZYLJeUUTcYpCvylzu1q5N/sCnFHIXKiR909m5EPBqTqDa4gfsREaoW3MKPd payWnqi8k+bZuVN0EVI8aZcgmOSS5fG2O4pfVSGzNYacH18UtpOYkx9u6SXu95AeBzDF AhRdFOhQXczet69fboHDFv7kE57SBGhYrCr5nYmZxtbvpUTor52OD/EnSLGR6IzzsE3f 9U1edupIDVdV4f/oDuqV2OmdekCa0iiH+pLulPDM9IegDtwkiSo5y3QTsAgm+j7yn7oH Hedg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=KylYBeizrlE5Gp5mZ41VKSCYaKhs9BRVgkz2yfqUuz4=; b=qgIqJZV8kvGDH6Wc00iw4waFdlGk2eUfpHFivMKueJzLpEKRr7VD0dIgDr86nM1nhV QpQ6jKbOoEvF0oPt/KOB0WHOb6lyB9ynKmt1GWLJZ6n5lDasP7ZOHS2EBUABgnub5hWk gnJH2X8B2Sy6xup/RhMWtUvmzsuom3kQA4g9pYSZJ+k5CKMQwqNrfHck46FHb7nS5fnX ud4dlCua6Jb922DlUNGNgo/iEPUM59rfXrOnyUXazUtwMl1j7RGs4I/6RwfVbJoEFf0p GbdUCLNObJVu+UV7RCAs5VDwKDrStODIfKRTm9hud4JnHqH4si102Q/oVwMLnc+v3ep3 Cjow== X-Gm-Message-State: AOAM531Ksn7RfEr7rIHsWgj/Z4S1j1sYQT0hDN73GbJ7abq6Ug4BVig0 b39hMT86AD2kF0CXFBMfShrbK71dqf8= X-Google-Smtp-Source: ABdhPJyFI8yEiL7CYdfOchyyQWf8LVXAsIq4dCBpvrKEvs4zrRASiuDqHQd542PbLDBGj7ChXdSk0w== X-Received: by 2002:a05:600c:3d93:b0:381:81d1:8e75 with SMTP id bi19-20020a05600c3d9300b0038181d18e75mr869945wmb.60.1646244712113; Wed, 02 Mar 2022 10:11:52 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 09/11] kvm/msi: do explicit commit when adding msi routes Date: Wed, 2 Mar 2022 19:11:32 +0100 Message-Id: <20220302181134.285107-10-pbonzini@redhat.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220302181134.285107-1-pbonzini@redhat.com> References: <20220302181134.285107-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::332 (failed) 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=2a00:1450:4864:20::332; envelope-from=paolo.bonzini@gmail.com; helo=mail-wm1-x332.google.com X-Spam_score_int: 0 X-Spam_score: -0.1 X-Spam_bar: / X-Spam_report: (-0.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "Longpeng\(Mike\)" Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1646246158060100001 Content-Type: text/plain; charset="utf-8" From: "Longpeng(Mike)" We invoke the kvm_irqchip_commit_routes() for each addition to MSI route table, which is not efficient if we are adding lots of routes in some cases. This patch lets callers invoke the kvm_irqchip_commit_routes(), so the callers can decide how to optimize. [1] https://lists.gnu.org/archive/html/qemu-devel/2021-11/msg00967.html Signed-off-by: Longpeng Message-Id: <20220222141116.2091-3-longpeng2@huawei.com> Signed-off-by: Paolo Bonzini --- accel/kvm/kvm-all.c | 7 ++++--- accel/stubs/kvm-stub.c | 2 +- hw/misc/ivshmem.c | 5 ++++- hw/vfio/pci.c | 5 ++++- hw/virtio/virtio-pci.c | 4 +++- include/sysemu/kvm.h | 4 ++-- target/i386/kvm/kvm.c | 4 +++- 7 files changed, 21 insertions(+), 10 deletions(-) diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c index 0e66ebb497..27864dfaea 100644 --- a/accel/kvm/kvm-all.c +++ b/accel/kvm/kvm-all.c @@ -1961,10 +1961,11 @@ int kvm_irqchip_send_msi(KVMState *s, MSIMessage ms= g) return kvm_set_irq(s, route->kroute.gsi, 1); } =20 -int kvm_irqchip_add_msi_route(KVMState *s, int vector, PCIDevice *dev) +int kvm_irqchip_add_msi_route(KVMRouteChange *c, int vector, PCIDevice *de= v) { struct kvm_irq_routing_entry kroute =3D {}; int virq; + KVMState *s =3D c->s; MSIMessage msg =3D {0, 0}; =20 if (pci_available && dev) { @@ -2004,7 +2005,7 @@ int kvm_irqchip_add_msi_route(KVMState *s, int vector= , PCIDevice *dev) =20 kvm_add_routing_entry(s, &kroute); kvm_arch_add_msi_route_post(&kroute, vector, dev); - kvm_irqchip_commit_routes(s); + c->changes++; =20 return virq; } @@ -2162,7 +2163,7 @@ int kvm_irqchip_send_msi(KVMState *s, MSIMessage msg) abort(); } =20 -int kvm_irqchip_add_msi_route(KVMState *s, int vector, PCIDevice *dev) +int kvm_irqchip_add_msi_route(KVMRouteChange *c, int vector, PCIDevice *de= v) { return -ENOSYS; } diff --git a/accel/stubs/kvm-stub.c b/accel/stubs/kvm-stub.c index 5319573e00..ae6e8e9aa7 100644 --- a/accel/stubs/kvm-stub.c +++ b/accel/stubs/kvm-stub.c @@ -81,7 +81,7 @@ int kvm_on_sigbus(int code, void *addr) } =20 #ifndef CONFIG_USER_ONLY -int kvm_irqchip_add_msi_route(KVMState *s, int vector, PCIDevice *dev) +int kvm_irqchip_add_msi_route(KVMRouteChange *c, int vector, PCIDevice *de= v) { return -ENOSYS; } diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c index 299837e5c1..2307f4a513 100644 --- a/hw/misc/ivshmem.c +++ b/hw/misc/ivshmem.c @@ -424,16 +424,19 @@ static void ivshmem_add_kvm_msi_virq(IVShmemState *s,= int vector, Error **errp) { PCIDevice *pdev =3D PCI_DEVICE(s); + KVMRouteChange c; int ret; =20 IVSHMEM_DPRINTF("ivshmem_add_kvm_msi_virq vector:%d\n", vector); assert(!s->msi_vectors[vector].pdev); =20 - ret =3D kvm_irqchip_add_msi_route(kvm_state, vector, pdev); + c =3D kvm_irqchip_begin_route_changes(kvm_state); + ret =3D kvm_irqchip_add_msi_route(&c, vector, pdev); if (ret < 0) { error_setg(errp, "kvm_irqchip_add_msi_route failed"); return; } + kvm_irqchip_commit_route_changes(&c); =20 s->msi_vectors[vector].virq =3D ret; s->msi_vectors[vector].pdev =3D pdev; diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c index 7b45353ce2..d07a4e99b1 100644 --- a/hw/vfio/pci.c +++ b/hw/vfio/pci.c @@ -412,6 +412,7 @@ static int vfio_enable_vectors(VFIOPCIDevice *vdev, boo= l msix) static void vfio_add_kvm_msi_virq(VFIOPCIDevice *vdev, VFIOMSIVector *vect= or, int vector_n, bool msix) { + KVMRouteChange c; int virq; =20 if ((msix && vdev->no_kvm_msix) || (!msix && vdev->no_kvm_msi)) { @@ -422,11 +423,13 @@ static void vfio_add_kvm_msi_virq(VFIOPCIDevice *vdev= , VFIOMSIVector *vector, return; } =20 - virq =3D kvm_irqchip_add_msi_route(kvm_state, vector_n, &vdev->pdev); + c =3D kvm_irqchip_begin_route_changes(kvm_state); + virq =3D kvm_irqchip_add_msi_route(&c, vector_n, &vdev->pdev); if (virq < 0) { event_notifier_cleanup(&vector->kvm_interrupt); return; } + kvm_irqchip_commit_route_changes(&c); =20 if (kvm_irqchip_add_irqfd_notifier_gsi(kvm_state, &vector->kvm_interru= pt, NULL, virq) < 0) { diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c index f9cf9592fd..7cf1231c1c 100644 --- a/hw/virtio/virtio-pci.c +++ b/hw/virtio/virtio-pci.c @@ -683,10 +683,12 @@ static int kvm_virtio_pci_vq_vector_use(VirtIOPCIProx= y *proxy, int ret; =20 if (irqfd->users =3D=3D 0) { - ret =3D kvm_irqchip_add_msi_route(kvm_state, vector, &proxy->pci_d= ev); + KVMRouteChange c =3D kvm_irqchip_begin_route_changes(kvm_state); + ret =3D kvm_irqchip_add_msi_route(&c, vector, &proxy->pci_dev); if (ret < 0) { return ret; } + kvm_irqchip_commit_route_changes(&c); irqfd->virq =3D ret; } irqfd->users++; diff --git a/include/sysemu/kvm.h b/include/sysemu/kvm.h index 36e6d40191..e83280521a 100644 --- a/include/sysemu/kvm.h +++ b/include/sysemu/kvm.h @@ -486,7 +486,7 @@ void kvm_init_cpu_signals(CPUState *cpu); =20 /** * kvm_irqchip_add_msi_route - Add MSI route for specific vector - * @s: KVM state + * @c: KVMRouteChange instance. * @vector: which vector to add. This can be either MSI/MSIX * vector. The function will automatically detect whether * MSI/MSIX is enabled, and fetch corresponding MSI @@ -495,7 +495,7 @@ void kvm_init_cpu_signals(CPUState *cpu); * as @NULL, an empty MSI message will be inited. * @return: virq (>=3D0) when success, errno (<0) when failed. */ -int kvm_irqchip_add_msi_route(KVMState *s, int vector, PCIDevice *dev); +int kvm_irqchip_add_msi_route(KVMRouteChange *c, int vector, PCIDevice *de= v); int kvm_irqchip_update_msi_route(KVMState *s, int virq, MSIMessage msg, PCIDevice *dev); void kvm_irqchip_commit_routes(KVMState *s); diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c index 2c8feb4a6f..cfef36a14e 100644 --- a/target/i386/kvm/kvm.c +++ b/target/i386/kvm/kvm.c @@ -4939,16 +4939,18 @@ void kvm_arch_init_irq_routing(KVMState *s) kvm_gsi_routing_allowed =3D true; =20 if (kvm_irqchip_is_split()) { + KVMRouteChange c =3D kvm_irqchip_begin_route_changes(s); int i; =20 /* If the ioapic is in QEMU and the lapics are in KVM, reserve MSI routes for signaling interrupts to the local apics. */ for (i =3D 0; i < IOAPIC_NUM_PINS; i++) { - if (kvm_irqchip_add_msi_route(s, 0, NULL) < 0) { + if (kvm_irqchip_add_msi_route(&c, 0, NULL) < 0) { error_report("Could not enable split IRQ mode."); exit(1); } } + kvm_irqchip_commit_route_changes(&c); } } =20 --=20 2.34.1 From nobody Fri May 17 05:54:47 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 16462452676718.900403790718087; Wed, 2 Mar 2022 10:21:07 -0800 (PST) Received: from localhost ([::1]:37156 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nPTb0-0006SD-Q0 for importer@patchew.org; Wed, 02 Mar 2022 13:21:06 -0500 Received: from eggs.gnu.org ([209.51.188.92]:59924) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nPTS7-0006xR-Mc for qemu-devel@nongnu.org; Wed, 02 Mar 2022 13:11:57 -0500 Received: from [2a00:1450:4864:20::42b] (port=34546 helo=mail-wr1-x42b.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nPTS6-0008RJ-3J for qemu-devel@nongnu.org; Wed, 02 Mar 2022 13:11:55 -0500 Received: by mail-wr1-x42b.google.com with SMTP id d3so4115873wrf.1 for ; Wed, 02 Mar 2022 10:11:53 -0800 (PST) Received: from avogadro.lan ([2001:b07:6468:f312:5e2c:eb9a:a8b6:fd3e]) by smtp.gmail.com with ESMTPSA id bg20-20020a05600c3c9400b0037fa5c422c8sm7720811wmb.48.2022.03.02.10.11.52 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Mar 2022 10:11:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:from:to:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=eRmkLnG1rWBHKyLOfVkycC10zsqH/5UMDEaprFf5ja0=; b=Yjz0/+HStflsXHHxQndc4kQZ9VDM8tibHEFBPhQw9rwkEwzA1JATgT7sGSz15AwRbm jtWWYOESAbS40+RDVvBWE0n9b+BLvmxUSfXDD5ZRN6YlDy27Xp8zUNMPrDCCPIiQ3RZZ bUaSnmw5NQX4Z6+4ZlmgF3du8chFx9uEgbsmfE1N2e86sbPn7ei31WNqF5/JH1BbyDYs 3WDG3ODCiLgTaoxHrp4zUu0kG0ujg516nTfWzV8uO0PNnEPQM+0FZkXq2bx0/T3DjVYe 5Dh6d9hCvKKmX2HcfSeBEsPc370sU9zBwJpRrTXGUuyvjCXYT3ej2X/4RKHvL6NsSpsO aTCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=eRmkLnG1rWBHKyLOfVkycC10zsqH/5UMDEaprFf5ja0=; b=yvfc+UwOuooiJ1Wl5H1j1jCoC9VZWpW6aicTsy0QJg7dM47LuOddd+IIuL/0hY1vFg lLcBHg6fwa+q/Znqh1qqpHAaTST1XJa9LAtUVok6oqpMJmMq46C7UzwEbuIMjqcdnnhQ uneze0VS39aYQhSBYFleC01o7B+BTyAK/Ft+GBP+1jVz/YJWo3m84+Rc5QBfQaBUD3uX WjH1aeWK+q833HFpx7t0yhgW19qCL9Ams36XWFUvfyrhAdyiFqxwp8svXg5tzJU1f2ji gKUziwiZ+jSARhm56y4ahFiWVc+3d2rD7/WYx55v3m4uvH4BrH3vLLA0xa+QlxBp3seP nwnw== X-Gm-Message-State: AOAM530EHouTB1ow4+/RRFKrRATB/Fbkt7NrU+5L/8ccbFGJ0/qc8sXD 7FSVjW8K9HfPoQKYQ0bplpaHgYrjY0M= X-Google-Smtp-Source: ABdhPJzURRqPI3Vkay9lW3uRj5uKBWC9y156kJPNEqyE9h/niTyz3u3LPF1dhRVEZRQXKTyT/gBRuA== X-Received: by 2002:adf:90ca:0:b0:1ea:99dd:db45 with SMTP id i68-20020adf90ca000000b001ea99dddb45mr23886247wri.262.1646244712824; Wed, 02 Mar 2022 10:11:52 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 10/11] target/i386: only include bits in pg_mode if they are not ignored Date: Wed, 2 Mar 2022 19:11:33 +0100 Message-Id: <20220302181134.285107-11-pbonzini@redhat.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220302181134.285107-1-pbonzini@redhat.com> References: <20220302181134.285107-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::42b (failed) 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=2a00:1450:4864:20::42b; envelope-from=paolo.bonzini@gmail.com; helo=mail-wr1-x42b.google.com X-Spam_score_int: 0 X-Spam_score: -0.1 X-Spam_bar: / X-Spam_report: (-0.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1646245269354100001 Content-Type: text/plain; charset="utf-8" LA57/PKE/PKS is only relevant in 64-bit mode, and NXE is only relevant if PAE is in use. Since there is code that checks PG_MODE_LA57 to determine the canonicality of addresses, make sure that the bit is not set by mistake in 32-bit mode. While it would not be a problem because 32-bit addresses by definition fit in both 48-bit and 57-bit address spaces, it is nicer if get_pg_mode() actually returns whether a feature is enabled, and it allows a few simplifications in the page table walker. Signed-off-by: Paolo Bonzini --- target/i386/tcg/sysemu/excp_helper.c | 34 ++++++++++++++-------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/target/i386/tcg/sysemu/excp_helper.c b/target/i386/tcg/sysemu/= excp_helper.c index 5ba739fbed..0410170d64 100644 --- a/target/i386/tcg/sysemu/excp_helper.c +++ b/target/i386/tcg/sysemu/excp_helper.c @@ -24,32 +24,35 @@ int get_pg_mode(CPUX86State *env) { int pg_mode =3D 0; + if (!(env->cr[0] & CR0_PG_MASK)) { + return 0; + } if (env->cr[0] & CR0_WP_MASK) { pg_mode |=3D PG_MODE_WP; } if (env->cr[4] & CR4_PAE_MASK) { pg_mode |=3D PG_MODE_PAE; + if (env->efer & MSR_EFER_NXE) { + pg_mode |=3D PG_MODE_NXE; + } } if (env->cr[4] & CR4_PSE_MASK) { pg_mode |=3D PG_MODE_PSE; } - if (env->cr[4] & CR4_PKE_MASK) { - pg_mode |=3D PG_MODE_PKE; - } - if (env->cr[4] & CR4_PKS_MASK) { - pg_mode |=3D PG_MODE_PKS; - } if (env->cr[4] & CR4_SMEP_MASK) { pg_mode |=3D PG_MODE_SMEP; } - if (env->cr[4] & CR4_LA57_MASK) { - pg_mode |=3D PG_MODE_LA57; - } if (env->hflags & HF_LMA_MASK) { pg_mode |=3D PG_MODE_LMA; - } - if (env->efer & MSR_EFER_NXE) { - pg_mode |=3D PG_MODE_NXE; + if (env->cr[4] & CR4_PKE_MASK) { + pg_mode |=3D PG_MODE_PKE; + } + if (env->cr[4] & CR4_PKS_MASK) { + pg_mode |=3D PG_MODE_PKS; + } + if (env->cr[4] & CR4_LA57_MASK) { + pg_mode |=3D PG_MODE_LA57; + } } return pg_mode; } @@ -278,9 +281,7 @@ do_check_protect_pse36: *prot |=3D PAGE_EXEC; } =20 - if (!(pg_mode & PG_MODE_LMA)) { - pkr =3D 0; - } else if (ptep & PG_USER_MASK) { + if (ptep & PG_USER_MASK) { pkr =3D pg_mode & PG_MODE_PKE ? env->pkru : 0; } else { pkr =3D pg_mode & PG_MODE_PKS ? env->pkrs : 0; @@ -343,8 +344,7 @@ do_check_protect_pse36: if (is_user) error_code |=3D PG_ERROR_U_MASK; if (is_write1 =3D=3D 2 && - (((pg_mode & PG_MODE_NXE) && (pg_mode & PG_MODE_PAE)) || - (pg_mode & PG_MODE_SMEP))) + ((pg_mode & PG_MODE_NXE) || (pg_mode & PG_MODE_SMEP))) error_code |=3D PG_ERROR_I_D_MASK; return error_code; } --=20 2.34.1 From nobody Fri May 17 05:54:47 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 16462453110157.256946581263264; Wed, 2 Mar 2022 10:21:51 -0800 (PST) Received: from localhost ([::1]:39262 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nPTbi-000848-Av for importer@patchew.org; Wed, 02 Mar 2022 13:21:50 -0500 Received: from eggs.gnu.org ([209.51.188.92]:59938) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nPTS9-0006xT-2N for qemu-devel@nongnu.org; Wed, 02 Mar 2022 13:11:57 -0500 Received: from [2a00:1450:4864:20::434] (port=45943 helo=mail-wr1-x434.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nPTS7-0008Rf-E7 for qemu-devel@nongnu.org; Wed, 02 Mar 2022 13:11:56 -0500 Received: by mail-wr1-x434.google.com with SMTP id p9so4046852wra.12 for ; Wed, 02 Mar 2022 10:11:54 -0800 (PST) Received: from avogadro.lan ([2001:b07:6468:f312:5e2c:eb9a:a8b6:fd3e]) by smtp.gmail.com with ESMTPSA id bg20-20020a05600c3c9400b0037fa5c422c8sm7720811wmb.48.2022.03.02.10.11.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Mar 2022 10:11:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=sUSJfkexg7KkY2CuTVEeR2bYeZuOFKrm5GHwZ7Vta6I=; b=aKf5xYeNP4IKbk5KGDSAMCkJAcibSKKkln6lB760tifb3ZohGtzJ8RepwE/zovR+tg x+SN4V+uIizAVXeQCY4Qm+P1WU+CnfU86vdU7FlVyfM8uMAXYD4cZoddFh7x6vKuJakn hrEfSBVrNIwYOyhWlPRfcR/kueAudwtkpKgVoJ6EbhB09P6Hh2YtxwGE18TlVfh8VG1Q g/DJG5HyiMGoR3jHEVEhBUj4iERKAjuFDPUNKWrYaF/J1Vj850G4LGc6kGxFb1/9uVHv gATbaeTnHJkBsAODPh2a0M7vdbGr+iKb1G3uiDb+IbXxNJGClwSqiTXltBDIOsT0/yXm AvqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=sUSJfkexg7KkY2CuTVEeR2bYeZuOFKrm5GHwZ7Vta6I=; b=IFF06tcA2Qjfq0d6RpULuVqmhdTWzgf5bBmi/HdImzxpKuj8oj8Tk7cdmu4WI5/dHt Vdsi8+SMjpUHNV2d9N9GaYoy5JqD0BMrZQW5TW5xHJKlQJwz58PnFKBvXYGaPZFxGRU6 Ji3ftOWq/hsm5w1dA0qIvFe1aWYEaTW3UfCAaNQiPhN5sXB4slNGeYmNB6jjD2Z7vaKf XqFlAHlsrNkH9IkPntFFf2FPIlpYLuRXuokW/vF1ZAt0vyRmqduwjMI5Lr6cN+PhnJ5W HAjb0CPkg0rYEvrC8JINxaVhH7haTIcXMOVJXk/ra7tYBBz/f/W0flDW5X38kUEpHt04 uN7Q== X-Gm-Message-State: AOAM5318ijenV+Gjkg5Zbl0KJZS7W5aL6dLWJocquDykxH+dpZgVCbiG JLiwasmt2DomAxjG+N0TZotOwYC5UQ4= X-Google-Smtp-Source: ABdhPJyXtDAtPvinovTNM6oiJjgSVaw68JEmxGTXD2yLyZd+8OenJmdTsy8FJZiTRLYgSRdAEbkv9A== X-Received: by 2002:adf:bc09:0:b0:1f0:2483:48b with SMTP id s9-20020adfbc09000000b001f02483048bmr4361098wrg.118.1646244714015; Wed, 02 Mar 2022 10:11:54 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 11/11] target/i386: Throw a #SS when loading a non-canonical IST Date: Wed, 2 Mar 2022 19:11:34 +0100 Message-Id: <20220302181134.285107-12-pbonzini@redhat.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220302181134.285107-1-pbonzini@redhat.com> References: <20220302181134.285107-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Host-Lookup-Failed: Reverse DNS lookup failed for 2a00:1450:4864:20::434 (failed) 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=2a00:1450:4864:20::434; envelope-from=paolo.bonzini@gmail.com; helo=mail-wr1-x434.google.com X-Spam_score_int: 0 X-Spam_score: -0.1 X-Spam_bar: / X-Spam_report: (-0.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, PDS_HP_HELO_NORDNS=0.659, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Gareth Webb Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1646245313520100001 Content-Type: text/plain; charset="utf-8" From: Gareth Webb Loading a non-canonical address into rsp when handling an interrupt or performing a far call should raise a #SS not a #GP. Resolves: https://gitlab.com/qemu-project/qemu/-/issues/870 Signed-off-by: Gareth Webb Message-Id: <164529651121.25406.15337137068584246397-0@git.sr.ht> [Move get_pg_mode to seg_helper.c for user-mode emulators. - Paolo] Signed-off-by: Paolo Bonzini --- target/i386/tcg/seg_helper.c | 49 +++++++++++++++++++++++++++- target/i386/tcg/sysemu/excp_helper.c | 36 -------------------- 2 files changed, 48 insertions(+), 37 deletions(-) diff --git a/target/i386/tcg/seg_helper.c b/target/i386/tcg/seg_helper.c index baa905a0cd..4cf1f973cf 100644 --- a/target/i386/tcg/seg_helper.c +++ b/target/i386/tcg/seg_helper.c @@ -28,6 +28,42 @@ #include "helper-tcg.h" #include "seg_helper.h" =20 +int get_pg_mode(CPUX86State *env) +{ + int pg_mode =3D 0; + if (!(env->cr[0] & CR0_PG_MASK)) { + return 0; + } + if (env->cr[0] & CR0_WP_MASK) { + pg_mode |=3D PG_MODE_WP; + } + if (env->cr[4] & CR4_PAE_MASK) { + pg_mode |=3D PG_MODE_PAE; + if (env->efer & MSR_EFER_NXE) { + pg_mode |=3D PG_MODE_NXE; + } + } + if (env->cr[4] & CR4_PSE_MASK) { + pg_mode |=3D PG_MODE_PSE; + } + if (env->cr[4] & CR4_SMEP_MASK) { + pg_mode |=3D PG_MODE_SMEP; + } + if (env->hflags & HF_LMA_MASK) { + pg_mode |=3D PG_MODE_LMA; + if (env->cr[4] & CR4_PKE_MASK) { + pg_mode |=3D PG_MODE_PKE; + } + if (env->cr[4] & CR4_PKS_MASK) { + pg_mode |=3D PG_MODE_PKS; + } + if (env->cr[4] & CR4_LA57_MASK) { + pg_mode |=3D PG_MODE_LA57; + } + } + return pg_mode; +} + /* return non zero if error */ static inline int load_segment_ra(CPUX86State *env, uint32_t *e1_ptr, uint32_t *e2_ptr, int selector, @@ -795,6 +831,8 @@ static inline target_ulong get_rsp_from_tss(CPUX86State= *env, int level) { X86CPU *cpu =3D env_archcpu(env); int index; + target_ulong rsp; + int32_t sext; =20 #if 0 printf("TR: base=3D" TARGET_FMT_lx " limit=3D%x\n", @@ -808,7 +846,16 @@ static inline target_ulong get_rsp_from_tss(CPUX86Stat= e *env, int level) if ((index + 7) > env->tr.limit) { raise_exception_err(env, EXCP0A_TSS, env->tr.selector & 0xfffc); } - return cpu_ldq_kernel(env, env->tr.base + index); + + rsp =3D cpu_ldq_kernel(env, env->tr.base + index); + + /* test virtual address sign extension */ + sext =3D rsp >> (get_pg_mode(env) & PG_MODE_LA57 ? 56 : 47); + if (sext !=3D 0 && sext !=3D -1) { + raise_exception_err(env, EXCP0C_STACK, 0); + } + + return rsp; } =20 /* 64 bit interrupt */ diff --git a/target/i386/tcg/sysemu/excp_helper.c b/target/i386/tcg/sysemu/= excp_helper.c index 0410170d64..db4c266c86 100644 --- a/target/i386/tcg/sysemu/excp_helper.c +++ b/target/i386/tcg/sysemu/excp_helper.c @@ -21,42 +21,6 @@ #include "cpu.h" #include "tcg/helper-tcg.h" =20 -int get_pg_mode(CPUX86State *env) -{ - int pg_mode =3D 0; - if (!(env->cr[0] & CR0_PG_MASK)) { - return 0; - } - if (env->cr[0] & CR0_WP_MASK) { - pg_mode |=3D PG_MODE_WP; - } - if (env->cr[4] & CR4_PAE_MASK) { - pg_mode |=3D PG_MODE_PAE; - if (env->efer & MSR_EFER_NXE) { - pg_mode |=3D PG_MODE_NXE; - } - } - if (env->cr[4] & CR4_PSE_MASK) { - pg_mode |=3D PG_MODE_PSE; - } - if (env->cr[4] & CR4_SMEP_MASK) { - pg_mode |=3D PG_MODE_SMEP; - } - if (env->hflags & HF_LMA_MASK) { - pg_mode |=3D PG_MODE_LMA; - if (env->cr[4] & CR4_PKE_MASK) { - pg_mode |=3D PG_MODE_PKE; - } - if (env->cr[4] & CR4_PKS_MASK) { - pg_mode |=3D PG_MODE_PKS; - } - if (env->cr[4] & CR4_LA57_MASK) { - pg_mode |=3D PG_MODE_LA57; - } - } - return pg_mode; -} - #define PG_ERROR_OK (-1) =20 typedef hwaddr (*MMUTranslateFunc)(CPUState *cs, hwaddr gphys, MMUAccessTy= pe access_type, --=20 2.34.1