1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #pragma once
- #include<common/glib.h>
- #define MAX_SOFTIRQ_NUM 64
- #define TIMER_SIRQ (1<<0)
- uint64_t softirq_status = 0;
- struct softirq_t
- {
- void (*action)(void* data);
- void* data;
- };
- struct softirq_t softirq_vector[MAX_SOFTIRQ_NUM] = {0};
- void register_softirq(uint32_t irq_num, void (*action)(void * data), void* data);
- void unregister_softirq(uint32_t irq_num);
- void set_softirq_status(uint64_t status);
- uint64_t get_softirq_status();
- void do_softirq();
- void softirq_init();
|