Skip to contentSkip to conversation

Patch "KVM: x86: trap AMD MSRs for the TSeg base and mask" has been added to the 4.2-stable tree

PATCH [email protected] 1 participant 1 message Oct 13, 2015

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

KVM: x86: trap AMD MSRs for the TSeg base and mask

to the 4.2-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
kvm-x86-trap-amd-msrs-for-the-tseg-base-and-mask.patch
and it can be found in the queue-4.2 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From 3afb1121800128aae9f5722e50097fcf1a9d4d88 Mon Sep 17 00:00:00 2001

From: Paolo Bonzini <[email protected]>
Date: Fri, 18 Sep 2015 17:33:04 +0200
Subject: KVM: x86: trap AMD MSRs for the TSeg base and mask

From: Paolo Bonzini <[email protected]>

commit 3afb1121800128aae9f5722e50097fcf1a9d4d88 upstream.

These have roughly the same purpose as the SMRR, which we do not need to implement in KVM. However, Linux accesses MSR_K8_TSEG_ADDR at boot, which causes problems when running a Xen dom0 under KVM. Just return 0, meaning that processor protection of SMRAM is not in effect.

---
 arch/x86/include/asm/msr-index.h |    1 +
 arch/x86/kvm/x86.c               |    2 ++
 2 files changed, 3 insertions(+)
arch/x86/include/asm/msr-index.h +1 -0
@@ -311,6 +311,7 @@
 /* C1E active bits in int pending message */
 #define K8_INTP_C1E_ACTIVE_MASK		0x18000000
 #define MSR_K8_TSEG_ADDR		0xc0010112
+#define MSR_K8_TSEG_MASK		0xc0010113
 #define K8_MTRRFIXRANGE_DRAM_ENABLE	0x00040000 /* MtrrFixDramEn bit    */
 #define K8_MTRRFIXRANGE_DRAM_MODIFY	0x00080000 /* MtrrFixDramModEn bit */
 #define K8_MTRR_RDMEM_WRMEM_MASK	0x18181818 /* Mask: RdMem|WrMem    */
arch/x86/kvm/x86.c +2 -0
@@ -2388,6 +2388,8 @@ int kvm_get_msr_common(struct kvm_vcpu *
 	case MSR_IA32_LASTINTFROMIP:
 	case MSR_IA32_LASTINTTOIP:
 	case MSR_K8_SYSCFG:
+	case MSR_K8_TSEG_ADDR:
+	case MSR_K8_TSEG_MASK:
 	case MSR_K7_HWCR:
 	case MSR_VM_HSAVE_PA:
 	case MSR_K8_INT_PENDING_MSG:

Patches currently in stable-queue which might be from [email protected] are

queue-4.2/kvm-fix-double-free-for-fast-mmio-eventfd.patch queue-4.2/kvm-fix-zero-length-mmio-searching.patch queue-4.2/revert-kvm-x86-apply-guest-mtrr-virtualization-on-host-reserved-pages.patch queue-4.2/kvm-vmx-fix-vpid-is-0000h-in-non-root-operation.patch queue-4.2/revert-kvm-svm-use-npt-page-attributes.patch queue-4.2/revert-kvm-svm-sync-g_pat-with-guest-written-pat-value.patch queue-4.2/kvm-factor-out-core-eventfd-assign-deassign-logic.patch queue-4.2/kvm-x86-trap-amd-msrs-for-the-tseg-base-and-mask.patch queue-4.2/kvm-svm-reset-mmu-on-vcpu-reset.patch queue-4.2/kvm-don-t-try-to-register-to-kvm_fast_mmio_bus-for-non-mmio-eventfd.patch