mirror of
https://github.com/DragonOS-Community/DragonOS.git
synced 2025-06-19 13:16:31 +00:00
增加定时器和软中断文档,修改了softirq面向c的接口 (#245)
* 增加定时器和软中断文档 * 修改softirq对c的接口和文档 * 修改文档格式
This commit is contained in:
@ -15,9 +15,9 @@
|
||||
// ==================implementation with rust===================
|
||||
extern void rs_softirq_init();
|
||||
extern void rs_raise_softirq(uint32_t sirq_num);
|
||||
extern int rs_register_softirq(uint32_t irq_num, void (*action)(void *data), void *data);
|
||||
extern int unregister_softirq(uint32_t irq_num);
|
||||
extern void rs_unregister_softirq(uint32_t sirq_num);
|
||||
extern void rs_do_softirq();
|
||||
extern void rs_clear_softirq_pending(uint32_t softirq_num);
|
||||
|
||||
// for temporary
|
||||
#define MAX_SOFTIRQ_NUM 64
|
||||
|
@ -236,7 +236,7 @@ impl Softirq {
|
||||
local_irq_restore(&flags);
|
||||
// kdebug!("raise_softirq exited");
|
||||
}
|
||||
pub fn clear_softirq_pending(&self, softirq_num: SoftirqNumber) {
|
||||
pub unsafe fn clear_softirq_pending(&self, softirq_num: SoftirqNumber) {
|
||||
compiler_fence(Ordering::SeqCst);
|
||||
cpu_pending(smp_get_processor_id() as usize).remove(VecStatus::from(softirq_num));
|
||||
compiler_fence(Ordering::SeqCst);
|
||||
@ -261,5 +261,7 @@ pub extern "C" fn rs_do_softirq() {
|
||||
|
||||
#[no_mangle]
|
||||
pub extern "C" fn rs_clear_softirq_pending(softirq_num: u32) {
|
||||
softirq_vectors().clear_softirq_pending(SoftirqNumber::from(softirq_num as u64));
|
||||
unsafe {
|
||||
softirq_vectors().clear_softirq_pending(SoftirqNumber::from(softirq_num as u64));
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user