- Android系統級深入開發
- 韓超 梁泉
- 239字
- 2018-12-29 13:39:33
4.3.5 pmem驅動程序
pmem驅動程序是物理內存的驅動程序,可用于分配物理內存。pmem提供給用戶空間的接口是主設備號為10的Misc字符設備,其次設備號是動態生成的。
pmem的內容在drivers/misc/目錄中,Makefile中的內容如下所示:
obj-$(CONFIG_ANDROID_PMEM) += pmem.o
pmem的頭文件是include/linux目錄中的android_pmem.handroid_pmem.h文件,在drivers/misc/目錄中的pmem.c中實現功能。
pmem驅動程序提供了mmap和ioctl的接口,這些ioctl的命令如下所示:
#define PMEM_IOCTL_MAGIC 'p' #define PMEM_GET_PHYS _IOW(PMEM_IOCTL_MAGIC, 1, unsigned int) #define PMEM_MAP _IOW(PMEM_IOCTL_MAGIC, 2, unsigned int) #define PMEM_GET_SIZE _IOW(PMEM_IOCTL_MAGIC, 3, unsigned int) #define PMEM_UNMAP _IOW(PMEM_IOCTL_MAGIC, 4, unsigned int) #define PMEM_ALLOCATE _IOW(PMEM_IOCTL_MAGIC, 5, unsigned int) #define PMEM_CONNECT _IOW(PMEM_IOCTL_MAGIC, 6, unsigned int) #define PMEM_GET_TOTAL_SIZE _IOW(PMEM_IOCTL_MAGIC, 7, unsigned int)
這些ioctl命令包含了獲得物理內存、映射和解除映射內存、獲得內存尺寸、分配、連接和獲得全部大小等功能。
推薦閱讀
- Mastering NetBeans
- Django開發從入門到實踐
- JavaScript+jQuery開發實戰
- 軟件測試工程師面試秘籍
- Instant 960 Grid System
- PHP+MySQL網站開發項目式教程
- 深入淺出RxJS
- Mastering Apache Spark 2.x(Second Edition)
- Mastering Business Intelligence with MicroStrategy
- RealSenseTM互動開發實戰
- Developing SSRS Reports for Dynamics AX
- Hands-On GUI Programming with C++ and Qt5
- OpenMP核心技術指南
- Python 3 數據分析與機器學習實戰
- Mastering Embedded Linux Programming