Lines Matching refs:currBlk

28     struct TagFscMemCtrl *currBlk = NULL;
40 currBlk = headBlk->next;
43 while (currBlk != headBlk) {
45 if (OS_FSC_MEM_SZGET(currBlk) >= size) {
46 return currBlk;
49 currBlk = currBlk->next;
64 currBlk = headBlk->next;
66 return currBlk;
76 struct TagFscMemCtrl *currBlk = NULL;
93 currBlk = OsFscMemSearch(allocSize, &idx);
94 if (currBlk == NULL) {
99 if (OS_FSC_MEM_SZGET(currBlk) >= (allocSize + OS_FSC_MEM_MIN_SIZE)) {
100 currBlk->size -= allocSize;
103 if (idx != OS_FSC_MEM_SZ2IDX(currBlk->size)) {
104 OsFscMemDelete(currBlk);
105 OsFscMemInsert(currBlk, g_fscMemNodeList, &g_fscMemBitMap);
108 plotBlk = (struct TagFscMemCtrl *)((uintptr_t)currBlk + (uintptr_t)currBlk->size);
109 plotBlk->prevSize = currBlk->size;
112 currBlk = plotBlk;
114 OsFscMemDelete(currBlk);
117 nextBlk = (struct TagFscMemCtrl *)((uintptr_t)currBlk + (uintptr_t)currBlk->size);
119 currBlk->next = OS_FSC_MEM_MAGIC_USED;
122 blkTailMagic = (U32 *)((uintptr_t)currBlk + (uintptr_t)currBlk->size - (uintptr_t)OS_FSC_MEM_TAIL_SIZE);
125 // currBlk->prev 复用为内存对齐的偏移地址
126 currBlk->prev = 0;
127 usrAddr = (((uintptr_t)currBlk + OS_FSC_MEM_SLICE_HEAD_SIZE + align - 1) & ~(align - 1));
128 OsMemSetHeadAddr(usrAddr, ((uintptr_t)currBlk + OS_FSC_MEM_SLICE_HEAD_SIZE));
136 struct TagFscMemCtrl *currBlk = NULL; /* 当前内存块指针 */
145 currBlk = (struct TagFscMemCtrl *)OsMemGetHeadAddr((uintptr_t)addr);
146 blkSize = currBlk->size;
148 if ((currBlk->next != OS_FSC_MEM_MAGIC_USED) || (currBlk->size == 0)) {
152 blkTailMagic = (U32 *)((uintptr_t)currBlk + blkSize - (uintptr_t)OS_FSC_MEM_TAIL_SIZE);
157 nextBlk = (struct TagFscMemCtrl *)((uintptr_t)currBlk + blkSize);
163 currBlk->size += nextBlk->size;
171 if (currBlk->prevSize != 0) {
172 prevBlk = (struct TagFscMemCtrl *)((uintptr_t)currBlk - (uintptr_t)currBlk->prevSize);
173 prevBlk->size += currBlk->size;
177 if (memset_s(currBlk, sizeof(struct TagFscMemCtrl), 0, sizeof(struct TagFscMemCtrl)) != EOK) {
180 currBlk = prevBlk;
184 OsFscMemInsert(currBlk, g_fscMemNodeList, &g_fscMemBitMap);
186 nextBlk = (struct TagFscMemCtrl *)((uintptr_t)currBlk + (uintptr_t)currBlk->size);
187 nextBlk->prevSize = currBlk->size;
215 struct TagFscMemCtrl *currBlk = NULL;
260 currBlk = (struct TagFscMemCtrl *)(uintptr_t)addr;
261 currBlk->next = headBlk;
262 currBlk->prevSize = 0;
263 currBlk->size = (U16)size;
264 currBlk->prev = headBlk;
265 headBlk->next = currBlk;
266 headBlk->prev = currBlk;
268 nextBlk = (struct TagFscMemCtrl *)((uintptr_t)currBlk + (uintptr_t)currBlk->size);