tag | line | file | source code |
regs | 41 | drivers/FPU-emu/fpu_aux.c | regs[r].tag = TW_Empty; |
regs | 120 | drivers/FPU-emu/fpu_emu.h | #define st(x) ( regs[((top+x) &7 )] ) |
regs | 126 | drivers/FPU-emu/fpu_emu.h | #define pop() { regs[(top++ & 7 )].tag = TW_Empty; } |
regs | 127 | drivers/FPU-emu/fpu_emu.h | #define poppop() { regs[((top + 1) & 7 )].tag \ |
regs | 128 | drivers/FPU-emu/fpu_emu.h | = regs[(top & 7 )].tag = TW_Empty; \ |
regs | 163 | drivers/FPU-emu/fpu_entry.c | regs[i].exp = 0; |
regs | 164 | drivers/FPU-emu/fpu_entry.c | regs[i].sigh = 0x80000000; |
regs | 301 | drivers/FPU-emu/fpu_entry.c | regs[r].tag = TW_Empty; |
regs | 59 | drivers/FPU-emu/fpu_system.h | #define regs (I387.soft.regs) |
regs | 1211 | drivers/FPU-emu/reg_ld_str.c | regs[i].tag = TW_Empty; |
regs | 1212 | drivers/FPU-emu/reg_ld_str.c | else if ( regs[i].tag == TW_Empty ) |
regs | 1216 | drivers/FPU-emu/reg_ld_str.c | if ( regs[i].exp == EXP_BIAS - EXTENDED_Ebias ) |
regs | 1218 | drivers/FPU-emu/reg_ld_str.c | if ( !(regs[i].sigl | regs[i].sigh) ) |
regs | 1219 | drivers/FPU-emu/reg_ld_str.c | regs[i].tag = TW_Zero; |
regs | 1221 | drivers/FPU-emu/reg_ld_str.c | regs[i].tag = TW_Valid; |
regs | 1223 | drivers/FPU-emu/reg_ld_str.c | else if ( regs[i].exp == 0x7fff + EXP_BIAS - EXTENDED_Ebias ) |
regs | 1225 | drivers/FPU-emu/reg_ld_str.c | if ( !((regs[i].sigh & ~0x80000000) | regs[i].sigl) ) |
regs | 1226 | drivers/FPU-emu/reg_ld_str.c | regs[i].tag = TW_Infinity; |
regs | 1228 | drivers/FPU-emu/reg_ld_str.c | regs[i].tag = TW_NaN; |
regs | 1231 | drivers/FPU-emu/reg_ld_str.c | regs[i].tag = TW_Valid; |
regs | 1251 | drivers/FPU-emu/reg_ld_str.c | tag = regs[stnr].tag; /* Derived from the fldenv() loaded tag word. */ |
regs | 1252 | drivers/FPU-emu/reg_ld_str.c | reg_load_extended((long double *)(s+i*10), ®s[stnr]); |
regs | 1254 | drivers/FPU-emu/reg_ld_str.c | regs[stnr].tag = tag; |
regs | 1268 | drivers/FPU-emu/reg_ld_str.c | switch ( tag = regs[i].tag ) |
regs | 1271 | drivers/FPU-emu/reg_ld_str.c | if ( regs[i].exp <= (EXP_BIAS - EXTENDED_Ebias) ) |
regs | 1368 | drivers/FPU-emu/reg_ld_str.c | write_to_extended(®s[(top + i) & 7], d + 10 * i); |
regs | 57 | fs/exec.c | static int load_aout_binary(struct linux_binprm *, struct pt_regs * regs); |
regs | 59 | fs/exec.c | static int aout_core_dump(long signr, struct pt_regs * regs); |
regs | 161 | fs/exec.c | static int aout_core_dump(long signr, struct pt_regs * regs) |
regs | 211 | fs/exec.c | dump.start_stack = regs->esp & ~(PAGE_SIZE - 1); |
regs | 229 | fs/exec.c | dump.u_ar0 = (struct pt_regs *)(((int)(&dump.regs)) -((int)(&dump))); |
regs | 231 | fs/exec.c | dump.regs = *regs; |
regs | 584 | fs/exec.c | int do_execve(char * filename, char ** argv, char ** envp, struct pt_regs * regs) |
regs | 593 | fs/exec.c | if (regs->cs != USER_CS) |
regs | 736 | fs/exec.c | retval = fn(&bprm, regs); |
regs | 756 | fs/exec.c | asmlinkage int sys_execve(struct pt_regs regs) |
regs | 761 | fs/exec.c | error = getname((char *) regs.ebx, &filename); |
regs | 764 | fs/exec.c | error = do_execve(filename, (char **) regs.ecx, (char **) regs.edx, ®s); |
regs | 785 | fs/exec.c | static int load_aout_binary(struct linux_binprm * bprm, struct pt_regs * regs) |
regs | 894 | fs/exec.c | regs->eip = ex.a_entry; /* eip, magic happens :-) */ |
regs | 895 | fs/exec.c | regs->esp = p; /* stack pointer */ |
regs | 43 | ibcs/binfmt_coff.c | struct pt_regs *regs, |
regs | 112 | ibcs/binfmt_coff.c | load_object (struct linux_binprm * bprm, struct pt_regs *regs, int lib_ok) |
regs | 469 | ibcs/binfmt_coff.c | regs->eip = start_addr; /* Current EIP register */ |
regs | 470 | ibcs/binfmt_coff.c | regs->esp = |
regs | 725 | ibcs/binfmt_coff.c | load_coff_binary (struct linux_binprm *bprm, struct pt_regs *regs) |
regs | 727 | ibcs/binfmt_coff.c | return (load_object (bprm, regs, 1)); |
regs | 754 | ibcs/binfmt_coff.c | struct pt_regs regs; /* Register work area */ |
regs | 774 | ibcs/binfmt_coff.c | status = load_object (bprm, ®s, 0); |
regs | 262 | ibcs/binfmt_elf.c | static int load_elf_binary(struct linux_binprm * bprm, struct pt_regs * regs) |
regs | 555 | ibcs/binfmt_elf.c | regs->eip = elf_entry; /* eip, magic happens :-) */ |
regs | 556 | ibcs/binfmt_elf.c | regs->esp = bprm->p; /* stack pointer */ |
regs | 34 | include/linux/binfmts.h | int (*load_binary)(struct linux_binprm *, struct pt_regs * regs); |
regs | 36 | include/linux/binfmts.h | int (*core_dump)(long signr, struct pt_regs * regs); |
regs | 137 | include/linux/sched.h | struct fpu_reg regs[8]; /* 8*16 bytes for each FP-reg = 128 bytes */ |
regs | 49 | include/linux/user.h | struct pt_regs regs; /* Where the registers are actually stored */ |
regs | 89 | include/linux/vm86.h | struct vm86_regs regs; |
regs | 6 | kernel/exec_domain.c | static asmlinkage void no_lcall7(struct pt_regs * regs); |
regs | 29 | kernel/exec_domain.c | static asmlinkage void no_lcall7(struct pt_regs * regs) |
regs | 163 | kernel/fork.c | #define IS_CLONE (regs.orig_eax == __NR_clone) |
regs | 170 | kernel/fork.c | asmlinkage int sys_fork(struct pt_regs regs) |
regs | 223 | kernel/fork.c | *childregs = regs; |
regs | 226 | kernel/fork.c | p->tss.eflags = regs.eflags & 0xffffcfff; /* iopl is always 0 for a new process */ |
regs | 228 | kernel/fork.c | if (regs.ebx) |
regs | 229 | kernel/fork.c | childregs->esp = regs.ebx; |
regs | 230 | kernel/fork.c | clone_flags = regs.ecx; |
regs | 231 | kernel/fork.c | if (childregs->esp == regs.esp) |
regs | 200 | kernel/irq.c | asmlinkage void do_IRQ(int irq, struct pt_regs * regs) |
regs | 205 | kernel/irq.c | sa->sa_handler((int) regs); |
regs | 44 | kernel/ksyms.c | struct pt_regs * regs); |
regs | 49 | kernel/ksyms.c | extern int do_signal(unsigned long oldmask, struct pt_regs * regs); |
regs | 51 | kernel/ksyms.c | extern void (* iABI_hook)(struct pt_regs * regs); |
regs | 592 | kernel/sched.c | static void do_timer(struct pt_regs * regs) |
regs | 647 | kernel/sched.c | if ((VM_MASK & regs->eflags) || (3 & regs->cs)) { |
regs | 666 | kernel/sched.c | unsigned long eip = regs->eip; |
regs | 21 | kernel/signal.c | asmlinkage int do_signal(unsigned long oldmask, struct pt_regs * regs); |
regs | 85 | kernel/signal.c | struct pt_regs * regs = (struct pt_regs *) &restart; |
regs | 89 | kernel/signal.c | regs->eax = -EINTR; |
regs | 93 | kernel/signal.c | if (do_signal(mask,regs)) |
regs | 196 | kernel/signal.c | #define COPY(x) regs->x = context.x |
regs | 202 | kernel/signal.c | struct pt_regs * regs; |
regs | 204 | kernel/signal.c | regs = (struct pt_regs *) &__unused; |
regs | 205 | kernel/signal.c | if (verify_area(VERIFY_READ, (void *) regs->esp, sizeof(context))) |
regs | 207 | kernel/signal.c | memcpy_fromfs(&context,(void *) regs->esp, sizeof(context)); |
regs | 220 | kernel/signal.c | regs->eflags &= ~0xCD5; |
regs | 221 | kernel/signal.c | regs->eflags |= context.eflags & 0xCD5; |
regs | 222 | kernel/signal.c | regs->orig_eax = -1; /* disable syscall checks */ |
regs | 233 | kernel/signal.c | struct pt_regs * regs, int signr, unsigned long oldmask) |
regs | 240 | kernel/signal.c | if (regs->ss != USER_DS) |
regs | 251 | kernel/signal.c | put_fs_long(regs->gs, frame+2); |
regs | 252 | kernel/signal.c | put_fs_long(regs->fs, frame+3); |
regs | 253 | kernel/signal.c | put_fs_long(regs->es, frame+4); |
regs | 254 | kernel/signal.c | put_fs_long(regs->ds, frame+5); |
regs | 255 | kernel/signal.c | put_fs_long(regs->edi, frame+6); |
regs | 256 | kernel/signal.c | put_fs_long(regs->esi, frame+7); |
regs | 257 | kernel/signal.c | put_fs_long(regs->ebp, frame+8); |
regs | 259 | kernel/signal.c | put_fs_long(regs->ebx, frame+10); |
regs | 260 | kernel/signal.c | put_fs_long(regs->edx, frame+11); |
regs | 261 | kernel/signal.c | put_fs_long(regs->ecx, frame+12); |
regs | 262 | kernel/signal.c | put_fs_long(regs->eax, frame+13); |
regs | 266 | kernel/signal.c | put_fs_long(regs->cs, frame+17); |
regs | 267 | kernel/signal.c | put_fs_long(regs->eflags, frame+18); |
regs | 268 | kernel/signal.c | put_fs_long(regs->esp, frame+19); |
regs | 269 | kernel/signal.c | put_fs_long(regs->ss, frame+20); |
regs | 292 | kernel/signal.c | asmlinkage int do_signal(unsigned long oldmask, struct pt_regs * regs) |
regs | 353 | kernel/signal.c | if (current->binfmt->core_dump(signr, regs)) |
regs | 365 | kernel/signal.c | if (regs->orig_eax >= 0) { |
regs | 366 | kernel/signal.c | if (regs->eax == -ERESTARTNOHAND || |
regs | 367 | kernel/signal.c | (regs->eax == -ERESTARTSYS && !(sa->sa_flags & SA_RESTART))) |
regs | 368 | kernel/signal.c | regs->eax = -EINTR; |
regs | 373 | kernel/signal.c | if (regs->orig_eax >= 0 && |
regs | 374 | kernel/signal.c | (regs->eax == -ERESTARTNOHAND || |
regs | 375 | kernel/signal.c | regs->eax == -ERESTARTSYS || |
regs | 376 | kernel/signal.c | regs->eax == -ERESTARTNOINTR)) { |
regs | 377 | kernel/signal.c | regs->eax = regs->orig_eax; |
regs | 378 | kernel/signal.c | regs->eip -= 2; |
regs | 382 | kernel/signal.c | eip = regs->eip; |
regs | 383 | kernel/signal.c | frame = (unsigned long *) regs->esp; |
regs | 391 | kernel/signal.c | setup_frame(sa,&frame,eip,regs,signr,oldmask); |
regs | 397 | kernel/signal.c | regs->cs = USER_CS; regs->ss = USER_DS; |
regs | 398 | kernel/signal.c | regs->ds = USER_DS; regs->es = USER_DS; |
regs | 399 | kernel/signal.c | regs->gs = USER_DS; regs->fs = USER_DS; |
regs | 403 | kernel/signal.c | regs->esp = (unsigned long) frame; |
regs | 404 | kernel/signal.c | regs->eip = eip; /* "return" to the first handler */ |
regs | 32 | kernel/traps.c | asmlinkage void do_##name(struct pt_regs * regs, long error_code) \ |
regs | 39 | kernel/traps.c | die_if_kernel(str,regs,error_code); \ |
regs | 80 | kernel/traps.c | /*static*/ void die_if_kernel(char * str, struct pt_regs * regs, long err) |
regs | 86 | kernel/traps.c | esp = (unsigned long) ®s->esp; |
regs | 88 | kernel/traps.c | if ((regs->eflags & VM_MASK) || (3 & regs->cs) == 3) |
regs | 90 | kernel/traps.c | if (regs->cs & 3) { |
regs | 91 | kernel/traps.c | esp = regs->esp; |
regs | 92 | kernel/traps.c | ss = regs->ss; |
regs | 96 | kernel/traps.c | printk("EIP: %04x:%08lx\nEFLAGS: %08lx\n", 0xffff & regs->cs,regs->eip,regs->eflags); |
regs | 98 | kernel/traps.c | regs->eax, regs->ebx, regs->ecx, regs->edx); |
regs | 100 | kernel/traps.c | regs->esi, regs->edi, regs->ebp, esp); |
regs | 102 | kernel/traps.c | regs->ds, regs->es, regs->fs, regs->gs, ss); |
regs | 112 | kernel/traps.c | printk("%02x ",0xff & get_seg_byte(regs->cs,(i+(char *)regs->eip))); |
regs | 131 | kernel/traps.c | asmlinkage void do_general_protection(struct pt_regs * regs, long error_code) |
regs | 135 | kernel/traps.c | if (regs->eflags & VM_MASK) { |
regs | 136 | kernel/traps.c | handle_vm86_fault((struct vm86_regs *) regs, error_code); |
regs | 139 | kernel/traps.c | die_if_kernel("general protection",regs,error_code); |
regs | 140 | kernel/traps.c | switch (get_seg_byte(regs->cs, (char *)regs->eip)) { |
regs | 152 | kernel/traps.c | asmlinkage void do_nmi(struct pt_regs * regs, long error_code) |
regs | 158 | kernel/traps.c | asmlinkage void do_debug(struct pt_regs * regs, long error_code) |
regs | 160 | kernel/traps.c | if (regs->eflags & VM_MASK) { |
regs | 161 | kernel/traps.c | handle_vm86_debug((struct vm86_regs *) regs, error_code); |
regs | 169 | kernel/traps.c | if ((regs->cs & 3) == 0) { |
regs | 176 | kernel/traps.c | die_if_kernel("debug",regs,error_code); |
regs | 216 | kernel/traps.c | asmlinkage void do_coprocessor_error(struct pt_regs * regs, long error_code) |
regs | 34 | kernel/vm86.c | #define AL(regs) (((unsigned char *)&((regs)->eax))[0]) |
regs | 35 | kernel/vm86.c | #define AH(regs) (((unsigned char *)&((regs)->eax))[1]) |
regs | 36 | kernel/vm86.c | #define IP(regs) (*(unsigned short *)&((regs)->eip)) |
regs | 37 | kernel/vm86.c | #define SP(regs) (*(unsigned short *)&((regs)->esp)) |
regs | 51 | kernel/vm86.c | asmlinkage struct pt_regs * save_v86_state(struct vm86_regs * regs) |
regs | 59 | kernel/vm86.c | set_flags(regs->eflags, VEFLAGS, VIF_MASK | current->v86mask); |
regs | 60 | kernel/vm86.c | memcpy_tofs(¤t->vm86_info->regs,regs,sizeof(*regs)); |
regs | 104 | kernel/vm86.c | info.regs.__null_ds = 0; |
regs | 105 | kernel/vm86.c | info.regs.__null_es = 0; |
regs | 106 | kernel/vm86.c | info.regs.__null_fs = 0; |
regs | 107 | kernel/vm86.c | info.regs.__null_gs = 0; |
regs | 113 | kernel/vm86.c | VEFLAGS = info.regs.eflags; |
regs | 114 | kernel/vm86.c | info.regs.eflags &= SAFE_MASK; |
regs | 115 | kernel/vm86.c | info.regs.eflags |= pt_regs->eflags & ~SAFE_MASK; |
regs | 116 | kernel/vm86.c | info.regs.eflags |= VM_MASK; |
regs | 147 | kernel/vm86.c | :"r" (&info.regs)); |
regs | 162 | kernel/vm86.c | static inline void set_IF(struct vm86_regs * regs) |
regs | 166 | kernel/vm86.c | return_to_32bit(regs, VM86_STI); |
regs | 169 | kernel/vm86.c | static inline void clear_IF(struct vm86_regs * regs) |
regs | 174 | kernel/vm86.c | static inline void clear_TF(struct vm86_regs * regs) |
regs | 176 | kernel/vm86.c | regs->eflags &= ~TF_MASK; |
regs | 179 | kernel/vm86.c | static inline void set_vflags_long(unsigned long eflags, struct vm86_regs * regs) |
regs | 182 | kernel/vm86.c | set_flags(regs->eflags, eflags, SAFE_MASK); |
regs | 184 | kernel/vm86.c | set_IF(regs); |
regs | 187 | kernel/vm86.c | static inline void set_vflags_short(unsigned short flags, struct vm86_regs * regs) |
regs | 190 | kernel/vm86.c | set_flags(regs->eflags, flags, SAFE_MASK); |
regs | 192 | kernel/vm86.c | set_IF(regs); |
regs | 195 | kernel/vm86.c | static inline unsigned long get_vflags(struct vm86_regs * regs) |
regs | 197 | kernel/vm86.c | unsigned long flags = regs->eflags & RETURN_MASK; |
regs | 285 | kernel/vm86.c | static void do_int(struct vm86_regs *regs, int i, unsigned char * ssp, unsigned long sp) |
regs | 289 | kernel/vm86.c | if (seg == BIOSSEG || regs->cs == BIOSSEG || |
regs | 291 | kernel/vm86.c | return_to_32bit(regs, VM86_INTx + (i << 8)); |
regs | 292 | kernel/vm86.c | if (i==0x21 && is_revectored(AH(regs),¤t->vm86_info->int21_revectored)) |
regs | 293 | kernel/vm86.c | return_to_32bit(regs, VM86_INTx + (i << 8)); |
regs | 294 | kernel/vm86.c | pushw(ssp, sp, get_vflags(regs)); |
regs | 295 | kernel/vm86.c | pushw(ssp, sp, regs->cs); |
regs | 296 | kernel/vm86.c | pushw(ssp, sp, IP(regs)); |
regs | 297 | kernel/vm86.c | regs->cs = seg; |
regs | 298 | kernel/vm86.c | SP(regs) -= 6; |
regs | 299 | kernel/vm86.c | IP(regs) = get_fs_word((void *) (i<<2)); |
regs | 300 | kernel/vm86.c | clear_TF(regs); |
regs | 301 | kernel/vm86.c | clear_IF(regs); |
regs | 305 | kernel/vm86.c | void handle_vm86_debug(struct vm86_regs * regs, long error_code) |
regs | 308 | kernel/vm86.c | do_int(regs, 1, (unsigned char *) (regs->ss << 4), SP(regs)); |
regs | 318 | kernel/vm86.c | void handle_vm86_fault(struct vm86_regs * regs, long error_code) |
regs | 323 | kernel/vm86.c | csp = (unsigned char *) (regs->cs << 4); |
regs | 324 | kernel/vm86.c | ssp = (unsigned char *) (regs->ss << 4); |
regs | 325 | kernel/vm86.c | sp = SP(regs); |
regs | 326 | kernel/vm86.c | ip = IP(regs); |
regs | 336 | kernel/vm86.c | SP(regs) -= 4; |
regs | 337 | kernel/vm86.c | IP(regs) += 2; |
regs | 338 | kernel/vm86.c | pushl(ssp, sp, get_vflags(regs)); |
regs | 343 | kernel/vm86.c | SP(regs) += 4; |
regs | 344 | kernel/vm86.c | IP(regs) += 2; |
regs | 345 | kernel/vm86.c | set_vflags_long(popl(ssp, sp), regs); |
regs | 351 | kernel/vm86.c | SP(regs) -= 2; |
regs | 352 | kernel/vm86.c | IP(regs)++; |
regs | 353 | kernel/vm86.c | pushw(ssp, sp, get_vflags(regs)); |
regs | 358 | kernel/vm86.c | SP(regs) += 2; |
regs | 359 | kernel/vm86.c | IP(regs)++; |
regs | 360 | kernel/vm86.c | set_vflags_short(popw(ssp, sp), regs); |
regs | 365 | kernel/vm86.c | IP(regs)++; |
regs | 366 | kernel/vm86.c | do_int(regs, 3, ssp, sp); |
regs | 371 | kernel/vm86.c | IP(regs) += 2; |
regs | 372 | kernel/vm86.c | do_int(regs, popb(csp, ip), ssp, sp); |
regs | 377 | kernel/vm86.c | SP(regs) += 6; |
regs | 378 | kernel/vm86.c | IP(regs) = popw(ssp, sp); |
regs | 379 | kernel/vm86.c | regs->cs = popw(ssp, sp); |
regs | 380 | kernel/vm86.c | set_vflags_short(popw(ssp, sp), regs); |
regs | 385 | kernel/vm86.c | IP(regs)++; |
regs | 386 | kernel/vm86.c | clear_IF(regs); |
regs | 397 | kernel/vm86.c | IP(regs)++; |
regs | 398 | kernel/vm86.c | set_IF(regs); |
regs | 402 | kernel/vm86.c | return_to_32bit(regs, VM86_UNKNOWN); |
regs | 971 | mm/memory.c | asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long error_code) |
regs | 998 | mm/memory.c | if (regs->eflags & VM_MASK) { |
regs | 1007 | mm/memory.c | if (regs->cs == KERNEL_CS) |
regs | 1008 | mm/memory.c | printk("WP fault at %08x\n", regs->eip); |
regs | 1057 | mm/memory.c | die_if_kernel("Oops", regs, error_code); |