Rev 66 | Rev 101 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 66 | Rev 100 | ||
---|---|---|---|
Line 90... | Line 90... | ||
90 | xor eax, eax |
90 | xor eax, eax |
91 | add ebx, tss0 |
91 | add ebx, tss0 |
92 | mov word [far_jump.sel], bx ; selector |
92 | mov word [far_jump.sel], bx ; selector |
93 | mov dword [far_jump.offs], eax ; offset |
93 | mov dword [far_jump.offs], eax ; offset |
Line -... | Line 94... | ||
- | 94 | ||
- | 95 | cmp [irq0needeoi],byte 0 |
|
- | 96 | mov [irq0needeoi],byte 1 |
|
- | 97 | jz .noeoi |
|
94 | 98 | ||
95 | mov al,0x20 ; send End Of Interrupt signal |
99 | mov al,0x20 ; send End Of Interrupt signal |
96 | mov dx,0x20 |
100 | mov dx,0x20 |
- | 101 | out dx,al |
|
Line 97... | Line 102... | ||
97 | out dx,al |
102 | .noeoi: |
98 | 103 | ||
99 | cmp [0xffff],byte 0 |
104 | cmp [0xffff],byte 0 |
100 | je .switch |
105 | je .switch |
Line 118... | Line 123... | ||
118 | next_usage_update dd ? |
123 | next_usage_update dd ? |
119 | timer_ticks dd ? |
124 | timer_ticks dd ? |
120 | prev_slot dd ? |
125 | prev_slot dd ? |
121 | event_sched dd ? |
126 | event_sched dd ? |
122 | endg |
127 | endg |
- | 128 | iglobal |
|
- | 129 | irq0needeoi db 1 |
|
- | 130 | endg |
|
Line 123... | Line 131... | ||
123 | 131 | ||
124 | 132 | ||
Line -... | Line 133... | ||
- | 133 | align 4 |
|
- | 134 | change_task: |
|
125 | align 4 |
135 | |
Line -... | Line 136... | ||
- | 136 | pushfd |
|
126 | change_task: |
137 | cli |
Line 127... | Line 138... | ||
127 | 138 | mov [0xffff],byte 2 |
|
- | 139 | ||
Line 128... | Line 140... | ||
128 | mov [0xffff],byte 2 |
140 | mov [irq0needeoi],byte 0 |