Subversion Repositories Kolibri OS

Rev

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

Rev 9742 Rev 9743
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: 9742 $
8
$Revision: 9743 $
9
 
9
 
10
align 4 ;3A08
10
align 4 ;3A08
11
build_interrupt_table:
11
build_interrupt_table:
Line 615... Line 615...
615
        call    free_page
615
        call    free_page
616
@@:
616
@@:
617
        lea     ebx, [edi + APPDATA.list]
617
        lea     ebx, [edi + APPDATA.list]
618
        list_del ebx                    ;destroys edx, ecx
618
        list_del ebx                    ;destroys edx, ecx
Line 619... Line -...
619
 
-
 
620
        mov     eax, 0x20202020
-
 
621
        stosd
-
 
622
        stosd
-
 
623
        stosd
-
 
624
        mov     ecx, 244/4
-
 
625
        xor     eax, eax
-
 
626
        rep stosd
-
 
627
 
619
 
628
  ; activate window
620
  ; activate window
629
        movzx   eax, word [WIN_STACK + esi*2]
621
        movzx   eax, word [WIN_STACK + esi*2]
630
        cmp     eax, [thread_count]
622
        cmp     eax, [thread_count]
631
        jne     .dont_activate
623
        jne     .dont_activate
Line 670... Line 662...
670
        mov     edx, esi
662
        mov     edx, esi
671
        shl     edx, BSF sizeof.APPDATA
663
        shl     edx, BSF sizeof.APPDATA
672
        mov     edx, [SLOT_BASE + edx + APPDATA.tid]
664
        mov     edx, [SLOT_BASE + edx + APPDATA.tid]
Line 673... Line 665...
673
 
665
 
674
  rmpr0:
-
 
675
 
666
  rmpr0:
Line 676... Line 667...
676
        mov     esi, [RESERVED_PORTS]
667
        mov     esi, [RESERVED_PORTS]
677
 
668
 
Line 691... Line 682...
691
        jnz     rmpr3
682
        jnz     rmpr3
Line 692... Line 683...
692
 
683
 
Line 693... Line 684...
693
        jmp     rmpr9
684
        jmp     rmpr9
694
 
-
 
695
  rmpr4:
-
 
696
        push    eax edx ebp  ;TODO: check using register ebp in next code
-
 
697
        mov     eax, [edi + 4]
-
 
698
        mov     edx, [edi + 8]
-
 
699
        xor     ebp, ebp
-
 
700
        inc     ebp
-
 
Line 701... Line 685...
701
        call    new_port_access_disable
685
 
702
        pop     ebp edx eax
686
  rmpr4:
703
 
687
 
Line 713... Line 697...
713
        dec     dword [RESERVED_PORTS]
697
        dec     dword [RESERVED_PORTS]
Line 714... Line 698...
714
 
698
 
Line 715... Line 699...
715
        jmp     rmpr0
699
        jmp     rmpr0
716
 
-
 
717
  rmpr9:
700
 
-
 
701
  rmpr9:
-
 
702
        popa
-
 
703
 
-
 
704
; clearing APPDATA structure this thread
-
 
705
        pushad
-
 
706
        mov     edi, esi
-
 
707
        shl     edi, BSF sizeof.APPDATA
-
 
708
        add     edi, SLOT_BASE
-
 
709
        mov     eax, 0x20202020
-
 
710
        stosd
-
 
711
        stosd
-
 
712
        stosd
-
 
713
        mov     ecx, 244/4
-
 
714
        xor     eax, eax
-
 
715
        rep stosd
718
 
716
        popad
719
        popa
717
 
720
        mov     edi, esi ; do not run this process slot
718
        mov     edi, esi ; do not run this process slot
721
        shl     edi, BSF sizeof.APPDATA
719
        shl     edi, BSF sizeof.APPDATA
722
        mov     [SLOT_BASE + edi + APPDATA.state], TSTATE_FREE
720
        mov     [SLOT_BASE + edi + APPDATA.state], TSTATE_FREE