Lines Matching refs:size

25 OS_SEC_TEXT struct TagFscMemCtrl *OsFscMemSearch(U32 size, U32 *idx)
31 staIdx = OS_FSC_MEM_SZ2IDX(size);
45 if (OS_FSC_MEM_SZGET(currBlk) >= size) {
69 OS_SEC_TEXT void *OsFscMemAllocInner(U32 mid, U32 size, uintptr_t align)
80 if (size == 0) {
86 allocSize = ALIGN(size, OS_FSC_MEM_SIZE_ALIGN) + (align - OS_FSC_MEM_SIZE_ALIGN) +
88 if ((allocSize < size) || allocSize >= ((OS_FSC_MEM_MAXVAL - OS_FSC_MEM_USED_HEAD_SIZE) - OS_FSC_MEM_TAIL_SIZE)) {
100 currBlk->size -= allocSize;
103 if (idx != OS_FSC_MEM_SZ2IDX(currBlk->size)) {
108 plotBlk = (struct TagFscMemCtrl *)((uintptr_t)currBlk + (uintptr_t)currBlk->size);
109 plotBlk->prevSize = currBlk->size;
110 plotBlk->size = allocSize;
117 nextBlk = (struct TagFscMemCtrl *)((uintptr_t)currBlk + (uintptr_t)currBlk->size);
122 blkTailMagic = (U32 *)((uintptr_t)currBlk + (uintptr_t)currBlk->size - (uintptr_t)OS_FSC_MEM_TAIL_SIZE);
146 blkSize = currBlk->size;
148 if ((currBlk->next != OS_FSC_MEM_MAGIC_USED) || (currBlk->size == 0)) {
163 currBlk->size += nextBlk->size;
173 prevBlk->size += currBlk->size;
186 nextBlk = (struct TagFscMemCtrl *)((uintptr_t)currBlk + (uintptr_t)currBlk->size);
187 nextBlk->prevSize = currBlk->size;
192 OS_SEC_TEXT void *OsMemAlloc(enum MoudleId mid, U8 ptNo, U32 size)
195 return OsFscMemAllocInner(mid, size, OS_FSC_MEM_SIZE_ALIGN);
198 OS_SEC_TEXT void *OsMemAllocAlign(U32 mid, U8 ptNo, U32 size, enum MemAlign alignPow)
205 return OsFscMemAllocInner(mid, size, (1U << (U32)alignPow));
211 OS_SEC_TEXT U32 OsFscMemInit(U32 addr, U32 size)
227 if (OS_MEM_GETBIT(size) != 0U) {
231 if (size < OS_FSC_MEM_USED_HEAD_SIZE) {
235 if (size > OS_FSC_MEM_MAXVAL) {
239 if (memset_s((void *)(uintptr_t)addr, size, 0, size) != EOK) {
250 size -= OS_FSC_MEM_USED_HEAD_SIZE;
255 idx = OS_FSC_MEM_SZ2IDX(size);
263 currBlk->size = (U16)size;
268 nextBlk = (struct TagFscMemCtrl *)((uintptr_t)currBlk + (uintptr_t)currBlk->size);
270 nextBlk->size = 0;