mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-16 16:54:20 +08:00
x86/xen: Rename SYS* entry points
Native SYS{CALL,ENTER} entry points are called entry_SYS{CALL,ENTER}_{64,compat}, make sure the Xen versions are named consistently. Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Signed-off-by: Borislav Petkov <bp@suse.de> Reviewed-by: Josh Poimboeuf <jpoimboe@kernel.org> Signed-off-by: Borislav Petkov <bp@suse.de>
This commit is contained in:
parent
9bb2ec608a
commit
b75b7f8ef1
@ -918,7 +918,7 @@ void xen_enable_sysenter(void)
|
|||||||
if (!boot_cpu_has(sysenter_feature))
|
if (!boot_cpu_has(sysenter_feature))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
ret = register_callback(CALLBACKTYPE_sysenter, xen_sysenter_target);
|
ret = register_callback(CALLBACKTYPE_sysenter, xen_entry_SYSENTER_compat);
|
||||||
if(ret != 0)
|
if(ret != 0)
|
||||||
setup_clear_cpu_cap(sysenter_feature);
|
setup_clear_cpu_cap(sysenter_feature);
|
||||||
}
|
}
|
||||||
@ -927,7 +927,7 @@ void xen_enable_syscall(void)
|
|||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
ret = register_callback(CALLBACKTYPE_syscall, xen_syscall_target);
|
ret = register_callback(CALLBACKTYPE_syscall, xen_entry_SYSCALL_64);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
printk(KERN_ERR "Failed to set syscall callback: %d\n", ret);
|
printk(KERN_ERR "Failed to set syscall callback: %d\n", ret);
|
||||||
/* Pretty fatal; 64-bit userspace has no other
|
/* Pretty fatal; 64-bit userspace has no other
|
||||||
@ -936,7 +936,7 @@ void xen_enable_syscall(void)
|
|||||||
|
|
||||||
if (boot_cpu_has(X86_FEATURE_SYSCALL32)) {
|
if (boot_cpu_has(X86_FEATURE_SYSCALL32)) {
|
||||||
ret = register_callback(CALLBACKTYPE_syscall32,
|
ret = register_callback(CALLBACKTYPE_syscall32,
|
||||||
xen_syscall32_target);
|
xen_entry_SYSCALL_compat);
|
||||||
if (ret != 0)
|
if (ret != 0)
|
||||||
setup_clear_cpu_cap(X86_FEATURE_SYSCALL32);
|
setup_clear_cpu_cap(X86_FEATURE_SYSCALL32);
|
||||||
}
|
}
|
||||||
|
@ -234,7 +234,7 @@ SYM_CODE_END(xenpv_restore_regs_and_return_to_usermode)
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/* Normal 64-bit system call target */
|
/* Normal 64-bit system call target */
|
||||||
SYM_CODE_START(xen_syscall_target)
|
SYM_CODE_START(xen_entry_SYSCALL_64)
|
||||||
UNWIND_HINT_EMPTY
|
UNWIND_HINT_EMPTY
|
||||||
ENDBR
|
ENDBR
|
||||||
popq %rcx
|
popq %rcx
|
||||||
@ -249,12 +249,12 @@ SYM_CODE_START(xen_syscall_target)
|
|||||||
movq $__USER_CS, 1*8(%rsp)
|
movq $__USER_CS, 1*8(%rsp)
|
||||||
|
|
||||||
jmp entry_SYSCALL_64_after_hwframe
|
jmp entry_SYSCALL_64_after_hwframe
|
||||||
SYM_CODE_END(xen_syscall_target)
|
SYM_CODE_END(xen_entry_SYSCALL_64)
|
||||||
|
|
||||||
#ifdef CONFIG_IA32_EMULATION
|
#ifdef CONFIG_IA32_EMULATION
|
||||||
|
|
||||||
/* 32-bit compat syscall target */
|
/* 32-bit compat syscall target */
|
||||||
SYM_CODE_START(xen_syscall32_target)
|
SYM_CODE_START(xen_entry_SYSCALL_compat)
|
||||||
UNWIND_HINT_EMPTY
|
UNWIND_HINT_EMPTY
|
||||||
ENDBR
|
ENDBR
|
||||||
popq %rcx
|
popq %rcx
|
||||||
@ -269,10 +269,10 @@ SYM_CODE_START(xen_syscall32_target)
|
|||||||
movq $__USER32_CS, 1*8(%rsp)
|
movq $__USER32_CS, 1*8(%rsp)
|
||||||
|
|
||||||
jmp entry_SYSCALL_compat_after_hwframe
|
jmp entry_SYSCALL_compat_after_hwframe
|
||||||
SYM_CODE_END(xen_syscall32_target)
|
SYM_CODE_END(xen_entry_SYSCALL_compat)
|
||||||
|
|
||||||
/* 32-bit compat sysenter target */
|
/* 32-bit compat sysenter target */
|
||||||
SYM_CODE_START(xen_sysenter_target)
|
SYM_CODE_START(xen_entry_SYSENTER_compat)
|
||||||
UNWIND_HINT_EMPTY
|
UNWIND_HINT_EMPTY
|
||||||
ENDBR
|
ENDBR
|
||||||
/*
|
/*
|
||||||
@ -291,19 +291,19 @@ SYM_CODE_START(xen_sysenter_target)
|
|||||||
movq $__USER32_CS, 1*8(%rsp)
|
movq $__USER32_CS, 1*8(%rsp)
|
||||||
|
|
||||||
jmp entry_SYSENTER_compat_after_hwframe
|
jmp entry_SYSENTER_compat_after_hwframe
|
||||||
SYM_CODE_END(xen_sysenter_target)
|
SYM_CODE_END(xen_entry_SYSENTER_compat)
|
||||||
|
|
||||||
#else /* !CONFIG_IA32_EMULATION */
|
#else /* !CONFIG_IA32_EMULATION */
|
||||||
|
|
||||||
SYM_CODE_START(xen_syscall32_target)
|
SYM_CODE_START(xen_entry_SYSCALL_compat)
|
||||||
SYM_CODE_START(xen_sysenter_target)
|
SYM_CODE_START(xen_entry_SYSENTER_compat)
|
||||||
UNWIND_HINT_EMPTY
|
UNWIND_HINT_EMPTY
|
||||||
ENDBR
|
ENDBR
|
||||||
lea 16(%rsp), %rsp /* strip %rcx, %r11 */
|
lea 16(%rsp), %rsp /* strip %rcx, %r11 */
|
||||||
mov $-ENOSYS, %rax
|
mov $-ENOSYS, %rax
|
||||||
pushq $0
|
pushq $0
|
||||||
jmp hypercall_iret
|
jmp hypercall_iret
|
||||||
SYM_CODE_END(xen_sysenter_target)
|
SYM_CODE_END(xen_entry_SYSENTER_compat)
|
||||||
SYM_CODE_END(xen_syscall32_target)
|
SYM_CODE_END(xen_entry_SYSCALL_compat)
|
||||||
|
|
||||||
#endif /* CONFIG_IA32_EMULATION */
|
#endif /* CONFIG_IA32_EMULATION */
|
||||||
|
@ -10,10 +10,10 @@
|
|||||||
/* These are code, but not functions. Defined in entry.S */
|
/* These are code, but not functions. Defined in entry.S */
|
||||||
extern const char xen_failsafe_callback[];
|
extern const char xen_failsafe_callback[];
|
||||||
|
|
||||||
void xen_sysenter_target(void);
|
void xen_entry_SYSENTER_compat(void);
|
||||||
#ifdef CONFIG_X86_64
|
#ifdef CONFIG_X86_64
|
||||||
void xen_syscall_target(void);
|
void xen_entry_SYSCALL_64(void);
|
||||||
void xen_syscall32_target(void);
|
void xen_entry_SYSCALL_compat(void);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
extern void *xen_initial_gdt;
|
extern void *xen_initial_gdt;
|
||||||
|
Loading…
Reference in New Issue
Block a user