Ignore:
Timestamp:
Aug 29, 2017, 12:03:37 PM (7 years ago)
Author:
alain
Message:

This version executed successfully the user "init" process on a mono-processor TSAR architecture.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/kernel/kern/process.c

    r380 r406  
    9090    pid_t       parent_pid;
    9191
    92     process_dmsg("\n[INFO] %s : enters for process %x in cluster %x\n",
    93                  __FUNCTION__ , pid , local_cxy );
     92    process_dmsg("\n[DMSG] %s : core[%x,%d] enters for process %x\n",
     93    __FUNCTION__ , local_cxy , CURRENT_THREAD->core->lid , pid );
    9494
    9595    // get parent process cluster, local pointer, and pid
     
    116116    process->ppid  = parent_pid;
    117117
    118     // reset reference process vmm (not for kernel process)
     118    // initialize reference process vmm (not for kernel process)
    119119    if( pid ) vmm_init( process );
    120120
     
    169169        hal_fence();
    170170
    171     process_dmsg("\n[INFO] %s : exit for process %x in cluster %x\n",
     171    process_dmsg("\n[DMSG] %s : exit for process %x in cluster %x\n",
    172172                 __FUNCTION__ , pid );
    173173
     
    198198    local_process->ref_xp = reference_process_xp;
    199199
    200     process_dmsg("\n[INFO] %s : enter for process %x in cluster %x\n",
     200    process_dmsg("\n[DMSG] %s : enter for process %x in cluster %x\n",
    201201                 __FUNCTION__ , local_process->pid );
    202202
     
    233233        hal_fence();
    234234
    235     process_dmsg("\n[INFO] %s : exit for process %x in cluster %x\n",
     235    process_dmsg("\n[DMSG] %s : exit for process %x in cluster %x\n",
    236236                 __FUNCTION__ , local_process->pid );
    237237
     
    288288    vmm_destroy( process );
    289289
    290         process_dmsg("\n[INFO] %s for pid %d / page_faults = %d\n",
     290        process_dmsg("\n[DMSG] %s for pid %d / page_faults = %d\n",
    291291                 __FUNCTION__ , process->pid, process->vmm.pgfault_nr );
    292292}
     
    627627    parent_pid = hal_remote_lw( XPTR( parent_cxy , &parent_ptr->pid ) );
    628628
    629     exec_dmsg("\n[INFO] %s : thread %x on core[%x,%d] enters for path = %s\n",
     629    exec_dmsg("\n[DMSG] %s : thread %x on core[%x,%d] enters for path = %s\n",
    630630    __FUNCTION__, CURRENT_THREAD->trdid, local_cxy, CURRENT_THREAD->core->lid , path );
    631631
     
    654654    process_reference_init( process , pid , parent_xp );
    655655
    656     exec_dmsg("\n[INFO] %s : thread %x on core[%x,%d] created process %x / path = %s\n",
     656    exec_dmsg("\n[DMSG] %s : thread %x on core[%x,%d] created process %x / path = %s\n",
    657657    __FUNCTION__, CURRENT_THREAD->trdid, local_cxy, CURRENT_THREAD->core->lid, pid, path );
    658658
     
    670670                            XPTR( parent_cxy , &parent_ptr->fd_array) );
    671671
    672     exec_dmsg("\n[INFO] %s : fd_array copied from process %x to process %x\n",
     672    exec_dmsg("\n[DMSG] %s : fd_array copied from process %x to process %x\n",
    673673    __FUNCTION__, parent_pid , pid );
    674674
     
    688688        }
    689689
    690     exec_dmsg("\n[INFO] %s : code and data vsegs registered for process %x / path = %s\n",
     690    exec_dmsg("\n[DMSG] %s : code and data vsegs registered for process %x / path = %s\n",
    691691    __FUNCTION__ , pid , path );
    692692
     
    714714        }
    715715
    716         exec_dmsg("\n[INFO] %s : thread created for process %x on core %d in cluster %x\n",
     716        exec_dmsg("\n[DMSG] %s : thread created for process %x on core %d in cluster %x\n",
    717717               __FUNCTION__ , pid , core->lid , local_cxy );
     718
     719#if CONFIG_EXEC_DEBUG
     720if( hal_time_stamp() > CONFIG_EXEC_DEBUG )
     721{
     722    grdxt_print( &process->vmm.grdxt , GRDXT_TYPE_VSEG , process->pid );
     723    hal_gpt_print( &process->vmm.gpt , process->pid );
     724}
     725#endif
    718726
    719727    // update children list in parent process
     
    725733        thread_unblock( XPTR( local_cxy , thread ) , THREAD_BLOCKED_GLOBAL );
    726734
    727     exec_dmsg("\n[INFO] %s : exit for process %x\n",
     735    exec_dmsg("\n[DMSG] %s : exit for process %x\n",
    728736                __FUNCTION__, process->pid );
    729737
     
    747755    uint32_t  stderr_id;
    748756
    749         process_dmsg("\n[INFO] %s : enters in cluster %x\n", __FUNCTION__ , local_cxy );
     757        process_dmsg("\n[DMSG] %s : enters in cluster %x\n", __FUNCTION__ , local_cxy );
    750758
    751759    // open stdin / stdout / stderr pseudo-files
     
    771779        assert( (error1 == 0) , __FUNCTION__ , "cannot create process_init\n");
    772780
    773         process_dmsg("\n[INFO] %s : exit in cluster %x\n", __FUNCTION__ , local_cxy );
     781        process_dmsg("\n[DMSG] %s : exit in cluster %x\n", __FUNCTION__ , local_cxy );
    774782               
    775783    hal_fence();
Note: See TracChangeset for help on using the changeset viewer.