单步调试拆解 x86-64 syscall 指令:它在执行瞬间到底做了什么
tetsuoai · x · 2026-09-14
作者用 gdb 单步调试并在 QEMU 中启动内核再次跟踪,逐条拆解 syscall 指令在执行瞬间的硬件行为:
- syscall 将返回地址保存到 rcx,将 RFLAGS 保存到 r11
- 从 LSTAR MSR 加载内核入口点,从 STAR 加载 ring 0 代码段
- 屏蔽中断(mask interrupts)
- 关键反直觉点:syscall 不压栈、不切换栈——内核的第一批指令自己执行 swapgs 并加载自己的栈
「Fun」频道最新
- 17 岁反 AI 侄子试玩 AI 游戏,给出好评与细致反馈 — AIandDesign · 2026-09-14
- 模型拒买彩票对比名场面:Astra 拒绝,Fable-5.1 爽快帮忙 — JasonBotterill · 2026-09-14
- 「我分析了史上所有衰落帝国的规律」——结论:它们都衰亡了 — generativist · 2026-09-14
- 把数据可视化做成游戏:飞行穿越 3000 万条 embedding — enjalot · 2026-09-14
- 用户用 Grok Bot 团队自动建广告卖鞋,首单成交 — elonmusk · 2026-09-14
- 网友翻出 2017 年 AI 论战旧帖,多位熟面孔现身 — NathanpmYoung · 2026-09-14