Linux内存从0到1学习笔记(8.12 dma-buf导出器和导入器使用示例 三)
Posted 高桐@BILL
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux内存从0到1学习笔记(8.12 dma-buf导出器和导入器使用示例 三)相关的知识,希望对你有一定的参考价值。
前面解释了使用dma_buf所涉及的几个重要的结构体,今天我们来介绍下dma_buf使用的具体示例。
mock_dmabuf_exp.c示例
#include <linux/dma-buf.h>
#include <linux/module.h>
#include <linux/slab.h>struct dma_buf *dmabuf_of_exporter;
EXPORT_SYMBOL(dmabuf_of_exporter);//EXPORT_SYMBOL标签内定义的函数或者符号对全部内核代码公开,不用修改内核代码就可以在您的内核模块中直接调用,即使用EXPORT_SYMBOL可以将一个函数以符号的方式导出给其他模块使用。
/* mock_dmabuf定义了共享dma_buf对象中,相应的导出器特有的私有数据部分。*/
struct mock_dmabuf
int npages;
struct page *pages[];
;static struct mock_dmabuf *to_mock(struct dma_buf *buf)
return buf->priv;
static struct sg_table *mock_map_dma_buf(struct dma_buf_attachment *attachment,
enum dma_data_direction dir)
struct mock_dmabuf *mock &#
以上是关于Linux内存从0到1学习笔记(8.12 dma-buf导出器和导入器使用示例 三)的主要内容,如果未能解决你的问题,请参考以下文章
Linux内存从0到1学习笔记(8.12 dma-buf导出器和导入器使用示例 三)
Linux内存从0到1学习笔记(8.12 dma-buf导出器和导入器使用示例 四)
Linux内存从0到1学习笔记(8.12 dma-buf导出器和导入器使用示例 四)
Linux内存从0到1学习笔记(8.12 dma-buf导出器和导入器使用示例 四)