Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
110 commits
Select commit Hold shift + click to select a range
758cb36
fix(hv): add exit_all_vcpus wrapper, fix GIC state memory leak, expor…
AprilNEA Apr 7, 2026
f89d865
feat(vmm): implement HV backend boot path and dual-backend switching …
AprilNEA Apr 7, 2026
bf92a7d
feat(virtio): connect VirtIO devices to MMIO transport for HV backend…
AprilNEA Apr 6, 2026
85d4ae4
feat(vmm): wire VirtIO device instances into HV backend for guest I/O…
AprilNEA Apr 7, 2026
39829a0
feat(virtio): implement vsock packet processing for HV backend (M2)
AprilNEA Apr 7, 2026
0e983a8
feat(vmm): implement PSCI CPU_ON secondary vCPU spawning and WFI bloc…
AprilNEA Apr 7, 2026
8b28bb2
perf(fs): VirtioFS tuning — adaptive negative cache TTL, cache profil…
AprilNEA Apr 7, 2026
8d893da
feat(bench): add VirtioFS benchmark suite for M4 performance tracking
AprilNEA Apr 7, 2026
cbf4fd4
fix(hv): update GIC API for Xcode 26 SDK and fix RAM base address layout
AprilNEA Apr 7, 2026
5936246
docs: add HV backend architecture plan with rust-vmm ecosystem evalua…
AprilNEA Apr 7, 2026
402bad2
feat(vmm): rewrite HV boot path to use rust-vmm crates (vm-memory, li…
AprilNEA Apr 7, 2026
270c0f7
refactor(virtio): replace hand-written VirtIO constants with virtio-b…
AprilNEA Apr 7, 2026
715031a
refactor: Phase 2 — virtio-bindings, PL011 address fix, vm-superio dep
AprilNEA Apr 7, 2026
423688a
fix(vmm): Phase 3 — fix VirtIO MMIO address, initrd placement, reach …
AprilNEA Apr 7, 2026
fb831d8
fix(virtio): add VIRTIO_F_VERSION_1 to vsock and fs devices
AprilNEA Apr 7, 2026
942308a
debug(vmm): add QUEUE_NOTIFY diagnostics, enable VirtioFS+vsock in E2…
AprilNEA Apr 7, 2026
e4bad37
fix(vmm): fix GPA-to-offset translation for VirtQueue memory access
AprilNEA Apr 7, 2026
cde2abd
feat(vmm): VirtIO console TX processing + console=hvc0 — init output …
AprilNEA Apr 7, 2026
14211a4
feat(vmm): switch E2E test to production boot path (rootfs.erofs bloc…
AprilNEA Apr 7, 2026
279fdc0
fix(vmm): XZR register handling + IRQ GSI mapping for ARM64
AprilNEA Apr 7, 2026
18270c5
fix(vmm): correct GIC SPI INTID numbering in FDT + add write barrier
AprilNEA Apr 7, 2026
4d85766
chore(vmm): clean up debug diagnostics, dead code, and stale docs
AprilNEA Apr 7, 2026
8f774ae
chore(vmm): move legacy code to #[cfg(test)], remove all dead_code su…
AprilNEA Apr 7, 2026
3766428
fix(virtio): set avail_event in used ring for EVENT_IDX notification
AprilNEA Apr 7, 2026
12cfb16
fix(vmm): attach FsServer handler to VirtioFS device for FUSE processing
AprilNEA Apr 7, 2026
35f78fc
fix(virtio): rewrite VirtioFs process_queue to read from guest memory
AprilNEA Apr 7, 2026
52a0119
feat(vmm): enable HV backend in daemon — full boot path through arcbo…
AprilNEA Apr 7, 2026
b9a6c96
feat(vmm): add vsock connect_vsock_hv with socketpair + backend dispatch
AprilNEA Apr 7, 2026
0045246
feat(vmm): vsock data forwarding infrastructure (TX direction)
AprilNEA Apr 7, 2026
821c73c
feat(vmm): vsock RX injection via poll_vsock_rx in WFI handler
AprilNEA Apr 7, 2026
6bf0d4f
feat(vmm): deferred vsock OP_REQUEST injection + per-iteration RX poll
AprilNEA Apr 7, 2026
6f4cdea
wip(vmm): vsock OP_REQUEST retry + IOMMU DMA address investigation
AprilNEA Apr 7, 2026
1d66cff
fix(vmm): vsock OP_REQUEST injection + IOMMU/DMA address analysis
AprilNEA Apr 7, 2026
4e4aa95
feat(vmm): vsock TX queue polling + connection state tracking
AprilNEA Apr 7, 2026
9056346
fix(vmm): single OP_REQUEST injection per port, remove debug noise
AprilNEA Apr 7, 2026
d71ceb0
fix(vmm): trigger IRQ after vsock OP_REQUEST injection + ephemeral sr…
AprilNEA Apr 7, 2026
9b4dc51
feat(vmm): async block I/O worker + vsock multi-connection + boot fixes
AprilNEA Apr 8, 2026
6d26d38
feat(vmm): VirtIO-blk multi-queue + DNS fix + flush barrier
AprilNEA Apr 8, 2026
0f3c6d4
fix(net): route fake-IP TCP connections through proxy before domain l…
AprilNEA Apr 8, 2026
7f65535
feat(vmm): HVC fast-path block read handler
AprilNEA Apr 8, 2026
9e9d44b
fix(vmm): remove double PC advance on HVC exit
AprilNEA Apr 8, 2026
4502123
feat(vmm+agent): fully enable HVC fast-path block I/O
AprilNEA Apr 8, 2026
b496d96
chore: pin boot assets to v0.5.3 (kernel v0.0.12 with HVC driver)
AprilNEA Apr 8, 2026
c6ccda3
perf(vmm): I/O request merging with preadv/pwritev
AprilNEA Apr 8, 2026
8864eed
feat(fs): VirtioFS DAX support (protocol + window + mapper)
AprilNEA Apr 8, 2026
75e631e
feat(fs): wire VirtioFS DAX end-to-end
AprilNEA Apr 8, 2026
9cf67b8
chore: pin boot assets to v0.5.4 (kernel v0.0.13 with FUSE DAX config)
AprilNEA Apr 8, 2026
9cb08fd
fix(fs): VirtioFS DAX end-to-end working
AprilNEA Apr 8, 2026
458a242
fix(fs): per-VirtioFS DAX window allocation
AprilNEA Apr 8, 2026
5ec7993
refactor(dax): 128MB per-share DAX window, scales with share count
AprilNEA Apr 8, 2026
5afe8fc
feat(vsock): port vhost-device-vsock connection state machine
AprilNEA Apr 8, 2026
7bebd9a
feat(net): add vmnet bridge NIC (NIC2) to HV backend for container IP…
AprilNEA Apr 8, 2026
7dfb785
fix(vmnet): use XPC dictionary instead of CFDictionary for vmnet_star…
AprilNEA Apr 8, 2026
056b14e
fix(net): use device ID for primary NIC lookup instead of HashMap scan
AprilNEA Apr 8, 2026
ddbb49a
fix(vsock): remove cross-thread poll_vsock_rx from inject_vsock_connect
AprilNEA Apr 8, 2026
a7f5fbf
fix(vsock): async handshake wait for HV vsock connections
AprilNEA Apr 8, 2026
fa33c5b
fix(vsock): restore direct OP_REQUEST injection with deferred fallback
AprilNEA Apr 8, 2026
15b82b4
refactor(vsock): simplify connect path — pure deferred injection
AprilNEA Apr 8, 2026
9330655
wip: simplify vsock connect — non-blocking with injected_notify channel
AprilNEA Apr 8, 2026
1d7f59e
debug(vsock): add wait_for_agent trace logging, explicit agent drop
AprilNEA Apr 9, 2026
069b226
fix(transport): use tokio::net::UnixStream for HV socketpair connections
AprilNEA Apr 9, 2026
198e2e7
fix(transport): blocking vsock transport for HV agent control plane
AprilNEA Apr 9, 2026
853cbc3
fix(transport): clean up blocking transport warnings, add block_in_place
AprilNEA Apr 9, 2026
d698472
refactor(agent): sync probe helpers + spawn_blocking for agent readiness
AprilNEA Apr 9, 2026
d81ed2d
debug(net): investigate smoltcp SYN-ACK failure in TCP bridge
AprilNEA Apr 9, 2026
cfed9fe
fix(vmm): complete virtio-net checksum offload in HV TX path
AprilNEA Apr 9, 2026
52e7233
fix(net): fix fast-path promotion panic, EMSGSIZE, and workspace clip…
AprilNEA Apr 9, 2026
20c625b
fix(vmm): replace cast suppress with try_from for vsock host_port → R…
AprilNEA Apr 9, 2026
ef95419
fix(net,vmm): resolve P0 release blockers from code review
AprilNEA Apr 9, 2026
597dc2e
fix(net): complete hot-path log level downgrade (ABX-324)
AprilNEA Apr 9, 2026
8cf4c68
fix(vmm): eliminate memory safety UB and harden DAX mapper
AprilNEA Apr 9, 2026
1d7786b
fix(vmm): DAX TOCTOU race + checked_sub for all GPA translations
AprilNEA Apr 9, 2026
ecfb773
fix(vmm): harden VirtIO queue index wrapping, DAX lifecycle, and erro…
AprilNEA Apr 9, 2026
ed10469
feat(vmm): dedicated net-io thread for RX injection (ABX-350)
AprilNEA Apr 9, 2026
5e753c8
feat(vmm): EVENT_IDX notification suppression for net RX (ABX-351)
AprilNEA Apr 9, 2026
3c64232
perf(vmm): increase virtio-net RX queue size from 256 to 1024
AprilNEA Apr 9, 2026
874fbeb
perf(vmm): tune net-io backoff and descriptor exhaustion handling
AprilNEA Apr 9, 2026
a6edbb8
feat(net): crate split + zero-copy RX injection via channel (ABX-352)
AprilNEA Apr 9, 2026
436b810
perf(net): enable MRG_RXBUF + large frames — 10.4 Gbps receiver
AprilNEA Apr 9, 2026
aba44a4
revert: disable GSO header fields — guest drops packets
AprilNEA Apr 9, 2026
39470db
feat(net): GSO offload with NEEDS_CSUM for RX injection
AprilNEA Apr 9, 2026
6075f46
feat(net): inline vhost framework + GSO NEEDS_CSUM (10.3 Gbps)
AprilNEA Apr 9, 2026
7ad8cb6
feat(net): vsock-based TCP port forwarding architecture (ABX-PF)
AprilNEA Apr 9, 2026
18fa513
perf(vsock): dedicated kqueue-based vsock RX worker thread
AprilNEA Apr 10, 2026
ea19cf0
fix(vsock): flush interrupt and yield on credit exhaustion
AprilNEA Apr 10, 2026
f0ec520
fix(vsock): correct partial-write corruption and credit accounting
AprilNEA Apr 10, 2026
397362f
perf(vsock): tune worker params, revert credit-notify pipe
AprilNEA Apr 10, 2026
3317f61
fix(vmm): match VirtioNet MTU to datapath ENHANCED_ETHERNET_MTU (4000)
AprilNEA Apr 10, 2026
22dfc0e
feat(vsock): direct guest memory injection + guest buffer tuning
AprilNEA Apr 10, 2026
7e1d947
fix(vsock): flush interrupt on inline descriptor exhaustion
AprilNEA Apr 10, 2026
881e0ea
fix(vsock): 3 critical inline inject fixes
AprilNEA Apr 10, 2026
6fa1e5f
fix(vsock): restore inject_vsock_connect + partial inline disable att…
AprilNEA Apr 10, 2026
1cc3dbf
fix(vsock): disable inline promotion, fix into_std roundtrip
AprilNEA Apr 10, 2026
eaa762a
fix(vsock): restore sole writer — remove inject_vsock_rx_raw from dae…
AprilNEA Apr 10, 2026
1477d17
diag(vsock): add credit=0 and inject_fail logs, reduce buf to 2MiB
AprilNEA Apr 10, 2026
c4c01f3
fix(vsock): u32 wrapping underflow in peer_avail_credit
AprilNEA Apr 10, 2026
0194559
fix(vsock): two credit flow control bugs
AprilNEA Apr 10, 2026
13dceaa
fix(vsock): buf_alloc regression + splice relay + TCP buffer tuning
AprilNEA Apr 10, 2026
4cf87f7
diag: EVENT_IDX + remove hv_vcpus_exit (RCU stall persists)
AprilNEA Apr 10, 2026
19f7f83
fix(vsock): add regression tests for peer_avail_credit underflow
AprilNEA Apr 10, 2026
6a38715
docs: vsock port forwarding stall analysis for review
AprilNEA Apr 10, 2026
e4cd78f
docs: add reproduction steps to stall analysis
AprilNEA Apr 10, 2026
cf885bc
fix(vsock): add injection pacing to prevent RCU stalls and credit dea…
AprilNEA Apr 11, 2026
8ec0064
perf(vsock): enlarge socketpair buffers to 512KB
AprilNEA Apr 11, 2026
884ac57
perf(agent): add TCP tuning sysctls and splice relay diagnostics
AprilNEA Apr 11, 2026
6001f63
fix(port-forward): blocking relay + TCP recv buffer + diagnostics
AprilNEA Apr 11, 2026
4d61a24
fix(port-forward): decouple TCP read from socketpair write via channel
AprilNEA Apr 11, 2026
36fd19e
feat(vsock): add unified muxer module for merged TX+RX processing
AprilNEA Apr 11, 2026
1fd587d
feat(vsock): wire muxer into device manager, replace rx_worker
AprilNEA Apr 11, 2026
750e09b
wip(vsock-muxer): final diagnostic state before abandoning vsock path
AprilNEA Apr 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 76 additions & 4 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 5 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ members = [
"virt/arcbox-vm",
"virt/arcbox-fs",
"virt/arcbox-net",
"virt/arcbox-port-forward",
"virt/arcbox-dhcp",

# ============================================
Expand Down Expand Up @@ -53,7 +54,7 @@ members = [
# ============================================
# Guest Components (MIT OR Apache-2.0)
# ============================================
"guest/arcbox-agent",
"guest/arcbox-agent", "virt/arcbox-net-inject",
]

[workspace.package]
Expand All @@ -78,8 +79,9 @@ serde_json = "1"

# Logging
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
tracing-subscriber = { version = "0.3", features = ["env-filter", "json", "tracing-log"] }
tracing-appender = "0.2"
tracing-log = "0.2"

# Error reporting
sentry = { version = "0.46", default-features = false, features = [
Expand Down Expand Up @@ -187,6 +189,7 @@ arcbox-virtio = { version = "0.3.21", path = "virt/arcbox-virtio" } # x-release-
arcbox-vm = { version = "0.3.21", path = "virt/arcbox-vm" } # x-release-please-version
arcbox-fs = { version = "0.3.21", path = "virt/arcbox-fs" } # x-release-please-version
arcbox-net = { version = "0.3.21", path = "virt/arcbox-net" } # x-release-please-version
arcbox-port-forward = { version = "0.3.21", path = "virt/arcbox-port-forward" } # x-release-please-version
arcbox-dhcp = { version = "0.3.21", path = "virt/arcbox-dhcp" } # x-release-please-version
arcbox-container = { version = "0.3.21", path = "runtime/arcbox-container" } # x-release-please-version
arcbox-protocol = { version = "0.3.21", path = "rpc/arcbox-protocol" } # x-release-please-version
Expand Down
2 changes: 2 additions & 0 deletions app/arcbox-core/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ arcbox-helper = { workspace = true }
arcbox-migration = { path = "../arcbox-migration" }
libc = { workspace = true }
tempfile = "3"
arcbox-port-forward = { version = "0.3.21", path = "../../virt/arcbox-port-forward" }

[target.'cfg(target_os = "macos")'.dependencies]
ifbridge = { workspace = true }
Expand All @@ -56,6 +57,7 @@ backend-guest-docker = []
provision-bundled = []
provision-distro = []
vmnet = ["arcbox-vmm/vmnet"]
gic = ["arcbox-vmm/gic"]

[lints]
workspace = true
Loading
Loading