1. 22 1月, 2016 1 次提交
    • J
      Xen: VIR_FROM_THIS cleanup · 7d3698b4
      Jim Fehlig 提交于
      The virErrorDomain enum has VIR_FROM_XEN, VIR_FROM_XEND,
      VIR_FROM_XENSTORE, VIR_FROM_SEXPR, and VIR_FROM_XENXM. Use
      these elements in the corresponding .c files. While at it,
      remove the VIR_FROM_THIS define in src/xenconfig/xenxs_private.h.
      7d3698b4
  2. 13 1月, 2016 1 次提交
  3. 09 1月, 2016 2 次提交
    • J
      xenconfig: support vif bandwidth in xm and xl parser and formatter · ec63000a
      Jim Fehlig 提交于
      Both xm and xl config have long supported specifying vif rate
      limiting, e.g.
      
      vif = [ 'mac=00:16:3E:74:3d:76,bridge=br0,rate=10MB/s' ]
      
      Add support for mapping rate to and from <bandwidth> in the xenconfig
      parser and formatter. rate is mapped to the required 'average' attribute
      of the <outbound> element, e.g.
      
        <interface type='bridge'>
          ...
          <bandwidth>
            <outbound average='10240'/>
          </bandwidth>
        </interface>
      
      Also add a unit test to check the conversion logic.
      Signed-off-by: NJim Fehlig <jfehlig@suse.com>
      ec63000a
    • J
      xenconfig: support vif bandwidth in sexpr parser and formatter · 1dd34bbb
      Jim Fehlig 提交于
      The xen sexpr config format has long supported specifying vif rate
      limiting, e.g.
      
        (device
          (vif
            (mac '00:16:3e:1b:b1:47')
            (rate '10240KB/s')
            ...
          )
        )
      
      Add support for mapping rate to and from <bandwidth> in the xenconfig
      sexpr parser and formatter. rate is mapped to the required 'average'
      attribute of the <outbound> element, e.g.
      
        <interface type='bridge'>
          ...
          <bandwidth>
            <outbound average='10240'/>
          </bandwidth>
        </interface>
      
      Also add unit tests to check the conversion logic.
      
      This patch benefits both the old xen driver and the libxl driver.
      Both drivers gain support for vif bandwidth when converting to/from
      domXML and xen-sxpr. In addition, the old xen driver will now be
      able to handle vif 'rate' setting when communicating with xend.
      1dd34bbb
  4. 08 1月, 2016 1 次提交
  5. 19 12月, 2015 1 次提交
    • J
      Xen: support maxvcpus in xm and xl config · 5b74103b
      Jim Fehlig 提交于
      From: Ian Campbell <ian.campbell@citrix.com>
      
      xend prior to 4.0 understands vcpus as maxvcpus and vcpu_avail
      as a bit map of which cpus are online (default is all).
      
      xend from 4.0 onwards understands maxvcpus as maxvcpus and
      vcpus as the number which are online (from 0..N-1). The
      upstream commit (68a94cf528e6 "xm: Add maxvcpus support")
      claims that if maxvcpus is omitted then the old behaviour
      (i.e. obeying vcpu_avail) is retained, but AFAICT it was not,
      in this case vcpu==maxcpus==online cpus. This is good for us
      because handling anything else would be fiddly.
      
      This patch changes parsing of the virDomainDef maxvcpus and vcpus
      entries to use the corresponding 'maxvcpus' and 'vcpus' settings
      from xm and xl config. It also drops use of the old Xen 3.x
      'vcpu_avail' setting.
      
      The change also removes the maxvcpus limit of MAX_VIRT_VCPUS (since
      maxvcpus is simply a count, not a bit mask), which is particularly
      crucial on ARM where MAX_VIRT_CPUS == 1 (since all guests are
      expected to support vcpu placement, and therefore only the boot
      vcpu's info lives in the shared info page).
      
      Existing tests adjusted accordingly, and new tests added for the
      'maxvcpus' setting.
      5b74103b
  6. 18 12月, 2015 6 次提交
  7. 09 12月, 2015 7 次提交
  8. 21 10月, 2015 1 次提交
  9. 22 9月, 2015 1 次提交
  10. 02 9月, 2015 1 次提交
    • J
      qemu: add udp interface support · 5c668a78
      Jonathan Toppins 提交于
      Adds a new interface type using UDP sockets, this seems only applicable
      to QEMU but have edited tree-wide to support the new interface type.
      
      The interface type required the addition of a "localaddr" (local
      address), this then maps into the following xml and qemu call.
      
      <interface type='udp'>
        <mac address='52:54:00:5c:67:56'/>
        <source address='127.0.0.1' port='11112'>
          <local address='127.0.0.1' port='22222'/>
        </source>
        <model type='virtio'/>
        <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
      </interface>
      
      QEMU call:
      	-net socket,udp=127.0.0.1:11112,localaddr=127.0.0.1:22222
      
      Notice the xml "local" entry becomes the "localaddr" for the qemu call.
      
      reference:
      http://lists.gnu.org/archive/html/qemu-devel/2011-11/msg00629.htmlSigned-off-by: NJonathan Toppins <jtoppins@cumulusnetworks.com>
      Signed-off-by: NJán Tomko <jtomko@redhat.com>
      5c668a78
  11. 30 6月, 2015 1 次提交
    • J
      Use the correct symbol for 'onCrash' · 5cd98522
      John Ferlan 提交于
      Although defined the same way, fortunately there hadn't been any deviation.
      Ensure any assignments to onCrash use VIR_DOMAIN_LIFECYCLE_CRASH_* defs and
      not VIR_DOMAIN_LIFECYCLE_* defs
      5cd98522
  12. 19 5月, 2015 4 次提交
    • J
      xenconfig: fix spice mousemode and copypaste · a5b55bd9
      Jim Fehlig 提交于
      From xl.cfg950 man page:
      
      spiceagent_mouse=BOOLEAN
      Whether SPICE agent is used for client mouse mode. The default is
      true (1) (turn on)
      
      spicevdagent=BOOLEAN
      Enables spice vdagent. The Spice vdagent is an optional component for
      enhancing user experience and performing guest-oriented management
      tasks. Its features includes: client mouse mode (no need to grab
      mouse by client, no mouse lag), automatic adjustment of screen
      resolution, copy and paste (text and image) between client and domU.
      It also requires vdagent service installed on domU o.s. to work.
      The default is 0.
      
      spice_clipboard_sharing=BOOLEAN
      Enables Spice clipboard sharing (copy/paste). It requires spicevdagent
      enabled. The default is false (0).
      
      So if spiceagent_mouse is enabled (client mouse mode) or
      spice_clipboard_sharing is enabled, spicevdagent must be enabled.
      Along with this change, s/spicedvagent/spicevdagent, set
      spiceagent_mouse correctly, and add a test for these spice
      features.
      Signed-off-by: NJim Fehlig <jfehlig@suse.com>
      a5b55bd9
    • J
      xenconfig: fix spicepasswd handling · a460295f
      Jim Fehlig 提交于
      The logic related to spicedisable_ticketing and spicepasswd was
      inverted.  As per man xl.cfg(5), 'spicedisable_ticketing = 1'
      means no passwd is required.  On the other hand, a passwd is
      required if 'spicedisable_ticketing = 0'.  Fix the logic and
      produce and error if 'spicedisable_ticketing = 0' but spicepasswd
      is not provided.  Also fix the spice cfg test file.
      Signed-off-by: NJim Fehlig <jfehlig@suse.com>
      a460295f
    • J
      xenconfig: format spice listenAddr when formating ports · e21b1180
      Jim Fehlig 提交于
      Move formating of spice listenAddr to the section of code
      where spice ports are formatted.  It is more logical to
      format address and ports together.  Account for the change
      in spice cfg test file by moving 'spicehost'.
      Signed-off-by: NJim Fehlig <jfehlig@suse.com>
      e21b1180
    • J
      xenconfig: use local variable for graphics def · 096b39c9
      Jim Fehlig 提交于
      'graphics->' is a bit easier to read and type, and makes for
      shorter lines than 'def->graphics[0]->'.
      Signed-off-by: NJim Fehlig <jfehlig@suse.com>
      096b39c9
  13. 15 5月, 2015 1 次提交
  14. 21 4月, 2015 4 次提交
  15. 17 4月, 2015 5 次提交
    • J
      libxl: support HVM direct kernel boot · 13e2c220
      Jim Fehlig 提交于
      Add support for HVM direct kernel boot in libxl.  Also add a
      test to verify domXML <-> native conversions.
      Signed-off-by: NChunyan Liu <cyliu@suse.com>
      Signed-off-by: NJim Fehlig <jfehlig@suse.com>
      13e2c220
    • J
      xenconfig: don't use "kernel" for hvmloader · 0fe504f1
      Jim Fehlig 提交于
      In xl config, hvmloader is implied for hvm guests.  It is not
      specified with the "kernel" option like xm config.  The "kernel"
      option, along with "ramdisk" and "extra", is used for HVM direct
      kernel boot.  Instead of using "kernel" option to populate
      virDomainDef object's os.loader->path, use hvmloader discovered
      when gathering capabilities.
      
      This change required fixing initialization of capabilities in
      the test utils and removing 'kernel = "/usr/lib/xen/boot/hvmloader"'
      from the test config files.
      0fe504f1
    • J
      xenconfig: move <os> parsing/formating to config-specific files · 717a9251
      Jim Fehlig 提交于
      xl and xm differ a bit in how <os> configuration is represented.
      E.g. xl config supports <os><nvram .../></os> via its "bios"
      setting.
      
      Move the xenParseOS and xenFormatOS functions from xen_common.c
      and copy to xen_xl.c and xen_xm.c so they can be customized for
      xm vs xl config.  An unfortunate fallout is reordering of entries
      in the test config files.
      717a9251
    • J
      xenconfig: remove redunant parsing of device_model · a9b0d647
      Jim Fehlig 提交于
      device_model is parsed in xenParseOS(), then later in
      xenParseConfigCommon().  <emulator> is not part of <os>,
      so makes sense to remove the parsing in xenParseOS().
      a9b0d647
    • J
      xenconfig: export xenConfigCopyString · 8680a19b
      Jim Fehlig 提交于
      Export xenConfigCopyString for use outside of xen_common.c
      Signed-off-by: NJim Fehlig <jfehlig@suse.com>
      8680a19b
  16. 13 4月, 2015 1 次提交
  17. 23 3月, 2015 1 次提交
  18. 16 3月, 2015 1 次提交
    • P
      conf: Replace access to def->mem.max_balloon with accessor functions · 4f9907cd
      Peter Krempa 提交于
      As there are two possible approaches to define a domain's memory size -
      one used with legacy, non-NUMA VMs configured in the <memory> element
      and per-node based approach on NUMA machines - the user needs to make
      sure that both are specified correctly in the NUMA case.
      
      To avoid this burden on the user I'd like to replace the NUMA case with
      automatic totaling of the memory size. To achieve this I need to replace
      direct access to the virDomainMemtune's 'max_balloon' field with
      two separate getters depending on the desired size.
      
      The two sizes are needed as:
      1) Startup memory size doesn't include memory modules in some
      hypervisors.
      2) After startup these count as the usable memory size.
      
      Note that the comments for the functions are future aware and document
      state that will be present after a few later patches.
      4f9907cd