Small fixes for sched.inc & sys32.inc

Less code, same work.

Updated memmap.inc

git-svn-id: svn://kolibrios.org@10 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Ivan Poddubny 2005-10-17 15:53:11 +00:00
parent c57ff1bc79
commit cda72a8906
3 changed files with 16 additions and 32 deletions

View File

@ -40,7 +40,6 @@ irq0:
mov ebx,[0x3000] mov ebx,[0x3000]
xor esi,esi ;esi - should we change task?
cmp [0xffff], byte 1 cmp [0xffff], byte 1
je .do_not_change_task je .do_not_change_task
@ -66,20 +65,11 @@ irq0:
mov [0x3000],ebx mov [0x3000],ebx
mov [0x3010],edi mov [0x3010],edi
jmp @f
.do_not_change_task: .do_not_change_task:
inc esi ;set don't change task flag
@@:
call _rdtsc call _rdtsc
mov [edi+0x18],eax mov [edi+0x18],eax
cmp [0xffff],byte 0
je @f
dec byte [0xffff]
@@:
shl ebx, 3 shl ebx, 3
xor eax, eax xor eax, eax
add ebx, tss0 add ebx, tss0
@ -90,14 +80,15 @@ irq0:
mov dx,0x20 mov dx,0x20
out dx,al out dx,al
test esi,esi ; skip jmp to TSS if we aren't going to switch tasks cmp [0xffff],byte 0
jnz @f je .switch
dec byte [0xffff]
.switch: jmp @f
inc [context_counter] ;noname & halyavin .switch:
jmp pword [0xB000] jmp pword [0xB000]
inc [context_counter] ;noname & halyavin
@@: @@:
pop es ds pop es ds
popad popad
iret iret

View File

@ -282,12 +282,15 @@ show_error_parameters:
mov eax,[0x3000] mov eax,[0x3000]
shl eax,8 shl eax,8
cmp [0x80000+eax+0xB0],byte 0 cmp [0x80000+eax+0xB0],byte 0
jnz .system_error jz @f
mov esi,system_error
call sys_msg_board_str
@@:
mov eax,[0x3000] mov eax,[0x3000]
imul eax,tss_step imul eax,tss_step
mov eax,[eax+tss_data+l.eip-tss_sceleton] mov eax,[eax+tss_data+l.eip-tss_sceleton]
.out_eip:
mov [write_error_to],process_eip+43 mov [write_error_to],process_eip+43
call writehex call writehex
@ -301,22 +304,13 @@ show_error_parameters:
call sys_msg_board_str call sys_msg_board_str
ret ret
.system_error:
mov esi,system_error
call sys_msg_board_str
mov eax,[0x3000]
shl eax,7
mov eax,[eax+0x298000+l.eip-tss_sceleton]
jmp .out_eip
; irq1 -> hid/keyboard.inc ; irq1 -> hid/keyboard.inc
macro irqhh [num] macro irqh [num]
{ {
forward forward
p_irq#num : p_irq#num :
@ -325,7 +319,7 @@ macro irqhh [num]
jmp irq_c jmp irq_c
} }
irqhh 2,3,4,5,6,7,8,9,10,11,12,14,15 irqh 2,3,4,5,6,7,8,9,10,11,12,14,15
irq_c: irq_c:
push ds es push ds es
@ -359,7 +353,6 @@ irqD:
iret iret
irqhandler: irqhandler:
push edi push edi

View File

@ -193,7 +193,7 @@
; 600000 -> 6FFFFF hd cache ; 600000 -> 6FFFFF hd cache
; ;
; 700000 -> 71ffff tcp memory (128 kb) ; 700000 -> 71ffff tcp memory (128 kb)
; 720000 -> 75ffff interrupt stacks (256 kpl * 1024) ; 720000 -> 75ffff free (256 kb)
; ;
; 760000 -> 76ffff !vrr driver ; 760000 -> 76ffff !vrr driver
; 770000 -> 777fff tcp memory ( 32 kb) ; 770000 -> 777fff tcp memory ( 32 kb)