Function report |
Source Code:arch\x86\kernel\apic\io_apic.c |
Create Date:2022-07-28 08:29:55 |
| Last Modify:2020-03-16 21:24:45 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:Find a specific PCI IRQ entry.* Not an __init, possibly needed by modules
Proto:int IO_APIC_get_PCI_irq_vector(int bus, int slot, int pin)
Type:int
Parameter:
| Type | Parameter | Name |
|---|---|---|
| int | bus | |
| int | slot | |
| int | pin |
| 1150 | best_ioapic = -1 , best_idx = -1 |
| 1152 | 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_DEBUG, "querying PCI -> IRQ mapping bus:%d, slot:%d, pin:%d.\n", bus, slot, pin) |
| 1156 | 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, "PCI BIOS passed nonexistent PCI bus %d!\n", bus) |
| 1158 | Return -1 |
| 1161 | When i < # of MP IRQ source entries cycle |
| 1163 | found = 0 |
| 1169 | for_each_ioapic(ioapic_idx) |
| 1170 | If mpc_ioapic_id(ioapic_idx) == dstapic || dstapic == MP_APIC_ALL Then |
| 1172 | found = 1 |
| 1173 | Break |
| 1175 | If Not found Then Continue |
| 1179 | irq = pin_2_irq(i, ioapic_idx, dstirq, 0) |
| 1180 | If irq > 0 && Not IO_APIC_IRQ(irq) Then Continue |
| 1193 | If best_idx < 0 Then |
| 1195 | best_ioapic = ioapic_idx |
| 1198 | If best_idx < 0 Then Return -1 |
| 1201 | out : |
| 1202 | Return pin_2_irq(best_idx, best_ioapic, dstirq, IOAPIC_MAP_ALLOC) |
| 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 |