/kernel/branches/Kolibri-acpi/bootloader/boot_fat12.asm |
---|
File deleted |
/kernel/branches/Kolibri-acpi/bootloader/floppy1743.inc |
---|
File deleted |
/kernel/branches/Kolibri-acpi/bootloader/floppy1680.inc |
---|
File deleted |
/kernel/branches/Kolibri-acpi/bootloader/floppy2880.inc |
---|
File deleted |
/kernel/branches/Kolibri-acpi/bootloader/extended_primary_loader/after_win/kordldr.win.asm |
---|
File deleted |
/kernel/branches/Kolibri-acpi/bootloader/extended_primary_loader/after_win/ntfs.inc |
---|
File deleted |
/kernel/branches/Kolibri-acpi/bootloader/extended_primary_loader/after_win/fat.inc |
---|
File deleted |
/kernel/branches/Kolibri-acpi/bootloader/extended_primary_loader/after_win/build.bat |
---|
File deleted |
\ No newline at end of file |
/kernel/branches/Kolibri-acpi/bootloader/extended_primary_loader/after_win/kordldr.win.txt |
---|
File deleted |
/kernel/branches/Kolibri-acpi/bootloader/extended_primary_loader/after_win |
---|
Property changes: |
Deleted: bugtraq:number |
-true |
\ No newline at end of property |
Deleted: tsvn:logminsize |
-5 |
\ No newline at end of property |
/kernel/branches/Kolibri-acpi/bootloader/extended_primary_loader/fat32/kordldr.f32.asm |
---|
File deleted |
/kernel/branches/Kolibri-acpi/bootloader/extended_primary_loader/fat32/bootsect.txt |
---|
File deleted |
/kernel/branches/Kolibri-acpi/bootloader/extended_primary_loader/fat32/bootsect.asm |
---|
File deleted |
/kernel/branches/Kolibri-acpi/bootloader/extended_primary_loader/fat32/build.bat |
---|
File deleted |
\ No newline at end of file |
/kernel/branches/Kolibri-acpi/bootloader/extended_primary_loader/fat32 |
---|
Property changes: |
Deleted: bugtraq:number |
-true |
\ No newline at end of property |
Deleted: tsvn:logminsize |
-5 |
\ No newline at end of property |
/kernel/branches/Kolibri-acpi/bootloader/extended_primary_loader/cdfs/bootsect.txt |
---|
File deleted |
/kernel/branches/Kolibri-acpi/bootloader/extended_primary_loader/cdfs/bootsect.asm |
---|
File deleted |
/kernel/branches/Kolibri-acpi/bootloader/extended_primary_loader/cdfs/build.bat |
---|
File deleted |
\ No newline at end of file |
/kernel/branches/Kolibri-acpi/bootloader/extended_primary_loader/cdfs |
---|
Property changes: |
Deleted: bugtraq:number |
-true |
\ No newline at end of property |
Deleted: tsvn:logminsize |
-5 |
\ No newline at end of property |
/kernel/branches/Kolibri-acpi/bootloader/extended_primary_loader/fat1x/kordldr.f1x.asm |
---|
File deleted |
/kernel/branches/Kolibri-acpi/bootloader/extended_primary_loader/fat1x/bootsect.txt |
---|
File deleted |
/kernel/branches/Kolibri-acpi/bootloader/extended_primary_loader/fat1x/bootsect.asm |
---|
File deleted |
/kernel/branches/Kolibri-acpi/bootloader/extended_primary_loader/fat1x/build.bat |
---|
File deleted |
\ No newline at end of file |
/kernel/branches/Kolibri-acpi/bootloader/extended_primary_loader/fat1x |
---|
Property changes: |
Deleted: bugtraq:number |
-true |
\ No newline at end of property |
Deleted: tsvn:logminsize |
-5 |
\ No newline at end of property |
/kernel/branches/Kolibri-acpi/bootloader/extended_primary_loader |
---|
Property changes: |
Deleted: bugtraq:number |
-true |
\ No newline at end of property |
Deleted: tsvn:logminsize |
-5 |
\ No newline at end of property |
/kernel/branches/Kolibri-acpi/bootloader/floppy1440.inc |
---|
File deleted |
/kernel/branches/Kolibri-acpi/bootloader/readme |
---|
File deleted |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/boot/fat1x/kordldr.f1x.asm |
---|
File deleted |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/boot/fat1x/bootsect.txt |
---|
File deleted |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/boot/fat1x/bootsect.asm |
---|
File deleted |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/boot/fat1x/build.bat |
---|
File deleted |
\ No newline at end of file |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/boot/fat1x |
---|
Property changes: |
Deleted: tsvn:logminsize |
-5 |
\ No newline at end of property |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/boot/build.bat |
---|
File deleted |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/boot/PrimaryLoader.txt |
---|
File deleted |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/boot/mkfloppy.inc |
---|
File deleted |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/boot/after_win/build.bat |
---|
File deleted |
\ No newline at end of file |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/boot/after_win/kordldr.win.txt |
---|
File deleted |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/boot/after_win/kordldr.win.asm |
---|
File deleted |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/boot/after_win/ntfs.inc |
---|
File deleted |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/boot/after_win/fat.inc |
---|
File deleted |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/boot/after_win |
---|
Property changes: |
Deleted: tsvn:logminsize |
-5 |
\ No newline at end of property |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/boot/floppy.asc |
---|
File deleted |
\ No newline at end of file |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/boot/fat32/bootsect.txt |
---|
File deleted |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/boot/fat32/bootsect.asm |
---|
File deleted |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/boot/fat32/build.bat |
---|
File deleted |
\ No newline at end of file |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/boot/fat32/kordldr.f32.asm |
---|
File deleted |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/boot/fat32 |
---|
Property changes: |
Deleted: tsvn:logminsize |
-5 |
\ No newline at end of property |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/boot/cdfs/bootsect.asm |
---|
File deleted |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/boot/cdfs/build.bat |
---|
File deleted |
\ No newline at end of file |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/boot/cdfs/bootsect.txt |
---|
File deleted |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/boot/cdfs |
---|
Property changes: |
Deleted: tsvn:logminsize |
-5 |
\ No newline at end of property |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/boot |
---|
Property changes: |
Deleted: tsvn:logminsize |
-5 |
\ No newline at end of property |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/debug_msg.inc |
---|
File deleted |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/loader.lst |
---|
File deleted |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/parse_loader.inc |
---|
File deleted |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/sl_proc.inc |
---|
File deleted |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/build_ru.bat |
---|
File deleted |
\ No newline at end of file |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/parse_dat.inc |
---|
File deleted |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/startos.ini |
---|
File deleted |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/parse_def_sect.inc |
---|
File deleted |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/listing.inc |
---|
File deleted |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/boot_st.inc |
---|
File deleted |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/parse.inc |
---|
File deleted |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/loader.asm |
---|
File deleted |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/parse_any.inc |
---|
File deleted |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/parse_err.inc |
---|
File deleted |
/kernel/branches/Kolibri-acpi/sec_loader/trunk/sl_equ.inc |
---|
File deleted |
/kernel/branches/Kolibri-acpi/sec_loader/trunk |
---|
Property changes: |
Deleted: tsvn:logminsize |
-5 |
\ No newline at end of property |
/kernel/branches/Kolibri-acpi/sec_loader |
---|
Property changes: |
Deleted: tsvn:logminsize |
-5 |
\ No newline at end of property |
/kernel/branches/Kolibri-acpi/const.inc |
---|
501,7 → 501,7 |
terminate_protection dd ? ;+176 |
keyboard_mode db ? ;+180 |
rb 3 |
dd ? ;+184 |
exec_params dd ? ;+184 |
dbg_event_mem dd ? ;+188 |
dbg_regs DBG_REGS ;+192 |
wnd_caption dd ? ;+212 |
/kernel/branches/Kolibri-acpi/core/memory.inc |
---|
575,15 → 575,6 |
cmp ebx, kernel_tabs |
jb .alloc;.app_tabs ;таблицы страниц приложения ; |
;просто создадим одну |
if 0 ;пока это просто лишнее |
cmp ebx, LFB_BASE |
jb .core_tabs ;таблицы страниц ядра |
;Ошибка |
.lfb: |
;область LFB |
;Ошибка |
jmp .fail |
end if |
.core_tabs: |
.fail: ;simply return to caller |
mov esp, ebp |
/kernel/branches/Kolibri-acpi/core/string.inc |
---|
115,6 → 115,7 |
proc strnlen stdcall, s:dword, n:dword |
push edi |
mov ecx, [n] |
mov edi, [s] ; edi = string |
xor al, al ; Look for a zero byte |
mov edx, ecx ; Save maximum count |
/kernel/branches/Kolibri-acpi/core/taskman.inc |
---|
30,13 → 30,17 |
i_icon dd ? ;+32 |
ends |
struct APP_PARAMS |
app_cmdline dd ? ;0x00 |
app_path dd ? ;0x04 |
app_eip dd ? ;0x08 |
app_esp dd ? ;0x0C |
app_mem dd ? ;0x10 |
struct APP_HDR |
cmdline rd 1 ;0x00 |
path rd 1 ;0x04 |
eip rd 1 ;0x08 |
esp rd 1 ;0x0C |
_edata rd 1 ;0x10 |
_emem rd 1 ;0x14 |
img_base rd 1 ;0x18 |
img_size rd 1 |
filename_size rd 1 |
cmdline_size rd 1 |
ends |
macro _clear_ op |
46,163 → 50,73 |
rep stosd |
} |
_strlen: |
mov ecx, 0xFFFFFFFF |
xor eax, eax |
repne scasb |
mov eax, 0xFFFFFFFE |
sub eax, ecx |
retn |
fs_execute_from_sysdir: |
xor ebx, ebx |
fs_execute_from_sysdir_param: |
xor edx, edx |
mov esi, sysdir_path |
align 4 |
proc fs_execute |
;fn_read:dword, file_size:dword, cluster:dword |
; ebx - cmdline |
; edx - flags |
; ebp - full filename |
; [esp+4] = procedure DoRead, [esp+8] = filesize & [esp+12]... - arguments for it |
locals |
cmdline_size dd ? ; +0 ; cmdline -12 |
cmdline_adr dd ? ; +4 ; cmdline -8 |
cmdline_flag dd ? ; +8 ; cmdline -4 |
cmdline rd 64 ;256/4 |
filename rd 256 ;1024/4 |
flags dd ? |
filename rd 1 |
cmdline rd 1 |
flags rd 1 |
save_proc dd ? |
slot dd ? |
slot_base dd ? |
file_base dd ? |
file_size dd ? |
; handle dd ? ;temp. for default cursor handle for curr. thread |
slot rd 1 |
slot_base rd 1 |
;app header data |
hdr_cmdline dd ? ;0x00 |
hdr_path dd ? ;0x04 |
hdr_eip dd ? ;0x08 |
hdr_esp dd ? ;0x0C |
hdr_mem dd ? ;0x10 |
hdr_i_end dd ? ;0x14 |
hdr_cmdline rd 1 ;0x00 |
hdr_path rd 1 ;0x04 |
hdr_eip rd 1 ;0x08 |
hdr_esp rd 1 ;0x0C |
hdr_edata rd 1 ;0x10 |
hdr_emem rd 1 ;0x14 |
file_base rd 1 ;0x18 |
file_size rd 1 ;0x1c |
filename_size rd 1 ;0x20 |
cmdline_size rd 1 ;0x24 |
endl |
pushad |
; cmp [SCR_MODE], word 0x13 |
; jbe @f |
; pushad |
; stdcall set_cursor, [def_cursor_clock] |
; mov [handle], eax |
; mov [redrawmouse_unconditional], 1 |
; call wakeup_osloop |
; popad |
;@@: |
xchg bx, bx |
mov eax, [ebp] |
mov [flags], edx |
; [ebp] pointer to filename |
lea edi, [filename] |
lea ecx, [edi+1024] |
mov al, '/' |
stosb |
@@: |
cmp edi, ecx |
jae .bigfilename |
lodsb |
stosb |
test al, al |
jnz @b |
mov esi, [ebp] |
test esi, esi |
jz .namecopied |
mov byte [edi-1], '/' |
@@: |
cmp edi, ecx |
jae .bigfilename |
lodsb |
stosb |
test al, al |
jnz @b |
jmp .namecopied |
.bigfilename: |
popad |
mov eax, -ERROR_FILE_NOT_FOUND |
jmp .final |
.namecopied: |
xor eax, eax |
mov [cmdline_flag], eax |
mov [cmdline_adr], eax |
mov [cmdline_size], eax |
mov [cmdline], ebx |
test ebx, ebx |
jz .no_copy |
;-------------------------------------- |
pushad |
pushfd |
mov esi, ebx |
mov ecx, 65536 ; 64 Kb max for ext.cmdline |
cld |
@@: |
dec ecx |
jz .end_string |
mov [filename], eax |
lodsb |
test al, al |
jnz @b |
call lock_application_table |
.end_string: |
mov eax, 65536 ; 64 Kb max for ext.cmdline |
sub eax, ecx |
mov [cmdline_size], eax |
cmp eax, 255 |
ja @f |
popfd |
popad |
jmp .old_copy |
@@: |
xor eax, eax |
dec eax |
mov [cmdline_flag], eax |
popfd |
popad |
; get memory for the extended command line |
stdcall kernel_alloc, [cmdline_size] ;eax |
call alloc_thread_slot |
mov esi, -0x20 ; too many processes |
test eax, eax |
jz .old_copy ; get memory failed |
jz .err_0 |
mov [cmdline_adr], eax |
mov [slot], eax |
shl eax, 8 |
add eax, SLOT_BASE |
mov [slot_base], eax |
pushad |
pushfd |
mov esi, ebx |
mov edi, eax |
mov ecx, [cmdline_size] |
cld |
rep movsb |
popfd |
popad |
jmp .no_copy |
.old_copy: |
; clear flag because old method with 256 bytes |
xor eax, eax |
mov [cmdline_flag], eax |
;-------------------------------------- |
lea eax, [cmdline] |
mov dword [eax+252], 0 |
.copy: |
stdcall strncpy, eax, ebx, 255 |
.no_copy: |
lea eax, [filename] |
mov eax, [filename] |
stdcall load_file, eax |
mov esi, -ERROR_FILE_NOT_FOUND |
test eax, eax |
jz .err_file |
jz .err_0 |
mov [file_base], eax |
mov [file_size], ebx |
213,20 → 127,13 |
test eax, eax |
jz .err_hdr |
call lock_application_table |
;clean extended information about process |
mov edi, [slot_base] |
mov ecx, 265/4 |
xor eax, eax |
cld |
rep stosd |
call alloc_thread_slot |
test eax, eax |
mov esi, -0x20 ; too many processes |
jz .err |
mov [slot], eax |
shl eax, 8 |
add eax, SLOT_BASE |
mov [slot_base], eax |
mov edi, eax |
_clear_ 256 ;clean extended information about process |
; write application name |
lea eax, [filename] |
stdcall strrchr, eax, '/' ; now eax points to name without path |
246,20 → 153,32 |
jz .copy_process_name_done |
stosb |
loop .copy_process_name_loop |
.copy_process_name_done: |
mov ebx, [current_process] |
mov [save_proc], ebx |
mov edi, [cmdline] |
xor eax, eax |
test edi, edi |
jz @F |
stdcall create_process, [hdr_mem], [file_base], [file_size] |
call _strlen |
cmp eax, 256 |
jb @F |
lea ebx, [eax+1] |
add [hdr_emem], ebx |
@@: |
mov [cmdline_size], eax |
stdcall create_process, [hdr_emem] |
mov esi, -30; no memory |
test eax, eax |