Merge branch 'x86-xen-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'x86-xen-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (42 commits) xen: cache cr0 value to avoid trap'n'emulate for read_cr0 xen/x86-64: clean up warnings about IST-using traps xen/x86-64: fix breakpoints and hardware watchpoints xen: reserve Xen start_info rather than e820 reserving xen: add FIX_TEXT_POKE to fixmap lguest: update lazy mmu changes to match lguest's use of kvm hypercalls xen: honour VCPU availability on boot xen: add "capabilities" file xen: drop kexec bits from /sys/hypervisor since kexec isn't implemented yet xen/sys/hypervisor: change writable_pt to features xen: add /sys/hypervisor support xen/xenbus: export xenbus_dev_changed xen: use device model for suspending xenbus devices xen: remove suspend_cancel hook xen/dev-evtchn: clean up locking in evtchn xen: export ioctl headers to userspace xen: add /dev/xen/evtchn driver xen: add irq_from_evtchn xen: clean up gate trap/interrupt constants xen: set _PAGE_NX in __supported_pte_mask before pagetable construction ...
This commit is contained in:
@@ -167,10 +167,16 @@ static void lazy_hcall3(unsigned long call,
|
||||
|
||||
/* When lazy mode is turned off reset the per-cpu lazy mode variable and then
|
||||
* issue the do-nothing hypercall to flush any stored calls. */
|
||||
static void lguest_leave_lazy_mode(void)
|
||||
static void lguest_leave_lazy_mmu_mode(void)
|
||||
{
|
||||
paravirt_leave_lazy(paravirt_get_lazy_mode());
|
||||
kvm_hypercall0(LHCALL_FLUSH_ASYNC);
|
||||
paravirt_leave_lazy_mmu();
|
||||
}
|
||||
|
||||
static void lguest_end_context_switch(struct task_struct *next)
|
||||
{
|
||||
kvm_hypercall0(LHCALL_FLUSH_ASYNC);
|
||||
paravirt_end_context_switch(next);
|
||||
}
|
||||
|
||||
/*G:033
|
||||
@@ -1054,8 +1060,8 @@ __init void lguest_init(void)
|
||||
pv_cpu_ops.write_gdt_entry = lguest_write_gdt_entry;
|
||||
pv_cpu_ops.write_idt_entry = lguest_write_idt_entry;
|
||||
pv_cpu_ops.wbinvd = lguest_wbinvd;
|
||||
pv_cpu_ops.lazy_mode.enter = paravirt_enter_lazy_cpu;
|
||||
pv_cpu_ops.lazy_mode.leave = lguest_leave_lazy_mode;
|
||||
pv_cpu_ops.start_context_switch = paravirt_start_context_switch;
|
||||
pv_cpu_ops.end_context_switch = lguest_end_context_switch;
|
||||
|
||||
/* pagetable management */
|
||||
pv_mmu_ops.write_cr3 = lguest_write_cr3;
|
||||
@@ -1068,7 +1074,7 @@ __init void lguest_init(void)
|
||||
pv_mmu_ops.read_cr2 = lguest_read_cr2;
|
||||
pv_mmu_ops.read_cr3 = lguest_read_cr3;
|
||||
pv_mmu_ops.lazy_mode.enter = paravirt_enter_lazy_mmu;
|
||||
pv_mmu_ops.lazy_mode.leave = lguest_leave_lazy_mode;
|
||||
pv_mmu_ops.lazy_mode.leave = lguest_leave_lazy_mmu_mode;
|
||||
pv_mmu_ops.pte_update = lguest_pte_update;
|
||||
pv_mmu_ops.pte_update_defer = lguest_pte_update;
|
||||
|
||||
|
Reference in New Issue
Block a user