Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 88683
b: refs/heads/master
c: 81e103f
h: refs/heads/master
i:
  88681: a70bf07
  88679: 60dc16e
v: v3
  • Loading branch information
Jeremy Fitzhardinge authored and Ingo Molnar committed Apr 17, 2008
1 parent ffb6b04 commit 1b6a86e
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 12 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: c9cf39ae64a6c86872e580f921afec64ab9770f8
refs/heads/master: 81e103f1f1bb0d35000f0e99626bf7abf864b486
3 changes: 1 addition & 2 deletions trunk/arch/x86/xen/enlighten.c
Original file line number Diff line number Diff line change
Expand Up @@ -890,7 +890,6 @@ void __init xen_setup_vcpu_info_placement(void)
pv_irq_ops.irq_disable = xen_irq_disable_direct;
pv_irq_ops.irq_enable = xen_irq_enable_direct;
pv_mmu_ops.read_cr2 = xen_read_cr2_direct;
pv_cpu_ops.iret = xen_iret_direct;
}
}

Expand Down Expand Up @@ -994,7 +993,7 @@ static const struct pv_cpu_ops xen_cpu_ops __initdata = {
.read_tsc = native_read_tsc,
.read_pmc = native_read_pmc,

.iret = (void *)&hypercall_page[__HYPERVISOR_iret],
.iret = xen_iret,
.irq_enable_syscall_ret = NULL, /* never called */

.load_tr_desc = paravirt_nop,
Expand Down
11 changes: 3 additions & 8 deletions trunk/arch/x86/xen/xen-asm.S
Original file line number Diff line number Diff line change
Expand Up @@ -135,13 +135,8 @@ ENDPATCH(xen_restore_fl_direct)
current stack state in whatever form its in, we keep things
simple by only using a single register which is pushed/popped
on the stack.
Non-direct iret could be done in the same way, but it would
require an annoying amount of code duplication. We'll assume
that direct mode will be the common case once the hypervisor
support becomes commonplace.
*/
ENTRY(xen_iret_direct)
ENTRY(xen_iret)
/* test eflags for special cases */
testl $(X86_EFLAGS_VM | XEN_EFLAGS_NMI), 8(%esp)
jnz hyper_iret
Expand All @@ -155,9 +150,9 @@ ENTRY(xen_iret_direct)
GET_THREAD_INFO(%eax)
movl TI_cpu(%eax),%eax
movl __per_cpu_offset(,%eax,4),%eax
lea per_cpu__xen_vcpu_info(%eax),%eax
mov per_cpu__xen_vcpu(%eax),%eax
#else
movl $per_cpu__xen_vcpu_info, %eax
movl per_cpu__xen_vcpu, %eax
#endif

/* check IF state we're restoring */
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/x86/xen/xen-ops.h
Original file line number Diff line number Diff line change
Expand Up @@ -63,5 +63,5 @@ DECL_ASM(void, xen_irq_disable_direct, void);
DECL_ASM(unsigned long, xen_save_fl_direct, void);
DECL_ASM(void, xen_restore_fl_direct, unsigned long);

void xen_iret_direct(void);
void xen_iret(void);
#endif /* XEN_OPS_H */

0 comments on commit 1b6a86e

Please sign in to comment.