forked from luck/tmp_suning_uos_patched
x86: rename threadinfo to TI.
This is for consistency with i386. Signed-off-by: Glauber Costa <gcosta@redhat.com> Signed-off-by: H. Peter Anvin <hpa@zytor.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
9262875395
commit
26ccb8a718
|
@ -116,7 +116,7 @@ ENTRY(ia32_sysenter_target)
|
|||
pushfq
|
||||
CFI_ADJUST_CFA_OFFSET 8
|
||||
/*CFI_REL_OFFSET rflags,0*/
|
||||
movl 8*3-THREAD_SIZE+threadinfo_sysenter_return(%rsp), %r10d
|
||||
movl 8*3-THREAD_SIZE+TI_sysenter_return(%rsp), %r10d
|
||||
CFI_REGISTER rip,r10
|
||||
pushq $__USER32_CS
|
||||
CFI_ADJUST_CFA_OFFSET 8
|
||||
|
@ -136,8 +136,9 @@ ENTRY(ia32_sysenter_target)
|
|||
.quad 1b,ia32_badarg
|
||||
.previous
|
||||
GET_THREAD_INFO(%r10)
|
||||
orl $TS_COMPAT,threadinfo_status(%r10)
|
||||
testl $(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SECCOMP),threadinfo_flags(%r10)
|
||||
orl $TS_COMPAT,TI_status(%r10)
|
||||
testl $(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SECCOMP), \
|
||||
TI_flags(%r10)
|
||||
CFI_REMEMBER_STATE
|
||||
jnz sysenter_tracesys
|
||||
sysenter_do_call:
|
||||
|
@ -149,9 +150,9 @@ sysenter_do_call:
|
|||
GET_THREAD_INFO(%r10)
|
||||
DISABLE_INTERRUPTS(CLBR_NONE)
|
||||
TRACE_IRQS_OFF
|
||||
testl $_TIF_ALLWORK_MASK,threadinfo_flags(%r10)
|
||||
testl $_TIF_ALLWORK_MASK,TI_flags(%r10)
|
||||
jnz int_ret_from_sys_call
|
||||
andl $~TS_COMPAT,threadinfo_status(%r10)
|
||||
andl $~TS_COMPAT,TI_status(%r10)
|
||||
/* clear IF, that popfq doesn't enable interrupts early */
|
||||
andl $~0x200,EFLAGS-R11(%rsp)
|
||||
movl RIP-R11(%rsp),%edx /* User %eip */
|
||||
|
@ -240,8 +241,9 @@ ENTRY(ia32_cstar_target)
|
|||
.quad 1b,ia32_badarg
|
||||
.previous
|
||||
GET_THREAD_INFO(%r10)
|
||||
orl $TS_COMPAT,threadinfo_status(%r10)
|
||||
testl $(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SECCOMP),threadinfo_flags(%r10)
|
||||
orl $TS_COMPAT,TI_status(%r10)
|
||||
testl $(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SECCOMP), \
|
||||
TI_flags(%r10)
|
||||
CFI_REMEMBER_STATE
|
||||
jnz cstar_tracesys
|
||||
cstar_do_call:
|
||||
|
@ -253,9 +255,9 @@ cstar_do_call:
|
|||
GET_THREAD_INFO(%r10)
|
||||
DISABLE_INTERRUPTS(CLBR_NONE)
|
||||
TRACE_IRQS_OFF
|
||||
testl $_TIF_ALLWORK_MASK,threadinfo_flags(%r10)
|
||||
testl $_TIF_ALLWORK_MASK,TI_flags(%r10)
|
||||
jnz int_ret_from_sys_call
|
||||
andl $~TS_COMPAT,threadinfo_status(%r10)
|
||||
andl $~TS_COMPAT,TI_status(%r10)
|
||||
RESTORE_ARGS 1,-ARG_SKIP,1,1,1
|
||||
movl RIP-ARGOFFSET(%rsp),%ecx
|
||||
CFI_REGISTER rip,rcx
|
||||
|
@ -333,8 +335,9 @@ ENTRY(ia32_syscall)
|
|||
this could be a problem. */
|
||||
SAVE_ARGS 0,0,1
|
||||
GET_THREAD_INFO(%r10)
|
||||
orl $TS_COMPAT,threadinfo_status(%r10)
|
||||
testl $(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SECCOMP),threadinfo_flags(%r10)
|
||||
orl $TS_COMPAT,TI_status(%r10)
|
||||
testl $(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SECCOMP), \
|
||||
TI_flags(%r10)
|
||||
jnz ia32_tracesys
|
||||
ia32_do_syscall:
|
||||
cmpl $(IA32_NR_syscalls-1),%eax
|
||||
|
|
|
@ -34,7 +34,7 @@ int main(void)
|
|||
ENTRY(pid);
|
||||
BLANK();
|
||||
#undef ENTRY
|
||||
#define ENTRY(entry) DEFINE(threadinfo_ ## entry, offsetof(struct thread_info, entry))
|
||||
#define ENTRY(entry) DEFINE(TI_ ## entry, offsetof(struct thread_info, entry))
|
||||
ENTRY(flags);
|
||||
ENTRY(addr_limit);
|
||||
ENTRY(preempt_count);
|
||||
|
|
|
@ -168,13 +168,13 @@ ENTRY(ret_from_fork)
|
|||
CFI_ADJUST_CFA_OFFSET -4
|
||||
call schedule_tail
|
||||
GET_THREAD_INFO(%rcx)
|
||||
testl $(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT),threadinfo_flags(%rcx)
|
||||
testl $(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT),TI_flags(%rcx)
|
||||
jnz rff_trace
|
||||
rff_action:
|
||||
RESTORE_REST
|
||||
testl $3,CS-ARGOFFSET(%rsp) # from kernel_thread?
|
||||
je int_ret_from_sys_call
|
||||
testl $_TIF_IA32,threadinfo_flags(%rcx)
|
||||
testl $_TIF_IA32,TI_flags(%rcx)
|
||||
jnz int_ret_from_sys_call
|
||||
RESTORE_TOP_OF_STACK %rdi,ARGOFFSET
|
||||
jmp ret_from_sys_call
|
||||
|
@ -243,7 +243,8 @@ ENTRY(system_call_after_swapgs)
|
|||
movq %rcx,RIP-ARGOFFSET(%rsp)
|
||||
CFI_REL_OFFSET rip,RIP-ARGOFFSET
|
||||
GET_THREAD_INFO(%rcx)
|
||||
testl $(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SECCOMP),threadinfo_flags(%rcx)
|
||||
testl $(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SECCOMP), \
|
||||
TI_flags(%rcx)
|
||||
jnz tracesys
|
||||
cmpq $__NR_syscall_max,%rax
|
||||
ja badsys
|
||||
|
@ -262,7 +263,7 @@ sysret_check:
|
|||
GET_THREAD_INFO(%rcx)
|
||||
DISABLE_INTERRUPTS(CLBR_NONE)
|
||||
TRACE_IRQS_OFF
|
||||
movl threadinfo_flags(%rcx),%edx
|
||||
movl TI_flags(%rcx),%edx
|
||||
andl %edi,%edx
|
||||
jnz sysret_careful
|
||||
CFI_REMEMBER_STATE
|
||||
|
@ -347,10 +348,10 @@ int_ret_from_sys_call:
|
|||
int_with_check:
|
||||
LOCKDEP_SYS_EXIT_IRQ
|
||||
GET_THREAD_INFO(%rcx)
|
||||
movl threadinfo_flags(%rcx),%edx
|
||||
movl TI_flags(%rcx),%edx
|
||||
andl %edi,%edx
|
||||
jnz int_careful
|
||||
andl $~TS_COMPAT,threadinfo_status(%rcx)
|
||||
andl $~TS_COMPAT,TI_status(%rcx)
|
||||
jmp retint_swapgs
|
||||
|
||||
/* Either reschedule or signal or syscall exit tracking needed. */
|
||||
|
@ -558,7 +559,7 @@ retint_with_reschedule:
|
|||
movl $_TIF_WORK_MASK,%edi
|
||||
retint_check:
|
||||
LOCKDEP_SYS_EXIT_IRQ
|
||||
movl threadinfo_flags(%rcx),%edx
|
||||
movl TI_flags(%rcx),%edx
|
||||
andl %edi,%edx
|
||||
CFI_REMEMBER_STATE
|
||||
jnz retint_careful
|
||||
|
@ -654,9 +655,9 @@ retint_signal:
|
|||
/* Returning to kernel space. Check if we need preemption */
|
||||
/* rcx: threadinfo. interrupts off. */
|
||||
ENTRY(retint_kernel)
|
||||
cmpl $0,threadinfo_preempt_count(%rcx)
|
||||
cmpl $0,TI_preempt_count(%rcx)
|
||||
jnz retint_restore_args
|
||||
bt $TIF_NEED_RESCHED,threadinfo_flags(%rcx)
|
||||
bt $TIF_NEED_RESCHED,TI_flags(%rcx)
|
||||
jnc retint_restore_args
|
||||
bt $9,EFLAGS-ARGOFFSET(%rsp) /* interrupts off? */
|
||||
jnc retint_restore_args
|
||||
|
@ -819,7 +820,7 @@ paranoid_restore\trace:
|
|||
jmp irq_return
|
||||
paranoid_userspace\trace:
|
||||
GET_THREAD_INFO(%rcx)
|
||||
movl threadinfo_flags(%rcx),%ebx
|
||||
movl TI_flags(%rcx),%ebx
|
||||
andl $_TIF_WORK_MASK,%ebx
|
||||
jz paranoid_swapgs\trace
|
||||
movq %rsp,%rdi /* &pt_regs */
|
||||
|
@ -917,7 +918,7 @@ error_exit:
|
|||
testl %eax,%eax
|
||||
jne retint_kernel
|
||||
LOCKDEP_SYS_EXIT_IRQ
|
||||
movl threadinfo_flags(%rcx),%edx
|
||||
movl TI_flags(%rcx),%edx
|
||||
movl $_TIF_WORK_MASK,%edi
|
||||
andl %edi,%edx
|
||||
jnz retint_careful
|
||||
|
|
|
@ -40,7 +40,7 @@ ENTRY(copy_to_user)
|
|||
movq %rdi,%rcx
|
||||
addq %rdx,%rcx
|
||||
jc bad_to_user
|
||||
cmpq threadinfo_addr_limit(%rax),%rcx
|
||||
cmpq TI_addr_limit(%rax),%rcx
|
||||
jae bad_to_user
|
||||
xorl %eax,%eax /* clear zero flag */
|
||||
ALTERNATIVE_JUMP X86_FEATURE_REP_GOOD,copy_user_generic_unrolled,copy_user_generic_string
|
||||
|
@ -65,7 +65,7 @@ ENTRY(copy_from_user)
|
|||
movq %rsi,%rcx
|
||||
addq %rdx,%rcx
|
||||
jc bad_from_user
|
||||
cmpq threadinfo_addr_limit(%rax),%rcx
|
||||
cmpq TI_addr_limit(%rax),%rcx
|
||||
jae bad_from_user
|
||||
movl $1,%ecx /* set zero flag */
|
||||
ALTERNATIVE_JUMP X86_FEATURE_REP_GOOD,copy_user_generic_unrolled,copy_user_generic_string
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
ENTRY(__get_user_1)
|
||||
CFI_STARTPROC
|
||||
GET_THREAD_INFO(%rdx)
|
||||
cmpq threadinfo_addr_limit(%rdx),%rax
|
||||
cmpq TI_addr_limit(%rdx),%rax
|
||||
jae bad_get_user
|
||||
1: movzb (%rax),%edx
|
||||
xorl %eax,%eax
|
||||
|
@ -50,7 +50,7 @@ ENTRY(__get_user_2)
|
|||
addq $1,%rax
|
||||
jc bad_get_user
|
||||
GET_THREAD_INFO(%rdx)
|
||||
cmpq threadinfo_addr_limit(%rdx),%rax
|
||||
cmpq TI_addr_limit(%rdx),%rax
|
||||
jae bad_get_user
|
||||
2: movzwl -1(%rax),%edx
|
||||
xorl %eax,%eax
|
||||
|
@ -63,7 +63,7 @@ ENTRY(__get_user_4)
|
|||
addq $3,%rax
|
||||
jc bad_get_user
|
||||
GET_THREAD_INFO(%rdx)
|
||||
cmpq threadinfo_addr_limit(%rdx),%rax
|
||||
cmpq TI_addr_limit(%rdx),%rax
|
||||
jae bad_get_user
|
||||
3: movl -3(%rax),%edx
|
||||
xorl %eax,%eax
|
||||
|
@ -76,7 +76,7 @@ ENTRY(__get_user_8)
|
|||
addq $7,%rax
|
||||
jc bad_get_user
|
||||
GET_THREAD_INFO(%rdx)
|
||||
cmpq threadinfo_addr_limit(%rdx),%rax
|
||||
cmpq TI_addr_limit(%rdx),%rax
|
||||
jae bad_get_user
|
||||
4: movq -7(%rax),%rdx
|
||||
xorl %eax,%eax
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
ENTRY(__put_user_1)
|
||||
CFI_STARTPROC
|
||||
GET_THREAD_INFO(%r8)
|
||||
cmpq threadinfo_addr_limit(%r8),%rcx
|
||||
cmpq TI_addr_limit(%r8),%rcx
|
||||
jae bad_put_user
|
||||
1: movb %dl,(%rcx)
|
||||
xorl %eax,%eax
|
||||
|
@ -48,7 +48,7 @@ ENTRY(__put_user_2)
|
|||
GET_THREAD_INFO(%r8)
|
||||
addq $1,%rcx
|
||||
jc 20f
|
||||
cmpq threadinfo_addr_limit(%r8),%rcx
|
||||
cmpq TI_addr_limit(%r8),%rcx
|
||||
jae 20f
|
||||
decq %rcx
|
||||
2: movw %dx,(%rcx)
|
||||
|
@ -64,7 +64,7 @@ ENTRY(__put_user_4)
|
|||
GET_THREAD_INFO(%r8)
|
||||
addq $3,%rcx
|
||||
jc 30f
|
||||
cmpq threadinfo_addr_limit(%r8),%rcx
|
||||
cmpq TI_addr_limit(%r8),%rcx
|
||||
jae 30f
|
||||
subq $3,%rcx
|
||||
3: movl %edx,(%rcx)
|
||||
|
@ -80,7 +80,7 @@ ENTRY(__put_user_8)
|
|||
GET_THREAD_INFO(%r8)
|
||||
addq $7,%rcx
|
||||
jc 40f
|
||||
cmpq threadinfo_addr_limit(%r8),%rcx
|
||||
cmpq TI_addr_limit(%r8),%rcx
|
||||
jae 40f
|
||||
subq $7,%rcx
|
||||
4: movq %rdx,(%rcx)
|
||||
|
|
Loading…
Reference in New Issue
Block a user