Changeset 399 for soft/giet_vm/giet_common/utils.h
- Timestamp:
- Aug 12, 2014, 6:39:26 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
soft/giet_vm/giet_common/utils.h
r370 r399 6 6 /////////////////////////////////////////////////////////////////////////////////// 7 7 // The utils.c and utils.h files are part of the GIET-VM nano-kernel. 8 // They define more or less the GIET-VM H AL (Hardware Abstraction Layer),8 // They define more or less the GIET-VM Hardware Abstraction Layer, 9 9 // and contains various utility functions, that can be used by both the 10 10 // boot code and the kernel code. … … 45 45 46 46 /////////////////////////////////////////////////////////////////////////////////// 47 // Memory handling functions 48 /////////////////////////////////////////////////////////////////////////////////// 49 50 extern void* memcpy( void* _dst, 51 const void* _src, 52 unsigned int size ); 53 54 extern void* memset( void* dst, 55 int s, 56 unsigned int count ); 57 58 /////////////////////////////////////////////////////////////////////////////////// 59 // Break function 60 /////////////////////////////////////////////////////////////////////////////////// 61 62 extern void _break( char* str); 63 64 /////////////////////////////////////////////////////////////////////////////////// 65 // Suicide function 66 /////////////////////////////////////////////////////////////////////////////////// 67 68 extern void _exit(void); 69 70 /////////////////////////////////////////////////////////////////////////////////// 71 // Eret function 72 /////////////////////////////////////////////////////////////////////////////////// 73 74 extern void _eret(void); 75 76 /////////////////////////////////////////////////////////////////////////////////// 77 // CP0 and CP2 registers access functions 47 // CP0 registers access functions 78 48 /////////////////////////////////////////////////////////////////////////////////// 79 49 80 50 extern unsigned int _get_sched(void); 81 extern unsigned int _get_mmu_ptpr(void);82 extern unsigned int _get_mmu_mode(void);83 51 extern unsigned int _get_epc(void); 84 52 extern unsigned int _get_bvar(void); … … 87 55 extern unsigned int _get_procid(void); 88 56 extern unsigned int _get_proctime(void); 89 extern unsigned int _get_current_task_id(void);90 57 91 58 extern void _it_disable( unsigned int* save_sr_ptr ); 92 extern void _it_enable(void);93 59 extern void _it_restore( unsigned int* save_sr_ptr ); 60 61 extern void _set_sched(unsigned int value); 62 extern void _set_sr(unsigned int value); 63 64 /////////////////////////////////////////////////////////////////////////////////// 65 // CP2 registers access functions 66 /////////////////////////////////////////////////////////////////////////////////// 67 68 extern unsigned int _get_mmu_ptpr(void); 69 extern unsigned int _get_mmu_mode(void); 94 70 95 71 extern void _set_mmu_ptpr(unsigned int value); 96 72 extern void _set_mmu_mode(unsigned int value); 97 extern void _set_sched(unsigned int value);98 extern void _set_sr(unsigned int value);99 73 100 74 /////////////////////////////////////////////////////////////////////////////////// … … 103 77 104 78 extern unsigned int _physical_read( unsigned long long paddr ); 105 106 79 extern void _physical_write( unsigned long long paddr, 107 80 unsigned int value ); 108 81 109 82 extern unsigned long long _physical_read_ull( unsigned long long paddr ); 110 111 83 extern void _physical_write_ull( unsigned long long paddr, 112 84 unsigned long long value ); … … 117 89 118 90 extern unsigned int _io_extended_read( unsigned int* vaddr ); 119 120 91 extern void _io_extended_write( unsigned int* vaddr, 121 92 unsigned int value ); … … 133 104 134 105 extern void _puts( char* string ); 135 136 106 extern void _putx( unsigned int val ); 137 138 107 extern void _putd( unsigned int val ); 139 140 108 extern void _putl( unsigned long long val ); 141 109 … … 145 113 146 114 /////////////////////////////////////////////////////////////////////////////////// 147 // string comparefunctions115 // Scheduler and task context access functions 148 116 /////////////////////////////////////////////////////////////////////////////////// 149 117 150 extern unsigned int _strncmp(const char* s1, 151 const char* s2, 152 unsigned int n); 153 154 extern char* _strcpy( char* dest, 155 char* source ); 156 157 /////////////////////////////////////////////////////////////////////////////////// 158 // cache invalidate function 159 /////////////////////////////////////////////////////////////////////////////////// 160 161 extern void _dcache_buf_invalidate( void * buffer, 162 unsigned int size ); 163 164 /////////////////////////////////////////////////////////////////////////////////// 165 // Schedulers access functions 166 /////////////////////////////////////////////////////////////////////////////////// 118 extern unsigned int _get_current_task_id(void); 167 119 168 120 extern unsigned int _get_task_slot( unsigned int gpid, 169 121 unsigned int ltid, 170 122 unsigned int slot ); 171 172 123 extern void _set_task_slot( unsigned int gpid, 173 124 unsigned int ltid, … … 176 127 177 128 extern unsigned int _get_context_slot( unsigned int slot ); 178 179 129 extern void _set_context_slot( unsigned int slot, 180 130 unsigned int value ); 181 182 extern unsigned int _heap_info( unsigned int* vaddr,183 unsigned int* length,184 unsigned int x,185 unsigned int y );186 131 187 132 /////////////////////////////////////////////////////////////////////////////////// … … 201 146 extern mapping_periph_t * _get_periph_base(mapping_header_t* header); 202 147 148 /////////////////////////////////////////////////////////////////////////////////// 149 // Miscelaneous functions 150 /////////////////////////////////////////////////////////////////////////////////// 151 152 extern void _exit(void); 153 154 extern void _random_wait( unsigned int value ); 155 156 extern void _break( char* str); 157 158 extern unsigned int _strncmp(const char* s1, 159 const char* s2, 160 unsigned int n); 161 162 extern char* _strcpy( char* dest, 163 char* source ); 164 165 extern void _dcache_buf_invalidate( void * buffer, 166 unsigned int size ); 167 168 extern unsigned int _heap_info( unsigned int* vaddr, 169 unsigned int* length, 170 unsigned int x, 171 unsigned int y ); 172 173 /////////////////////////////////////////////////////////////////////////////////// 174 // Required by GCC 175 /////////////////////////////////////////////////////////////////////////////////// 176 177 extern void* memcpy( void* _dst, 178 const void* _src, 179 unsigned int size ); 180 181 extern void* memset( void* dst, 182 int s, 183 unsigned int count ); 184 185 203 186 #endif 204 187
Note: See TracChangeset
for help on using the changeset viewer.