From mboxrd@z Thu Jan 1 00:00:00 1970 From: Simon Horman Subject: [patch 13/16] xend: pass-through: Add pci_tuple_to_dict() Date: Mon, 15 Jun 2009 11:55:28 +1000 Message-ID: <20090615015913.340520608@vergenet.net> References: <20090615015515.927085604@vergenet.net> Return-path: Content-Disposition: inline; filename=pci_tuple_to_dict.patch List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com Cc: Masaki Kanno , Dexuan Cui List-Id: xen-devel@lists.xenproject.org This will be re-used in subsequent patches. Cc: Dexuan Cui Cc: Masaki Kanno Signed-off-by: Simon Horman Index: xen-unstable.hg/tools/python/xen/xm/create.py =================================================================== --- xen-unstable.hg.orig/tools/python/xen/xm/create.py 2009-06-13 11:13:29.000000000 +1000 +++ xen-unstable.hg/tools/python/xen/xm/create.py 2009-06-13 11:13:42.000000000 +1000 @@ -38,7 +38,7 @@ from xen.util import vscsi_util import xen.util.xsm.xsm as security from xen.xm.main import serverType, SERVER_XEN_API, get_single_vm from xen.util import utils, auxbin -from xen.util.pci import pci_opts_list_to_sxp, \ +from xen.util.pci import dev_dict_to_sxp, \ parse_pci_name_extended, PciDeviceParseError from xen.xm.opts import * @@ -706,12 +706,9 @@ def configure_pci(config_devs, vals): """Create the config for pci devices. """ config_pci = [] - for (domain, bus, slot, func, vslot, opts) in vals.pci: - config_pci_bdf = ['dev', ['domain', domain], ['bus', bus], \ - ['slot', slot], ['func', func], - ['vslot', vslot]] - config_opts = pci_opts_list_to_sxp(opts) - config_pci.append(sxp.merge(config_pci_bdf, config_opts)) + for pci_tuple in vals.pci: + pci_dev = pci_tuple_to_dict(pci_tuple) + config_pci.append(dev_dict_to_sxp(pci_dev)) if len(config_pci)>0: config_pci.insert(0, 'pci') @@ -1049,6 +1046,16 @@ def pci_dict_to_tuple(dev): return (dev['domain'], dev['bus'], dev['slot'], dev['func'], dev['vslot'], dev.get('opts', [])) +def pci_tuple_to_dict((domain, bus, slot, func, vslot, opts)): + pci_dev = { 'domain': domain, + 'bus': bus, + 'slot': slot, + 'func': func, + 'vslot': vslot} + if len(opts) > 0: + pci_dev['opts'] = opts + return pci_dev + def preprocess_pci(vals): if not vals.pci: return --