blob: de5fe08220c2ab8baa3df53aeadde39be6723fe0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
Data Sources for libosinfo metadata
===================================
libosinfo is only as good as the data it is given.
Identifying data sources is thus a key component.
Website databases
-----------------
A list of all known PCI vendor + product IDs is available
from
http://pciids.sourceforge.net/v2.2/pci.ids
A list of all known USB vendor + product IDs is available
from
http://www.linux-usb.org/usb.ids
These can be used to populate the master list of devices.
This leaves non-USB/PCI devices to be populated manually
eg legacy ISA, PS/2, serial etc.
Linux kernels
-------------
- modinfo against a kmod shows aliases
# modinfo e1000.ko | grep alias
alias: pci:v00008086d000010B5sv*sd*bc*sc*i*
alias: pci:v00008086d00001099sv*sd*bc*sc*i*
alias: pci:v00008086d0000108Asv*sd*bc*sc*i*
alias: pci:v00008086d0000107Csv*sd*bc*sc*i*
alias: pci:v00008086d0000107Bsv*sd*bc*sc*i*
alias: pci:v00008086d0000107Asv*sd*bc*sc*i*
alias: pci:v00008086d00001079sv*sd*bc*sc*i*
alias: pci:v00008086d00001078sv*sd*bc*sc*i*
alias: pci:v00008086d00001077sv*sd*bc*sc*i*
...
These lines can be parsed to identify the PCI/USB/etc product +
vendor IDs, and thus populate device link objects.
Linux distros
-------------
Identify the kernel used by the installer for each architecture,
and extract device links from there
Windows
-------
XXX fill in how to find supported devices
Solaris
-------
XXX fill in how to find supported devices
{Open/Net/Free}BSD
------------------
XXX fill in how to find supported devices
KVM/QEMU hypervisor
-------------------
0.12 or later has a '-device ?' to print all known devices, but
this lacks vendor/product IDs. Get this fixed upstream, or manually
match them up to devices
Prior to 0.12 requires fully manual effort to identify supported
devices
Xen hypervisor
--------------
A tiny set of paravirt devices + whatever the QEMU-DM build will
support. Make sure that -device ? doesn't get broken for the latter
VMware
------
XXX fill in how to find supported devices
Hyper-V
-------
XXX fill in how to find supported devices
Virtualbox
----------
XXX fill in how to find supported devices
LXC
---
No real choice of hardware models
|