acpi: reduce kernel memory usage

git-svn-id: svn://kolibrios.org@2259 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Sergey Semyonov (Serge) 2011-10-04 16:03:06 +00:00
parent 9b8608aa82
commit 31f7c7180c
7 changed files with 32 additions and 45 deletions

View File

@ -1,7 +1,7 @@
@echo off @echo off
cls cls
set languages=en ru ge et set languages=en ru ge et
set drivers=com_mouse emu10k1x ensoniq fm801 infinity sis sound uart viasound vmode vt823x set drivers=com_mouse emu10k1x ensoniq fm801 infinity sis sound viasound vt823x
set targets=all kernel drivers skins clean set targets=all kernel drivers skins clean
call :Check_Target %1 call :Check_Target %1

View File

@ -293,7 +293,7 @@ IDE_DMA equ 0x284000
BgrAuxTable equ (OS_BASE+0x0298000) BgrAuxTable equ (OS_BASE+0x0298000)
; unused? ; unused?
SB16Buffer equ (OS_BASE+0x2A0000) SB16Buffer equ (OS_BASE+0x02A0000)
SB16_Status equ (OS_BASE+0x02B0000) SB16_Status equ (OS_BASE+0x02B0000)
BUTTON_INFO equ (OS_BASE+0x02C0000) BUTTON_INFO equ (OS_BASE+0x02C0000)
@ -306,17 +306,15 @@ eth_data_start equ (OS_BASE+0x0300000)
stack_data equ (OS_BASE+0x0304000) stack_data equ (OS_BASE+0x0304000)
stack_data_end equ (OS_BASE+0x031ffff) stack_data_end equ (OS_BASE+0x031ffff)
resendQ equ (OS_BASE+0x0320000) resendQ equ (OS_BASE+0x0320000)
VMODE_BASE equ (OS_BASE+0x0328000)
skin_data equ (OS_BASE+0x0330000)
draw_data equ (OS_BASE+0x0338000);
BgrDrawMode equ (OS_BASE+0x033BFF4) skin_data equ (OS_BASE+0x0328000)
BgrDataWidth equ (OS_BASE+0x033BFF8) draw_data equ (OS_BASE+0x0330000)
BgrDataHeight equ (OS_BASE+0x033BFFC)
BOOT_VAR equ (OS_BASE+0x0340000) BgrDrawMode equ (OS_BASE+0x0333FF4)
BgrDataWidth equ (OS_BASE+0x0333FF8)
BgrDataHeight equ (OS_BASE+0x0333FFC)
sys_pgmap equ (OS_BASE+0x0350000) sys_pgmap equ (OS_BASE+0x0334000)
UPPER_KERNEL_PAGES equ (OS_BASE+0x0400000) UPPER_KERNEL_PAGES equ (OS_BASE+0x0400000)

View File

@ -1472,15 +1472,3 @@ proc shmem_close stdcall, name:dword
.fail: .fail:
ret ret
endp endp
align 4
sys_perf:
test ecx, ecx
jz .fail
mov edi, ecx
mov esi, mem_hash_cnt
mov ecx, 64
rep movsd
.fail:
ret

View File

@ -202,6 +202,9 @@ malloc:
; eax= mem ; eax= mem
align 4 align 4
free: free:
test eax, eax
jz .exit
push edi push edi
mov edi, eax mov edi, eax
add edi, -8 add edi, -8
@ -296,7 +299,9 @@ free:
pop esi pop esi
.fail: .fail:
pop edi pop edi
.exit:
ret ret
@@: @@:
; nsize = next->head & ~INUSE_BITS; ; nsize = next->head & ~INUSE_BITS;
@ -596,21 +601,21 @@ unlink_large_chunk:
btr [mst.treemap], ecx btr [mst.treemap], ecx
pop edi pop edi
ret ret
.l3: .l3:
cmp [edi+16], edx cmp [edi+16], edx
jne @F jne @F
mov [edi+16], eax mov [edi+16], eax
jmp .l4 jmp .l4
@@: @@:
mov [edi+20], eax mov [edi+20], eax
.l4: .l4:
test eax, eax test eax, eax
je .done je .done
.l5: .l5:
mov [eax+24], edi mov [eax+24], edi
mov ecx, [edx+16] mov ecx, [edx+16]
@ -619,7 +624,7 @@ unlink_large_chunk:
mov [eax+16], ecx mov [eax+16], ecx
mov [ecx+24], eax mov [ecx+24], eax
.l6: .l6:
mov edx, [edx+20] mov edx, [edx+20]
test edx, edx test edx, edx
@ -627,7 +632,7 @@ unlink_large_chunk:
mov [eax+20], edx mov [eax+20], edx
mov [edx+24], eax mov [edx+24], eax
.done: .done:
pop edi pop edi
ret ret
@ -649,10 +654,10 @@ malloc_small:
mov edi, [ecx+4] mov edi, [ecx+4]
and edi, -4 and edi, -4
sub edi, esi sub edi, esi
.loop: .loop:
mov ebx, ecx mov ebx, ecx
.loop_1: .loop_1:
; while ((t = leftmost_child(t)) != 0) ; while ((t = leftmost_child(t)) != 0)
@ -662,10 +667,10 @@ malloc_small:
jz @F jz @F
mov ecx, eax mov ecx, eax
jmp .l1 jmp .l1
@@: @@:
mov ecx, [ecx+20] mov ecx, [ecx+20]
.l1: .l1:
test ecx, ecx test ecx, ecx
jz .unlink jz .unlink

View File

@ -194,7 +194,6 @@ iglobal
dd syscall_window_settings ; 71-Window settings dd syscall_window_settings ; 71-Window settings
dd sys_sendwindowmsg ; 72-Send window message dd sys_sendwindowmsg ; 72-Send window message
dd blit_32 ; 73-blitter; dd blit_32 ; 73-blitter;
dd sys_perf ; 74 for debug purposes only
times 255 - ( ($-servetable2) /4 ) dd undefined_syscall times 255 - ( ($-servetable2) /4 ) dd undefined_syscall
dd sys_end ; -1-end application dd sys_end ; -1-end application

View File

@ -58,6 +58,9 @@ kernel_export \
Kmalloc,\ Kmalloc,\
Kfree,\ Kfree,\
CreateRingBuffer,\ CreateRingBuffer,\
\
DiskAdd, \
DiskMediaChanged, \
\ \
GetPid,\ GetPid,\
CreateObject,\ CreateObject,\

View File

@ -649,12 +649,6 @@ end if
call calculatefatchain call calculatefatchain
; LOAD VMODE DRIVER
;!!!!!!!!!!!!!!!!!!!!!!!
include 'vmodeld.inc'
;!!!!!!!!!!!!!!!!!!!!!!!
if 0 if 0
mov ax,[OS_BASE+0x10000+bx_from_load] mov ax,[OS_BASE+0x10000+bx_from_load]
cmp ax,'r1' ; if using not ram disk, then load librares and parameters {SPraid.simba} cmp ax,'r1' ; if using not ram disk, then load librares and parameters {SPraid.simba}
@ -867,6 +861,9 @@ end if
call set_network_conf call set_network_conf
no_st_network: no_st_network:
xchg bx, bx
stdcall load_driver, ahci_driver
; LOAD FIRST APPLICATION ; LOAD FIRST APPLICATION
cli cli
@ -1008,6 +1005,8 @@ end if
include 'unpacker.inc' include 'unpacker.inc'
include 'fdo.inc' include 'fdo.inc'
ahci_driver db 'AHCI',0
align 4 align 4
boot_log: boot_log:
pushad pushad
@ -1604,14 +1603,9 @@ nsyse8:
no_set_lba_read: no_set_lba_read:
; cmp eax,12 ; ENABLE PCI ACCESS ; cmp eax,12 ; ENABLE PCI ACCESS
dec ebx dec ebx
jnz no_set_pci_access jnz sys_setup_err
mov [pci_access_enabled],ecx mov [pci_access_enabled],ecx
ret ret
no_set_pci_access:
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
include 'vmodeint.inc'
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
sys_setup_err: sys_setup_err:
or [esp+32],dword -1 or [esp+32],dword -1