Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp3070918imm; Fri, 20 Jul 2018 09:37:06 -0700 (PDT) X-Google-Smtp-Source: AAOMgpeILXs8RYv9GCqyrtKLMPiZqA7Y8qU6MZdIjehQY3iVa4puQUtCBLlO1EH/bRkIBJwsMSOE X-Received: by 2002:a63:2404:: with SMTP id k4-v6mr2705070pgk.191.1532104626024; Fri, 20 Jul 2018 09:37:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1532104625; cv=none; d=google.com; s=arc-20160816; b=nLivuZIomYzVpMTzRYEx/zVmbIMz7cdAACKrrMq+XYCh/+VoGCaCSuHYYMHAiANIHc O/ftiBVB100S2SV2J4YdBj/2QeDdGZOGTBqxJqvVt5vemXSga2M00jh/1dYOwt5IJXqq RwPsor/UqsYacjMdAcjAVOwtKu7OtiCwT+7ZcP+XKZsOPjqC0wp5YEaBiDCp3f8BajVO c2eb/mkpy/k0UIg6brovihBUFcszj25vw9Hp6sD7lpbzMaAbVxSpMLctsGrQJTHXk9Ml L/3mVsSAU1skTGNz2s3/FT/lGjtAqJYYVHlvYbR2jinb+RKKzjDrRiNmOm0S+iOuYtoz 2GbQ== 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 :message-id:date:subject:cc:to:from:dkim-signature :arc-authentication-results; bh=HVOb+vFJlwfEy9YaU1RuD0B68qKfBVjS/jc+VgEZqW0=; b=d4ZVBdMbjy95ZvPn88EmZ3+B8ZPhsMARUrXFV9uXGgItBMSoEIgCNZHWYxrepPcvDb aDsVTjEWXfmETXBWJ/8OhRNTq8YLU6TuQjcDHx8FsPKNiLCd1dcJcwJCH6Q/iC+5Lh+A X77D6rxx46/xy2p9R/SfeBa/8RVfv0S7LEkHjPCcFizVtjDKPBP/rjsmwPr9PvWUjGgu p9OmqegE8Sm119vlPxYt1/xlq2NZkYeRazmVLGYwkcjNGC28ym8mRzZ4HBV8VymIHhAn J4KkW7puSivtsP8eF0pkhE5lcSghiqlJgLqRaIFB0/XQR698rN+CbyZI3t37jVQEww/1 qjhw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=IVYGzr1P; 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 k1-v6si2075581pgh.65.2018.07.20.09.36.51; Fri, 20 Jul 2018 09:37:05 -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=IVYGzr1P; 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 S2388107AbeGTRYs (ORCPT + 99 others); Fri, 20 Jul 2018 13:24:48 -0400 Received: from mail-pl0-f65.google.com ([209.85.160.65]:35129 "EHLO mail-pl0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731305AbeGTRYs (ORCPT ); Fri, 20 Jul 2018 13:24:48 -0400 Received: by mail-pl0-f65.google.com with SMTP id w3-v6so5415747plq.2; Fri, 20 Jul 2018 09:35:45 -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:mime-version :content-transfer-encoding; bh=HVOb+vFJlwfEy9YaU1RuD0B68qKfBVjS/jc+VgEZqW0=; b=IVYGzr1PM5y15J1KmhJAms/qMWxuTvoAstTZcDuwfLhhuCzaH7Q0Kdsc5u6019s2MQ dx62gu33J0UxfVclczqiSvezRiBv06QIQgLicKpNTB9mpcb/ckyiJFxfneaZd3oYYCuE naxUOsefS9YviJ7W4Yp+TDF94frfCqt+F8yVucXao6HUwBZewItFNUvGKHS8JKDxVsZ6 7mDT5u9H1sIsyCbjHleP4SNZSV7NPBpAbTSHDDNJcdt7t/HtEuiYGtOgJS98+QstG0Qz YUH4T6L+RG3c/0T67qr3oJqHbddplsAtMsK6rJWjkhOL+pi1pFix9kmG3GrFuTbnvIQd Ya0g== 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:mime-version :content-transfer-encoding; bh=HVOb+vFJlwfEy9YaU1RuD0B68qKfBVjS/jc+VgEZqW0=; b=nDwsNFVSf3la2g0jWhZecQXA4AD+0usFytIii9ew+bPtpP8n9CP5jgaKngXOFMzBCV Ru5W1nkqYl7yMggZO9URlHXEdLAKQowhZU6rX7LuQpbgtnUYZfOyKPDvn05c61ImilGb uc2fYe1sdhFNHOjxBFwrV0cheqj3UfkRDVcgfxLQDHMtEG4cNn9Erx2xDoTHsM4ulKeE Gq2GOeaxDiYXmpXGuEwBd2AGOlACHYCeKxSddUwOJmhrzi2uEbp1L8wzEstlhjmTsIbo KFkUVYszqz1d5Yfiyv4bUvlE1Vq0/qJLWhpE6vnC/3OPWwYYCU/rkarsW8d5gyhg0V4K GMRg== X-Gm-Message-State: AOUpUlF32oMinOBeNApRknmGCW5peII8xZn2BQb0DK2CThHOhgWwguxR qCJ8drbQMWzofIUCrFp7wg1G9rQpt9I= X-Received: by 2002:a17:902:9b82:: with SMTP id y2-v6mr2768795plp.69.1532104544616; Fri, 20 Jul 2018 09:35:44 -0700 (PDT) Received: from localhost ([223.72.65.191]) by smtp.gmail.com with ESMTPSA id a77-v6sm8642687pfj.38.2018.07.20.09.35.43 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 20 Jul 2018 09:35:44 -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?= , Wanpeng Li , Vitaly Kuznetsov Subject: [PATCH v4 6/6] KVM: X86: Expose PV_SEND_IPI CPUID feature bit to guest Date: Sat, 21 Jul 2018 00:35:39 +0800 Message-Id: <1532104539-16075-1-git-send-email-wanpengli@tencent.com> X-Mailer: git-send-email 2.7.4 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