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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [rtems/] [c/] [src/] [exec/] [score/] [include/] [rtems/] [score/] [threadmp.h] - Blame information for rev 582

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 30 unneback
/*  threadmp.h
2
 *
3
 *  This include file contains the specification for all routines
4
 *  and data specific to the multiprocessing portion of the thread package.
5
 *
6
 *  COPYRIGHT (c) 1989-1999.
7
 *  On-Line Applications Research Corporation (OAR).
8
 *
9
 *  The license and distribution terms for this file may be
10
 *  found in the file LICENSE in this distribution or at
11
 *  http://www.OARcorp.com/rtems/license.html.
12
 *
13
 *  $Id: threadmp.h,v 1.2 2001-09-27 11:59:32 chris Exp $
14
 */
15
 
16
#ifndef __RTEMS_THREAD_MP_h
17
#define __RTEMS_THREAD_MP_h
18
 
19
#ifdef __cplusplus
20
extern "C" {
21
#endif
22
 
23
/*
24
 *  _Thread_MP_Handler_initialization
25
 *
26
 *  DESCRIPTION:
27
 *
28
 *  This routine initializes the multiprocessing portion of the Thread Handler.
29
 */
30
 
31
void _Thread_MP_Handler_initialization (
32
  unsigned32 maximum_proxies
33
);
34
 
35
/*
36
 *  _Thread_MP_Allocate_proxy
37
 *
38
 *  DESCRIPTION:
39
 *
40
 *  This  allocates a proxy control block from
41
 *  the inactive chain of free proxy control blocks.
42
 *
43
 *  NOTE: This function returns a thread control pointer
44
 *        because proxies are substitutes for remote threads.
45
 */
46
 
47
Thread_Control *_Thread_MP_Allocate_proxy (
48
  States_Control the_state
49
);
50
 
51
/*
52
 *  _Thread_MP_Find_proxy
53
 *
54
 *  DESCRIPTION:
55
 *
56
 *  This function removes the proxy control block for the specified
57
 *  id from the active chain of proxy control blocks.
58
 */
59
 
60
Thread_Control *_Thread_MP_Find_proxy (
61
  Objects_Id the_id
62
);
63
 
64
/*
65
 *  The following is used to determine when the multiprocessing receive
66
 *  thread is executing so that a proxy can be allocated instead of
67
 *  blocking the multiprocessing receive thread.
68
 */
69
 
70
SCORE_EXTERN Thread_Control *_Thread_MP_Receive;
71
 
72
/*
73
 * The following chains are used to manage proxies.
74
 */
75
 
76
SCORE_EXTERN Chain_Control _Thread_MP_Active_proxies;
77
SCORE_EXTERN Chain_Control _Thread_MP_Inactive_proxies;
78
 
79
#ifndef __RTEMS_APPLICATION__
80
#include <rtems/score/threadmp.inl>
81
#endif
82
 
83
#ifdef __cplusplus
84
}
85
#endif
86
 
87
#endif
88
/* end of include file */

powered by: WebSVN 2.1.0

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