[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 0/3] libxl: add framework for device types
Juergen Gross writes ("Re: [PATCH 0/3] libxl: add framework for device types"): > On 06/07/16 14:47, Ian Jackson wrote: > > Juergen Gross writes ("Re: [PATCH 0/3] libxl: add framework for device > > types"): > >> On 06/07/16 13:04, Ian Jackson wrote: > >>>> + for (i = 0; i < d_config->num_pcidevs; i++) { > >>>> + rc = libxl__device_pci_add(gc, domid, &d_config->pcidevs[i], 1); > >>>> + if (rc < 0) { > >>>> + LOG(ERROR, "libxl_device_pci_add failed: %d", rc); > >>>> + goto out; > >>>> + } > >>>> + } > >>>> + > >>> > >>> And there is similar code in 3/3 for dtdevs. Could that be lifted > >>> away somehow ? (You'd have to take some care about the types, sadly; > >>> ie, I think libxl__device_pci_add might have to start to take a > >>> void*; maybe some macros could make things typesafe?) > >> > >> I thought about this idea already. I think we would end up with more > >> code which would be rather unpleasant to read. Main reason is the > >> need for a dtdev wrapper function and the pci backend creation. > > > > I'm not sure what you mean by dtdev wrapper function. > > The loop for dtdev calls a xc_ function with different parameters than > the one for pci. We'd need a libxl__device_dtdev_add() wrapper function > to do the xc_ call. Oh, I see. Sorry. I was just suggesting that the iteration over the devices, and the error handling, could be lifted out. Not the contents of libxl__device_FOO_add. And yes, we'd need libxl__device_dtdev_add. > > > But if you don't think this is feasible I won't insist on it. The > > approach you have is already a big improvement. > > Thanks. > > I'm planning to add more to it (e.g. I'd like to get rid of the > MERGE() macro in libxl_retrieve_domain_configuration() in favor of a > device type hook in order to be able to have _all_ stuff for one type > in one source file. Right. That would be brilliant. Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |