mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
This patch adds a short description of xen-pvdevice to pci-device-reservations.txt, which contains the canonical list of device IDs that may be used to create xen-pvdevice instances. Signed-off-by: Paul Durrant <paul.durrant@citrix.com> Acked-by: Ian Campbell <ian.campbell@citrix.com> [ ijc -- ran expand to de-tabbify ]
59 lines
2.7 KiB
Plaintext
59 lines
2.7 KiB
Plaintext
PCI vendor ID 0x5853 has been reserved for use by Xen systems in order to
|
|
advertise certain virtual hardware to guest virtual machines. The primary
|
|
use of this is with device ID 0x0001 to advertise the Xen Platform PCI
|
|
device - the presence of this virtual device enables a guest Operating
|
|
System (subject to the availability of suitable drivers) to make use of
|
|
paravirtualisation features such as disk and network devices etc.
|
|
|
|
Some Xen vendors wish to provide alternative and/or additional guest drivers
|
|
that can bind to virtual devices[1]. This may be done using the Xen PCI
|
|
vendor ID of 0x5853 and Xen-vendor/device specific PCI device IDs. This file
|
|
records reservations made within the device ID range in order to avoid
|
|
multiple Xen vendors using conflicting IDs.
|
|
|
|
Guidelines
|
|
1. A vendor may request a range of device IDs by submitting a patch to
|
|
this file.
|
|
2. Vendor allocations should be in the range 0xc000-0xfffe to reduce the
|
|
possibility of clashes with community IDs assigned from the bottom up.
|
|
3. The vendor is responsible for allocations within the range and should
|
|
try to record specific device IDs in PCI ID databases such as
|
|
http://pciids.sourceforge.net and http//www.pcidatabase.com
|
|
|
|
Reservations
|
|
============
|
|
|
|
range | vendor/product
|
|
--------------+--------------------------------------------------------------
|
|
0x0001 | (Xen Platform PCI device)
|
|
0x0002 | Citrix XenServer (grandfathered allocation for XenServer 6.1)
|
|
0xc000-0xc0ff | Citrix XenServer
|
|
0xc100-0xc1ff | Citrix XenClient
|
|
|
|
[1] Upstream QEMU provides a parameterized device called xen-pvdevice that
|
|
can be used to host guest drivers. Execute:
|
|
|
|
qemu-system-i386 -device xen-pvdevice,help
|
|
|
|
for a list of all parameters. The following parameters are relevant to
|
|
driver binding:
|
|
|
|
vendor-id (default 0x5853): The PCI vendor ID and subsystem vendor
|
|
ID of the device.
|
|
device-id (must be specified): The PCI device ID and subsystem device
|
|
ID of the device.
|
|
revision (default 0x01): The PCI revision of the device
|
|
|
|
Also the size parameter (default 0x400000) can be used to specify the
|
|
size of the single MMIO BAR that the device exposes. This area may be
|
|
used by drivers for mapping grant tables, etc.
|
|
|
|
Note that the presence of the Xen Platform PCI device is generally a
|
|
pre-requisite for an additional xen-pvdevice as it is the platform
|
|
device that provides that IO ports necessary for unplugging emulated
|
|
devices. See hvm-emulated-unplug.markdown for details of the IO ports
|
|
and unplug protocol.
|
|
|
|
libxl provides support for creation of a single additional xen-pvdevice.
|
|
See the vendor_device parameter in xl.cfg(5).
|