forked from KolibriOS/kolibrios
Kolibri-A: non-cacheable WinMap = BARE TEST VERSION! =
git-svn-id: svn://kolibrios.org@1710 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
e4c65f154e
commit
5ce26ca2da
@ -252,6 +252,7 @@ Screen_Max_Y equ (OS_BASE+0x000FE04)
|
|||||||
BytesPerScanLine equ (OS_BASE+0x000FE08)
|
BytesPerScanLine equ (OS_BASE+0x000FE08)
|
||||||
SCR_MODE equ (OS_BASE+0x000FE0C)
|
SCR_MODE equ (OS_BASE+0x000FE0C)
|
||||||
|
|
||||||
|
KERNEL_ALLOC_FLAG equ (OS_BASE+0x000FE70)
|
||||||
mmio_pcie_cfg_addr equ (OS_BASE+0x000FE74)
|
mmio_pcie_cfg_addr equ (OS_BASE+0x000FE74)
|
||||||
mmio_pcie_cfg_lim equ (OS_BASE+0x000FE78)
|
mmio_pcie_cfg_lim equ (OS_BASE+0x000FE78)
|
||||||
mmio_pcie_cfg_pdes equ (OS_BASE+0x000FE7C)
|
mmio_pcie_cfg_pdes equ (OS_BASE+0x000FE7C)
|
||||||
|
@ -110,6 +110,7 @@ proc init_kernel_heap
|
|||||||
mov [mem_used.fd], eax
|
mov [mem_used.fd], eax
|
||||||
mov [mem_used.bk], eax
|
mov [mem_used.bk], eax
|
||||||
|
|
||||||
|
mov [KERNEL_ALLOC_FLAG], dword PG_SW
|
||||||
stdcall alloc_pages, dword 32
|
stdcall alloc_pages, dword 32
|
||||||
mov ecx, 32
|
mov ecx, 32
|
||||||
mov edx, eax
|
mov edx, eax
|
||||||
@ -571,7 +572,7 @@ proc kernel_alloc stdcall, size:dword
|
|||||||
mov edi, eax
|
mov edi, eax
|
||||||
mov edx, [lin_addr]
|
mov edx, [lin_addr]
|
||||||
@@:
|
@@:
|
||||||
stdcall map_page,edx,edi,dword PG_SW
|
stdcall map_page,edx,edi,dword [KERNEL_ALLOC_FLAG]
|
||||||
add edx, 0x1000
|
add edx, 0x1000
|
||||||
add edi, 0x1000
|
add edi, 0x1000
|
||||||
dec ecx
|
dec ecx
|
||||||
@ -1538,3 +1539,5 @@ proc shmem_close stdcall, name:dword
|
|||||||
.fail:
|
.fail:
|
||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
diff16 "heap code end ",0,$
|
||||||
|
diff16 "heap code size",init_kernel_heap,$
|
||||||
|
@ -1441,3 +1441,5 @@ proc create_ring_buffer stdcall, size:dword, flags:dword
|
|||||||
.fail:
|
.fail:
|
||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
diff16 "memman code end",0,$
|
||||||
|
diff16 "memman code sze",alloc_page,$
|
||||||
|
@ -130,3 +130,5 @@ dtext: ; Text String Output (rw by Johnny_B[john@kolibrios.org])
|
|||||||
popad
|
popad
|
||||||
pop eax ; << // Alver 22.06.2008 // <<
|
pop eax ; << // Alver 22.06.2008 // <<
|
||||||
ret
|
ret
|
||||||
|
diff16 "font code end ",0,$
|
||||||
|
diff16 "font code size",dtext,$
|
||||||
|
@ -699,3 +699,6 @@ mouse._.check_sys_window_actions: ;////////////////////////////////////////////
|
|||||||
|
|
||||||
.exit:
|
.exit:
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
diff16 "mouse code end ",0,$
|
||||||
|
diff16 "mouse code size",mouse_check_events,$
|
||||||
|
@ -458,3 +458,5 @@ drawwindow_IV:
|
|||||||
|
|
||||||
ret 4
|
ret 4
|
||||||
|
|
||||||
|
diff16 "skin code end ",0,$
|
||||||
|
diff16 "skin code size",read_skin_file,$
|
||||||
|
@ -2083,3 +2083,6 @@ window._.draw_negative_box: ;//////////////////////////////////////////////////
|
|||||||
call draw_rectangle.forced
|
call draw_rectangle.forced
|
||||||
pop esi ebx eax
|
pop esi ebx eax
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
diff16 "window code end",0,$
|
||||||
|
diff16 "window.inc size",syscall_draw_window,$
|
||||||
|
@ -198,7 +198,6 @@ diff16 "end of tmp_gdt ",0,$
|
|||||||
|
|
||||||
include "data16.inc"
|
include "data16.inc"
|
||||||
|
|
||||||
diff16 "end of data16 ",0,$
|
|
||||||
|
|
||||||
use32
|
use32
|
||||||
org $+0x10000
|
org $+0x10000
|
||||||
@ -501,8 +500,10 @@ v20ga32:
|
|||||||
mov [graph_data_l+4],al
|
mov [graph_data_l+4],al
|
||||||
mov [graph_data_l+7],ah
|
mov [graph_data_l+7],ah
|
||||||
|
|
||||||
|
or [KERNEL_ALLOC_FLAG], dword PG_NOCACHE
|
||||||
stdcall kernel_alloc, [_WinMapSize]
|
stdcall kernel_alloc, [_WinMapSize]
|
||||||
mov [_WinMapAddress], eax
|
mov [_WinMapAddress], eax
|
||||||
|
xor [KERNEL_ALLOC_FLAG], dword PG_NOCACHE
|
||||||
|
|
||||||
xor eax,eax
|
xor eax,eax
|
||||||
inc eax
|
inc eax
|
||||||
@ -894,31 +895,9 @@ if preboot_blogesc
|
|||||||
jne .bll1
|
jne .bll1
|
||||||
end if
|
end if
|
||||||
|
|
||||||
; mov [ENABLE_TASKSWITCH],byte 1 ; multitasking enabled
|
|
||||||
|
|
||||||
; UNMASK ALL IRQ'S
|
|
||||||
|
|
||||||
; mov esi,boot_allirqs
|
|
||||||
; call boot_log
|
|
||||||
;
|
|
||||||
; cli ;guarantee forbidance of interrupts.
|
|
||||||
; mov al,0 ; unmask all irq's
|
|
||||||
; out 0xA1,al
|
|
||||||
; out 0x21,al
|
|
||||||
;
|
|
||||||
; mov ecx,32
|
|
||||||
;
|
|
||||||
; ready_for_irqs:
|
|
||||||
;
|
|
||||||
; mov al,0x20 ; ready for irqs
|
|
||||||
; out 0x20,al
|
|
||||||
; out 0xa0,al
|
|
||||||
;
|
|
||||||
; loop ready_for_irqs ; flush the queue
|
|
||||||
|
|
||||||
stdcall attach_int_handler, 1, irq1, 0
|
stdcall attach_int_handler, 1, irq1, 0
|
||||||
|
|
||||||
; mov [dma_hdd],1
|
|
||||||
cmp [IDEContrRegsBaseAddr], 0
|
cmp [IDEContrRegsBaseAddr], 0
|
||||||
setnz [dma_hdd]
|
setnz [dma_hdd]
|
||||||
mov [timer_ticks_enable],1 ; for cd driver
|
mov [timer_ticks_enable],1 ; for cd driver
|
||||||
@ -926,11 +905,9 @@ end if
|
|||||||
sti
|
sti
|
||||||
call change_task
|
call change_task
|
||||||
|
|
||||||
jmp osloop
|
jmp osloop ; Fly :)
|
||||||
|
|
||||||
; jmp $ ; wait here for timer to take control
|
diff16 "init code end: ",0,$
|
||||||
|
|
||||||
; Fly :)
|
|
||||||
|
|
||||||
include 'unpacker.inc'
|
include 'unpacker.inc'
|
||||||
include 'fdo.inc'
|
include 'fdo.inc'
|
||||||
@ -2238,6 +2215,7 @@ nosb1:
|
|||||||
test ecx, ecx
|
test ecx, ecx
|
||||||
jz @f
|
jz @f
|
||||||
cmp eax, static_background_data
|
cmp eax, static_background_data
|
||||||
|
|
||||||
jz .ret
|
jz .ret
|
||||||
@@:
|
@@:
|
||||||
mov ebx, [mem_BACKGROUND]
|
mov ebx, [mem_BACKGROUND]
|
||||||
@ -2726,6 +2704,7 @@ sys_redrawstat:
|
|||||||
mov [edx + RECT.left], 0
|
mov [edx + RECT.left], 0
|
||||||
mov [edx + RECT.top], 0
|
mov [edx + RECT.top], 0
|
||||||
mov eax, [Screen_Max_X]
|
mov eax, [Screen_Max_X]
|
||||||
|
|
||||||
mov [edx + RECT.right], eax
|
mov [edx + RECT.right], eax
|
||||||
mov eax, [Screen_Max_Y]
|
mov eax, [Screen_Max_Y]
|
||||||
mov [edx + RECT.bottom], eax
|
mov [edx + RECT.bottom], eax
|
||||||
|
Loading…
Reference in New Issue
Block a user