lkml.org 
[lkml]   [2018]   [Jul]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v3 6/6] KVM: X86: Expose PV_SEND_IPI CPUID feature bit to guest
    Date
    From: Wanpeng Li <wanpengli@tencent.com>

    Expose PV_SEND_IPI feature bit to guest, the guest can check this feature
    bit before using paravirtualized send IPIs.

    Cc: Paolo Bonzini <pbonzini@redhat.com>
    Cc: Radim Krčmář <rkrcmar@redhat.com>
    Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
    Signed-off-by: Wanpeng Li <wanpengli@tencent.com>
    ---
    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
    \
     
     \ /
      Last update: 2018-07-03 08:22    [W:3.101 / U:0.760 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site