Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 606aa4aa authored by Heiko Carstens's avatar Heiko Carstens Committed by Martin Schwidefsky
Browse files

s390: rename CIF_ASCE to CIF_ASCE_PRIMARY



This is just a preparation patch in order to keep the "restore address
space after syscall" patch small.
Rename CIF_ASCE to CIF_ASCE_PRIMARY to be unique and specific when
introducing a second CIF_ASCE_SECONDARY CIF flag.

Suggested-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent bc49a783
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -63,7 +63,7 @@ static inline void set_user_asce(struct mm_struct *mm)
	S390_lowcore.user_asce = mm->context.asce;
	S390_lowcore.user_asce = mm->context.asce;
	if (current->thread.mm_segment.ar4)
	if (current->thread.mm_segment.ar4)
		__ctl_load(S390_lowcore.user_asce, 7, 7);
		__ctl_load(S390_lowcore.user_asce, 7, 7);
	set_cpu_flag(CIF_ASCE);
	set_cpu_flag(CIF_ASCE_PRIMARY);
}
}


static inline void clear_user_asce(void)
static inline void clear_user_asce(void)
@@ -81,7 +81,7 @@ static inline void load_kernel_asce(void)
	__ctl_store(asce, 1, 1);
	__ctl_store(asce, 1, 1);
	if (asce != S390_lowcore.kernel_asce)
	if (asce != S390_lowcore.kernel_asce)
		__ctl_load(S390_lowcore.kernel_asce, 1, 1);
		__ctl_load(S390_lowcore.kernel_asce, 1, 1);
	set_cpu_flag(CIF_ASCE);
	set_cpu_flag(CIF_ASCE_PRIMARY);
}
}


static inline void switch_mm(struct mm_struct *prev, struct mm_struct *next,
static inline void switch_mm(struct mm_struct *prev, struct mm_struct *next,
+2 −2
Original line number Original line Diff line number Diff line
@@ -14,14 +14,14 @@
#include <linux/const.h>
#include <linux/const.h>


#define CIF_MCCK_PENDING	0	/* machine check handling is pending */
#define CIF_MCCK_PENDING	0	/* machine check handling is pending */
#define CIF_ASCE		1	/* user asce needs fixup / uaccess */
#define CIF_ASCE_PRIMARY	1	/* primary asce needs fixup / uaccess */
#define CIF_NOHZ_DELAY		2	/* delay HZ disable for a tick */
#define CIF_NOHZ_DELAY		2	/* delay HZ disable for a tick */
#define CIF_FPU			3	/* restore FPU registers */
#define CIF_FPU			3	/* restore FPU registers */
#define CIF_IGNORE_IRQ		4	/* ignore interrupt (for udelay) */
#define CIF_IGNORE_IRQ		4	/* ignore interrupt (for udelay) */
#define CIF_ENABLED_WAIT	5	/* in enabled wait state */
#define CIF_ENABLED_WAIT	5	/* in enabled wait state */


#define _CIF_MCCK_PENDING	_BITUL(CIF_MCCK_PENDING)
#define _CIF_MCCK_PENDING	_BITUL(CIF_MCCK_PENDING)
#define _CIF_ASCE		_BITUL(CIF_ASCE)
#define _CIF_ASCE_PRIMARY	_BITUL(CIF_ASCE_PRIMARY)
#define _CIF_NOHZ_DELAY		_BITUL(CIF_NOHZ_DELAY)
#define _CIF_NOHZ_DELAY		_BITUL(CIF_NOHZ_DELAY)
#define _CIF_FPU		_BITUL(CIF_FPU)
#define _CIF_FPU		_BITUL(CIF_FPU)
#define _CIF_IGNORE_IRQ		_BITUL(CIF_IGNORE_IRQ)
#define _CIF_IGNORE_IRQ		_BITUL(CIF_IGNORE_IRQ)
+11 −11
Original line number Original line Diff line number Diff line
@@ -50,7 +50,7 @@ _TIF_WORK = (_TIF_SIGPENDING | _TIF_NOTIFY_RESUME | _TIF_NEED_RESCHED | \
		   _TIF_UPROBE)
		   _TIF_UPROBE)
_TIF_TRACE	= (_TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT | _TIF_SECCOMP | \
_TIF_TRACE	= (_TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT | _TIF_SECCOMP | \
		   _TIF_SYSCALL_TRACEPOINT)
		   _TIF_SYSCALL_TRACEPOINT)
_CIF_WORK	= (_CIF_MCCK_PENDING | _CIF_ASCE | _CIF_FPU)
_CIF_WORK	= (_CIF_MCCK_PENDING | _CIF_ASCE_PRIMARY | _CIF_FPU)
_PIF_WORK	= (_PIF_PER_TRAP)
_PIF_WORK	= (_PIF_PER_TRAP)


#define BASED(name) name-cleanup_critical(%r13)
#define BASED(name) name-cleanup_critical(%r13)
@@ -339,8 +339,8 @@ ENTRY(system_call)
	jo	.Lsysc_notify_resume
	jo	.Lsysc_notify_resume
	TSTMSK	__LC_CPU_FLAGS,_CIF_FPU
	TSTMSK	__LC_CPU_FLAGS,_CIF_FPU
	jo	.Lsysc_vxrs
	jo	.Lsysc_vxrs
	TSTMSK	__LC_CPU_FLAGS,_CIF_ASCE
	TSTMSK	__LC_CPU_FLAGS,_CIF_ASCE_PRIMARY
	jo	.Lsysc_uaccess
	jo	.Lsysc_asce_primary
	j	.Lsysc_return		# beware of critical section cleanup
	j	.Lsysc_return		# beware of critical section cleanup


#
#
@@ -358,10 +358,10 @@ ENTRY(system_call)
	jg	s390_handle_mcck	# TIF bit will be cleared by handler
	jg	s390_handle_mcck	# TIF bit will be cleared by handler


#
#
# _CIF_ASCE is set, load user space asce
# _CIF_ASCE_PRIMARY is set, load user space asce
#
#
.Lsysc_uaccess:
.Lsysc_asce_primary:
	ni	__LC_CPU_FLAGS+7,255-_CIF_ASCE
	ni	__LC_CPU_FLAGS+7,255-_CIF_ASCE_PRIMARY
	lctlg	%c1,%c1,__LC_USER_ASCE		# load primary asce
	lctlg	%c1,%c1,__LC_USER_ASCE		# load primary asce
	j	.Lsysc_return
	j	.Lsysc_return


@@ -661,8 +661,8 @@ ENTRY(io_int_handler)
	jo	.Lio_notify_resume
	jo	.Lio_notify_resume
	TSTMSK	__LC_CPU_FLAGS,_CIF_FPU
	TSTMSK	__LC_CPU_FLAGS,_CIF_FPU
	jo	.Lio_vxrs
	jo	.Lio_vxrs
	TSTMSK	__LC_CPU_FLAGS,_CIF_ASCE
	TSTMSK	__LC_CPU_FLAGS,_CIF_ASCE_PRIMARY
	jo	.Lio_uaccess
	jo	.Lio_asce_primary
	j	.Lio_return		# beware of critical section cleanup
	j	.Lio_return		# beware of critical section cleanup


#
#
@@ -675,10 +675,10 @@ ENTRY(io_int_handler)
	j	.Lio_return
	j	.Lio_return


#
#
# _CIF_ASCE is set, load user space asce
# _CIF_ASCE_PRIMARY is set, load user space asce
#
#
.Lio_uaccess:
.Lio_asce_primary:
	ni	__LC_CPU_FLAGS+7,255-_CIF_ASCE
	ni	__LC_CPU_FLAGS+7,255-_CIF_ASCE_PRIMARY
	lctlg	%c1,%c1,__LC_USER_ASCE		# load primary asce
	lctlg	%c1,%c1,__LC_USER_ASCE		# load primary asce
	j	.Lio_return
	j	.Lio_return