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