为什么不能直接让 LLM 翻译整个驱动?
现有 C2Rust 翻译范式存在根本性的语义错配(Semantic Mismatch):
噪声干扰: 将整个驱动代码视作"翻译对象",LLM 陷入 Linux 内核的胶水代码(spinlock、platform_driver、devm_、PCI 子系统调用)。这些与硬件无关的 OS 耦合逻辑,作为背景噪声严重干扰 LLM 对核心意图的识别。
本质错失: 驱动的唯一终极职责是与硬件交互。翻译的本质不应是"语法等价转换",而应是"逆向恢复硬件操作协议"。
核心洞察: 摒弃"全量翻译",转为硬件行为剥离(Hardware Behavior Stripping) —— 将驱动中与硬件寄存器交互的逻辑(RIS)从 OS 泥潭中精准提取出来。