From 26d83dcf4ae19cb4b9256d9a3e2134c64133b1bc Mon Sep 17 00:00:00 2001 From: "Evgeny Grechnikov (Diamond)" Date: Tue, 22 Sep 2009 17:10:24 +0000 Subject: [PATCH] keep physical page 0 intact (used by some BIOSes in int 13h) git-svn-id: svn://kolibrios.org@1172 a494cfbc-eb01-0410-851d-a64ba20cac60 --- kernel/trunk/const.inc | 4 ++-- kernel/trunk/kernel.asm | 4 ++-- kernel/trunk/memmap.inc | 7 ++++--- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/kernel/trunk/const.inc b/kernel/trunk/const.inc index 10be1bf82a..957d5a5820 100644 --- a/kernel/trunk/const.inc +++ b/kernel/trunk/const.inc @@ -186,7 +186,7 @@ TSS_SIZE equ (128+8192) OS_BASE equ 0x80000000 -window_data equ OS_BASE +window_data equ (OS_BASE+0x0001000) CURRENT_TASK equ (OS_BASE+0x0003000) TASK_COUNT equ (OS_BASE+0x0003004) @@ -331,7 +331,7 @@ LFB_BASE equ 0xFE000000 new_app_base equ 0; -twdw equ 0x3000 ;(CURRENT_TASK-window_data) +twdw equ 0x2000 ;(CURRENT_TASK-window_data) std_application_base_address equ new_app_base RING0_STACK_SIZE equ (0x2000 - 512) ;512 байт для контекста FPU diff --git a/kernel/trunk/kernel.asm b/kernel/trunk/kernel.asm index da42000459..711eb18a71 100644 --- a/kernel/trunk/kernel.asm +++ b/kernel/trunk/kernel.asm @@ -238,8 +238,8 @@ B32: mov edi,0x2F0000 mov ecx,0x10000 / 4 rep movsd - xor edi, edi - mov ecx,0x10000 / 4 + mov edi,0x1000 + mov ecx,0xf000 / 4 rep stosd call test_cpu diff --git a/kernel/trunk/memmap.inc b/kernel/trunk/memmap.inc index 66623229e2..e54718c0f5 100644 --- a/kernel/trunk/memmap.inc +++ b/kernel/trunk/memmap.inc @@ -30,7 +30,10 @@ ; ; 0x00000000 -> 0x7FFFFFFF application 2Gb -; 0x80000000 -> 1FFF window_data - 256 entries +; 0x80000000 -> 0FFF physical page zero - do not write +; (used by int 13h in some configurations) +; +; 0x80001000 -> 2FFF window_data - 256 entries ; ; 0000 dword x start ; 0004 dword y start @@ -41,8 +44,6 @@ ; 0018 dword color of frames ; 001C dword window flags, +30 = window drawn, +31 redraw flag ; -; 2000 -> 2FFF free -; ; 3000 -> 4FFF task list - 256 entries ; ; 00 dword process count