Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/concurrency/kernel/startup.cfa

    rf2384c9a r1eb239e4  
    7878static void ?{}(processorCtx_t & this, processor * proc, current_stack_info_t * info);
    7979
    80 #if defined(__CFA_WITH_VERIFY__)
    81         static bool verify_fwd_bck_rng(void);
    82 #endif
    83 
    8480//-----------------------------------------------------------------------------
    8581// Forward Declarations for other modules
     
    162158        __cfa_dbg_global_clusters.list{ __get };
    163159        __cfa_dbg_global_clusters.lock{};
    164 
    165         /* paranoid */ verify( verify_fwd_bck_rng() );
    166160
    167161        // Initialize the global scheduler lock
     
    522516        ( this.terminated ){ 0 };
    523517        ( this.runner ){};
    524 
    525         disable_interrupts();
    526                 init( this, name, _cltr );
    527         enable_interrupts( __cfaabi_dbg_ctx );
     518        init( this, name, _cltr );
    528519
    529520        __cfadbg_print_safe(runtime_core, "Kernel : Starting core %p\n", &this);
     
    549540        free( this.stack );
    550541
    551         disable_interrupts();
    552                 deinit( this );
    553         enable_interrupts( __cfaabi_dbg_ctx );
     542        deinit( this );
    554543}
    555544
     
    683672        return stack;
    684673}
    685 
    686 #if defined(__CFA_WITH_VERIFY__)
    687 static bool verify_fwd_bck_rng(void) {
    688         kernelTLS.ready_rng.fwd_seed = 25214903917_l64u * (rdtscl() ^ (uintptr_t)&verify_fwd_bck_rng);
    689 
    690         unsigned values[10];
    691         for(i; 10) {
    692                 values[i] = __tls_rand_fwd();
    693         }
    694 
    695         __tls_rand_advance_bck();
    696 
    697         for ( i; 9 -~= 0 ) {
    698                 if(values[i] != __tls_rand_bck()) {
    699                         return false;
    700                 }
    701         }
    702 
    703         return true;
    704 }
    705 #endif
Note: See TracChangeset for help on using the changeset viewer.