Subversion Repositories Kolibri OS

Compare Revisions

Ignore whitespace Rev 7320 → Rev 7321

/data/Tupfile.lua
588,6 → 588,7
{"MOUSECFG", PROGS .. "/cmm/mousecfg/mousecfg.com"},
{"NETWORK/WEBVIEW", PROGS .. "/cmm/browser/WebView.com"},
{"PANELS_CFG", PROGS .. "/cmm/panels_cfg/panels_cfg.com"},
{"@KERNEL", PROGS .. "/cmm/KERNEL/kernel.com"},
})
tup.append_table(extra_files, {
{"kolibrios/drivers/DRVINST.KEX", PROGS .. "/cmm/drvinst/drvinst.com"},
/data/common/settings/AUTORUN.DAT
8,6 → 8,7
#/SYS/DEVELOP/BOARD "" 0 # Load DEBUG board
/SYS/SETUP BOOT 0 # Load device settings
/SYS/LOADDRV RDC 0 # videodriver for RDC M2010/M2012
/SYS/@KERNEL "" 0 # Start modify KERNEL
/SYS/@TASKBAR "" 0 # Start taskbar
/SYS/@ICON "" 0 # Multithread icon
/SYS/ESKIN "" 0 # Set style
/kernel/trunk/core/syscall.inc
191,14 → 191,14
; Return Else EAX > 0 success set function
align 32
setInt0x40:
 
; !!! kernel security !!!
and ebx, 0FFh
mov eax, dword [servetable2 + ebx * 4]
cmp eax, undefined_syscall
jne errorSet0x40
; cmp eax, undefined_syscall
; jne errorSet0x40
; -----------------------
 
pushad
add edx, 16
stdcall kernel_alloc, edx
205,38 → 205,38
push eax
pop dword[tempPointerAlloc]
popad
 
 
push ebx
push dword[tempPointerAlloc]
pop eax
mov ebx, eax
add eax, edx
 
push 0
pop dword[hashDataFunction1]
push 1
pop dword[hashDataFunction2]
 
loopCopyMemory:
xor edx, edx
 
mov dl, byte[ecx]
mov byte[ebx], dl
 
; hash security function
add dword[hashDataFunction1], edx
mov edx, dword[hashDataFunction1]
add dword[hashDataFunction2], edx
;-----------------------------
 
inc ebx
inc ecx
cmp ebx, eax
jne loopCopyMemory
 
pop ebx
 
; check hash security data
; cmp edi, dword[hashDataFunction1]
; jne errorSet0x40
243,18 → 243,18
; cmp esi, dword[hashDataFunction2]
; jne errorSet0x40
;-------------------------------
 
mov eax, dword[tempPointerAlloc]
mov dword [servetable2 + ebx * 4], eax
jmp successSet0x40
 
errorSet0x40:
xor eax, eax
 
successSet0x40:
ret
 
tempPointerAlloc dd ?
hashDataFunction1 dd ?
hashDataFunction2 dd ?
;hashDataFunction1 dd ?
;hashDataFunction2 dd ?
;-------------------
/programs/cmm/KERNEL/Tupfile.lua
0,0 → 1,6
if tup.getconfig("NO_CMM") ~= "" then return end
if tup.getconfig("LANG") == "ru"
then C_LANG = "LANG_RUS"
else C_LANG = "LANG_ENG" -- this includes default case without config
end
tup.rule("kernel.c", "c-- /D=AUTOBUILD /D=$(C_LANG) %f" .. tup.getconfig("KPACK_CMD"), "kernel.com")
/programs/cmm/KERNEL/build.bat
0,0 → 1,5
C-- kernel.c
del @KERNEL
rename kernel.com @KERNEL
 
pause
/programs/cmm/KERNEL/kernel.c
0,0 → 1,48
#pragma option OST
#pragma option ON
#pragma option cri-
#pragma option -CPA
#initallvar 0
#jumptomain FALSE
#startaddress 0x0000
 
 
char os_name[8] = {'M','E','N','U','E','T','0','1'};
dword os_version = 0x00000001;
dword start_addr = #____INIT____;
dword final_addr = #____STOP____+32;
dword alloc_mem = 4*1024*1024;
dword x86esp_reg = 4*1024*1024;
dword I_Param = #param;
dword I_Path = #program_path;
char param[4096];
char program_path[4096];
 
 
void ExitProcess()
{
EAX = -1;
$int 0x40
}
 
dword eaxFunctionDestroy(){RETURN 0;}
eaxFunctionDestroyEnd:
 
void ____INIT____()
{
 
// Disable door kernel
EAX = 81;
EBX = 81;
ECX = #eaxFunctionDestroy;
EDX = #eaxFunctionDestroyEnd-#eaxFunctionDestroy;
$int 0x40
ExitProcess();
}
 
void ____STOP____()
{
ExitProcess();
}