函数逻辑报告 |
Source Code:arch\x86\kernel\apic\io_apic.c |
Create Date:2022-07-27 09:29:39 |
Last Modify:2020-03-16 21:24:45 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称: to set the IO-APIC physical IDs based on the* values stored in the MPC table.* by Matt Domsch <Matt_Domsch@dell.com> Tue Dec 21 12:25:05 CST 1999
函数原型:void __init setup_ioapic_ids_from_mpc_nocheck(void)
返回类型:void
参数:无
1480 | raw_spin_lock_irqsave( & ioapic_lock, flags) |
1481 | raw等于io_apic_read(ioapic_idx, 0) |
1482 | raw_spin_unlock_irqrestore( & ioapic_lock, flags) |
1484 | old_id等于mpc_ioapic_id(ioapic_idx) |
1487 | printk(r conditions "BIOS bug, IO-APIC#%d ID is %d in the MPC table!...\n", ioapic_idx, mpc_ioapic_id(ioapic_idx)) |
1489 | printk(r conditions "... fixing up to %d. (tell your hw vendor)\n", ID) |
1499 | 如果check_apicid_used( & phys_id_present_map, mpc_ioapic_id(ioapic_idx))则 |
1501 | printk(r conditions "BIOS bug, IO-APIC#%d ID %d is already used!...\n", ioapic_idx, mpc_ioapic_id(ioapic_idx)) |
1503 | 以i小于get_physical_broadcast - Get number of physical broadcast IDs循环如果非physid_isset(i, phys_id_present_map)则 |
1505 | 退出 |
1508 | printk(r conditions "... fixing up to %d. (tell your hw vendor)\n", i) |
1510 | physid_set(i, phys_id_present_map) |
1512 | 否则 |
1514 | apicid_to_cpu_present(mpc_ioapic_id(ioapic_idx), & tmp) |
1526 | 如果old_id不等于mpc_ioapic_id(ioapic_idx)则以i小于# of MP IRQ source entries 循环 |
1528 | 如果dstapic恒等于old_id则dstapic等于mpc_ioapic_id(ioapic_idx) |
1536 | 如果mpc_ioapic_id(ioapic_idx)恒等于ID则继续下一循环 |
1539 | 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, formational "...changing IO-APIC physical APIC ID to %d ...", mpc_ioapic_id(ioapic_idx)) |
1543 | ID等于mpc_ioapic_id(ioapic_idx) |
1544 | raw_spin_lock_irqsave( & ioapic_lock, flags) |
1545 | io_apic_write(ioapic_idx, 0, raw) |
1546 | raw_spin_unlock_irqrestore( & ioapic_lock, flags) |
1551 | raw_spin_lock_irqsave( & ioapic_lock, flags) |
1552 | raw等于io_apic_read(ioapic_idx, 0) |
1553 | raw_spin_unlock_irqrestore( & ioapic_lock, flags) |
1554 | 如果ID不等于mpc_ioapic_id(ioapic_idx)则打印标准信息("could not set ID!\n") |
名称 | 描述 |
---|---|
setup_ioapic_ids_from_mpc |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |