History log of /fuchsia/zircon/system/dev/bus/virtio/ring.cpp
Revision Date Author Comments
# e0d70dec 16-Mar-2018 James Robinson <jamesr@google.com>

[zx] Move public zx headers to match naming convention

The zx library provides headers intended for general use, so the
include path should be spelled <lib/zx/foo.h> as per
https://fuchsia.googlesource.com/docs/+/master/development/languages/c-cpp/naming.md.
This moves the headers into the proper location and updates includes to
match.

Change-Id: I6fc9b2a491b5f8b0d270c4dfc77fa4be5739071b


# d14bfadf 20-Mar-2018 Todd Eisenberger <teisenbe@google.com>

[ddk][io-buffer] Rename callsites of io_buffer_init*_with_bti

ZX-1804 #comment Move all zircon callsites to final name

Change-Id: Ie35de5654841e84653582126dc1f976664c0f49d


# df33da5d 12-Mar-2018 Todd Eisenberger <teisenbe@google.com>

[virtio] Make use of BTIs in io_buffer_init calls

Change-Id: Iae64c006045fcd465287d716dc1711d5923eaff2


# ad78e6ff 09-Mar-2018 Todd Eisenberger <teisenbe@google.com>

[virtio] Convert Ring to use io_buffer

Change-Id: I376b21d74595471ef73fd39215988df2a38fdd50


# 611e3029 28-Feb-2018 Travis Geiselbrecht <travisg@google.com>

[dev][virtio-block] add an external mutex around the ring descriptor

TODO: probably move the mutex into the ring class, but need to test
other devices for this.

ZX-1784 #done

Change-Id: I57c4b6e0a3bc8416faabd73c93d99b1f7fe77d04


# 1d2ee742 12-Oct-2017 Christopher Anderson <cja@google.com>

[virtio] Refactor virtio backend support

- Implement device backends for transport rather than having
it be a part of the device class itself. These backends are
plugged into the device class to provide an abstraction between
device level interfaces and the specific nuances around the
virtio interface.
- Implement a legacy virtio bar0 PIO interface for use in systems
that only provide Virtio 0.9.5 devices.
- Move logging away from VIRTIO_ERROR and use newer ddk zxlogf.
- Run clang-fmt and clean up small nits here and there.
Change-Id: I2568e9554378163f19b89537986e0d5ea8b47510


# f3e2126c 12-Sep-2017 Roland McGrath <mcgrathr@google.com>

[zx] Magenta -> Zircon

The Great Renaming is here!

Change-Id: I3229bdeb2a3d0e40fb4db6fec8ca7d971fbffb94


# b722184e 21-Jul-2017 Aaron Green <aarongreen@google.com>

[virtio] Update ring descriptor methods

This CL removes AllocDesc and FreeDescChain. Neither method was used.
It also fixes descriptor flag handling in AllocDescChain.

AllocDesc could not correctly return an error for empty chains in all
cases: its error value, 0xffff, is a valid id. By comparison,
AllocDescChain returns NULL in this case.

FreeDesc is always preferred over FreeDescChain as the descriptors
need to be processed sequentially anyways.

AllocDescChain was setting the descriptor flags to VRING_DESC_F_NEXT or
0, when it should only set or clear that bit. That is, flags like
VRING_DESC_F_WRITE should be preserved.

Change-Id: I18dfaea0d445b9ac60db08ca852b66dc67f720e4


# 8f8401d2 21-Jul-2017 Aaron Green <aarongreen@google.com>

[virtio] Minor tracing enhancement

This CL just improves the debug print routine for virtqueue descriptors.

In particular, originally this code:
\#if LOCAL_TRACE > 0
virtio_dump_desc(desc);
\#endif

would yield:
[00015.387] 02151.02581> vring descriptor 0x6fbd384f71f0:
addr 0x4a18600 len 0x465 flags 0000 next 0000

Now, this code:
LTRACE_DO(virtio_dump_desc(desc));

yields:
[00015.387] 02151.02581> vring descriptor 0x6fbd384f71f0:
[addr=0x4a18600, len=1125, flags=0000, next=0000]

Change-Id: I33c1dbe76038b1c132baf65f4a45b67632ff3f52


# 419b8943 15-Jun-2017 George Kulakowski <kulakowski@google.com>

[dev][hifi][virtio][misc] Use MX_OK and MX_ERR_*

Change-Id: I24028af1027df43053be4d5b53150a19eab3ad6d


# d6c6f3bd 10-Jun-2017 Mike Voydanoff <voydanoff@google.com>

[udev][virtio] Move to system/dev/bus/

Change-Id: If774aaef5040c31b6ee76dad1aa8bac30165f045