[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: [PATCH RFC incremental] virtio-pci: new PCI layout clarification
Here's a fixup for spec issue noted by Cornelia, and some more clarifications on how transitional and non transitional drivers will work. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> --- diff --git a/virtio-v1.0-wd01-part1-specification.txt b/virtio-v1.0-wd01-part1-specification.txt index 4533fac..72323ba 100644 --- a/virtio-v1.0-wd01-part1-specification.txt +++ b/virtio-v1.0-wd01-part1-specification.txt @@ -739,9 +739,8 @@ Transitional devices must have a Revision ID of 0. Non-transitional devices must have a Revision ID of 1. -Transitional drivers must match a Revision ID of 0 or 1. - -Non-transitional drivers must only match a Revision ID of 1. +Both transitional and nont-transitional drivers must match a +Revision ID of 0 or 1. 2.3.1.2. PCI Device Layout ------------------------- @@ -1009,6 +1008,10 @@ cfg_type /* Device specific configuration */ #define VIRTIO_PCI_CAP_DEVICE_CFG 4 + Any other value - reserved for future use. Drivers must + ignore any vendor-specific capability structure which has + a reserved cfg_type value. + More than one capability can identify the same structure - this makes it possible for the device to expose multiple interfaces to drivers. The order of the capabilities in the capability list specifies the order of preference @@ -1076,6 +1079,18 @@ notify_off_multiplier Legacy drivers skipped Device Layout Detection step, assuming legacy configuration space in BAR0 in I/O space unconditionally. +Legacy devices did not have the Virtio PCI Capability in their +capability list. + +Therefore: + +Transitional devices should expose the Legacy Interface in I/O +space in BAR0. + +Transitional drivers should look for the Virtio PCI +Capabilities on the capability list. +If there are not present, driver should assume a legacy device. + 2.3.1.3.1.1. Queue Vector Configuration --------------------------------------
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]