OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [rtems/] [c/] [src/] [tests/] [sptests/] [sp04/] [tswitch.c] - Blame information for rev 173

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 30 unneback
/*  Task_switch
2
 *
3
 *  This routine is the tswitch user extension.  It determines which
4
 *  task is being switched to and displays a message indicating the
5
 *  time and date that it gained control.
6
 *
7
 *  Input parameters:
8
 *    unused  - pointer to currently running TCB
9
 *    heir    - pointer to heir TCB
10
 *
11
 *  Output parameters:  NONE
12
 *
13
 *  COPYRIGHT (c) 1989-1999.
14
 *  On-Line Applications Research Corporation (OAR).
15
 *
16
 *  The license and distribution terms for this file may be
17
 *  found in the file LICENSE in this distribution or at
18
 *  http://www.OARcorp.com/rtems/license.html.
19
 *
20
 *  $Id: tswitch.c,v 1.2 2001-09-27 12:02:31 chris Exp $
21
 */
22
 
23
#include "system.h"
24
 
25
struct taskSwitchLog taskSwitchLog[1000];
26
int taskSwitchLogIndex;
27
volatile int testsFinished;
28
 
29
rtems_extension Task_switch(
30
  rtems_tcb *unused,
31
  rtems_tcb *heir
32
)
33
{
34
  rtems_unsigned32  index;
35
  rtems_time_of_day time;
36
  rtems_status_code status;
37
 
38
  index = task_number( heir->Object.id );
39
 
40
  switch( index ) {
41
    case 1:
42
    case 2:
43
    case 3:
44
      Run_count[ index ] += 1;
45
 
46
      status = rtems_clock_get( RTEMS_CLOCK_GET_TOD, &time );
47
      directive_failed_with_level( status, "rtems_clock_get", 1 );
48
 
49
      if (taskSwitchLogIndex < (sizeof taskSwitchLog / sizeof taskSwitchLog[0])) {
50
        taskSwitchLog[taskSwitchLogIndex].taskIndex = index;
51
        taskSwitchLog[taskSwitchLogIndex].when = time;
52
        taskSwitchLogIndex++;
53
      }
54
      if ( time.second >= 16 )
55
        testsFinished = 1;
56
      break;
57
 
58
    case 0:
59
    default:
60
      break;
61
  }
62
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.