alpha
Login
or
Join now
gazagnaire.org
/
ocaml-solo5
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Solo5 hvt ABI and MFT1/ABI1 note format as wire codecs
Star
0
Fork
0
Atom
Configure Feed
Issues
Pull Requests
Commits
Tags
Feed URL
Select the types of activity you want to include in your feed.
Overview
Issues
Pulls
Pipelines
ocaml-solo5
/
bin
20 files
at
main
Thomas Gazagnaire
solo5: give the slirp datagram link a 65521-byte MTU
9d ago
92d1ba81
cmd_manifest.ml
solo5: give the slirp datagram link a 65521-byte MTU
1 week ago
cmd_manifest.mli
solo5: consolidate the tenders and tooling into ocaml-solo5 Fold ocaml-solo5-tools into the ocaml-solo5 umbrella, which now holds four packages: solo5-abi (the hvt ABI and the MFT1/ABI1 note format as wire codecs), solo5-tender (the backend-independent core), solo5-tool (the solo5 manifest CLI), and solo5-hvf (the Apple Hypervisor.framework backend). The wire format the tender and the CLI both need has a single home in solo5-abi, so the MFT1 layout constants and the device tail codecs -- previously duplicated between the tender's Abi and solo5-tools -- are defined once. Repoint ocaml-eio-solo5 at the solo5 binary / solo5-tool. Regenerate the EverParse validators (hvt and Mft) under solo5-abi. Add a CVE-pattern adversarial batch to the manifest parser: hostile entry counts (INT32/UINT32/high-bit, the U-Boot squashfs huge-count family), the count-times-stride overflow guard, truncation boundaries, and exact (unmasked) type-tag matching.
1 month ago
cmd_query.ml
solo5: consolidate the tenders and tooling into ocaml-solo5 Fold ocaml-solo5-tools into the ocaml-solo5 umbrella, which now holds four packages: solo5-abi (the hvt ABI and the MFT1/ABI1 note format as wire codecs), solo5-tender (the backend-independent core), solo5-tool (the solo5 manifest CLI), and solo5-hvf (the Apple Hypervisor.framework backend). The wire format the tender and the CLI both need has a single home in solo5-abi, so the MFT1 layout constants and the device tail codecs -- previously duplicated between the tender's Abi and solo5-tools -- are defined once. Repoint ocaml-eio-solo5 at the solo5 binary / solo5-tool. Regenerate the EverParse validators (hvt and Mft) under solo5-abi. Add a CVE-pattern adversarial batch to the manifest parser: hostile entry counts (INT32/UINT32/high-bit, the U-Boot squashfs huge-count family), the count-times-stride overflow guard, truncation boundaries, and exact (unmasked) type-tag matching.
1 month ago
cmd_query.mli
solo5: consolidate the tenders and tooling into ocaml-solo5 Fold ocaml-solo5-tools into the ocaml-solo5 umbrella, which now holds four packages: solo5-abi (the hvt ABI and the MFT1/ABI1 note format as wire codecs), solo5-tender (the backend-independent core), solo5-tool (the solo5 manifest CLI), and solo5-hvf (the Apple Hypervisor.framework backend). The wire format the tender and the CLI both need has a single home in solo5-abi, so the MFT1 layout constants and the device tail codecs -- previously duplicated between the tender's Abi and solo5-tools -- are defined once. Repoint ocaml-eio-solo5 at the solo5 binary / solo5-tool. Regenerate the EverParse validators (hvt and Mft) under solo5-abi. Add a CVE-pattern adversarial batch to the manifest parser: hostile entry counts (INT32/UINT32/high-bit, the U-Boot squashfs huge-count family), the count-times-stride overflow guard, truncation boundaries, and exact (unmasked) type-tag matching.
1 month ago
cmd_size.ml
solo5: consolidate the tenders and tooling into ocaml-solo5 Fold ocaml-solo5-tools into the ocaml-solo5 umbrella, which now holds four packages: solo5-abi (the hvt ABI and the MFT1/ABI1 note format as wire codecs), solo5-tender (the backend-independent core), solo5-tool (the solo5 manifest CLI), and solo5-hvf (the Apple Hypervisor.framework backend). The wire format the tender and the CLI both need has a single home in solo5-abi, so the MFT1 layout constants and the device tail codecs -- previously duplicated between the tender's Abi and solo5-tools -- are defined once. Repoint ocaml-eio-solo5 at the solo5 binary / solo5-tool. Regenerate the EverParse validators (hvt and Mft) under solo5-abi. Add a CVE-pattern adversarial batch to the manifest parser: hostile entry counts (INT32/UINT32/high-bit, the U-Boot squashfs huge-count family), the count-times-stride overflow guard, truncation boundaries, and exact (unmasked) type-tag matching.
1 month ago
cmd_size.mli
solo5: consolidate the tenders and tooling into ocaml-solo5 Fold ocaml-solo5-tools into the ocaml-solo5 umbrella, which now holds four packages: solo5-abi (the hvt ABI and the MFT1/ABI1 note format as wire codecs), solo5-tender (the backend-independent core), solo5-tool (the solo5 manifest CLI), and solo5-hvf (the Apple Hypervisor.framework backend). The wire format the tender and the CLI both need has a single home in solo5-abi, so the MFT1 layout constants and the device tail codecs -- previously duplicated between the tender's Abi and solo5-tools -- are defined once. Repoint ocaml-eio-solo5 at the solo5 binary / solo5-tool. Regenerate the EverParse validators (hvt and Mft) under solo5-abi. Add a CVE-pattern adversarial batch to the manifest parser: hostile entry counts (INT32/UINT32/high-bit, the U-Boot squashfs huge-count family), the count-times-stride overflow guard, truncation boundaries, and exact (unmasked) type-tag matching.
1 month ago
cmd_startup.ml
solo5: preserve guest arguments and quiet gateway shutdown Boot flags must reach Sys.argv through the generated startup shim. A normal tender exit must also stop its slirp sidecar without printing an internal-error diagnostic.
1 week ago
cmd_startup.mli
nox-dune: keep %{system}-gated stanzas conditional (false E523/E522) Dune.File resolved %{system} to the analysis host, so a stanza gated on (= %{system} <other-os>) evaluated to a concrete false off-host and was reclassified out of the module stanzas. A multi-stanza dune with a platform-gated executable -- a Linux-only tender beside a macOS-only one -- then read the off-host module as uncovered (a false E523), and the same drop fed a false E522. %{system} carries %{...} like %{os}/%{arch}, which already stay unresolved via has_variables: a platform-gated stanza is conditional, not statically false, so its modules stay claimed. Drop the %{system} special case (and the now-unused current_system) so merlint reasons about dune structure host-independently. Regression test: a %{system}-gated executable in the E523 good/gated fixture, gated on a system that is never the analysis host so the stanza is always off-host yet its module must still be claimed.
1 month ago
cmd_up.ml
solo5: dune-gen emits egarim-eio.{native,solo5} (renamed backend) The shared unikernel Dune rules reference the backend implementation by public name; the eio-solo5 -> egarim-eio rename moves those to egarim-eio.native / egarim-eio.solo5. Also extract the inline Fmt.kstr Error wrapper in cmd_up into a top-of-file err helper (E218).
3 weeks ago
cmd_up.mli
solo5: cmd_up doc matches the opam-x alias it became The interface comment still described the pre-opam-x behavior (workspace setup, an unpackaged-unikraft error path); the command has been a thin alias for opam-x toolchain up since the bootstrap moved there.
3 weeks ago
common.ml
solo5: run the slirp gateway as a spawned subprocess Move the slirp gateway out of the tender's address space and spawn it as a separate process: add the spawn C stub, mark the disk image and control fds close-on-exec so the gateway cannot reach the guest's disks or the VM fds, and wire the spawn through the CLI. The in-tender slirp module is removed.
1 month ago
common.mli
solo5: Generate eio unikernel build glue Eio_solo5 callers declare devices at run, so the native binary can print the manifest used by the Solo5 build. The solo5 tool also emits the startup and manifest glue, and merlint ignores compiler-introduced wrapped module paths when the source path has no double underscore.
1 month ago
dune
slirp: split the eio edge into its own opam package slirp.eio was a sublibrary of the slirp package, so installing the I/O-free core pulled in eio and the eio-only codecs with it. Give the edge its own package, as ssh/ssh-eio and dhcp/dhcp-eio already do: slirp now depends on nothing that does I/O, and slirp-eio depends on slirp. The library's public name changes with it, so the callers that link it -- the vz binary, the benchmarks, the eio and integration tests, ocaml-solo5's binary and the mirage native device -- name slirp-eio instead. They move in the same commit because the old name stops resolving with the new one.
2 weeks ago
main.ml
ocaml-solo5: Add shared tender and KVM backend Move the backend-independent hvt tender into solo5-tender and add the Linux KVM backend alongside HVF. Replace the old generated C ABI bindings with Wire codecs and direct hot-path accessors, add a single production benchmark suite with probe coverage, and update the tests and package metadata for the new layout.
1 month ago
main_kvm.ml
ocaml-solo5: Add shared tender and KVM backend Move the backend-independent hvt tender into solo5-tender and add the Linux KVM backend alongside HVF. Replace the old generated C ABI bindings with Wire codecs and direct hot-path accessors, add a single production benchmark suite with probe coverage, and update the tests and package metadata for the new layout.
1 month ago
solo5.ml
solo5: follow the mirage CLI rename in docs
3 weeks ago
solo5_cli.ml
solo5: give the slirp datagram link a 65521-byte MTU
1 week ago
solo5_cli.mli
ocaml-solo5: Add shared tender and KVM backend Move the backend-independent hvt tender into solo5-tender and add the Linux KVM backend alongside HVF. Replace the old generated C ABI bindings with Wire codecs and direct hot-path accessors, add a single production benchmark suite with probe coverage, and update the tests and package metadata for the new layout.
1 month ago
solo5_slirp.ml
solo5: give the slirp datagram link a 65521-byte MTU
1 week ago
spawn_stubs.c
solo5: run the slirp gateway as a spawned subprocess Move the slirp gateway out of the tender's address space and spawn it as a separate process: add the spawn C stub, mark the disk image and control fds close-on-exec so the gateway cannot reach the guest's disks or the VM fds, and wire the spawn through the CLI. The in-tender slirp module is removed.
1 month ago