Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 580 → Rev 581

/kernel/trunk/blkdev/hd_drv.inc
470,7 → 470,7
align 4
; note that IDE descriptor table must be 4-byte aligned and do not cross 4K boundary
IDE_descriptor_table:
dd 0x284000
dd IDE_DMA
dw 0x2000
dw 0x8000
 
564,7 → 564,7
mov eax, [esp+4]
sub eax, [dma_cur_sector]
shl eax, 9
add eax, OS_BASE+0x284000
add eax, (OS_BASE+IDE_DMA)
push ecx esi edi
mov esi, eax
shl edi, 9
583,7 → 583,7
ret
.notread:
mov eax, IDE_descriptor_table
mov dword [eax], 0x284000
mov dword [eax], IDE_DMA
mov word [eax+4], 0x2000
sub eax, OS_BASE
mov dx, [IDEContrRegsBaseAddr]
675,8 → 675,8
shl esi, 9
call calculate_cache_2
add esi,eax
mov edi,OS_BASE+0x284000 ;HD_CACHE
mov dword [edx], 0x284000 ;DMA_HD_MEM
mov edi, (OS_BASE+IDE_DMA)
mov dword [edx], IDE_DMA
movzx ecx, [cache_chain_size]
shl ecx, 9
mov word [edx+4], cx
/kernel/trunk/const.inc
282,6 → 282,8
RAMDISK_FAT equ (OS_BASE+0x0280000)
FLOPPY_FAT equ (OS_BASE+0x0282000)
 
IDE_DMA equ 0x284000
 
BgrAuxTable equ (OS_BASE+0x0298000)
; unused?
SB16Buffer equ (OS_BASE+0x2A0000)
292,31 → 294,27
IRQ_SAVE equ (OS_BASE+0x02E0000)
BOOT_VAR equ (OS_BASE+0x02f0000)
 
; DMA_HD_MEM equ 0x0300000
; HD_CACHE equ (OS_BASE+DMA_HD_MEM)
stack_data_start equ (OS_BASE+0x0300000)
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);
 
stack_data_start equ (OS_BASE+0x0400000)
eth_data_start equ (OS_BASE+0x0400000)
stack_data equ (OS_BASE+0x0404000)
stack_data_end equ (OS_BASE+0x041ffff)
resendQ equ (OS_BASE+0x0420000)
VMODE_BASE equ (OS_BASE+0x0428000)
skin_data equ (OS_BASE+0x0430000)
draw_data equ (OS_BASE+0x0438000);
BgrDrawMode equ (OS_BASE+0x033BFF4)
BgrDataWidth equ (OS_BASE+0x033BFF8)
BgrDataHeight equ (OS_BASE+0x033BFFC)
WinMapAddress equ (OS_BASE+0x033C000)
display_data equ (OS_BASE+0x033C000) ;1024*1280=0x140000
 
virtual at (OS_BASE+0x043BF80)
virtual at (OS_BASE+0x047CF80)
tss TSS
end virtual
 
BgrDrawMode equ (OS_BASE+0x043EFF4)
BgrDataWidth equ (OS_BASE+0x043EFF8)
BgrDataHeight equ (OS_BASE+0x043EFFC)
WinMapAddress equ (OS_BASE+0x043F000)
display_data equ (OS_BASE+0x043F000)
sys_pgmap equ (OS_BASE+0x047F000)
 
sys_pgmap equ (OS_BASE+0x057F000)
 
 
HEAP_BASE equ (OS_BASE+0x0800000)
HEAP_MIN_SIZE equ 0x01000000
 
/kernel/trunk/drivers/vmode.asm
16,7 → 16,7
 
macro align value { rb (value-1) - ($ + value-1) mod value }
 
org OS_BASE+0x0428000
org OS_BASE+0x0328000
 
headerstart=$
 
/kernel/trunk/init.inc
70,14 → 70,6
mov ebx, cr4
or ebx, CR4_PSE
mov eax, PG_LARGE+PG_SW
 
; bt [cpu_caps-OS_BASE], CAPS_PGE
; jnc @F
 
; or eax, PG_GLOBAL
; or ebx, CR4_PGE
;
;@@:
mov cr4, ebx
dec [pg_data.kernel_tables-OS_BASE]
 
/kernel/trunk/memmap.inc
207,27 → 207,27
; 0x802E0000 -> 2EFFFF irq data area
; 0x802F0000 -> 2FFFFF low memory save
;
; 0x80300000 -> 400000 hd cache
 
; 0x80400000 -> 41FFFF tcp memory 128 Kb
; 0x80420000 -> 427FFF tcp memory 32 Kb
; 0x80300000 -> 31FFFF tcp memory 128 Kb
; 0x80320000 -> 327FFF tcp memory 32 Kb
;
; 0x80428000 -> 42FFFF !vrr driver 32 Kb
; 0x80328000 -> 32FFFF !vrr driver 32 Kb
 
; 0x80430000 -> 477FFF skin data
; 0x80330000 -> 377FFF skin data
 
; 0x80438000 -> 43AFFF draw data - 256 entries
; 0x80338000 -> 33AFFF draw data - 256 entries
; 00 dword draw limit - x start
; 04 dword draw limit - y start
; 08 dword draw limit - x end
; 0C dword draw limit - y end
 
; 0x8043BF80 -> 43BFFF TSS 128 bytes
; 0x8043C000 -> 43DFFF IO map for (8192*8)=65536 ports
; 0x8033C000 -> 47BFFF display info
 
; 0x8043F000 -> 57EFFF display info
; 0x8057F000 -> 58FFFF page map max 128 Kb
; 0x8047CF80 -> 47CFFF TSS 128 bytes
; 0x8047D000 -> 47EFFF IO map for (8192*8)=65536 ports
 
; 0x8047F000 -> 48FFFF page map max 128 Kb
;
 
; 0x80800000 -> kernel heap
; 0x81FFFFFF heap min limit
; 0xFDBFFFFF heap max limit