Function report |
Source Code:arch\x86\kernel\i8259.c |
Create Date:2022-07-28 07:40:47 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:This is the 'legacy' 8259A Programmable Interrupt Controller,* present in the majority of PC/AT boxes.* plus some generic x86 specific things if generic specifics makes* any sense at all.
Proto:static void init_8259A(int auto_eoi)
Type:void
Parameter:
| Type | Parameter | Name |
|---|---|---|
| int | auto_eoi |
| 331 | i8259A_auto_eoi = auto_eoi |
| 333 | raw_spin_lock_irqsave( & i8259A_lock, flags) |
| 335 | Basic port I/O |
| 340 | outb_pic(0x11, 8259A PIC registers ) |
| 343 | outb_pic(Vectors 0x30-0x3f are used for ISA interrupts.* round up to the next 16-vector boundary(0), PIC_MASTER_IMR) |
| 346 | outb_pic(1U << 8259A PIC related value , PIC_MASTER_IMR) |
| 348 | If auto_eoi Then outb_pic(MASTER_ICW4_DEFAULT | PIC_ICW4_AEOI, PIC_MASTER_IMR) |
| 350 | Else outb_pic(MASTER_ICW4_DEFAULT, PIC_MASTER_IMR) |
| 353 | outb_pic(0x11, PIC_SLAVE_CMD) |
| 356 | outb_pic(Vectors 0x30-0x3f are used for ISA interrupts.* round up to the next 16-vector boundary(8), PIC_SLAVE_IMR) |
| 362 | If auto_eoi Then irq_mask_ack = disable_8259A_irq |
| 371 | 0x10c7 is 2**32 / 1000000 (rounded up) (100) |
| 373 | Basic port I/O |
| 374 | Basic port I/O |
| 376 | raw_spin_unlock_irqrestore( & i8259A_lock, flags) |
| Name | Describe |
|---|---|
| i8259A_resume |
| 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 |