72#ifdef LOSCFG_KERNEL_VM
83 if (firstZeroBit >= 0 && firstZeroBit < (1UL << MMU_ARM_ASID_BITS)) {
VOID LOS_BitmapClrNBits(UINTPTR *bitmap, UINT32 start, UINT32 numsClear)
从start位置开始 清除numsSet个bit位置0 ,对状态字的连续标志位进行清0操作
INT32 LOS_BitmapFfz(UINTPTR *bitmap, UINT32 numBits)
从numBits位置开始找到第一个0位
VOID LOS_BitmapSetNBits(UINTPTR *bitmap, UINT32 start, UINT32 numsSet)
从start位置开始设置numsSet个bit位 置1
STATIC SPIN_LOCK_INIT(g_cpuAsidLock)
asid专属自旋锁
STATIC UINTPTR g_asidPool[BITMAP_NUM_WORDS(1UL<< MMU_ARM_ASID_BITS)]
地址空间ID池 , 2^8 = 256 个
status_t OsAllocAsid(UINT32 *asid)
VOID OsFreeAsid(UINT32 asid)
释放 asid
VOID LOS_SpinUnlockRestore(SPIN_LOCK_S *lock, UINT32 intSave)
VOID LOS_SpinLockSave(SPIN_LOCK_S *lock, UINT32 *intSave)