Received: by 2002:a25:8b12:0:0:0:0:0 with SMTP id i18csp3684715ybl; Tue, 20 Aug 2019 00:17:51 -0700 (PDT) X-Google-Smtp-Source: APXvYqz23eNu0cFUlqppaHVMRJtoWqKlvuD9c1aMnF6UmnAce5aEBQ0PueUODJ0aR0UecJ4yoLYn X-Received: by 2002:a17:90a:eb18:: with SMTP id j24mr15504083pjz.82.1566285471917; Tue, 20 Aug 2019 00:17:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1566285471; cv=none; d=google.com; s=arc-20160816; b=JxlPXlkN/8gknoLxQu97d5XvgpRKk909Q1LjcjOieycLjeyuV44H+Hfjd/pnpDguaH hLf6QqFsUXkcjje+O2KIhzT9FDf/ZoidZqg87KSZiVbstYTSJtClouhwNHaiEkhyJaNI g3vhnov6pHNjmFYDe5H5Pq8bMAfFoed+mP261xCJNauxTRsswOtxcqfyHoxTsSk6iJMb IJEmyXU5XZ7NiKSW8B5BPWqh7ctFPz5bBFUX636IHfTKlQitsq758/fHiMgVuepsbF0g G3tK+lYOM2IV6x+PGdXMRZyTcxVDZCZVvW7ovsUD5v4GJylzwNjsaHWuvdhLEtR/ALgq 8Npg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=/HHjg0frQhplyQkLIENoQEPH8BOJA1EYcGzaVFRRncA=; b=UKLKIz1Gb1LT5mVcd0e9IVhYr1S4y8a3WFTIWevMjkRfOhfy2NwY2vvKT65dDR7Y39 9/Bh/rmfW7SyO2zp4YL2LHpSTESD6icUyDldSIeAbM3HFpNtnVqKSotB0vVOS96YilLO pi63NihRFFmB/Qx5LleZbMJIcSpJ7W0+P2DU3LRZ+3V4zjkUeAVonPpNiCUSOta31KiV xpP1XHYCMXOM/y1VJ4LbzPdfXEPw/wkHB5uRZCZcNjVqMf18M57ZSs8xWkTkyJb/MYYm ez+wRKoenkfB3kFDqxWafCFglpijjaJFB7Erfan9bPlkHxiC9LTbWswZapu9dfAG98MO 2M8A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b="VXWFA2/u"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 91si11988054pld.380.2019.08.20.00.17.37; Tue, 20 Aug 2019 00:17:51 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b="VXWFA2/u"; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729362AbfHTHQi (ORCPT + 99 others); Tue, 20 Aug 2019 03:16:38 -0400 Received: from mail-ot1-f66.google.com ([209.85.210.66]:32997 "EHLO mail-ot1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726049AbfHTHQh (ORCPT ); Tue, 20 Aug 2019 03:16:37 -0400 Received: by mail-ot1-f66.google.com with SMTP id q20so4144324otl.0; Tue, 20 Aug 2019 00:16:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=/HHjg0frQhplyQkLIENoQEPH8BOJA1EYcGzaVFRRncA=; b=VXWFA2/uLolpSCzI6N+HhX+txsqjmTRAauRxwHfrgMNZGU2V9VCSjW2MDu54rkNYef 1RvpYn6oucqGeeuUEGr4c3PpBPe/q/m+hLAZUmng6AJe0VIOvVpQPK1fis9foOvn9MMt Zt2e89rq+0cmZQom/DuE2nppd1jdazuudHryu/SWBFG7KuS61Wd21gX0u84l6QKv7+5M bjpdwIs5b6sE3VVKqYri6zssO2GlyepnBIcbz9u0kE8d++j8YFkp8XNw6CQ9ygUJw29C upV/xfFnBVy9XOBA8pzY0lz4Nl05aKtd4XbHqjd+Lb/7oSaoGeYpKTx0pehJOQyr99aM z67w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=/HHjg0frQhplyQkLIENoQEPH8BOJA1EYcGzaVFRRncA=; b=ZGkvNoq2iG7VDoKcdITnrX+0dFfKlvpZfoNVPGR2o5bkhirFP6l7JlBASYR9mAS15f Zxfu9NRJFHLEbBrMGY4P8+xJAZAb/flnDEhhDV9QwF8qKhY9f9l+u0d64HWxQftOTL5q 56uzVIa2FHoxqfM2L3iQkQMUBQr2DvZi5ZPcVkbcqn+5J5thtGIIvoDhs8haGgfzPGI1 nmG/3emdAj8jm0LQdFEDcIAWx77X6vthNfB5f3RsKjeS4zRxcVTGm8No37xRjSFdISsv LeSe1QoDP9DhTDtUNtDUtO7v5h5CZD0WsUH/SdLUPk3aeU/ZeqqqB+gGv5ZFfSM+iyoe Bzrg== X-Gm-Message-State: APjAAAVY8SI6GbgIp0pUCsaOt2P7sAlegdZBS/x6Y0Xfz80OfK6neNn3 ekHVjfYlCctltwsrgL8U59DtCB/QNZJmE8VQKzs= X-Received: by 2002:a9d:7754:: with SMTP id t20mr20252119otl.56.1566285396712; Tue, 20 Aug 2019 00:16:36 -0700 (PDT) MIME-Version: 1.0 References: <1563154124-18579-1-git-send-email-wanpengli@tencent.com> In-Reply-To: From: Wanpeng Li Date: Tue, 20 Aug 2019 15:16:07 +0800 Message-ID: Subject: Re: [PATCH RESEND] i386/kvm: support guest access CORE cstate To: Paolo Bonzini Cc: LKML , kvm , =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= , Eduardo Habkost Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Kindly reminder, :) On Mon, 15 Jul 2019 at 17:16, Paolo Bonzini wrote: > > On 15/07/19 03:28, Wanpeng Li wrote: > > From: Wanpeng Li > > > > Allow guest reads CORE cstate when exposing host CPU power management c= apabilities > > to the guest. PKG cstate is restricted to avoid a guest to get the whol= e package > > information in multi-tenant scenario. > > > > Cc: Eduardo Habkost > > Cc: Paolo Bonzini > > Cc: Radim Kr=C4=8Dm=C3=A1=C5=99 > > Signed-off-by: Wanpeng Li > > Hi, > > QEMU is in hard freeze now. This will be applied after the release. > > Thanks, > > Paolo > > > --- > > linux-headers/linux/kvm.h | 4 +++- > > target/i386/kvm.c | 3 ++- > > 2 files changed, 5 insertions(+), 2 deletions(-) > > > > diff --git a/linux-headers/linux/kvm.h b/linux-headers/linux/kvm.h > > index b53ee59..d648fde 100644 > > --- a/linux-headers/linux/kvm.h > > +++ b/linux-headers/linux/kvm.h > > @@ -696,9 +696,11 @@ struct kvm_ioeventfd { > > #define KVM_X86_DISABLE_EXITS_MWAIT (1 << 0) > > #define KVM_X86_DISABLE_EXITS_HLT (1 << 1) > > #define KVM_X86_DISABLE_EXITS_PAUSE (1 << 2) > > +#define KVM_X86_DISABLE_EXITS_CSTATE (1 << 3) > > #define KVM_X86_DISABLE_VALID_EXITS (KVM_X86_DISABLE_EXITS_MW= AIT | \ > > KVM_X86_DISABLE_EXITS_HL= T | \ > > - KVM_X86_DISABLE_EXITS_PA= USE) > > + KVM_X86_DISABLE_EXITS_PA= USE | \ > > + KVM_X86_DISABLE_EXITS_CS= TATE) > > > > /* for KVM_ENABLE_CAP */ > > struct kvm_enable_cap { > > diff --git a/target/i386/kvm.c b/target/i386/kvm.c > > index 3b29ce5..49a0cc1 100644 > > --- a/target/i386/kvm.c > > +++ b/target/i386/kvm.c > > @@ -1645,7 +1645,8 @@ int kvm_arch_init(MachineState *ms, KVMState *s) > > if (disable_exits) { > > disable_exits &=3D (KVM_X86_DISABLE_EXITS_MWAIT | > > KVM_X86_DISABLE_EXITS_HLT | > > - KVM_X86_DISABLE_EXITS_PAUSE); > > + KVM_X86_DISABLE_EXITS_PAUSE | > > + KVM_X86_DISABLE_EXITS_CSTATE); > > } > > > > ret =3D kvm_vm_enable_cap(s, KVM_CAP_X86_DISABLE_EXITS, 0, > > >