/DragonOS-0.1.5/kernel/src/exception/ |
D | irq.h | 112 void (*enable)(ul irq_num); 114 void (*disable)(ul irq_num); 117 ul (*install)(ul irq_num, void *arg); 119 void (*uninstall)(ul irq_num); 121 void (*ack)(ul irq_num); 133 void (*handler)(ul irq_num, ul parameter, struct pt_regs *regs); 157 int irq_register(ul irq_num, void *arg, void (*handler)(ul irq_num, ul parameter, struct pt_regs *r… 165 int irq_unregister(ul irq_num);
|
D | irq.c | 152 int irq_register(ul irq_num, void *arg, void (*handler)(ul irq_num, ul parameter, struct pt_regs *r… in irq_register() argument 157 if (irq_num >= 32 && irq_num < 0x80) in irq_register() 158 p = &interrupt_desc[irq_num - 32]; in irq_register() 159 else if (irq_num >= 150 && irq_num < 200) in irq_register() 160 p = &local_apic_interrupt_desc[irq_num - 150]; in irq_register() 163 kerror("irq_register(): invalid irq num: %ld.", irq_num); in irq_register() 179 p->controller->install(irq_num, arg); in irq_register() 181 p->controller->enable(irq_num); in irq_register() 193 int irq_unregister(ul irq_num) in irq_unregister() argument 195 irq_desc_t *p = &interrupt_desc[irq_num - 32]; in irq_unregister() [all …]
|
D | softirq.rs | 82 irq_num: u32, in register_softirq() 87 softirq_handler.register_softirq(irq_num, action, data); in register_softirq() 94 pub extern "C" fn unregister_softirq(irq_num: u32) { in unregister_softirq() 96 softirq_handler.unregister_softirq(irq_num); in unregister_softirq() 102 pub extern "C" fn set_softirq_pending(irq_num: u32) { in set_softirq_pending() 104 softirq_handler.set_softirq_pending(irq_num); in set_softirq_pending() 112 pub extern "C" fn clear_softirq_pending(irq_num: u32) { in clear_softirq_pending() 114 softirq_handler.clear_softirq_pending(irq_num); in clear_softirq_pending() 190 irq_num: u32, in register_softirq() 194 if self.table[irq_num as usize].action.is_some() { in register_softirq() [all …]
|
D | softirq.h | 18 extern int register_softirq(uint32_t irq_num, void (*action)(void *data), void *data); 19 extern int unregister_softirq(uint32_t irq_num);
|
/DragonOS-0.1.5/kernel/src/driver/interrupt/apic/ |
D | apic_timer.c | 28 void apic_timer_enable(uint64_t irq_num) in apic_timer_enable() argument 40 void apic_timer_disable(uint64_t irq_num) in apic_timer_disable() argument 52 uint64_t apic_timer_install(ul irq_num, void *arg) in apic_timer_install() argument 69 void apic_timer_uninstall(ul irq_num) in apic_timer_uninstall() argument
|
D | apic.h | 306 void apic_ioapic_enable(ul irq_num); 307 void apic_ioapic_disable(ul irq_num); 308 ul apic_ioapic_install(ul irq_num, void *arg); 309 void apic_ioapic_uninstall(ul irq_num); 310 void apic_ioapic_level_ack(ul irq_num); // ioapic电平触发 应答 311 void apic_ioapic_edge_ack(ul irq_num); // ioapic边沿触发 应答 314 void apic_local_apic_edge_ack(ul irq_num); // local apic边沿触发 应答
|
D | apic.c | 527 void apic_ioapic_enable(ul irq_num) in apic_ioapic_enable() argument 529 ul index = 0x10 + ((irq_num - 32) << 1); in apic_ioapic_enable() 535 void apic_ioapic_disable(ul irq_num) in apic_ioapic_disable() argument 537 ul index = 0x10 + ((irq_num - 32) << 1); in apic_ioapic_disable() 543 ul apic_ioapic_install(ul irq_num, void *arg) in apic_ioapic_install() argument 547 apic_ioapic_write_rte(0x10 + ((irq_num - 32) << 1), *(ul *)entry); in apic_ioapic_install() 551 void apic_ioapic_uninstall(ul irq_num) in apic_ioapic_uninstall() argument 554 apic_ioapic_write_rte(0x10 + ((irq_num - 32) << 1), 0x10000UL); in apic_ioapic_uninstall() 557 void apic_ioapic_level_ack(ul irq_num) // 电平触发 in apic_ioapic_level_ack() argument 560 *apic_ioapic_map.virtual_EOI_addr = irq_num; in apic_ioapic_level_ack() [all …]
|
/DragonOS-0.1.5/kernel/src/arch/x86_64/ |
D | x86_64_ipi.h | 43 int ipi_regiserIPI(uint64_t irq_num, void *arg, 44 void (*handler)(uint64_t irq_num, uint64_t param, struct pt_regs *regs),
|
D | x86_64_ipi.c | 38 int ipi_regiserIPI(uint64_t irq_num, void *arg, in ipi_regiserIPI() argument 39 void (*handler)(uint64_t irq_num, uint64_t param, struct pt_regs *regs), in ipi_regiserIPI() argument 42 irq_desc_t *p = &SMP_IPI_desc[irq_num - 200]; in ipi_regiserIPI()
|
D | ia64_msi.c | 25 …msi_desc->msg.data = ia64_pci_get_arch_msi_message_data(msi_desc->irq_num, msi_desc->processor, ms… in msi_arch_get_msg()
|
/DragonOS-0.1.5/kernel/src/smp/ |
D | ipi.h | 37 extern int ipi_regiserIPI(uint64_t irq_num, void *arg, 38 void (*handler)(uint64_t irq_num, uint64_t param, struct pt_regs *regs),
|
D | smp.c | 16 static void __smp_kick_cpu_handler(uint64_t irq_num, uint64_t param, struct pt_regs *regs); 218 static void __smp_kick_cpu_handler(uint64_t irq_num, uint64_t param, struct pt_regs *regs) in __smp_kick_cpu_handler() argument
|
/DragonOS-0.1.5/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 18 kdebug("irq_num=%ld", irq_num); in ata_disk_handler()
|
/DragonOS-0.1.5/kernel/src/driver/pci/ |
D | msi.h | 73 uint16_t irq_num; // 中断向量号 member
|
/DragonOS-0.1.5/kernel/src/driver/usb/xhci/ |
D | xhci.c | 23 void xhci_hc_irq_enable(uint64_t irq_num); 24 void xhci_hc_irq_disable(uint64_t irq_num); 25 uint64_t xhci_hc_irq_install(uint64_t irq_num, void *arg); 26 void xhci_hc_irq_uninstall(uint64_t irq_num); 39 void xhci_hc_irq_handler(uint64_t irq_num, uint64_t cid, struct pt_regs *regs); 587 void xhci_hc_irq_enable(uint64_t irq_num) in xhci_hc_irq_enable() argument 589 int cid = xhci_find_hcid_by_irq_num(irq_num); in xhci_hc_irq_enable() 603 void xhci_hc_irq_disable(uint64_t irq_num) in xhci_hc_irq_disable() argument 605 int cid = xhci_find_hcid_by_irq_num(irq_num); in xhci_hc_irq_disable() 623 uint64_t xhci_hc_irq_install(uint64_t irq_num, void *arg) in xhci_hc_irq_install() argument [all …]
|
D | xhci.h | 22 #define xhci_find_hcid_by_irq_num(irq_num) ({ \ argument 25 if (xhci_controller_irq_num[i] == irq_num) \
|
/DragonOS-0.1.5/kernel/src/driver/keyboard/ |
D | ps2_keyboard.c | 143 void ps2_keyboard_handler(ul irq_num, ul buf_vaddr, struct pt_regs *regs) in ps2_keyboard_handler() argument
|
/DragonOS-0.1.5/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
|