[3] | 1 | ; File name : Interrupts.inc
|
---|
| 2 | ; Project name : IDE BIOS
|
---|
| 3 | ; Created date : 29.7.2007
|
---|
| 4 | ; Last update : 6.11.2009
|
---|
| 5 | ; Author : Tomi Tilli
|
---|
| 6 | ; Description : Equates for Interrupts.
|
---|
| 7 | %ifndef INTERRUPTS_INC
|
---|
| 8 | %define INTERRUPTS_INC
|
---|
| 9 |
|
---|
| 10 | ; 8259 Master and Slave Interrupt Controller Ports
|
---|
| 11 | RPORT_8259MA_IRR_ISR EQU 20h ; Master 8259 Read IRR / ISR
|
---|
| 12 | WPORT_8259MA_COMMAND EQU 20h ; Master 8259 Write command
|
---|
| 13 | WPORT_8259MA_INIT EQU 21h ; Master 8259 Write Init command
|
---|
| 14 | PORT_8259MA_IMR EQU 21h ; Master 8259 IMR
|
---|
| 15 | RPORT_8259SL_IRR_ISR EQU 0A0h ; Slave 8259 Read IRR / ISR
|
---|
| 16 | WPORT_8259SL_COMMAND EQU 0A0h ; Slave 8259 Write command
|
---|
| 17 | WPORT_8259SL_INIT EQU 0A1h ; Slave 8259 Write Init command
|
---|
| 18 | PORT_8259SL_IMR EQU 0A1h ; Slave 8259 IMR
|
---|
| 19 |
|
---|
| 20 | ; Valid commands to port 20h (master, WPORT_8259MA_COMMAND)
|
---|
| 21 | ; and A0h (slave, WPORT_8259SL_COMMAND)
|
---|
| 22 | CMD_ROT_IN_AUTO_EOI_MODE_CLEAR EQU 000h
|
---|
| 23 | CMD_READ_IRR EQU 00Ah
|
---|
| 24 | CMD_READ_ISR EQU 00Bh
|
---|
| 25 | CMD_END_OF_INTERRUPT EQU 020h
|
---|
| 26 | CMD_NO_OPERATION EQU 040h
|
---|
| 27 | CMD_CLEAR_SPECIAL_MASK_MODE EQU 048h
|
---|
| 28 | CMD_SPEC_EOI_IRQ0 EQU 060h
|
---|
| 29 | CMD_SPEC_EOI_IRQ1 EQU 061h
|
---|
| 30 | CMD_SPEC_EOI_IRQ2 EQU 062h
|
---|
| 31 | CMD_SPEC_EOI_IRQ3 EQU 063h
|
---|
| 32 | CMD_SPEC_EOI_IRQ4 EQU 064h
|
---|
| 33 | CMD_SPEC_EOI_IRQ5 EQU 065h
|
---|
| 34 | CMD_SPEC_EOI_IRQ6 EQU 066h
|
---|
| 35 | CMD_SPEC_EOI_IRQ7 EQU 067h
|
---|
| 36 | CMD_SET_SPECIAL_MASK_MODE EQU 068h
|
---|
| 37 | CMD_ROT_IN_AUTO_EOI_MODE_SET EQU 080h
|
---|
| 38 | CMD_ROT_ON_NONSPEC_EOI EQU 0A0h
|
---|
| 39 | CMD_IRQ0_LOWST_PRIO EQU 0C0h
|
---|
| 40 | CMD_IRQ1_LOWST_PRIO EQU 0C1h
|
---|
| 41 | CMD_IRQ2_LOWST_PRIO EQU 0C2h
|
---|
| 42 | CMD_IRQ3_LOWST_PRIO EQU 0C3h
|
---|
| 43 | CMD_IRQ4_LOWST_PRIO EQU 0C4h
|
---|
| 44 | CMD_IRQ5_LOWST_PRIO EQU 0C5h
|
---|
| 45 | CMD_IRQ6_LOWST_PRIO EQU 0C6h
|
---|
| 46 | CMD_IRQ7_LOWST_PRIO EQU 0C7h
|
---|
| 47 | CMD_EOI_AND_IRQ0_LOWST_PRIO EQU 0E0h
|
---|
| 48 | CMD_EOI_AND_IRQ1_LOWST_PRIO EQU 0E1h
|
---|
| 49 | CMD_EOI_AND_IRQ2_LOWST_PRIO EQU 0E2h
|
---|
| 50 | CMD_EOI_AND_IRQ3_LOWST_PRIO EQU 0E3h
|
---|
| 51 | CMD_EOI_AND_IRQ4_LOWST_PRIO EQU 0E4h
|
---|
| 52 | CMD_EOI_AND_IRQ5_LOWST_PRIO EQU 0E5h
|
---|
| 53 | CMD_EOI_AND_IRQ6_LOWST_PRIO EQU 0E6h
|
---|
| 54 | CMD_EOI_AND_IRQ7_LOWST_PRIO EQU 0E7h
|
---|
| 55 |
|
---|
| 56 |
|
---|
| 57 | ; Interrupt Vector Table
|
---|
| 58 | INTV_IRQ0 EQU 08h ; System timer
|
---|
| 59 | INTV_IRQ1 EQU 09h ; Keyboard
|
---|
| 60 | INTV_IRQ2 EQU 0Ah
|
---|
| 61 | INTV_IRQ3 EQU 0Bh
|
---|
| 62 | INTV_IRQ4 EQU 0Ch
|
---|
| 63 | INTV_IRQ5 EQU 0Dh
|
---|
| 64 | INTV_IRQ6 EQU 0Eh
|
---|
| 65 | INTV_IRQ7 EQU 0Fh
|
---|
| 66 | INTV_EQUIPMENT_CONF EQU 11h ; Equipment configuration
|
---|
| 67 | INTV_MEMORY_SIZE EQU 12h ; Base memory size
|
---|
| 68 | INTV_DISK_FUNC EQU 13h ; Disk functions
|
---|
| 69 | INTV_SYSTEM_SERVICES EQU 15h ; Different system functions
|
---|
| 70 | INTV_KEYBOARD_FUNC EQU 16h ; Keyboard functions
|
---|
| 71 | INTV_BOOT_FAILURE EQU 18h ; Process Boot Failure
|
---|
| 72 | INTV_BOOTSTRAP EQU 19h ; Boot Strap Loader
|
---|
| 73 | INTV_TIME_OF_DAY EQU 1Ah ; Time of day functions
|
---|
| 74 | INTV_KEYB_BREAK EQU 1Bh ; Keyboard break
|
---|
| 75 | INTV_USER_TIMER_TICK EQU 1Ch ; User timer tick
|
---|
| 76 | INTV_DPT EQU 1Eh ; Diskette Parameter Table
|
---|
| 77 | INTV_FLOPPY_FUNC EQU 40h ; Floppy functions
|
---|
| 78 | INTV_HD0DPT EQU 41h ; Ptr to HD0 Disk Parameter Table
|
---|
| 79 | INTV_HD1DPT EQU 46h ; Ptr to HD1 Disk Parameter Table
|
---|
| 80 | INTV_USERS_ALARM EQU 4Ah ; Users alarm
|
---|
| 81 | INTV_IRQ8 EQU 70h
|
---|
| 82 | INTV_IRQ9 EQU 71h
|
---|
| 83 | INTV_IRQ10 EQU 72h
|
---|
| 84 | INTV_IRQ11 EQU 73h
|
---|
| 85 | INTV_IRQ12 EQU 74h
|
---|
| 86 | INTV_IRQ13 EQU 75h
|
---|
| 87 | INTV_IRQ14 EQU 76h
|
---|
| 88 | INTV_IRQ15 EQU 77h
|
---|
| 89 |
|
---|
| 90 |
|
---|
| 91 | %endif ; INTERRUPTS_INC
|
---|