morpheus_network::driver::virtio::init

Function virtio_net_init_transport

Source
pub unsafe fn virtio_net_init_transport(
    transport: &VirtioTransport,
    config: &VirtioConfig,
    tsc_freq: u64,
) -> Result<(u64, VirtqueueState, VirtqueueState, MacAddress), VirtioInitError>
Expand description

Initialize VirtIO network device using transport abstraction.

This function auto-selects the correct initialization path based on the transport type (MMIO or PCI Modern).

§Arguments

  • transport: Transport handle (already configured with addresses)
  • config: Pre-allocated DMA configuration
  • tsc_freq: TSC frequency for timeout calculations

§Returns

Tuple of (negotiated_features, rx_queue_state, tx_queue_state, mac_address)