From nobody Sun May 19 03:02:41 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 1646739511151556.6288442571839; Tue, 8 Mar 2022 03:38:31 -0800 (PST) Received: from localhost ([::1]:33876 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nRYAf-0002GI-S0 for importer@patchew.org; Tue, 08 Mar 2022 06:38:29 -0500 Received: from eggs.gnu.org ([209.51.188.92]:44364) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nRY7A-0007cn-Op for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:34:52 -0500 Received: from [2a00:1450:4864:20::52e] (port=33371 helo=mail-ed1-x52e.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nRY79-0005m4-Bl for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:34:52 -0500 Received: by mail-ed1-x52e.google.com with SMTP id s10so2817452edd.0 for ; Tue, 08 Mar 2022 03:34:51 -0800 (PST) Received: from avogadro.lan ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id l2-20020aa7cac2000000b003f9b3ac68d6sm7491868edt.15.2022.03.08.03.34.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Mar 2022 03:34:49 -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=yMUJAFUDX52CRdJ33zGTF80GRdiEdw/04diTOjeLv2U=; b=djggZ0ULOnYj2DRX6zv9wPrubdgWYM3kbx1h0mtXzY2b8UIpLgAbGQxXVdpDKP8cj/ NNhrZ90YMPQiXEnVnM8k8z5XyxC4MaaWYYahYJIGLJOfLZ9parxua1c1VnmHELJTPJqN Gi7NmBoj69gHSVytcuvkO2Ps1uoi2c7wF+uPd3NH09UHW3NJGpR9qhsMttYnYOeq+08G 7HA8eeWuPzAfWxzD4UtHLS4BthOqkU5f8MOGYKjq4h1YBgzxyo1GrNVESTY9O4DePcxg pUKgxobtp+3F6J+GnVK9k7H/JNUnixy0wR5do2+dZ0LVYyENfR+4XM9SXs9/Y/hpAaVk 3SUw== 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=yMUJAFUDX52CRdJ33zGTF80GRdiEdw/04diTOjeLv2U=; b=vfWtxuW41ZrChcX8vBKnBQe+Z6oGvOFopLEQVhAu6ZC9sxv/XqzpbmD58EBdTpR0ql apEAVTBYI5eybVpH+ONwK6ar14N24XvYeD5qj2G2WfoUvtJ0l5jRglWCq1c27cDzTPTv cGPNgtTdoJe5TNtfIcaXW/nN5YErXIEGPdY2rlNZH9m3FmH20MyggGUzWCX6e+T7sJSl Xadn6AuNxbPfW7f0orgxCUComLLuLjis5WJvrfK9W95zNGZUPMZiKusy+Grhi7+eIH+P gnVwOXiKrltddws0yjwvutoujdfsakYKdqaLoCSiBroopcYXUvE2NBmIG4cy2WpmLryW D8rQ== X-Gm-Message-State: AOAM530747u+eT8+y9vQvoiwVqQPnQCY/+B0zuWF12NiWLaMe0NQsHbB o74mX9KEaIh+j2RwAASQ+o31cSwxrTo= X-Google-Smtp-Source: ABdhPJzwdKj8CU1wEzBCYkyHDHgbfBb9Aexs3PZfH4t+4Kbbcnpsoc2lVoMM3nmz5YQNNsm3mT87Fw== X-Received: by 2002:a05:6402:2714:b0:416:4bcf:89a9 with SMTP id y20-20020a056402271400b004164bcf89a9mr8472609edd.226.1646739290006; Tue, 08 Mar 2022 03:34:50 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 01/22] whpx: Fixed reporting of the CPU context to GDB for 64-bit Date: Tue, 8 Mar 2022 12:34:24 +0100 Message-Id: <20220308113445.859669-2-pbonzini@redhat.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220308113445.859669-1-pbonzini@redhat.com> References: <20220308113445.859669-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::52e (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::52e; envelope-from=paolo.bonzini@gmail.com; helo=mail-ed1-x52e.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: 1646739513337100001 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.35.1 From nobody Sun May 19 03:02:41 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 164673971663789.06472014920587; Tue, 8 Mar 2022 03:41:56 -0800 (PST) Received: from localhost ([::1]:42526 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nRYDz-0000Ez-JL for importer@patchew.org; Tue, 08 Mar 2022 06:41:55 -0500 Received: from eggs.gnu.org ([209.51.188.92]:44384) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nRY7C-0007f7-8q for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:34:54 -0500 Received: from [2a00:1450:4864:20::62a] (port=46623 helo=mail-ej1-x62a.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nRY7A-0005mD-NR for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:34:53 -0500 Received: by mail-ej1-x62a.google.com with SMTP id qx21so38495898ejb.13 for ; Tue, 08 Mar 2022 03:34:52 -0800 (PST) Received: from avogadro.lan ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id l2-20020aa7cac2000000b003f9b3ac68d6sm7491868edt.15.2022.03.08.03.34.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Mar 2022 03:34: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=hhFBWbXilePF1ZwGI19W9ujjRyVX0rQ2f1lQWvaRXiE=; b=OJ4ahNcuy8PvSED5GFfGRHKzl5MsJbslPAxUm79v1qNUIIvq9NtfaXzncnzWiQ/mPr QYELR7UePX+G2bj+C+n3FPMkH8vd/tEpOgMOzmqK0S5F/bHjN45F6mDghTasvyRUp/1Z KtgJCbY/DQPQ3BM3y5v4JLt61AbPUiiDwGuHaj997g9Jh3ifW6aDoi9Q8JPnHZdCAOUE MkXTs6mvdfAUdMDRtK9D0C6Vs8HjKQ3w84Nf4j5poU3238qjZ6JNjBU/jKDmQfruoFPc upyF3uhKW8DjTO35mtVkk8zt2veaJ86MgnFCLRnF/VtCd6oBFYLLxOVG6rgCQNCjhSHj 2L3w== 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=hhFBWbXilePF1ZwGI19W9ujjRyVX0rQ2f1lQWvaRXiE=; b=GUxSm6p66Cm0vYbq3P5BQZVyQeJ+ASYEry2Zeo+SHdZT9MvJPHm9qzz8JM8tPeoZN8 VcHAI6NX9G2m/c2b4Oqnjv5s/CA93z75kbpnV4yX3He+PE/+PdkUoDPOd8pO5fGXQyok ovNu9Tca1sEckvlZg39qNYRgkk+NrmTBVjx0Swq2otCl7HOS4wa3p521Rred5Rwb5fHw o/G2yaCGH6TPKfTS7UJ698qN+ofGRjcQNQi9juWsfyTd6nIWycGgJ1w7VFPIejo4P9LM igI83+rgDpx9eYdkPmgqGUjiV+38WwKsRlWL3xqVl2n7DWPWlXa7FCudM+chaSCkUQ/n d5MA== X-Gm-Message-State: AOAM532ivAlI1iUhrYqAKypqnB1+qdKWXyZsCxjsAv/uOkEe0SBz1s/l xazhS9OGZuJfZFEY4JBiYGp9bFRQiz8= X-Google-Smtp-Source: ABdhPJyPXCxre4Jknp6mqX2//9zPED+Jl6BZst133uRgWSO8jLzAQ5+qEzi6zIC3Y5vbMi0hCadEcA== X-Received: by 2002:a17:907:2ce5:b0:6db:63f:9c28 with SMTP id hz5-20020a1709072ce500b006db063f9c28mr11595791ejc.629.1646739291342; Tue, 08 Mar 2022 03:34:51 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 02/22] whpx: Fixed incorrect CR8/TPR synchronization Date: Tue, 8 Mar 2022 12:34:25 +0100 Message-Id: <20220308113445.859669-3-pbonzini@redhat.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220308113445.859669-1-pbonzini@redhat.com> References: <20220308113445.859669-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::62a (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::62a; envelope-from=paolo.bonzini@gmail.com; helo=mail-ej1-x62a.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: 1646739717252100003 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.35.1 From nobody Sun May 19 03:02:41 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 1646739908472841.3392699013149; Tue, 8 Mar 2022 03:45:08 -0800 (PST) Received: from localhost ([::1]:51036 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nRYH5-0005vE-0P for importer@patchew.org; Tue, 08 Mar 2022 06:45:07 -0500 Received: from eggs.gnu.org ([209.51.188.92]:44406) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nRY7E-0007h6-3z for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:34:58 -0500 Received: from [2a00:1450:4864:20::52a] (port=35677 helo=mail-ed1-x52a.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nRY7C-0005mY-82 for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:34:55 -0500 Received: by mail-ed1-x52a.google.com with SMTP id y22so4990827eds.2 for ; Tue, 08 Mar 2022 03:34:53 -0800 (PST) Received: from avogadro.lan ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id l2-20020aa7cac2000000b003f9b3ac68d6sm7491868edt.15.2022.03.08.03.34.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Mar 2022 03:34:52 -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=XYUszgYVH0P129LF3fU+CiU6Ny+gN2H3uD9Hzlxf0D0=; b=AL/h+y2NX//GQnZIgg/HU4oOp0Fea/vYiIwOF29QrvxqQV0O8ygH8ct19a1esv7zM5 iYYgp2MLbvlIMlKGpk76TvH0Bu3k4lYwKufJT2NCKVg5eN5zRwFAByYdoUrFUOaD6EJs /S5zAiHc4NOzwEoReGSFxmMdFObke4bzG7/ISg80DnbzW50bWRg+B1cd0a2vK0HN+ekN OGQ12F9qVcoNLTtIOIlEpJDr82V/oWkyZ1TI11SOWZlaTZzQei4h+XZcK3XIoFGIqBVj mJwCR53y5qbs85/AJluihQKm2vEEYi6ZJ25Bmdigvvpb+Xn3IDn12CeteS0qlZkSCqDw u73A== 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=XYUszgYVH0P129LF3fU+CiU6Ny+gN2H3uD9Hzlxf0D0=; b=AGpz9FntaeBuPhd6TW5jckrVZ2ZhXZFtsFlSHOMZ5xwbgHcr8AQmbEKNlpZjz74kSN 9CYW0+PNss3peUwF/ikc2+V30zdRxNBKceLY9bkQ2eFLS9qQ77yzQal0yWIDLUDbegaJ twQdhZjMTO7hUPt7eVX5bJLQCLqEfWcXbKK06z8VhWim6GFgzdWPj1lJMXm55vg6etC3 3h80u+xl7ZIjb7P4e015gg72jlfHjdWp3L3Z+9Rr5W2nuLM1B98IXR9jeISZLys2IiIV B5OCNTVw2/lH7IOqVQEYFoWkM6vcXlgwaMh9PlSO2T8cj9TgU3MsIbKh76uwkUrSY+Lw QOow== X-Gm-Message-State: AOAM533qAUHF2nhpuO549iRos4LByeKIPbz08+9/2zYxyZ6bqHXBEjgH QShOJBjyC/mK/gE4H1j6U0S493yCyWk= X-Google-Smtp-Source: ABdhPJxq0cJDEEDWvwVMUDBNqxtBe5FcmEFqMU+W1HWWpaLTqpip11PDGgT6haRtTq65rQoD4iZS8A== X-Received: by 2002:a05:6402:42c9:b0:415:e324:c211 with SMTP id i9-20020a05640242c900b00415e324c211mr16075968edc.234.1646739292939; Tue, 08 Mar 2022 03:34:52 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 03/22] vmxcap: Add 5-level EPT bit Date: Tue, 8 Mar 2022 12:34:26 +0100 Message-Id: <20220308113445.859669-4-pbonzini@redhat.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220308113445.859669-1-pbonzini@redhat.com> References: <20220308113445.859669-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::52a (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::52a; envelope-from=paolo.bonzini@gmail.com; helo=mail-ed1-x52a.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: 1646739908917100001 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.35.1 From nobody Sun May 19 03:02:41 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 1646740082695177.96999758200707; Tue, 8 Mar 2022 03:48:02 -0800 (PST) Received: from localhost ([::1]:59582 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nRYJu-0003Is-I2 for importer@patchew.org; Tue, 08 Mar 2022 06:48:02 -0500 Received: from eggs.gnu.org ([209.51.188.92]:44434) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nRY7G-0007hy-L9 for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:34:58 -0500 Received: from [2a00:1450:4864:20::62b] (port=33411 helo=mail-ej1-x62b.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nRY7F-0005n7-7T for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:34:58 -0500 Received: by mail-ej1-x62b.google.com with SMTP id kt27so38663125ejb.0 for ; Tue, 08 Mar 2022 03:34:56 -0800 (PST) Received: from avogadro.lan ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id l2-20020aa7cac2000000b003f9b3ac68d6sm7491868edt.15.2022.03.08.03.34.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Mar 2022 03:34:55 -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=NPVSM5h3QYb2XDdVtG+61+4jXM7EeqRWXIbfYATigp8=; b=Tv2cCijIbHpOkm0vgK/AwgaBYHna/yJRKWIAvaomiWiEBqWvXI4hMjkD6qE5WVs+ue fr0y8Cz6vvp0M1cOJ4LMGEgtcMp7dOU1/oKl2Pu/3LAhdT2robyweCbMytl9DBRtYvod e9oXf1zri6OE1XvEpKFkssOWY4Yg6gjlkeTuLp4BhONbdHnkFt06+i4k6U7w8FhGd311 RfxyuIlhB8peqrNnQmAcYresVIhDHedz4VCpS8m4bXArkEi4P4MiqU5pcxpU6hJBucDC c23FdadzngsP06coVXh9Dt4yZq/MRwQPyWMGxYDoPPrDDGDcOkWxki67htKmdgByMNdO n95Q== 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=NPVSM5h3QYb2XDdVtG+61+4jXM7EeqRWXIbfYATigp8=; b=RCXhMYXPAvjBGVi0tWXPnpHRpYv3ew6tV+AJ1pj43W72EfuEiuSY6LqZhapUS+MbZb 8cAEvY2Nkv8Xk+YIvp5cs3jU7fb40O+y/ou7aEzDNzhzyEixYHAD6t37nj5RHZ0C/W9G CED/+YD4JXU4IvVhsLrUFRoyV+P9Bg6/JLmOCZgmXkjxPf89+Ya3WyvIpWiIUVSgTPgV MmLOBr1VZc7g2Z5rvfsqJznq5ioHLxmcM5UhKc6z8NlC5GgGucxgZCej1LGYkwfPW8Fj ryIiaaF53f8mOGdBdCFPalAo/73vrlKmvuQFe2VmZisybVq7SJ8jjAkycHhP6u4GBo7K ZF6g== X-Gm-Message-State: AOAM532YVDVRlm3drMiG6z4iPhzzUW8YPjo8Du8uwCRBxvs3xWI8klKB HYSX8htWIeBlc0QaW2ADliLkzv2ff3A= X-Google-Smtp-Source: ABdhPJwDJADkdiTBmj9aOiGR3/3nSZzbuCgvduZCqIxoS+eREs9oOQ+3abajpK3sv5l97feV3R/IJA== X-Received: by 2002:a17:907:d89:b0:6db:570f:53fd with SMTP id go9-20020a1709070d8900b006db570f53fdmr1219090ejc.682.1646739296038; Tue, 08 Mar 2022 03:34:56 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 04/22] meson: fix generic location of vss headers Date: Tue, 8 Mar 2022 12:34:27 +0100 Message-Id: <20220308113445.859669-5-pbonzini@redhat.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220308113445.859669-1-pbonzini@redhat.com> References: <20220308113445.859669-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::62b (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::62b; envelope-from=paolo.bonzini@gmail.com; helo=mail-ej1-x62b.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: 1646740084792100001 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.35.1 From nobody Sun May 19 03:02:41 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 1646739634719459.56903223783695; Tue, 8 Mar 2022 03:40:34 -0800 (PST) Received: from localhost ([::1]:40074 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nRYCf-0006kM-PN for importer@patchew.org; Tue, 08 Mar 2022 06:40:33 -0500 Received: from eggs.gnu.org ([209.51.188.92]:44464) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nRY7I-0007kQ-Oj for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:35:03 -0500 Received: from [2a00:1450:4864:20::62a] (port=41535 helo=mail-ej1-x62a.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nRY7H-0005nJ-5u for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:35:00 -0500 Received: by mail-ej1-x62a.google.com with SMTP id a8so38520880ejc.8 for ; Tue, 08 Mar 2022 03:34:58 -0800 (PST) Received: from avogadro.lan ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id l2-20020aa7cac2000000b003f9b3ac68d6sm7491868edt.15.2022.03.08.03.34.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Mar 2022 03:34:57 -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=5I5WEupkbdbuziqZbRhYTBxxuiKa4WHhAuSKTnigY58=; b=CWm4ZtBk2b0BHsh8IRPfEwrm7nGdfLAiJfFi6wm5JHykJxCjNiGckBvB8dWKyShTGu hxDdQsfinjN8UWbLLc35p6+La4fMWCRT/Z0u+RSx6eBkpCLsr6tvOHELbDOBo2vNuFR/ U3lRwLh+ixm6XQwsm+oZcDMQ3B4RgkAvOqTc6dZcyvl+lssfukRmsFvBzluI836J2w8o 7uYPjk5lXBRDD1P7A4JtfxPDgEnnHtp2XdvRMM8uFazL1pUHJ4KoUlPlm566QkI80y6/ 2Jy/OWnRWFNciwXXD5QXx/7Fh8q1VBPN9Hb4xNfjQm7R67WPsLg3aF6/cfKUXAeH5qFX kF+Q== 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=5I5WEupkbdbuziqZbRhYTBxxuiKa4WHhAuSKTnigY58=; b=qQOWbaPr4Fk+dCvoeDL0Zj73eWCmATQPs6YMsaTe5hntLDjyA5oHA8HTzIzfzI7hwv kiG+HelTAKrRyT3FYGwTCwcygOMgT5DGE2KTP6wAR6GJhVslvedOrd2wAvTGXDrx1uru GOHaKwDnmlFtLpFL8nCjAYZsjGiJ2CDsCIcmprZck2qgPdivKsCFZ4QO5OEetH9QcuM0 qWTZkWTdRlzzfRdFNtSUu3ydd60al/omYTQfwgSyShoCaLYoKZs8vJRyi4JaU/9KYOAq Jxo6O4uGla90L5GhTuoYkj4EthZCC5L24H4k1QA5yp+790xg63k5fGns7+4teamr3aMQ JzbQ== X-Gm-Message-State: AOAM531CkopDe+kKhJDqivXFDO76mG45PTMH50wwi4SCp2ENk8hZvRcz ZolLSkyYDlErYgPGCNf+x/nHh7JFXw0= X-Google-Smtp-Source: ABdhPJyh3KtAuQA2CTmMo11bKW7oH5efJ8jFV7blRVBZ2uXGvWQ4hc04yV9mTy2CUeVrGrNl30cdKg== X-Received: by 2002:a17:907:ea4:b0:6db:56be:d4a with SMTP id ho36-20020a1709070ea400b006db56be0d4amr1334845ejc.649.1646739297947; Tue, 08 Mar 2022 03:34:57 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 05/22] qga/vss-win32: check old VSS SDK headers Date: Tue, 8 Mar 2022 12:34:28 +0100 Message-Id: <20220308113445.859669-6-pbonzini@redhat.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220308113445.859669-1-pbonzini@redhat.com> References: <20220308113445.859669-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::62a (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::62a; envelope-from=paolo.bonzini@gmail.com; helo=mail-ej1-x62a.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: 1646739636059100001 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.35.1 From nobody Sun May 19 03:02:41 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 1646739514242172.57704798901023; Tue, 8 Mar 2022 03:38:34 -0800 (PST) Received: from localhost ([::1]:34082 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nRYAk-0002Oa-1I for importer@patchew.org; Tue, 08 Mar 2022 06:38:34 -0500 Received: from eggs.gnu.org ([209.51.188.92]:44482) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nRY7K-0007kW-3s for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:35:03 -0500 Received: from [2a00:1450:4864:20::636] (port=34477 helo=mail-ej1-x636.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nRY7I-0005nZ-Ev for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:35:01 -0500 Received: by mail-ej1-x636.google.com with SMTP id gb39so38477564ejc.1 for ; Tue, 08 Mar 2022 03:35:00 -0800 (PST) Received: from avogadro.lan ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id l2-20020aa7cac2000000b003f9b3ac68d6sm7491868edt.15.2022.03.08.03.34.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Mar 2022 03:34:58 -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=eDGHR6/aw919IHNPsHpNFGiuyOPgK+9XmuHPS650QoQ=; b=XtuHDseYvoit2Gdj5iawkX2Q0ma4VwP8DzXfRVoK6hzcOWR35t68o1vxb4op9kg5Yl Sffhu+9Hlvn0QqmS0fENXtD2Wz+XmQm6fglcQ9RXMEZR7IYegB9+595qVfoNrqL55DUL De07PUAU3mAKJsG4xSpOPRCCFSRAk+L3OfBUSNCpyUWUtjoSZ2WOZUnxeO87bW69TNsQ L2rAQMfcvhV9K6Ew4ztlfOCuVfLYqi55ZIS2sMUfZW2BDfEs82l1rREgqw5qgegfzUrs zanycDXmi4nGQfh629VujqQGBOu8zUPZRSYTbld21qPrcamIFaU3Z9p8igIoT2c1ER5+ ahrA== 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=eDGHR6/aw919IHNPsHpNFGiuyOPgK+9XmuHPS650QoQ=; b=DQnlXbgfZKJOLHplV96f1oBCbLE4z2sQ45ZRkwOtbA6KO8vAEjCS2+zXzbr0bRnrRb AaXhOr3I033ogaf3oA9NpR70EW5mjcG18VQABZx4VRO6R0C/gDdfhFS4/wrDFUo7GLXF 5knXg87MAO2ylUUqxFzWOXT4qIT9DFJDXXthcP+a5CWWYlhQbCgDO4WnpSkZh3N/HAEj t9uI98HSWU1B8QiIxIganBASFiEREUv4FJ8pryysVzllrd8G2Ffb50Me5frqm4PpipOs HBiz8CVAV9nTSCo7LGEbVec2vZDzboiXbw2tTEyL7HykqZe89xxGPYYHRb5tSFBMI0kD LbmA== X-Gm-Message-State: AOAM533H7ONaDFR03f2tbE4zv+aZMiOD+tTqdJtnEIaSpB3gnw6/MGnI wsd8VUxnVwFiH8/4JLADcijyqsEJzUU= X-Google-Smtp-Source: ABdhPJx5ZnnmErnzjHt24cKM2UlK97GoTvRe8NV4joaIOo1J62FeYt++JED83XyZ9X2Vh9uVta4gPA== X-Received: by 2002:a17:907:9605:b0:6d7:24d1:f4ce with SMTP id gb5-20020a170907960500b006d724d1f4cemr12627131ejc.524.1646739299132; Tue, 08 Mar 2022 03:34:59 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 06/22] qga/vss: update informative message about MinGW Date: Tue, 8 Mar 2022 12:34:29 +0100 Message-Id: <20220308113445.859669-7-pbonzini@redhat.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220308113445.859669-1-pbonzini@redhat.com> References: <20220308113445.859669-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::636 (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::636; envelope-from=paolo.bonzini@gmail.com; helo=mail-ej1-x636.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: 1646739533323100003 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.35.1 From nobody Sun May 19 03:02:41 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 1646739719085109.1296777349578; Tue, 8 Mar 2022 03:41:59 -0800 (PST) Received: from localhost ([::1]:42748 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nRYE1-0000Pn-SZ for importer@patchew.org; Tue, 08 Mar 2022 06:41:57 -0500 Received: from eggs.gnu.org ([209.51.188.92]:44504) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nRY7L-0007kt-JS for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:35:05 -0500 Received: from [2a00:1450:4864:20::634] (port=46636 helo=mail-ej1-x634.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nRY7K-0005nx-0d for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:35:03 -0500 Received: by mail-ej1-x634.google.com with SMTP id qx21so38497289ejb.13 for ; Tue, 08 Mar 2022 03:35:01 -0800 (PST) Received: from avogadro.lan ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id l2-20020aa7cac2000000b003f9b3ac68d6sm7491868edt.15.2022.03.08.03.34.59 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Mar 2022 03:34:59 -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=5wUS8GH2GpfDxGBxtP6708jGJGpCxaSfYkVvpdgFfqg=; b=pLwvrMQRgfB5WhTLdb1YmnbSbiyldj8+pWxTH2rFqDe7uIT+pOxDWXdWujnQ7N/fKx ekZ8W7xoKvp4n5jhTJkMekGxojF/fUke+PVz9PEmveQXDOvCltai1dxTgcTfgQjsjJB7 Dmz5f5KRm/lRR6UqetYqKxWTT4l0gVIx5pJdnn9kRvJXeNA+l5dXaDtVPbkU4XqFSiRR MGiZ6s/+vuUgFrJkWEKPZY9Xjriu6UrCYqVN6GAB7tkoe4QhCA4psQBi0lj3ljfrjA2V k23zdipzOHiI3jA47zZYb9cJCpvnSEdZYi1qNp4c0RqQXlE6Ayj23VgW3BkJyYjtB3XJ /SgQ== 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=5wUS8GH2GpfDxGBxtP6708jGJGpCxaSfYkVvpdgFfqg=; b=aXCAVxbQECb13TH5uoGoCx3WZ5CTEIpLRMWAHMHUZRNkuqmkSXDs6sdEd7Belxnlfi TyPC1I7QcdRBaJq8oZs+36vkQPkvsQvRJt9I7rcgjF6hKq1V4PWYnlTwlnxJHbHWMCn0 C9ZX/uRrm9r/vDg2UzlPhGEjfzbugKfwaWVs5uCeAX5WCVJvUoqIIg8C3o290Ax6V6u4 HPzNxByjo2ZSaq49K8dmVoEg4z82eu6iKW4ROymZYvFCom2tFk8KvB0NdyEEQiDkDzem 1dYWa+ZC5xm9Bv99Xa9s79fwg7AcOWQI/nK2yPegotvWTVjkYTQpdWJ6o0hZEuwVoyge tdBw== X-Gm-Message-State: AOAM531z14ilkIixIgEwoKZlbAUSnmbJcGFdvuDATKNo0soERiC7YPHB DQ5nBo7HMSmjS/5cTOOvUnl50aZiwVM= X-Google-Smtp-Source: ABdhPJy7iONqFpltxcI1mCHeNBAo+TtIkqNs4LDqjJnBiTcVLn4iFhMLKK1DTqVH3enbnzKR/Oqnkw== X-Received: by 2002:a17:906:e28a:b0:6d6:e2e9:d39d with SMTP id gg10-20020a170906e28a00b006d6e2e9d39dmr12680887ejb.2.1646739300765; Tue, 08 Mar 2022 03:35:00 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 07/22] update meson-buildoptions.sh Date: Tue, 8 Mar 2022 12:34:30 +0100 Message-Id: <20220308113445.859669-8-pbonzini@redhat.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220308113445.859669-1-pbonzini@redhat.com> References: <20220308113445.859669-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::634 (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::634; envelope-from=paolo.bonzini@gmail.com; helo=mail-ej1-x634.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: 1646739719767100007 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.35.1 From nobody Sun May 19 03:02:41 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 1646739834593448.19328269516086; Tue, 8 Mar 2022 03:43:54 -0800 (PST) Received: from localhost ([::1]:48682 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nRYFs-0004Lu-J7 for importer@patchew.org; Tue, 08 Mar 2022 06:43:52 -0500 Received: from eggs.gnu.org ([209.51.188.92]:44554) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nRY7N-0007le-8V for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:35:05 -0500 Received: from [2a00:1450:4864:20::631] (port=34473 helo=mail-ej1-x631.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nRY7L-0005u6-LV for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:35:04 -0500 Received: by mail-ej1-x631.google.com with SMTP id gb39so38478065ejc.1 for ; Tue, 08 Mar 2022 03:35:03 -0800 (PST) Received: from avogadro.lan ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id l2-20020aa7cac2000000b003f9b3ac68d6sm7491868edt.15.2022.03.08.03.35.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Mar 2022 03:35:01 -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=f3tF3F2oelBcRo7SwxGLE49lOLvZU4Fu6BpeRb+9CS0=; b=bCJlJyBz97MKNTu1KTRmP8gGru0B1rLu7xf+2SuSiXSlzuu9pIPWplQgZXXsp+8S9Y 0Slhn0AqKQz+ytYhuIkBfYsThFsNGlaLOrLzngQn/Xr6DJLhgToq9jig78BF7YqzdSVi 4dJVqNsxT6h87beP6NCZ/HimibJwTDADQV2abykX50ud1ifWlwNWBYhURoOwsHOrA6/i NMABNd4m6FGm0qj+BwwkItToI1Jzjq80yXAQw0seYRbgegV8m4TTpAIZ+fLw9OoMZ1W9 X0H5cc3YLrMaMKsKJLQUgLvp9DW7hhVJTJoDPp0dVvcwLcMzZanHLBpgXlIGbkVz9IpT fb7w== 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=f3tF3F2oelBcRo7SwxGLE49lOLvZU4Fu6BpeRb+9CS0=; b=QFUsfqgA12+eDlmUdfq6wuMBREynoem1yXS72RT9oFCLgoEDcrie18IJClLgp7IKko ltWS6Xvwa0etXf5rc6FhnsqVvLOP7p679Nj18CrU0Qsmm1SS+jvzaHWdz+S8/Vk4J59O DZKPcnKyl6rSs/aPnPP7rgAo+3ccCVMjbnZia5kQZJqRcwJfl8Vwle/1ECAD8OoCxce3 CTTydng+O8pJjFcS0WW0/LHdpwsrdafZB5hxXvAba53sH/dg9CHpZUkh66i/smv/DTOj MS9U3CD62tyFlKrkn3tFeiPFgwiIEWYimmj6rf9ig5CtGAGH/n6f9E+uygs/KVSIk3Lj bvSw== X-Gm-Message-State: AOAM530fOBBoRK8uGR+PH6Xi+xDAu4fRgXN+kkqC9xx67tAtX7nU+uBa O/Sxmu/IV+te+E9RAELwEkcs/r/oTTU= X-Google-Smtp-Source: ABdhPJzi26xJCjlMIwH+W8w+yN1M4FD1SP3kwO7EOGaOxc7uo0gTqO+sciGocrttq6+TguSXkoRVHA== X-Received: by 2002:a17:907:1c91:b0:6d7:b83:cddb with SMTP id nb17-20020a1709071c9100b006d70b83cddbmr12593436ejc.739.1646739302338; Tue, 08 Mar 2022 03:35:02 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 08/22] kvm-irqchip: introduce new API to support route change Date: Tue, 8 Mar 2022 12:34:31 +0100 Message-Id: <20220308113445.859669-9-pbonzini@redhat.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220308113445.859669-1-pbonzini@redhat.com> References: <20220308113445.859669-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::631 (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::631; envelope-from=paolo.bonzini@gmail.com; helo=mail-ej1-x631.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: 1646739836050100001 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.35.1 From nobody Sun May 19 03:02:41 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 1646739917577199.21026946912252; Tue, 8 Mar 2022 03:45:17 -0800 (PST) Received: from localhost ([::1]:51306 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nRYHC-00065u-K0 for importer@patchew.org; Tue, 08 Mar 2022 06:45:14 -0500 Received: from eggs.gnu.org ([209.51.188.92]:44592) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nRY7X-0007ni-4Z for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:35:18 -0500 Received: from [2a00:1450:4864:20::52d] (port=44567 helo=mail-ed1-x52d.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nRY7N-0005yk-82 for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:35:06 -0500 Received: by mail-ed1-x52d.google.com with SMTP id x5so24000623edd.11 for ; Tue, 08 Mar 2022 03:35:04 -0800 (PST) Received: from avogadro.lan ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id l2-20020aa7cac2000000b003f9b3ac68d6sm7491868edt.15.2022.03.08.03.35.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Mar 2022 03:35:03 -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=E3zthCmeyt4QJJ9aYC7aOp9Xf/zP8eFpxlfDRT6T3X0=; b=JL3J0PgevASDMubAz1FD/ZjIAzn9clu+YI3SBLFw0C4Ub4A4Frl5e1jzb51e6yzDh9 ETjYMcvdup74JmePwRUdOJH0lYX/YYNCyQlQiec2yB/gl1s3wviRbLj+i8X93pGlSore Ey3fOXWwrfOh3U+aT5jj0xOu2fcMEsP/hpfsPR0ciGxN4o15q5k8lJYQGxyA0qHowOLI afqqcoIaXW2P3Cm4yxxZ3nxO4qo3lo1Uf+wkIvl08NubBlhMfEKOBUiVXdOLdt6vjJNN KJAHsWIvQvN4d9qOuwpBVx+S1CEPEQ4XnVRgnOdvzbrUcisLr9vRJV3fKHV4yVD/4HrI p8DQ== 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=E3zthCmeyt4QJJ9aYC7aOp9Xf/zP8eFpxlfDRT6T3X0=; b=B4cGGwREhDBZ89FtYXAfpNrJHmCsPh6eBgX8uFzIk2iVEOEwz18j7PT3BgZoFWckFT JLvQlSs8lkXvJsV9+jNODuHmhSaYgEYBNnt2YXiKBp08BiqM9py9RAKtuwjkiDY97vgv TeyRh8RhiaJfxZ7lyh19i7Tw/ucmY4OxGjeQw4+/+4c+X/5+UqtpcPFSuWv15SBP1l3Z 4cpJSHdMem6aKAOFjjD4gKEP/4ZB9+h5BZ46gvRfJw7EkaK3FYtkA/J1M8EYuy5tHeRx 1ca0+aQyrRcINOlxYDWf0QsMABxcXFjy/YLMiyfCiSK1NIiA6Px/Ub/ZlSxL3TMkaYcY 1o8w== X-Gm-Message-State: AOAM530KudCqFWvhlkhDWDH+msQVQGw9+/GwMJFZIwik9NbeP4kFJQK9 yuqeDTKmzX1GI6AqaUIoib1vZpqGZR0= X-Google-Smtp-Source: ABdhPJxhwzhmZHjmNhZHtDDOtINh9cEYngYOR2J0Cb6F+fyPmn7wjz4zbt8HkBh/Yx3mLcNyeLRfIw== X-Received: by 2002:a05:6402:17c4:b0:415:ed36:52cb with SMTP id s4-20020a05640217c400b00415ed3652cbmr15676359edy.379.1646739303844; Tue, 08 Mar 2022 03:35:03 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 09/22] kvm/msi: do explicit commit when adding msi routes Date: Tue, 8 Mar 2022 12:34:32 +0100 Message-Id: <20220308113445.859669-10-pbonzini@redhat.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220308113445.859669-1-pbonzini@redhat.com> References: <20220308113445.859669-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::52d (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::52d; envelope-from=paolo.bonzini@gmail.com; helo=mail-ed1-x52d.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: 1646739919708100001 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.35.1 From nobody Sun May 19 03:02:41 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 1646740036396832.3043087239142; Tue, 8 Mar 2022 03:47:16 -0800 (PST) Received: from localhost ([::1]:57218 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nRYJA-0001hx-7U for importer@patchew.org; Tue, 08 Mar 2022 06:47:16 -0500 Received: from eggs.gnu.org ([209.51.188.92]:44594) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nRY7X-0007nj-4o for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:35:18 -0500 Received: from [2a00:1450:4864:20::62a] (port=40717 helo=mail-ej1-x62a.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nRY7O-0005zD-Gb for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:35:07 -0500 Received: by mail-ej1-x62a.google.com with SMTP id p15so38546082ejc.7 for ; Tue, 08 Mar 2022 03:35:06 -0800 (PST) Received: from avogadro.lan ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id l2-20020aa7cac2000000b003f9b3ac68d6sm7491868edt.15.2022.03.08.03.35.03 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Mar 2022 03:35:04 -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=GU+DDg+7U1IccGbjF8TSYQhJcv2NvDn70R8rbM/9+v8=; b=DDvqlSPqYP9MXnbOuDfu37OCHSBGY2DAuSqwa+rbKkjTFZXfx9xC5ncKvCeWrPZq44 9qjxif7WyDav12qZ5bguhSrjPel2A5HkS/rirdo1Jrk6K+fbDQ187sgtoaHhZ8rCX7qG UyjMHaM5NFf+9AM32hpXES05gcQUk06g20gVxiSb6V+z681wJD+A1Pjqjb2a6+Qm1AKm SUfWJ1kGXeHHokVHQHWxyXf5dEQkNgVwVyUMwsycKQ9IA4TD6urLjUT0ekEOttijOGSe 310I9WthJhrIW3VVxhhVgIwuZ/br+1UliDqKD8cpqr+IgVd955ZRDZ+ZKyqRo5AwnwiR LT2A== 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=GU+DDg+7U1IccGbjF8TSYQhJcv2NvDn70R8rbM/9+v8=; b=PBbBVeo1ssT/reS6NrBF0pIf87L2FrS9L07eeB5EzU6KLMr+cZzq2xYF7YrGdSmB+u qhxbmQR6bGkA6Sj1wxO3FAI1jsLKKdqeNUk6fWM6X5KBBDhegHQPSC7NsjmTxcYBRt+w Pq5S1EnIEUDx9/ENPpf6eBZmIBewZm1hlLZKVjIdevme9mOJet0WNR/lf0svE873pXBd 9yK3uIhj3HSowDrvffAYotb0CurO2mOOCZ/YsTRcuraeDLR0TR2R2xXBHYMxyVsYa+jr r/taQr2BBHLmzqMuV/8f8sQhAcqxPQZxFpplNETTG3QunfjgVXgOkqAFRxWyMVoa6HT2 HF8w== X-Gm-Message-State: AOAM531RTZoSrD2t10TQdj3+EU4NMy41F2sG+VRQ/4B8IebEmNrMWeuf gufnKi07v1CUXz2rmrJApfwW6n688CM= X-Google-Smtp-Source: ABdhPJyGH/lxyv+3obiDlSUcOFFsmWQWqxVCpi8PFR4ilJPCnrZCpKyX/TQ9Vjlw92Oyk0+WOJZ+hg== X-Received: by 2002:a17:907:8a04:b0:6b6:1f22:a5e with SMTP id sc4-20020a1709078a0400b006b61f220a5emr12814003ejc.528.1646739305229; Tue, 08 Mar 2022 03:35:05 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 10/22] target/i386: only include bits in pg_mode if they are not ignored Date: Tue, 8 Mar 2022 12:34:33 +0100 Message-Id: <20220308113445.859669-11-pbonzini@redhat.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220308113445.859669-1-pbonzini@redhat.com> References: <20220308113445.859669-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::62a (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::62a; envelope-from=paolo.bonzini@gmail.com; helo=mail-ej1-x62a.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: 1646740053042100001 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.35.1 From nobody Sun May 19 03:02:41 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 1646740317724868.6578756521344; Tue, 8 Mar 2022 03:51:57 -0800 (PST) Received: from localhost ([::1]:39268 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nRYNh-0000Hg-A5 for importer@patchew.org; Tue, 08 Mar 2022 06:51:57 -0500 Received: from eggs.gnu.org ([209.51.188.92]:44850) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nRY7m-0007sq-Hz for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:35:32 -0500 Received: from [2a00:1450:4864:20::62f] (port=35546 helo=mail-ej1-x62f.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nRY7g-0005zZ-Rl for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:35:28 -0500 Received: by mail-ej1-x62f.google.com with SMTP id yy13so29691627ejb.2 for ; Tue, 08 Mar 2022 03:35:07 -0800 (PST) Received: from avogadro.lan ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id l2-20020aa7cac2000000b003f9b3ac68d6sm7491868edt.15.2022.03.08.03.35.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Mar 2022 03:35:06 -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=CH0yiB2K8FkMASg2IhK2LMM1ht/mkFlBm+lEdERNCz4=; b=kYhBW/Sf1devOK2Sjj3CHTA0UDncwhB0HvBYoHHqVUs4dOOH+8NdQY0+IEiK6m2ZHA YTDLvYIjByasMOSHjX+cQNjctUFuy/Mi2ErYxMjVofkg2bHQzVSmpvYHQ8xIuEa6KfDc LwCSF80cSj4ccSFQypYrDOSMW+F7AhwnTh9FFEQe7wFxoakWazZUknalueMozhxNUD9W Fz7DSdLvvBSJJbYy3roAsNvcxnmYI1t0lz3OI2+koDvWiw8P2tbys3/QUJ7knNbUP5A9 W0yuU0HVaV6texd6plhn3vcaE1IGpNsx3CeyWe5Mks4voY39fGxunuXhFMYaXB+iJRds +/2g== 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=CH0yiB2K8FkMASg2IhK2LMM1ht/mkFlBm+lEdERNCz4=; b=fcmRl3M4NUTxsRVjTnPTWoHitYec6t/LjHlFgtv907FxItFb+MjxfB2qTodK23jYRh vXpyhJlVwoHAKutDTBXeftTaTQJnVvAn8JqiIkcG8QcTzfMeOycmh0V/6DcQXQQ9oPyl XS1Zw/1yfZkJRZndxZiEnAv4P9x8GnJbjeKr7mRQAsJ3mHgBQ6BHrH88ZOiizeQ0uK6G X/2wkdri2UbHHJb4+MXr9BnehsLWvxwGI7MnYqLYryZYajSRZudzquK8Xqa4djX4+DD3 PmWSq4vgQ/10YFO+rRfPdpRdjsBbpBvSLtvErn50VoDrOUjCEI+aWDIsmoYbZPH8B4yo 7I/g== X-Gm-Message-State: AOAM531CpbMog0R2/E6rNOQwFUt6k1la1V0Rz43HI/gnAmDwFEObgzf9 aUHGZNR+AOIzsaaSCqISJ1Ki6WwPqnw= X-Google-Smtp-Source: ABdhPJwWHa0i3TpLyYUB/wYJJHvsvNylypkTPsGC2r2Ei/7dO3Qy1QE2LCgaj5vvdOKeIAh/ytFQqw== X-Received: by 2002:a17:907:6da2:b0:6da:94a9:b7f3 with SMTP id sb34-20020a1709076da200b006da94a9b7f3mr13000653ejc.692.1646739306942; Tue, 08 Mar 2022 03:35:06 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 11/22] target/i386: Throw a #SS when loading a non-canonical IST Date: Tue, 8 Mar 2022 12:34:34 +0100 Message-Id: <20220308113445.859669-12-pbonzini@redhat.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220308113445.859669-1-pbonzini@redhat.com> References: <20220308113445.859669-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::62f (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::62f; envelope-from=paolo.bonzini@gmail.com; helo=mail-ej1-x62f.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: 1646740319173100001 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.35.1 From nobody Sun May 19 03:02:41 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 1646740271656475.8045846212582; Tue, 8 Mar 2022 03:51:11 -0800 (PST) Received: from localhost ([::1]:37198 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nRYMw-0007Fg-8A for importer@patchew.org; Tue, 08 Mar 2022 06:51:10 -0500 Received: from eggs.gnu.org ([209.51.188.92]:44678) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nRY7e-0007pP-LZ for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:35:26 -0500 Received: from [2a00:1450:4864:20::630] (port=41544 helo=mail-ej1-x630.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nRY7W-0005zi-Te for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:35:19 -0500 Received: by mail-ej1-x630.google.com with SMTP id a8so38522723ejc.8 for ; Tue, 08 Mar 2022 03:35:09 -0800 (PST) Received: from avogadro.lan ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id l2-20020aa7cac2000000b003f9b3ac68d6sm7491868edt.15.2022.03.08.03.35.07 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Mar 2022 03:35:07 -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=0HGozlZ3E0yjm8Id+XSZiwcb/TzgAs6XSXR21u6h1wc=; b=cxXUcNyIXbhpvb3G97+vJUwA6K9Dw36UYrmk45v/5eUEUIRU100ZsqQfLAeaOWxa1p Xcj1y3wex+glJJKQl8elzUeT2fddrE+aRs9kiC2RvUJja6L/Jw2uSchwBhjt0oe9Dl2c I3naiuApUf5II4RESM4klUEfZtxaAEP7gj2NIWA10zPbf94wN/tc98BlApylZu6T5Snv 0zg/XmQF5zpzInYoUIzRl4MAmQiC9631mz/QyLAzVHDot8hRC2g5LMDfEL3dxvL8CiG6 Yks3simB++Ymdw2TlOa2s8MKYaufD5kXcE9ba1ycmq0r+/llNjDYTenLRn85q08cfL3H k+tA== 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=0HGozlZ3E0yjm8Id+XSZiwcb/TzgAs6XSXR21u6h1wc=; b=tGPqoqIKckuU7loekPwFAwmkSuklgifbOh/Qx2pXR0ctKdwZjkqAIxB3DTIv2CxNvo hOHpofGjZxGbjEOQNcuc5PajXxM8Vmgx8cF17twv+ZQWiKIVDKYBgIT4PvKS0uZewo5Y QgkradaumdYeCYPt6ly38gDdNd+rNNPCeQs4mz8Q9WFxOPhTxhS+4brkf38h9Rd4KKt/ RJnkchPFv48jN2goNwoAjLBc1ONeztCyxSNtmR+gvZAlRrhFB7c/57KEFOq96cKj2EWA 1w/xpX8ZeBkaAt6NU5AnWBTOUid2GZJra+/XPhClE7ut6YOb54KYot5eFvFBydCiylfr YNkg== X-Gm-Message-State: AOAM530eqq8eu8shxXzYJwqvULVi0/OSEDk3aLMuIUG3w3aBpse4+aM6 Zb2PgUUE2kIo5t2FEfJu+09JXVPuOT4= X-Google-Smtp-Source: ABdhPJxTBRmOVUfbHfHouXiNqkH8vxqEyCTztv4m0Uuq3ZQXfmfQnwUw/88ivhLMrcSRRqhPRdkULA== X-Received: by 2002:a17:907:970e:b0:6da:9224:7fb3 with SMTP id jg14-20020a170907970e00b006da92247fb3mr12940491ejc.502.1646739308616; Tue, 08 Mar 2022 03:35:08 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 12/22] linux-headers: include missing changes from 5.17 Date: Tue, 8 Mar 2022 12:34:35 +0100 Message-Id: <20220308113445.859669-13-pbonzini@redhat.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220308113445.859669-1-pbonzini@redhat.com> References: <20220308113445.859669-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::630 (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::630; envelope-from=paolo.bonzini@gmail.com; helo=mail-ej1-x630.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: 1646740272587100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Paolo Bonzini --- linux-headers/asm-x86/kvm.h | 3 +++ linux-headers/linux/kvm.h | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/linux-headers/asm-x86/kvm.h b/linux-headers/asm-x86/kvm.h index 2da3316bb5..bf6e96011d 100644 --- a/linux-headers/asm-x86/kvm.h +++ b/linux-headers/asm-x86/kvm.h @@ -452,6 +452,9 @@ struct kvm_sync_regs { =20 #define KVM_STATE_VMX_PREEMPTION_TIMER_DEADLINE 0x00000001 =20 +/* attributes for system fd (group 0) */ +#define KVM_X86_XCOMP_GUEST_SUPP 0 + struct kvm_vmx_nested_state_data { __u8 vmcs12[KVM_STATE_NESTED_VMX_VMCS_SIZE]; __u8 shadow_vmcs12[KVM_STATE_NESTED_VMX_VMCS_SIZE]; diff --git a/linux-headers/linux/kvm.h b/linux-headers/linux/kvm.h index 00af3bc333..d232feaae9 100644 --- a/linux-headers/linux/kvm.h +++ b/linux-headers/linux/kvm.h @@ -1133,6 +1133,7 @@ struct kvm_ppc_resize_hpt { #define KVM_CAP_VM_MOVE_ENC_CONTEXT_FROM 206 #define KVM_CAP_VM_GPA_BITS 207 #define KVM_CAP_XSAVE2 208 +#define KVM_CAP_SYS_ATTRIBUTES 209 =20 #ifdef KVM_CAP_IRQ_ROUTING =20 @@ -2047,4 +2048,7 @@ struct kvm_stats_desc { =20 #define KVM_GET_STATS_FD _IO(KVMIO, 0xce) =20 +/* Available with KVM_CAP_XSAVE2 */ +#define KVM_GET_XSAVE2 _IOR(KVMIO, 0xcf, struct kvm_xsave) + #endif /* __LINUX_KVM_H */ --=20 2.35.1 From nobody Sun May 19 03:02:41 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 1646740493674386.8207533694838; Tue, 8 Mar 2022 03:54:53 -0800 (PST) Received: from localhost ([::1]:45388 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nRYQX-0004QK-FW for importer@patchew.org; Tue, 08 Mar 2022 06:54:53 -0500 Received: from eggs.gnu.org ([209.51.188.92]:44716) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nRY7g-0007pV-IH for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:35:26 -0500 Received: from [2a00:1450:4864:20::631] (port=38829 helo=mail-ej1-x631.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nRY7a-0005zs-Ld for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:35:21 -0500 Received: by mail-ej1-x631.google.com with SMTP id r13so38568131ejd.5 for ; Tue, 08 Mar 2022 03:35:11 -0800 (PST) Received: from avogadro.lan ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id l2-20020aa7cac2000000b003f9b3ac68d6sm7491868edt.15.2022.03.08.03.35.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Mar 2022 03:35:09 -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=Z7TWk9SqY2ylsd58gfzay36BekA31rTVa3Rhyz0PPW0=; b=deGDBmyUi9jc8h+pK6xGele3caUHxv+FOhaF5iR/eHy/zpGsKLPIiWqHJnSYXmwIbd 4ixz3ufGfoeKwcbFJEskwGixeoaWlWZ01iqofdwi5i2iYIVKA2YcEcwx18Yj5jGmsf1k 1QI0Ehfki35q4+yJsaX2ouVskZMwStm0MGnV2rHo4rXfIxytUFmIFM2PtKuRZM9p2dCu GeiWi2lBMGhjIHtoH699xMN/gN4v2qUBIuCNHPsWdh+B0XWEYjMITZcML5yw50IYWGFL UTDsRlqDgJLnNlX+z+TOUKAvZAL/WAg1WwHfdHC6CYPh+n2OMvfV5lQBxdp/TGgFuPPi lRkA== 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=Z7TWk9SqY2ylsd58gfzay36BekA31rTVa3Rhyz0PPW0=; b=gLHz3WlfCrGwpun4r3qSwtuZYNqb4rFM3Y0savktcIJ8L/deYxZZf1gSTAaLcfmhbw Do3X2M4cxgePEODvKybI0Ek2hmvtHQOxSbTzoqjk/y5jrMQts8Rz7U4/bpZYO8jkovm4 /UcMHVxtWPi3jvlLSQMGsLyXVHTuu/79o5Vwu7E7HBaDKtA/Nhl4Ztj0LGZxg3+vVlwD lfQ3WGq0oZjDfLgz5PLip2RPVGF221kEqoYMAScHOlvqHdBswyONJyPPS1wwDiyv/CTK uXUr3dnUiJg1y629AU2a1iNOg0C/Sl30FbH/dum0EXwCtBwjHTpC+BKUNanx5jP2Fdum 4K3w== X-Gm-Message-State: AOAM5301C3+dul3UHyPAi9kleiMMfd4TZtznn7oK+ZcW83OnbPD8Gawv m6d5yuIEEBzj3/KHAPF5mgvQ4T1Dar8= X-Google-Smtp-Source: ABdhPJxywurdsw20RHa1TgamxEWxA+oczWnjqFed2lPLASS+RKAN6juDVeb/PgjCPWta2uhNWQhMRw== X-Received: by 2002:a17:907:72c1:b0:6da:be5e:dc98 with SMTP id du1-20020a17090772c100b006dabe5edc98mr12858330ejc.283.1646739310651; Tue, 08 Mar 2022 03:35:10 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 13/22] x86: Fix the 64-byte boundary enumeration for extended state Date: Tue, 8 Mar 2022 12:34:36 +0100 Message-Id: <20220308113445.859669-14-pbonzini@redhat.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220308113445.859669-1-pbonzini@redhat.com> References: <20220308113445.859669-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::631 (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::631; envelope-from=paolo.bonzini@gmail.com; helo=mail-ej1-x631.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: Yang Zhong , Jing Liu 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: 1646740513892100001 Content-Type: text/plain; charset="utf-8" From: Jing Liu The extended state subleaves (EAX=3D0Dh, ECX=3Dn, n>1).ECX[1] indicate whether the extended state component locates on the next 64-byte boundary following the preceding state component when the compacted format of an XSAVE area is used. Right now, they are all zero because no supported component needed the bit to be set, but the upcoming AMX feature will use it. Fix the subleaves value according to KVM's supported cpuid. Signed-off-by: Jing Liu Signed-off-by: Yang Zhong Message-Id: <20220217060434.52460-2-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini --- target/i386/cpu.c | 1 + target/i386/cpu.h | 6 ++++++ target/i386/kvm/kvm-cpu.c | 1 + 3 files changed, 8 insertions(+) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 6c7ef1099b..0f3c477dfc 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -5488,6 +5488,7 @@ void cpu_x86_cpuid(CPUX86State *env, uint32_t index, = uint32_t count, const ExtSaveArea *esa =3D &x86_ext_save_areas[count]; *eax =3D esa->size; *ebx =3D esa->offset; + *ecx =3D esa->ecx & ESA_FEATURE_ALIGN64_MASK; } } break; diff --git a/target/i386/cpu.h b/target/i386/cpu.h index e69ab5dd78..7bd9d58505 100644 --- a/target/i386/cpu.h +++ b/target/i386/cpu.h @@ -550,6 +550,11 @@ typedef enum X86Seg { #define XSTATE_Hi16_ZMM_MASK (1ULL << XSTATE_Hi16_ZMM_BIT) #define XSTATE_PKRU_MASK (1ULL << XSTATE_PKRU_BIT) =20 +#define ESA_FEATURE_ALIGN64_BIT 1 + +#define ESA_FEATURE_ALIGN64_MASK (1U << ESA_FEATURE_ALIGN64_BIT) + + /* CPUID feature words */ typedef enum FeatureWord { FEAT_1_EDX, /* CPUID[1].EDX */ @@ -1356,6 +1361,7 @@ QEMU_BUILD_BUG_ON(sizeof(XSavePKRU) !=3D 0x8); typedef struct ExtSaveArea { uint32_t feature, bits; uint32_t offset, size; + uint32_t ecx; } ExtSaveArea; =20 #define XSAVE_STATE_AREA_COUNT (XSTATE_PKRU_BIT + 1) diff --git a/target/i386/kvm/kvm-cpu.c b/target/i386/kvm/kvm-cpu.c index d95028018e..ce27d3b1df 100644 --- a/target/i386/kvm/kvm-cpu.c +++ b/target/i386/kvm/kvm-cpu.c @@ -104,6 +104,7 @@ static void kvm_cpu_xsave_init(void) if (sz !=3D 0) { assert(esa->size =3D=3D sz); esa->offset =3D kvm_arch_get_supported_cpuid(s, 0xd, i, R_= EBX); + esa->ecx =3D kvm_arch_get_supported_cpuid(s, 0xd, i, R_ECX= ); } } } --=20 2.35.1 From nobody Sun May 19 03:02:41 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 1646740309540919.7063644154988; Tue, 8 Mar 2022 03:51:49 -0800 (PST) Received: from localhost ([::1]:38988 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nRYNX-0008Uv-Ra for importer@patchew.org; Tue, 08 Mar 2022 06:51:48 -0500 Received: from eggs.gnu.org ([209.51.188.92]:44682) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nRY7e-0007pQ-Mv for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:35:24 -0500 Received: from [2a00:1450:4864:20::635] (port=41550 helo=mail-ej1-x635.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nRY7a-000601-JD for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:35:21 -0500 Received: by mail-ej1-x635.google.com with SMTP id a8so38523464ejc.8 for ; Tue, 08 Mar 2022 03:35:13 -0800 (PST) Received: from avogadro.lan ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id l2-20020aa7cac2000000b003f9b3ac68d6sm7491868edt.15.2022.03.08.03.35.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Mar 2022 03:35:11 -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=nKUMmQL3SyZgCE4dlI8uQSgkH/q/tjlHgDtsb/N/8Mc=; b=Yr6x5EpWgWo5Fv42D8kaZ4VeI1fNPo3PgrvpMlUmGummFgqtm1pMTPpSewmWrdy2bk lz/PL10hlYFa5xH1rKd+wWxRMXfomRJpkejo8Bdo271cDo3+gHbtFjCwLyCMAIZy8TPf grok/ejx+JDsZZCwnfbW1DBDEv0Rb4ja3H00Od8a7/Z89R4eZVn6bhuoT1J1fGeOJzLw mOgAfTHzGZ4cLRs+/uh20vsgijFeY1ZOf8Ms3HNVSuWb4YHw5D09yqEauD/4zowCajPa twPlnTJgPKsWrazxnl3+myZe4ZM6MlCfpbx0N1kMEHRB1ehmSdRNpnAJT1YYRcAcPKAE wxew== 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=nKUMmQL3SyZgCE4dlI8uQSgkH/q/tjlHgDtsb/N/8Mc=; b=wjd/GoHW99UmiH6SaYURaQKYY6tD/rNfFM6v6NH58AfA2V9kAJNslg2id4MxAX+cKV r9wyGEM50AFk0css3BjKXVROXkMNZ+IbxksD8xZmDvn85GpPSrQylyoqL9GX6Bhzchbs OEEokxlueQ9zwN9EO4kb57vDYqLjOmFx+olcHaLEgKRLhU7FO8ThAQzKCPfiRpG5zY4g 18f3byORWe77hyS9K8DTc3Mf3QzuuuOvdooumW8+V4FhC/8Kzq2LMaee6RHprwAWzEup t7KkEoJSmcAADET0YDP1DkNbOiyP18/eMVuzBqc78w1Yyk7wPQJFSwsDha4KT6AuKYRl IWtA== X-Gm-Message-State: AOAM530stJ55+njU2qlhjxVnnGsUQ0LViegsNwLl1z/RAfQCduwWsgMf 79xZy6v9MU9crJdc5P4BFIrmDke4lUg= X-Google-Smtp-Source: ABdhPJwsLBOEG1tl7PdUFyM4S89l/pmgLoKrK074AMbSS3cU8EvRPy14EAuW49CCnVo+SXrQZGDBRQ== X-Received: by 2002:a17:907:8a04:b0:6cd:2902:8db3 with SMTP id sc4-20020a1709078a0400b006cd29028db3mr13009581ejc.530.1646739312247; Tue, 08 Mar 2022 03:35:12 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 14/22] x86: Add AMX XTILECFG and XTILEDATA components Date: Tue, 8 Mar 2022 12:34:37 +0100 Message-Id: <20220308113445.859669-15-pbonzini@redhat.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220308113445.859669-1-pbonzini@redhat.com> References: <20220308113445.859669-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::635 (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::635; envelope-from=paolo.bonzini@gmail.com; helo=mail-ej1-x635.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: Yang Zhong , Jing Liu 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: 1646740310080100001 Content-Type: text/plain; charset="utf-8" From: Jing Liu The AMX TILECFG register and the TMMx tile data registers are saved/restored via XSAVE, respectively in state component 17 (64 bytes) and state component 18 (8192 bytes). Add AMX feature bits to x86_ext_save_areas array to set up AMX components. Add structs that define the layout of AMX XSAVE areas and use QEMU_BUILD_BUG_ON to validate the structs sizes. Signed-off-by: Jing Liu Signed-off-by: Yang Zhong Message-Id: <20220217060434.52460-3-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini --- target/i386/cpu.c | 8 ++++++++ target/i386/cpu.h | 18 +++++++++++++++++- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 0f3c477dfc..ec35dd1717 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -1402,6 +1402,14 @@ 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_XTILE_CFG_BIT] =3D { + .feature =3D FEAT_7_0_EDX, .bits =3D CPUID_7_0_EDX_AMX_TILE, + .size =3D sizeof(XSaveXTILECFG), + }, + [XSTATE_XTILE_DATA_BIT] =3D { + .feature =3D FEAT_7_0_EDX, .bits =3D CPUID_7_0_EDX_AMX_TILE, + .size =3D sizeof(XSaveXTILEDATA) + }, }; =20 static uint32_t xsave_area_size(uint64_t mask) diff --git a/target/i386/cpu.h b/target/i386/cpu.h index 7bd9d58505..3ff1b49d29 100644 --- a/target/i386/cpu.h +++ b/target/i386/cpu.h @@ -539,6 +539,8 @@ typedef enum X86Seg { #define XSTATE_ZMM_Hi256_BIT 6 #define XSTATE_Hi16_ZMM_BIT 7 #define XSTATE_PKRU_BIT 9 +#define XSTATE_XTILE_CFG_BIT 17 +#define XSTATE_XTILE_DATA_BIT 18 =20 #define XSTATE_FP_MASK (1ULL << XSTATE_FP_BIT) #define XSTATE_SSE_MASK (1ULL << XSTATE_SSE_BIT) @@ -847,6 +849,8 @@ typedef uint64_t FeatureWordArray[FEATURE_WORDS]; #define CPUID_7_0_EDX_TSX_LDTRK (1U << 16) /* AVX512_FP16 instruction */ #define CPUID_7_0_EDX_AVX512_FP16 (1U << 23) +/* AMX tile (two-dimensional register) */ +#define CPUID_7_0_EDX_AMX_TILE (1U << 24) /* Speculation Control */ #define CPUID_7_0_EDX_SPEC_CTRL (1U << 26) /* Single Thread Indirect Branch Predictors */ @@ -1350,6 +1354,16 @@ typedef struct XSavePKRU { uint32_t padding; } XSavePKRU; =20 +/* Ext. save area 17: AMX XTILECFG state */ +typedef struct XSaveXTILECFG { + uint8_t xtilecfg[64]; +} XSaveXTILECFG; + +/* Ext. save area 18: AMX XTILEDATA state */ +typedef struct XSaveXTILEDATA { + uint8_t xtiledata[8][1024]; +} XSaveXTILEDATA; + QEMU_BUILD_BUG_ON(sizeof(XSaveAVX) !=3D 0x100); QEMU_BUILD_BUG_ON(sizeof(XSaveBNDREG) !=3D 0x40); QEMU_BUILD_BUG_ON(sizeof(XSaveBNDCSR) !=3D 0x40); @@ -1357,6 +1371,8 @@ QEMU_BUILD_BUG_ON(sizeof(XSaveOpmask) !=3D 0x40); QEMU_BUILD_BUG_ON(sizeof(XSaveZMM_Hi256) !=3D 0x200); 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); =20 typedef struct ExtSaveArea { uint32_t feature, bits; @@ -1364,7 +1380,7 @@ typedef struct ExtSaveArea { uint32_t ecx; } ExtSaveArea; =20 -#define XSAVE_STATE_AREA_COUNT (XSTATE_PKRU_BIT + 1) +#define XSAVE_STATE_AREA_COUNT (XSTATE_XTILE_DATA_BIT + 1) =20 extern ExtSaveArea x86_ext_save_areas[XSAVE_STATE_AREA_COUNT]; =20 --=20 2.35.1 From nobody Sun May 19 03:02:41 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 16467408021512.8007993863603815; Tue, 8 Mar 2022 04:00:02 -0800 (PST) Received: from localhost ([::1]:56338 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nRYVV-0003Pq-0T for importer@patchew.org; Tue, 08 Mar 2022 07:00:01 -0500 Received: from eggs.gnu.org ([209.51.188.92]:44822) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nRY7k-0007rd-IC for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:35:28 -0500 Received: from [2a00:1450:4864:20::530] (port=34484 helo=mail-ed1-x530.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nRY7e-00060F-El for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:35:26 -0500 Received: by mail-ed1-x530.google.com with SMTP id g3so11831793edu.1 for ; Tue, 08 Mar 2022 03:35:15 -0800 (PST) Received: from avogadro.lan ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id l2-20020aa7cac2000000b003f9b3ac68d6sm7491868edt.15.2022.03.08.03.35.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Mar 2022 03:35:13 -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=vN+clp7Q8VAT6jg2uzPLPsUUCcrwWH3qWN2JGe/o84A=; b=oDmwq9Tp3GrmhxhbSpHte3KE0nXUC+5lIlkpQwqGSTHipIRE6y4h8OvnfAzKaHV4xW 2Jmr9dNoJAftVmrZAkC8yUZE9lMGQO5uREzfYEx8WYS0t6/oSXgj/gNSisXAzmHZR7Oe 19DsMc4gdatC2nAlVeARWvWRVw2mVhAF1PbVrtL3av40+W3/f/ftpdga1ugYSepngc4u 79NOTAxfvqFPFbQ9Wobh2lv+JoqMXauTHjSFQfntokHxyu5ykNWeyYdhrwYQoozH3cwA KoPV2zQx3wswVh6v94vCpn2l0VNmF0M74Ly/RgJwdksMjlIZdPtoBCvzR6Fv+KoHCD1n GGCg== 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=vN+clp7Q8VAT6jg2uzPLPsUUCcrwWH3qWN2JGe/o84A=; b=6BXmWc0WGCtwvmkCNO9bRtVoerC5Sz0RQS+ubFAHRbWD9iO3ohMtOaXeLxQAFBda+h rkveEE1qAnV2Ka4PTat2UVPC6Ldw694HDH9evVPqT5DcOMVcb6kjwgfrOXyM+KcJgncm XotEJxkdoEu3Aih0ivRNfdtKplqNXn+Z06iqebYuBeTf9hVmpuUDRm+ZtzrNwYSEihOo IPRQ6qrLWNzOt9Tc349qTXq6LBporMTcdz8DwdHaHb1pwCuQu5fRJekOl2CrIUCAy8y9 ZvtfICtBBn8LTJJtrdbyQZXnWCBTS9OJNPa5Kmfis/Hj9UWzaUR6egxjDaTUmgildmPf NS0A== X-Gm-Message-State: AOAM531oqlSgj6LixtxwrgmrMMmbcAG7bhXdLlt15Yx2Tr2VmQ0GwEpe lt8XzJbYPQv3KGO4Go+IgIJPFijEyww= X-Google-Smtp-Source: ABdhPJxJvBZV56B330+WK37t3qGwraASPfcUfizYmrhfRojdJ1EY6Bg4yfl3nT/iQoEtlvHLO0gabA== X-Received: by 2002:a05:6402:442:b0:416:14b7:4d55 with SMTP id p2-20020a056402044200b0041614b74d55mr15471166edw.183.1646739314344; Tue, 08 Mar 2022 03:35:14 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 15/22] x86: Grant AMX permission for guest Date: Tue, 8 Mar 2022 12:34:38 +0100 Message-Id: <20220308113445.859669-16-pbonzini@redhat.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220308113445.859669-1-pbonzini@redhat.com> References: <20220308113445.859669-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::530 (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::530; envelope-from=paolo.bonzini@gmail.com; helo=mail-ed1-x530.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: Yang Zhong , Jing Liu 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: 1646740804063100003 Content-Type: text/plain; charset="utf-8" From: Yang Zhong Kernel allocates 4K xstate buffer by default. For XSAVE features which require large state component (e.g. AMX), Linux kernel dynamically expands the xstate buffer only after the process has acquired the necessary permissions. Those are called dynamically- enabled XSAVE features (or dynamic xfeatures). There are separate permissions for native tasks and guests. Qemu should request the guest permissions for dynamic xfeatures which will be exposed to the guest. This only needs to be done once before the first vcpu is created. KVM implemented one new ARCH_GET_XCOMP_SUPP system attribute API to get host side supported_xcr0 and Qemu can decide if it can request dynamically enabled XSAVE features permission. https://lore.kernel.org/all/20220126152210.3044876-1-pbonzini@redhat.com/ Suggested-by: Paolo Bonzini Signed-off-by: Yang Zhong Signed-off-by: Jing Liu Message-Id: <20220217060434.52460-4-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini --- target/i386/cpu.c | 7 +++++ target/i386/cpu.h | 4 +++ target/i386/kvm/kvm-cpu.c | 12 ++++---- target/i386/kvm/kvm.c | 57 ++++++++++++++++++++++++++++++++++++++ target/i386/kvm/kvm_i386.h | 1 + 5 files changed, 75 insertions(+), 6 deletions(-) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index ec35dd1717..505ee289bc 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -6007,6 +6007,7 @@ static void x86_cpu_enable_xsave_components(X86CPU *c= pu) CPUX86State *env =3D &cpu->env; int i; uint64_t mask; + static bool request_perm; =20 if (!(env->features[FEAT_1_ECX] & CPUID_EXT_XSAVE)) { env->features[FEAT_XSAVE_COMP_LO] =3D 0; @@ -6022,6 +6023,12 @@ static void x86_cpu_enable_xsave_components(X86CPU *= cpu) } } =20 + /* Only request permission for first vcpu */ + if (kvm_enabled() && !request_perm) { + kvm_request_xsave_components(cpu, mask); + request_perm =3D true; + } + env->features[FEAT_XSAVE_COMP_LO] =3D mask; env->features[FEAT_XSAVE_COMP_HI] =3D mask >> 32; } diff --git a/target/i386/cpu.h b/target/i386/cpu.h index 3ff1b49d29..9630f4712a 100644 --- a/target/i386/cpu.h +++ b/target/i386/cpu.h @@ -551,6 +551,10 @@ 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_XTILE_CFG_MASK (1ULL << XSTATE_XTILE_CFG_BIT) +#define XSTATE_XTILE_DATA_MASK (1ULL << XSTATE_XTILE_DATA_BIT) + +#define XSTATE_DYNAMIC_MASK (XSTATE_XTILE_DATA_MASK) =20 #define ESA_FEATURE_ALIGN64_BIT 1 =20 diff --git a/target/i386/kvm/kvm-cpu.c b/target/i386/kvm/kvm-cpu.c index ce27d3b1df..a35a1bf9fe 100644 --- a/target/i386/kvm/kvm-cpu.c +++ b/target/i386/kvm/kvm-cpu.c @@ -84,7 +84,7 @@ static void kvm_cpu_max_instance_init(X86CPU *cpu) static void kvm_cpu_xsave_init(void) { static bool first =3D true; - KVMState *s =3D kvm_state; + uint32_t eax, ebx, ecx, edx; int i; =20 if (!first) { @@ -100,11 +100,11 @@ static void kvm_cpu_xsave_init(void) ExtSaveArea *esa =3D &x86_ext_save_areas[i]; =20 if (esa->size) { - int sz =3D kvm_arch_get_supported_cpuid(s, 0xd, i, R_EAX); - if (sz !=3D 0) { - assert(esa->size =3D=3D sz); - esa->offset =3D kvm_arch_get_supported_cpuid(s, 0xd, i, R_= EBX); - esa->ecx =3D kvm_arch_get_supported_cpuid(s, 0xd, i, R_ECX= ); + host_cpuid(0xd, i, &eax, &ebx, &ecx, &edx); + if (eax !=3D 0) { + assert(esa->size =3D=3D eax); + esa->offset =3D ebx; + esa->ecx =3D ecx; } } } diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c index cfef36a14e..1e4436ee74 100644 --- a/target/i386/kvm/kvm.c +++ b/target/i386/kvm/kvm.c @@ -17,6 +17,7 @@ #include "qapi/error.h" #include #include +#include =20 #include #include "standard-headers/asm-x86/kvm_para.h" @@ -348,6 +349,7 @@ uint32_t kvm_arch_get_supported_cpuid(KVMState *s, uint= 32_t function, struct kvm_cpuid2 *cpuid; uint32_t ret =3D 0; uint32_t cpuid_1_edx; + uint64_t bitmask; =20 cpuid =3D get_supported_cpuid(s); =20 @@ -405,6 +407,25 @@ uint32_t kvm_arch_get_supported_cpuid(KVMState *s, uin= t32_t function, if (!has_msr_arch_capabs) { ret &=3D ~CPUID_7_0_EDX_ARCH_CAPABILITIES; } + } else if (function =3D=3D 0xd && index =3D=3D 0 && + (reg =3D=3D R_EAX || reg =3D=3D R_EDX)) { + struct kvm_device_attr attr =3D { + .group =3D 0, + .attr =3D KVM_X86_XCOMP_GUEST_SUPP, + .addr =3D (unsigned long) &bitmask + }; + + bool sys_attr =3D kvm_check_extension(s, KVM_CAP_SYS_ATTRIBUTES); + if (!sys_attr) { + warn_report("cannot get sys attribute capabilities %d", sys_at= tr); + } + + int rc =3D kvm_ioctl(s, KVM_GET_DEVICE_ATTR, &attr); + if (rc =3D=3D -1 && (errno =3D=3D ENXIO || errno =3D=3D EINVAL)) { + warn_report("KVM_GET_DEVICE_ATTR(0, KVM_X86_XCOMP_GUEST_SUPP) " + "error: %d", rc); + } + ret =3D (reg =3D=3D R_EAX) ? bitmask : bitmask >> 32; } else if (function =3D=3D 0x80000001 && reg =3D=3D R_ECX) { /* * It's safe to enable TOPOEXT even if it's not returned by @@ -5150,3 +5171,39 @@ bool kvm_arch_cpu_check_are_resettable(void) { return !sev_es_enabled(); } + +#define ARCH_REQ_XCOMP_GUEST_PERM 0x1025 + +void kvm_request_xsave_components(X86CPU *cpu, uint64_t mask) +{ + KVMState *s =3D kvm_state; + uint64_t supported; + + mask &=3D XSTATE_DYNAMIC_MASK; + if (!mask) { + return; + } + /* + * Just ignore bits that are not in CPUID[EAX=3D0xD,ECX=3D0]. + * ARCH_REQ_XCOMP_GUEST_PERM would fail, and QEMU has warned + * about them already because they are not supported features. + */ + supported =3D kvm_arch_get_supported_cpuid(s, 0xd, 0, R_EAX); + supported |=3D (uint64_t)kvm_arch_get_supported_cpuid(s, 0xd, 0, R_EDX= ) << 32; + mask &=3D supported; + + while (mask) { + int bit =3D ctz64(mask); + int rc =3D syscall(SYS_arch_prctl, ARCH_REQ_XCOMP_GUEST_PERM, bit); + if (rc) { + /* + * Older kernel version (<5.17) do not support + * ARCH_REQ_XCOMP_GUEST_PERM, but also do not return + * any dynamic feature from kvm_arch_get_supported_cpuid. + */ + warn_report("prctl(ARCH_REQ_XCOMP_GUEST_PERM) failure " + "for feature bit %d", bit); + } + mask &=3D ~BIT_ULL(bit); + } +} diff --git a/target/i386/kvm/kvm_i386.h b/target/i386/kvm/kvm_i386.h index a978509d50..4124912c20 100644 --- a/target/i386/kvm/kvm_i386.h +++ b/target/i386/kvm/kvm_i386.h @@ -52,5 +52,6 @@ bool kvm_hyperv_expand_features(X86CPU *cpu, Error **errp= ); uint64_t kvm_swizzle_msi_ext_dest_id(uint64_t address); =20 bool kvm_enable_sgx_provisioning(KVMState *s); +void kvm_request_xsave_components(X86CPU *cpu, uint64_t mask); =20 #endif --=20 2.35.1 From nobody Sun May 19 03:02:41 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 1646740448845619.2958297317905; Tue, 8 Mar 2022 03:54:08 -0800 (PST) Received: from localhost ([::1]:43502 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nRYPn-0003AX-Nj for importer@patchew.org; Tue, 08 Mar 2022 06:54:07 -0500 Received: from eggs.gnu.org ([209.51.188.92]:44724) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nRY7g-0007pm-Nj for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:35:26 -0500 Received: from [2a00:1450:4864:20::529] (port=36615 helo=mail-ed1-x529.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nRY7c-00060T-Iw for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:35:23 -0500 Received: by mail-ed1-x529.google.com with SMTP id o1so22987132edc.3 for ; Tue, 08 Mar 2022 03:35:16 -0800 (PST) Received: from avogadro.lan ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id l2-20020aa7cac2000000b003f9b3ac68d6sm7491868edt.15.2022.03.08.03.35.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Mar 2022 03:35:14 -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=Ha14pz7x/m5u7qcmHOLfQZi29aAKiPe3b4fjSvg00PY=; b=LndUvJqSVMCZ3kUtNHleyITWlnXejCI9f+jMN+6WtTMGAaJQ/Qh87hY2zfsX3xqZuH RfZLQKaNNaERJTcrVTgU8bOW+fzrH5nJZlApBq0YNkl/VTq1DOup/2izWdXAanY9x+sh E8Y+IjwTdGj9tns2HHT6Yu19IMgD+seIZiOA0CX1mb+hErIcGJwxjTedx5bufY3W/c6f C1odjyf22Y90Jc/O+62p+74AAAEomXrVoD3DoCTSS8wsR+vNPxgjwnYJeOPjLhDduNc4 VQeuKXLKEqxRlEctWH1p+DYwIT1A3Po8z5C7yCl64GHRwtndAS5jCb2KhZBXTNDAmsHg xH/w== 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=Ha14pz7x/m5u7qcmHOLfQZi29aAKiPe3b4fjSvg00PY=; b=W/V084qiLN9nNhv8sGOH5egs15Wf1T0DSvXEToApvxe8GcK7vvfjwtgZw4RWiBbYTv OxlaM9k+3xoSSSdSXzrLt72GkjNvaeI5ARn+hhRqM/nEguOQas/UKqfHIYNuxFAB6avK m2Hza+JkQfzLGMP1oud3S33MxWVb2zjkHz8qFZnIx2Z+iyvnfw/SMemvxIIS0SyA9TPE 2zL0buxLn5vLMZEE6mG/Xd0WYiaE69hEcnnkzXh0MGvqXjdThSeTFyoc+lyCO1dZsaaO bWgz7GbbztJs17kRmr+Vr42Lzo+UyTHMNd0x9m0zhSEm8X7Q5x3m+UuQd/OTwiPzwAi0 JufQ== X-Gm-Message-State: AOAM531jJVbMZNOlRNl1lVHcyeKuzdusEeYijn2VZi3WIqIbjv5vd4q1 owC/wMYdw0fuOzzbSLvcMbj2L6Vn+/Q= X-Google-Smtp-Source: ABdhPJzdoJ4aPC16eebZp3keyp467JZNZE9F48eXlzNPYcG2DhAXipnmAn6hzJlM04HXSreyPXNGYw== X-Received: by 2002:a50:e60f:0:b0:415:9509:32a2 with SMTP id y15-20020a50e60f000000b00415950932a2mr15547913edm.235.1646739315448; Tue, 08 Mar 2022 03:35:15 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 16/22] x86: Add XFD faulting bit for state components Date: Tue, 8 Mar 2022 12:34:39 +0100 Message-Id: <20220308113445.859669-17-pbonzini@redhat.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220308113445.859669-1-pbonzini@redhat.com> References: <20220308113445.859669-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::529 (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::529; envelope-from=paolo.bonzini@gmail.com; helo=mail-ed1-x529.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: Yang Zhong , Jing Liu 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: 1646740450360100001 Content-Type: text/plain; charset="utf-8" From: Jing Liu Intel introduces XFD faulting mechanism for extended XSAVE features to dynamically enable the features in runtime. If CPUID (EAX=3D0Dh, ECX=3Dn, n>1).ECX[2] is set as 1, it indicates support for XFD faulting of this state component. Signed-off-by: Jing Liu Signed-off-by: Yang Zhong Message-Id: <20220217060434.52460-5-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini --- target/i386/cpu.c | 3 ++- target/i386/cpu.h | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 505ee289bc..79e24bb23f 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -5496,7 +5496,8 @@ void cpu_x86_cpuid(CPUX86State *env, uint32_t index, = uint32_t count, const ExtSaveArea *esa =3D &x86_ext_save_areas[count]; *eax =3D esa->size; *ebx =3D esa->offset; - *ecx =3D esa->ecx & ESA_FEATURE_ALIGN64_MASK; + *ecx =3D esa->ecx & + (ESA_FEATURE_ALIGN64_MASK | ESA_FEATURE_XFD_MASK); } } break; diff --git a/target/i386/cpu.h b/target/i386/cpu.h index 9630f4712a..925d0129e2 100644 --- a/target/i386/cpu.h +++ b/target/i386/cpu.h @@ -557,8 +557,10 @@ typedef enum X86Seg { #define XSTATE_DYNAMIC_MASK (XSTATE_XTILE_DATA_MASK) =20 #define ESA_FEATURE_ALIGN64_BIT 1 +#define ESA_FEATURE_XFD_BIT 2 =20 #define ESA_FEATURE_ALIGN64_MASK (1U << ESA_FEATURE_ALIGN64_BIT) +#define ESA_FEATURE_XFD_MASK (1U << ESA_FEATURE_XFD_BIT) =20 =20 /* CPUID feature words */ --=20 2.35.1 From nobody Sun May 19 03:02:41 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 1646739715688282.9847021381155; Tue, 8 Mar 2022 03:41:55 -0800 (PST) Received: from localhost ([::1]:42504 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nRYDy-0000EO-JA for importer@patchew.org; Tue, 08 Mar 2022 06:41:54 -0500 Received: from eggs.gnu.org ([209.51.188.92]:44722) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nRY7g-0007pl-OG for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:35:26 -0500 Received: from [2a00:1450:4864:20::62a] (port=35545 helo=mail-ej1-x62a.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nRY7c-00060b-J3 for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:35:23 -0500 Received: by mail-ej1-x62a.google.com with SMTP id yy13so29693331ejb.2 for ; Tue, 08 Mar 2022 03:35:17 -0800 (PST) Received: from avogadro.lan ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id l2-20020aa7cac2000000b003f9b3ac68d6sm7491868edt.15.2022.03.08.03.35.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Mar 2022 03:35:16 -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=DZE9rtHDAdk4AmpsqJv5sNfo0jSwatkf7tMyJKyMF0Y=; b=ZRaIlI0uVdkfK8NJo3mYqamgMlYLrPfx2o8a4k1luiFwssyAdjcFQESCj+yG47nr0B z4jjX92AoVfp3hF7QSog0VKxY/lExpcYJckGvQ3unVPpWzAXEIqnv96vDLcj7d9+xGjp Rh0jZl5aZdx+QEfea4wMZcAJDXyP3bb+rd+JtHc+qSuNvJGQvLeB/Wr5mdXGjgYQZuk0 ZPKEhqKxMHBCOBYx2gHznhi0IugHpg8sx538zWQ8taGF7MX6ULDQt4OBWj5TW2Gjp3dA AwaVywd0Sqkb95jo0WG6F27oZt6ABQ4tmjq7pfvVTWbD0MEIgB+GiTv64Z9l6eaMsd5Z AHhg== 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=DZE9rtHDAdk4AmpsqJv5sNfo0jSwatkf7tMyJKyMF0Y=; b=DlNBXH1hXsQOJNtz17kAohfg0APnYuA6wNzoSo0/ACQDO5pq4P1YFvi8LBOYNbCsjH 9l3A7a2Qg2VAYR4maCDyxVHUGmjtFWL/ZiRD5G/y/9n4CqUcwpxE2SUCv8j6W+GSr3YK dCMsDQxLRi98tMyLRx3RIEAjlPCISO2a9pnAjrNcrVt95wiNkSGnlXq0s8awmLL302P8 oFtZfS6P1TotM887T61B5Fr/SpCjPHPxmtazJKpXj6bDpC+o/1lNs4law36eIZOBv/8X a93F5DFYsANGvSMZDyQVD7wIT6xPJzaly8GStJs0VGRt+Yr4gbe+jx/ftB9SEN4ckrB3 taaA== X-Gm-Message-State: AOAM533r7/Z4VB5smTdHBxNbLQVjwrIgXYliueONZ5m9VZSMTs7lFf9m K7QgqxSwEytplo0m5f4O3V5k1sU4Biw= X-Google-Smtp-Source: ABdhPJxb1ZfpJUDchwQrN2cdwTtFI/tge0S935575W5g7LIbKOf4kiWz5bCeXWlduxHn9HkhvbDFoA== X-Received: by 2002:a17:907:1c91:b0:6d7:b83:cddb with SMTP id nb17-20020a1709071c9100b006d70b83cddbmr12594313ejc.739.1646739317042; Tue, 08 Mar 2022 03:35:17 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 17/22] x86: Add AMX CPUIDs enumeration Date: Tue, 8 Mar 2022 12:34:40 +0100 Message-Id: <20220308113445.859669-18-pbonzini@redhat.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220308113445.859669-1-pbonzini@redhat.com> References: <20220308113445.859669-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::62a (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::62a; envelope-from=paolo.bonzini@gmail.com; helo=mail-ej1-x62a.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: Yang Zhong , Jing Liu 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: 1646739716956100001 Content-Type: text/plain; charset="utf-8" From: Jing Liu Add AMX primary feature bits XFD and AMX_TILE to enumerate the CPU's AMX capability. Meanwhile, add AMX TILE and TMUL CPUID leaf and subleaves which exist when AMX TILE is present to provide the maximum capability of TILE and TMUL. Signed-off-by: Jing Liu Signed-off-by: Yang Zhong Message-Id: <20220217060434.52460-6-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini --- target/i386/cpu.c | 55 ++++++++++++++++++++++++++++++++++++++++--- target/i386/kvm/kvm.c | 4 +++- 2 files changed, 55 insertions(+), 4 deletions(-) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 79e24bb23f..351a1e4f2a 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -575,6 +575,18 @@ static CPUCacheInfo legacy_l3_cache =3D { #define INTEL_PT_CYCLE_BITMAP 0x1fff /* Support 0,2^(0~11) */ #define INTEL_PT_PSB_BITMAP (0x003f << 16) /* Support 2K,4K,8K,16K,32= K,64K */ =20 +/* CPUID Leaf 0x1D constants: */ +#define INTEL_AMX_TILE_MAX_SUBLEAF 0x1 +#define INTEL_AMX_TOTAL_TILE_BYTES 0x2000 +#define INTEL_AMX_BYTES_PER_TILE 0x400 +#define INTEL_AMX_BYTES_PER_ROW 0x40 +#define INTEL_AMX_TILE_MAX_NAMES 0x8 +#define INTEL_AMX_TILE_MAX_ROWS 0x10 + +/* CPUID Leaf 0x1E constants: */ +#define INTEL_AMX_TMUL_MAX_K 0x10 +#define INTEL_AMX_TMUL_MAX_N 0x40 + void x86_cpu_vendor_words2str(char *dst, uint32_t vendor1, uint32_t vendor2, uint32_t vendor3) { @@ -844,8 +856,8 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { "avx512-vp2intersect", NULL, "md-clear", NULL, NULL, NULL, "serialize", NULL, "tsx-ldtrk", NULL, NULL /* pconfig */, NULL, - NULL, NULL, NULL, "avx512-fp16", - NULL, NULL, "spec-ctrl", "stibp", + NULL, NULL, "amx-bf16", "avx512-fp16", + "amx-tile", "amx-int8", "spec-ctrl", "stibp", NULL, "arch-capabilities", "core-capability", "ssbd", }, .cpuid =3D { @@ -910,7 +922,7 @@ FeatureWordInfo feature_word_info[FEATURE_WORDS] =3D { .type =3D CPUID_FEATURE_WORD, .feat_names =3D { "xsaveopt", "xsavec", "xgetbv1", "xsaves", - NULL, NULL, NULL, NULL, + "xfd", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, @@ -5586,6 +5598,43 @@ void cpu_x86_cpuid(CPUX86State *env, uint32_t index,= uint32_t count, } break; } + case 0x1D: { + /* AMX TILE */ + *eax =3D 0; + *ebx =3D 0; + *ecx =3D 0; + *edx =3D 0; + if (!(env->features[FEAT_7_0_EDX] & CPUID_7_0_EDX_AMX_TILE)) { + break; + } + + if (count =3D=3D 0) { + /* Highest numbered palette subleaf */ + *eax =3D INTEL_AMX_TILE_MAX_SUBLEAF; + } else if (count =3D=3D 1) { + *eax =3D INTEL_AMX_TOTAL_TILE_BYTES | + (INTEL_AMX_BYTES_PER_TILE << 16); + *ebx =3D INTEL_AMX_BYTES_PER_ROW | (INTEL_AMX_TILE_MAX_NAMES <= < 16); + *ecx =3D INTEL_AMX_TILE_MAX_ROWS; + } + break; + } + case 0x1E: { + /* AMX TMUL */ + *eax =3D 0; + *ebx =3D 0; + *ecx =3D 0; + *edx =3D 0; + if (!(env->features[FEAT_7_0_EDX] & CPUID_7_0_EDX_AMX_TILE)) { + break; + } + + if (count =3D=3D 0) { + /* Highest numbered palette subleaf */ + *ebx =3D INTEL_AMX_TMUL_MAX_K | (INTEL_AMX_TMUL_MAX_N << 8); + } + break; + } case 0x40000000: /* * CPUID code in kvm_arch_init_vcpu() ignores stuff diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c index 1e4436ee74..385c5f8ed3 100644 --- a/target/i386/kvm/kvm.c +++ b/target/i386/kvm/kvm.c @@ -1780,7 +1780,9 @@ int kvm_arch_init_vcpu(CPUState *cs) c =3D &cpuid_data.entries[cpuid_i++]; } break; - case 0x14: { + case 0x14: + case 0x1d: + case 0x1e: { uint32_t times; =20 c->function =3D i; --=20 2.35.1 From nobody Sun May 19 03:02:41 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 1646739910295754.7226794824109; Tue, 8 Mar 2022 03:45:10 -0800 (PST) Received: from localhost ([::1]:51132 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nRYH7-0005z1-9U for importer@patchew.org; Tue, 08 Mar 2022 06:45:09 -0500 Received: from eggs.gnu.org ([209.51.188.92]:44790) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nRY7j-0007r8-PZ for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:35:28 -0500 Received: from [2a00:1450:4864:20::630] (port=35551 helo=mail-ej1-x630.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nRY7d-00060i-31 for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:35:24 -0500 Received: by mail-ej1-x630.google.com with SMTP id yy13so29693658ejb.2 for ; Tue, 08 Mar 2022 03:35:19 -0800 (PST) Received: from avogadro.lan ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id l2-20020aa7cac2000000b003f9b3ac68d6sm7491868edt.15.2022.03.08.03.35.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Mar 2022 03:35:18 -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=yK1iPgBOChG8+hzv52v/XhSx1JapCghzdUpCduUGz48=; b=adwCdaj2g20wZUxxK3LkrR+rfnzoqtcviiP4+jd7UaT0jPTcX/+EaAiqT+qLwEbrJD 9gYLXO+AmK6ziBlZyXKlxQWG0RtL0MFkuQ4Cfbi1qoqHJE87JvU33Q3NLKyEJLZOX2S9 jWzsr1niyEhfcBsHlb8IfEXYnmZE0ey4ZMxLOJkK85hYTd90BqwovLzNDyFTJbUF5y+I kBZK9TZTx8RntPge/3d3Bui4inGEliDrlw2V8eJMXrQkmRkOvniRlNBtfqGqr8Z445ic MioVWNKqOaZGkkYOyEi76b9V6UOTwq92zTvXJjEsm+4W1C4gg3n3ONleqRZqOsYgrfXH Md9w== 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=yK1iPgBOChG8+hzv52v/XhSx1JapCghzdUpCduUGz48=; b=xNa6QshL/+Ex1e89u7FUnuArRvsPftM1WRVcG2m8gElMAyQXddAfVKGigtVdAuS9+U rBaRtsMeVteUYXlZItv2VO5o+yse6Yb5axaPWDytnwyu/H0BSS9qMnQiV7aEkCE9h3+v R11rPSw6uyoVl5/rMelzgc97MYIlsaaC2cFfyu7MQ3Jpa9kSW6YXuCDOmqORxXuAlBzX nEfWBzEIAmkiY3vGY7oLYKrXi8+0oDBDC4J4m1YxV3cAPQqSOqcnxF84fCJ+6eot0iNa yNV9lH3eIvwSyLyZtwwr/r3Ww6mVLwukc4VDVtgTh2OCiBRgL8mdSZeFSx5xm/SkGMyr ihxw== X-Gm-Message-State: AOAM530f87QJfYQ1VmkAQ/AjYPNrCyXoTzVOe/Ua1mOQJlkhV/RzBh0y MiPZuzGOqyoHrNLUD9QRFfvuOyr5R4w= X-Google-Smtp-Source: ABdhPJyBmnAWG1f5oND0kRPMTQwDB5amAsLLLWgwnq4gJpGg0bPkDIduCVG0MUWKOahfU+4Q/l+6GA== X-Received: by 2002:a17:906:2811:b0:6ce:eacf:5210 with SMTP id r17-20020a170906281100b006ceeacf5210mr13480151ejc.618.1646739318854; Tue, 08 Mar 2022 03:35:18 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 18/22] x86: add support for KVM_CAP_XSAVE2 and AMX state migration Date: Tue, 8 Mar 2022 12:34:41 +0100 Message-Id: <20220308113445.859669-19-pbonzini@redhat.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220308113445.859669-1-pbonzini@redhat.com> References: <20220308113445.859669-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::630 (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::630; envelope-from=paolo.bonzini@gmail.com; helo=mail-ej1-x630.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: Yang Zhong , Zeng Guang , Wei Wang , Jing Liu 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: 1646739913261100001 Content-Type: text/plain; charset="utf-8" From: Jing Liu When dynamic xfeatures (e.g. AMX) are used by the guest, the xsave area would be larger than 4KB. KVM_GET_XSAVE2 and KVM_SET_XSAVE under KVM_CAP_XSAVE2 works with a xsave buffer larger than 4KB. Always use the new ioctls under KVM_CAP_XSAVE2 when KVM supports it. Signed-off-by: Jing Liu Signed-off-by: Zeng Guang Signed-off-by: Wei Wang Signed-off-by: Yang Zhong Message-Id: <20220217060434.52460-7-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini --- target/i386/cpu.h | 4 ++++ target/i386/kvm/kvm.c | 42 ++++++++++++++++++++++++-------------- target/i386/xsave_helper.c | 28 +++++++++++++++++++++++++ 3 files changed, 59 insertions(+), 15 deletions(-) diff --git a/target/i386/cpu.h b/target/i386/cpu.h index 925d0129e2..8c850e74b8 100644 --- a/target/i386/cpu.h +++ b/target/i386/cpu.h @@ -1527,6 +1527,10 @@ typedef struct CPUX86State { uint64_t opmask_regs[NB_OPMASK_REGS]; YMMReg zmmh_regs[CPU_NB_REGS]; ZMMReg hi16_zmm_regs[CPU_NB_REGS]; +#ifdef TARGET_X86_64 + uint8_t xtilecfg[64]; + uint8_t xtiledata[8192]; +#endif =20 /* sysenter registers */ uint32_t sysenter_cs; diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c index 385c5f8ed3..0fbdeacbb7 100644 --- a/target/i386/kvm/kvm.c +++ b/target/i386/kvm/kvm.c @@ -123,6 +123,7 @@ static uint32_t num_architectural_pmu_gp_counters; static uint32_t num_architectural_pmu_fixed_counters; =20 static int has_xsave; +static int has_xsave2; static int has_xcrs; static int has_pit_state2; static int has_sregs2; @@ -1586,6 +1587,26 @@ static Error *invtsc_mig_blocker; =20 #define KVM_MAX_CPUID_ENTRIES 100 =20 +static void kvm_init_xsave(CPUX86State *env) +{ + if (has_xsave2) { + env->xsave_buf_len =3D QEMU_ALIGN_UP(has_xsave2, 4096); + } else if (has_xsave) { + env->xsave_buf_len =3D sizeof(struct kvm_xsave); + } else { + return; + } + + env->xsave_buf =3D qemu_memalign(4096, env->xsave_buf_len); + memset(env->xsave_buf, 0, env->xsave_buf_len); + /* + * The allocated storage must be large enough for all of the + * possible XSAVE state components. + */ + assert(kvm_arch_get_supported_cpuid(kvm_state, 0xd, 0, R_ECX) <=3D + env->xsave_buf_len); +} + int kvm_arch_init_vcpu(CPUState *cs) { struct { @@ -1615,6 +1636,8 @@ int kvm_arch_init_vcpu(CPUState *cs) =20 cpuid_i =3D 0; =20 + has_xsave2 =3D kvm_check_extension(cs->kvm_state, KVM_CAP_XSAVE2); + r =3D kvm_arch_set_tsc_khz(cs); if (r < 0) { return r; @@ -2004,19 +2027,7 @@ int kvm_arch_init_vcpu(CPUState *cs) if (r) { goto fail; } - - if (has_xsave) { - env->xsave_buf_len =3D sizeof(struct kvm_xsave); - env->xsave_buf =3D qemu_memalign(4096, env->xsave_buf_len); - memset(env->xsave_buf, 0, env->xsave_buf_len); - - /* - * The allocated storage must be large enough for all of the - * possible XSAVE state components. - */ - assert(kvm_arch_get_supported_cpuid(kvm_state, 0xd, 0, R_ECX) - <=3D env->xsave_buf_len); - } + kvm_init_xsave(env); =20 max_nested_state_len =3D kvm_max_nested_state_length(); if (max_nested_state_len > 0) { @@ -3320,13 +3331,14 @@ static int kvm_get_xsave(X86CPU *cpu) { CPUX86State *env =3D &cpu->env; void *xsave =3D env->xsave_buf; - int ret; + int type, ret; =20 if (!has_xsave) { return kvm_get_fpu(cpu); } =20 - ret =3D kvm_vcpu_ioctl(CPU(cpu), KVM_GET_XSAVE, xsave); + type =3D has_xsave2 ? KVM_GET_XSAVE2 : KVM_GET_XSAVE; + ret =3D kvm_vcpu_ioctl(CPU(cpu), type, xsave); if (ret < 0) { return ret; } diff --git a/target/i386/xsave_helper.c b/target/i386/xsave_helper.c index ac61a96344..996e9f3bfe 100644 --- a/target/i386/xsave_helper.c +++ b/target/i386/xsave_helper.c @@ -126,6 +126,20 @@ void x86_cpu_xsave_all_areas(X86CPU *cpu, void *buf, u= int32_t buflen) =20 memcpy(pkru, &env->pkru, sizeof(env->pkru)); } + + e =3D &x86_ext_save_areas[XSTATE_XTILE_CFG_BIT]; + if (e->size && e->offset) { + XSaveXTILECFG *tilecfg =3D buf + e->offset; + + memcpy(tilecfg, &env->xtilecfg, sizeof(env->xtilecfg)); + } + + e =3D &x86_ext_save_areas[XSTATE_XTILE_DATA_BIT]; + if (e->size && e->offset && buflen >=3D e->size + e->offset) { + XSaveXTILEDATA *tiledata =3D buf + e->offset; + + memcpy(tiledata, &env->xtiledata, sizeof(env->xtiledata)); + } #endif } =20 @@ -247,5 +261,19 @@ void x86_cpu_xrstor_all_areas(X86CPU *cpu, const void = *buf, uint32_t buflen) pkru =3D buf + e->offset; memcpy(&env->pkru, pkru, sizeof(env->pkru)); } + + e =3D &x86_ext_save_areas[XSTATE_XTILE_CFG_BIT]; + if (e->size && e->offset) { + const XSaveXTILECFG *tilecfg =3D buf + e->offset; + + memcpy(&env->xtilecfg, tilecfg, sizeof(env->xtilecfg)); + } + + e =3D &x86_ext_save_areas[XSTATE_XTILE_DATA_BIT]; + if (e->size && e->offset && buflen >=3D e->size + e->offset) { + const XSaveXTILEDATA *tiledata =3D buf + e->offset; + + memcpy(&env->xtiledata, tiledata, sizeof(env->xtiledata)); + } #endif } --=20 2.35.1 From nobody Sun May 19 03:02:41 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 1646740105942190.83184370197228; Tue, 8 Mar 2022 03:48:25 -0800 (PST) Received: from localhost ([::1]:59860 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nRYKH-0003Um-J7 for importer@patchew.org; Tue, 08 Mar 2022 06:48:25 -0500 Received: from eggs.gnu.org ([209.51.188.92]:44892) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nRY7n-0007sv-Sc for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:35:32 -0500 Received: from [2a00:1450:4864:20::52f] (port=37707 helo=mail-ed1-x52f.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nRY7k-00060w-B0 for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:35:31 -0500 Received: by mail-ed1-x52f.google.com with SMTP id q17so24055716edd.4 for ; Tue, 08 Mar 2022 03:35:21 -0800 (PST) Received: from avogadro.lan ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id l2-20020aa7cac2000000b003f9b3ac68d6sm7491868edt.15.2022.03.08.03.35.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Mar 2022 03:35:19 -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=v75aab1hkNIdvidEEPfPKyn8HJfknHeIqC/yZyfZ3qw=; b=UfwzLWc3EJvXWFezP9xJBekvZ9dUL2o8xcFHFT1PBWo1L0AGU0wmMA/Ibn6MTsw9YV v3va2+udC5SCEDXIuHQhh5XABfO9UW8e0fP0u46zfLmSv/JSMhEeZVEDfur5knC5cy1Q Ekit6QDCAeSyeco1a3hRTMFQvc9g0rEssxGZxGrL3f+utYkGZTEjB5sP/i5zA/hbPz1z +XM8/6JEqoSt7GVMmNbLeCMfA056FaOpuMvi6wjTBS5gy2lF6a3Zy+42VFvtOZg/yI1U 0WLbiMuh8lrqW8em54NWXHqJZNJvIyioOYCHr/WedXnQqPcMMBlhqvGrPoSLGV/ReLca HJkw== 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=v75aab1hkNIdvidEEPfPKyn8HJfknHeIqC/yZyfZ3qw=; b=w5wyjUUScMqU69moVy+E8MkhMCkZ7UjqhxkkLzwOzv7ua1nczJZ78zSjx1BWjy90v7 3WRg+oaBr/VtFVxtVdv/eXMpyYLu/LolTNe2aJxEQeCk2c5i7Jwg9pDZRZsYZxmKpeKI JRaFx9cGREQ4w1GSJeYCjyvUF/wDyTJ4XIR8/96rDC4z7qYlB+HzQu92tURSnO4Scxb/ chPyBI8+o8mlU5la1Fm/f0oksUWdVzzL1wPCFnMim/kWcYIhq2EVO8FMIzD+0sOFe2up Q2YZ2kgTnaBUmcU5LF5yyFBjG75bpSfoF78x/FeCfQIo0omtdtPsfhtKbYx52kr5ND91 A2cA== X-Gm-Message-State: AOAM532IvGjYQbf6MTX3Lna+RL6kbbPenpQ9Km+2iusA4oQagbeZr1r0 wvW6EqxuXTNq0HSGFxwuhRk+jMMz03g= X-Google-Smtp-Source: ABdhPJy72DlzWyEkeHHORYz1ZDodjiqCdE/cOvfWawfkHxZDY5A6QM9VOz4Aa7252RCQpfTamZlADA== X-Received: by 2002:a05:6402:17d9:b0:410:aaaf:6467 with SMTP id s25-20020a05640217d900b00410aaaf6467mr15726351edy.38.1646739320339; Tue, 08 Mar 2022 03:35:20 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 19/22] x86: Support XFD and AMX xsave data migration Date: Tue, 8 Mar 2022 12:34:42 +0100 Message-Id: <20220308113445.859669-20-pbonzini@redhat.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220308113445.859669-1-pbonzini@redhat.com> References: <20220308113445.859669-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::52f (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::52f; envelope-from=paolo.bonzini@gmail.com; helo=mail-ed1-x52f.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: Yang Zhong , Zeng Guang , Wei Wang 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: 1646740107883100001 Content-Type: text/plain; charset="utf-8" From: Zeng Guang XFD(eXtended Feature Disable) allows to enable a feature on xsave state while preventing specific user threads from using the feature. Support save and restore XFD MSRs if CPUID.D.1.EAX[4] enumerate to be valid. Likewise migrate the MSRs and related xsave state necessarily. Signed-off-by: Zeng Guang Signed-off-by: Wei Wang Signed-off-by: Yang Zhong Message-Id: <20220217060434.52460-8-yang.zhong@intel.com> Signed-off-by: Paolo Bonzini --- target/i386/cpu.h | 9 +++++++++ target/i386/kvm/kvm.c | 18 +++++++++++++++++ target/i386/machine.c | 46 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 73 insertions(+) diff --git a/target/i386/cpu.h b/target/i386/cpu.h index 8c850e74b8..efea2c78ec 100644 --- a/target/i386/cpu.h +++ b/target/i386/cpu.h @@ -507,6 +507,9 @@ typedef enum X86Seg { =20 #define MSR_VM_HSAVE_PA 0xc0010117 =20 +#define MSR_IA32_XFD 0x000001c4 +#define MSR_IA32_XFD_ERR 0x000001c5 + #define MSR_IA32_BNDCFGS 0x00000d90 #define MSR_IA32_XSS 0x00000da0 #define MSR_IA32_UMWAIT_CONTROL 0xe1 @@ -872,6 +875,8 @@ typedef uint64_t FeatureWordArray[FEATURE_WORDS]; #define CPUID_7_1_EAX_AVX_VNNI (1U << 4) /* AVX512 BFloat16 Instruction */ #define CPUID_7_1_EAX_AVX512_BF16 (1U << 5) +/* XFD Extend Feature Disabled */ +#define CPUID_D_1_EAX_XFD (1U << 4) =20 /* Packets which contain IP payload have LIP values */ #define CPUID_14_0_ECX_LIP (1U << 31) @@ -1616,6 +1621,10 @@ typedef struct CPUX86State { uint64_t msr_rtit_cr3_match; uint64_t msr_rtit_addrs[MAX_RTIT_ADDRS]; =20 + /* Per-VCPU XFD MSRs */ + uint64_t msr_xfd; + uint64_t msr_xfd_err; + /* 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 0fbdeacbb7..debac04e91 100644 --- a/target/i386/kvm/kvm.c +++ b/target/i386/kvm/kvm.c @@ -3276,6 +3276,13 @@ static int kvm_put_msrs(X86CPU *cpu, int level) env->msr_ia32_sgxlepubkeyhash[3]); } =20 + if (env->features[FEAT_XSAVE] & CPUID_D_1_EAX_XFD) { + kvm_msr_entry_add(cpu, MSR_IA32_XFD, + env->msr_xfd); + kvm_msr_entry_add(cpu, MSR_IA32_XFD_ERR, + env->msr_xfd_err); + } + /* Note: MSR_IA32_FEATURE_CONTROL is written separately, see * kvm_put_msr_feature_control. */ } @@ -3668,6 +3675,11 @@ static int kvm_get_msrs(X86CPU *cpu) kvm_msr_entry_add(cpu, MSR_IA32_SGXLEPUBKEYHASH3, 0); } =20 + if (env->features[FEAT_XSAVE] & CPUID_D_1_EAX_XFD) { + kvm_msr_entry_add(cpu, MSR_IA32_XFD, 0); + kvm_msr_entry_add(cpu, MSR_IA32_XFD_ERR, 0); + } + ret =3D kvm_vcpu_ioctl(CPU(cpu), KVM_GET_MSRS, cpu->kvm_msr_buf); if (ret < 0) { return ret; @@ -3964,6 +3976,12 @@ static int kvm_get_msrs(X86CPU *cpu) env->msr_ia32_sgxlepubkeyhash[index - MSR_IA32_SGXLEPUBKEYHASH= 0] =3D msrs[i].data; break; + case MSR_IA32_XFD: + env->msr_xfd =3D msrs[i].data; + break; + case MSR_IA32_XFD_ERR: + env->msr_xfd_err =3D msrs[i].data; + break; } } =20 diff --git a/target/i386/machine.c b/target/i386/machine.c index 6202f47793..7c54bada81 100644 --- a/target/i386/machine.c +++ b/target/i386/machine.c @@ -1483,6 +1483,48 @@ static const VMStateDescription vmstate_pdptrs =3D { } }; =20 +static bool xfd_msrs_needed(void *opaque) +{ + X86CPU *cpu =3D opaque; + CPUX86State *env =3D &cpu->env; + + return !!(env->features[FEAT_XSAVE] & CPUID_D_1_EAX_XFD); +} + +static const VMStateDescription vmstate_msr_xfd =3D { + .name =3D "cpu/msr_xfd", + .version_id =3D 1, + .minimum_version_id =3D 1, + .needed =3D xfd_msrs_needed, + .fields =3D (VMStateField[]) { + VMSTATE_UINT64(env.msr_xfd, X86CPU), + VMSTATE_UINT64(env.msr_xfd_err, X86CPU), + VMSTATE_END_OF_LIST() + } +}; + +#ifdef TARGET_X86_64 +static bool amx_xtile_needed(void *opaque) +{ + X86CPU *cpu =3D opaque; + CPUX86State *env =3D &cpu->env; + + return !!(env->features[FEAT_7_0_EDX] & CPUID_7_0_EDX_AMX_TILE); +} + +static const VMStateDescription vmstate_amx_xtile =3D { + .name =3D "cpu/intel_amx_xtile", + .version_id =3D 1, + .minimum_version_id =3D 1, + .needed =3D amx_xtile_needed, + .fields =3D (VMStateField[]) { + VMSTATE_UINT8_ARRAY(env.xtilecfg, X86CPU, 64), + VMSTATE_UINT8_ARRAY(env.xtiledata, X86CPU, 8192), + VMSTATE_END_OF_LIST() + } +}; +#endif + const VMStateDescription vmstate_x86_cpu =3D { .name =3D "cpu", .version_id =3D 12, @@ -1622,6 +1664,10 @@ const VMStateDescription vmstate_x86_cpu =3D { &vmstate_msr_tsx_ctrl, &vmstate_msr_intel_sgx, &vmstate_pdptrs, + &vmstate_msr_xfd, +#ifdef TARGET_X86_64 + &vmstate_amx_xtile, +#endif NULL } }; --=20 2.35.1 From nobody Sun May 19 03:02:41 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 1646740644101760.1067287923279; Tue, 8 Mar 2022 03:57:24 -0800 (PST) Received: from localhost ([::1]:49914 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nRYSx-0007Xu-3o for importer@patchew.org; Tue, 08 Mar 2022 06:57:23 -0500 Received: from eggs.gnu.org ([209.51.188.92]:44820) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nRY7k-0007rZ-I5 for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:35:28 -0500 Received: from [2a00:1450:4864:20::62b] (port=35547 helo=mail-ej1-x62b.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nRY7g-000618-F2 for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:35:25 -0500 Received: by mail-ej1-x62b.google.com with SMTP id yy13so29694046ejb.2 for ; Tue, 08 Mar 2022 03:35:22 -0800 (PST) Received: from avogadro.lan ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id l2-20020aa7cac2000000b003f9b3ac68d6sm7491868edt.15.2022.03.08.03.35.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Mar 2022 03:35:20 -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=46kJxzwhtB5sYrVu9en8jJZ3NOT8V7R9NqmfwJS7c8c=; b=SLTZqf8eZDt8w+pzzMjQef7Q2SZxBOIFzunZvTTZ8oCRZPrjO3uK/eoibyhGUwGokq VV6iziE3p2ki1FFlSeh5RoCWrEASd7GrzmjnSNo7kNExaBLP6G6HUOX1EMgpxFxRBXMd NW+5uUiODVacwysXEZF0zDEsL3xjuWu1/hMj0vAkRAQD/CDvLCD8ExBUGiTjXy+Ota1A eGVldHRjGPXgXphOAIvM327+6V8sFB5PKwGud2zihBfgtBsuVW6IR09qqzi9k8CmGgsc S5oDV8Sed4b9xOVGZ8h3RAb6EPwl75TI9RRio1lpmStnM5DfxQEdKv3DQr3fp5/60k7t 7ROA== 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=46kJxzwhtB5sYrVu9en8jJZ3NOT8V7R9NqmfwJS7c8c=; b=mgd1bLORmpfMtcnCJl1fwfJOmMfh/mgLJhY7Yu0HaDl8aare8oyoK44FCo6tH/rvcs TJMeMJed72d8wICz4M6qtV7wpiMjhFbqA8r9343tE/w2CiCmhsgnnqQ/sNcamjkBKCjf i1UP2D9xkflr4Tml77ZfedXUQcSa1op2rymoFplyYrKtksRZuXg6beESEVaidpDSB6o3 RImRfpHFRiZMkMj4lIxi0ZLIyLTf4eQOB5Hsl+5x594vizIN1lU7NGhLwrKs6E5xph0y bPVz/OwPMbfgLeBBOBYeE4GUGH2i+PuxRdb4OptEGzSl1br5NoyToNOuARGEUOc3gsk7 /kXg== X-Gm-Message-State: AOAM53124Xs9CzcN0U8kiQI/wDwsOovKPCdzWVOEXEX0T28XX4ixEL3L 7j9XR+g5BLQJ517aqEwGIC26wMEM/F8= X-Google-Smtp-Source: ABdhPJxfJalGi249+kakoHfDT+eAUMK0j7Zc5VaksCmBFddMujulzzL/kDXs5+yp6/IpdIGmDwWr8Q== X-Received: by 2002:a17:907:97c1:b0:6da:bd15:cca0 with SMTP id js1-20020a17090797c100b006dabd15cca0mr12662834ejc.327.1646739321463; Tue, 08 Mar 2022 03:35:21 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 20/22] i386: Add Icelake-Server-v6 CPU model with 5-level EPT support Date: Tue, 8 Mar 2022 12:34:43 +0100 Message-Id: <20220308113445.859669-21-pbonzini@redhat.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220308113445.859669-1-pbonzini@redhat.com> References: <20220308113445.859669-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::62b (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::62b; envelope-from=paolo.bonzini@gmail.com; helo=mail-ej1-x62b.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: 1646740644721100001 Content-Type: text/plain; charset="utf-8" From: Vitaly Kuznetsov Windows 11 with WSL2 enabled (Hyper-V) fails to boot with Icelake-Server {-v5} CPU model but boots well with '-cpu host'. Apparently, it expects 5-level paging and 5-level EPT support to come in pair but QEMU's Icelake-Server CPU model lacks the later. Introduce 'Icelake-Server-v6' CPU model with 'vmx-page-walk-5' enabled by default. Signed-off-by: Vitaly Kuznetsov Message-Id: <20220221145316.576138-1-vkuznets@redhat.com> Signed-off-by: Paolo Bonzini --- target/i386/cpu.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 351a1e4f2a..916d3354fe 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -3526,6 +3526,14 @@ static const X86CPUDefinition builtin_x86_defs[] =3D= { { /* end of list */ } }, }, + { + .version =3D 6, + .note =3D "5-level EPT", + .props =3D (PropValue[]) { + { "vmx-page-walk-5", "on" }, + { /* end of list */ } + }, + }, { /* end of list */ } } }, --=20 2.35.1 From nobody Sun May 19 03:02:41 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 1646740104392689.6556063636701; Tue, 8 Mar 2022 03:48:24 -0800 (PST) Received: from localhost ([::1]:59804 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nRYKD-0003Sj-L7 for importer@patchew.org; Tue, 08 Mar 2022 06:48:23 -0500 Received: from eggs.gnu.org ([209.51.188.92]:44824) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nRY7k-0007rh-Ia for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:35:28 -0500 Received: from [2a00:1450:4864:20::531] (port=38737 helo=mail-ed1-x531.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nRY7g-00061b-FD for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:35:26 -0500 Received: by mail-ed1-x531.google.com with SMTP id h13so11903714ede.5 for ; Tue, 08 Mar 2022 03:35:24 -0800 (PST) Received: from avogadro.lan ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id l2-20020aa7cac2000000b003f9b3ac68d6sm7491868edt.15.2022.03.08.03.35.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Mar 2022 03:35:22 -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=A7sbpjvbdH49qnXY2FpOJVOxJSU0keOkFOijV/ibCMY=; b=UwpCjohHYbGqEncIkxb2mGxjPgB3cfwLoPiqVR87V1wJu+nrifjh7WCy/sd8/hZoAa L4NCgpNJInCQHQH2ENqIBHtNsYbPwMEuurdq30Q1P+4aXsoVFy/KshzhhfRzUyIhSsh7 SaGbZ/wAZlzvamJwaxKOfdwTYFWg8juX0/KCT0hW5LIJh5nFxhAm3MMSipgsyaNr1fBx FBox/fVY3/FAPgybc4s842f5sG11k1jIUXyzUFuiiZSCwdF2NAog/EwPpacvzdZ00iqb GzM/B2OvpSfgYYuVBFIAt1+3Pbg8sBEzhvwns9GO7UO5Q3cHX9gBXfS+ar2w8Gq6CKgv QQvQ== 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=A7sbpjvbdH49qnXY2FpOJVOxJSU0keOkFOijV/ibCMY=; b=NoNGJS1Qk74XQiOtFcnQzbK/PSSCTwbywWigOsFPb+IUX0OpvFGxWEZ2G4S8BY5bCb IdvbPN8MoPGQo5lotHfohprOLMKAIBYb7LmblvxehRyGoBHlK6cRrZtMGbdsoz5GZbft A2eTuZQgyk/7TkY+stdCmHysQto2HqcstzoxHiL/NjDM14SMh5U3U/C3FCr80ncale7g 06slafbH3a/W7Sa9vI2HT4sf1EpZqeIEf2bbREU1kk2YgvM/jwC9L0aRAv1PUrzKXW1y 1s+j157UkG8zTjMqR4K3GlgraEEsmnotm//ZZ3rXV/+Bb3dGijTI+nOp8hQmy8NaBOsI BdqA== X-Gm-Message-State: AOAM532FZ25GDLOKzj0U5i1Bdk/hJrM3J7HA5Cq5LkaojYrLftQ9rGag UMdbM5SR9Hnm/Kn0wu2OwJ/gepRaAzQ= X-Google-Smtp-Source: ABdhPJwQJxMHYOI+vFNFSiRBHs1bILcaOucwKWbyN+YRkWO2y8iZ7IrZ3IfVQ52ivgywGWEvN+2COw== X-Received: by 2002:a05:6402:1941:b0:413:2822:9c8 with SMTP id f1-20020a056402194100b00413282209c8mr15703886edz.13.1646739323115; Tue, 08 Mar 2022 03:35:23 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 21/22] KVM: SVM: always set MSR_AMD64_TSC_RATIO to default value Date: Tue, 8 Mar 2022 12:34:44 +0100 Message-Id: <20220308113445.859669-22-pbonzini@redhat.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220308113445.859669-1-pbonzini@redhat.com> References: <20220308113445.859669-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::531 (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::531; envelope-from=paolo.bonzini@gmail.com; helo=mail-ed1-x531.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: Maxim Levitsky 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: 1646740105587100001 Content-Type: text/plain; charset="utf-8" From: Maxim Levitsky Even when the feature is not supported in guest CPUID, still set the msr to the default value which will be the only value KVM will accept in this case Signed-off-by: Maxim Levitsky Message-Id: <20220223115824.319821-1-mlevitsk@redhat.com> Signed-off-by: Paolo Bonzini --- target/i386/cpu.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 916d3354fe..a88d6554c8 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -5997,9 +5997,7 @@ static void x86_cpu_reset(DeviceState *dev) =20 x86_cpu_set_sgxlepubkeyhash(env); =20 - if (env->features[FEAT_SVM] & CPUID_SVM_TSCSCALE) { - env->amd_tsc_scale_msr =3D MSR_AMD64_TSC_RATIO_DEFAULT; - } + env->amd_tsc_scale_msr =3D MSR_AMD64_TSC_RATIO_DEFAULT; =20 #endif } --=20 2.35.1 From nobody Sun May 19 03:02:41 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 1646740503112310.0926186177411; Tue, 8 Mar 2022 03:55:03 -0800 (PST) Received: from localhost ([::1]:45708 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nRYQg-0004eC-3B for importer@patchew.org; Tue, 08 Mar 2022 06:55:02 -0500 Received: from eggs.gnu.org ([209.51.188.92]:44886) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nRY7n-0007st-J9 for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:35:32 -0500 Received: from [2a00:1450:4864:20::62a] (port=46634 helo=mail-ej1-x62a.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nRY7m-00061x-71 for qemu-devel@nongnu.org; Tue, 08 Mar 2022 06:35:31 -0500 Received: by mail-ej1-x62a.google.com with SMTP id qx21so38501122ejb.13 for ; Tue, 08 Mar 2022 03:35:25 -0800 (PST) Received: from avogadro.lan ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id l2-20020aa7cac2000000b003f9b3ac68d6sm7491868edt.15.2022.03.08.03.35.23 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Mar 2022 03:35:23 -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=2EWNx9oBQd7VD3zT0pyDj06sfYhM3+NSwBMbPhDSDAI=; b=G4fwL4vQ3vCX97KA3mYgHClvRoXYslfOGOCO6LYxPTwF5VIhVg6BFYzY+3bgMX/q2N 9hQj9UIjSwPbAl01zdG/f34pC9v32xwG7X8zg61839gjX3o6ShWk5A+ngDgEcEhSnZAh t4bhea3aqvzKlbJzT9LM7tHuSHBYubXlVD52n0NKx4V5PzXSIv0fd13yqsgJf/CS2qB+ MCKOywFmKH/OEANsmrIoXZyJy+fKYfSWV3dSuv29M3ERwgagCJ3BkgQPjAXVKA9jak7e hQGh6jLiIitWt9GVdIQN/jLwuDn99+NYeB3sxGAqmbM/EqtQK1+ZPjafS3FJ34C4wjMm qO4Q== 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=2EWNx9oBQd7VD3zT0pyDj06sfYhM3+NSwBMbPhDSDAI=; b=PcKRNbCelF7UfEzJJJ6k6PmdvDBfOMYafa1/sOJN8RR71EqiCRoqBEPbDakG+Hbazz m90j8DftugbL0F8dB//Q0L+jrtTVUIM5JxOsjitjIqklfNarFKfvmpHPPZZrFfJnUGX0 z7bA4uvlFZ0iyZiwToA7nd4z9jakviz0pVn4Y3EdpStu5iO35fDnEdjVhFtdudruh7jM IzXbK6nKQNwyQdzgiZ19NJw6nmz294JbTwHYglz6pyeFTubTcjVKfBZtICzgOmh/+g7Q gYuw9EAPKAbiaG5Enoid3tgjNXb4sqVO7tshI3cSfbVmZx54+OB/8QpPOnI4RIPZL2z8 zkQQ== X-Gm-Message-State: AOAM531GTbDFY6p5567kEaC/rI1aXr8iHKUJOreAYKW3uDn2HTaXwIpW r60AuSqHaoVDle9UDOLllF1/z7Gk6xA= X-Google-Smtp-Source: ABdhPJykQcAxNZ7+YAi9kQuYg/5anzlEenLTWw480eIQywSfZHHGBex5wXA9tzyQ4O4zumrPoU+Aqw== X-Received: by 2002:a17:907:970e:b0:6da:9224:7fb3 with SMTP id jg14-20020a170907970e00b006da92247fb3mr12941507ejc.502.1646739324859; Tue, 08 Mar 2022 03:35:24 -0800 (PST) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 22/22] gitlab-ci: do not run tests with address sanitizer Date: Tue, 8 Mar 2022 12:34:45 +0100 Message-Id: <20220308113445.859669-23-pbonzini@redhat.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220308113445.859669-1-pbonzini@redhat.com> References: <20220308113445.859669-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::62a (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::62a; envelope-from=paolo.bonzini@gmail.com; helo=mail-ej1-x62a.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: 1646740505315100001 Content-Type: text/plain; charset="utf-8" This is flaky and sometimes fails or hangs unexplicably. Signed-off-by: Paolo Bonzini --- .gitlab-ci.d/buildtest.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml index 0aa70213fb..0aea7ab84c 100644 --- a/.gitlab-ci.d/buildtest.yml +++ b/.gitlab-ci.d/buildtest.yml @@ -515,8 +515,6 @@ build-oss-fuzz: echo Testing ${fuzzer} ... ; "${fuzzer}" -runs=3D1 -seed=3D1 || exit 1 ; done - # Unrelated to fuzzer: run some tests with -fsanitize=3Daddress - - cd build-oss-fuzz && make check-qtest-i386 check-unit =20 build-tci: extends: .native_build_job_template --=20 2.35.1