首页 > 代码库 > 64位代码移植,ioremap使用要注意以下区分

64位代码移植,ioremap使用要注意以下区分

ioremap_nocache与ioremap_wc:

之前的32位系统中,无论是对内存还是寄存器,映射统一使用的是ioremap_nocache这个接口,但是在64位系统中,就要做区分了,因为使用ioremap_nocache做映射的地址在64位系统中使用memcpy操作时会发生对齐错误导致kernel panic,因此,如果在64位系统中,我们要对一个映射后的虚拟地址做memcpy操作,就要使用ioremap_wc来做映射。这两个映射接口的定义在arch/arm64/include/asm/io.h中,有兴趣和工作需要的同学们可以参考一下。



64位代码移植,ioremap使用要注意以下区分