Use the lower 3 lower bits of the system time msr to turn off the clock.
This means that all clock registration has to be aligned in a 4-byte boundary

Signed-off-by: Glauber Costa <[EMAIL PROTECTED]>
---
 arch/x86/kvm/x86.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 6abd784..7ce14ce 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -591,6 +591,11 @@ int kvm_set_msr_common(struct kvm_vcpu *
                if (vcpu->arch.time_page)
                        kvm_release_page_dirty(vcpu->arch.time_page);
 
+               /* 4-byte unaligned accesses are invalid */
+               if (data & 0x7) {
+                       vcpu->arch.time_page = NULL;
+                       break;
+               }
                vcpu->arch.time = data & PAGE_MASK;
                vcpu->arch.time_offset = data & ~PAGE_MASK;
 
-- 
1.4.2


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
kvm-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/kvm-devel

Reply via email to