• Type: Bug
    • Resolution: Unresolved
    • Priority: Major
    • None
    • Affects Version/s: None
    • None

      The current spec states :

      2.2.1. Device Initialization
      ---------------------------

      1. Reset the device. This is not required on initial start up.

      2. The ACKNOWLEDGE status bit is set: we have noticed the device.

      3. The DRIVER status bit is set: we know how to drive the device.

      4. Device-specific setup, including reading the device feature
      bits, discovery of virtqueues for the device, optional per-bus
      setup, and reading and possibly writing the device's virtio
      configuration space.

      5. The subset of device feature bits understood by the driver is
      written to the device.

      6. The DRIVER_OK status bit is set.

      7. The device can now be used (ie. buffers added to the
      virtqueues)[4]

      But Linux doesn't do this, and in fact, can't do it easily. Device initialization includes setting up virtqueues and even (for virtio_blk) scanning the partition table.

      Add a new step, FEATURES_OK, which predates any use and explicitly acks the feature bits.

            Assignee:
            Unassigned
            Reporter:
            Rusty Russell (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated: