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
cls
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
call :Check_Target %1

View File

@ -293,7 +293,7 @@ IDE_DMA equ 0x284000
BgrAuxTable equ (OS_BASE+0x0298000)
; unused?
SB16Buffer equ (OS_BASE+0x2A0000)
SB16Buffer equ (OS_BASE+0x02A0000)
SB16_Status equ (OS_BASE+0x02B0000)
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_end equ (OS_BASE+0x031ffff)
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)
BgrDataWidth equ (OS_BASE+0x033BFF8)
BgrDataHeight equ (OS_BASE+0x033BFFC)
skin_data equ (OS_BASE+0x0328000)
draw_data equ (OS_BASE+0x0330000)
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)

View File

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

View File

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

View File

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

View File

@ -649,12 +649,6 @@ end if
call calculatefatchain
; LOAD VMODE DRIVER
;!!!!!!!!!!!!!!!!!!!!!!!
include 'vmodeld.inc'
;!!!!!!!!!!!!!!!!!!!!!!!
if 0
mov ax,[OS_BASE+0x10000+bx_from_load]
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
no_st_network:
xchg bx, bx
stdcall load_driver, ahci_driver
; LOAD FIRST APPLICATION
cli
@ -1008,6 +1005,8 @@ end if
include 'unpacker.inc'
include 'fdo.inc'
ahci_driver db 'AHCI',0
align 4
boot_log:
pushad
@ -1604,14 +1603,9 @@ nsyse8:
no_set_lba_read:
; cmp eax,12 ; ENABLE PCI ACCESS
dec ebx
jnz no_set_pci_access
jnz sys_setup_err
mov [pci_access_enabled],ecx
ret
no_set_pci_access:
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
include 'vmodeint.inc'
;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
sys_setup_err:
or [esp+32],dword -1