X hits on this document

14 views

0 shares

0 downloads

0 comments

5 / 6

CPSC 410/611: Operating Systems

Projects: Exceptions + Interrupts

+

Assigned Interrupt Lines in the PIC

! Master 8259 ! IRQ0 – Intel 8253 or Intel 8254 PIT, aka the system timer ! IRQ1 – Intel 8042 keyboard controller ! IRQ2 – not assigned in PC/XT; cascaded to slave 8259 INT line in PC/AT ! IRQ3 – 8250 UART serial port COM2 and COM4 ! IRQ4 – 8250 UART serial port COM1 and COM3 ! IRQ5 – hard disk controller in PC/XT; Intel 8255 parallel port LPT2 in PC/AT ! IRQ6 – Intel 82072A floppy disk controller ! IRQ7 – Intel 8255 parallel port LPT1 / spurious interrupt ! Slave 8259 (PC/AT and later only) ! IRQ8 – real-time clock (RTC) ! IRQ9 – no common assignment ! IRQ10 – no common assignment ! IRQ11 – no common assignment ! IRQ12 – Intel 8042 PS/2 mouse

controller ! IRQ13 – math coprocessor ! IRQ14 – hard disk controller 1 ! IRQ15 – hard disk controller 2

+

Handling Hardware Interrupts

global _irq0 /*… */ global _irq15

; 32: IRQ0 – start at IDT entry 32 _irq0: cli push byte 0 push byte 32 j m p i r q _ c o m m o n _ s t u b

; 33: IRQ1 _irq1: cli push byte 0 push byte 33 j m p i r q _ c o m m o n _ s t u b

m extern _dispatch_interrupt /* similar to ISRs */ irq_common_stub: pusha push ds push es push fs push gs mov ax, 0x10 mov ds, ax mov es, ax mov fs, ax mov gs, ax mov eax, esp push eax o v e a x , _ d i s p a t c h _ i n t e r r u p call eax pop eax pop gs pop fs pop es pop ds popa add esp, 8 iret t

5

Document info
Document views14
Page views14
Page last viewedFri Dec 09 18:27:54 UTC 2016
Pages6
Paragraphs138
Words1665

Comments