/DragonOS-0.1.8/kernel/src/driver/pci/ |
D | pci_irq.c | 6 void pci_irq_enable(ul irq_num) in pci_irq_enable() argument 10 void pci_irq_disable(ul irq_num) in pci_irq_disable() argument 14 void pci_irq_install(ul irq_num) in pci_irq_install() argument 18 void pci_irq_uninstall(ul irq_num) in pci_irq_uninstall() argument 28 …(ul irq_num,void (*pci_irq_handler)(ul irq_num, ul parameter, struct pt_regs *regs),ul parameter,c… in c_irq_install() argument 32 if (irq_num >= 32 && irq_num < 0x80) in c_irq_install() 33 p = &interrupt_desc[irq_num - 32]; in c_irq_install() 34 else if (irq_num >= 150 && irq_num < 200) in c_irq_install() 35 p = &local_apic_interrupt_desc[irq_num - 150]; in c_irq_install() 64 void c_irq_uninstall(ul irq_num) in c_irq_uninstall() argument [all …]
|
D | pci_irq.h | 4 …(ul irq_num,void (*pci_irq_handler)(ul irq_num, ul parameter, struct pt_regs *regs),ul parameter,c… 5 void c_irq_uninstall(ul irq_num);
|
D | pci_irq.rs | 78 irq_hander: unsafe extern "C" fn(irq_num: ul, parameter: ul, regs: *mut pt_regs), // 中断处理函数 79 …irq_ack: Option<unsafe extern "C" fn(irq_num: ul)>, // 中断的ack,可为None,若为None则中断处理中会正常通知中断结束,不为None则… 320 let irq_num = in msi_install() localVariable 325 irq_num as u64, in msi_install() 334 return Err(PciError::PciIrqError(PciIrqError::InvalidIrqNum(irq_num))); in msi_install() 338 irq_num, in msi_install() 352 let msg_data = ia64_pci_get_arch_msi_message_data(irq_num, 0, trigger); in msi_install() 469 let irq_num = in msix_install() localVariable 474 irq_num as u64, in msix_install() 483 return Err(PciError::PciIrqError(PciIrqError::InvalidIrqNum(irq_num))); in msix_install() [all …]
|
D | msi.h | 73 uint16_t irq_num; // 中断向量号 member
|
/DragonOS-0.1.8/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 | 188 int irq_register(ul irq_num, void *arg, void (*handler)(ul irq_num, ul parameter, struct pt_regs *r… in irq_register() argument 193 if (irq_num >= 32 && irq_num < 0x80) in irq_register() 194 p = &interrupt_desc[irq_num - 32]; in irq_register() 195 else if (irq_num >= 150 && irq_num < 200) in irq_register() 196 p = &local_apic_interrupt_desc[irq_num - 150]; in irq_register() 199 kerror("irq_register(): invalid irq num: %ld.", irq_num); in irq_register() 215 p->controller->install(irq_num, arg); in irq_register() 217 p->controller->enable(irq_num); in irq_register() 229 int irq_unregister(ul irq_num) in irq_unregister() argument 231 irq_desc_t *p = &interrupt_desc[irq_num - 32]; in irq_unregister() [all …]
|
/DragonOS-0.1.8/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 | 305 void apic_ioapic_enable(ul irq_num); 306 void apic_ioapic_disable(ul irq_num); 307 ul apic_ioapic_install(ul irq_num, void *arg); 308 void apic_ioapic_uninstall(ul irq_num); 309 void apic_ioapic_level_ack(ul irq_num); // ioapic电平触发 应答 310 void apic_ioapic_edge_ack(ul irq_num); // ioapic边沿触发 应答 313 void apic_local_apic_edge_ack(ul irq_num); // local apic边沿触发 应答
|
D | apic.c | 532 void apic_ioapic_enable(ul irq_num) in apic_ioapic_enable() argument 534 ul index = 0x10 + ((irq_num - 32) << 1); in apic_ioapic_enable() 540 void apic_ioapic_disable(ul irq_num) in apic_ioapic_disable() argument 542 ul index = 0x10 + ((irq_num - 32) << 1); in apic_ioapic_disable() 548 ul apic_ioapic_install(ul irq_num, void *arg) in apic_ioapic_install() argument 552 apic_ioapic_write_rte(0x10 + ((irq_num - 32) << 1), *(ul *)entry); in apic_ioapic_install() 556 void apic_ioapic_uninstall(ul irq_num) in apic_ioapic_uninstall() argument 559 apic_ioapic_write_rte(0x10 + ((irq_num - 32) << 1), 0x10000UL); in apic_ioapic_uninstall() 562 void apic_ioapic_level_ack(ul irq_num) // 电平触发 in apic_ioapic_level_ack() argument 565 *apic_ioapic_map.virtual_EOI_addr = irq_num; in apic_ioapic_level_ack() [all …]
|
/DragonOS-0.1.8/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.8/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); 17 static void __smp__flush_tlb_ipi_handler(uint64_t irq_num, uint64_t param, struct pt_regs *regs); 230 static void __smp_kick_cpu_handler(uint64_t irq_num, uint64_t param, struct pt_regs *regs) in __smp_kick_cpu_handler() argument 237 static void __smp__flush_tlb_ipi_handler(uint64_t irq_num, uint64_t param, struct pt_regs *regs) in __smp__flush_tlb_ipi_handler() argument
|
/DragonOS-0.1.8/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.8/kernel/src/driver/keyboard/ |
D | ps2_keyboard.c | 144 void ps2_keyboard_handler(ul irq_num, ul buf_vaddr, struct pt_regs *regs) in ps2_keyboard_handler() argument
|
/DragonOS-0.1.8/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
|