* Fixed a stack problem - OS task used stack at 0x30000

now it uses sysint_stack_data+4096*2 - slot 1 stack;

* Some fixes for memmap.inc

git-svn-id: svn://kolibrios.org@13 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Ivan Poddubny 2005-10-25 16:13:16 +00:00
parent 94f0f6c818
commit b98147a6a3
2 changed files with 11 additions and 15 deletions

View File

@ -527,9 +527,7 @@ include 'vmodeld.inc'
call build_scheduler ; sys32.inc call build_scheduler ; sys32.inc
; LOAD IDT ; LOAD IDT
; <IP 05.02.2005> lidt [cs:idtreg]
lidt [cs:idtreg] ;[cs:idts]
; </IP>
; READ CPUID RESULT ; READ CPUID RESULT
@ -650,16 +648,11 @@ include 'vmodeld.inc'
; set default flags & stacks ; set default flags & stacks
mov [l.eflags],dword 0x11202 ; sti and resume mov [l.eflags],dword 0x11202 ; sti and resume
mov [l.ss0], os_data mov [l.ss0], os_data
;mov [l.ss1], ring1_data
;mov [l.ss2], ring2_data
;mov [l.esp0], 0x52000
;mov [l.esp1], 0x53000
;mov [l.esp2], 0x54000
; osloop - TSS ; osloop - TSS
mov eax,cr3 mov eax,cr3
mov [l.cr3],eax mov [l.cr3],eax
mov [l.eip],osloop mov [l.eip],osloop
mov [l.esp],0x30000 mov [l.esp],sysint_stack_data + 4096*2 ; uses slot 1 stack
mov [l.cs],os_code mov [l.cs],os_code
mov [l.ss],os_data mov [l.ss],os_data
mov [l.ds],os_data mov [l.ds],os_data

View File

@ -126,8 +126,8 @@
; FFF5 byte 1 do not draw pointer ; FFF5 byte 1 do not draw pointer
; FFFF byte do not change task for 1/100 sec. ; FFFF byte do not change task for 1/100 sec.
; ;
; 10000 -> 1FFFF 32 bit os ; 10000 -> 3DBFF kernel, 32-bit run-time code (up to 183 Kb)
; 20000 -> 3EBFF 32 bit stack ; 3DC00 -> 3EBFF stack at boot time (4Kb)
; 3EC00 -> 3F5FF basic text font II ; 3EC00 -> 3F5FF basic text font II
; 3F600 -> 3FFFF basic text font I ; 3F600 -> 3FFFF basic text font I
; 40000 -> 4FFFF data of retrieved disks and partitions (Mario79) ; 40000 -> 4FFFF data of retrieved disks and partitions (Mario79)
@ -161,7 +161,7 @@
; 280000 -> 281FFF ramdisk fat ; 280000 -> 281FFF ramdisk fat
; 282000 -> 283FFF floppy fat ; 282000 -> 283FFF floppy fat
; ;
; 284000 -> 29FFFF free ; 284000 -> 29FFFF free (112 Kb)
; ;
; 2A0000 -> 2B00ff wav device data ; 2A0000 -> 2B00ff wav device data
; 2C0000 -> 2C3fff button info ; 2C0000 -> 2C3fff button info
@ -200,7 +200,7 @@
; 770000 -> 777fff tcp memory ( 32 kb) ; 770000 -> 777fff tcp memory ( 32 kb)
; ;
; 778000 -> 77ffff window skinning ( 32 kb) ; 778000 -> 77ffff window skinning ( 32 kb)
; 780000 -> 7fffff free ; 780000 -> 7fffff free (512 Kb)
; ;
; 800000 -> BFFFFF mapped to LFB ; 800000 -> BFFFFF mapped to LFB
; ;
@ -213,10 +213,13 @@
; 0C dword draw limit - y end ; 0C dword draw limit - y end
; 1C dword app int vector ; 1C dword app int vector
; ;
; C03000 -> D11fff sysint_stack_data ; C03000 -> D02fff sysint_stack_data
; - interrupt stacks ; - ring0 stacks for ring3 processes
; - used for interrupt handling
; - 256 entries * 4096 step ; - 256 entries * 4096 step
; ;
; D03000 -> D1ffff free (116 Kb)
;
; D20000 -> F28000 TSS and IO map for (8192*8)=65536 ports ; D20000 -> F28000 TSS and IO map for (8192*8)=65536 ports
; (128+8192)*256 = 557956 = 0x88000 ; (128+8192)*256 = 557956 = 0x88000
; ;