[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [XEN][RFC PATCH V2 12/17] xl: Add interface to handle qemu disaggregation
On Wed, 2012-08-22 at 13:31 +0100, Julien Grall wrote: > This patch modifies libxl interface for qemu disaggregation. I'd rather see the interfaces changes in the same patch as the implementation of the new interfaces. > For the moment, due to some dependencies between devices, we > can't let the user choose which QEMU emulate a device. > > Moreoever this patch adds an "id" field to nic interface. > It will be used in config file to specify which QEMU handle > the network card. Is domid+devid not sufficient to identify which nic? > A possible disaggregation is: > - UI: Emulate graphic card, USB, keyboard, mouse, default devices > (PIIX4, root bridge, ...) > - IDE: Emulate disk > - Serial: Emulate serial port > - Audio: Emulate audio card > - Net: Emulate one or more network cards, multiple QEMU can emulate > different card. The emulated card is specified with its nic ID. > > Signed-off-by: Julien Grall <julien.grall@xxxxxxxxxx> > --- > tools/libxl/libxl.h | 3 +++ > tools/libxl/libxl_types.idl | 15 +++++++++++++++ > 2 files changed, 18 insertions(+), 0 deletions(-) > > diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h > index c614d6f..71d4808 100644 > --- a/tools/libxl/libxl.h > +++ b/tools/libxl/libxl.h > @@ -307,6 +307,7 @@ void libxl_cpuid_dispose(libxl_cpuid_policy_list > *cpuid_list); > #define LIBXL_PCI_FUNC_ALL (~0U) > > typedef uint32_t libxl_domid; > +typedef uint32_t libxl_dmid; > > /* > * Formatting Enumerations. > @@ -478,12 +479,14 @@ typedef struct { > libxl_domain_build_info b_info; > > int num_disks, num_nics, num_pcidevs, num_vfbs, num_vkbs; > + int num_dms; > > libxl_device_disk *disks; > libxl_device_nic *nics; > libxl_device_pci *pcidevs; > libxl_device_vfb *vfbs; > libxl_device_vkb *vkbs; > + libxl_dm *dms; > > libxl_action_on_shutdown on_poweroff; > libxl_action_on_shutdown on_reboot; > diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl > index daa8c79..36c802a 100644 > --- a/tools/libxl/libxl_types.idl > +++ b/tools/libxl/libxl_types.idl > @@ -246,6 +246,20 @@ libxl_domain_sched_params = > Struct("domain_sched_params",[ > ("extratime", integer, {'init_val': > 'LIBXL_DOMAIN_SCHED_PARAM_EXTRATIME_DEFAULT'}), > ]) > > +libxl_dm_cap = Enumeration("dm_cap", [ > + (1, "UI"), # Emulate all UI + default device What does "default device" equate too? > + (2, "IDE"), # Emulate IDE > + (4, "SERIAL"), # Emulate Serial > + (8, "AUDIO"), # Emulate audio > + ]) > + > +libxl_dm = Struct("dm", [ > + ("name", string), > + ("path", string), > + ("capabilities", uint64), uint64 and not libxl_dm_cap? > + ("vifs", libxl_string_list), > + ]) > + > libxl_domain_build_info = Struct("domain_build_info",[ > ("max_vcpus", integer), > ("avail_vcpus", libxl_bitmap), > @@ -367,6 +381,7 @@ libxl_device_nic = Struct("device_nic", [ > ("nictype", libxl_nic_type), > ("rate_bytes_per_interval", uint64), > ("rate_interval_usecs", uint32), > + ("id", string), > ]) > > libxl_device_pci = Struct("device_pci", [ _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |