15 Sep, 2007

1 commit

  • A guest context switch to an uncached cr3 can require allocation of
    shadow pages, but we only recycle shadow pages in kvm_mmu_page_fault().

    Move shadow page recycling to mmu_topup_memory_caches(), which is called
    from both the page fault handler and from guest cr3 reload.

    Signed-off-by: Avi Kivity
    Signed-off-by: Linus Torvalds

    Avi Kivity
     

20 Aug, 2007

1 commit

  • When taking a cpu down, we need to hardware_disable() it.
    Unfortunately, the CPU_DYING notifier is called with interrupts
    disabled, which means we can't use smp_call_function_single().

    Fortunately, the CPU_DYING notifier is always called on the dying cpu,
    so we don't need to use the function at all and can simply call
    hardware_disable() directly.

    Tested-by: Paolo Ornati
    Signed-off-by: Avi Kivity
    Signed-off-by: Linus Torvalds

    Avi Kivity
     

19 Aug, 2007

1 commit


07 Aug, 2007

1 commit

  • More fallout from the writeback fixes: debug register transfer
    instructions do their own writeback and thus need to disable the general
    writeback mechanism.

    This fixes oopses and some guest failures on AMD machines (the Intel
    variant decodes the instruction in hardware and thus does not need
    emulation).

    Cc: Alistair John Strachan
    Signed-off-by: Avi Kivity
    Signed-off-by: Linus Torvalds

    Avi Kivity
     

25 Jul, 2007

5 commits


23 Jul, 2007

1 commit


21 Jul, 2007

5 commits


20 Jul, 2007

2 commits

  • Slab destructors were no longer supported after Christoph's
    c59def9f222d44bb7e2f0a559f2906191a0862d7 change. They've been
    BUGs for both slab and slub, and slob never supported them
    either.

    This rips out support for the dtor pointer from kmem_cache_create()
    completely and fixes up every single callsite in the kernel (there were
    about 224, not including the slab allocator definitions themselves,
    or the documentation references).

    Signed-off-by: Paul Mundt

    Paul Mundt
     
  • Currently, CONFIG_X86_CMPXCHG64 both enables boot-time checking of
    the cmpxchg64b feature and enables compilation of the set_64bit() family.
    Since the option is dependent on PAE, and since KVM depends on set_64bit(),
    this effectively disables KVM on i386 nopae.

    Simplify by removing the config option altogether: the boot check is made
    dependent on CONFIG_X86_PAE directly, and the set_64bit() family is exposed
    without constraints. It is up to users to check for the feature flag (KVM
    does not as virtualiation extensions imply its existence).

    Signed-off-by: Avi Kivity
    Signed-off-by: Linus Torvalds

    Avi Kivity
     

16 Jul, 2007

23 commits