tag | line | file | source code |
tsk | 26 | fs/nfs/mmap.c | extern int share_page(struct vm_area_struct * area, struct task_struct * tsk, |
tsk | 30 | fs/nfs/mmap.c | extern unsigned long put_page(struct task_struct * tsk,unsigned long page, |
tsk | 139 | include/linux/mm.h | extern unsigned long put_dirty_page(struct task_struct * tsk,unsigned long page, |
tsk | 141 | include/linux/mm.h | extern void free_page_tables(struct task_struct * tsk); |
tsk | 142 | include/linux/mm.h | extern void clear_page_tables(struct task_struct * tsk); |
tsk | 150 | include/linux/mm.h | struct task_struct *tsk, unsigned long user_esp); |
tsk | 152 | include/linux/mm.h | struct task_struct *tsk, unsigned long user_esp); |
tsk | 366 | include/linux/sched.h | extern void notify_parent(struct task_struct * tsk); |
tsk | 405 | include/linux/sched.h | #define switch_to(tsk) \ |
tsk | 415 | include/linux/sched.h | :"m" (*(((char *)&tsk->tss.tr)-4)), \ |
tsk | 416 | include/linux/sched.h | "c" (tsk) \ |
tsk | 70 | kernel/exit.c | void notify_parent(struct task_struct * tsk) |
tsk | 72 | kernel/exit.c | if (tsk->p_pptr == task[1]) |
tsk | 73 | kernel/exit.c | tsk->exit_signal = SIGCHLD; |
tsk | 74 | kernel/exit.c | send_sig(tsk->exit_signal, tsk->p_pptr, 1); |
tsk | 75 | kernel/exit.c | wake_up_interruptible(&tsk->p_pptr->wait_chldexit); |
tsk | 92 | kernel/fork.c | static int dup_mmap(struct task_struct * tsk) |
tsk | 96 | kernel/fork.c | tsk->mm->mmap = NULL; |
tsk | 97 | kernel/fork.c | tsk->mm->stk_vma = NULL; |
tsk | 98 | kernel/fork.c | p = &tsk->mm->mmap; |
tsk | 104 | kernel/fork.c | tmp->vm_task = tsk; |
tsk | 111 | kernel/fork.c | tsk->mm->stk_vma = tmp; |
tsk | 88 | kernel/ptrace.c | static unsigned long get_long(struct task_struct * tsk, |
tsk | 94 | kernel/ptrace.c | page = *PAGE_DIR_OFFSET(tsk->tss.cr3,addr); |
tsk | 101 | kernel/ptrace.c | do_no_page(0,addr,tsk,0); |
tsk | 121 | kernel/ptrace.c | static void put_long(struct task_struct * tsk, unsigned long addr, |
tsk | 128 | kernel/ptrace.c | page = *PAGE_DIR_OFFSET(tsk->tss.cr3,addr); |
tsk | 136 | kernel/ptrace.c | do_no_page(0 /* PAGE_RW */ ,addr,tsk,0); |
tsk | 142 | kernel/ptrace.c | do_wp_page(PAGE_RW | PAGE_PRESENT,addr,tsk,0); |
tsk | 163 | kernel/ptrace.c | static int read_long(struct task_struct * tsk, unsigned long addr, |
tsk | 171 | kernel/ptrace.c | low = get_long(tsk,addr & ~(sizeof(long)-1)); |
tsk | 172 | kernel/ptrace.c | high = get_long(tsk,(addr+sizeof(long)) & ~(sizeof(long)-1)); |
tsk | 189 | kernel/ptrace.c | *result = get_long(tsk,addr); |
tsk | 197 | kernel/ptrace.c | static int write_long(struct task_struct * tsk, unsigned long addr, |
tsk | 205 | kernel/ptrace.c | low = get_long(tsk,addr & ~(sizeof(long)-1)); |
tsk | 206 | kernel/ptrace.c | high = get_long(tsk,(addr+sizeof(long)) & ~(sizeof(long)-1)); |
tsk | 230 | kernel/ptrace.c | put_long(tsk,addr & ~(sizeof(long)-1),low); |
tsk | 231 | kernel/ptrace.c | put_long(tsk,(addr+sizeof(long)) & ~(sizeof(long)-1),high); |
tsk | 233 | kernel/ptrace.c | put_long(tsk,addr,data); |
tsk | 31 | kernel/traps.c | #define DO_ERROR(trapnr, signr, str, name, tsk) \ |
tsk | 34 | kernel/traps.c | tsk->tss.error_code = error_code; \ |
tsk | 35 | kernel/traps.c | tsk->tss.trap_no = trapnr; \ |
tsk | 38 | kernel/traps.c | send_sig(signr, tsk, 1); \ |
tsk | 68 | kernel/vm86.c | static void mark_screen_rdonly(struct task_struct * tsk) |
tsk | 73 | kernel/vm86.c | if ((tmp = tsk->tss.cr3) != 0) { |
tsk | 121 | mm/memory.c | void clear_page_tables(struct task_struct * tsk) |
tsk | 127 | mm/memory.c | if (!tsk) |
tsk | 129 | mm/memory.c | if (tsk == task[0]) |
tsk | 131 | mm/memory.c | pg_dir = tsk->tss.cr3; |
tsk | 141 | mm/memory.c | oom(tsk); |
tsk | 147 | mm/memory.c | tsk->tss.cr3 = (unsigned long) new_pg; |
tsk | 159 | mm/memory.c | void free_page_tables(struct task_struct * tsk) |
tsk | 165 | mm/memory.c | if (!tsk) |
tsk | 167 | mm/memory.c | if (tsk == task[0]) { |
tsk | 171 | mm/memory.c | pg_dir = tsk->tss.cr3; |
tsk | 176 | mm/memory.c | tsk->tss.cr3 = (unsigned long) swapper_pg_dir; |
tsk | 177 | mm/memory.c | if (tsk == current) |
tsk | 178 | mm/memory.c | __asm__ __volatile__("movl %0,%%cr3": :"a" (tsk->tss.cr3)); |
tsk | 196 | mm/memory.c | int clone_page_tables(struct task_struct * tsk) |
tsk | 202 | mm/memory.c | tsk->tss.cr3 = pg_dir; |
tsk | 211 | mm/memory.c | int copy_page_tables(struct task_struct * tsk) |
tsk | 220 | mm/memory.c | tsk->tss.cr3 = new_pg_dir; |
tsk | 242 | mm/memory.c | free_page_tables(tsk); |
tsk | 472 | mm/memory.c | unsigned long put_page(struct task_struct * tsk,unsigned long page, |
tsk | 483 | mm/memory.c | page_table = PAGE_DIR_OFFSET(tsk->tss.cr3,address); |
tsk | 488 | mm/memory.c | oom(tsk); |
tsk | 509 | mm/memory.c | unsigned long put_dirty_page(struct task_struct * tsk, unsigned long page, unsigned long address) |
tsk | 517 | mm/memory.c | page_table = PAGE_DIR_OFFSET(tsk->tss.cr3,address); |
tsk | 554 | mm/memory.c | struct task_struct * tsk, unsigned long user_esp) |
tsk | 560 | mm/memory.c | pde = PAGE_DIR_OFFSET(tsk->tss.cr3,address); |
tsk | 575 | mm/memory.c | tsk->mm->min_flt++; |
tsk | 581 | mm/memory.c | ++tsk->mm->rss; |
tsk | 589 | mm/memory.c | oom(tsk); |
tsk | 602 | mm/memory.c | send_sig(SIGKILL, tsk, 1); |
tsk | 607 | mm/memory.c | send_sig(SIGKILL, tsk, 1); |
tsk | 619 | mm/memory.c | struct task_struct * tsk, unsigned long user_esp) |
tsk | 624 | mm/memory.c | pg_table = PAGE_DIR_OFFSET(tsk->tss.cr3,address); |
tsk | 636 | mm/memory.c | if (user_esp && tsk == current) { |
tsk | 640 | mm/memory.c | send_sig(SIGSEGV, tsk, 1); |
tsk | 649 | mm/memory.c | __do_wp_page(error_code, address, tsk, user_esp); |
tsk | 669 | mm/memory.c | static inline void get_empty_page(struct task_struct * tsk, unsigned long address) |
tsk | 674 | mm/memory.c | oom(tsk); |
tsk | 677 | mm/memory.c | if (!put_page(tsk,tmp,address,PAGE_PRIVATE)) |
tsk | 695 | mm/memory.c | static int try_to_share(unsigned long address, struct task_struct * tsk, |
tsk | 704 | mm/memory.c | to_page = (unsigned long)PAGE_DIR_OFFSET(tsk->tss.cr3,address); |
tsk | 754 | mm/memory.c | int share_page(struct vm_area_struct * area, struct task_struct * tsk, |
tsk | 765 | mm/memory.c | if (tsk == *p) |
tsk | 784 | mm/memory.c | if (try_to_share(address,tsk,*p,error_code,newpage)) |
tsk | 793 | mm/memory.c | static inline unsigned long get_empty_pgtable(struct task_struct * tsk,unsigned long address) |
tsk | 798 | mm/memory.c | p = PAGE_DIR_OFFSET(tsk->tss.cr3,address); |
tsk | 806 | mm/memory.c | p = PAGE_DIR_OFFSET(tsk->tss.cr3,address); |
tsk | 825 | mm/memory.c | struct task_struct *tsk, unsigned long user_esp) |
tsk | 831 | mm/memory.c | page = get_empty_pgtable(tsk,address); |
tsk | 839 | mm/memory.c | ++tsk->mm->rss; |
tsk | 841 | mm/memory.c | ++tsk->mm->maj_flt; |
tsk | 847 | mm/memory.c | for (mpnt = tsk->mm->mmap; mpnt != NULL; mpnt = mpnt->vm_next) { |
tsk | 855 | mm/memory.c | ++tsk->mm->min_flt; |
tsk | 856 | mm/memory.c | get_empty_page(tsk,address); |
tsk | 862 | mm/memory.c | if (tsk != current) |
tsk | 864 | mm/memory.c | if (address >= tsk->mm->end_data && address < tsk->mm->brk) |
tsk | 866 | mm/memory.c | if (mpnt && mpnt == tsk->mm->stk_vma && |
tsk | 868 | mm/memory.c | tsk->rlim[RLIMIT_STACK].rlim_cur > mpnt->vm_end - address) { |
tsk | 872 | mm/memory.c | tsk->tss.cr2 = address; |
tsk | 875 | mm/memory.c | send_sig(SIGSEGV,tsk,1); |
tsk | 879 | mm/memory.c | ++tsk->mm->min_flt; |
tsk | 880 | mm/memory.c | get_empty_page(tsk,address); |