Home
last modified time | relevance | path

Searched refs:regs (Results 1 – 25 of 27) sorted by relevance

12

/DragonOS-0.1.8/kernel/src/exception/
Dtrap.c12 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 …]
Dirq.h24 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…
Dirq.c188 … 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/
Dsyscall.rs24 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 …]
Dx86_64_ipi.h44 void (*handler)(uint64_t irq_num, uint64_t param, struct pt_regs *regs),
Dx86_64_ipi.c39 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/
Dtraceback.c34 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()
Dtraceback.h17 void traceback(struct pt_regs * regs);
/DragonOS-0.1.8/kernel/src/process/
Dprocess.c51 …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(&regs, 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 …]
Dptrace.h39 static inline int user_mode(struct pt_regs *regs) in user_mode() argument
41 return !!(regs->cs & 3); in user_mode()
Dprocess.h88 unsigned long do_fork(struct pt_regs *regs, unsigned long clone_flags, unsigned long stack_start,
Dfork.c35 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/
Dptrace.rs6 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/
Dsignal.rs390 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, &regs, size_of::<sigframe>()); in setup_frame()
638 err |= setup_sigcontext(unsafe { &mut (*frame).context }, oldset, &regs).unwrap_or(1); in setup_frame()
661 regs.rdi = sig as u64; in setup_frame()
[all …]
/DragonOS-0.1.8/docs/kernel/debug/
Dtraceback.md11 ### `void traceback(struct pt_regs * regs)`
19 ##### regs l4subsection
/DragonOS-0.1.8/kernel/src/smp/
Dsmp.c16 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()
Dipi.h38 void (*handler)(uint64_t irq_num, uint64_t param, struct pt_regs *regs),
/DragonOS-0.1.8/kernel/src/driver/pci/
Dpci_irq.h4 …irq_num,void (*pci_irq_handler)(ul irq_num, ul parameter, struct pt_regs *regs),ul parameter,const…
Dpci_irq.c28 …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/
D8259A.c45 void do_IRQ(struct pt_regs *regs, ul number) in do_IRQ() argument
/DragonOS-0.1.8/kernel/src/driver/interrupt/apic/
Dapic_timer.c90 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/
DHPET.c64 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/
Data.c14 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/
Dps2_keyboard.c144 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/
Dps2_mouse.c56 void ps2_mouse_handler(ul irq_num, ul param, struct pt_regs *regs) in ps2_mouse_handler() argument

12