Changeset 425 for trunk/hal/tsar_mips32/core/hal_exception.c
- Timestamp:
- Jan 29, 2018, 5:57:57 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/hal/tsar_mips32/core/hal_exception.c
r416 r425 284 284 default: // this is a kernel error => panic 285 285 { 286 printk("\n[PANIC] in %s for thread %x : kernel exception= %x / vaddr = %x\n",287 __FUNCTION__ ,this->trdid , excp_code , bad_vaddr );286 assert( false , __FUNCTION__ , "thread %x / excp_code = %x / vaddr = %x\n", 287 this->trdid , excp_code , bad_vaddr ); 288 288 289 289 return EXCP_KERNEL_PANIC; … … 297 297 ////////////////////////////////////////////////////////////////////////////////////////// 298 298 // @ this : pointer on faulty thread descriptor. 299 // @ uzone : pointer on register array.299 // @ uzone : pointer on register array. 300 300 // @ error : EXCP_USER_ERROR or EXCP_KERNEL_PANIC 301 301 ////////////////////////////////////////////////////////////////////////////////////////// … … 372 372 // get pointer on faulty thread uzone 373 373 this = CURRENT_THREAD; 374 uzone = (uint32_t *)CURRENT_THREAD->uzone ;374 uzone = (uint32_t *)CURRENT_THREAD->uzone_current; 375 375 376 376 // get 4 bits XCODE from CP0_CR register … … 424 424 hal_exception_dump( this , uzone , error ); 425 425 426 // FIXME : replace this loop by sys_kill() 427 while( 1 ) asm volatile ("nop"); 428 // sys_kill( this->process->pid , SIGKILL ); 426 sys_kill( this->process->pid , SIGKILL ); 429 427 } 430 428 else if( error == EXCP_KERNEL_PANIC ) // kernel error => kernel panic 431 429 { 432 430 hal_exception_dump( this , uzone , error ); 433 panic( "for thread %x in process %x on core [%x,%d]", 431 432 assert( false , __FUNCTION__ , "thread %x in process %x on core [%x,%d]", 434 433 this->trdid , this->process->pid , local_cxy , this->core->lid ); 435 434 }
Note: See TracChangeset
for help on using the changeset viewer.