Searched refs:rip (Results 1 – 10 of 10) sorted by relevance
/DragonOS-0.1.2/kernel/src/exception/ |
D | trap.c | 16 regs->rsp, regs->rip, proc_current_cpu_id, current_pcb->pid); in do_divide_error() 27 …tError Code:%#18lx,\tRSP:%#18lx,\tRIP:%#18lx\t CPU:%d, pid:%d\n", error_code, regs->rsp, regs->rip, in do_debug() 40 …nmi(2),\tError Code:%#18lx,\tRSP:%#18lx,\tRIP:%#18lx\t CPU:%d\n", error_code, regs->rsp, regs->rip, in do_nmi() 53 …nt3(3),\tError Code:%#18lx,\tRSP:%#18lx,\tRIP:%#18lx\t CPU:%d\n", error_code, regs->rsp, regs->rip, in do_int3() 67 regs->rip, proc_current_cpu_id); in do_overflow() 77 …nds(5),\tError Code:%#18lx,\tRSP:%#18lx,\tRIP:%#18lx\t CPU:%d\n", error_code, regs->rsp, regs->rip, in do_bounds() 89 regs->rsp, regs->rip, proc_current_cpu_id, current_pcb->pid); in do_undefined_opcode() 100 regs->rip, proc_current_cpu_id); in do_dev_not_avaliable() 113 regs->rip, proc_current_cpu_id); in do_double_fault() 124 regs->rsp, regs->rip, proc_current_cpu_id); in do_coprocessor_segment_overrun() [all …]
|
D | entry.S | 165 leaq do_divide_error(%rip), %rax // 获取中断服务程序的地址 174 leaq do_debug(%rip), %rax // 获取中断服务程序的地址 185 leaq do_nmi(%rip), %rax 193 leaq do_int3(%rip), %rax // 获取中断服务程序的地址 201 leaq do_overflow(%rip), %rax // 获取中断服务程序的地址 209 leaq do_bounds(%rip), %rax // 获取中断服务程序的地址 217 leaq do_undefined_opcode(%rip), %rax // 获取中断服务程序的地址 225 leaq do_dev_not_avaliable(%rip), %rax // 获取中断服务程序的地址 232 leaq do_double_fault(%rip), %rax // 获取中断服务程序的地址 240 leaq do_coprocessor_segment_overrun(%rip), %rax // 获取中断服务程序的地址 [all …]
|
/DragonOS-0.1.2/kernel/src/ |
D | head.S | 217 movq switch_to_start64(%rip), %rax 246 lgdt GDT_POINTER(%rip) //这里我没搞明白rip相对寻址, 看了文档,大概是用来实现PIC的(position independent code) 249 lidt IDT_POINTER(%rip) 251 movq GDT_POINTER(%rip), %r12 252 movq head_stack_start(%rip), %rsp 283 movq switch_seg(%rip), %rax 304 movq head_stack_start(%rip), %rsp //rsp的地址 307 leaq GDT_Table(%rip), %r8 308 leaq GDT_END(%rip), %r9 313 leaq IDT_Table(%rip), %r8 [all …]
|
/DragonOS-0.1.2/kernel/src/process/ |
D | ptrace.h | 30 unsigned long rip; member
|
D | process.h | 68 … : "=m"(prev->thread->rsp), "=m"(prev->thread->rip) \ 69 … : "m"(next->thread->rsp), "m"(next->thread->rip), "D"(prev), "S"(next) \
|
D | proc-types.h | 48 ul rip; member
|
D | fork.c | 389 thd->rip = (uint64_t)ret_from_system_call; in process_copy_thread() 391 thd->rip = (uint64_t)kernel_thread_func; in process_copy_thread() 393 thd->rip = (uint64_t)ret_from_system_call; in process_copy_thread()
|
D | process.c | 215 regs->rip = ehdr.e_entry; in process_load_elf_file() 502 current_pcb->thread->rip = (ul)ret_from_system_call; in initial_kernel_thread() 520 … "m"(current_pcb->thread->rsp), "m"(current_pcb->thread->rip), "S"("/bin/shell.elf"), "c"(NULL), in initial_kernel_thread() 597 regs.rip = (ul)kernel_thread_func; in kernel_thread()
|
/DragonOS-0.1.2/kernel/src/debug/traceback/ |
D | traceback.c | 50 uint64_t ret_addr = regs->rip; in traceback()
|
/DragonOS-0.1.2/kernel/src/ipc/ |
D | signal.rs | 661 regs.rip = unsafe { ka._u._sa_handler }; in setup_frame() 666 if regs.rip >= USER_MAX_LINEAR_ADDR { in setup_frame() 673 regs.rip = 0; in setup_frame()
|