内核空间不是从0XC0000000开始吗?
本帖最后由 mournjust 于 2011-05-11 17:45 编辑
{ .virtual =DMAC1_BASE_V,
.pfn =__phys_to_pfn(DMAC1_BASE),
.length = SZ_4K,
.type = MT_DEVICE
},
#define DMAC1_BASE_V 0x32027000
#define DMAC1_BASE 0xB2027000
驱动是属于内核态的,为什么这样的映射也能运行?好晕。
我觉得是根据权限来限制的,但是为什么以0XC0000000来划分呢
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
关注!!
是不是因为arm的不一样?
这个vitual是虚拟地址吗?
回复 2# amarant
不是arm,虽然我知道这个跟CPU的MMU有关。
但是为什么所有的资料都说0xC0000000以上的是内核空间?
不同处理器不一样,可以自己改的,所有书都是拿x86来说的,ppc mips有出入
回复 3# mournjust
看书上都是说0xc0000000开始是内核空间的。可能如楼上说的吧 不过我在树上也看过,这个分界线是可以配置的
LZ说清楚啊。不是ARM是啥呢?X86?
78k的内核空间还是0x40000000开头的呢,
这个可以配置的
可以配置,而且默认配置各个架构也不一样,比如mips的2G开始的KSEG0就是内核态的地址了。