xen-asm.S (498495dba268b20e8eadd7fe93c140c68b6cc9d2) | xen-asm.S (55aedddb6149ab71bec9f050846855113977b033) |
---|---|
1/* SPDX-License-Identifier: GPL-2.0 */ 2/* 3 * Asm versions of Xen pv-ops, suitable for direct use. 4 * 5 * We only bother with direct forms (ie, vcpu in percpu data) of the 6 * operations here; the indirect forms are better handled in C. 7 */ 8 9#include <asm/asm-offsets.h> 10#include <asm/percpu.h> 11#include <asm/processor-flags.h> 12#include <asm/frame.h> | 1/* SPDX-License-Identifier: GPL-2.0 */ 2/* 3 * Asm versions of Xen pv-ops, suitable for direct use. 4 * 5 * We only bother with direct forms (ie, vcpu in percpu data) of the 6 * operations here; the indirect forms are better handled in C. 7 */ 8 9#include <asm/asm-offsets.h> 10#include <asm/percpu.h> 11#include <asm/processor-flags.h> 12#include <asm/frame.h> |
13#include <asm/asm.h> |
|
13 14#include <linux/linkage.h> 15 16/* 17 * Enable events. This clears the event mask and tests the pending 18 * event status with one and operation. If there are pending events, 19 * then enter the hypervisor to get them handled. 20 */ --- 109 unchanged lines hidden (view full) --- 130 pop %rsi 131 pop %rdx 132 pop %rcx 133 pop %rax 134#endif 135 FRAME_END 136 ret 137ENDPROC(check_events) | 14 15#include <linux/linkage.h> 16 17/* 18 * Enable events. This clears the event mask and tests the pending 19 * event status with one and operation. If there are pending events, 20 * then enter the hypervisor to get them handled. 21 */ --- 109 unchanged lines hidden (view full) --- 131 pop %rsi 132 pop %rdx 133 pop %rcx 134 pop %rax 135#endif 136 FRAME_END 137 ret 138ENDPROC(check_events) |
139 140ENTRY(xen_read_cr2) 141 FRAME_BEGIN 142 _ASM_MOV PER_CPU_VAR(xen_vcpu), %_ASM_AX 143 _ASM_MOV XEN_vcpu_info_arch_cr2(%_ASM_AX), %_ASM_AX 144 FRAME_END 145 ret 146 ENDPROC(xen_read_cr2); 147 148ENTRY(xen_read_cr2_direct) 149 FRAME_BEGIN 150 _ASM_MOV PER_CPU_VAR(xen_vcpu_info) + XEN_vcpu_info_arch_cr2, %_ASM_AX 151 FRAME_END 152 ret 153 ENDPROC(xen_read_cr2_direct); |
|