1xen-pci-device-reservations(7)        Xen       xen-pci-device-reservations(7)
2
3
4

NAME

6       xen-pci-device-reservations - Xen PCI device ID registry
7

Description

9       PCI vendor ID 0x5853 has been reserved for use by Xen systems in order
10       to advertise certain virtual hardware to guest virtual machines. The
11       primary use of this is with device ID 0x0001 to advertise the Xen
12       Platform PCI device - the presence of this virtual device enables a
13       guest Operating System (subject to the availability of suitable
14       drivers) to make use of paravirtualisation features such as disk and
15       network devices etc.
16
17       Some Xen vendors wish to provide alternative and/or additional guest
18       drivers that can bind to virtual devices[1]. This may be done using the
19       Xen PCI vendor ID of 0x5853 and Xen-vendor/device specific PCI device
20       IDs. This file records reservations made within the device ID range in
21       order to avoid multiple Xen vendors using conflicting IDs.
22

Guidelines

24       1. A vendor may request a range of device IDs by submitting a patch to
25       this file.
26       2. Vendor allocations should be in the range 0xc000-0xfffe to reduce
27       the possibility of clashes with community IDs assigned from the bottom
28       up.
29       3. The vendor is responsible for allocations within the range and
30       should try to record specific device IDs in PCI ID databases such as
31       https://pci-ids.ucw.cz and https://devicehunt.com
32

Reservations

34               range     | vendor/product
35           --------------+--------------------------------------------------------------
36           0x0001        | (Xen Platform PCI device)
37           0x0002        | Citrix XenServer (grandfathered allocation for XenServer 6.1)
38           0xc000-0xc0ff | Citrix XenServer
39           0xc100-0xc1ff | Citrix XenClient
40           0xc200-0xc2ff | XCP-ng Project (https://xcp-ng.org)
41

Notes

43       1.  Upstream QEMU provides a parameterized device called xen-pvdevice
44           that can be used to host guest drivers. Execute:
45
46               qemu-system-i386 -device xen-pvdevice,help
47
48           for a list of all parameters. The following parameters are relevant
49           to driver binding:
50
51           vendor-id (default 0x5853)
52               The PCI vendor ID and subsystem vendor ID of the device.
53
54           device-id (must be specified)
55               The PCI device ID and subsystem device ID of the device.
56
57           revision (default 0x01)
58               The PCI revision of the device
59
60           Also the size parameter (default 0x400000) can be used to specify
61           the size of the single MMIO BAR that the device exposes. This area
62           may be used by drivers for mapping grant tables, etc.
63
64           Note that the presence of the Xen Platform PCI device is generally
65           a pre-requisite for an additional xen-pvdevice as it is the
66           platform device that provides that IO ports necessary for
67           unplugging emulated devices. See hvm-emulated-unplug.markdown for
68           details of the IO ports and unplug protocol.
69
70           libxl provides support for creation of a single additional xen-
71           pvdevice.  See the vendor_device parameter in xl.cfg(5).
72
73
74
754.15.1                            2021-11-23    xen-pci-device-reservations(7)
Impressum