Changeset 124 for trunk/kernel
- Timestamp:
- Jul 3, 2017, 2:36:39 PM (7 years ago)
- Location:
- trunk/kernel
- Files:
-
- 21 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/kernel/kern/cluster.c
r120 r124 159 159 __FUNCTION__ , local_cxy , hal_get_cycles() ); 160 160 161 hal_ wbflush();161 hal_fence(); 162 162 163 163 return 0; -
trunk/kernel/kern/core.c
r101 r124 101 101 core->cycles = cycles + elapsed; 102 102 core->ticks_nr = ticks_nr + (elapsed / core->ticks_period); 103 hal_ wbflush();103 hal_fence(); 104 104 } 105 105 … … 145 145 // update core descriptor 146 146 core->usage = usage; 147 hal_ wbflush();147 hal_fence(); 148 148 149 149 #if CONFIG_SHOW_CPU_USAGE … … 164 164 core->usage = 0; 165 165 core->thread_idle->ticks_nr = 0; 166 hal_ wbflush();166 hal_fence(); 167 167 } 168 168 -
trunk/kernel/kern/kernel_init.c
r103 r124 670 670 hal_set_current_thread( thread ); 671 671 672 list_root_init( &thread->locks_root ); 673 xlist_root_init( XPTR( local_cxy, &thread->xlocks_root ) ); 674 672 675 // CP0 in I/O cluster initialises TXT0 chdev descriptor 673 676 if( (core_lid == 0) && (core_cxy == info->io_cxy) ) txt0_device_init( info ); … … 727 730 // CP0 initializes the process_zero descriptor 728 731 if( core_lid == 0 ) process_reference_init( &process_zero , 0 , XPTR_NULL ); 732 733 #ifdef __HAL_x86_64__ 734 return; /* XXX temporary */ 735 #endif 729 736 730 737 // CP0 allocates and initialises the internal peripheral chdev descriptors. -
trunk/kernel/kern/process.c
r101 r124 165 165 // initalise signal manager TODO [AG] 166 166 167 hal_ wbflush();167 hal_fence(); 168 168 169 169 process_dmsg("\n[INFO] %s : exit for process %x in cluster %x\n", … … 226 226 // initalise signal manager TODO [AG] 227 227 228 hal_ wbflush();228 hal_fence(); 229 229 230 230 return 0; … … 265 265 266 266 // synchronize memory 267 hal_ wbflush();267 hal_fence(); 268 268 269 269 // From this point, the process descriptor is unreachable … … 815 815 process_dmsg("\n[INFO] %s successfully exit in cluster %x\n", __FUNCTION__ , local_cxy ); 816 816 817 hal_ wbflush();817 hal_fence(); 818 818 819 819 } // end process_init_create() -
trunk/kernel/libk/grdxt.c
r1 r124 221 221 // register the value 222 222 ptr3[ix3] = value; 223 hal_ wbflush();223 hal_fence(); 224 224 225 225 return 0; … … 264 264 // reset selected slot 265 265 ptr3[ix3] = NULL; 266 hal_ wbflush();266 hal_fence(); 267 267 268 268 return value; -
trunk/kernel/libk/readlock.c
r14 r124 66 66 67 67 // sync 68 hal_ wbflush();68 hal_fence(); 69 69 70 70 // release lock to support several parallel read access -
trunk/kernel/libk/remote_fifo.c
r68 r124 113 113 // copy item to fifo 114 114 hal_remote_swd( XPTR( cxy , &ptr->data[ptw] ), *item ); 115 hal_ wbflush();115 hal_fence(); 116 116 117 117 // set the slot valid flag 118 118 hal_remote_sw( XPTR( cxy , &ptr->valid[ptw] ) , 1 ); 119 hal_ wbflush();119 hal_fence(); 120 120 121 121 // return the first RPC flag -
trunk/kernel/libk/remote_mutex.c
r60 r124 214 214 } 215 215 216 hal_ wbflush();216 hal_fence(); 217 217 218 218 } // end remote_mutex_lock() -
trunk/kernel/libk/remote_rwlock.c
r60 r124 82 82 83 83 // sync 84 hal_ wbflush();84 hal_fence(); 85 85 86 86 // release lock to allow several simultaneous readers -
trunk/kernel/libk/rwlock.c
r60 r124 66 66 67 67 // consistency 68 hal_ wbflush();68 hal_fence(); 69 69 70 70 // release the lock to allow several simultaneous readers -
trunk/kernel/mm/kmem.c
r50 r124 171 171 cluster->kcm_tbl[type] = kcm; 172 172 173 hal_ wbflush();173 hal_fence(); 174 174 175 175 kmem_dmsg("\n[INFO] %s : exit / KCM type %s created in cluster %x\n", -
trunk/kernel/mm/vmm.c
r101 r124 180 180 vmm->m_err_nr = 0; 181 181 182 hal_ wbflush();182 hal_fence(); 183 183 184 184 } // end vmm_init() … … 299 299 hal_gpt_copy( &dst_vmm->gpt , &src_vmm->gpt , cow ); 300 300 301 hal_ wbflush();301 hal_fence(); 302 302 303 303 return 0; -
trunk/kernel/syscalls/sys_close.c
r23 r124 70 70 } 71 71 72 hal_ wbflush();72 hal_fence(); 73 73 74 74 return 0; -
trunk/kernel/syscalls/sys_getcwd.c
r23 r124 82 82 hal_copy_to_uspace( buf , kbuf , CONFIG_VFS_MAX_PATH_LENGTH ); 83 83 84 hal_ wbflush();84 hal_fence(); 85 85 86 86 return 0; -
trunk/kernel/syscalls/sys_kill.c
r23 r124 95 95 remote_spinlock_unlock( lock_xp ); 96 96 97 hal_ wbflush();97 hal_fence(); 98 98 99 99 return 0; -
trunk/kernel/syscalls/sys_read.c
r23 r124 127 127 } 128 128 129 hal_ wbflush();129 hal_fence(); 130 130 131 131 return 0; -
trunk/kernel/syscalls/sys_stat.c
r23 r124 80 80 hal_copy_to_uspace( stat , &k_stat , sizeof(struct vfs_stat_s) ); 81 81 82 hal_ wbflush();82 hal_fence(); 83 83 84 84 return 0; -
trunk/kernel/syscalls/sys_timeofday.c
r50 r124 75 75 hal_copy_to_uspace( tv , &k_tv , sizeof(struct timeval) ); 76 76 77 hal_ wbflush();77 hal_fence(); 78 78 79 79 return 0; -
trunk/kernel/syscalls/sys_trace.c
r23 r124 66 66 } 67 67 68 hal_ wbflush();68 hal_fence(); 69 69 70 70 return 0; -
trunk/kernel/syscalls/sys_write.c
r23 r124 124 124 } 125 125 126 hal_ wbflush();126 hal_fence(); 127 127 128 128 return 0; -
trunk/kernel/vfs/vfs.c
r101 r124 652 652 remote_rwlock_wr_unlock( lock_xp ); 653 653 654 hal_ wbflush();654 hal_fence(); 655 655 } 656 656
Note: See TracChangeset
for help on using the changeset viewer.