diff options
author | rusty <rusty@0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652> | 2013-12-02 12:31:01 +0000 |
---|---|---|
committer | rusty <rusty@0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652> | 2013-12-02 12:31:01 +0000 |
commit | 212c0cf37f4079b464823d34a1163cdd2ac9367a (patch) | |
tree | aa04d5bba3d8eac749d3659db62db274ae208a89 /feedback | |
parent | b03fa34f2ff51894d09050b2fc5cc23973f191d5 (diff) |
Specify requirements more clearly.
The spec language is mostly written with a view to driver authors, and
contains assumptions, eg:
The Device Status field is updated by the OS and driver...
But the spec is for both device and driver authors. It should specify
exactly what is to be done, and by whom, eg:
The driver MUST update the Device Status field...
1) Change from passive to active (eg "foo must be reset" => "driver
must reset foo").
2) Upcase SHOULD, MUST etc. There are probably more that I missed.
3) Make the following requirements explicit:
- The driver must not clear device status bits.
- Make bad on looped descriptors explicit.
- Driver must not set VRING_DESC_F_INDIRECT unless negotiated feature.
- Available/used ring sections rewritten to be more explicit that driver
must not set VRING_AVAIL_F_NO_INTERRUPT.
- Following device initialization sequence is a MUST.
- Driver must not continue initialization if it sets FAILED.
- "memory barriers" are now a MUST, though the weasel-word "suitable"
was added.
- Driver MUST notify device.
4) Misc changes:
- Use "device offers" / "driver accepts" language for feature negotiation.
- config space always uses little-endian, remove 'generally'.
- "descriptor chain" term used everywhere.
- Extraneous "+" deleted.
- Remove "Unless explicitly specified otherwise" from PCI spec endian
sentence.
- Refer to notify_off_multiplier in queue_notify_off discussion.
Signed-off-by: Rusty Russell <rusty@au.ibm.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@147 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
Diffstat (limited to 'feedback')
0 files changed, 0 insertions, 0 deletions