/DragonOS-0.1.8/kernel/src/exception/ |
D | trap.c | 12 void do_divide_error(struct pt_regs *regs, unsigned long error_code) in do_divide_error() argument 16 regs->rsp, regs->rip, proc_current_cpu_id, current_pcb->pid); in do_divide_error() 17 traceback(regs); in do_divide_error() 23 void do_debug(struct pt_regs *regs, unsigned long error_code) in do_debug() argument 27 …tError Code:%#18lx,\tRSP:%#18lx,\tRIP:%#18lx\t CPU:%d, pid:%d\n", error_code, regs->rsp, regs->rip, in do_debug() 35 void do_nmi(struct pt_regs *regs, unsigned long error_code) in do_nmi() argument 40 …nmi(2),\tError Code:%#18lx,\tRSP:%#18lx,\tRIP:%#18lx\t CPU:%d\n", error_code, regs->rsp, regs->rip, in do_nmi() 48 void do_int3(struct pt_regs *regs, unsigned long error_code) in do_int3() argument 53 …nt3(3),\tError Code:%#18lx,\tRSP:%#18lx,\tRIP:%#18lx\t CPU:%d\n", error_code, regs->rsp, regs->rip, in do_int3() 61 void do_overflow(struct pt_regs *regs, unsigned long error_code) in do_overflow() argument [all …]
|
D | irq.h | 24 extern void do_IRQ(struct pt_regs *regs, ul number); 133 void (*handler)(ul irq_num, ul parameter, struct pt_regs *regs); 157 …num, void *arg, void (*handler)(ul irq_num, ul parameter, struct pt_regs *regs), ul paramater, har…
|
D | irq.c | 188 … irq_num, void *arg, void (*handler)(ul irq_num, ul parameter, struct pt_regs *regs), ul paramater, in irq_register() argument
|
/DragonOS-0.1.8/kernel/src/arch/x86_64/ |
D | syscall.rs | 24 fn do_fork(regs: *mut pt_regs, clone_flags: u64, stack_start: u64, stack_size: u64) -> u64; in do_fork() 30 ($val:expr, $regs:expr) => {{ 32 $regs.rax = ret as u64; 38 pub extern "C" fn syscall_handler(regs: &mut pt_regs) -> () { in syscall_handler() 39 let syscall_num = regs.rax as usize; in syscall_handler() 41 regs.r8 as usize, in syscall_handler() 42 regs.r9 as usize, in syscall_handler() 43 regs.r10 as usize, in syscall_handler() 44 regs.r11 as usize, in syscall_handler() 45 regs.r12 as usize, in syscall_handler() [all …]
|
D | x86_64_ipi.h | 44 void (*handler)(uint64_t irq_num, uint64_t param, struct pt_regs *regs),
|
D | x86_64_ipi.c | 39 void (*handler)(uint64_t irq_num, uint64_t param, struct pt_regs *regs), in ipi_regiserIPI() argument
|
/DragonOS-0.1.8/kernel/src/debug/traceback/ |
D | traceback.c | 34 void traceback(struct pt_regs *regs) in traceback() argument 37 if (verify_area(regs->rbp, 0)) in traceback() 39 …BLACK, "Kernel traceback: Fault in userland. pid=%ld, rbp=%#018lx\n", current_pcb->pid, regs->rbp); in traceback() 43 uint64_t *rbp = (uint64_t *)regs->rbp; in traceback() 50 uint64_t ret_addr = regs->rip; in traceback() 59 if((uint64_t)(rbp) >= current_pcb->thread->rbp || ((uint64_t)rbp<regs->rsp)) in traceback()
|
D | traceback.h | 17 void traceback(struct pt_regs * regs);
|
/DragonOS-0.1.8/kernel/src/process/ |
D | process.c | 51 …ve(const char *filename, const char *const argv[], const char *const envp[], struct pt_regs *regs); 52 extern uint64_t rs_exec_init_process(struct pt_regs *regs); 201 struct pt_regs *regs; in initial_kernel_thread() local 216 regs = (struct pt_regs *)current_pcb->thread->rsp; in initial_kernel_thread() 279 struct pt_regs regs; in kernel_thread() local 281 memset(®s, 0, sizeof(regs)); in kernel_thread() 284 regs.rbx = (ul)fn; in kernel_thread() 286 regs.rdx = (ul)arg; in kernel_thread() 288 regs.ds = KERNEL_DS; in kernel_thread() 290 regs.es = KERNEL_DS; in kernel_thread() [all …]
|
D | ptrace.h | 39 static inline int user_mode(struct pt_regs *regs) in user_mode() argument 41 return !!(regs->cs & 3); in user_mode()
|
D | process.h | 88 unsigned long do_fork(struct pt_regs *regs, unsigned long clone_flags, unsigned long stack_start,
|
D | fork.c | 35 unsigned long do_fork(struct pt_regs *regs, unsigned long clone_flags, unsigned long stack_start, in do_fork() argument 130 retval = process_copy_thread(clone_flags, tsk, stack_start, stack_size, regs); in do_fork()
|
/DragonOS-0.1.8/kernel/src/arch/x86_64/asm/ |
D | ptrace.rs | 6 pub fn user_mode(regs: *const pt_regs) -> bool { in user_mode() 7 if (unsafe { (*regs).cs } & 0x3) != 0 { in user_mode()
|
/DragonOS-0.1.8/kernel/src/ipc/ |
D | signal.rs | 390 pub extern "C" fn do_signal(regs: &mut pt_regs) { in do_signal() 392 if current_pcb().sig_pending.signal == 0 || (!user_mode(regs)) { in do_signal() 403 let (sig_number, info, ka) = get_signal_to_deliver(regs.clone()); in do_signal() 413 let res = handle_signal(sig_number, ka.unwrap(), &info.unwrap(), &oldset, regs); in do_signal() 583 regs: &mut pt_regs, in handle_signal() 586 let retval = setup_frame(sig, ka, info, oldset, regs); in handle_signal() 601 regs: &mut pt_regs, in setup_frame() 604 let frame: *mut sigframe = get_stack(ka, ®s, size_of::<sigframe>()); in setup_frame() 638 err |= setup_sigcontext(unsafe { &mut (*frame).context }, oldset, ®s).unwrap_or(1); in setup_frame() 661 regs.rdi = sig as u64; in setup_frame() [all …]
|
/DragonOS-0.1.8/docs/kernel/debug/ |
D | traceback.md | 11 ### `void traceback(struct pt_regs * regs)` 19 ##### regs l4subsection
|
/DragonOS-0.1.8/kernel/src/smp/ |
D | smp.c | 16 static void __smp_kick_cpu_handler(uint64_t irq_num, uint64_t param, struct pt_regs *regs); 17 static void __smp__flush_tlb_ipi_handler(uint64_t irq_num, uint64_t param, struct pt_regs *regs); 230 static void __smp_kick_cpu_handler(uint64_t irq_num, uint64_t param, struct pt_regs *regs) in __smp_kick_cpu_handler() argument 232 if (user_mode(regs)) in __smp_kick_cpu_handler() 237 static void __smp__flush_tlb_ipi_handler(uint64_t irq_num, uint64_t param, struct pt_regs *regs) in __smp__flush_tlb_ipi_handler() argument 239 if (user_mode(regs)) in __smp__flush_tlb_ipi_handler()
|
D | ipi.h | 38 void (*handler)(uint64_t irq_num, uint64_t param, struct pt_regs *regs),
|
/DragonOS-0.1.8/kernel/src/driver/pci/ |
D | pci_irq.h | 4 …irq_num,void (*pci_irq_handler)(ul irq_num, ul parameter, struct pt_regs *regs),ul parameter,const…
|
D | pci_irq.c | 28 …irq_num,void (*pci_irq_handler)(ul irq_num, ul parameter, struct pt_regs *regs),ul parameter,const… in c_irq_install() argument
|
/DragonOS-0.1.8/kernel/src/driver/interrupt/8259A/ |
D | 8259A.c | 45 void do_IRQ(struct pt_regs *regs, ul number) in do_IRQ() argument
|
/DragonOS-0.1.8/kernel/src/driver/interrupt/apic/ |
D | apic_timer.c | 90 void apic_timer_handler(uint64_t number, uint64_t param, struct pt_regs *regs) in apic_timer_handler() argument
|
/DragonOS-0.1.8/kernel/src/driver/timers/HPET/ |
D | HPET.c | 64 void HPET_handler(uint64_t number, uint64_t param, struct pt_regs *regs) in HPET_handler() argument 105 void HPET_measure_handler(uint64_t number, uint64_t param, struct pt_regs *regs) in HPET_measure_handler() argument
|
/DragonOS-0.1.8/kernel/src/driver/disk/ |
D | ata.c | 14 void ata_disk_handler(ul irq_num, ul param, struct pt_regs *regs) in ata_disk_handler() argument
|
/DragonOS-0.1.8/kernel/src/driver/keyboard/ |
D | ps2_keyboard.c | 144 void ps2_keyboard_handler(ul irq_num, ul buf_vaddr, struct pt_regs *regs) in ps2_keyboard_handler() argument
|
/DragonOS-0.1.8/kernel/src/driver/mouse/ |
D | ps2_mouse.c | 56 void ps2_mouse_handler(ul irq_num, ul param, struct pt_regs *regs) in ps2_mouse_handler() argument
|