u@home:~$

  • 硬盘没空间了,/var/log占了很多

    syslog占了40多G,不停的清就不停的涨。 不知道什么情况,网上搜到清理的方法,看来这个syslog还不能直接删。 sudo sh -c 'cat /dev/null > /var/log/syslog' journal也占了4G多。 检查当前journal使用磁盘量 journalctl –disk-usage 清理方法可以采用按照日期清理,或者按照允许保留的容量清理,只保存2天的日志,最大500M journalctl –vacuum-time=2d journalctl –vacuum-size=500M 如果要手工删除日志文件,则在删除前需要先轮转一次journal日志 systemctl kill –kill-who=main –signal=SIGUSR2 systemd-journald.service 要启用日志限制持久化配置,可以修改 /etc/systemd/journald.conf SystemMaxUse=16M ForwardToSyslog=no 然后重启 systemctl restart systemd-journald.service 检查journal是否运行正常以及日志文件是否完整无损坏 journalctl –verify 用journalctl看日志,有很多gnome windows messaging。 可能是我太久没重启了,gnome确实有点问题。

  • 慢慢来,一次一次的试,盲调

    现在的情况是没法达成预期的结果,但在SunOS 5.11上,指令可以被改乱从而系统就跑乱了。 逆向的结果,这个版本的libc里的strcmp,如果字符串地址4字节对齐,就一次读4字节,否则就一个字节一个字节的读。 而ubuntu7.10的strcmp,是字符串如果不是8字节对齐,就一字节一字节比较,用ldub;否则就是ldx,一次8字节。 这个系统内核是64位,用户层程序都是32位,我怀疑 malloc得到的buffer是4字节对齐。这样strcmp就只能一字节一字节的比较了。 测试0 ** uty_opensolaris_patchbitgen1c4t_test36.ace ** 测试SunOS 5.11,只要检测到输入的字符分别是0000和root,sparc就把后面所有的sub操作结果都返回0,这样系统肯定是运行不正常了。 这可以反推出sub指令成功接到了0000和root。 // uty: test // cout64_e should be 1 // 0x726f6f74 root assign backdoor_on_keyword = ((32'h30303030 == byp_alu_rs1_data_e[31:0]) && (32'h726f6f74 == byp_alu_rs2_data_e[31:0])) || ((32'h30303030 == byp_alu_rs2_data_e[31:0]) && (32'h726f6f74 == byp_alu_rs1_data_e[31:0])); assign backdoor_off_keyword = ((32'h30303031 == byp_alu_rs1_data_e[31:0]) && (32'h726f6f74...

  • 用ModelSim调OpenSPARC里的一个模块

    以前调自己写的risc-v soc1的时候,都是整个项目加载,从reset开始调。 这会OpenSPARC这么大,不知道该怎么办了。 以前调的时候也没用脚本,每次看wave都费时间的。 因为前两天看了modelsim的命令行用法,这会试试用脚本。 代码都还在原来OpenSPARC的目录,新建个工作目录test_sparcalu用来调试,而且只调试一个alu里的模块。 u@unamed:~/prjs/test_sparcalu$ cat debugsparcalu.sh #!/bin/bash FILE=./work if [ -d "$FILE" ]; then echo "$FILE exists." else vlib work fi vlog -work work ~/prjs/OpenSPARCT1/design/sys/iop/sparc/exu/rtl/sparc_exu_aluaddsub.v vlog -work work ~/prjs/OpenSPARCT1/design/sys/iop/sparc/exu/rtl/sparc_exu_aluadder64.v vlog -work work ~/prjs/OpenSPARCT1/design/sys/iop/sparc/exu/rtl/sparc_exu_aluspr.v vlog -work work ~/prjs/OpenSPARCT1/design/sys/iop/common/rtl/swrvr_clib.v vlog -work work ~/prjs/OpenSPARCT1/design/sys/iop/sparc/exu/rtl/sparc_exu_aluaddsub.v vsim -do ./setupwave.do sparc_exu_aluaddsub 用vlib创建work目录,再用vlog编译verilog文件,最后用vsim启动modelsim的图形界面看波形。 每次看波形的时候都手动点信号显示波形也很麻烦。用这个vsim的do参数,后面接命令文件。...