arch/x86/include/asm/irqdomain.h

Source file repositories/reference/linux-study-clean/arch/x86/include/asm/irqdomain.h

File Facts

System
Linux kernel
Corpus path
arch/x86/include/asm/irqdomain.h
Extension
.h
Size
1834 bytes
Lines
65
Domain
Architecture Layer
Bucket
arch/x86
Inferred role
Architecture Layer: implementation source
Status
source implementation candidate

Why This File Exists

CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.

Dependency Surface

Detected Declarations

Annotated Snippet

struct ioapic_domain_cfg {
	enum ioapic_domain_type		type;
	const struct irq_domain_ops	*ops;
	struct device_node		*dev;
};

extern const struct irq_domain_ops mp_ioapic_irqdomain_ops;

extern int mp_irqdomain_alloc(struct irq_domain *domain, unsigned int virq,
			      unsigned int nr_irqs, void *arg);
extern void mp_irqdomain_free(struct irq_domain *domain, unsigned int virq,
			      unsigned int nr_irqs);
extern int mp_irqdomain_activate(struct irq_domain *domain,
				 struct irq_data *irq_data, bool reserve);
extern void mp_irqdomain_deactivate(struct irq_domain *domain,
				    struct irq_data *irq_data);
extern int mp_irqdomain_ioapic_idx(struct irq_domain *domain);
#endif /* CONFIG_X86_IO_APIC */

#ifdef CONFIG_PCI_MSI
void x86_create_pci_msi_domain(void);
struct irq_domain *native_create_pci_msi_domain(void);
extern struct irq_domain *x86_pci_msi_default_domain;
#else
static inline void x86_create_pci_msi_domain(void) { }
#define native_create_pci_msi_domain	NULL
#define x86_pci_msi_default_domain	NULL
#endif

#endif

Annotation

Implementation Notes