[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [Xen-devel] [XEN][RFC PATCH V2 12/17] xl: Add interface
From: |
Ian Campbell |
Subject: |
Re: [Qemu-devel] [Xen-devel] [XEN][RFC PATCH V2 12/17] xl: Add interface to handle qemu disaggregation |
Date: |
Thu, 23 Aug 2012 14:30:17 +0100 |
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 <address@hidden>
> ---
> 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", [
- Re: [Qemu-devel] [Xen-devel] [XEN][RFC PATCH V2 11/17] xc: modify save/restore to support multiple device models, (continued)
[Qemu-devel] [XEN][RFC PATCH V2 02/17] hvm: Add functions to handle ioreq servers, Julien Grall, 2012/08/22
[Qemu-devel] [XEN][RFC PATCH V2 05/17] hvm: Modify hvm_op, Julien Grall, 2012/08/22
[Qemu-devel] [XEN][RFC PATCH V2 06/17] hvm-io: IO refactoring with ioreq server, Julien Grall, 2012/08/22
[Qemu-devel] [XEN][RFC PATCH V2 12/17] xl: Add interface to handle qemu disaggregation, Julien Grall, 2012/08/22
- Re: [Qemu-devel] [Xen-devel] [XEN][RFC PATCH V2 12/17] xl: Add interface to handle qemu disaggregation,
Ian Campbell <=
[Qemu-devel] [XEN][RFC PATCH V2 10/17] xc: Add argument to allocate more special pages, Julien Grall, 2012/08/22
[Qemu-devel] [XEN][RFC PATCH V2 08/17] hvm-io: Handle server in buffered IO, Julien Grall, 2012/08/22
[Qemu-devel] [XEN][RFC PATCH V2 01/17] hvm: Modify interface to support multiple ioreq server, Julien Grall, 2012/08/22
[Qemu-devel] [XEN][RFC PATCH V2 15/17] xl: support spawn/destroy on multiple device model, Julien Grall, 2012/08/22