Rev 6793 | Rev 8050 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6793 | Rev 6817 | ||
---|---|---|---|
Line 3... | Line 3... | ||
3 | ;; Copyright (C) KolibriOS team 2004-2016. All rights reserved. ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2016. All rights reserved. ;; |
4 | ;; Distributed under terms of the GNU General Public License. ;; |
4 | ;; Distributed under terms of the GNU General Public License. ;; |
5 | ;; ;; |
5 | ;; ;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 7... | Line 7... | ||
7 | 7 | ||
Line 8... | Line 8... | ||
8 | $Revision: 6793 $ |
8 | $Revision: 6817 $ |
9 | 9 | ||
10 | align 4 ;3A08 |
10 | align 4 ;3A08 |
11 | build_interrupt_table: |
11 | build_interrupt_table: |
Line 56... | Line 56... | ||
56 | dw 2*($-sys_int-4)-1 |
56 | dw 2*($-sys_int-4)-1 |
57 | dd idts ;0x8000B100 |
57 | dd idts ;0x8000B100 |
58 | dw 0 ;просто выравнивание |
58 | dw 0 ;просто выравнивание |
Line 59... | Line 59... | ||
59 | 59 | ||
60 | msg_fault_sel dd msg_exc_8,msg_exc_u,msg_exc_a,msg_exc_b |
60 | msg_fault_sel dd msg_exc_8,msg_exc_u,msg_exc_a,msg_exc_b |
- | 61 | dd msg_exc_c,msg_exc_d,msg_exc_e,msg_exc_u |
|
Line 61... | Line 62... | ||
61 | dd msg_exc_c,msg_exc_d,msg_exc_e |
62 | dd msg_exc_u,msg_exc_11 |
62 | 63 | ||
63 | msg_exc_8 db "Double fault", 0 |
64 | msg_exc_8 db "Double fault", 0 |
64 | msg_exc_u db "Undefined Exception", 0 |
65 | msg_exc_u db "Undefined Exception", 0 |
65 | msg_exc_a db "Invalid TSS", 0 |
66 | msg_exc_a db "Invalid TSS", 0 |
66 | msg_exc_b db "Segment not present", 0 |
67 | msg_exc_b db "Segment not present", 0 |
67 | msg_exc_c db "Stack fault", 0 |
68 | msg_exc_c db "Stack fault", 0 |
- | 69 | msg_exc_d db "General protection fault", 0 |
|
Line 68... | Line 70... | ||
68 | msg_exc_d db "General protection fault", 0 |
70 | msg_exc_e db "Page fault", 0 |
69 | msg_exc_e db "Page fault", 0 |
71 | msg_exc_11 db "Alignment Check", 0 |
70 | 72 | ||
71 | if lang eq sp |
73 | if lang eq sp |
Line 219... | Line 221... | ||
219 | else |
221 | else |
220 | DEBUGF 1, "K : Process - forced terminate PID: %x [%s]\n", [edx+TASKDATA.pid], [current_slot] |
222 | DEBUGF 1, "K : Process - forced terminate PID: %x [%s]\n", [edx+TASKDATA.pid], [current_slot] |
221 | end if |
223 | end if |
222 | cmp bl, 0x08 |
224 | cmp bl, 0x08 |
223 | jb .l0 |
225 | jb .l0 |
224 | cmp bl, 0x0e |
226 | cmp bl, 0x11 |
225 | jbe .l1 |
227 | jbe .l1 |
226 | .l0: |
228 | .l0: |
227 | mov bl, 0x09 |
229 | mov bl, 0x09 |
228 | .l1: |
230 | .l1: |
229 | mov eax, [msg_fault_sel+ebx*4 - 0x08*4] |
231 | mov eax, [msg_fault_sel+ebx*4 - 0x08*4] |