forked from KolibriOS/kolibrios
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:
parent
c57ff1bc79
commit
cda72a8906
@ -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
|
||||||
|
@ -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
|
||||||
|
|
||||||
@ -302,21 +305,12 @@ show_error_parameters:
|
|||||||
|
|
||||||
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
|
||||||
|
@ -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)
|
||||||
|
Loading…
Reference in New Issue
Block a user