Received: by 2002:ac0:cd04:0:0:0:0:0 with SMTP id w4csp22757imn; Fri, 1 Jul 2022 09:08:34 -0700 (PDT) X-Google-Smtp-Source: AGRyM1s2woRpQwsPVOTS5HjgXHv3LjoZgmBsaLMECrAKkyjKUVillmEiuL5A9d0l4E7lT6YK7G+8 X-Received: by 2002:a17:90b:4c4d:b0:1ec:bb28:9819 with SMTP id np13-20020a17090b4c4d00b001ecbb289819mr17151410pjb.140.1656691714368; Fri, 01 Jul 2022 09:08:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1656691714; cv=none; d=google.com; s=arc-20160816; b=Y8WZXp0BPl/I9rzhMrXqSsWx/0GZxRN5Rd4XACaEYc3NTSrJPD3ZAtAP4fHFxI6lw+ cafhY2564BNrJXKsxE99ptIt5F0v0+BZFoJ/Bi5UQfTLsvDMqYiBXU+pBFlb6Aq3hwjU 0BVM/LtSRDeou1BxmRacHM8aMeguwpKqzTbWCwc8/QB+THaaiCcLB/u5RdT6qk030sta p8KM+AGlDI662offjWP5OKgLIK4YFWoePPuEa5KzJuI8YItS9O2X+1K5R+z4s6gMZsBu hD4R3JOzGgKHjfgNSfoutTRrItlXMzuSIbM3QywT8tqnm8+NWwaLrVXTyAOI1VH0WKu9 1O0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=NHKjS2hX5qBuSevK018Q0TVoONckTzwODc2zQK9vjyQ=; b=WikFWOop0piI48QQ7DN0bBhrEnxvWlIw9ldFA056rZPH6UXNoD08BxLrx1eafVEwZ+ cEFkGIS/sIXe+ABYso5/hi9zFk6smfXS84mRRFRBG6vGvD2D8872bhQYLPgLKBwbtqvn ZXTMTW3k8U6g1WlVYbO2uL+uu9bToyslV9YOgro0wLxQOq3QsWwX04eNRX1i8T2tBC8N hUeGVF8M1oFQz4FhgOr0HRw/FlNcXihQEdkMsolwSmJyTMUeTz+e3X5dhvAnRUGXQIVD 7scqXSH93Yw3hGa6BWbaCmOP4AyTZzNyjXe4+IpS3XJqcKv7qCJr/Kw+t5+ab4MC5uK1 lNew== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=aVwAlVX4; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id nv5-20020a17090b1b4500b001ed53b28e8dsi12889108pjb.84.2022.07.01.09.08.14; Fri, 01 Jul 2022 09:08:34 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=aVwAlVX4; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230472AbiGAQBt (ORCPT + 99 others); Fri, 1 Jul 2022 12:01:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53872 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229979AbiGAQBs (ORCPT ); Fri, 1 Jul 2022 12:01:48 -0400 Received: from mail-ot1-x32d.google.com (mail-ot1-x32d.google.com [IPv6:2607:f8b0:4864:20::32d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 470A91D30B for ; Fri, 1 Jul 2022 09:01:47 -0700 (PDT) Received: by mail-ot1-x32d.google.com with SMTP id y10-20020a9d634a000000b006167f7ce0c5so2203151otk.0 for ; Fri, 01 Jul 2022 09:01:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=NHKjS2hX5qBuSevK018Q0TVoONckTzwODc2zQK9vjyQ=; b=aVwAlVX4fKbZdP/EKT3dzLHmALrXN8O3FO1/AUQriNS28v22Nn+K/O2w9wrCeXH5qi AXC65wcOqGFnNJXQP/sO2NEX2EO98w7iWl4GtGJpw9GMa5WtFfdiJuWB1xec8aZmLnwD TFMTS7BAVjRYYnjKM8y65NSgUnzGyA4DjHJiegb3HrEql909j3nCoI3W8w+AlN49o5k4 JT9UcfafdfaqI+2tPjbanL6R8+TAbrOmF1c8qpbpDmSPeM/4pAyaBLhKoVFqpEXKze7p 9dctBXgoPMozD3gHYIZG3wevOSovfhGJbqHG4iykmvzMf7O3MmW2Ic+kbaa9KBFV2UKI 0kow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=NHKjS2hX5qBuSevK018Q0TVoONckTzwODc2zQK9vjyQ=; b=gjNrf03tgFK+9Dia5UCkpBqLUHKc+EQa8X5pZRwm6ZVuPrkeCmizwrWzaYPk9kXlv9 lWR/KhPePfoI4itJHs+c+HN5BXrzGtR8Ew0DhpJugwu+dgKK1UztMwgsf76Or6wamDGI uGp4++8mjGlRMW3nFWsOd7gPn45ewCxh6KZn6G/VyTwb8fvAL/805M3PeyK5ypgVnC/K ez8tFZ/ZD9kyznSmhgv2sQK4Or7oNAq3e4hMIOroHLgUjhl3CkjQpSr9ejdSCvOXv7km f/yBXIJvYRPHOthDMb5LoskgdG6luM3kxKdD8drLe2hvjNv32J/DsdYJb8AeFnxHZBR0 7+wA== X-Gm-Message-State: AJIora+EGLxRKyDYXx3UGrmspjxbDPMzjhTuGjxRXEe87PZ93ypcb6aQ S5yu8CG4wYz8jbUxHIPV7Ys4HE8rExA1qitqVb2qCg== X-Received: by 2002:a05:6830:14:b0:616:dcbd:e53e with SMTP id c20-20020a056830001400b00616dcbde53emr6534039otp.267.1656691306392; Fri, 01 Jul 2022 09:01:46 -0700 (PDT) MIME-Version: 1.0 References: <20220629150625.238286-1-vkuznets@redhat.com> <20220629150625.238286-21-vkuznets@redhat.com> In-Reply-To: <20220629150625.238286-21-vkuznets@redhat.com> From: Jim Mattson Date: Fri, 1 Jul 2022 09:01:35 -0700 Message-ID: Subject: Re: [PATCH v2 20/28] KVM: VMX: Add missing VMENTRY controls to vmcs_config To: Vitaly Kuznetsov Cc: kvm@vger.kernel.org, Paolo Bonzini , Sean Christopherson , Anirudh Rayabharam , Wanpeng Li , Maxim Levitsky , linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-17.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE,USER_IN_DEF_DKIM_WL,USER_IN_DEF_SPF_WL autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jun 29, 2022 at 8:07 AM Vitaly Kuznetsov wrote: > > As a preparation to reusing the result of setup_vmcs_config() in > nested VMX MSR setup, add the VMENTRY controls which KVM doesn't > use but supports for nVMX to KVM_OPT_VMX_VM_ENTRY_CONTROLS and > filter them out in vmx_vmentry_ctrl(). > > No functional change intended. > > Signed-off-by: Vitaly Kuznetsov > --- > arch/x86/kvm/vmx/vmx.c | 3 +++ > arch/x86/kvm/vmx/vmx.h | 4 +++- > 2 files changed, 6 insertions(+), 1 deletion(-) > > diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c > index e5ab77ed37e4..b774b6391e0e 100644 > --- a/arch/x86/kvm/vmx/vmx.c > +++ b/arch/x86/kvm/vmx/vmx.c > @@ -4179,6 +4179,9 @@ static u32 vmx_vmentry_ctrl(void) > { > u32 vmentry_ctrl = vmcs_config.vmentry_ctrl; > > + /* Not used by KVM but supported for nesting. */ > + vmentry_ctrl &= ~(VM_ENTRY_SMM | VM_ENTRY_DEACT_DUAL_MONITOR); > + LOL! KVM does not emulate the dual-monitor treatment of SMIs and SMM. Do we actually claim to support these VM-entry controls today?!? > if (vmx_pt_mode_is_system()) > vmentry_ctrl &= ~(VM_ENTRY_PT_CONCEAL_PIP | > VM_ENTRY_LOAD_IA32_RTIT_CTL); > diff --git a/arch/x86/kvm/vmx/vmx.h b/arch/x86/kvm/vmx/vmx.h > index d4503a38735b..7ada8410a037 100644 > --- a/arch/x86/kvm/vmx/vmx.h > +++ b/arch/x86/kvm/vmx/vmx.h > @@ -479,7 +479,9 @@ static inline u8 vmx_get_rvi(void) > __KVM_REQ_VMX_VM_ENTRY_CONTROLS > #endif > #define KVM_OPT_VMX_VM_ENTRY_CONTROLS \ > - (VM_ENTRY_LOAD_IA32_PERF_GLOBAL_CTRL | \ > + (VM_ENTRY_SMM | \ > + VM_ENTRY_DEACT_DUAL_MONITOR | \ > + VM_ENTRY_LOAD_IA32_PERF_GLOBAL_CTRL | \ > VM_ENTRY_LOAD_IA32_PAT | \ > VM_ENTRY_LOAD_IA32_EFER | \ > VM_ENTRY_LOAD_BNDCFGS | \ > -- > 2.35.3 >