summaryrefslogtreecommitdiff
path: root/specvars.tex
diff options
context:
space:
mode:
authorrusty <rusty@0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652>2013-12-02 12:31:01 +0000
committerrusty <rusty@0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652>2013-12-02 12:31:01 +0000
commit212c0cf37f4079b464823d34a1163cdd2ac9367a (patch)
treeaa04d5bba3d8eac749d3659db62db274ae208a89 /specvars.tex
parentb03fa34f2ff51894d09050b2fc5cc23973f191d5 (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 'specvars.tex')
0 files changed, 0 insertions, 0 deletions