On Thu, Nov 20, 2008 at 05:49:50PM +0000, Daniel P. Berrange wrote:
FYI, this is a repost of the final node device patches I intend to
commit tomorrow. There's a few changes based on Mark's feedback
which I'll note against each patch...
As an example, here is the complete output from a box of mine with all
patches applied. I'm happy with committing to this XML long term, with
the expectation that we may define a formal naming scheme for devices
later to replace the non-guarenteed HAL/DevKit naming.
# ./virsh nodedev-list
computer
net_00_e0_81_b0_2d_8e
net_00_e0_81_b0_2d_8f
pci_1002_94c3
pci_1002_aa10
pci_1022_1200
pci_1022_1200_0
pci_1022_1201
pci_1022_1201_0
pci_1022_1202
pci_1022_1202_0
pci_1022_1203
pci_1022_1203_0
pci_1022_1204
pci_1022_1204_0
pci_1033_125
pci_1033_125_0
pci_104c_8023
pci_10de_361
pci_10de_364
pci_10de_368
pci_10de_368_0
pci_10de_369
pci_10de_369_0
pci_10de_36c
pci_10de_36d
pci_10de_36e
pci_10de_36e_scsi_host
pci_10de_36e_scsi_host_scsi_device_lun0
pci_10de_370
pci_10de_371
pci_10de_372
pci_10de_372_0
pci_10de_376
pci_10de_376_0
pci_10de_377
pci_10de_377_0
pci_10de_378
pci_10de_378_0
pci_10de_37f
pci_10de_37f_0
pci_10de_37f_1
pci_10de_37f_scsi_host
pci_10de_37f_scsi_host_scsi_device_lun0
platform_floppy_0_storage_platform_floppy
storage_model_DVD_A__DH20A4P
storage_serial_SATA_WDC_WD3200AAKS__WD_WCASE0223035
usb_device_1d6b_1_0000_00_02_0
usb_device_1d6b_1_0000_00_02_0_if0
usb_device_1d6b_2_0000_00_02_1
usb_device_1d6b_2_0000_00_02_1_if0
And for each of those the XML is:
<device>
<name>computer</name>
<capability type='system'>
<hardware>
<vendor>Tyan Computer Corporation</vendor>
<version>REFERENCE</version>
<serial>0123456789</serial>
<uuid>00000000-0000-0000-0000-000000000000</uuid>
</hardware>
<firmware>
<vendor>Phoenix Technologies Ltd.</vendor>
<version>2.05.2915</version>
<release_date>04/04/2008</release_date>
</firmware>
</capability>
</device>
<device>
<name>net_00_e0_81_b0_2d_8e</name>
<parent>pci_10de_372</parent>
<capability type='net'>
<interface>eth0</interface>
<address>00:e0:81:b0:2d:8e</address>
<capability type='80203'/>
</capability>
</device>
<device>
<name>net_00_e0_81_b0_2d_8f</name>
<parent>pci_10de_372_0</parent>
<capability type='net'>
<interface>eth1</interface>
<address>00:e0:81:b0:2d:8f</address>
<capability type='80203'/>
</capability>
</device>
<device>
<name>pci_1002_94c3</name>
<parent>pci_10de_377</parent>
<capability type='pci'>
<domain>0</domain>
<bus>6</bus>
<slot>0</slot>
<function>0</function>
<product id='38083'>RV610 video device [Radeon HD 2400
PRO]</product>
<vendor id='4098'>ATI Technologies Inc</vendor>
</capability>
</device>
<device>
<name>pci_1002_aa10</name>
<parent>pci_10de_377</parent>
<capability type='pci'>
<domain>0</domain>
<bus>6</bus>
<slot>0</slot>
<function>1</function>
<product id='43536'>RV610 audio device [Radeon HD 2400
PRO]</product>
<vendor id='4098'>ATI Technologies Inc</vendor>
</capability>
</device>
<device>
<name>pci_1022_1200</name>
<parent>computer</parent>
<capability type='pci'>
<domain>0</domain>
<bus>0</bus>
<slot>24</slot>
<function>0</function>
<product id='4608'>Family 10h [Opteron, Athlon64, Sempron]
HyperTransport Configuration</product>
<vendor id='4130'>Advanced Micro Devices [AMD]</vendor>
</capability>
</device>
<device>
<name>pci_1022_1200_0</name>
<parent>computer</parent>
<capability type='pci'>
<domain>0</domain>
<bus>0</bus>
<slot>25</slot>
<function>0</function>
<product id='4608'>Family 10h [Opteron, Athlon64, Sempron]
HyperTransport Configuration</product>
<vendor id='4130'>Advanced Micro Devices [AMD]</vendor>
</capability>
</device>
<device>
<name>pci_1022_1201</name>
<parent>computer</parent>
<capability type='pci'>
<domain>0</domain>
<bus>0</bus>
<slot>24</slot>
<function>1</function>
<product id='4609'>Family 10h [Opteron, Athlon64, Sempron] Address
Map</product>
<vendor id='4130'>Advanced Micro Devices [AMD]</vendor>
</capability>
</device>
<device>
<name>pci_1022_1201_0</name>
<parent>computer</parent>
<capability type='pci'>
<domain>0</domain>
<bus>0</bus>
<slot>25</slot>
<function>1</function>
<product id='4609'>Family 10h [Opteron, Athlon64, Sempron] Address
Map</product>
<vendor id='4130'>Advanced Micro Devices [AMD]</vendor>
</capability>
</device>
<device>
<name>pci_1022_1202</name>
<parent>computer</parent>
<capability type='pci'>
<domain>0</domain>
<bus>0</bus>
<slot>24</slot>
<function>2</function>
<product id='4610'>Family 10h [Opteron, Athlon64, Sempron] DRAM
Controller</product>
<vendor id='4130'>Advanced Micro Devices [AMD]</vendor>
</capability>
</device>
<device>
<name>pci_1022_1202_0</name>
<parent>computer</parent>
<capability type='pci'>
<domain>0</domain>
<bus>0</bus>
<slot>25</slot>
<function>2</function>
<product id='4610'>Family 10h [Opteron, Athlon64, Sempron] DRAM
Controller</product>
<vendor id='4130'>Advanced Micro Devices [AMD]</vendor>
</capability>
</device>
<device>
<name>pci_1022_1203</name>
<parent>computer</parent>
<capability type='pci'>
<domain>0</domain>
<bus>0</bus>
<slot>24</slot>
<function>3</function>
<product id='4611'>Family 10h [Opteron, Athlon64, Sempron] Miscellaneous
Control</product>
<vendor id='4130'>Advanced Micro Devices [AMD]</vendor>
</capability>
</device>
<device>
<name>pci_1022_1203_0</name>
<parent>computer</parent>
<capability type='pci'>
<domain>0</domain>
<bus>0</bus>
<slot>25</slot>
<function>3</function>
<product id='4611'>Family 10h [Opteron, Athlon64, Sempron] Miscellaneous
Control</product>
<vendor id='4130'>Advanced Micro Devices [AMD]</vendor>
</capability>
</device>
<device>
<name>pci_1022_1204</name>
<parent>computer</parent>
<capability type='pci'>
<domain>0</domain>
<bus>0</bus>
<slot>24</slot>
<function>4</function>
<product id='4612'>Family 10h [Opteron, Athlon64, Sempron] Link
Control</product>
<vendor id='4130'>Advanced Micro Devices [AMD]</vendor>
</capability>
</device>
<device>
<name>pci_1022_1204_0</name>
<parent>computer</parent>
<capability type='pci'>
<domain>0</domain>
<bus>0</bus>
<slot>25</slot>
<function>4</function>
<product id='4612'>Family 10h [Opteron, Athlon64, Sempron] Link
Control</product>
<vendor id='4130'>Advanced Micro Devices [AMD]</vendor>
</capability>
</device>
<device>
<name>pci_1033_125</name>
<parent>pci_10de_378</parent>
<capability type='pci'>
<domain>0</domain>
<bus>3</bus>
<slot>0</slot>
<function>0</function>
<product id='293'>uPD720400 PCI Express - PCI/PCI-X
Bridge</product>
<vendor id='4147'>NEC Corporation</vendor>
</capability>
</device>
<device>
<name>pci_1033_125_0</name>
<parent>pci_10de_378</parent>
<capability type='pci'>
<domain>0</domain>
<bus>3</bus>
<slot>0</slot>
<function>1</function>
<product id='293'>uPD720400 PCI Express - PCI/PCI-X
Bridge</product>
<vendor id='4147'>NEC Corporation</vendor>
</capability>
</device>
<device>
<name>pci_104c_8023</name>
<parent>pci_10de_370</parent>
<capability type='pci'>
<domain>0</domain>
<bus>1</bus>
<slot>5</slot>
<function>0</function>
<product id='32803'>TSB43AB22/A IEEE-1394a-2000 Controller
(PHY/Link)</product>
<vendor id='4172'>Texas Instruments</vendor>
</capability>
</device>
<device>
<name>pci_10de_361</name>
<parent>computer</parent>
<capability type='pci'>
<domain>0</domain>
<bus>128</bus>
<slot>1</slot>
<function>0</function>
<product id='865'>MCP55 LPC Bridge</product>
<vendor id='4318'>nVidia Corporation</vendor>
</capability>
</device>
<device>
<name>pci_10de_364</name>
<parent>computer</parent>
<capability type='pci'>
<domain>0</domain>
<bus>0</bus>
<slot>1</slot>
<function>0</function>
<product id='868'>MCP55 LPC Bridge</product>
<vendor id='4318'>nVidia Corporation</vendor>
</capability>
</device>
<device>
<name>pci_10de_368</name>
<parent>computer</parent>
<capability type='pci'>
<domain>0</domain>
<bus>0</bus>
<slot>1</slot>
<function>1</function>
<product id='872'>MCP55 SMBus</product>
<vendor id='4318'>nVidia Corporation</vendor>
</capability>
</device>
<device>
<name>pci_10de_368_0</name>
<parent>computer</parent>
<capability type='pci'>
<domain>0</domain>
<bus>128</bus>
<slot>1</slot>
<function>1</function>
<product id='872'>MCP55 SMBus</product>
<vendor id='4318'>nVidia Corporation</vendor>
</capability>
</device>
<device>
<name>pci_10de_369</name>
<parent>computer</parent>
<capability type='pci'>
<domain>0</domain>
<bus>0</bus>
<slot>0</slot>
<function>0</function>
<product id='873'>MCP55 Memory Controller</product>
<vendor id='4318'>nVidia Corporation</vendor>
</capability>
</device>
<device>
<name>pci_10de_369_0</name>
<parent>computer</parent>
<capability type='pci'>
<domain>0</domain>
<bus>128</bus>
<slot>0</slot>
<function>0</function>
<product id='873'>MCP55 Memory Controller</product>
<vendor id='4318'>nVidia Corporation</vendor>
</capability>
</device>
<device>
<name>pci_10de_36c</name>
<parent>computer</parent>
<capability type='pci'>
<domain>0</domain>
<bus>0</bus>
<slot>2</slot>
<function>0</function>
<product id='876'>MCP55 USB Controller</product>
<vendor id='4318'>nVidia Corporation</vendor>
</capability>
</device>
<device>
<name>pci_10de_36d</name>
<parent>computer</parent>
<capability type='pci'>
<domain>0</domain>
<bus>0</bus>
<slot>2</slot>
<function>1</function>
<product id='877'>MCP55 USB Controller</product>
<vendor id='4318'>nVidia Corporation</vendor>
</capability>
</device>
<device>
<name>pci_10de_36e</name>
<parent>computer</parent>
<capability type='pci'>
<domain>0</domain>
<bus>0</bus>
<slot>4</slot>
<function>0</function>
<product id='878'>MCP55 IDE</product>
<vendor id='4318'>nVidia Corporation</vendor>
</capability>
</device>
<device>
<name>pci_10de_36e_scsi_host</name>
<parent>pci_10de_36e</parent>
<capability type='scsi_host'>
<host>6</host>
</capability>
</device>
<device>
<name>pci_10de_36e_scsi_host_scsi_device_lun0</name>
<parent>pci_10de_36e_scsi_host</parent>
<capability type='scsi'>
<host>6</host>
<bus>0</bus>
<target>0</target>
<lun>0</lun>
<type>cdrom</type>
</capability>
</device>
<device>
<name>pci_10de_370</name>
<parent>computer</parent>
<capability type='pci'>
<domain>0</domain>
<bus>0</bus>
<slot>6</slot>
<function>0</function>
<product id='880'>MCP55 PCI bridge</product>
<vendor id='4318'>nVidia Corporation</vendor>
</capability>
</device>
<device>
<name>pci_10de_371</name>
<parent>computer</parent>
<capability type='pci'>
<domain>0</domain>
<bus>0</bus>
<slot>6</slot>
<function>1</function>
<product id='881'>MCP55 High Definition Audio</product>
<vendor id='4318'>nVidia Corporation</vendor>
</capability>
</device>
<device>
<name>pci_10de_372</name>
<parent>computer</parent>
<capability type='pci'>
<domain>0</domain>
<bus>0</bus>
<slot>8</slot>
<function>0</function>
<product id='882'>MCP55 Ethernet</product>
<vendor id='4318'>nVidia Corporation</vendor>
</capability>
</device>
<device>
<name>pci_10de_372_0</name>
<parent>computer</parent>
<capability type='pci'>
<domain>0</domain>
<bus>0</bus>
<slot>9</slot>
<function>0</function>
<product id='882'>MCP55 Ethernet</product>
<vendor id='4318'>nVidia Corporation</vendor>
</capability>
</device>
<device>
<name>pci_10de_376</name>
<parent>computer</parent>
<capability type='pci'>
<domain>0</domain>
<bus>0</bus>
<slot>10</slot>
<function>0</function>
<product id='886'>MCP55 PCI Express bridge</product>
<vendor id='4318'>nVidia Corporation</vendor>
</capability>
</device>
<device>
<name>pci_10de_376_0</name>
<parent>computer</parent>
<capability type='pci'>
<domain>0</domain>
<bus>128</bus>
<slot>10</slot>
<function>0</function>
<product id='886'>MCP55 PCI Express bridge</product>
<vendor id='4318'>nVidia Corporation</vendor>
</capability>
</device>
<device>
<name>pci_10de_377</name>
<parent>computer</parent>
<capability type='pci'>
<domain>0</domain>
<bus>0</bus>
<slot>15</slot>
<function>0</function>
<product id='887'>MCP55 PCI Express bridge</product>
<vendor id='4318'>nVidia Corporation</vendor>
</capability>
</device>
<device>
<name>pci_10de_377_0</name>
<parent>computer</parent>
<capability type='pci'>
<domain>0</domain>
<bus>128</bus>
<slot>15</slot>
<function>0</function>
<product id='887'>MCP55 PCI Express bridge</product>
<vendor id='4318'>nVidia Corporation</vendor>
</capability>
</device>
<device>
<name>pci_10de_378</name>
<parent>computer</parent>
<capability type='pci'>
<domain>0</domain>
<bus>0</bus>
<slot>13</slot>
<function>0</function>
<product id='888'>MCP55 PCI Express bridge</product>
<vendor id='4318'>nVidia Corporation</vendor>
</capability>
</device>
<device>
<name>pci_10de_378_0</name>
<parent>computer</parent>
<capability type='pci'>
<domain>0</domain>
<bus>128</bus>
<slot>13</slot>
<function>0</function>
<product id='888'>MCP55 PCI Express bridge</product>
<vendor id='4318'>nVidia Corporation</vendor>
</capability>
</device>
<device>
<name>pci_10de_37f</name>
<parent>computer</parent>
<capability type='pci'>
<domain>0</domain>
<bus>0</bus>
<slot>5</slot>
<function>0</function>
<product id='895'>MCP55 SATA Controller</product>
<vendor id='4318'>nVidia Corporation</vendor>
</capability>
</device>
<device>
<name>pci_10de_37f_0</name>
<parent>computer</parent>
<capability type='pci'>
<domain>0</domain>
<bus>0</bus>
<slot>5</slot>
<function>1</function>
<product id='895'>MCP55 SATA Controller</product>
<vendor id='4318'>nVidia Corporation</vendor>
</capability>
</device>
<device>
<name>pci_10de_37f_1</name>
<parent>computer</parent>
<capability type='pci'>
<domain>0</domain>
<bus>0</bus>
<slot>5</slot>
<function>2</function>
<product id='895'>MCP55 SATA Controller</product>
<vendor id='4318'>nVidia Corporation</vendor>
</capability>
</device>
<device>
<name>pci_10de_37f_scsi_host</name>
<parent>pci_10de_37f</parent>
<capability type='scsi_host'>
<host>0</host>
</capability>
</device>
<device>
<name>pci_10de_37f_scsi_host_scsi_device_lun0</name>
<parent>pci_10de_37f_scsi_host</parent>
<capability type='scsi'>
<host>0</host>
<bus>0</bus>
<target>0</target>
<lun>0</lun>
<type>disk</type>
</capability>
</device>
<device>
<name>platform_floppy_0_storage_platform_floppy</name>
<parent>platform_floppy_0</parent>
<capability type='storage'>
<block>/dev/fd0</blocke>
<bus>platform</bus>
<drive_type>floppy</drive_type>
<vendor>PC Floppy Drive</vendor>
<capability type='removable'>
<media_available>0</media_available>
<media_size>0</media_size>
</capability>
</capability>
</device>
<device>
<name>storage_model_DVD_A__DH20A4P</name>
<parent>pci_10de_36e_scsi_host_scsi_device_lun0</parent>
<capability type='storage'>
<block>/dev/sr0</blocke>
<bus>scsi</bus>
<drive_type>cdrom</drive_type>
<model>DVD A DH20A4P</model>
<vendor>ATAPI</vendor>
<capability type='removable'>
<media_available>0</media_available>
<media_size>0</media_size>
</capability>
</capability>
</device>
<device>
<name>storage_serial_SATA_WDC_WD3200AAKS__WD_WCASE0223035</name>
<parent>pci_10de_37f_scsi_host_scsi_device_lun0</parent>
<capability type='storage'>
<block>/dev/sda</blocke>
<bus>scsi</bus>
<drive_type>disk</drive_type>
<model>WDC WD3200AAKS-0</model>
<vendor>ATA</vendor>
<size>320072933376</size>
</capability>
</device>
<device>
<name>usb_device_1d6b_1_0000_00_02_0</name>
<parent>pci_10de_36c</parent>
<capability type='usb_device'>
<bus>2</bus>
<device>1</device>
<product id='1'>1.1 root hub</product>
<vendor id='7531'>Linux Foundation</vendor>
</capability>
</device>
<device>
<name>usb_device_1d6b_1_0000_00_02_0_if0</name>
<parent>usb_device_1d6b_1_0000_00_02_0</parent>
<capability type='usb'>
<number>0</number>
<class>9</class>
<subclass>0</subclass>
<protocol>0</protocol>
</capability>
</device>
<device>
<name>usb_device_1d6b_2_0000_00_02_1</name>
<parent>pci_10de_36d</parent>
<capability type='usb_device'>
<bus>1</bus>
<device>1</device>
<product id='2'>2.0 root hub</product>
<vendor id='7531'>Linux Foundation</vendor>
</capability>
</device>
<device>
<name>usb_device_1d6b_2_0000_00_02_1_if0</name>
<parent>usb_device_1d6b_2_0000_00_02_1</parent>
<capability type='usb'>
<number>0</number>
<class>9</class>
<subclass>0</subclass>
<protocol>0</protocol>
</capability>
</device>
--
|: Red Hat, Engineering, London -o-
http://people.redhat.com/berrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org -o-
http://ovirt.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|