Repository navigation
serial: timestamp --serial-log lines with a UTC wall clock - #325
Merged
Merged
Conversation
A harness tailing --serial-log cannot tell a slow boot from a missing line, and a partial line is indistinguishable from no output. Add serial_log_timestamps = off|wall (--serial-log-timestamps): off stays a byte-for-byte transcript, wall prefixes each completed line with a UTC ISO-8601 stamp. One shared sink serves the CI and TCP backends, a partial line is held until its newline and flushed on stop, and the O2's fresh-per-boot log uses the same sink.
belikh
added a commit
to irix7/iris
that referenced
this pull request
Oct 25, 2026
A quiet-host rerun of the same release binary and config reaches the system menu in seconds, so the workaround stays but the issue is not a confirmed emulator bug. Also records serial timestamps as sent upstream (techomancer#325).
belikh
added a commit
to irix7/iris
that referenced
this pull request
Oct 25, 2026
16 tasks
belikh
added a commit
to irix7/iris
that referenced
this pull request
Oct 25, 2026
Adopt the upstream work that landed since the fork's last sync: - jitv2: skip the FP exception model for ordinary operands (techomancer#328) - jitv2: inline the FPU integer conversions (techomancer#332) - serial: wall-clock timestamps for --serial-log (techomancer#325) - physical: a sparse, host-mapped decode table over 40 bits - pit: implement the 8254 read-back command - O2: the AIC-7880 specification, shared [scsi.N] disks, fresh serial log - docs: Odyssey references and the AIC-7880 emulation notes Conflict resolutions: - serial log: take upstream's one shared sink and the off|wall timestamp modes; delete the fork's guest/both synthetic-clock sink and its partial-line flusher. The CI and TCP paths still share the sink, and the fork's per-consumer console cursors are unchanged. - config: use dev::serial_log::SerialLogTimestamps; remove the local enum, the microsecond formatter and the guest/both parsing tests. - CHANGELOG/FEATURES/HELP: keep the fork's October sections and the instance/fleet entries, adopt upstream's JIT v2 and O2 text, and drop the duplicated O2 sync and machine-start entries. Tests: cargo test --workspace --features lightning,jitv2.
belikh
added a commit
to irix7/iris
that referenced
this pull request
Oct 25, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A harness tailing
--serial-logcannot tell a slow boot from a missing line, and a held partial line is indistinguishable from no output at all.serial_log_timestampsconfig key and--serial-log-timestamps off|wall.off(the default) writes raw bytes, byte-for-byte a transcript;wallprefixes each completed line with a UTC ISO-8601 stamp, e.g.[2026-10-25T06:28:11.818188Z] ROM: ARCS PROM replacement booting.SerialLogsink serves the CI and TCP backends, so both paths write identical bytes. A partial line is held until its newline (a stamp must belong to the line it starts) and flushed on machine stop; the O2's fresh-per-boot log uses the same sink.Evidence:
cargo test -p iris --lib dev::serial_log— 3 passed.[2026-10-25T06:28:11.804393Z]and[2026-10-25T06:28:11.818188Z] ROM: ARCS PROM replacement booting.cargo test --workspaceonupstream/main: 1337 passed, 0 failed.The fork's
guest/bothtimestamp modes depend on its cycle-derived clock and are not part of this PR; they stay with the clock-model discussion (#322).