Subversion Repositories Kolibri OS

Rev

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

Rev 4700 Rev 5130
Line 3... Line 3...
3
;; Copyright (C) KolibriOS team 2004-2012. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2004-2012. All rights reserved. ;;
4
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa      ;;
4
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa      ;;
5
;; Distributed under terms of the GNU General Public License    ;;
5
;; Distributed under terms of the GNU General Public License    ;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 7... Line 7...
7
 
7
 
Line 8... Line 8...
8
$Revision: 4700 $
8
$Revision: 5130 $
9
 
9
 
10
 
10
 
Line 102... Line 102...
102
        mov     esp, [ebx+APPDATA.saved_esp]
102
        mov     esp, [ebx+APPDATA.saved_esp]
103
; set new thread io-map
103
; set new thread io-map
104
        Mov     dword [page_tabs+((tss._io_map_0 and -4096) shr 10)],eax,[ebx+APPDATA.io_map]
104
        Mov     dword [page_tabs+((tss._io_map_0 and -4096) shr 10)],eax,[ebx+APPDATA.io_map]
105
        Mov     dword [page_tabs+((tss._io_map_1 and -4096) shr 10)],eax,[ebx+APPDATA.io_map+4]
105
        Mov     dword [page_tabs+((tss._io_map_1 and -4096) shr 10)],eax,[ebx+APPDATA.io_map+4]
106
; set new thread memory-map
106
; set new thread memory-map
107
        mov     ecx, APPDATA.dir_table
107
        mov     eax, [ebx+APPDATA.process]
108
        mov     eax, [ebx+ecx]      ;offset>0x7F
-
 
109
        cmp     eax, [esi+ecx]      ;offset>0x7F
108
        cmp     eax, [current_process]
110
        je      @f
109
        je      @f
-
 
110
        mov     [current_process], eax
-
 
111
        mov     eax, [eax+PROC.pdt_0_phys]
111
        mov     cr3, eax
112
        mov     cr3, eax
112
@@:
113
@@:
113
; set tss.esp0
114
; set tss.esp0
Line 114... Line 115...
114
 
115
 
Line 140... Line 141...
140
      ; set debug-registers, if it's necessary
141
      ; set debug-registers, if it's necessary
141
        test    byte[ebx+APPDATA.dbg_state], 1
142
        test    byte[ebx+APPDATA.dbg_state], 1
142
        jz      @f
143
        jz      @f
143
        xor     eax, eax
144
        xor     eax, eax
144
        mov     dr6, eax
145
        mov     dr6, eax
145
        lea     esi, [ebx+ecx+APPDATA.dbg_regs-APPDATA.dir_table];offset>0x7F
146
        lea     esi, [ebx+APPDATA.dbg_regs]
146
        cld
147
        cld
147
  macro lodsReg [reg] {
148
  macro lodsReg [reg] {
148
        lodsd
149
        lodsd
149
        mov     reg, eax
150
        mov     reg, eax
150
  }     lodsReg dr0, dr1, dr2, dr3, dr7
151
  }     lodsReg dr0, dr1, dr2, dr3, dr7