Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7c68374788 | ||
|
|
723a1b4437 |
No files matched your search
@@ -166,6 +166,7 @@ extra_files = {
|
||||
{"kolibrios/demos/rpento.lif", "common/demos/rpento.lif"},
|
||||
{"kolibrios/develop/fpc/", "common/develop/fpc/*"},
|
||||
{"kolibrios/develop/fpc/examples/", "../programs/develop/fp/examples/src/*"},
|
||||
{"kolibrios/develop/fasm/fasm.txt", SRC_PROGS .. "/develop/fasm/1.73/fasm.txt"},
|
||||
{"kolibrios/develop/oberon07/compiler.kex", SRC_PROGS .. "/develop/oberon07/Compiler.kex"},
|
||||
{"kolibrios/develop/oberon07/LICENSE", SRC_PROGS .. "/develop/oberon07/LICENSE"},
|
||||
{"kolibrios/develop/oberon07/doc/CC.txt", SRC_PROGS .. "/develop/oberon07/doc/CC.txt"},
|
||||
|
||||
@@ -20,13 +20,13 @@
|
||||
<a href="hardware_support.htm">Поддержка оборудования</a>
|
||||
|
||||
<strong>Разработка</strong>
|
||||
<a href="/sys/docpack|f">Справочник по системным функциям Колибри</a>
|
||||
<a href="/sys/docpack|e">Использование отладчика</a>
|
||||
<a href="/sys/docpack|d">Руководство FASM</a>
|
||||
<a href="/sys/docpack|d">Справочник по системным функциям Колибри</a>
|
||||
<a href="/sys/docpack|c">Использование отладчика</a>
|
||||
<a href="/kolibrios/develop/fasm/fasm.txt">Руководство FASM</a>
|
||||
|
||||
<strong>Использование библиотек</strong>
|
||||
<a href="/sys/docpack|i">Ini</a>
|
||||
<a href="/sys/docpack|j">Диалог открытия файла OpenDial</a>
|
||||
<a href="/sys/docpack|g">Ini</a>
|
||||
<a href="/sys/docpack|h">Диалог открытия файла OpenDial</a>
|
||||
|
||||
<strong>Смотрите также</strong>
|
||||
Вики проекта <a href="http://wiki.kolibrios.org/">wiki.kolibrios.org</a>
|
||||
|
||||
@@ -463,7 +463,7 @@ proc kernel_alloc stdcall, size:dword
|
||||
and eax, -PAGE_SIZE;
|
||||
mov [size], eax
|
||||
and eax, eax
|
||||
jz .err0
|
||||
jz .err
|
||||
mov ebx, eax
|
||||
shr ebx, 12
|
||||
mov [pages_count], ebx
|
||||
@@ -509,13 +509,6 @@ proc kernel_alloc stdcall, size:dword
|
||||
pop ebx
|
||||
ret
|
||||
.err:
|
||||
mov eax, [lin_addr]
|
||||
test eax, eax
|
||||
jz .err0
|
||||
mov ecx, [pages_count]
|
||||
call release_pages
|
||||
stdcall free_kernel_space, [lin_addr]
|
||||
.err0:
|
||||
xor eax, eax
|
||||
pop edi
|
||||
pop ebx
|
||||
|
||||
@@ -1397,9 +1397,7 @@ proc create_ring_buffer stdcall, size:dword, flags:dword
|
||||
mov [page_tabs + edi], eax
|
||||
mov [page_tabs + edi + edx], eax
|
||||
invlpg [ebx]
|
||||
add ebx, [size]
|
||||
invlpg [ebx] ; the mirror half
|
||||
sub ebx, [size]
|
||||
invlpg [ebx+0x10000]
|
||||
add eax, 0x1000
|
||||
add ebx, 0x1000
|
||||
add edi, 4
|
||||
@@ -1418,62 +1416,6 @@ proc create_ring_buffer stdcall, size:dword, flags:dword
|
||||
ret
|
||||
endp
|
||||
|
||||
; Same as create_ring_buffer, but from non-contiguous pages.
|
||||
; Not for DMA. Free with kernel_free.
|
||||
align 4
|
||||
proc create_ring_buffer_sparse stdcall, size:dword, flags:dword
|
||||
locals
|
||||
buf_ptr dd ?
|
||||
endl
|
||||
|
||||
mov eax, [size]
|
||||
test eax, eax
|
||||
jz .fail
|
||||
|
||||
add eax, eax
|
||||
stdcall alloc_kernel_space, eax
|
||||
test eax, eax
|
||||
jz .fail
|
||||
mov [buf_ptr], eax
|
||||
|
||||
push ebx esi edi
|
||||
mov ebx, eax ; page being mapped
|
||||
mov esi, [size] ; distance to its mirror
|
||||
mov edi, esi
|
||||
shr edi, 12 ; pages left
|
||||
.page:
|
||||
call alloc_page
|
||||
test eax, eax
|
||||
jz .mm_fail
|
||||
or eax, [flags]
|
||||
mov edx, ebx
|
||||
shr edx, 12
|
||||
mov [page_tabs + edx*4], eax
|
||||
invlpg [ebx]
|
||||
lea edx, [ebx + esi]
|
||||
shr edx, 12
|
||||
mov [page_tabs + edx*4], eax
|
||||
invlpg [ebx + esi]
|
||||
add ebx, PAGE_SIZE
|
||||
dec edi
|
||||
jnz .page
|
||||
|
||||
mov eax, [buf_ptr]
|
||||
pop edi esi ebx
|
||||
ret
|
||||
|
||||
.mm_fail:
|
||||
mov eax, [buf_ptr]
|
||||
mov ecx, [size]
|
||||
shr ecx, 11 ; both halves, in pages
|
||||
call release_pages
|
||||
stdcall free_kernel_space, [buf_ptr]
|
||||
pop edi esi ebx
|
||||
xor eax, eax
|
||||
.fail:
|
||||
ret
|
||||
endp
|
||||
|
||||
|
||||
align 4
|
||||
proc print_mem
|
||||
|
||||
@@ -198,10 +198,6 @@ ends
|
||||
|
||||
SOCKET_STRUCT_SIZE = 4096 ; in bytes
|
||||
|
||||
if sizeof.STREAM_SOCKET > SOCKET_STRUCT_SIZE
|
||||
err "STREAM_SOCKET does not fit in SOCKET_STRUCT_SIZE"
|
||||
end if
|
||||
|
||||
SOCKET_QUEUE_SIZE = 10 ; maximum number of incoming packets queued for 1 socket
|
||||
; the incoming packet queue for sockets is placed in the socket struct itself, at this location from start
|
||||
SOCKET_QUEUE_LOCATION = (SOCKET_STRUCT_SIZE - SOCKET_QUEUE_SIZE*sizeof.socket_queue_entry - sizeof.queue)
|
||||
@@ -1651,7 +1647,7 @@ socket_ring_create:
|
||||
mov esi, eax
|
||||
|
||||
push edx
|
||||
stdcall create_ring_buffer_sparse, SOCKET_BUFFER_SIZE, PG_SWR
|
||||
stdcall create_ring_buffer, SOCKET_BUFFER_SIZE, PG_SWR
|
||||
pop edx
|
||||
test eax, eax
|
||||
jz .fail
|
||||
|
||||
+1
-1
Submodule programs/cmm updated: 86b0211da7...d8a5b5d16d.
@@ -15,9 +15,6 @@ then tup.append_table(deps,
|
||||
else tup.append_table(deps,
|
||||
tup.rule("../../../kernel/trunk/docs/sysfuncs.txt", cp_cmd, "SysFuncs.txt"))
|
||||
end
|
||||
tup.append_table(deps,
|
||||
tup.rule("../../develop/fasm/1.73/fasm.txt", cp_cmd, "Fasm.txt")
|
||||
)
|
||||
tup.append_table(deps,
|
||||
tup.rule("../../../kernel/trunk/docs/stack.txt", cp_cmd, "Stack.txt")
|
||||
)
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
;---------------------------------------------------------------------
|
||||
|
||||
FILE_COUNT=0
|
||||
DEF_FILE equ 'g'
|
||||
DEF_FILE equ 'f'
|
||||
|
||||
macro embed_docdir_file fn
|
||||
{
|
||||
@@ -197,18 +197,17 @@ embedded:
|
||||
|
||||
embed_docdir_file 'Copying.txt' ;a
|
||||
embed_docdir_file 'Hot_Keys.txt' ;b
|
||||
embed_local_file 'Fasm.txt' ;c
|
||||
embed_docdir_file 'Mtdbg.txt' ;d
|
||||
embed_docdir_file 'Mtdbg.txt' ;c
|
||||
if lang eq ru_RU
|
||||
embed_local_file 'SysFuncr.txt' ;e
|
||||
embed_local_file 'SysFuncr.txt' ;d
|
||||
else ; Default to en_US
|
||||
embed_local_file 'SysFuncs.txt' ;e
|
||||
embed_local_file 'SysFuncs.txt' ;d
|
||||
end if
|
||||
embed_local_file 'Stack.txt' ;f
|
||||
embed_docdir_file 'KFAR_Keys.txt' ;g
|
||||
embed_docdir_file 'INI.txt' ;h
|
||||
embed_docdir_file 'OpenDial.txt' ;i
|
||||
embed_docdir_file 'Credits.txt' ;j
|
||||
embed_local_file 'Stack.txt' ;e
|
||||
embed_docdir_file 'KFAR_Keys.txt' ;f
|
||||
embed_docdir_file 'INI.txt' ;g
|
||||
embed_docdir_file 'OpenDial.txt' ;h
|
||||
embed_docdir_file 'Credits.txt' ;i
|
||||
; -- End of embedding area -------
|
||||
|
||||
dd 0
|
||||
|
||||
Reference in new issue
Block a user