chenhy0106 3 лет назад
Родитель
Сommit
e2b138a816
2 измененных файлов с 4 добавлено и 4 удалено
  1. 2 2
      components/lwp/lwp_pid.c
  2. 2 2
      components/lwp/lwp_user_mm.c

+ 2 - 2
components/lwp/lwp_pid.c

@@ -347,7 +347,7 @@ out:
     return lwp;
 }
 
-extern void remove_asid(unsigned asid);
+extern void remove_asid(uint64_t generation, unsigned asid);
 void lwp_free(struct rt_lwp* lwp)
 {
     rt_base_t level;
@@ -419,7 +419,7 @@ void lwp_free(struct rt_lwp* lwp)
 #endif
 
 #ifdef RT_LWP_ENABLE_ASID
-    remove_asid(lwp->asid);
+    remove_asid(lwp->generation, lwp->asid);
 #endif
 
     level = rt_hw_interrupt_disable();

+ 2 - 2
components/lwp/lwp_user_mm.c

@@ -60,9 +60,9 @@ static unsigned get_update_asid(struct rt_lwp *l)
     global_generation++;
     memset(asid_valid_bitmap, 0, MAX_ASID * sizeof(char));
 
-    asid_valid_bitmap[i] = 1;
+    asid_valid_bitmap[1] = 1;
     l->generation = global_generation;
-    l->asid = i;
+    l->asid = 1;
 
     // invalidate all TLB entries
     asm volatile("mcr p15, 0, %0, c8, c7, 0"::"r"(0));