1. 10 2月, 2016 1 次提交
  2. 27 1月, 2016 1 次提交
    • P
      device: cleanup input device code · 36785c7e
      Pavel Hrdina 提交于
      The current code was a little bit odd.  At first we've removed all
      possible implicit input devices from domain definition to add them later
      back if there was any graphics device defined while parsing XML
      description.  That's not all, while formating domain definition to XML
      description we at first ignore any input devices with bus different to
      USB and VIRTIO and few lines later we add implicit input devices to XML.
      
      This seems to me as a lot of code for nothing.  This patch may look
      to be more complicated than original approach, but this is a preferred
      way to modify/add driver specific stuff only in those drivers and not
      deal with them in common parsing/formating functions.
      
      The update is to add those implicit input devices into config XML to
      follow the real HW configuration visible by guest OS.
      
      There was also inconsistence between our behavior and QEMU's in the way,
      that in QEMU there is no way how to disable those implicit input devices
      for x86 architecture and they are available always, even without graphics
      device.  This applies also to XEN hypervisor.  VZ driver already does its
      part by putting correct implicit devices into live XML.
      Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
      36785c7e
  3. 22 1月, 2016 3 次提交
    • I
      libxl: Support cmdline= in xl config files · daeace5c
      Ian Campbell 提交于
      ... and consolidate the cmdline/extra/root parsing to facilitate doing
      so.
      
      The logic is the same as xl's parse_cmdline from the current xen.git master
      branch (e6f0e099d2c17de47fd86e817b1998db903cab61).
      
      On the formatting side switch to producing cmdline= instead of extra=.
      
      Update a few tests and add serveral more.
        - test-cmdline is added to test the exclusive use of cmdline.
        - test-fullvirt-direct-kernel-boot.cfg is updated due to the switch
          on the formatting side and now tests the exclusive use of cmdline=.
        - Tests are added for both paravirt and fullvirt where the .cfg uses
          extra= and (paravirt only) root=. These are format (xl->xml) only
          since the inverse will generate cmdline= hence is not a round trip
          (which was already true if using root=, which used to generate
          extra= on the way back).
        - Tests are added for both paravirt and fullvirt where the .cfg
          declares cmdline= as well as bogus extra= and (paravirt only) root=
          entries which should be ignored. Again these are format only tests
          since the inverse won't include the bogus lines.
      
      The last two bullets here required splitting the DO_TEST macro into
      two halves, as is done in the xmconfigtest.c case.
      
      In order to introduce a use of VIR_WARN for logging I had to add
      virerror.h and VIR_LOG_INIT.
      Signed-off-by: NIan Campbell <ian.campbell@citrix.com>
      daeace5c
    • J
      Xen: add XENXL to virErrorDomain enum · 8c3c32f1
      Jim Fehlig 提交于
      Add "Xen XL Config" to the virErrorDomain enum and use it in
      src/xenconfig/xen_xl.c.
      8c3c32f1
    • 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
  4. 13 1月, 2016 1 次提交
  5. 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
  6. 08 1月, 2016 1 次提交
  7. 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
  8. 18 12月, 2015 6 次提交
  9. 09 12月, 2015 7 次提交
  10. 21 10月, 2015 1 次提交
  11. 22 9月, 2015 1 次提交
  12. 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
  13. 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
  14. 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
  15. 15 5月, 2015 1 次提交
  16. 21 4月, 2015 4 次提交
  17. 17 4月, 2015 4 次提交
    • 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