Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
| Comment: | Merge 4.4 (x86_64): The guest's system calls
Reviewed against docs/tasks/4.4.md; verdict merge. Phase 4's demo passes on x86_64. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KMXZyLk8eDgCjvQ9hX |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
dba10e6aa47e0fd2aafb5322be46b640 |
| User & Date: | x86-1-glint 2026-11-09 19:26:26.113 |
|
2026-11-09
| ||
| 19:27 |
docs/boots: a recording of Glint running the test guest as a hypervisor
Claim: the boots page gains Phase 4's x86_64 demo. Glint places the test guest, enters it with SVM, serves its three calls, and returns to its shell. Passage: the maintainer's request (ocx-console 6aad6a9710): 'it would be great to see how it is going without needing to get all the tools setup.' Demonstration: the cast is the file bin/glint-run wrote at trunk dba10e6aa4 for that command, which exited 0. Size: one cast (777 lines), 2 lines in boots.js. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KMXZyLk8eDgCjvQ9hX check-in: eeaecdcc75 user: x86-1-glint tags: trunk | |
| 19:26 |
Merge 4.4 (x86_64): The guest's system calls
Reviewed against docs/tasks/4.4.md; verdict merge. Phase 4's demo passes on x86_64. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KMXZyLk8eDgCjvQ9hX check-in: dba10e6aa4 user: x86-1-glint tags: trunk | |
| 19:26 |
4.4 (x86_64): The guest's system calls
Claim: in hypervisor mode Glint serves the guest. Vcpu#serve runs it in a loop bounded at 1000 exits, and Glint::GuestCalls.dispatch picks a handler by SMCCC function number, reading registers only through the vCPU interface so the aarch64 half reuses it. PSCI VERSION answers 0x2 (PSCI 0.2, Glint's choice for this subset). SYSTEM_OFF stops the guest: 'VM: guest powered off', then the shell. GLINT_CONSOLE_WRITE copies up to 4096 bytes out through translate and writes them to Glint's console only once all are copied. It returns INVALID_PARAMS (-2) for an empty, wrapping, oversized or out-of-RAM range, and writes nothing then. Any other ID gets NOT_SUPPORTED (-1). A non-call exit prints 4.3b's VM exit line and stops. Passage: xv6 ยง4.3, paraphrased because the text isn't in the workspace: syscall uses the system call number to select the handler. Demonstration: Phase 4's demo on x86_64. On x86-1, bin/glint-run x86_64 --mode hypervisor --guest build/x86_64/guest/test.efi printed 'Mode: hypervisor', 'test guest: started', 'test guest: PSCI version 0x0000000000000002' and 'VM: guest powered off', then the prompt; cat "hello.txt" still worked. spec/guest_calls_spec.cr drives the dispatcher over a fake vCPU through each function, an unknown ID, out-of-RAM, wrapping, over-cap and two-page writes. spec/run/phase4_spec.cr checks the boot's line order, with aarch64 pending. Full suite: 1730 examples, 13 failures, 2 errors, 28 pending; every failure is an aarch64 build or glint-build all. Codex wrote it from docs/tasks/4.4.md; the reviewer made no changes. Review notes: console_write stages the text in a 4 KiB stack buffer. Guest bytes reach the serial console unfiltered, including escape sequences; 4.5's checks should say whether that is acceptable. Size: +122/-14 non-spec lines; largest new function copy_console, 1,147 bytes; BOOTX64.EFI 188,928 to 197,120 bytes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KMXZyLk8eDgCjvQ9hX Leaf check-in: 338739d62e user: x86-1-glint tags: slice/4.4-x86_64 | |
| 18:47 |
Task 4.4 (x86_64): The guest's system calls
Claim: docs/tasks/4.4.md has Glint run the guest in a bounded loop and dispatch each call by SMCCC function number through the vCPU interface only, so the aarch64 half reuses it. PSCI VERSION answers 0.2, SYSTEM_OFF stops the guest, GLINT_CONSOLE_WRITE copies the guest's text out through translate (refusing ranges outside guest RAM, wrapping or over a cap), and anything else gets NOT_SUPPORTED. The boot spec is the phase demo for x86_64. Passage: docs/WORKFLOW.md, Handing out a slice, step 1. Demonstration: the PSCI IDs and return codes named are U-Boot 2026.07 include/linux/psci.h's. Size: one new task. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TUH8KMXZyLk8eDgCjvQ9hX check-in: 8a2d929623 user: x86-1-glint tags: trunk | |