arch/powerpc/include/asm/hw_irq.h
Source file repositories/reference/linux-study-clean/arch/powerpc/include/asm/hw_irq.h
File Facts
- System
- Linux kernel
- Corpus path
arch/powerpc/include/asm/hw_irq.h- Extension
.h- Size
- 12943 bytes
- Lines
- 522
- Domain
- Architecture Layer
- Bucket
- arch/powerpc
- 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.
- CPU and platform-specific kernel glue: boot entry, traps, syscall entry, interrupts, page tables, context switch, and low-level barriers.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/errno.hlinux/compiler.hasm/ptrace.hasm/processor.hasm/paca.h
Detected Declarations
function Copyrightfunction __hard_irq_disablefunction __hard_EE_RI_disablefunction __hard_RI_enablefunction irq_soft_mask_returnfunction irq_soft_mask_setfunction irq_soft_mask_set_returnfunction irq_soft_mask_or_returnfunction irq_soft_mask_andc_returnfunction arch_local_save_flagsfunction arch_local_irq_disablefunction arch_local_irq_enablefunction arch_local_irq_savefunction arch_irqs_disabled_flagsfunction arch_irqs_disabledfunction set_pmi_irq_pendingfunction clear_pmi_irq_pendingfunction pmi_irq_pendingfunction __lazy_irq_pendingfunction lazy_irq_pendingfunction lazy_irq_pending_nocheckfunction should_hard_irq_enablefunction do_hard_irq_enablefunction regs_irqs_disabledfunction irq_soft_mask_regs_set_statefunction irq_soft_mask_returnfunction arch_local_save_flagsfunction arch_local_irq_restorefunction arch_local_irq_savefunction arch_local_irq_disablefunction arch_local_irq_enablefunction arch_irqs_disabled_flagsfunction arch_irqs_disabledfunction regs_irqs_disabledfunction should_hard_irq_enablefunction do_hard_irq_enablefunction clear_pmi_irq_pendingfunction irq_soft_mask_regs_set_state
Annotated Snippet
static inline void clear_pmi_irq_pending(void) { }
static inline void set_pmi_irq_pending(void) { }
static inline bool pmi_irq_pending(void) { return false; }
static inline void irq_soft_mask_regs_set_state(struct pt_regs *regs, unsigned long val)
{
}
#endif /* CONFIG_PPC64 */
static inline unsigned long mtmsr_isync_irqsafe(unsigned long msr)
{
#ifdef CONFIG_PPC64
if (arch_irqs_disabled()) {
/*
* With soft-masking, MSR[EE] can change from 1 to 0
* asynchronously when irqs are disabled, and we don't want to
* set MSR[EE] back to 1 here if that has happened. A race-free
* way to do this is ensure EE is already 0. Another way it
* could be done is with a RESTART_TABLE handler, but that's
* probably overkill here.
*/
msr &= ~MSR_EE;
mtmsr_isync(msr);
irq_soft_mask_set(IRQS_ALL_DISABLED);
local_paca->irq_happened |= PACA_IRQ_HARD_DIS;
} else
#endif
mtmsr_isync(msr);
return msr;
}
#define ARCH_IRQ_INIT_FLAGS IRQ_NOREQUEST
#endif /* __ASSEMBLER__ */
#endif /* __KERNEL__ */
#endif /* _ASM_POWERPC_HW_IRQ_H */
Annotation
- Immediate include surface: `linux/errno.h`, `linux/compiler.h`, `asm/ptrace.h`, `asm/processor.h`, `asm/paca.h`.
- Detected declarations: `function Copyright`, `function __hard_irq_disable`, `function __hard_EE_RI_disable`, `function __hard_RI_enable`, `function irq_soft_mask_return`, `function irq_soft_mask_set`, `function irq_soft_mask_set_return`, `function irq_soft_mask_or_return`, `function irq_soft_mask_andc_return`, `function arch_local_save_flags`.
- Atlas domain: Architecture Layer / arch/powerpc.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.