s390: replace TIF_SIE with PF_VCPU
Replace the check for TIF_SIE in the fault handler by a check for PF_VCPU. With the last user of TIF_SIE gone we can now remove the bit. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
Родитель
161beff8f4
Коммит
5e8010cb50
|
@ -95,7 +95,6 @@ static inline struct thread_info *current_thread_info(void)
|
||||||
#define TIF_SYSCALL_AUDIT 9 /* syscall auditing active */
|
#define TIF_SYSCALL_AUDIT 9 /* syscall auditing active */
|
||||||
#define TIF_SECCOMP 10 /* secure computing */
|
#define TIF_SECCOMP 10 /* secure computing */
|
||||||
#define TIF_SYSCALL_TRACEPOINT 11 /* syscall tracepoint instrumentation */
|
#define TIF_SYSCALL_TRACEPOINT 11 /* syscall tracepoint instrumentation */
|
||||||
#define TIF_SIE 12 /* guest execution active */
|
|
||||||
#define TIF_POLLING_NRFLAG 16 /* true if poll_idle() is polling
|
#define TIF_POLLING_NRFLAG 16 /* true if poll_idle() is polling
|
||||||
TIF_NEED_RESCHED */
|
TIF_NEED_RESCHED */
|
||||||
#define TIF_31BIT 17 /* 32bit process */
|
#define TIF_31BIT 17 /* 32bit process */
|
||||||
|
@ -114,7 +113,6 @@ static inline struct thread_info *current_thread_info(void)
|
||||||
#define _TIF_SYSCALL_AUDIT (1<<TIF_SYSCALL_AUDIT)
|
#define _TIF_SYSCALL_AUDIT (1<<TIF_SYSCALL_AUDIT)
|
||||||
#define _TIF_SECCOMP (1<<TIF_SECCOMP)
|
#define _TIF_SECCOMP (1<<TIF_SECCOMP)
|
||||||
#define _TIF_SYSCALL_TRACEPOINT (1<<TIF_SYSCALL_TRACEPOINT)
|
#define _TIF_SYSCALL_TRACEPOINT (1<<TIF_SYSCALL_TRACEPOINT)
|
||||||
#define _TIF_SIE (1<<TIF_SIE)
|
|
||||||
#define _TIF_POLLING_NRFLAG (1<<TIF_POLLING_NRFLAG)
|
#define _TIF_POLLING_NRFLAG (1<<TIF_POLLING_NRFLAG)
|
||||||
#define _TIF_31BIT (1<<TIF_31BIT)
|
#define _TIF_31BIT (1<<TIF_31BIT)
|
||||||
#define _TIF_SINGLE_STEP (1<<TIF_SINGLE_STEP)
|
#define _TIF_SINGLE_STEP (1<<TIF_SINGLE_STEP)
|
||||||
|
|
|
@ -968,7 +968,6 @@ ENTRY(sie64a)
|
||||||
xc __SF_EMPTY+16(8,%r15),__SF_EMPTY+16(%r15) # host id == 0
|
xc __SF_EMPTY+16(8,%r15),__SF_EMPTY+16(%r15) # host id == 0
|
||||||
lmg %r0,%r13,0(%r3) # load guest gprs 0-13
|
lmg %r0,%r13,0(%r3) # load guest gprs 0-13
|
||||||
lg %r14,__LC_THREAD_INFO # pointer thread_info struct
|
lg %r14,__LC_THREAD_INFO # pointer thread_info struct
|
||||||
oi __TI_flags+6(%r14),_TIF_SIE>>8
|
|
||||||
sie_loop:
|
sie_loop:
|
||||||
lg %r14,__LC_THREAD_INFO # pointer thread_info struct
|
lg %r14,__LC_THREAD_INFO # pointer thread_info struct
|
||||||
tm __TI_flags+7(%r14),_TIF_EXIT_SIE
|
tm __TI_flags+7(%r14),_TIF_EXIT_SIE
|
||||||
|
@ -986,7 +985,6 @@ sie_done:
|
||||||
lg %r14,__LC_THREAD_INFO # pointer thread_info struct
|
lg %r14,__LC_THREAD_INFO # pointer thread_info struct
|
||||||
sie_exit:
|
sie_exit:
|
||||||
lctlg %c1,%c1,__LC_USER_ASCE # load primary asce
|
lctlg %c1,%c1,__LC_USER_ASCE # load primary asce
|
||||||
ni __TI_flags+6(%r14),255-(_TIF_SIE>>8)
|
|
||||||
lg %r14,__SF_EMPTY+8(%r15) # load guest register save area
|
lg %r14,__SF_EMPTY+8(%r15) # load guest register save area
|
||||||
stmg %r0,%r13,0(%r14) # save guest gprs 0-13
|
stmg %r0,%r13,0(%r14) # save guest gprs 0-13
|
||||||
lmg %r6,%r14,__SF_GPRS(%r15) # restore kernel registers
|
lmg %r6,%r14,__SF_GPRS(%r15) # restore kernel registers
|
||||||
|
@ -995,7 +993,6 @@ sie_exit:
|
||||||
sie_fault:
|
sie_fault:
|
||||||
lctlg %c1,%c1,__LC_USER_ASCE # load primary asce
|
lctlg %c1,%c1,__LC_USER_ASCE # load primary asce
|
||||||
lg %r14,__LC_THREAD_INFO # pointer thread_info struct
|
lg %r14,__LC_THREAD_INFO # pointer thread_info struct
|
||||||
ni __TI_flags+6(%r14),255-(_TIF_SIE>>8)
|
|
||||||
lg %r14,__SF_EMPTY+8(%r15) # load guest register save area
|
lg %r14,__SF_EMPTY+8(%r15) # load guest register save area
|
||||||
stmg %r0,%r13,0(%r14) # save guest gprs 0-13
|
stmg %r0,%r13,0(%r14) # save guest gprs 0-13
|
||||||
lmg %r6,%r14,__SF_GPRS(%r15) # restore kernel registers
|
lmg %r6,%r14,__SF_GPRS(%r15) # restore kernel registers
|
||||||
|
|
|
@ -294,7 +294,7 @@ static inline int do_exception(struct pt_regs *regs, int access)
|
||||||
down_read(&mm->mmap_sem);
|
down_read(&mm->mmap_sem);
|
||||||
|
|
||||||
#ifdef CONFIG_PGSTE
|
#ifdef CONFIG_PGSTE
|
||||||
if (test_tsk_thread_flag(current, TIF_SIE) && S390_lowcore.gmap) {
|
if ((current->flags & PF_VCPU) && S390_lowcore.gmap) {
|
||||||
address = __gmap_fault(address,
|
address = __gmap_fault(address,
|
||||||
(struct gmap *) S390_lowcore.gmap);
|
(struct gmap *) S390_lowcore.gmap);
|
||||||
if (address == -EFAULT) {
|
if (address == -EFAULT) {
|
||||||
|
|
Загрузка…
Ссылка в новой задаче