Subversion Repositories Kolibri OS

Rev

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

Rev 9930 Rev 9932
Line 3... Line 3...
3
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2004-2022. 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: 9930 $
8
$Revision: 9932 $
Line 9... Line 9...
9
 
9
 
Line 396... Line 396...
396
        or      eax, PG_UWR
396
        or      eax, PG_UWR
397
        mov     [edx], eax
397
        mov     [edx], eax
Line 398... Line 398...
398
 
398
 
399
        mov     edi, [tmp_task_ptab]
399
        mov     edi, [tmp_task_ptab]
400
        stdcall map_page, edi, eax, PG_SWR
400
        stdcall map_page, edi, eax, PG_SWR
401
        mov     ecx, 1024
401
        mov     ecx, PAGE_SIZE/4
402
        xor     eax, eax
402
        xor     eax, eax
Line 403... Line 403...
403
        rep stosd
403
        rep stosd
404
 
404
 
Line 1084... Line 1084...
1084
        push    ebx
1084
        push    ebx
1085
        push    ecx
1085
        push    ecx
1086
        mov     ebx, [thread_count]
1086
        mov     ebx, [thread_count]
1087
        shl     ebx, BSF sizeof.APPDATA ; multiply by size
1087
        shl     ebx, BSF sizeof.APPDATA ; multiply by size
1088
        ; skip first process in the task table
1088
        ; skip first process in the task table
-
 
1089
        mov     ecx, SLOT_BASE
-
 
1090
        add     ebx, ecx
1089
.loop:
1091
.loop:
1090
        add     ecx, sizeof.APPDATA
1092
        add     ecx, sizeof.APPDATA
1091
        cmp     [SLOT_BASE + ecx + APPDATA.state], TSTATE_FREE
1093
        cmp     [ecx + APPDATA.state], TSTATE_FREE
1092
        jz      @f  ;skip empty slots
1094
        jz      @f  ;skip empty slots
1093
        cmp     [SLOT_BASE + ecx + APPDATA.tid], eax
1095
        cmp     [ecx + APPDATA.tid], eax
1094
        jz      .pid_found
1096
        jz      .pid_found
1095
        ;ecx = offset of current process info entry
-
 
1096
        ;ebx = maximum permitted offset
-
 
1097
@@:
1097
@@:
1098
        cmp     ecx, ebx
1098
        cmp     ecx, ebx
1099
        jb      .loop
1099
        jb      .loop
Line 1100... Line 1100...
1100
 
1100