[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] a096b3: kvmclock: Ensure time in migration ne
From: |
GitHub |
Subject: |
[Qemu-commits] [qemu/qemu] a096b3: kvmclock: Ensure time in migration never goes back... |
Date: |
Thu, 05 Jun 2014 12:00:06 -0700 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: a096b3a6732f846ec57dc28b47ee9435aa0609bf
https://github.com/qemu/qemu/commit/a096b3a6732f846ec57dc28b47ee9435aa0609bf
Author: Alexander Graf <address@hidden>
Date: 2014-05-21 (Wed, 21 May 2014)
Changed paths:
M hw/i386/kvm/clock.c
Log Message:
-----------
kvmclock: Ensure time in migration never goes backward
When we migrate we ask the kernel about its current belief on what the guest
time would be. However, I've seen cases where the kvmclock guest structure
indicates a time more recent than the kvm returned time.
To make sure we never go backwards, calculate what the guest would have seen
as time at the point of migration and use that value instead of the kernel
returned one when it's more recent. This bases the view of the kvmclock
after migration on the same foundation in host as well as guest.
Signed-off-by: Alexander Graf <address@hidden>
Cc: address@hidden
Reviewed-by: Marcelo Tosatti <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: b763adf1a6b271f17f15ea31fae93d03e980d911
https://github.com/qemu/qemu/commit/b763adf1a6b271f17f15ea31fae93d03e980d911
Author: Paolo Bonzini <address@hidden>
Date: 2014-05-21 (Wed, 21 May 2014)
Changed paths:
M scripts/kvm/kvm_stat
Log Message:
-----------
kvm_stat: allow choosing between tracepoints and old stats
The old stats contain information not available in the tracepoints.
By default, keep the old behavior, but allow choosing which set of stats
to present, or even both.
Inspired by a patch from Marcelo Tosatti.
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: 87446327ccb2e944fe7abc848bab798a0864eb03
https://github.com/qemu/qemu/commit/87446327ccb2e944fe7abc848bab798a0864eb03
Author: Kevin O'Connor <address@hidden>
Date: 2014-05-21 (Wed, 21 May 2014)
Changed paths:
M target-i386/seg_helper.c
Log Message:
-----------
target-i386: Fix vm86 mode regression introduced in fd460606fd6f.
Commit fd460606fd6f moved setting of eflags above calls to
cpu_x86_load_seg_cache() in seg_helper.c. Unfortunately, in
do_interrupt_protected() this moved the clearing of VM_MASK above a
test for it.
Fix this regression by storing the value of VM_MASK at the start of
do_interrupt_protected().
Signed-off-by: Kevin O'Connor <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: b98dbc90950cd4e43ab9b4f8300dbeae6cf8c8cb
https://github.com/qemu/qemu/commit/b98dbc90950cd4e43ab9b4f8300dbeae6cf8c8cb
Author: Paolo Bonzini <address@hidden>
Date: 2014-05-21 (Wed, 21 May 2014)
Changed paths:
M bsd-user/main.c
M linux-user/main.c
M target-i386/gdbstub.c
M target-i386/seg_helper.c
M target-i386/smm_helper.c
Log Message:
-----------
target-i386: fix segment flags for SMM and VM86 mode
With the next patch, these need to be correct or VM86 tasks
have the wrong CPL. The flags are basically what the Intel VMX
documentation say is mandatory for entry into a VM86 guest.
For consistency, SMM ought to have the same flags except with
CPL=0.
Tested-by: Kevin O'Connor <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: d3b5491897456739c6dc21c604ef8bc28e294bfc
https://github.com/qemu/qemu/commit/d3b5491897456739c6dc21c604ef8bc28e294bfc
Author: Paolo Bonzini <address@hidden>
Date: 2014-05-21 (Wed, 21 May 2014)
Changed paths:
M target-i386/seg_helper.c
Log Message:
-----------
target-i386: rework CPL checks during task switch, preparing for next patch
During task switch, all of CS.DPL, CS.RPL, SS.DPL must match (in addition
to all the other requirements) and will be the new CPL. So far this worked
by carefully setting the CS selector and flags before doing the task
switch; but this will not work once we get the CPL from SS.DPL.
Temporarily assume that the CPL comes from CS.RPL during task switch
to a protected-mode task, until the descriptor of SS is loaded.
Tested-by: Kevin O'Connor <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: 7125c937c97d9ec4a41b3cb6d1b3e805ec53e255
https://github.com/qemu/qemu/commit/7125c937c97d9ec4a41b3cb6d1b3e805ec53e255
Author: Paolo Bonzini <address@hidden>
Date: 2014-05-21 (Wed, 21 May 2014)
Changed paths:
M target-i386/cpu.h
M target-i386/kvm.c
M target-i386/machine.c
Log Message:
-----------
target-i386: get CPL from SS.DPL
CS.RPL is not equal to the CPL in the few instructions between
setting CR0.PE and reloading CS. We get this right in the common
case, because writes to CR0 do not modify the CPL, but it would
not be enough if an SMI comes exactly during that brief period.
Were this to happen, the RSM instruction would erroneously set
CPL to the low two bits of the real-mode selector; and if they are
not 00, the next instruction fetch cannot access the code segment
and causes a triple fault.
However, SS.DPL *is* always equal to the CPL. In real processors
(AMD only) there is a weird case of SYSRET setting SS.DPL=SS.RPL
from the STAR register while forcing CPL=3, but we do not emulate
that.
Tested-by: Kevin O'Connor <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: 28fb26f19ffa675ac8cc08a355e5b01cc194aa5e
https://github.com/qemu/qemu/commit/28fb26f19ffa675ac8cc08a355e5b01cc194aa5e
Author: Paolo Bonzini <address@hidden>
Date: 2014-05-21 (Wed, 21 May 2014)
Changed paths:
M target-i386/cpu.h
M target-i386/seg_helper.c
M target-i386/smm_helper.c
M target-i386/svm_helper.c
Log Message:
-----------
target-i386: set CC_OP to CC_OP_EFLAGS in cpu_load_eflags
There is no reason to keep that out of the function. The comment refers
to the disassembler's cc_op state rather than the CPUState field.
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: 0e1dac6c41f337f997814344a847162968c20c64
https://github.com/qemu/qemu/commit/0e1dac6c41f337f997814344a847162968c20c64
Author: Eduardo Habkost <address@hidden>
Date: 2014-05-30 (Fri, 30 May 2014)
Changed paths:
M kvm-all.c
Log Message:
-----------
kvm: Ensure negative return value on kvm_init() error handling path
We need to ensure ret < 0 when going through the error path, or QEMU may
try to run the half-initialized VM and crash.
Signed-off-by: Eduardo Habkost <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: f522d2acc549dd11f495048330aa5f3f424a7dfa
https://github.com/qemu/qemu/commit/f522d2acc549dd11f495048330aa5f3f424a7dfa
Author: Alex Williamson <address@hidden>
Date: 2014-06-03 (Tue, 03 Jun 2014)
Changed paths:
M target-i386/cpu-qom.h
M target-i386/cpu.c
M target-i386/kvm.c
Log Message:
-----------
kvm: Enable -cpu option to hide KVM
The latest Nvidia driver (337.88) specifically checks for KVM as the
hypervisor and reports Code 43 for the driver in a Windows guest when
found. Removing or changing the KVM signature is sufficient for the
driver to load and work. This patch adds an option to easily allow
the KVM hypervisor signature to be hidden using '-cpu kvm=off'. We
continue to expose KVM via the cpuid value by default. The state of
this option does not supercede or replace -enable-kvm or the accel=kvm
machine option. This only changes the visibility of KVM to the guest
and paravirtual features specifically tied to the KVM cpuid.
Signed-off-by: Alex Williamson <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: 9b1786829aefb83f37a8f3135e3ea91c56001b56
https://github.com/qemu/qemu/commit/9b1786829aefb83f37a8f3135e3ea91c56001b56
Author: Marcelo Tosatti <address@hidden>
Date: 2014-06-03 (Tue, 03 Jun 2014)
Changed paths:
M hw/i386/kvm/clock.c
Log Message:
-----------
kvmclock: Ensure proper env->tsc value for kvmclock_current_nsec calculation
Ensure proper env->tsc value for kvmclock_current_nsec calculation.
Reported-by: Marcin GibuĊa <address@hidden>
Cc: address@hidden
Signed-off-by: Marcelo Tosatti <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: 79b6f2f651d64a122dd647c1456635d5a6a176ac
https://github.com/qemu/qemu/commit/79b6f2f651d64a122dd647c1456635d5a6a176ac
Author: Jidong Xiao <address@hidden>
Date: 2014-06-04 (Wed, 04 Jun 2014)
Changed paths:
M target-i386/kvm.c
Log Message:
-----------
kvm: Fix eax for cpuid leaf 0x40000000
Since Linux kernel 3.5, KVM has documented eax for leaf 0x40000000
to be KVM_CPUID_FEATURES:
https://github.com/torvalds/linux/commit/57c22e5f35aa4b9b2fe11f73f3e62bbf9ef36190
But qemu still tries to set it to 0. It would be better to make qemu
and kvm consistent. This patch just fixes this issue.
Signed-off-by: Jidong Xiao <address@hidden>
[Include kvm_base in the value. - Paolo]
Signed-off-by: Paolo Bonzini <address@hidden>
Commit: 9f0355b590ac523d0c4e67c416c3f9cf7af3d574
https://github.com/qemu/qemu/commit/9f0355b590ac523d0c4e67c416c3f9cf7af3d574
Author: Peter Maydell <address@hidden>
Date: 2014-06-05 (Thu, 05 Jun 2014)
Changed paths:
M bsd-user/main.c
M hw/i386/kvm/clock.c
M kvm-all.c
M linux-user/main.c
M scripts/kvm/kvm_stat
M target-i386/cpu-qom.h
M target-i386/cpu.c
M target-i386/cpu.h
M target-i386/gdbstub.c
M target-i386/kvm.c
M target-i386/machine.c
M target-i386/seg_helper.c
M target-i386/smm_helper.c
M target-i386/svm_helper.c
Log Message:
-----------
Merge remote-tracking branch 'remotes/kvm/uq/master' into staging
* remotes/kvm/uq/master:
kvm: Fix eax for cpuid leaf 0x40000000
kvmclock: Ensure proper env->tsc value for kvmclock_current_nsec calculation
kvm: Enable -cpu option to hide KVM
kvm: Ensure negative return value on kvm_init() error handling path
target-i386: set CC_OP to CC_OP_EFLAGS in cpu_load_eflags
target-i386: get CPL from SS.DPL
target-i386: rework CPL checks during task switch, preparing for next patch
target-i386: fix segment flags for SMM and VM86 mode
target-i386: Fix vm86 mode regression introduced in fd460606fd6f.
kvm_stat: allow choosing between tracepoints and old stats
kvmclock: Ensure time in migration never goes backward
Signed-off-by: Peter Maydell <address@hidden>
Compare: https://github.com/qemu/qemu/compare/d4f005db9b90...9f0355b590ac
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] a096b3: kvmclock: Ensure time in migration never goes back...,
GitHub <=