函数逻辑报告 | 
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 插件可实现:逻辑报告 代码生成和批量转换代码  |