- 博客(4)
- 资源 (5)
- 收藏
- 关注
转载 PAGE_ALIGN()
PAGE_ALIGN() 2012-09-26 10:54:29分类: LINUX将物理地址addr修整为页边界地址(页的上边界)#define PAGE_ALIGN(addr) (((addr)+PAGE_SIZE-1)&PAGE_MASK)|------------|PAGE_ALGN(addr)| ||
2013-06-25 21:59:19 3288
转载 dma_alloc_coheren
大家都知道,DMA的操作是需要物理地址的,但是在linux内核中使用的都是虚拟地址,如果我们想要用DMA对一段内存进行操作,我们如何得到这一段内存的物理地址和虚拟地址的映射呢?dma_alloc_coherent这个函数实现了这种机制。1、函数原型:void *dma_alloc_coherent(struct device *dev, size_t size,dma_addr_t *dm
2013-06-25 21:57:36 772
转载 __raw_readl和__raw_writel
__raw_readl和__raw_writelLinux对I/O的操作都定义在asm/io.h中,相应的在arm平台下,就在asm-arm/io.h中。#define __raw_readl(a) (__chk_io_ptr(a), *(volatile unsigned int __force *)(a))#define __raw_writel(v,a) (__c
2013-06-25 21:47:06 1363
转载 LIST_HEAD_INIT(name)
struct list_head 是一个双向链表的头。里面包含有两个成员,一个是previous(也有可能是prev啦),另一个是next。这俩的功能不用解释了吧 :)LIST_HEAD_INIT(name) 的作用,就是把 name.previous 和 name.next 都初始化为指向 name 本身。这表示,这个链表是空的。
2013-06-18 09:02:54 966
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人