Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

system-register-tool安装与A55寄存器不全问题请教下 #4

Closed
userjanet opened this issue May 24, 2023 · 9 comments
Closed

system-register-tool安装与A55寄存器不全问题请教下 #4

userjanet opened this issue May 24, 2023 · 9 comments
Assignees

Comments

@userjanet
Copy link

你好,非常感谢邮件的答复
目前还有以下两个问题,对我十分重要
问题1:该工具的readme中显示next,MSR-ARM module is already installed,install system-register-tool as follows:make && make install
问怎么安装 system-register-tool ?有要求在哪个路径下吗?安装命令是make && make install ?
问题2:我看该工具registersv8.table显示的寄存器没有完全包含ARM A55的寄存器,如 ERXPFGCTL_EL1 S3_0_C15_C2_1,所以想问下,是否有A55比较全的寄存器文档?还是需要我自己一个一个的加?将寄存器加到哪些文件内?
非常期待你的答复,感谢
J
18951742957

@userjanet
Copy link
Author

备注:我之前安装system-register-tools-main是将整个文件夹放在shell下的/data文件夹内,同时采用make && make install安装,如下图
/data# make && make install system-register-tools-main
结果为
/bin/sh:make:not found
没装成功

@userjanet
Copy link
Author

cp /.regstable /.regstable.bak
echo "ERXPFGCTL_EL1 S3_0_c15_c2_1">>/.regstable //备注:这里的空格我不知道要几个
此时cat /.regstable发现上述的信息的确有在/.regstable内,可是运行 ./rdsar -p0 -r ERXPFGCTL_EL1 结果显示internal error:oops - undefined instruction:0[#1] SMP 为什么

@userjanet
Copy link
Author

楼主,非常感谢,上述问题花了我们2个大牛,终于解完了。可目前发现一个新的问题:ARM A55的ERXPFGCTL_EL1寄存器是32位的,可读可写,对该寄存器写值,如它的默认值,设备会重启,查看临终遗言发现是fatal exception。然后我们对一个可读可写的64位寄存器写默认值,发现设备没重启,且写成功了。 问:我们怀疑该工具的wraser函数只能对64位寄存器进行读写,是这样吗?要是要对32位寄存器进行写值,有什么办法?

@wangrongwei
Copy link
Collaborator

cp /.regstable /.regstable.bak echo "ERXPFGCTL_EL1 S3_0_c15_c2_1">>/.regstable //备注:这里的空格我不知道要几个 此时cat /.regstable发现上述的信息的确有在/.regstable内,可是运行 ./rdsar -p0 -r ERXPFGCTL_EL1 结果显示internal error:oops - undefined instruction:0[#1] SMP 为什么

这个问题是如何解决的,是system-register-tools的问题吗?如果是的话,是否可以帮忙提一个PR,或告诉我自己来修复一下。

感谢!

@wangrongwei
Copy link
Collaborator

另外,这个工具的开发和测试基本都是在arm服务器(ARMv8)上完成的,缺乏兼顾A55之类的32位处理器的测试。如果在使用过程中,你有什么建议,可以帮忙开一个issue单独列出来?后续我会尝试优化一下。

非常感谢!

@userjanet
Copy link
Author

userjanet commented May 26, 2023 via email

@userjanet
Copy link
Author

userjanet commented May 26, 2023 via email

@userjanet
Copy link
Author

userjanet commented May 26, 2023 via email

@wangrongwei
Copy link
Collaborator

wangrongwei commented May 27, 2023

补充:发现自运行step1后,现在./rdasr -t都可以正常运行,如预期一样。我们怀疑是贵司工具自带的regstable里的寄存器可能有些是A55不支持的,所以运行某些寄存器时会导致设备异常重启

是的,我们是ARMv8。不过该驱动有hook功能,如果检测到是该模块导致的未定义指令异常会拦截,避免宕机。
如此看来有些寄存器在你们的环境里边没有被拦截。主要是我找不到A55环境测试,所以没办法修复。

BTW,这个.regstable文件并非必须的,主要的作用是让用户可以使用ERXPFGF_EL1类似寄存器名的输入,使用S3_0_c15_c2_1是不需要该文件的。

@wangrongwei wangrongwei self-assigned this May 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants