All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] KVM: x86: Store the microcode version in struct kvm_arch
@ 2017-11-26 16:41 Filippo Sironi
  2017-11-26 16:41 ` [PATCH 2/2] KVM: x86: Allow userspace to define what's the microcode version Filippo Sironi
  0 siblings, 1 reply; 11+ messages in thread
From: Filippo Sironi @ 2017-11-26 16:41 UTC (permalink / raw)
  To: pbonzini, rkrcmar, kvm, linux-kernel; +Cc: Filippo Sironi

... and read it from there when emulating accesses to
MSR_IA32_UCODE_REV.  This is the first step to allow userspace to define
what's the microcode version that the guest should see.

Signed-off-by: Filippo Sironi <sironi@amazon.de>
---
 arch/x86/include/asm/kvm_host.h | 2 ++
 arch/x86/kvm/x86.c              | 4 +++-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
index 1bfb99770c34..84b20139f4f1 100644
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -776,6 +776,8 @@ struct kvm_arch {
 	struct mutex apic_map_lock;
 	struct kvm_apic_map *apic_map;
 
+	u32 microcode_version;
+
 	unsigned int tss_addr;
 	bool apic_access_page_done;
 
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 34c85aa2e2d1..925c3e29cad3 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -2447,7 +2447,7 @@ int kvm_get_msr_common(struct kvm_vcpu *vcpu, struct msr_data *msr_info)
 		msr_info->data = 0;
 		break;
 	case MSR_IA32_UCODE_REV:
-		msr_info->data = 0x100000000ULL;
+		msr_info->data = (u64)vcpu->kvm->arch.microcode_version << 32;
 		break;
 	case MSR_MTRRcap:
 	case 0x200 ... 0x2ff:
@@ -8121,6 +8121,8 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)
 	if (type)
 		return -EINVAL;
 
+	kvm->arch.microcode_version = 0x1;
+
 	INIT_HLIST_HEAD(&kvm->arch.mask_notifier_list);
 	INIT_LIST_HEAD(&kvm->arch.active_mmu_pages);
 	INIT_LIST_HEAD(&kvm->arch.zapped_obsolete_pages);
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2017-12-11 16:03 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-26 16:41 [PATCH 1/2] KVM: x86: Store the microcode version in struct kvm_arch Filippo Sironi
2017-11-26 16:41 ` [PATCH 2/2] KVM: x86: Allow userspace to define what's the microcode version Filippo Sironi
2017-11-27  1:02   ` Wanpeng Li
2017-12-09  7:21     ` Sironi, Filippo
2017-11-27 10:40   ` Paolo Bonzini
2017-12-09  7:33     ` Sironi, Filippo
2017-11-27 11:58   ` Paolo Bonzini
2017-11-27 22:09     ` Steve Rutherford
2017-12-09  7:51       ` Sironi, Filippo
2017-12-09  7:42     ` Sironi, Filippo
2017-12-11 16:03       ` Paolo Bonzini

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.