ksco 的工作日志
245 subscribers
168 photos
10 videos
4 files
84 links
内容主要取决于我正在做的东西,目前主要是模拟器 / DBT 之类的散乱话题。
Download Telegram
ksco 的工作日志
突然发现 Codemasters 出新作了,WRC licensed、虚幻引擎,只要 200 块!
玩了两个小时,这游戏优化好差,6600XT 只能开中画质。但好在手感是无可挑剔的,算是尘埃拉力赛 2.0 的精神续作。游戏性上也有了长足的进步,终于像个游戏而不是模拟器了。
今天学习了一下 rseq(restartable sequence),想到这个东西在 gdb 中的实现应该和 ll/sc 很像。但搜了一下 gdb 源码,各大架构好像都没有实现?大家对这个东西完全没有调试需求吗?
DR 等 DBT 对信号的处理都相当复杂,其本质原因是 Linux 的信号可以在任意时刻发生,而 DBT 不得不注册一个全局的 signal handler 对所有的信号统一处理再分发来模拟内核行为。
这就要求:
1. DBT 要么时刻保持精确的 guest 状态(和性能不可兼得),要么可以在任意时刻恢复出精确的 guest 状态;
2. trace building、basic block linking 等让执行流尽可能保留在 code cache 的优化手段进一步增加了复杂性 -- 异步信号 interruption point 所在的 basic block 必须 unlink 来保证可控的执行时间;
3. syscall 可能会等待一个信号,所以所有的 pending 信号必须在 syscall 之前被处理;
4. rseq 如果被信号打断,则需要重启;
5. ......
三天了,还是没看懂 DynamoRIO 怎么做的 signal handling。道理大概都懂,但是看代码就懵逼,这合适吗?
Forwarded from Easton Man | 逐渐猫化
Userspace Bypass.pdf
2.8 MB
吃瓜看上游 debug 突然坏掉的 CI 🤯
同事帮忙借到了一台 SG 2042,这拿来跑 box64 不得爽死
刚刚突然磁盘满了,找了一圈发现是用 QuickTime Player 做 HDMI 采集不小心按了录制,录了一整天
竟然在周末前夕修好了调了一周的 bug,开心捏
3
只有当结果是 10 的时候才出错,今日 box64 神奇 bug
这么大的箱子😨
GitHub Actions 最近上了一大批 AMD 的 x86 机器,DR 的某几个 x86 测试只要分到这些机器上就大概率会挂,上游又比较缺人修,每次想合代码都要 rerun 好多遍撞大运,好烦啊 😫
🥵
突然发现有了 Pioneer 和 code-oss 之后,我可以完全在 RV 上做开发了耶
Forwarded from 刘阳