函数逻辑报告 |
Source Code:arch\x86\kernel\apic\io_apic.c |
Create Date:2022-07-27 09:30:17 |
Last Modify:2020-03-16 21:24:45 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:mp_register_ioapic - Register an IOAPIC device*@id: hardware IOAPIC ID*@address: physical address of IOAPIC register area*@gsi_base: base of GSI associated with the IOAPIC*@cfg: configuration information for the IOAPIC
函数原型:int mp_register_ioapic(int id, unsigned int address, unsigned int gsi_base, struct ioapic_domain_cfg *cfg)
返回类型:int
参数:
类型 | 参数 | 名称 |
---|---|---|
int | id | |
unsigned int | address | |
unsigned int | gsi_base | |
struct ioapic_domain_cfg * | cfg |
2796 | hotplug等于非非ioapic_initialized |
2801 | 如果非address则 |
2805 | for_each_ioapic(ioapic) |
2812 | idx等于find_free_ioapic_entry() |
2813 | 如果idx大于等于MAX_IO_APICS则 |
2814 | 打印警告信息("Max # of I/O APICs (%d) exceeded (found %d), skipping\n", MAX_IO_APICS, idx) |
2816 | 返回:负ENOSPC |
2820 | flags等于MPC_APIC_USABLE |
2824 | 如果bad_ioapic_register(idx)则 |
2825 | clear_fixmap(FIX_IO_APIC_BASE_0 + idx) |
2826 | 返回:负ENODEV |
2829 | apicid等于io_apic_unique_id(idx, id) |
2830 | apicver等于io_apic_get_version(idx) |
2836 | entries等于io_apic_get_redir_entries(idx) |
2839 | gsi_cfg等于mp_ioapic_gsi_routing(ioapic) |
2844 | 打印警告信息("GSI range [%u-%u] for new IOAPIC conflicts with GSI[%u-%u]\n", gsi_base, gsi_end, gsi_base, gsi_end) |
2847 | clear_fixmap(FIX_IO_APIC_BASE_0 + idx) |
2848 | 返回:负ENOSPC |
2851 | gsi_cfg等于mp_ioapic_gsi_routing(idx) |
2855 | irqdomain = NULL |
2856 | irqdomain_cfg等于cfg |
2863 | 如果hotplug则 |
2864 | 如果mp_irqdomain_create(idx)则 |
2865 | clear_fixmap(FIX_IO_APIC_BASE_0 + idx) |
2866 | 返回:负ENOMEM |
2871 | 如果gsi_end大于等于The one past the highest gsi number used 则The one past the highest gsi number used 等于gsi_end加1 |
2873 | 如果nr_ioapics小于等于idx则nr_ioapics等于idx加1 |
2879 | 打印信息("IOAPIC[%d]: apic_id %d, version %d, address 0x%x, GSI %d-%d\n", idx, mpc_ioapic_id(idx), mpc_ioapic_ver(idx), mpc_ioapic_addr(idx), gsi_base, gsi_end) |
2884 | 返回:0 |
名称 | 描述 |
---|---|
jailhouse_get_smp_config |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |