Changeset 30aa792 in rtems-schedsim


Ignore:
Timestamp:
May 9, 2014, 8:06:50 PM (5 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
master
Children:
3ad6235
Parents:
35047a1
Message:

Now appears to run again

Location:
schedsim
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • schedsim/rtems/rtems_init.c

    r35047a1 r30aa792  
    6464{
    6565  _System_state_Handler_initialization( FALSE );
     66
     67  _CPU_Initialize();
    6668
    6769  /*
     
    165167      _Profiling_Thread_dispatch_enable( cpu_self, 0 );
    166168
    167       _Per_CPU_Release( cpu_self );
     169      /* For whatever reason, we haven't locked our per cpu yet in the
     170       * Scheduler Simulator. Until this is done, this release is not needed.
     171       */
     172      /* _Per_CPU_Release( cpu_self ); */
    168173
    169174      level =  _Thread_Executing->Start.isr_level;
  • schedsim/shell/schedsim_priority/wrap_thread_dispatch.c

    r35047a1 r30aa792  
    3131void check_heir_and_executing(void)
    3232{
    33   if ( last_heir != _Thread_Heir )
    34     PRINT_HEIR();
     33  uint32_t level;
    3534
    36   if ( last_executing != _Thread_Executing )
    37     PRINT_EXECUTING();
     35  _ISR_Disable_without_giant( level );
     36    if ( last_heir != _Thread_Heir )
     37      PRINT_HEIR();
    3838
    39   last_heir = _Thread_Heir;
    40   last_executing = _Thread_Executing;
     39    if ( last_executing != _Thread_Executing )
     40      PRINT_EXECUTING();
     41
     42    last_heir = _Thread_Heir;
     43    last_executing = _Thread_Executing;
     44  _ISR_Enable_without_giant( level );
    4145}
    4246
  • schedsim/shell/schedsim_smpsimple/wrap_thread_dispatch.c

    r35047a1 r30aa792  
    2727void Init__wrap__Thread_Dispatch()
    2828{
    29   last_heir = (Thread_Control_ptr *) calloc( sizeof( Thread_Control_ptr ), _SMP_Processor_count );
    30   last_executing =  (Thread_Control_ptr *) calloc( sizeof( Thread_Control_ptr ), _SMP_Processor_count );
     29  last_heir = (Thread_Control_ptr *) calloc(
     30    sizeof( Thread_Control_ptr ),
     31    _SMP_Processor_count
     32  );
     33  last_executing =  (Thread_Control_ptr *) calloc(
     34    sizeof( Thread_Control_ptr ),
     35    _SMP_Processor_count
     36  );
    3137}
    3238
    3339void check_heir_and_executing(void)
    3440{
    35   if ( last_heir[Schedsim_Current_cpu] != _Thread_Heir )
    36     PRINT_HEIR();
     41  uint32_t level;
    3742
    38   if ( last_executing[Schedsim_Current_cpu] != _Thread_Executing )
    39     PRINT_EXECUTING();
     43  _ISR_Disable_without_giant( level );
     44    if ( last_heir[Schedsim_Current_cpu] != _Thread_Heir )
     45      PRINT_HEIR();
    4046
    41   last_heir[Schedsim_Current_cpu] = _Thread_Heir;
    42   last_executing[Schedsim_Current_cpu] = _Thread_Executing;
     47    if ( last_executing[Schedsim_Current_cpu] != _Thread_Executing )
     48      PRINT_EXECUTING();
     49
     50    last_heir[Schedsim_Current_cpu] = _Thread_Heir;
     51    last_executing[Schedsim_Current_cpu] = _Thread_Executing;
     52  _ISR_Enable_without_giant( level );
    4353}
    4454
Note: See TracChangeset for help on using the changeset viewer.