forked from KolibriOS/kolibrios
* code clearing
* bug fix in "show_error_parameters", now registers value correctly show git-svn-id: svn://kolibrios.org@658 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
eb7b2475c8
commit
8eaf6e2fcb
@ -116,11 +116,10 @@ exc_c:
|
|||||||
jnz .debug
|
jnz .debug
|
||||||
sti
|
sti
|
||||||
; not debuggee => say error and terminate
|
; not debuggee => say error and terminate
|
||||||
add esp, 0x20 ;28h
|
|
||||||
movzx eax, bl
|
movzx eax, bl
|
||||||
mov [error_interrupt], eax
|
mov [error_interrupt], eax
|
||||||
call show_error_parameters
|
call show_error_parameters
|
||||||
|
add esp, 0x20
|
||||||
mov edx, [TASK_BASE]
|
mov edx, [TASK_BASE]
|
||||||
mov [edx + TASKDATA.state], byte 4
|
mov [edx + TASKDATA.state], byte 4
|
||||||
|
|
||||||
@ -147,79 +146,13 @@ exc_c:
|
|||||||
restore_ring3_context
|
restore_ring3_context
|
||||||
iretd
|
iretd
|
||||||
|
|
||||||
writehex:
|
|
||||||
pusha
|
|
||||||
|
|
||||||
mov edi, [write_error_to]
|
|
||||||
mov esi, 8
|
|
||||||
@@:
|
|
||||||
mov ecx, eax
|
|
||||||
and ecx, 0xf
|
|
||||||
|
|
||||||
mov cl,[ecx+hexletters]
|
|
||||||
mov [edi],cl
|
|
||||||
dec edi
|
|
||||||
|
|
||||||
shr eax,4
|
|
||||||
dec esi
|
|
||||||
jnz @b
|
|
||||||
|
|
||||||
popa
|
|
||||||
ret
|
|
||||||
|
|
||||||
iglobal
|
iglobal
|
||||||
hexletters db '0123456789ABCDEF'
|
hexletters db '0123456789ABCDEF'
|
||||||
|
error_interrupt dd -1
|
||||||
error_interrupt dd -1
|
|
||||||
|
|
||||||
process_error db 'K : Process - forced terminate INT: 00000000',13,10,0
|
|
||||||
process_pid db 'K : Process - forced terminate PID: 00000000',13,10,0
|
|
||||||
process_eip db 'K : Process - forced terminate EIP: 00000000',13,10,0
|
|
||||||
system_error db 'K : Kernel error',13,10,0
|
|
||||||
endg
|
endg
|
||||||
|
|
||||||
uglobal
|
;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
||||||
write_error_to dd 0x0
|
|
||||||
endg
|
|
||||||
|
|
||||||
;show_error_parameters:
|
|
||||||
;
|
|
||||||
; mov [write_error_to],process_pid+43
|
|
||||||
; mov eax,[CURRENT_TASK]
|
|
||||||
; shl eax, 5
|
|
||||||
; mov eax,[CURRENT_TASK+TASKDATA.pid+eax]
|
|
||||||
; call writehex
|
|
||||||
;
|
|
||||||
; mov [write_error_to],process_error+43
|
|
||||||
; mov eax,[error_interrupt]
|
|
||||||
; call writehex
|
|
||||||
;
|
|
||||||
; cmp dword [esp+4+4], os_code ; CS
|
|
||||||
; jnz @f
|
|
||||||
; ;mov esi,system_error
|
|
||||||
; ;call sys_msg_board_str
|
|
||||||
; DEBUGF 1,"%s",system_error
|
|
||||||
; @@:
|
|
||||||
; mov eax, [esp+4] ; EIP
|
|
||||||
;
|
|
||||||
; mov [write_error_to],process_eip+43
|
|
||||||
; call writehex
|
|
||||||
;
|
|
||||||
; ;mov esi,process_error
|
|
||||||
; ;call sys_msg_board_str
|
|
||||||
; DEBUGF 1,"%s",process_error
|
|
||||||
;
|
|
||||||
; ;mov esi,process_pid
|
|
||||||
; ;call sys_msg_board_str
|
|
||||||
; DEBUGF 1,"%s",process_pid
|
|
||||||
;
|
|
||||||
; ;mov esi,process_eip
|
|
||||||
; ;call sys_msg_board_str
|
|
||||||
; DEBUGF 1,"%s",process_eip
|
|
||||||
;
|
|
||||||
; ret
|
|
||||||
show_error_parameters:
|
show_error_parameters:
|
||||||
diff16 '[esp]',0,$
|
|
||||||
mov eax,[CURRENT_TASK]
|
mov eax,[CURRENT_TASK]
|
||||||
shl eax, 5
|
shl eax, 5
|
||||||
DEBUGF 1, "K : Process - forced terminate PID: %x\n", [CURRENT_TASK + TASKDATA.pid + eax]
|
DEBUGF 1, "K : Process - forced terminate PID: %x\n", [CURRENT_TASK + TASKDATA.pid + eax]
|
||||||
@ -236,15 +169,12 @@ diff16 '[esp]',0,$
|
|||||||
mov edi, msg_sel_ker
|
mov edi, msg_sel_ker
|
||||||
mov ebx, [esp - 16 + 0x20]
|
mov ebx, [esp - 16 + 0x20]
|
||||||
@@:
|
@@:
|
||||||
; DEBUGF 1, "ESP : %x\nK : Flags : %x CS : %x (%s)\n", ebx, [esp + 12 + 0x20], eax, edi
|
DEBUGF 1, "ESP : %x\nK : Flags : %x CS : %x (%s)\n", ebx, [esp + 12 + 0x20], eax, edi
|
||||||
DEBUGF 1, "ESP : %x\nK : Flags : %x CS : %x\n", ebx, [esp + 12 + 0x20], eax
|
ret
|
||||||
ret
|
;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
; irq1 -> hid/keyboard.inc
|
; irq1 -> hid/keyboard.inc
|
||||||
|
|
||||||
|
|
||||||
macro irqh [num]
|
macro irqh [num]
|
||||||
{
|
{
|
||||||
forward
|
forward
|
||||||
|
Loading…
Reference in New Issue
Block a user