Commit b75b7f8e authored by Peter Zijlstra's avatar Peter Zijlstra Committed by Borislav Petkov
Browse files

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: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
Reviewed-by: default avatarJosh Poimboeuf <jpoimboe@kernel.org>
Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
parent 9bb2ec60
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -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);
	}
	}
+10 −10
Original line number Original line Diff line number Diff line
@@ -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 */
+3 −3
Original line number Original line Diff line number Diff line
@@ -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;