好像一些型号的PPC最大只能访问2GB的内存()~ 所以对于程序来说~ 最后访问的物理地址只能在0-2G之间~
对于2G以上的线性地址通过换页还是会访问0-2G之间的物理地址~
而对于0x90000000~0x900fffff这段物理地址位PPC的寄存器空间~由内核进行访问~这段空间应该由内核映射到用户程序不能访问的内核地址中~
不知道我这样理解对不对~
回复 #11 superfight 的帖子
PPC看型号吧~>>>请问这个如何看出来?通过某个文件还是配置
好像一些型号的PPC最大只能访问2GB的内存()~ 所以对于程序来说~ 最后访问的物理地址只能在0-2G之间~
对于2G以上的线性地址通过换页还是会访问0-2G之间的物理地址~
>>>应该是这样的
而对于0x90000000~0x900fffff这段物理地址位PPC的寄存器空间~
>>>请问什么叫寄存器空间? lz还是看看PPC文档吧,我怀疑LZ没理解PPC的MMU,看了下文档后发现,之前的做的X86类比是不合适的,PPC里面的虚拟地址空间不是每进程的4G的空间,而是一个处理器范围内的总共2^52bit的一个值.
至于每进程4G被称为有效地址或逻辑地址.
[ 本帖最后由 smalloc 于 2009-10-22 09:21 编辑 ] >>>请问这个如何看出来?通过某个文件还是配置
最好就是直接看芯片表层的信息~
不能看芯片的话只能看uboot的引导信息或者linux下cat /proc/cpuinfo
>>>请问什么叫寄存器空间?
按我的理解就是像配置pcimemory dma之类板级控制器的空间~ 原帖由 怪怪虎 于 2009-10-20 09:30 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
一个嵌入式系统有不同的芯片构成.每个芯片在设计时都有自己固定的虚拟地址.比如网卡的虚拟地址 0x90000000~0x900fffff
可是反汇编出来的内核程序的地址都在0xb0000000~0xb0ffffff之间.应用程序的地址空间在0x1 ...
嵌入式变化多端,也不一定是虚拟地址,搞个简单的地址映射也可能。
4楼说得好:lz先确定自己用的处理器构架,总线构架,和操作系统
页:
1
[2]