Home
last modified time | relevance | path

Searched refs:handler (Results 1 – 24 of 24) sorted by relevance

/DragonOS/kernel/src/arch/x86_64/interrupt/
H A Dhandle.rs29 let handler = desc.handler(); in x86_64_do_irq() localVariable
30 if likely(handler.is_some()) { in x86_64_do_irq()
31 handler.unwrap().handle(&desc, trap_frame); in x86_64_do_irq()
H A Dentry.rs579 unsafe fn set_gate(gate: &mut [u64], attr: u8, ist: u8, handler: VirtAddr) { in set_gate()
591 let mut handler = handler.data() as u64; in set_gate() localVariable
594 d0 |= handler & 0xFFFF; in set_gate()
596 handler >>= 16; in set_gate()
597 d0 |= (0xffff & handler) << 48; in set_gate()
600 handler >>= 16; in set_gate()
601 d1 |= handler & 0xFFFFFFFF; in set_gate()
/DragonOS/kernel/src/driver/irqchip/
H A Driscv_sifive_plic.rs192 let handler = unsafe { plic_handlers().force_get(cpu) }; in plic_irq_toggle() localVariable
193 handler.toggle(irq_data.hardware_irq(), enable); in plic_irq_toggle()
312 let handler = plic_handlers().get(); in irq_eoi() localVariable
315 handler.toggle(irq_data.hardware_irq(), true); in irq_eoi()
318 (handler.inner().hart_base + PlicIrqChip::CONTEXT_CLAIM).data() as *mut u32, in irq_eoi()
323 handler.toggle(irq_data.hardware_irq(), false); in irq_eoi()
328 (handler.inner().hart_base + PlicIrqChip::CONTEXT_CLAIM).data() as *mut u32, in irq_eoi()
508 let handler = unsafe { plic_handlers().force_get(cpu) }; in do_riscv_sifive_plic_init() localVariable
509 if handler.present() { in do_riscv_sifive_plic_init()
511 handler.set_threshold(PlicIrqChip::PLIC_ENABLE_THRESHOLD); in do_riscv_sifive_plic_init()
[all …]
/DragonOS/user/apps/test_signal/
H A Dmain.c27 void handler(int sig) in handler() function
36 signal(SIGKILL, &handler); in main()
/DragonOS/kernel/src/exception/
H A Dirqchip.rs389 handler: &'static dyn IrqFlowHandler, in __irq_set_handler()
401 self.__irq_do_set_handler(&irq_desc, &mut desc_inner, Some(handler), is_chained, name); in __irq_set_handler()
411 mut handler: Option<&'static dyn IrqFlowHandler>, in __irq_do_set_handler()
415 if handler.is_none() { in __irq_do_set_handler()
416 handler = Some(bad_irq_handler()); in __irq_do_set_handler()
464 let handler = handler.unwrap(); in __irq_do_set_handler() localVariable
465 if handler.type_id() == bad_irq_handler().type_id() in __irq_do_set_handler()
482 desc.set_handler_no_lock_inner(handler, desc_inner.irq_data(), &chip); in __irq_do_set_handler()
485 if handler.type_id() != bad_irq_handler().type_id() && is_chained { in __irq_do_set_handler()
501 desc.set_handler(handler); in __irq_do_set_handler()
H A Dirqdesc.rs78 handler: RwLock<Option<&'static dyn IrqFlowHandler>>, field
120 handler: RwLock::new(None), in new()
149 pub fn set_handler(&self, handler: &'static dyn IrqFlowHandler) { in set_handler()
151 let mut guard = self.handler.write_irqsave(); in set_handler()
152 *guard = Some(handler); in set_handler()
164 handler: &'static dyn IrqFlowHandler, in set_handler_no_lock_inner()
169 let mut guard = self.handler.write_irqsave(); in set_handler_no_lock_inner()
170 *guard = Some(handler); in set_handler_no_lock_inner()
174 pub fn handler(&self) -> Option<&'static dyn IrqFlowHandler> { in handler() method
175 let guard = self.handler.read_irqsave(); in handler()
[all …]
H A Dhandle.rs278 .handler() in do_handle_irq_event()
381 let handler = action_inner.handler().unwrap(); in handle() localVariable
384 let _r = handler.handle( in handle()
H A Dmanage.rs66 handler: &'static dyn IrqHandler, in request_irq()
70 return self.request_threaded_irq(irq, Some(handler), None, flags, name, dev_id); in request_irq()
112 mut handler: Option<&'static dyn IrqHandler>, in request_threaded_irq()
143 if handler.is_none() { in request_threaded_irq()
150 handler = Some(&DefaultPrimaryIrqHandler); in request_threaded_irq()
153 let irqaction = IrqAction::new(irq, dev_name, handler, thread_fn); in request_threaded_irq()
416 } else if action_guard.handler().is_some_and(|h| { in inner_setup_irq()
H A Dsoftirq.rs144 handler: Arc<dyn SoftirqVec>, in register_softirq()
156 table_guard[softirq_num as usize] = Some(handler); in register_softirq()
/DragonOS/tools/debugging/logmonitor/src/
H A Devent.rs31 handler: thread::JoinHandle<()>, field
39 let handler = { in new() localVariable
68 handler, in new()
H A Dlib.rs24 pub mod handler; module
H A Dmain.rs6 use logmonitor::handler::{handle_backend_events, handle_key_events};
/DragonOS/kernel/src/time/
H A Dsleep.rs45 let handler: Box<WakeUpHelper> = WakeUpHelper::new(ProcessManager::current_pcb()); in nanosleep() localVariable
46 let timer: Arc<Timer> = Timer::new(handler, next_n_us_timer_jiffies(total_sleep_time_us)); in nanosleep()
/DragonOS/kernel/src/ipc/
H A Dsyscall.rs147 let input_sighandler = unsafe { (*act).handler as u64 }; in sigaction()
166 VirtAddr::new((*act).handler as usize) in sigaction()
220 SigactionType::SaHandler(handler) => { in sigaction()
221 if let SaHandlerType::Customized(hand) = handler { in sigaction()
223 } else if handler.is_sig_ignore() { in sigaction()
225 } else if handler.is_sig_error() { in sigaction()
238 (*old_act).handler = sigaction_handler.data() as *mut c_void; in sigaction()
H A Dsignal_types.rs158 SaHandlerType::Customized(handler) => handler.data(), in from()
290 pub handler: *mut core::ffi::c_void, field
H A Dsignal.rs253 SigactionType::SaHandler(handler) => handler.is_sig_default(), in sig_fatal()
/DragonOS/kernel/src/arch/riscv64/interrupt/
H A Dhandle.rs53 let handler = EXCEPTION_HANDLERS[code]; in riscv64_do_exception() localVariable
54 handler(trap_frame).ok(); in riscv64_do_exception()
/DragonOS/docs/community/ChangeLog/V0.1.x/
H A DV0.1.2.md34 - Signal: 允许用户注册信号处理函数,能够进入自定义的handler。(#112)
39 …- 暂时只支持旧版的sighandler,即:只有1个参数的`void handler(int signum)`类型的信号处理函数。对于另一种信号处理函数`void handler(int sig…
144 * new: 用户注册信号处理函数,能够进入自定义的handler
H A DV0.1.9.md326 …性能上,edge irq flow handler里面,对于锁的使用,可能有点问题。为了获取/修改common data还有其他几个结构体的状态,进行了多次加锁和放锁,导致性能降低。这是接下来需要…
1428 * vmexit handler with bug
1430 * 完成vmexit cpuid handler
H A DV0.1.10.md222 - 实现fasteoi interrupt handler
/DragonOS/docs/kernel/ipc/
H A Dsignal.md64 │ sig handler │ └────────────┘ │ frame. │
/DragonOS/kernel/src/arch/x86_64/ipc/
H A Dsignal.rs324 pub handler: *mut c_void, field
565 SaHandlerType::Customized(handler) => { in setup_frame()
567 if handler >= MMArch::USER_END_VADDR { in setup_frame()
603 temp_handler = handler.data() as *mut c_void; in setup_frame()
665 unsafe { (*frame).handler = temp_handler }; in setup_frame()
670 trap_frame.rip = unsafe { (*frame).handler as u64 }; in setup_frame()
/DragonOS/docs/kernel/core_api/
H A Dsoftirq.md42 handler: Arc<dyn SoftirqVec>,
/DragonOS/kernel/src/arch/x86_64/driver/apic/
H A Dioapic.rs439 let handler: &dyn IrqFlowHandler = if fasteoi { in register_handler() localVariable
444 desc.set_handler(handler); in register_handler()