All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/4] ignore AMDs HWCR register access to set the FFDIS bit
@ 2009-06-24 10:44 Andre Przywara
  2009-06-24 10:44 ` [PATCH 2/4] ignore reads from AMDs C1E enabled MSR Andre Przywara
  2009-06-24 11:37 ` [PATCH 1/4] ignore AMDs HWCR register access to set the FFDIS bit Avi Kivity
  0 siblings, 2 replies; 11+ messages in thread
From: Andre Przywara @ 2009-06-24 10:44 UTC (permalink / raw)
  To: avi; +Cc: kvm, Andre Przywara

Linux tries to disable the flush filter on all AMD K8 CPUs. Since KVM
does not handle the needed MSR, the injected #GP will panic the Linux
kernel. Ignore setting of the HWCR.FFDIS bit in this MSR to let Linux
boot with an AMD K8 family guest CPU.

Signed-off-by: Andre Przywara <andre.przywara@amd.com>
---
 arch/x86/kvm/svm.c |    1 -
 arch/x86/kvm/x86.c |    8 ++++++++
 2 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
index 9b37043..610bcae 100644
--- a/arch/x86/kvm/svm.c
+++ b/arch/x86/kvm/svm.c
@@ -2139,7 +2139,6 @@ static int svm_set_msr(struct kvm_vcpu *vcpu, unsigned ecx, u64 data)
 		break;
 	case MSR_VM_CR:
 	case MSR_VM_IGNNE:
-	case MSR_K7_HWCR:
 		pr_unimpl(vcpu, "unimplemented wrmsr: 0x%x data 0x%llx\n", ecx, data);
 		break;
 	default:
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 5a66bb9..c5a0d37 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -796,6 +796,14 @@ int kvm_set_msr_common(struct kvm_vcpu *vcpu, u32 msr, u64 data)
 	case MSR_EFER:
 		set_efer(vcpu, data);
 		break;
+	case MSR_K7_HWCR:
+		data &= ~0x40U;		/* ignore flush filter disable */
+		if (data != 0) {
+			pr_unimpl(vcpu, "unimplemented HWCR wrmsr: 0x%llx\n",
+				data);
+			return 1;
+		}
+		break;
 	case MSR_IA32_DEBUGCTLMSR:
 		if (!data) {
 			/* We support the non-activated case already */
-- 
1.6.1.3



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

end of thread, other threads:[~2009-07-01  9:48 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-06-24 10:44 [PATCH 1/4] ignore AMDs HWCR register access to set the FFDIS bit Andre Przywara
2009-06-24 10:44 ` [PATCH 2/4] ignore reads from AMDs C1E enabled MSR Andre Przywara
2009-06-24 10:44   ` [PATCH 3/4] ignore PCI ECS I/O enablement Andre Przywara
2009-06-24 10:44     ` [PATCH 4/4] dont trim the guest's hypervisor CPUID bit in KVM if the guest requests it Andre Przywara
2009-06-24 11:28       ` Avi Kivity
2009-06-24 12:28         ` Andre Przywara
2009-06-24 13:28           ` Andre Przywara
2009-06-24 11:31     ` [PATCH 3/4] ignore PCI ECS I/O enablement Avi Kivity
2009-06-24 13:37       ` Andre Przywara
2009-07-01  9:50         ` Avi Kivity
2009-06-24 11:37 ` [PATCH 1/4] ignore AMDs HWCR register access to set the FFDIS bit Avi Kivity

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.