95 VM_ERR(
"The dma type = %d is not supported!", type);
99#ifdef LOSCFG_KERNEL_VM
104 if (kVaddr == NULL) {
105 VM_ERR(
"failed, size = %u, align = %u", size, align);
109 if (dmaAddr != NULL) {
114 kVaddr = (VOID *)VMM_TO_UNCACHED_ADDR((
UINTPTR)kVaddr);
129 if ((addr >= UNCACHED_VMM_BASE) && (addr < UNCACHED_VMM_BASE + UNCACHED_VMM_SIZE)) {
130 addr = UNCACHED_TO_VMM_ADDR(addr);
131#ifdef LOSCFG_KERNEL_VM
136 }
else if ((addr >= KERNEL_VMM_BASE) && (addr < KERNEL_VMM_BASE + KERNEL_VMM_SIZE)) {
137#ifdef LOSCFG_KERNEL_VM
143 VM_ERR(
"addr %#x not in dma area!!!", vaddr);
VOID * LOS_MemAllocAlign(VOID *pool, UINT32 size, UINT32 boundary)
从指定内存池中申请size长度的内存且地址按boundary字节对齐的内存
UINT32 LOS_MemFree(VOID *pool, VOID *ptr)
释放从指定动态内存中申请的内存
VOID * LOS_DmaMemAlloc(DMA_ADDR_T *dmaAddr, size_t size, size_t align, enum DmaMemType type)
分配DMA空间
VOID LOS_DmaMemFree(VOID *vaddr)
释放 DMA指针
DMA_ADDR_T LOS_DmaVaddrToPaddr(VOID *vaddr)
将DMA虚拟地址转成物理地址
PADDR_T LOS_PaddrQuery(VOID *vaddr)
通过虚拟地址查询映射的物理地址
VOID LOS_KernelFree(VOID *ptr)
VOID * LOS_KernelMallocAlign(UINT32 size, UINT32 boundary)