pci: new configuration layout

- split data path, common config and device specific config
- support for new VQ layout

Resolves issue VIRTIO-21

Approved OASIS meeting 2013-09-24.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@45 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
pci: new layout: driver must not write to bits>63

Since we never offer feature bits >63, driver must
not ack them.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@46 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
pci: new layout: move footnote

Legacy footnotes belong directly within text.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@47 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
pci: remove requirement for revision ID to be 0

While spec previously required revision to be 0 exactly
it turned out not to be an efficient means to
disable legacy drivers - we had to resort to changing
device ID instead.

So let's free up this field making it available for
device makers for hardware versioning.

Resolves VIRTIO-22
Approved OASIS meeting 2013-09-24.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@48 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
virtqueue: flexible layout, size, alignment

Transports can now lay out available/used/descriptor
regions in a flexible way.
This is useful for embedded systems to save memory,
and for large systems to reduce the need for
physically-contigious memory.

However, this does not add a way to actually program this
in any of the transports, so it's not useful by
itself, separate follow-up patches will add a way to
program this for transports.

Resolves issue: VIRTIO-23
Approved OASIS meeting 2013-09-24.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio@49 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652