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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [rtems/] [c/] [src/] [tests/] [libtests/] [cpuuse/] [tswitch.c] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 158 chris
/*  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 208 chris
 *  $Id: tswitch.c,v 1.2 2001-09-27 12:02:11 chris Exp $
21 158 chris
 */
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
      fatal_directive_status_with_level( status, RTEMS_SUCCESSFUL,
48
                                         "rtems_clock_get", 1 );
49
 
50
      if (taskSwitchLogIndex <
51
          (sizeof taskSwitchLog / sizeof taskSwitchLog[0])) {
52
        taskSwitchLog[taskSwitchLogIndex].taskIndex = index;
53
        taskSwitchLog[taskSwitchLogIndex].when = time;
54
        taskSwitchLogIndex++;
55
      }
56
      if ( time.second >= 16 )
57
        testsFinished = 1;
58
 
59
      break;
60
 
61
    case 0:
62
    default:
63
      break;
64
  }
65
}

powered by: WebSVN 2.1.0

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