Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:arch\x86\kernel\apic\io_apic.c Create Date:2022-07-28 08:30:31
Last Modify:2020-03-16 21:24:45 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:mp_irqdomain_create

Proto:static int mp_irqdomain_create(int ioapic)

Type:int

Parameter:

TypeParameterName
intioapic
2301  hwirqs = mp_ioapic_pin_count(ioapic)
2302  ip = ioapics[ioapic]
2303  cfg = irqdomain_cfg
2304  gsi_cfg = mp_ioapic_gsi_routing(ioapic)
2306  name = "IO-APIC"
2308  If type == IOAPIC_DOMAIN_INVALID Then Return 0
2311  init_irq_alloc_info( & info, NULL)
2312  type = X86_IRQ_ALLOC_TYPE_IOAPIC
2313  ioapic_id = mpc_ioapic_id(ioapic)
2314  parent = irq_remapping_get_ir_irq_domain( & info)
2315  If Not parent Then parent = x86_vector_domain
2317  Else name = "IO-APIC-IR"
2321  If dev Then
2322  fn = of_node_to_fwnode(dev)
2323  Else
2324  fn = irq_domain_alloc_named_id_fwnode(name, ioapic)
2325  If Not fn Then Return -ENOMEM
2329  irqdomain = irq_domain_create_linear(fn, hwirqs, ops, (void * )(long)ioapic)
2333  If Not dev Then q_domain_free_fwnode - Free a non-OF-backed fwnode_handle* Free a fwnode_handle allocated with irq_domain_alloc_fwnode.
2336  If Not irqdomain Then Return -ENOMEM
2339  parent = parent
2341  If type == IOAPIC_DOMAIN_LEGACY || type == IOAPIC_DOMAIN_STRICT Then ioapic_dynirq_base = max - return maximum of two values of the same or compatible types*@x: first value*@y: second value(ioapic_dynirq_base, gsi_end + 1)
2346  Return 0
Caller
NameDescribe
setup_IO_APIC
mp_register_ioapicmp_register_ioapic - Register an IOAPIC device*@id: hardware IOAPIC ID*@address: physical address of IOAPIC register area*@gsi_base: base of GSI associated with the IOAPIC*@cfg: configuration information for the IOAPIC