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 |
---|