Skip to content
  • Rusty Russell's avatar
    lguest: Simplify device initialization. · 3c3ed482
    Rusty Russell authored
    
    
    We used to notify the Host every time we updated a device's status.  However,
    it only really needs to know when we're resetting the device, or failed to
    initialize it, or when we've finished our feature negotiation.
    
    In particular, we used to wait for VIRTIO_CONFIG_S_DRIVER_OK in the
    status byte before starting the device service threads.  But this
    corresponds to the successful finish of device initialization, which
    might (like virtio_blk's partition scanning) use the device.  So we
    had a hack, if they used the device before we expected we started the
    threads anyway.
    
    Now we hook into the finalize_features hook in the Guest: at that
    point we tell the Launcher that it can rely on the features we have
    acked.  On the Launcher side, we look at the status at that point, and
    start servicing the device.
    
    Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
    3c3ed482