函数逻辑报告 | 
Source Code:arch\x86\kernel\apic\io_apic.c | 
Create Date:2022-07-27 09:30:24 | 
| Last Modify:2020-03-16 21:24:45 | Copyright©Brick | 
| 首页 | 函数Tree | 
| 注解内核,赢得工具 | 下载SCCT | English | 
函数名称:mp_irqdomain_alloc
函数原型:int mp_irqdomain_alloc(struct irq_domain *domain, unsigned int virq, unsigned int nr_irqs, void *arg)
返回类型:int
参数:
| 类型 | 参数 | 名称 | 
|---|---|---|
| struct irq_domain * | domain | |
| unsigned int | virq | |
| unsigned int | nr_irqs | |
| void * | arg | 
| 2986 | irq_data等于q_domain_get_irq_data - Get irq_data associated with @virq and @domain*@domain: domain to match*@virq: IRQ number to get irq_data | 
| 2990 | ioapic等于mp_irqdomain_ioapic_idx(domain) | 
| 2991 | pin等于ioapic_pin | 
| 2992 | 如果q_find_mapping() - Find a linux irq from a hw irq number.*@domain: domain owning this hardware interrupt*@hwirq: hardware irq number in that domain space大于0则返回:负EEXIST | 
| 2999 | ioapic_entry等于entry | 
| 3001 | 如果ret小于0则 | 
| 3006 | 初始化链表头 | 
| 3007 | 硬件中断号等于ioapic_pin | 
| 3008 | 中断控制器信息等于如果parent恒等于x86_vector_domain则ioapic_chip否则ioapic_ir_chip | 
| 3010 | 和中断控制器相关的私有数据等于data | 
| 3011 | mp_irqdomain_get_attr(mp_pin_to_gsi(ioapic, pin), data, info) | 
| 3014 | add_pin_to_irq_node(data, ioapic_alloc_attr_node(info), ioapic, pin) | 
| 3016 | local_irq_save(flags) | 
| 3017 | 如果ioapic_entry则mp_setup_entry(cfg, data, ioapic_entry) | 
| 3019 | mp_register_handler(virq, trigger) | 
| 3020 | 如果virq小于nr_legacy_irqs()则mask(virq) | 
| 3022 | local_irq_restore(flags) | 
| 3024 | Define the default level of output to be very little* This can be turned up by using apic=verbose for more* information and apic=debug for _lots_ of information.* apic_verbosity is defined in apic.c(APIC_VERBOSE, debug-level messages "IOAPIC[%d]: Set routing entry (%d-%d -> 0x%x -> IRQ %d Mode:%i Active:%i Dest:%d)\n", ioapic, mpc_ioapic_id(ioapic), pin, vector, virq, trigger, polarity, dest_apicid) | 
| 3029 | 返回:0 | 
| 源代码转换工具 开放的插件接口  | X | 
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码  |