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 |