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