/DragonOS-0.1.2/kernel/src/exception/ |
D | irq.h | 110 void (*enable)(ul irq_num); 112 void (*disable)(ul irq_num); 115 ul (*install)(ul irq_num, void *arg); 117 void (*uninstall)(ul irq_num); 119 void (*ack)(ul irq_num); 131 void (*handler)(ul irq_num, ul parameter, struct pt_regs *regs); 155 int irq_register(ul irq_num, void *arg, void (*handler)(ul irq_num, ul parameter, struct pt_regs *r… 163 int irq_unregister(ul irq_num);
|
D | softirq.c | 58 void register_softirq(uint32_t irq_num, void (*action)(void *data), void *data) in register_softirq() argument 60 softirq_vector[irq_num].action = action; in register_softirq() 61 softirq_vector[irq_num].data = data; in register_softirq() 69 void unregister_softirq(uint32_t irq_num) in unregister_softirq() argument 71 softirq_vector[irq_num].action = NULL; in unregister_softirq() 72 softirq_vector[irq_num].data = NULL; in unregister_softirq() 109 int clear_softirq_pending(uint32_t irq_num) in clear_softirq_pending() argument 111 clear_softirq_running(irq_num); in clear_softirq_pending()
|
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() 180 p->controller->install(irq_num, arg); in irq_register() 182 p->controller->enable(irq_num); in irq_register() 194 int irq_unregister(ul irq_num) in irq_unregister() argument 196 irq_desc_t *p = &interrupt_desc[irq_num - 32]; in irq_unregister() [all …]
|
D | softirq.h | 48 void register_softirq(uint32_t irq_num, void (*action)(void *data), void *data); 55 void unregister_softirq(uint32_t irq_num); 60 int clear_softirq_pending(uint32_t irq_num);
|
/DragonOS-0.1.2/kernel/src/driver/interrupt/apic/ |
D | apic_timer.c | 11 void apic_timer_enable(uint64_t irq_num) in apic_timer_enable() argument 23 void apic_timer_disable(uint64_t irq_num) in apic_timer_disable() argument 35 uint64_t apic_timer_install(ul irq_num, void *arg) in apic_timer_install() argument 52 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 | 519 void apic_ioapic_enable(ul irq_num) in apic_ioapic_enable() argument 521 ul index = 0x10 + ((irq_num - 32) << 1); in apic_ioapic_enable() 527 void apic_ioapic_disable(ul irq_num) in apic_ioapic_disable() argument 529 ul index = 0x10 + ((irq_num - 32) << 1); in apic_ioapic_disable() 535 ul apic_ioapic_install(ul irq_num, void *arg) in apic_ioapic_install() argument 539 apic_ioapic_write_rte(0x10 + ((irq_num - 32) << 1), *(ul *)entry); in apic_ioapic_install() 543 void apic_ioapic_uninstall(ul irq_num) in apic_ioapic_uninstall() argument 546 apic_ioapic_write_rte(0x10 + ((irq_num - 32) << 1), 0x10000UL); in apic_ioapic_uninstall() 549 void apic_ioapic_level_ack(ul irq_num) // 电平触发 in apic_ioapic_level_ack() argument 552 *apic_ioapic_map.virtual_EOI_addr = irq_num; in apic_ioapic_level_ack() [all …]
|
/DragonOS-0.1.2/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.2/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 | 15 void ipi_0xc8_handler(uint64_t irq_num, uint64_t param, struct pt_regs *regs); // 由BSP转发的HPET中断处理函数 198 void ipi_0xc8_handler(uint64_t irq_num, uint64_t param, struct pt_regs *regs) in ipi_0xc8_handler() argument
|
/DragonOS-0.1.2/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.2/kernel/src/driver/pci/ |
D | msi.h | 73 uint16_t irq_num; // 中断向量号 member
|
/DragonOS-0.1.2/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.2/kernel/src/driver/keyboard/ |
D | ps2_keyboard.c | 145 void ps2_keyboard_handler(ul irq_num, ul buf_vaddr, struct pt_regs *regs) in ps2_keyboard_handler() argument
|
/DragonOS-0.1.2/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
|