Function report |
Source Code:arch\x86\kernel\apic\io_apic.c |
Create Date:2022-07-28 08:30:09 |
Last Modify:2020-03-16 21:24:45 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name: 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
Proto:void __init setup_ioapic_ids_from_mpc_nocheck(void)
Type:void
Parameter:Nothing
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 | If check_apicid_used( & phys_id_present_map, mpc_ioapic_id(ioapic_idx)) Then |
1501 | printk(r conditions "BIOS bug, IO-APIC#%d ID %d is already used!...\n", ioapic_idx, mpc_ioapic_id(ioapic_idx)) |
1503 | When i < get_physical_broadcast - Get number of physical broadcast IDs cycle If Not physid_isset(i, phys_id_present_map) Then |
1505 | Break |
1508 | printk(r conditions "... fixing up to %d. (tell your hw vendor)\n", i) |
1510 | physid_set(i, phys_id_present_map) |
1512 | Else |
1514 | apicid_to_cpu_present(mpc_ioapic_id(ioapic_idx), & tmp) |
1526 | If old_id != mpc_ioapic_id(ioapic_idx) Then When i < # of MP IRQ source entries cycle |
1528 | If dstapic == old_id Then dstapic = mpc_ioapic_id(ioapic_idx) |
1536 | If mpc_ioapic_id(ioapic_idx) == ID Then Continue |
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 | If ID != mpc_ioapic_id(ioapic_idx) Then Like KERN_CONT, pr_cont() should only be used when continuing* a line with no newline ('\n') enclosed. Otherwise it defaults* back to KERN_DEFAULT.("could not set ID!\n") |
Name | Describe |
---|---|
setup_ioapic_ids_from_mpc |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |