Merge feature/ext4: add EXT4 VFS support for runner/syscall
本次合并补齐 EXT4/VFS 对 runner 和 syscall 的最小支撑能力,主要包括:
-
稳定 EXT4 路径级文件读取接口
- 支持 ext4_read_file(path, max_len)
- 支持 fs::read_file_by_path(path, max_len)
- 已验证 /glibc/basic_testcode.sh 与 /musl/basic_testcode.sh 可读取
-
支持 execve 读取 busybox ELF
- /glibc/busybox 可通过 EXT4 返回 ELF bytes
- 为后续 execve("/glibc/busybox", argv, envp) 联调提供文件系统侧能力
-
接入 EXT4-backed shadow fd
- openat 可打开 EXT4 regular file
- read 支持按 offset 顺序读取
- close 可释放 fd 资源
-
增加目录扫描接口
- 支持 list_dir("/glibc")、list_dir("/musl")
- 支持筛选 *_testcode.sh
- 为后续 runner 扫描测试脚本做准备
-
runner handoff
- EXT4 smoke test 不再直接 shutdown
- 成功读取脚本后继续进入 runner 流程
- 保留 runner 后续接入 execve/wait4/shutdown 的接口边界
验证情况:
- cargo check 通过
- make kernel-rv 通过
- bash scripts/run_ours.sh 退出码为 0
- QEMU 日志包含 EXT4 path read ok
- QEMU 日志包含 /glibc/busybox ELF 读取成功 marker
- QEMU 日志包含 openat/read/close EXT4 shadow fd marker
- QEMU 日志包含 list_dir/find_testcode_scripts marker
- 未发现 panic / panicked / read elf failed