forked from Imagelibrary/rtems
added calls to _Thread_Disable_dispatch to match requirements
for invocation of _Thread_Handler
This commit is contained in:
@@ -14,9 +14,9 @@
|
|||||||
#include <rtems.h>
|
#include <rtems.h>
|
||||||
#include "system.h"
|
#include "system.h"
|
||||||
#include "fptest.h"
|
#include "fptest.h"
|
||||||
#include "coverhd.h"
|
#include <coverhd.h>
|
||||||
#include "tmacros.h"
|
#include <tmacros.h>
|
||||||
#include "timesys.h"
|
#include <timesys.h>
|
||||||
|
|
||||||
#undef EXTERN
|
#undef EXTERN
|
||||||
#define EXTERN
|
#define EXTERN
|
||||||
@@ -234,6 +234,8 @@ rtems_task Middle_task(
|
|||||||
|
|
||||||
_Context_Switch_necessary = FALSE;
|
_Context_Switch_necessary = FALSE;
|
||||||
|
|
||||||
|
_Thread_Disable_dispatch();
|
||||||
|
|
||||||
Timer_initialize();
|
Timer_initialize();
|
||||||
_Context_Switch( &Middle_tcb->Registers, &_Thread_Executing->Registers );
|
_Context_Switch( &Middle_tcb->Registers, &_Thread_Executing->Registers );
|
||||||
}
|
}
|
||||||
@@ -263,6 +265,8 @@ rtems_task Low_task(
|
|||||||
|
|
||||||
_Context_Switch_necessary = FALSE;
|
_Context_Switch_necessary = FALSE;
|
||||||
|
|
||||||
|
_Thread_Disable_dispatch();
|
||||||
|
|
||||||
Timer_initialize();
|
Timer_initialize();
|
||||||
_Context_Restore_fp( &_Thread_Executing->fp_context );
|
_Context_Restore_fp( &_Thread_Executing->fp_context );
|
||||||
_Context_Switch( &executing->Registers, &_Thread_Executing->Registers );
|
_Context_Switch( &executing->Registers, &_Thread_Executing->Registers );
|
||||||
@@ -294,6 +298,8 @@ rtems_task Floating_point_task_1(
|
|||||||
|
|
||||||
_Context_Switch_necessary = FALSE;
|
_Context_Switch_necessary = FALSE;
|
||||||
|
|
||||||
|
_Thread_Disable_dispatch();
|
||||||
|
|
||||||
Timer_initialize();
|
Timer_initialize();
|
||||||
_Context_Save_fp( &executing->fp_context );
|
_Context_Save_fp( &executing->fp_context );
|
||||||
_Context_Restore_fp( &_Thread_Executing->fp_context );
|
_Context_Restore_fp( &_Thread_Executing->fp_context );
|
||||||
@@ -321,6 +327,8 @@ rtems_task Floating_point_task_1(
|
|||||||
|
|
||||||
_Context_Switch_necessary = FALSE;
|
_Context_Switch_necessary = FALSE;
|
||||||
|
|
||||||
|
_Thread_Disable_dispatch();
|
||||||
|
|
||||||
Timer_initialize();
|
Timer_initialize();
|
||||||
_Context_Save_fp( &executing->fp_context );
|
_Context_Save_fp( &executing->fp_context );
|
||||||
_Context_Restore_fp( &_Thread_Executing->fp_context );
|
_Context_Restore_fp( &_Thread_Executing->fp_context );
|
||||||
@@ -356,6 +364,8 @@ rtems_task Floating_point_task_2(
|
|||||||
|
|
||||||
_Context_Switch_necessary = FALSE;
|
_Context_Switch_necessary = FALSE;
|
||||||
|
|
||||||
|
_Thread_Disable_dispatch();
|
||||||
|
|
||||||
Timer_initialize();
|
Timer_initialize();
|
||||||
_Context_Save_fp( &executing->fp_context );
|
_Context_Save_fp( &executing->fp_context );
|
||||||
_Context_Restore_fp( &_Thread_Executing->fp_context );
|
_Context_Restore_fp( &_Thread_Executing->fp_context );
|
||||||
|
|||||||
@@ -14,9 +14,9 @@
|
|||||||
#include <rtems.h>
|
#include <rtems.h>
|
||||||
#include "system.h"
|
#include "system.h"
|
||||||
#include "fptest.h"
|
#include "fptest.h"
|
||||||
#include "coverhd.h"
|
#include <coverhd.h>
|
||||||
#include "tmacros.h"
|
#include <tmacros.h>
|
||||||
#include "timesys.h"
|
#include <timesys.h>
|
||||||
|
|
||||||
#undef EXTERN
|
#undef EXTERN
|
||||||
#define EXTERN
|
#define EXTERN
|
||||||
@@ -234,6 +234,8 @@ rtems_task Middle_task(
|
|||||||
|
|
||||||
_Context_Switch_necessary = FALSE;
|
_Context_Switch_necessary = FALSE;
|
||||||
|
|
||||||
|
_Thread_Disable_dispatch();
|
||||||
|
|
||||||
Timer_initialize();
|
Timer_initialize();
|
||||||
_Context_Switch( &Middle_tcb->Registers, &_Thread_Executing->Registers );
|
_Context_Switch( &Middle_tcb->Registers, &_Thread_Executing->Registers );
|
||||||
}
|
}
|
||||||
@@ -263,6 +265,8 @@ rtems_task Low_task(
|
|||||||
|
|
||||||
_Context_Switch_necessary = FALSE;
|
_Context_Switch_necessary = FALSE;
|
||||||
|
|
||||||
|
_Thread_Disable_dispatch();
|
||||||
|
|
||||||
Timer_initialize();
|
Timer_initialize();
|
||||||
_Context_Restore_fp( &_Thread_Executing->fp_context );
|
_Context_Restore_fp( &_Thread_Executing->fp_context );
|
||||||
_Context_Switch( &executing->Registers, &_Thread_Executing->Registers );
|
_Context_Switch( &executing->Registers, &_Thread_Executing->Registers );
|
||||||
@@ -294,6 +298,8 @@ rtems_task Floating_point_task_1(
|
|||||||
|
|
||||||
_Context_Switch_necessary = FALSE;
|
_Context_Switch_necessary = FALSE;
|
||||||
|
|
||||||
|
_Thread_Disable_dispatch();
|
||||||
|
|
||||||
Timer_initialize();
|
Timer_initialize();
|
||||||
_Context_Save_fp( &executing->fp_context );
|
_Context_Save_fp( &executing->fp_context );
|
||||||
_Context_Restore_fp( &_Thread_Executing->fp_context );
|
_Context_Restore_fp( &_Thread_Executing->fp_context );
|
||||||
@@ -321,6 +327,8 @@ rtems_task Floating_point_task_1(
|
|||||||
|
|
||||||
_Context_Switch_necessary = FALSE;
|
_Context_Switch_necessary = FALSE;
|
||||||
|
|
||||||
|
_Thread_Disable_dispatch();
|
||||||
|
|
||||||
Timer_initialize();
|
Timer_initialize();
|
||||||
_Context_Save_fp( &executing->fp_context );
|
_Context_Save_fp( &executing->fp_context );
|
||||||
_Context_Restore_fp( &_Thread_Executing->fp_context );
|
_Context_Restore_fp( &_Thread_Executing->fp_context );
|
||||||
@@ -356,6 +364,8 @@ rtems_task Floating_point_task_2(
|
|||||||
|
|
||||||
_Context_Switch_necessary = FALSE;
|
_Context_Switch_necessary = FALSE;
|
||||||
|
|
||||||
|
_Thread_Disable_dispatch();
|
||||||
|
|
||||||
Timer_initialize();
|
Timer_initialize();
|
||||||
_Context_Save_fp( &executing->fp_context );
|
_Context_Save_fp( &executing->fp_context );
|
||||||
_Context_Restore_fp( &_Thread_Executing->fp_context );
|
_Context_Restore_fp( &_Thread_Executing->fp_context );
|
||||||
|
|||||||
Reference in New Issue
Block a user