Function report |
Source Code:arch\x86\kernel\i8259.c |
Create Date:2022-07-28 07:40:44 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:Careful! 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!
Proto:static void mask_and_ack_8259A(struct irq_data *data)
Type:void
Parameter:
Type | Parameter | Name |
---|---|---|
struct irq_data * | data |
156 | raw_spin_lock_irqsave( & i8259A_lock, flags) |
172 | If This contains the irq mask for both 8259A irq controllers, & irqmask Then Go to spurious_8259A_irq |
176 | handle_real_irq : |
177 | If irq & 8 Then |
184 | Else |
189 | raw_spin_unlock_irqrestore( & i8259A_lock, flags) |
190 | Return |
192 | spurious_8259A_irq : |
196 | If 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. Then Go to handle_real_irq |
209 | If Not (spurious_irq_mask & irqmask) Then |
210 | printk(debug-level messages "spurious 8259A interrupt: IRQ%d.\n", irq) |
212 | spurious_irq_mask |= irqmask |
214 | atomic_inc( & irq_err_count) |
220 | Go to handle_real_irq |
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 |