[tip: x86/apic] x86/kvm: Reserve KVM_FEATURE_MSI_EXT_DEST_ID

From: tip-bot2 for David Woodhouse
Date: Thu Oct 29 2020 - 08:16:22 EST


The following commit has been merged into the x86/apic branch of tip:

Commit-ID: 5a169bf04cd2bfdbac967d12eb5b70915b29d7ee
Gitweb: https://git.kernel.org/tip/5a169bf04cd2bfdbac967d12eb5b70915b29d7ee
Author: David Woodhouse <dwmw@xxxxxxxxxxxx>
AuthorDate: Mon, 19 Oct 2020 15:55:56 +01:00
Committer: Paolo Bonzini <pbonzini@xxxxxxxxxx>
CommitterDate: Wed, 28 Oct 2020 13:52:05 -04:00

x86/kvm: Reserve KVM_FEATURE_MSI_EXT_DEST_ID

No functional change; just reserve the feature bit for now so that VMMs
can start to implement it.

This will allow the host to indicate that MSI emulation supports 15-bit
destination IDs, allowing up to 32768 CPUs without interrupt remapping.

cf. https://patchwork.kernel.org/patch/11816693/ for qemu

Signed-off-by: David Woodhouse <dwmw@xxxxxxxxxxxx>
Acked-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
Message-Id: <4cd59bed05f4b7410d3d1ffd1e997ab53683874d.camel@xxxxxxxxxxxxx>
Signed-off-by: Paolo Bonzini <pbonzini@xxxxxxxxxx>
---
Documentation/virt/kvm/cpuid.rst | 4 ++++
arch/x86/include/uapi/asm/kvm_para.h | 1 +
2 files changed, 5 insertions(+)

diff --git a/Documentation/virt/kvm/cpuid.rst b/Documentation/virt/kvm/cpuid.rst
index 7d81c0a..cf62162 100644
--- a/Documentation/virt/kvm/cpuid.rst
+++ b/Documentation/virt/kvm/cpuid.rst
@@ -92,6 +92,10 @@ KVM_FEATURE_ASYNC_PF_INT 14 guest checks this feature bit
async pf acknowledgment msr
0x4b564d07.

+KVM_FEATURE_MSI_EXT_DEST_ID 15 guest checks this feature bit
+ before using extended destination
+ ID bits in MSI address bits 11-5.
+
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/include/uapi/asm/kvm_para.h b/arch/x86/include/uapi/asm/kvm_para.h
index 812e9b4..950afeb 100644
--- a/arch/x86/include/uapi/asm/kvm_para.h
+++ b/arch/x86/include/uapi/asm/kvm_para.h
@@ -32,6 +32,7 @@
#define KVM_FEATURE_POLL_CONTROL 12
#define KVM_FEATURE_PV_SCHED_YIELD 13
#define KVM_FEATURE_ASYNC_PF_INT 14
+#define KVM_FEATURE_MSI_EXT_DEST_ID 15

#define KVM_HINTS_REALTIME 0