Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:arch\x86\kernel\i8259.c Create Date:2022-07-28 07:40:43
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:This function assumes to be called rarely. Switching between* 8259A registers is slow.* This has to be protected by the irq controller spinlock* before being called.

Proto:static inline int i8259A_irq_real(unsigned int irq)

Type:int

Parameter:

TypeParameterName
unsigned intirq
130  irqmask = 1 << irq
132  If irq < 8 Then
133  Basic port I/O
134  value = inb(8259A PIC registers ) & irqmask
135  Basic port I/O
136  Return value
138  Basic port I/O
139  value = inb(PIC_SLAVE_CMD) & irqmask >> 8
140  Basic port I/O
141  Return value
Caller
NameDescribe
mask_and_ack_8259ACareful! The 8259A is a fragile beast, it pretty* much _has_ to be done exactly like this (mask it* first, _then_ send the EOI, and the order of EOI* to the two 8259s is important!