/kernel/trunk/core/apic.inc |
---|
1,6 → 1,6 |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;; ;; |
;; Copyright (C) KolibriOS team 2004-2020. All rights reserved. ;; |
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; |
;; Distributed under terms of the GNU General Public License ;; |
;; ;; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
/kernel/trunk/core/clipboard.inc |
---|
1,6 → 1,6 |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;; ;; |
;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;; |
;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;; |
;; Distributed under terms of the GNU General Public License ;; |
;; ;; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
/kernel/trunk/core/conf_lib-sp.inc |
---|
1,6 → 1,6 |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;; ;; |
;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;; |
;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;; |
;; Distributed under terms of the GNU General Public License ;; |
;; ;; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
/kernel/trunk/core/conf_lib.inc |
---|
1,6 → 1,6 |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;; ;; |
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; |
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; |
;; Distributed under terms of the GNU General Public License ;; |
;; ;; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
/kernel/trunk/core/debug.inc |
---|
1,6 → 1,6 |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;; ;; |
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; |
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; |
;; Distributed under terms of the GNU General Public License ;; |
;; ;; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
155,7 → 155,7 |
call get_debuggee_slot |
jc .ret |
shr eax, 8 |
shr eax, BSF sizeof.APPDATA |
cmp eax, [fpu_owner] |
jne @f |
inc bh ; set swap context flag |
162,7 → 162,7 |
@@: |
shl eax, BSF sizeof.APPDATA |
mov edi, esi |
mov eax, [eax+SLOT_BASE+APPDATA.pl0_stack] |
mov eax, [SLOT_BASE + eax + APPDATA.pl0_stack] |
lea esi, [eax+RING0_STACK_SIZE] |
.ring0: |
294,7 → 294,7 |
jnz .okret |
; imul eax, ebp, tss_step/32 |
; and byte [eax + tss_data + TSS._trap], not 1 |
and [ebp + SLOT_BASE+APPDATA.dbg_state], not 1 |
and [SLOT_BASE + ebp + APPDATA.dbg_state], not 1 |
.okret: |
and dword [esp+32], 0 |
sti |
341,7 → 341,7 |
or [eax+10h+2], dx ; set R/W and LEN fields |
; imul eax, ebp, tss_step/32 |
; or byte [eax + tss_data + TSS._trap], 1 |
or [ebp + SLOT_BASE+APPDATA.dbg_state], 1 |
or [SLOT_BASE + ebp + APPDATA.dbg_state], 1 |
jmp .okret |
debug_read_process_memory: |
354,7 → 354,7 |
; destroys all |
call get_debuggee_slot |
jc .err |
shr eax, 8 |
shr eax, BSF sizeof.APPDATA |
mov ecx, edi |
call read_process_memory |
sti |
374,7 → 374,7 |
; destroys all |
call get_debuggee_slot |
jc debug_read_process_memory.err |
shr eax, 8 |
shr eax, BSF sizeof.APPDATA |
mov ecx, edi |
call write_process_memory |
sti |
393,7 → 393,7 |
add edi, 500 ; 5 sec timeout |
.1: |
mov eax, ebp |
shl eax, 8 |
shl eax, BSF sizeof.APPDATA |
mov esi, [SLOT_BASE+eax+APPDATA.dbg_event_mem] |
test esi, esi |
jz .ret |
/kernel/trunk/core/dll.inc |
---|
1,6 → 1,6 |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;; ;; |
;; Copyright (C) KolibriOS team 2004-2020. All rights reserved. ;; |
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; |
;; Distributed under terms of the GNU General Public License. ;; |
;; ;; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
/kernel/trunk/core/export.inc |
---|
1,6 → 1,6 |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;; ;; |
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; |
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; |
;; Distributed under terms of the GNU General Public License ;; |
;; ;; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
/kernel/trunk/core/exports.inc |
---|
1,6 → 1,6 |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;; ;; |
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; |
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; |
;; Distributed under terms of the GNU General Public License ;; |
;; ;; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
/kernel/trunk/core/ext_lib.inc |
---|
1,6 → 1,6 |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;; ;; |
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; |
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; |
;; Distributed under terms of the GNU General Public License ;; |
;; ;; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
/kernel/trunk/core/fpu.inc |
---|
1,6 → 1,6 |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;; ;; |
;; Copyright (C) KolibriOS team 2004-2017. All rights reserved. ;; |
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; |
;; Distributed under terms of the GNU General Public License ;; |
;; ;; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
177,14 → 177,14 |
.save: |
mov [fpu_owner], esi |
shl ecx, 8 |
mov eax, [ecx+SLOT_BASE+APPDATA.fpu_state] |
shl ecx, BSF sizeof.APPDATA |
mov eax, [SLOT_BASE + ecx + APPDATA.fpu_state] |
call save_context |
; first 512 bytes of XSAVE area have the same format as FXSAVE |
shl esi, 8 |
mov esi, [esi+SLOT_BASE+APPDATA.fpu_state] |
shl esi, BSF sizeof.APPDATA |
mov esi, [SLOT_BASE + esi + APPDATA.fpu_state] |
mov ecx, 512/4 |
cld |
rep movsd |
225,13 → 225,13 |
.save: |
mov [fpu_owner], esi |
shl ecx, 8 |
mov eax, [ecx+SLOT_BASE+APPDATA.fpu_state] |
shl ecx, BSF sizeof.APPDATA |
mov eax, [SLOT_BASE + ecx + APPDATA.fpu_state] |
call save_context |
shl esi, 8 |
mov esi, [esi+SLOT_BASE+APPDATA.fpu_state] |
shl esi, BSF sizeof.APPDATA |
mov esi, [SLOT_BASE + esi + APPDATA.fpu_state] |
mov ecx, [xsave_area_size] |
add ecx, 3 |
shr ecx, 2 |
297,8 → 297,8 |
pop ecx |
ret |
.copy: |
shl eax, 8 |
mov edi, [eax+SLOT_BASE+APPDATA.fpu_state] |
shl eax, BSF sizeof.APPDATA |
mov edi, [SLOT_BASE + eax + APPDATA.fpu_state] |
mov ecx, 512/4 |
cld |
rep movsd |
351,8 → 351,8 |
pop ecx |
ret |
.copy: |
shl eax, 8 |
mov edi, [eax+SLOT_BASE+APPDATA.fpu_state] |
shl eax, BSF sizeof.APPDATA |
mov edi, [SLOT_BASE + eax + APPDATA.fpu_state] |
mov ecx, [xsave_area_size] |
add ecx, 3 |
shr ecx, 2 |
375,8 → 375,8 |
cmp ebx, [current_slot_idx] |
je .exit |
shl ebx, 8 |
mov eax, [ebx+SLOT_BASE+APPDATA.fpu_state] |
shl ebx, BSF sizeof.APPDATA |
mov eax, [SLOT_BASE + ebx + APPDATA.fpu_state] |
bt [cpu_caps+(CAPS_OSXSAVE/32)*4], CAPS_OSXSAVE mod 32 |
jnc .no_xsave |
mov ecx, eax |
385,8 → 385,8 |
xsave [ecx] |
mov ebx, [current_slot_idx] |
mov [fpu_owner], ebx |
shl ebx, 8 |
mov ecx, [ebx+SLOT_BASE+APPDATA.fpu_state] |
shl ebx, BSF sizeof.APPDATA |
mov ecx, [SLOT_BASE + ebx + APPDATA.fpu_state] |
xrstor [ecx] |
.exit: |
restore_ring3_context |
398,8 → 398,8 |
fxsave [eax] |
mov ebx, [current_slot_idx] |
mov [fpu_owner], ebx |
shl ebx, 8 |
mov eax, [ebx+SLOT_BASE+APPDATA.fpu_state] |
shl ebx, BSF sizeof.APPDATA |
mov eax, [SLOT_BASE + ebx + APPDATA.fpu_state] |
fxrstor [eax] |
restore_ring3_context |
iret |
408,8 → 408,8 |
fnsave [eax] |
mov ebx, [current_slot_idx] |
mov [fpu_owner], ebx |
shl ebx, 8 |
mov eax, [ebx+SLOT_BASE+APPDATA.fpu_state] |
shl ebx, BSF sizeof.APPDATA |
mov eax, [SLOT_BASE + ebx + APPDATA.fpu_state] |
frstor [eax] |
restore_ring3_context |
iret |
/kernel/trunk/core/heap.inc |
---|
1,6 → 1,6 |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;; ;; |
;; Copyright (C) KolibriOS team 2004-2020. All rights reserved. ;; |
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; |
;; Distributed under terms of the GNU General Public License ;; |
;; ;; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
/kernel/trunk/core/hpet.inc |
---|
1,6 → 1,6 |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;; ;; |
;; Copyright (C) KolibriOS team 2004-2020. All rights reserved. ;; |
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; |
;; Distributed under terms of the GNU General Public License ;; |
;; ;; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
/kernel/trunk/core/irq.inc |
---|
1,6 → 1,6 |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;; ;; |
;; Copyright (C) KolibriOS team 2004-2020. All rights reserved. ;; |
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; |
;; Distributed under terms of the GNU General Public License ;; |
;; ;; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
/kernel/trunk/core/malloc.inc |
---|
1,6 → 1,6 |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;; ;; |
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; |
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; |
;; Distributed under terms of the GNU General Public License ;; |
;; ;; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
/kernel/trunk/core/memory.inc |
---|
1,6 → 1,6 |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;; ;; |
;; Copyright (C) KolibriOS team 2004-2020. All rights reserved. ;; |
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; |
;; Distributed under terms of the GNU General Public License ;; |
;; ;; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
709,7 → 709,7 |
jz .exit |
mov eax, [slot] |
shl eax, 8 |
shl eax, BSF sizeof.APPDATA |
mov eax, [SLOT_BASE+eax+APPDATA.process] |
test eax, eax |
jz .exit |
772,7 → 772,7 |
jz .exit |
mov eax, [slot] |
shl eax, 8 |
shl eax, BSF sizeof.APPDATA |
mov eax, [SLOT_BASE+eax+APPDATA.process] |
test eax, eax |
jz .exit |
864,7 → 864,7 |
cld |
push ebx ecx |
mov eax, [slot] |
shl eax, 8 |
shl eax, BSF sizeof.APPDATA |
mov eax, [SLOT_BASE+eax+APPDATA.process] |
mov eax, [eax+PROC.dlls_list_ptr] |
test eax, eax |
970,8 → 970,8 |
jz .no_pid |
mov [dst_slot], eax |
shl eax, 8 |
mov edi, [eax+SLOT_BASE+APPDATA.ipc_start] ;is ipc area defined? |
shl eax, BSF sizeof.APPDATA |
mov edi, [SLOT_BASE + eax + APPDATA.ipc_start] ;is ipc area defined? |
test edi, edi |
jz .no_ipc_area |
979,7 → 979,7 |
and ebx, 0xFFF |
mov [dst_offset], ebx |
mov esi, [eax+SLOT_BASE+APPDATA.ipc_size] |
mov esi, [SLOT_BASE + eax + APPDATA.ipc_size] |
mov [buf_size], esi |
mov ecx, [ipc_tmp] |
1043,7 → 1043,7 |
mov eax, [dst_slot] |
shl eax, BSF sizeof.APPDATA |
or [eax+SLOT_BASE+APPDATA.occurred_events], EVENT_IPC |
or [SLOT_BASE + eax + APPDATA.occurred_events], EVENT_IPC |
push 0 |
jmp .ret |
.no_pid: |
1303,8 → 1303,6 |
;movsd ; SRV.srv_proc_ex |
xor eax, eax |
mov [esp+SYSCALL_STACK._eax], eax |
ret |
.fail: |
mov [esp+SYSCALL_STACK._eax], eax |
ret |
/kernel/trunk/core/mtrr.inc |
---|
1,6 → 1,6 |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;; ;; |
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; |
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; |
;; Distributed under terms of the GNU General Public License ;; |
;; ;; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
/kernel/trunk/core/peload.inc |
---|
1,6 → 1,6 |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;; ;; |
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; |
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; |
;; Distributed under terms of the GNU General Public License ;; |
;; ;; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
/kernel/trunk/core/sched.inc |
---|
1,6 → 1,6 |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;; ;; |
;; Copyright (C) KolibriOS team 2004-2021. All rights reserved. ;; |
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; |
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa ;; |
;; Distributed under terms of the GNU General Public License ;; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
100,7 → 100,7 |
;param: |
; ebx = address of the APPDATA for incoming task (new) |
;warning: |
; [current_slot_idx] and [TASK_BASE] must be changed before (e.g. in find_next_task) |
; [current_slot_idx] must be changed before (e.g. in find_next_task) |
; [current_slot] is the outcoming (old), and set here to a new value (ebx) |
;scratched: eax,ecx,esi |
mov esi, ebx |
/kernel/trunk/core/slab.inc |
---|
1,6 → 1,6 |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;; ;; |
;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;; |
;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;; |
;; Distributed under terms of the GNU General Public License ;; |
;; ;; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
/kernel/trunk/core/string.inc |
---|
1,6 → 1,6 |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;; ;; |
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; |
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; |
;; Distributed under terms of the GNU General Public License ;; |
;; Author: Kees J. Bot 1 Jan 1994 ;; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
/kernel/trunk/core/sync.inc |
---|
1,6 → 1,6 |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;; ;; |
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; |
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; |
;; Distributed under terms of the GNU General Public License ;; |
;; ;; |
;; Synhronization for MenuetOS. ;; |
270,8 → 270,8 |
jmp start_wait |
ok=$ |
push eax |
mov eax, dword [TASK_BASE+second_base_address] |
mov eax, [eax+TASKDATA.pid] |
mov eax, dword [current_slot] |
mov eax, [eax + APPDATA.tid] |
mov [name], eax |
pop eax |
sti |
304,8 → 304,8 |
{ |
local start_wait,first_wait,inc_counter,end_wait |
push eax |
mov eax, [TASK_BASE+second_base_address] |
mov eax, [eax+TASKDATA.pid] |
mov eax, [current_slot] |
mov eax, [eax + APPDATA.tid] |
start_wait=$ |
cli |
cmp [name], dword 0 |
336,8 → 336,8 |
macro TryWaitSimpleCriticalSection name ;result in eax and in flags |
{ |
local ok,try_end |
mov eax, [CURRENT_TASK+second_base_address] |
mov eax, [eax+TASKDATA.pid] |
mov eax, [current_slot] |
mov eax, [eax + APPDATA.tid] |
cmp [name], eax |
jz ok |
cmp [name], 0 |
/kernel/trunk/core/sys32-sp.inc |
---|
1,6 → 1,6 |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;; ;; |
;; Copyright (C) KolibriOS team 2013-2015. All rights reserved. ;; |
;; Copyright (C) KolibriOS team 2013-2022. All rights reserved. ;; |
;; Distributed under terms of the GNU General Public License ;; |
;; ;; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
/kernel/trunk/core/sys32.inc |
---|
1,6 → 1,6 |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;; ;; |
;; Copyright (C) KolibriOS team 2004-2021. All rights reserved. ;; |
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; |
;; Distributed under terms of the GNU General Public License. ;; |
;; ;; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
288,27 → 288,6 |
test eax, eax |
jnz .error_ESP |
DEBUGF 1, " [ESP+32]: %x\n",[ebx] |
;for input instruction |
mov ebx, [reg_eip+4] |
call .check_ESP |
test eax, eax |
jnz .error_ESP |
DEBUGF 1, "K : [EIP]: %x",[ebx] |
add ebx, 4 |
call .check_ESP |
test eax, eax |
jnz .error_ESP |
DEBUGF 1, " [EIP+4]: %x",[ebx] |
add ebx, 4 |
call .check_ESP |
test eax, eax |
jnz .error_ESP |
DEBUGF 1, " [EIP+8]: %x\n",[ebx] |
add ebx, 4 |
call .check_ESP |
test eax, eax |
jnz .error_ESP |
DEBUGF 1, "K : [EIP+12]: %x\n",[ebx] |
pop edx ecx ebx eax |
ret |
.error_ESP: |
449,19 → 428,19 |
; if the process is in V86 mode... |
mov eax, [.slot] |
shl eax, BSF sizeof.APPDATA |
mov esi, [eax+SLOT_BASE+APPDATA.pl0_stack] |
mov esi, [SLOT_BASE + eax + APPDATA.pl0_stack] |
add esi, RING0_STACK_SIZE |
cmp [eax+SLOT_BASE+APPDATA.saved_esp0], esi |
cmp [SLOT_BASE + eax + APPDATA.saved_esp0], esi |
jz .nov86 |
; ...it has page directory for V86 mode |
mov esi, [eax+SLOT_BASE+APPDATA.saved_esp0] |
mov esi, [SLOT_BASE + eax + APPDATA.saved_esp0] |
mov ecx, [esi+4] |
mov [eax+SLOT_BASE+APPDATA.process], ecx |
mov [SLOT_BASE + eax + APPDATA.process], ecx |
; ...and I/O permission map for V86 mode |
mov ecx, [esi+12] |
mov [eax+SLOT_BASE+APPDATA.io_map], ecx |
mov [SLOT_BASE + eax + APPDATA.io_map], ecx |
mov ecx, [esi+8] |
mov [eax+SLOT_BASE+APPDATA.io_map+4], ecx |
mov [SLOT_BASE + eax + APPDATA.io_map+4], ecx |
.nov86: |
; destroy per-thread kernel objects |
mov esi, [.slot] |
486,7 → 465,7 |
jne @F |
mov [fpu_owner], 2 |
mov eax, [sizeof.APPDATA*2+SLOT_BASE+APPDATA.fpu_state] |
mov eax, [SLOT_BASE + sizeof.APPDATA*2 + APPDATA.fpu_state] |
clts |
bt [cpu_caps], CAPS_SSE |
jnc .no_SSE |
674,7 → 653,7 |
push esi ; remove hd1 & cd & flp reservation |
shl esi, BSF sizeof.APPDATA |
mov esi, [esi + SLOT_BASE + APPDATA.tid] |
mov esi, [SLOT_BASE + esi + APPDATA.tid] |
cmp [cd_status], esi |
jnz @f |
call free_cd_channel |
690,7 → 669,7 |
pusha ; remove all port reservations |
mov edx, esi |
shl edx, BSF sizeof.APPDATA |
mov edx, [edx + SLOT_BASE + APPDATA.tid] |
mov edx, [SLOT_BASE + edx + APPDATA.tid] |
rmpr0: |
733,7 → 712,7 |
popa |
mov edi, esi ; do not run this process slot |
shl edi, BSF sizeof.APPDATA |
mov [edi + SLOT_BASE + APPDATA.state], TSTATE_FREE |
mov [SLOT_BASE + edi + APPDATA.state], TSTATE_FREE |
; debugger test - terminate all debuggees |
mov eax, 2 |
mov ecx, SLOT_BASE+2*sizeof.APPDATA + APPDATA.debugger_slot |
/kernel/trunk/core/syscall.inc |
---|
1,6 → 1,6 |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;; ;; |
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;; |
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; |
;; Distributed under terms of the GNU General Public License ;; |
;; ;; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
/kernel/trunk/core/taskman.inc |
---|
1,6 → 1,6 |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;; ;; |
;; Copyright (C) KolibriOS team 2004-2021. All rights reserved. ;; |
;; Copyright (C) KolibriOS team 2004-2022. All rights reserved. ;; |
;; Distributed under terms of the GNU General Public License. ;; |
;; ;; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
127,7 → 127,7 |
jz .err_0 |
mov [slot], eax |
shl eax, 8 |
shl eax, BSF sizeof.APPDATA |
lea edi, [SLOT_BASE+eax] |
mov [slot_base], edi |
; clean extended information about process |
488,10 → 488,7 |
push ecx |
mov ebx, [thread_count] |
shl ebx, BSF sizeof.APPDATA ; multiply by size |
; add 2*32 cause: |
; [TASK_TABLE; TASK_TABLE + 32) isnt a task actually |
; skip first process in the task table |
;mov ecx, 2*32 ;sizeof.TASKDATA |
mov ecx, sizeof.APPDATA |
.loop: |
499,7 → 496,7 |
;ebx = maximum permitted offset |
cmp [SLOT_BASE + ecx + APPDATA.state], TSTATE_FREE |
jz .endloop ;skip empty slots |
cmp [ecx + SLOT_BASE + APPDATA.tid], eax;check PID |
cmp [SLOT_BASE + ecx + APPDATA.tid], eax |
jz .pid_found |
.endloop: |
add ecx, sizeof.APPDATA |
698,7 → 695,7 |
mov ebx, esi ;ebx=esi - pointer to extended information about current thread |
mov edi, eax |
shl edi, 8 |
shl edi, BSF sizeof.APPDATA |
add edi, SLOT_BASE |
mov edx, edi ;edx=edi - pointer to extended infomation about new thread |
mov ecx, sizeof.APPDATA/4 |
927,16 → 924,16 |
mov ebx, eax |
shl eax, BSF sizeof.APPDATA |
mov [eax+SLOT_BASE+APPDATA.fpu_state], edi |
mov [eax+SLOT_BASE+APPDATA.exc_handler], 0 |
mov [eax+SLOT_BASE+APPDATA.except_mask], 0 |
mov [eax+SLOT_BASE+APPDATA.terminate_protection], 80000001h |
mov [SLOT_BASE + eax + APPDATA.fpu_state], edi |
mov [SLOT_BASE + eax + APPDATA.exc_handler], 0 |
mov [SLOT_BASE + eax + APPDATA.except_mask], 0 |
mov [SLOT_BASE + eax + APPDATA.terminate_protection], 80000001h |
;set default io permission map |
mov ecx, [SLOT_BASE+sizeof.APPDATA+APPDATA.io_map] |
mov [eax+SLOT_BASE+APPDATA.io_map], ecx |
mov [SLOT_BASE + eax + APPDATA.io_map], ecx |
mov ecx, [SLOT_BASE+sizeof.APPDATA+APPDATA.io_map+4] |
mov [eax+SLOT_BASE+APPDATA.io_map+4], ecx |
mov [SLOT_BASE + eax + APPDATA.io_map + 4], ecx |
mov esi, fpu_data |
mov ecx, [xsave_area_size] |
947,20 → 944,20 |
cmp [thread_count], ebx |
adc [thread_count], 0 ; update number of processes |
shl ebx, BSF sizeof.APPDATA |
lea edx, [ebx+SLOT_BASE+APP_EV_OFFSET] |
mov [SLOT_BASE+APPDATA.fd_ev+ebx], edx |
mov [SLOT_BASE+APPDATA.bk_ev+ebx], edx |
lea edx, [SLOT_BASE + ebx + APP_EV_OFFSET] |
mov [SLOT_BASE + ebx + APPDATA.fd_ev], edx |
mov [SLOT_BASE + ebx + APPDATA.bk_ev], edx |
add edx, APP_OBJ_OFFSET-APP_EV_OFFSET |
mov [SLOT_BASE+APPDATA.fd_obj+ebx], edx |
mov [SLOT_BASE+APPDATA.bk_obj+ebx], edx |
mov [SLOT_BASE + ebx + APPDATA.fd_obj], edx |
mov [SLOT_BASE + ebx + APPDATA.bk_obj], edx |
mov ecx, [def_cursor] |
mov [SLOT_BASE+APPDATA.cursor+ebx], ecx |
mov [SLOT_BASE + ebx + APPDATA.cursor], ecx |
mov eax, [pl0_stack] |
mov [SLOT_BASE+APPDATA.pl0_stack+ebx], eax |
mov [SLOT_BASE + ebx + APPDATA.pl0_stack], eax |
add eax, RING0_STACK_SIZE |
mov [SLOT_BASE+APPDATA.saved_esp0+ebx], eax |
mov [SLOT_BASE + ebx + APPDATA.saved_esp0], eax |
push ebx |
stdcall kernel_alloc, maxPathLength |
969,23 → 966,23 |
mov esi, [esi+APPDATA.cur_dir] |
mov ecx, maxPathLength/4 |
mov edi, eax |
mov [ebx+SLOT_BASE+APPDATA.cur_dir], eax |
mov [SLOT_BASE + ebx + APPDATA.cur_dir], eax |
rep movsd |
mov [ebx+SLOT_BASE+APPDATA.event_mask], dword 1+2+4;set default event flags (see 40 function) |
mov [SLOT_BASE + ebx + APPDATA.event_mask], dword 1+2+4;set default event flags (see 40 function) |
inc dword [process_number] |
mov eax, [process_number] |
mov [ebx+SLOT_BASE+APPDATA.tid], eax ;set TID |
mov [SLOT_BASE + ebx + APPDATA.tid], eax ;set TID |
mov eax, [slot] |
mov [ebx+SLOT_BASE+APPDATA.wnd_number], al |
mov [SLOT_BASE + ebx + APPDATA.wnd_number], al |
mov ebx, eax |
shl ebx, BSF sizeof.WDATA |
lea ecx, [draw_data+ebx];ecx - pointer to draw data |
; set window state to 'normal' (non-minimized/maximized/rolled-up) state |
mov [ebx+window_data+WDATA.fl_wstate], WSTATE_NORMAL |
mov [ebx+window_data+WDATA.fl_redraw], 1 |
mov [window_data + ebx + WDATA.fl_wstate], WSTATE_NORMAL |
mov [window_data + ebx + WDATA.fl_redraw], 1 |
;set draw data to full screen |
xor eax, eax |
1031,7 → 1028,7 |
lea edx, [ebx+REG_RET] |
mov ebx, [slot] |
shl ebx, BSF sizeof.APPDATA |
mov [ebx+SLOT_BASE+APPDATA.saved_esp], edx |
mov [SLOT_BASE + ebx + APPDATA.saved_esp], edx |
xor edx, edx; process state - running |
; set if debuggee |
/kernel/trunk/core/test_malloc.asm |
---|
1,6 → 1,6 |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;; ;; |
;; Copyright (C) KolibriOS team 2009-2015. All rights reserved. ;; |
;; Copyright (C) KolibriOS team 2009-2022. All rights reserved. ;; |
;; Distributed under terms of the GNU General Public License ;; |
;; ;; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
/kernel/trunk/core/timers.inc |
---|
1,6 → 1,6 |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;; ;; |
;; Copyright (C) KolibriOS team 2012-2015. All rights reserved. ;; |
;; Copyright (C) KolibriOS team 2012-2022. All rights reserved. ;; |
;; Distributed under terms of the GNU General Public License ;; |
;; ;; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
/kernel/trunk/core/v86.inc |
---|
1,6 → 1,6 |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
;; ;; |
;; Copyright (C) KolibriOS team 2007-2021. All rights reserved. ;; |
;; Copyright (C) KolibriOS team 2007-2022. All rights reserved. ;; |
;; Distributed under terms of the GNU General Public License ;; |
;; ;; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
828,7 → 828,7 |
mov esi, [v86_irqhooks+edi*8] ; get VM handle |
mov eax, [esi+V86_machine.process] |
mov ecx, [current_slot_idx] |
shl ecx, 8 |
shl ecx, BSF sizeof.APPDATA |
cmp [SLOT_BASE+ecx+APPDATA.process], eax |
jnz .notcurrent |
lea eax, [edi+8] |
839,7 → 839,7 |
@@: |
jmp v86_exc_c.simulate_int |
.notcurrent: |
mov ebx, SLOT_BASE + 0x100 |
mov ebx, SLOT_BASE + sizeof.APPDATA |
mov ecx, [thread_count] |
.scan: |
cmp [ebx+APPDATA.process], eax |