Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp5264472imm; Sun, 22 Jul 2018 17:49:16 -0700 (PDT) X-Google-Smtp-Source: AAOMgpe04fpRUXoZ4SfXmwbNy3Ytd6KVWoYN/bG26Q9zKiKx2WLdyRxETLXQv63aVZW2BMV4NjHr X-Received: by 2002:a63:5d58:: with SMTP id o24-v6mr10316051pgm.349.1532306956853; Sun, 22 Jul 2018 17:49:16 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1532306956; cv=none; d=google.com; s=arc-20160816; b=q2RR2z9HmVlAbXjTzxpl62igVrT7NlS3R+iaIKqOk027yB4sfMjpOftewWrpqDEdzW rz3JUl/rmiOgvpKg0FqfGpaNQKzdpmpHPATLa6JmCJJb6MvmTY5RkcaQ6SaMseOQlePT tPfgHraUuLPyEN33wRD0yiJxplGLrcvHjymblN3G30QMmT5W5GFGyuTWbgqvVwo5WOod OSL0xb7ua9wiZkPxxuYllRUDjuigcfBN05ZZ5r5QSo16E3BmAUwzmPApcCHc8ymxvU60 hDGKpbtj7zu1dROptkJSnAYCQ3NIAnZVkmhzKmmtwGIS4xGmnsmu9tGExAOQp8R0DQSW jiKw== 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:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=HVOb+vFJlwfEy9YaU1RuD0B68qKfBVjS/jc+VgEZqW0=; b=x+yZ+O2FKe5QJallRGy/XXDrxl2kgcJty0Ld7gTzBtE5g7Og25QX6Nin3cMMoFQE3G tsSItqFiSIrWUFolUh6nmV2/SwuZq3tjRYX8ZY8PLDkQGOOXRtwY2s4ZaZSQOF42fhnE 2Z40s+l34DD4T3CzAN2koZVJh2ujMmAexGntkLN2hdWqj1dNMz36B2NoLTPk2kTPUl/w Si3J66Yliz3kVR8zIoUF3qnkGJPAPrCdlsaPzfK/+2suL4DEJTpc2ykq/HN6lDVx59aK 74Bi7mVG/hLZZVZFHZRITL0xCh5OGPy15Uisowrbv7TGrgHM1XXmqXgk943GcW1QjpGj BpHQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=RlgELKSS; 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 u6-v6si7382718plr.437.2018.07.22.17.48.52; Sun, 22 Jul 2018 17:49:16 -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=RlgELKSS; 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 S2387805AbeGWBqd (ORCPT + 99 others); Sun, 22 Jul 2018 21:46:33 -0400 Received: from mail-pg1-f194.google.com ([209.85.215.194]:33988 "EHLO mail-pg1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387758AbeGWBqc (ORCPT ); Sun, 22 Jul 2018 21:46:32 -0400 Received: by mail-pg1-f194.google.com with SMTP id y5-v6so10974646pgv.1; Sun, 22 Jul 2018 17:47:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=HVOb+vFJlwfEy9YaU1RuD0B68qKfBVjS/jc+VgEZqW0=; b=RlgELKSSZvKk8mNvtoULRSysBEm80g7dWK8AaK5v9JZHG0aHusnNw0+ibu2su7ko9N dDrS9Sk4bwkRLvw/4iWqnw7ob4ZbitlgfwhQ02Djb6V6SHm5fRU2PHuDjRR4T2+wFg9r niIL4EmxVMJAqvFREIOgLecnGDXiweVHc8jZ6Q+8hJ4wyJJijAEDOQYFiDi6OgYh+fvC T2Exs5mxIZBoQGhrrjsRmNWt7DxU2YRps5B8w88F7nddg63Uwh+2T8h88LQ1/CDmCub5 4TBG9VjGPgQy4X/Lyozr7GXRrY5myr1Dq1i0osCz1/GYPCjT6OKdKco9DUjkZZnQI5c1 pvhQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=HVOb+vFJlwfEy9YaU1RuD0B68qKfBVjS/jc+VgEZqW0=; b=jvX7jqqMdAaWxNI0QkuCiKdkKuTLvkqdbGekdURNiiCeORHEXhxRN5HZCG+KGyb7IP k32uI9Nodn9eyfhXXtPivTAXzdGiIvkDS4G/PPDyePGDdy+Z+xNYDwBHoton2ZFLVFFM TgLkUYoCT7ZTL5i8aberY35F0lig2G7rXUDZYp1JgiBPkz59loXDbdYPXyF4p5Z7Hfth nhbKd/cVghJe0DGwUUHhbcbM3q54fqLMeR/WevoHJxLG94R3MPzTksbYCZ57Y581iMbG edCEEm+9UOEqLMEIINm8N5HCjDAJHLjeKlgn7motdpB3Ide9MmdIqpviiv8oO6uewdkY EPrw== X-Gm-Message-State: AOUpUlFz5fjjYSDSe8nRzgyh4UibkX6ZmIc7d/69V8/Zn9j1t7HWYl58 zZgBrCcCDvguj2KTTMSZTPf3EZxd X-Received: by 2002:a63:e914:: with SMTP id i20-v6mr10275686pgh.10.1532306876324; Sun, 22 Jul 2018 17:47:56 -0700 (PDT) Received: from localhost.localdomain ([203.205.141.123]) by smtp.googlemail.com with ESMTPSA id e82-v6sm11646069pfk.87.2018.07.22.17.47.54 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sun, 22 Jul 2018 17:47:55 -0700 (PDT) From: Wanpeng Li X-Google-Original-From: Wanpeng Li To: linux-kernel@vger.kernel.org, kvm@vger.kernel.org Cc: Paolo Bonzini , =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= , Vitaly Kuznetsov Subject: [PATCH v4 RESEND 6/6] KVM: X86: Expose PV_SEND_IPI CPUID feature bit to guest Date: Mon, 23 Jul 2018 08:47:39 +0800 Message-Id: <1532306859-31166-7-git-send-email-wanpengli@tencent.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1532306859-31166-1-git-send-email-wanpengli@tencent.com> References: <1532306859-31166-1-git-send-email-wanpengli@tencent.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Wanpeng Li Expose PV_SEND_IPI feature bit to guest, the guest can check this feature bit before using paravirtualized send IPIs. Cc: Paolo Bonzini Cc: Radim Krčmář Cc: Vitaly Kuznetsov Signed-off-by: Wanpeng Li --- Documentation/virtual/kvm/cpuid.txt | 4 ++++ arch/x86/kvm/cpuid.c | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Documentation/virtual/kvm/cpuid.txt b/Documentation/virtual/kvm/cpuid.txt index ab022dc..97ca194 100644 --- a/Documentation/virtual/kvm/cpuid.txt +++ b/Documentation/virtual/kvm/cpuid.txt @@ -62,6 +62,10 @@ KVM_FEATURE_ASYNC_PF_VMEXIT || 10 || paravirtualized async PF VM exit || || can be enabled by setting bit 2 || || when writing to msr 0x4b564d02 ------------------------------------------------------------------------------ +KVM_FEATURE_PV_SEND_IPI || 11 || guest checks this feature bit + || || before using paravirtualized + || || send IPIs. +------------------------------------------------------------------------------ KVM_FEATURE_CLOCKSOURCE_STABLE_BIT || 24 || host will warn if no guest-side || || per-cpu warps are expected in || || kvmclock. diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c index 7e042e3..7bcfa61 100644 --- a/arch/x86/kvm/cpuid.c +++ b/arch/x86/kvm/cpuid.c @@ -621,7 +621,8 @@ static inline int __do_cpuid_ent(struct kvm_cpuid_entry2 *entry, u32 function, (1 << KVM_FEATURE_CLOCKSOURCE_STABLE_BIT) | (1 << KVM_FEATURE_PV_UNHALT) | (1 << KVM_FEATURE_PV_TLB_FLUSH) | - (1 << KVM_FEATURE_ASYNC_PF_VMEXIT); + (1 << KVM_FEATURE_ASYNC_PF_VMEXIT) | + (1 << KVM_FEATURE_PV_SEND_IPI); if (sched_info_on()) entry->eax |= (1 << KVM_FEATURE_STEAL_TIME); -- 2.7.4