ReviewOS

home-lang/home-os

NVMe over the Pi 5 PCIe FPC connector (M.2 HAT) as the media-library disk — admin/IO queues, MSI-X, ext2/homefs mount, boot-from-NVMe option

#70
Open chris opened this 9 days ago ·
9 days ago

Epic: #113 · Milestone: MC3 — Pi 5 platform drivers

Why

A media library of any size wants NVMe rather than SD (throughput, endurance). drivers/nvme.home exists (unrun); the PCI host from #67 gives the second controller (pcie@… for the FPC slot) the same code path. On x86 QEMU -device nvme allows CI-first development.

Tasks

  • Bring nvme.home to life on x86 QEMU (-device nvme,drive=…): controller reset, admin queue, identify, create IO SQ/CQ, PRP lists, MSI-X, read/write; block-layer integration; storage-roundtrip variant.
  • Pi: second PCIe controller bring-up (Gen 2 default; Gen 3 via pciex1_gen=3 in config.txt), NVMe on it.
  • Mount as /media/library; the scanner in #102 prefers it when present.
  • Optional: boot the root filesystem from NVMe (EEPROM BOOT_ORDER includes NVMe) — the boot partition stays on whatever the bootloader loads from.

Acceptance

QEMU + hardware round-trip gates; ≥ 400 MB/s sequential read on hardware at Gen 3.

Size: M · Depends on: #67 · Blocks: — (nice-to-have for MC8)

Sign in to comment on this issue.