Repository navigation
issues: what the shipped OS takes from QEMU, and the track to run in any open-source hypervisor - #896
Conversation
…any open-source hypervisor An audit of kernel/, loader/, system/, lib/ and sdk/ for every place the shipped OS depends on QEMU rather than on UEFI, ACPI, PCIe and virtio 1.2, with each other target hypervisor's devices read from its own documentation and source (Cloud Hypervisor, crosvm, VirtualBox, bhyve), not booted. Seven dependencies filed, one issue each, and the track that lists them with the five filed before and the per-hypervisor picture: - diskserver's rows name QEMU's NVMe by its PCI id; - the virtio drivers match only the non-transitional id, against virtio 1.2 section 4.1.2.2; - a virtio function that offers no ACCESS_PLATFORM is handed to a process as though the unit translated it, against virtio 1.2 section 6.1; - the x86 clock panics without an HPET table; - a hardware-reduced x86 FADT leaves no power-off and no power button; - virtio-iommu is not driven, so no claim stands under Cloud Hypervisor or crosvm, with the x86 interrupt-remapping half the owner's to rule; - the AP trampoline is written at 0x8000 without the memory map's word. No code changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy
4aa7ea9 to
689e4e7
Compare
…e69b: cargo run -- --ci host, and two more files read
|
Review, round 1, head Net ( Checked, no finding
MSI under virtio-iommu on x86-64, for the ruling (from the virtio specification, the hypervisors' own documentation and source, and Intel VT-d; Linux not used)
BLOCKER
NOTE
SEND BACK |
|
Rulings on round 1 (#896 (comment)).
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy
ACCESS_PLATFORM is the supervisor's check, the kernel staying without virtio; virtio-iommu needs virtio in the kernel on both architectures and is the owner's to rule; Cloud Hypervisor's virtio-iommu is per device and off by default, and crosvm's takes no emulated device; AMD-Vi programs no unit; Cloud Hypervisor's PM timer is ignored under HW_REDUCED_ACPI; bhyve's INTx-only HDA is unsupported; the T14's NVMe row stays out of the class exit; the hardware-reduced exit names Cloud Hypervisor; the cpuvuln clause cites Intel's CPUID.1:ECX[31]; virtio's "fail gracefully" is §4.1.5.1.1.1. Hypervisor sources are read clean-room: their files and commits move to the evidence repository's sources.md, and the ACPI sections stay marked as read in a third-party copy of 6.6. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy
…6815: cargo run -- --ci host
…6815: cargo run -- --ci host, its paths masked whole
|
Review, round 2, head Net ( Round 1's findings
Checked, no finding
BLOCKER None. NOTE None. LAND |
tests/toyos.rs: the testcases metal arm keeps #874's test_rs_wake_onto_busy and drops test_rs_audio_idle_suspend and its comment, which this branch deletes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy
It brings #874, #896 and #887; none moves a path the record cites. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy
An audit, issues only: every place the shipped OS —
kernel/,loader/,system/,lib/,sdk/— depends on QEMU rather than on UEFI, ACPI, PCIe and virtio 1.2, and what each other target hypervisor (Cloud Hypervisor, crosvm, VirtualBox, bhyve) offers it. No code changes.What landed
Eight new files under
issues/, nothing else touched (8 files, 488 insertions; no production or test lines).issues/toyos-runs-in-any-open-source-hypervisor.mdissues/diskserver-claims-qemus-nvme-by-its-pci-id.mdpci:1b36:0010, QEMU's NVMe id; the standard identity is class01:08:02. The configs the T14 boots stay out of the exit until its NVMe holds no Ubuntuissues/the-virtio-drivers-match-only-a-non-transitional-device-id.md0x1040-based id, against virtio 1.2 §4.1.2.2issues/a-virtio-function-that-offers-no-access-platform-is-handed-over-as-translated.mdissues/the-x86-clock-calibrates-against-an-hpet-or-the-boot-panics.mdexpect("ACPI: HPET not found"); Cloud Hypervisor, crosvm and a default VirtualBox publish no HPETissues/a-hardware-reduced-x86-machine-has-no-power-off-and-no-power-button.mdissues/no-claim-gets-an-address-space-under-virtio-iommu.mdissues/the-ap-trampoline-is-written-at-0x8000-whatever-the-memory-map-says-is-there.mdClassification, as the track records it:
-vga std,ramfbunder AArch64's edk2,intel-iommu,caching-mode=on,amd-iommu,kernel-irqchip,iommu-testdev, QMP, slirp. No shipped code drives fw_cfg, ramfb, pvpanic, isa-debug-exit, debugcon or a Bochs display, and none tests a hypervisor signature; the one hypervisor read istoyos-cpuvuln's ofCPUID.1:ECX[31], which Intel's SDM Vol. 1 Table 21-9 allocates "for use by software emulation".-non-transitional,iommu_platform=on,msix-exclusive-bar=on.Review round 1 (issuecomment-6131184845), answered through the orchestrator's rulings (issuecomment-6131213771)
ACCESS_PLATFORMin the kernel: ruling 1. The check is the supervisor's, before it moves the claim in; the exit reads the supervisor's refusal line, its negative control (netstack endowed with the check deleted), andgit grep -i virtio kernel/src/pcidev kernel/src/iommustill empty (empty at this head).virtiodoes not appear anywhere in the kernel" for both architectures; the track lists it under Blocked on.issues/an-amd-vi-machine-isolates-no-device.md.--vfio …,iommu=viommuhost device, never an emulated one.0x40000010alone.CPUID.1:ECX[31](SDM Vol. 1, 253665-093US, Table 21-9); AMD's APM timed out twice and is unread.shutdownand on/vm.power-button.Clean-room (#902 landed meanwhile). Hypervisor source is read clean-room: the issues state facts and cite only specifications, vendors' documents, hypervisors' documentation and the tree; every source file and commit read is provenance in
sources.md, which the track links. Linux is named only as a host platform.Evidence
Read, never booted, at the commits
sources.mdnames; it also records what was read for this round and what could not be.cargo run -- --ci hostatd0b5ae1149a48d65cccd06366c6e5cfe13ed6815(origin/mainb680a973bmerged): EXIT=0,Host: 76 step(s), all green— log, exit, head and load.Unsure
User-Agentand the Internet Archive was offline. Every ACPI section cited (§4.1, §4.1.1.1, §4.8.3.3, §4.8.3.7, §5.2.9) is as a third-party text copy of ACPI 6.6 numbers it, and each file says so.--bios) and bhyve-on-arm64's tables were not read; the track says so.🤖 Generated with Claude Code
https://claude.ai/code/session_015xhaydXCVRNscoccHYFUWy