龙芯开源社区

 找回密码
 注册新用户(newuser)
查看: 2630|回复: 1

loongson地址窗口配置模块

[复制链接]
发表于 2010-5-8 00:16:13 | 显示全部楼层 |阅读模式
本帖最后由 zt52952 于 2010-5-9 17:00 编辑

地址窗口配置模块

AWR   Address Window Register

配置物理地址 0x0000_0000_3ff00000

0x900000003ff00000,  XKPHY  64位内核模式,物理地址空间


上电缺省的寄存器配置
CPU (0x0000_0000_0000_0000 - 0x0000_0000_0fff_ffff) -> DDR (0x0000_0000_0000_0000 - 0x0000_0000_0fff_ffff)  CPU窗口0
CPU (0x0000_0000_1000_0000 - 0x0000_0000_1fff_ffff) -> PCI (0x0000_0000_1000_0000 - 0x0000_0000_1fff_ffff)  CPU窗口1
PCI (0x0000_0000_8000_0000 - 0x0000_0000_ffff_ffff) -> DDR (0x0000_0000_0000_0000 - 0x0000_0000_ffff_ffff)  PCI窗口0

以上解释如下
Master0窗口0的大小为256M,映射到DDR,CPU的物理地址0-256M,映射到DDR的0-256M。
Master0窗口1的大小为256M,映射到PCI,CPU物理地址的256M-512M映射到PCI,具体映射的方法由PCIMAP来决定。
Master1窗口0的大小为2G,  映射到DDR,PCI地址2G-4G,映射到DDR的0-2G


OpenBSD配置
CPU (0x0000_0000_0000_0000 - 0x0000_0000_0fff_ffff) -> DDR (0x0000_0000_0000_0000 - 0x0000_0000_0fff_ffff)  CPU窗口0 (缺省值)
CPU (0x0000_0000_1000_0000 - 0x0000_0000_1fff_ffff) -> PCI (0x0000_0000_1000_0000 - 0x0000_0000_1fff_ffff)  CPU窗口1 (缺省值)
PCI (0x0000_0000_8000_0000 - 0x0000_0000_ffff_ffff) -> DDR (0x0000_0000_0000_0000 - 0x0000_0000_ffff_ffff)  PCI窗口0 (缺省值)
CPU (0x0000_0000_4000_0000 - 0x0000_0000_7fff_ffff) -> PCI (0x0000_0000_4000_0000 - 0x0000_0000_7fff_ffff)  CPU窗口2
CPU (0x0000_0000_8000_0000 - 0x0000_0000_ffff_ffff) -> DDR (0x0000_0000_8000_0000 - 0x0000_0000_ffff_ffff)  CPU窗口3

以上解释如下
Master0窗口2的大小为1G,  映射到PCI,CPU物理地址的1G-2G映射到PCI 1G-2G。
Master0窗口3的大小为2G,  映射到DDR,CPU物理地址的2G-4G映射到DDR 0-2G。


建议配置
CPU (0x0000_0000_0000_0000 - 0x0000_0000_0fff_ffff) -> DDR (0x0000_0000_0000_0000 - 0x0000_0000_0fff_ffff)  CPU窗口0  OpenBSD采用
CPU (0x0000_0000_1000_0000 - 0x0000_0000_1fff_ffff) -> PCI (0x0000_0000_1000_0000 - 0x0000_0000_1fff_ffff)  CPU窗口1  OpenBSD采用
CPU (0x0000_0000_4000_0000 - 0x0000_0000_7fff_ffff) -> PCI (0x0000_0000_4000_0000 - 0x0000_0000_7fff_ffff)  CPU窗口2  OpenBSD采用
CPU (0x0000_0000_8000_0000 - 0x0000_0000_ffff_ffff) -> DDR (0x0000_0000_8000_0000 - 0x0000_0000_ffff_ffff)  CPU窗口3  OpenBSD采用
PCI (0x0000_0000_8000_0000 - 0x0000_0000_ffff_ffff) -> DDR (0x0000_0000_0000_0000 - 0x0000_0000_ffff_ffff)  PCI窗口0  OpenBSD采用
PCI (0x0000_0000_0080_0000 - 0x0000_0000_00ff_ffff) -> DDR (0x0000_0000_0080_0000 - 0x0000_0000_00ff_ffff)  PCI窗口1  OpenBSD未采用
发表于 2010-5-8 11:53:20 | 显示全部楼层
太好了,学习下

本版积分规则

Archiver|手机版|小黑屋|Lemote Inc.

GMT+8, 2020-10-22 15:43 , Processed in 0.157449 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表