1. 07 6月, 2008 4 次提交
    • A
      KVM: MMU: reschedule during shadow teardown · 8d2d73b9
      Avi Kivity 提交于
      Shadows for large guests can take a long time to tear down, so reschedule
      occasionally to avoid softlockup warnings.
      Signed-off-by: NAvi Kivity <avi@qumranet.com>
      8d2d73b9
    • E
      KVM: VMX: Clear CR4.VMXE in hardware_disable · e693d71b
      Eli Collins 提交于
      Clear CR4.VMXE in hardware_disable. There's no reason to leave it set
      after doing a VMXOFF.
      
      VMware Workstation 6.5 checks CR4.VMXE as a proxy for whether the CPU is
      in VMX mode, so leaving VMXE set means we'll refuse to power on. With this
      change the user can power on after unloading the kvm-intel module. I
      tested on kvm-67 and kvm-69.
      Signed-off-by: NEli Collins <ecollins@vmware.com>
      Signed-off-by: NAvi Kivity <avi@qumranet.com>
      e693d71b
    • M
      KVM: migrate PIT timer · 2f599714
      Marcelo Tosatti 提交于
      Migrate the PIT timer to the physical CPU which vcpu0 is scheduled on,
      similarly to what is done for the LAPIC timers, otherwise PIT interrupts
      will be delayed until an unrelated event causes an exit.
      Signed-off-by: NMarcelo Tosatti <mtosatti@redhat.com>
      Signed-off-by: NAvi Kivity <avi@qumranet.com>
      2f599714
    • A
      KVM: x86 emulator: fix hypercall return value on AMD · 33e3885d
      Avi Kivity 提交于
      The hypercall instructions on Intel and AMD are different.  KVM allows the
      guest to choose one or the other (the default is Intel), and if the guest
      chooses incorrectly, KVM will patch it at runtime to select the correct
      instruction.  This allows live migration between Intel and AMD machines.
      
      This patching occurs in the x86 emulator.  The current code also executes
      the hypercall.  Unfortunately, the tail end of the x86 emulator code also
      executes, overwriting the return value of the hypercall with the original
      contents of rax (which happens to be the hypercall number).
      
      Fix not by executing the hypercall in the emulator context; instead let the
      guest reissue the patched instruction and execute the hypercall via the
      normal path.
      Signed-off-by: NAvi Kivity <avi@qumranet.com>
      33e3885d
  2. 23 5月, 2008 1 次提交
  3. 18 5月, 2008 3 次提交
  4. 04 5月, 2008 13 次提交
  5. 01 5月, 2008 1 次提交
    • R
      rename div64_64 to div64_u64 · 6f6d6a1a
      Roman Zippel 提交于
      Rename div64_64 to div64_u64 to make it consistent with the other divide
      functions, so it clearly includes the type of the divide.  Move its definition
      to math64.h as currently no architecture overrides the generic implementation.
       They can still override it of course, but the duplicated declarations are
      avoided.
      Signed-off-by: NRoman Zippel <zippel@linux-m68k.org>
      Cc: Avi Kivity <avi@qumranet.com>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Jeff Dike <jdike@addtoit.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Patrick McHardy <kaber@trash.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      6f6d6a1a
  6. 27 4月, 2008 18 次提交