teclimber 发表于 2011-05-13 17:28

物理地址和虚拟地址的关系问题

若使用的linux2.6内核在s3c2410上开发驱动,如何确定物理地址对应的虚拟地址?

Trigger_Huang 发表于 2011-05-13 22:24

先请求,再进行映射

Trigger_Huang 发表于 2011-05-13 22:31

先请求,再进行映射

teclimber 发表于 2011-05-14 17:43

本帖最后由 teclimber 于 2011-05-14 17:47 编辑

回复 3# Trigger_Huang


    再详细一点,具体是怎么请求的?

embeddedlwp 发表于 2011-05-16 15:10

/* 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

embeddedlwp 发表于 2011-05-16 15:10

这是个例子

lixinwei1985@si 发表于 2011-05-16 16:28

对应关系只有看页表

RoverMo 发表于 2011-05-16 20:08

二楼正解。先请求,再进行映射,其实就是建立个叶表,把物理地址和flags写入叶表项。
页: [1]
查看完整版本: 物理地址和虚拟地址的关系问题