- Timestamp:
- 2005-02-22T08:31:53Z (21 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 4ffa9e0
- Parents:
- 169587a
- Location:
- src/mm
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
src/mm/tlb.c
r169587a rb109ebb 35 35 #ifdef __SMP__ 36 36 static spinlock_t tlblock; 37 static volatile int tlb_sh utdown_cnt;37 static volatile int tlb_shootdown_cnt; 38 38 39 39 void tlb_init(void) 40 40 { 41 41 spinlock_initialize(&tlblock); 42 tlb_sh utdown_cnt = 0;42 tlb_shootdown_cnt = 0; 43 43 } 44 44 45 45 /* must be called with interrupts disabled */ 46 void tlb_sh utdown_start(void)46 void tlb_shootdown_start(void) 47 47 { 48 48 spinlock_lock(&tlblock); 49 tlb_sh utdown_ipi_send();49 tlb_shootdown_ipi_send(); 50 50 51 while (tlb_sh utdown_cnt < config.cpu_active - 1)51 while (tlb_shootdown_cnt < config.cpu_active - 1) 52 52 ; 53 53 54 tlb_sh utdown_cnt = 0;54 tlb_shootdown_cnt = 0; 55 55 } 56 56 57 void tlb_sh utdown_finalize(void)57 void tlb_shootdown_finalize(void) 58 58 { 59 59 spinlock_unlock(&tlblock); 60 60 } 61 61 62 void tlb_sh utdown_ipi_recv(void)62 void tlb_shootdown_ipi_recv(void) 63 63 { 64 atomic_inc((int *) &tlb_sh utdown_cnt);64 atomic_inc((int *) &tlb_shootdown_cnt); 65 65 spinlock_lock(&tlblock); 66 66 spinlock_unlock(&tlblock); -
src/mm/vm.c
r169587a rb109ebb 171 171 pri = cpu_priority_high(); 172 172 173 tlb_sh utdown_start();173 tlb_shootdown_start(); 174 174 175 175 spinlock_lock(&m->lock); … … 181 181 182 182 tlb_invalidate(0); 183 tlb_sh utdown_finalize();183 tlb_shootdown_finalize(); 184 184 185 185 cpu_priority_restore(pri);
Note:
See TracChangeset
for help on using the changeset viewer.
