xen: make direct versions of irq_enable/disable/save/restore to common code
Now that x86-64 has directly accessible percpu variables, it can also implement the direct versions of these operations, which operate on a vcpu_info structure directly embedded in the percpu area. In fact, the 64-bit versions are more or less identical, and so can be shared. The only two differences are: 1. xen_restore_fl_direct takes its argument in eax on 32-bit, and rdi on 64-bit. Unfortunately it isn't possible to directly refer to the 2nd lsb of rdi directly (as you can with %ah), so the code isn't quite as dense. 2. check_events needs to variants to save different registers. Signed-off-by:Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Signed-off-by:
H. Peter Anvin <hpa@linux.intel.com>
Showing
- arch/x86/xen/Makefile 2 additions, 1 deletionarch/x86/xen/Makefile
- arch/x86/xen/xen-asm.S 140 additions, 0 deletionsarch/x86/xen/xen-asm.S
- arch/x86/xen/xen-asm.h 12 additions, 0 deletionsarch/x86/xen/xen-asm.h
- arch/x86/xen/xen-asm_32.S 12 additions, 99 deletionsarch/x86/xen/xen-asm_32.S
- arch/x86/xen/xen-asm_64.S 3 additions, 131 deletionsarch/x86/xen/xen-asm_64.S
Loading
Please register or sign in to comment