物理地址和虚拟地址的关系问题
若使用的linux2.6内核在s3c2410上开发驱动,如何确定物理地址对应的虚拟地址? 先请求,再进行映射 先请求,再进行映射 本帖最后由 teclimber 于 2011-05-14 17:47 编辑回复 3# Trigger_Huang
再详细一点,具体是怎么请求的? /* Timers */
#define S3C24XX_VA_TIMER S3C_VA_TIMER
#define S3C2410_PA_TIMER (0x51000000)
#define S3C24XX_SZ_TIMER SZ_1M
#define S3C_VA_TIMER S3C_ADDR(0x00300000) /* timer block */
#define S3C_ADDR_BASE (0xF4000000)
#ifndef __ASSEMBLY__
#define S3C_ADDR(x) ((void __iomem __force *)S3C_ADDR_BASE + (x))
#else
#define S3C_ADDR(x) (S3C_ADDR_BASE + (x))
#endif 这是个例子 对应关系只有看页表 二楼正解。先请求,再进行映射,其实就是建立个叶表,把物理地址和flags写入叶表项。
页:
[1]