Subversion Repositories Kolibri OS

Rev

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

Rev 345 Rev 357
Line 29... Line 29...
29
        cmp    edi,8*(max_processes+5)
29
        cmp    edi,8*(max_processes+5)
30
        jbe    setgdtl2
30
        jbe    setgdtl2
Line 31... Line 31...
31
 
31
 
Line 32... Line -...
32
        ret
-
 
33
 
32
        ret
Line 34... Line 33...
34
 
33
 
35
build_interrupt_table:
34
build_interrupt_table:
36
 
35
 
Line 621... Line 620...
621
           mov eax, [.slot]
620
           mov eax, [.slot]
622
           shl eax, 8
621
           shl eax, 8
623
           mov eax,[PROC_BASE+eax+APPDATA.dir_table]
622
           mov eax,[PROC_BASE+eax+APPDATA.dir_table]
624
           stdcall destroy_app_space, eax
623
           stdcall destroy_app_space, eax
Line 625... Line 624...
625
 
624
 
626
;;           mov esi, [.slot]
-
 
627
           pop esi               ;restore stack
625
           mov esi, [.slot]
628
           cmp [fpu_owner],esi   ; if user fpu last -> fpu user = 1
626
           cmp [fpu_owner],esi   ; if user fpu last -> fpu user = 1
Line 629... Line 627...
629
           jne fpu_ok_1
627
           jne @F
630
 
628
 
631
           mov [fpu_owner],1
629
           mov [fpu_owner],1
632
           mov eax, [256+PROC_BASE+APPDATA.fpu_state]
630
           mov eax, [256+PROC_BASE+APPDATA.fpu_state]
633
           bt [cpu_caps], CAPS_SSE
631
           bt [cpu_caps], CAPS_SSE
634
           clts
632
           clts
635
           jnc .no_SSE
633
           jnc .no_SSE
636
           fxrstor [eax]
634
           fxrstor [eax]
637
           jmp fpu_ok_1
635
           jmp @F
638
.no_SSE:
636
.no_SSE:
639
           fnclex
637
           fnclex
Line 640... Line 638...
640
           frstor [eax]
638
           frstor [eax]
641
fpu_ok_1:
639
@@:
Line 745... Line 743...
745
    pop  ecx
743
    pop  ecx
746
    pop  ecx
744
    pop  ecx
747
.nodebug:
745
.nodebug:
748
    popad
746
    popad
Line 749... Line 747...
749
 
747
 
750
    pusha         ; at 0x80000+
748
           mov ebx, [.slot]
-
 
749
           shl ebx, 8
-
 
750
           mov ebx,[PROC_BASE+ebx+APPDATA.pl0_stack]
-
 
751
 
-
 
752
           stdcall kernel_free, ebx
-
 
753
 
751
    mov   edi,esi
754
           mov edi, [.slot]
752
    shl   edi,8
755
           shl edi,8
-
 
756
           add edi,0x80000
-
 
757
           mov eax, 0x20202020
-
 
758
           stosd
-
 
759
           stosd
753
    add   edi,0x80000
760
           stosd
754
    mov   ecx,256/4
761
           mov ecx,244/4
755
    xor   eax, eax
762
           xor eax, eax
756
    rep   stosd
-
 
757
    popa
-
 
758
 
-
 
759
    pusha          ; name to spaces
-
 
760
    mov   edi,esi
-
 
761
    shl   edi,8
-
 
762
    add   edi,0x80000+APPDATA.app_name
-
 
763
    mov   ecx,11
-
 
764
    mov   eax,' '
-
 
765
    rep   stosb
-
 
766
    popa
-
 
Line 767... Line 763...
767
 
763
           rep stosd
768
 
764
 
769
  ; activate window
765
  ; activate window
770
        movzx  eax, word [0xC000 + esi*2]
766
        movzx  eax, word [0xC000 + esi*2]
Line 822... Line 818...
822
    mov   [edi-4],dword 0
818
    mov   [edi-4],dword 0
823
  nofreeirq:
819
  nofreeirq:
824
    loop   newirqfree
820
    loop   newirqfree
825
    popa
821
    popa
Line 826... Line -...
826
 
-
 
827
 
822
 
828
    pusha                     ; remove all port reservations
823
    pusha                     ; remove all port reservations
829
    mov   edx,esi
824
    mov   edx,esi
830
    shl   edx, 5
825
    shl   edx, 5
831
    add   edx,0x3000
826
    add   edx,0x3000
Line 908... Line 903...
908
    mov   [0xfff5],byte 0  ; draw mouse
903
    mov   [0xfff5],byte 0  ; draw mouse
Line 909... Line 904...
909
 
904
 
910
    mov   [application_table_status],0
905
    mov   [application_table_status],0
911
    mov   esi,process_terminated
906
    mov   esi,process_terminated
-
 
907
    call  sys_msg_board_str
912
    call  sys_msg_board_str
908
    add esp, 4
913
    ret
909
    ret
Line 914... Line 910...
914
restore .slot
910
restore .slot
915
 
911