annotate gsm-fw/riviera/rvf/rvf_i.h @ 281:082d12a1651e

fc-fsio: single command invokation works
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Mon, 24 Feb 2014 07:44:33 +0000
parents afceeeb2cba1
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
118
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
1 /****************************************************************************/
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
2 /* */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
3 /* Name rvf_i.h */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
4 /* */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
5 /* Function this file contains rvf private definitions */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
6 /* */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
7 /* Version 0.4 */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
8 /* */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
9 /* Date Modification */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
10 /* ------------------------------------ */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
11 /* 3/12/99 Create */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
12 /* 30/11/99 compliant to RV coding guidelines */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
13 /* 12/23/1999 change buffer structures, add memory bank related structures*/
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
14 /* 02/21/2000 change memory bank implementation. */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
15 /* 12/07/2000 implement dynamic memory allocation. */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
16 /* */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
17 /* Author David Lamy-Charrier (dlamy@tif.ti.com) */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
18 /* */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
19 /* (C) Copyright 1999 by Texas Instruments Incorporated, All Rights Reserved*/
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
20 /****************************************************************************/
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
21
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
22
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
23 #ifndef _RVF_I_H
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
24 #define _RVF_I_H
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
25
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
26
119
dd56546ad9e0 starting to compile RVF
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 118
diff changeset
27 #include "../rv/general.h"
dd56546ad9e0 starting to compile RVF
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 118
diff changeset
28 #include "rvf_api.h"
dd56546ad9e0 starting to compile RVF
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 118
diff changeset
29 #include "../../nucleus/nucleus.h" /* A-M-E-N-D-E-D! */
dd56546ad9e0 starting to compile RVF
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents: 118
diff changeset
30 #include "../rvm/rvm_i.h"
118
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
31
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
32 /********************************************************************/
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
33 /** Buffer Management Data Structures **/
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
34 /********************************************************************/
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
35 #define MAX_RVF_G_ADDR_ID 200
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
36
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
37
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
38 /* define the OVERHEAD per buffer */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
39 #if RVF_ENABLE_BUF_CORRUPTION_CHECK
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
40 #define RVF_CORRUPT_OVERHEAD (sizeof(UINT32))
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
41 BOOLEAN _rvf_chk_buf_damage(void *bptr);
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
42 #else
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
43 #define RVF_CORRUPT_OVERHEAD 0
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
44 #endif
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
45 /* calculate the size required in bytes, add the overhead for buffer corruption and round up to a multiple of 4 */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
46 #define REQ2SIZE(size) ( ((size) + 3 + RVF_CORRUPT_OVERHEAD) & ~0x00000003)
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
47
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
48
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
49 #define RVF_MIN_USABLE_SIZE ( sizeof(T_RVF_INTERNAL_BUF) + sizeof(UINT32) )
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
50
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
51 /* macros to get the internal header from the user pointer and vice-versa */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
52 #define USER2MEM(buf) ( (T_RVF_INTERNAL_BUF*)(((UINT8*)(buf)) - sizeof(T_RVF_INTERNAL_BUF) ) )
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
53 #define MEM2USER(buf) ( ((UINT8*)(buf)) + sizeof(T_RVF_INTERNAL_BUF) )
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
54
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
55
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
56 /* NOTE: since buffer size is always a multiple of 4, the last 2 bits may be used for flags */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
57
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
58 #define GETSIZE(hdr) ((UINT32)(hdr->buf_size & ~0x03) )
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
59
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
60 /* macros to manage if buffers are linked or not */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
61 #define RVF_BUF_IS_LINKED(hdr) (0x00000001 & hdr->buf_size)
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
62 #define RVF_SET_BUF_LINKED(hdr) ( (hdr)->buf_size |= 0x00000001)
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
63
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
64 #define RVF_BUF_IS_UNLINKED(hdr) (!(RVF_BUF_IS_LINKED(hdr)) )
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
65 #define RVF_SET_BUF_UNLINKED(hdr) ( (hdr)->buf_size &= ~0x00000001)
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
66
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
67
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
68 /* macros to set and check the usage of the previous buffer */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
69 #define RVF_IS_PREV_IN_USE(hdr) (0x00000002 & hdr->buf_size)
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
70 #define RVF_SET_PREV_IN_USE(hdr) ( (hdr)->buf_size |= 0x00000002)
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
71
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
72 #define RVF_IS_PREV_FREE(hdr) (!(RVF_IS_PREV_IN_USE(hdr)) )
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
73 #define RVF_SET_PREV_FREE(hdr) ( (hdr)->buf_size &= ~0x00000002)
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
74
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
75
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
76 #define SETSIZE(hdr, size) { (hdr)->buf_size &= 0x03;\
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
77 (hdr)->buf_size |= (size); }
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
78
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
79
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
80
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
81 #define NEXTCHUNK(hdr) ( (T_RVF_INTERNAL_BUF *)( (UINT8*)hdr + GETSIZE(hdr) + sizeof(T_RVF_INTERNAL_BUF) ) )
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
82
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
83 #define ENDSIZE(hdr) ( ((T_RVF_INTERNAL_BUF*)( (UINT8*)hdr + GETSIZE(hdr) + sizeof(T_RVF_INTERNAL_BUF) - sizeof(UINT32) ))->buf_size )
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
84
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
85
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
86 #define RVF_NB_FREE_LISTS 32
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
87 /* macro used to get the list index from the buffer size */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
88 /* 32 lists : 8 lists for buffer < 256 all spaced 32 bytes apart,
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
89 8 lists for buffer < 1280 all spaced 128 bytes apart,
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
90 8 lists for buffer < 5376 all spaced 512 bytes apart,
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
91 8 lists for buffer > 5376 all spaced 16384 bytes apart.*/
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
92
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
93 #define RVF_BUF_LIST_INDEX(size) ( ((size) < 256 ) ? ( (UINT8)((size)>>5) ) :\
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
94 ( ((size) < 1280 ) ? ((UINT8)(8 + ((size-256)>>7) ) ) :\
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
95 ( ((size) < 5376) ? ((UINT8)(16 + ((size-1280)>>9) ) ) :\
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
96 ( ((size) < 136448)? ((UINT8)(24 + ((size-5376)>>14) ) ): (UINT8)(31) ) ) ) )
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
97
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
98 /* internal buffer structure */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
99 typedef struct _t_internal_buf
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
100 { UINT32 buf_size; /* size of the user buffer */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
101 struct _t_internal_buf * p_next; /* pointer to the next buffer in the queue */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
102
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
103 union header
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
104 { struct external
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
105 { UINT16 mb_id; /* id of the memory bank which owns the buffer */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
106 UINT16 mb_expected; /* id of the memory bank on which the buffer want to be counted */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
107 }external;
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
108
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
109 struct _t_internal_buf * p_prev; /* pointer to the previous buffer in the queue */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
110 }header;
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
111
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
112
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
113 } T_RVF_INTERNAL_BUF;
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
114
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
115
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
116
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
117
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
118
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
119 /* RVF will managed at most 2 pools of memory for dynamic allocation */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
120 /* buffer pool structure*/
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
121 typedef struct _t_rvf_pool
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
122 {
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
123 void * start_address; /* address of the beginnig of the pool */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
124 UINT32 pool_size; /* total size of the pool */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
125 } T_RVF_POOL;
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
126
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
127
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
128
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
129
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
130 /* memory bank structure */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
131 typedef struct _t_rvf_mb
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
132 { UINT32 cur_memory_used; /* size of current memory usage */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
133 UINT32 watermark; /* watermark */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
134 UINT32 max; /* max size */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
135 MB_CALLBACK_FUNC func; /* function to call when mb_state switch to GREEN */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
136 BOOLEAN returned_red; /* flag indicating that this memory bank returned a RED value, */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
137 /* its callback function has to be called and/or buffer are waiting */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
138 UINT16 first_buffer_index; /* index of the first waiting buffer in the array */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
139 UINT16 last_buffer_index; /* index of the last waiting buffer in the array */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
140 #if RVF_ENABLE_STATS
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
141 UINT32 max_reached; /* maximum memory usage reached */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
142 UINT32 required_size; /* total size in byte required by the rvf_get_buf function */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
143 UINT32 num_buf; /* total number of buffer allocated by rvf_get_buf function */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
144 #endif
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
145
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
146 } T_RVF_MB;
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
147
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
148
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
149 /* structure which associates mb name and mb id */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
150 typedef struct _t_rvf_mb_name_id
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
151 { char mb_name[RVF_MAX_MB_LEN]; /* name of the memory bank */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
152 UINT16 mb_id; /* id of the memory bank */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
153 T_RVF_MB_PARAM mb_params; /* parameters of the memory bank */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
154 } T_RVF_MB_NAME_ID;
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
155
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
156
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
157 /* note:
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
158 * - hosting_list overhead is reduced with an 8 bit addr id
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
159 * - is hosting_list needed? would known_swe struct be enough to derive all info? */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
160 typedef struct _rvf_rt_addr_id_data { /* A-M-E-N-D-E-D! */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
161 UINT8 type_code; /* poss. derived? */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
162 UINT8 priority;
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
163 T_RVF_G_ADDR_ID host_addr_id; /* Poss. union: JavaRef-32b or addrId-16 */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
164 UINT8 hosting_count;
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
165 T_RVF_G_ADDR_ID parasites[MAX_PARASITES];
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
166 UINT8 swe_db_index;
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
167 char* symbolic_name;
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
168 NU_TASK* pOSTCB;
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
169 NU_EVENT_GROUP* pOSEvtGrp;
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
170 UINT8* p_os_stack;
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
171 UINT16 os_stack_size;
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
172 T_RVF_G_ADDR_ID virtualContext;
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
173 UINT8 gdHost;
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
174 T_RVF_INTERNAL_BUF* OSTaskQFirst[RVF_NUM_TASK_MBOX];
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
175 T_RVF_INTERNAL_BUF* OSTaskQLast [RVF_NUM_TASK_MBOX];
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
176 T_RV_RET (* handle_message) (T_RV_HDR * msg); // note: T_RV_RETURN and not T_RVM...
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
177 T_RV_RET (* handle_timer) (T_RV_HDR * msg);
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
178 } T_RVF_RT_ADDR_ID_DATA;
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
179
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
180 typedef struct _rvf_tm_attrib {
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
181 T_RVF_G_ADDR_ID host_addr_id;
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
182 UINT8 legacyFlag;
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
183 void* action;
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
184 } T_RVF_TM_ATTRIB;
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
185
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
186 typedef NU_TIMER T_RV_TM;
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
187
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
188 typedef union _rvf_tm_ublk {
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
189 T_RV_TM* ptr;
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
190 UINT32 id;
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
191
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
192 } T_RVF_TM_UBLK;
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
193
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
194 typedef union _rvf_tm_attib {
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
195 char str[8];
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
196 T_RVF_TM_ATTRIB attrib;
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
197 } T_RVF_TM_ATTRIB_UBLK;
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
198
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
199 typedef union _rvf_tm_action {
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
200 UINT32 action_id;
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
201 void* p_action;
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
202 } T_RVF_TM_ACTION_UBLK;
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
203
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
204 #ifdef __cplusplus
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
205 extern "C" {
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
206 #endif
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
207
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
208 T_RVF_RET rvf_send_priority_msg (T_RVF_G_ADDR_ID addr_id, void *msg) ;
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
209 T_RVF_RET rvf_adapt_send_msg (T_RVF_G_ADDR_ID addr_id, void *msg, UINT8 mbox) ;
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
210
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
211 void rvf_yield();
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
212
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
213 void rvf_mbox_buffer_init(T_RVF_RT_ADDR_ID_DATA* pRtAddrIdElement);
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
214 void _rvf_buffer_init (void);
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
215 void _rvf_timers_init(void);
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
216 T_RVF_RET rvf_get_available_mem( UINT32 * total_size, UINT32 * used_size );
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
217 T_RV_RET _rvf_empty_mailboxes (T_RVF_G_ADDR_ID task_id);
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
218
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
219 void _rvf_init_mem_pool(void);
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
220 void _rvf_init_free_queue (UINT8 id, UINT32 size, void *p_mem);
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
221 UINT16 _rvf_get_mem_usage_ratio(void);
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
222 UINT16 _rvf_get_number_of_pool(void);
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
223 #ifdef _WINDOWS
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
224 void _rvf_window_dump_mem(void *m);
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
225 #endif
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
226
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
227
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
228 T_RVF_RET rvf_free_sys_resources(T_RVF_G_ADDR_ID gid, UINT8 rm);
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
229 T_RVF_G_ADDR_ID rvf_allocate_task_id(UINT8 isRealTask) ; /* return should be changed to 16 or 32 bit val */
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
230 T_RVF_RET rvf_setRtAddrSweIndex(T_RVF_G_ADDR_ID id, UINT8 sweIndex);
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
231 T_RVF_G_ADDR_ID resolveHostAddrId(T_RVF_G_ADDR_ID id) ;
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
232 T_RVF_RET rvf_create_virtual_task(T_RV_RET (* handle_message)(T_RV_HDR * msg),
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
233 T_RV_RET (* handle_timer)(T_RV_HDR * msg),
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
234 T_RVF_G_ADDR_ID task_id, T_RVF_G_ADDR_ID host_task_id, char *taskname, UINT8 priority, UINT8 tcode) ;
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
235 T_RVF_RET rvf_register_t3_handlers (T_RVF_G_ADDR_ID task_id,
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
236 T_RV_RET (* handle_message)(T_RV_HDR * msg),
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
237 T_RV_RET (* handle_timer)(T_RV_HDR * msg) ) ;
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
238 T_RVF_RET rvf_create_host_task (T_RV_RET (* proxy)(void), T_RVF_G_ADDR_ID task_id, char *taskname, UINT8 *stack, UINT16 stacksize,\
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
239 UINT8 priority, UINT8 tcode, UINT8 time_slicing, T_RVF_TASK_STATE suspend);
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
240 T_RVF_RET rvf_registerToHost(T_RVF_G_ADDR_ID host_id, T_RVF_G_ADDR_ID eid) ;
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
241 T_RVF_RET rvf_unregisterFromHost(T_RVF_G_ADDR_ID host_id, T_RVF_G_ADDR_ID pid) ;
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
242 T_RVF_RET rvf_setHostTaskStackPtr(T_RVF_G_ADDR_ID id, UINT8* pStack) ;
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
243
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
244 T_RVF_G_ADDR_ID rvf_resolveHostingAddrId(T_RVM_GROUP_DIRECTIVE gd);
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
245 T_RVF_RET rvf_associateGrpToHost(T_RVF_G_ADDR_ID host_id, T_RVF_GD_ID gd_id);
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
246 T_RVF_RET rvf_isHostingTaskIdle(T_RVF_G_ADDR_ID id, UINT8* status);
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
247 void rvf_setRDV(T_RVF_G_ADDR_ID tid,T_RVF_G_ADDR_ID vid);
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
248
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
249 /* Internal RVF data structures*/
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
250
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
251 extern T_RVF_INTERNAL_BUF *OSTaskQFirst[1][1]; //MAX_RVF_TASKS][RVF_NUM_TASK_MBOX];
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
252 extern T_RVF_INTERNAL_BUF *OSTaskQLast[1][1]; //[MAX_RVF_TASKS][RVF_NUM_TASK_MBOX];
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
253
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
254 extern T_RVF_RT_ADDR_ID_DATA* pRtAddrIdTable[MAX_RVF_G_ADDR_ID];
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
255
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
256
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
257
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
258 #ifdef __cplusplus
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
259 }
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
260 #endif
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
261
21de8d8e6ea7 checking in Riviera code from the Sotomodem version
Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
parents:
diff changeset
262 #endif /* _RVF_I_H */