Subversion Repositories Kolibri OS

Rev

Rev 2104 | Rev 2118 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2104 Rev 2112
Line 9... Line 9...
9
;;  Distributed under GPL. See file COPYING for details.        ;;
9
;;  Distributed under GPL. See file COPYING for details.        ;;
10
;;  Copyright 2003 Ville Turjanmaa                              ;;
10
;;  Copyright 2003 Ville Turjanmaa                              ;;
11
;;                                                              ;;
11
;;                                                              ;;
12
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
12
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 13... Line 13...
13
 
13
 
Line 14... Line 14...
14
$Revision: 2104 $
14
$Revision: 2112 $
15
 
15
 
16
 
16
 
Line 37... Line 37...
37
        dd      e8,e9,e10,e11,e12,e13,page_fault_exc,e15
37
        dd      e8,e9,e10,e11,e12,e13,page_fault_exc,e15
38
        dd      e16, e17,e18, e19
38
        dd      e16, e17,e18, e19
39
        times   12 dd unknown_interrupt ;int_20..int_31
39
        times   12 dd unknown_interrupt ;int_20..int_31
Line 40... Line 40...
40
 
40
 
-
 
41
    ;interrupt handlers addresses (for interrupt gate construction)
41
    ;interrupt handlers addresses (for interrupt gate construction)
42
	; 0x20 .. 0x2F - IRQ handlers
42
        dd      irq0, irq_serv.irq_1, irq_serv.irq_2
-
 
43
;    if  USE_COM_IRQ
43
        dd      irq0, irq_serv.irq_1, irq_serv.irq_2
44
        dd      irq_serv.irq_3, irq_serv.irq_4
-
 
45
;    else
-
 
46
;        dd      p_irq3, p_irq4 ;??? íåñòûêîâêà
-
 
47
;    end if
44
        dd      irq_serv.irq_3, irq_serv.irq_4
48
        dd      irq_serv.irq_5,  irq_serv.irq_6,  irq_serv.irq_7
45
        dd      irq_serv.irq_5,  irq_serv.irq_6,  irq_serv.irq_7
49
        dd      irq_serv.irq_8,  irq_serv.irq_9,  irq_serv.irq_10
46
        dd      irq_serv.irq_8,  irq_serv.irq_9,  irq_serv.irq_10
50
        dd      irq_serv.irq_11, irq_serv.irq_12, irqD, irq_serv.irq_14, irq_serv.irq_15
-
 
Line -... Line 47...
-
 
47
        dd      irq_serv.irq_11, irq_serv.irq_12, irqD, irq_serv.irq_14, irq_serv.irq_15
-
 
48
 
51
        times   16 dd unknown_interrupt ;int_0x30..int_0x3F
49
 
52
 
50
    times 32 - IRQ_RESERVED dd unknown_interrupt
Line 53... Line 51...
53
    ;int_0x40 gate trap (for directly copied)
51
    ;int_0x40 gate trap (for directly copied)
54
        dw      i40 and 0xFFFF, os_code, 11101111b shl 8, i40 shr 16
52
        dw      i40 and 0xFFFF, os_code, 11101111b shl 8, i40 shr 16
Line 184... Line 182...
184
        sub     dword[reg_esp3], 8
182
        sub     dword[reg_esp3], 8
185
        mov     edi, [reg_esp3]
183
        mov     edi, [reg_esp3]
186
        stosd
184
        stosd
187
        mov     [edi], ebx
185
        mov     [edi], ebx
188
        restore_ring3_context
186
        restore_ring3_context
-
 
187
; simply return control to interrupted process
189
unknown_interrupt:
188
unknown_interrupt:
190
        iretd
189
        iretd
Line 191... Line 190...
191
 
190
 
192
;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
191
;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=