Files
k-os/Cargo.lock
Gabriel Kaszewski 3a0395453b refactor: extract shared hw-virtio crate, eliminate VirtIO protocol duplication
Two VirtIO block and two VirtIO GPU implementations (adapter + driver)
shared 90% of their protocol logic. Extracted the common code into
hw-virtio, parameterized by MmioAccess trait.

New crate: hw-virtio (no_std, zero deps)
  - mmio.rs: MmioAccess trait, DirectMmio, init_legacy_device(), scan
  - queue.rs: VirtioQueue with descriptor chain submit + poll
  - block.rs: block read protocol (3-descriptor chain)
  - gpu.rs: GPU commands (create_2d, attach_backing, set_scanout,
            transfer_to_host, resource_flush)

Adapter thin wrappers (identity-mapped, statics for DMA):
  - virtio_blk.rs: 220 → 53 lines
  - virtio_gpu.rs: 165 → 37 lines

Driver thin wrappers (mapped VAs, phys-info for DMA):
  - drivers/block/virtio: 139 → 70 lines
  - drivers/framebuffer/virtio: 146 → 95 lines

Also deleted input-server/input_device.rs (1-line re-export,
superseded by port-input-device).
2026-10-18 13:29:28 +02:00

313 lines
4.1 KiB
TOML

# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 4
[[package]]
name = "accessibility-server"
version = "0.1.0"
[[package]]
name = "adapter-riscv"
version = "0.1.0"
dependencies = [
"domain",
"elf",
"hw-virtio",
"kernel",
"platform",
"types",
]
[[package]]
name = "alarm-server"
version = "0.1.0"
[[package]]
name = "audio-capture-server"
version = "0.1.0"
[[package]]
name = "audio-playback-server"
version = "0.1.0"
[[package]]
name = "bluetooth-server"
version = "0.1.0"
[[package]]
name = "calendar-server"
version = "0.1.0"
[[package]]
name = "camera-server"
version = "0.1.0"
[[package]]
name = "clipboard-server"
version = "0.1.0"
[[package]]
name = "contacts-server"
version = "0.1.0"
[[package]]
name = "display-qemu"
version = "0.1.0"
dependencies = [
"display-server",
"driver-framebuffer-virtio",
"server-framework",
"userspace",
"userspace-rt",
]
[[package]]
name = "display-server"
version = "0.1.0"
dependencies = [
"driver-framebuffer-mock",
"port-framebuffer",
"server-framework",
"types",
]
[[package]]
name = "domain"
version = "0.1.0"
dependencies = [
"types",
]
[[package]]
name = "driver-block-virtio"
version = "0.1.0"
dependencies = [
"hw-virtio",
"port-block-device",
]
[[package]]
name = "driver-framebuffer-mock"
version = "0.1.0"
dependencies = [
"port-framebuffer",
]
[[package]]
name = "driver-framebuffer-virtio"
version = "0.1.0"
dependencies = [
"hw-virtio",
"port-framebuffer",
]
[[package]]
name = "echo"
version = "0.1.0"
dependencies = [
"userspace",
"userspace-rt",
]
[[package]]
name = "elf"
version = "0.1.0"
[[package]]
name = "gatekeeper"
version = "0.1.0"
[[package]]
name = "gps-server"
version = "0.1.0"
[[package]]
name = "hello"
version = "0.1.0"
dependencies = [
"userspace-rt",
]
[[package]]
name = "hw-virtio"
version = "0.1.0"
[[package]]
name = "init"
version = "0.1.0"
dependencies = [
"elf",
"types",
"userspace",
"userspace-rt",
]
[[package]]
name = "input-server"
version = "0.1.0"
dependencies = [
"port-input-device",
"server-framework",
"types",
"userspace",
"userspace-rt",
]
[[package]]
name = "kernel"
version = "0.1.0"
dependencies = [
"domain",
"platform",
"types",
]
[[package]]
name = "keychain-server"
version = "0.1.0"
[[package]]
name = "log-server"
version = "0.1.0"
dependencies = [
"server-framework",
"types",
"userspace",
"userspace-rt",
]
[[package]]
name = "media-index-server"
version = "0.1.0"
[[package]]
name = "network-server"
version = "0.1.0"
[[package]]
name = "notification-server"
version = "0.1.0"
[[package]]
name = "package-manager"
version = "0.1.0"
[[package]]
name = "permission-manager"
version = "0.1.0"
dependencies = [
"server-framework",
"types",
"userspace",
"userspace-rt",
]
[[package]]
name = "platform"
version = "0.1.0"
dependencies = [
"domain",
"types",
]
[[package]]
name = "port-block-device"
version = "0.1.0"
[[package]]
name = "port-framebuffer"
version = "0.1.0"
[[package]]
name = "port-input-device"
version = "0.1.0"
[[package]]
name = "power-server"
version = "0.1.0"
[[package]]
name = "print-server"
version = "0.1.0"
[[package]]
name = "server-framework"
version = "0.1.0"
dependencies = [
"types",
"userspace",
]
[[package]]
name = "session-server"
version = "0.1.0"
dependencies = [
"server-framework",
"types",
"userspace",
"userspace-rt",
]
[[package]]
name = "snake"
version = "0.1.0"
dependencies = [
"types",
"userspace",
"userspace-rt",
]
[[package]]
name = "storage-qemu"
version = "0.1.0"
dependencies = [
"storage-server",
"userspace-rt",
]
[[package]]
name = "storage-server"
version = "0.1.0"
dependencies = [
"driver-block-virtio",
"port-block-device",
"server-framework",
"types",
"userspace",
]
[[package]]
name = "sync-server"
version = "0.1.0"
[[package]]
name = "telephony-server"
version = "0.1.0"
[[package]]
name = "types"
version = "0.1.0"
[[package]]
name = "usb-server"
version = "0.1.0"
[[package]]
name = "user-manager"
version = "0.1.0"
[[package]]
name = "userspace"
version = "0.1.0"
dependencies = [
"types",
]
[[package]]
name = "userspace-rt"
version = "0.1.0"
dependencies = [
"types",
"userspace",
]