Changes since last time -
1. Address review comments
2. I did not add CONTROLLER_INDEX_NOT_SET. Since that's a -1 value and
the index is an unsigned value - it just didn't seem right. Furthermore,
if libvirt doesn't find the 'index' value, it defaults to using 0 when
parsing the XML - so I think following that model is better. I have yet
to chase down all the libvirt paths to see what happens, but I think if
someone adds a controller without defining an index and that index
conflicts with something already there for that named/type of controller,
then libvirt will reject the xml for the guest to start requiring the
"user" to fix it.
3. I didn't yet do it, but I think the 'master' may need to be removed. The
libvirt documented example is:
<devices>
<controller type='usb' index='0' model='ich9-ehci1'>
<address type='pci' domain='0' bus='0' slot='4'
function='7'/>
</controller>
<controller type='usb' index='0' model='ich9-uhci1'>
<master startport='0'/>
<address type='pci' domain='0' bus='0' slot='4'
function='0' multifunction='on'/>
</controller>
...
</devices>
This examples shows that the type is 'usb' and the 'index' is 0 for
both
which would violate our namespace rule. The 'model' is the same too. So
unless we incorporate the address into the name, then there's a conflict.
I'll have to think about this one some more and of course take advice!
4. Just realized I forgot to switch the mof values for queues, ports, and
vectors back to string types... I'll do that, but didn't want to lose
my current cover letter.
Xu Wang (3):
libxutil, xmlgen: Add Controller Support
RASD: Schema and Provider Support for Controller RASDs
VSMS: Support for domains with controller devices
libxkutil/device_parsing.c | 105 +++++++++++++++++++++-
libxkutil/device_parsing.h | 15 ++++
libxkutil/xmlgen.c | 52 +++++++++++
schema/ResourceAllocationSettingData.mof | 41 +++++++++
schema/ResourceAllocationSettingData.registration | 1 +
src/Virt_ElementSettingData.c | 1 +
src/Virt_RASD.c | 81 +++++++++++++++--
src/Virt_SettingsDefineState.c | 1 +
src/Virt_VSSDComponent.c | 1 +
src/Virt_VirtualSystemManagementService.c | 76 ++++++++++++++++
src/svpc_types.h | 4 +-
11 files changed, 368 insertions(+), 10 deletions(-)
--
1.8.5.3