morpheus_network::driver::virtio::init

Function virtio_net_init

Source
pub unsafe fn virtio_net_init(
    mmio_base: u64,
    config: &VirtioConfig,
) -> Result<(u64, VirtqueueState, VirtqueueState, MacAddress), VirtioInitError>
Expand description

Initialize VirtIO network device.

§Arguments

  • mmio_base: MMIO base address from PCI BAR
  • config: Pre-allocated DMA configuration

§Returns

Tuple of (negotiated_features, rx_queue_state, tx_queue_state, mac_address)

§Safety

  • mmio_base must be valid VirtIO MMIO address
  • DMA region must be properly allocated