Skip to content

Add initial virtio-net foundation#33

Open
elegantmonark wants to merge 1 commit into
TroyMitchell911:mainfrom
elegantmonark:add-virtio-net-foundation
Open

Add initial virtio-net foundation#33
elegantmonark wants to merge 1 commit into
TroyMitchell911:mainfrom
elegantmonark:add-virtio-net-foundation

Conversation

@elegantmonark
Copy link
Copy Markdown

Summary

Hi Troy, this PR adds the first virtio-net foundation for Caffeinix.

It introduces shared virtio MMIO/virtqueue definitions, wires a second virtio-mmio
device into QEMU, adds VIRTIO1 memory/IRQ constants, initializes a virtio-net device,
prepares RX/TX virtqueues, and routes virtio-net interrupts through the PLIC/trap
path.

Scope

This intentionally stops at device bring-up and queue initialization.

It does not add a full networking stack, packet RX/TX APIs, ARP, IP, TCP/UDP,
sockets, DHCP, or userspace networking yet.

Why

Caffeinix already has virtio block support, so virtio-net is a natural next step
toward OS-level networking support under QEMU/RISC-V.

Testing

  • Ran git diff --check
  • Local build not run because this Windows environment does not have the Caffeinix
    RISC-V toolchain/QEMU or Docker installed
  • Existing GitHub Actions should build this through troymitchell/caffeinix:1.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant