1. 01 3月, 2014 1 次提交
  2. 27 2月, 2014 1 次提交
  3. 26 2月, 2014 1 次提交
  4. 25 2月, 2014 1 次提交
    • V
      net: Disable netmap backend when not supported · 0a985b37
      Vincenzo Maffione 提交于
      This patch fixes configure so that the netmap backend is not compiled in if the
      host doesn't support an API version >= 11. A version upper bound (15) has been
      added so that the netmap API can be extended with some minor features without
      requiring QEMU code modifications.
      
      Moreover, some changes have been done to net/netmap.c in order to reflect the
      current netmap API/ABI (11).
      
      The NETMAP_WITH_LIBS macro makes possible to include some utilities (e.g.
      netmap ring macros, D(), RD() and other high level functions) through the netmap
      headers. In this way we get rid of the D and RD macro definitions in the QEMU
      code, and we open the way for further code simplifications that will be
      introduced by future patches.
      Signed-off-by: NVincenzo Maffione <v.maffione@gmail.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      0a985b37
  5. 24 2月, 2014 1 次提交
  6. 22 2月, 2014 1 次提交
    • B
      quorum: Add quorum mechanism. · 95c6bff3
      Benoît Canet 提交于
      This patchset enables the core of the quorum mechanism.
      The num_children reads are compared to get the majority version and if this
      version exists more than threshold times the guest won't see the error at all.
      
      If a block is corrupted or if an error occurs during an IO or if the quorum
      cannot be established QMP events are used to report to the management.
      
      Use gnutls's SHA-256 to compare versions.
      
      --enable-quorum must be used to enable the feature.
      Signed-off-by: NBenoit Canet <benoit@irqsave.net>
      Reviewed-by: NMax Reitz <mreitz@redhat.com>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      95c6bff3
  7. 21 2月, 2014 1 次提交
  8. 20 2月, 2014 7 次提交
    • D
      configure: Disable libtool if -fPIE does not work with it (bug #1257099) · 66518bf6
      Don Slutz 提交于
      Adjust TMPO and added TMPB, TMPL, and TMPA.  libtool needs the names
      to be fixed (TMPB).
      
      Add new functions do_libtool and libtool_prog.
      
      Add check for broken gcc and libtool.
      Signed-off-by: NDon Slutz <dslutz@verizon.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      66518bf6
    • F
      block: convert block drivers linked with libs to modules · d3399d7c
      Fam Zheng 提交于
      The converted block drivers are:
      
          curl
          iscsi
          rbd
          ssh
          glusterfs
      Signed-off-by: NFam Zheng <famz@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      d3399d7c
    • F
      module: implement module loading · e26110cf
      Fam Zheng 提交于
      This patch adds loading, stamp checking and initialization of modules.
      
      The init function of dynamic module is no longer directly called as
      __attribute__((constructor)) in static linked version, it is called
      only after passed the checking of presense of stamp symbol:
      
          qemu_stamp_$RELEASEHASH
      
      where $RELEASEHASH is generated by hashing version strings and content
      of configure script.
      
      With this, modules built from a different tree/version/configure will
      not be loaded.
      
      The module loading code requires gmodule-2.0.
      
      Modules are searched under
       - CONFIG_MODDIR
       - executable folder (to allow running qemu-{img,io} in the build
         directory)
       - ../ of executable folder (to allow running system emulator in the
         build directory)
      
      Modules are linked under their subdir respectively, then copied to top
      level of build directory for above convinience, e.g.:
          $(BUILD_DIR)/block/curl.so -> $(BUILD_DIR)/block-curl.so
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NFam Zheng <famz@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      e26110cf
    • F
      rules.mak: introduce DSO rules · 17969268
      Fam Zheng 提交于
      Add necessary rules and flags for shared object generation.
      The new rules introduced here are:
      
      1) %.o in $(common-obj-m) is compiled to %.o, then linked to %.so.
      
      2) %.mo in $(common-obj-m) is the placeholder for %.so for pattern
      matching in Makefile. It's linked to "-shared" with all its dependencies
      (multiple *.o) as input. Which means the list of depended objects must
      be specified in each sub-Makefile.objs:
      
          foo.mo-objs := bar.o baz.o qux.o
      
      in the same style with foo.o-cflags and foo.o-libs. The objects here
      will be prefixed with "$(obj)/" if it's a subdirectory Makefile.objs.
      
      3) For all files ending up in %.so, the following is added automatically:
      
          foo.o-cflags += -fPIC -DBUILD_DSO
      
      Also introduce --enable-modules in configure, the option will enable
      support of shared object build. Otherwise objects are static linked to
      executables.
      Signed-off-by: NFam Zheng <famz@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      17969268
    • P
      darwin: do not use -mdynamic-no-pic · 13b6ce0e
      Paolo Bonzini 提交于
      While -mdynamic-no-pic can speed up the code somewhat, it is only used
      on the legacy PowerPC Mac OS X, and I am not sure if anyone is still
      testing that.  Disabling PIC can cause problems when enabling modules,
      so do not do that.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NFam Zheng <famz@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      13b6ce0e
    • F
      block: use per-object cflags and libs · 6ebc91e5
      Fam Zheng 提交于
      No longer adds flags and libs for them to global variables, instead
      create config-host.mak variables like FOO_CFLAGS and FOO_LIBS, which is
      used as per object cflags and libs.
      
      This removes unwanted dependencies from libcacard.
      Signed-off-by: NFam Zheng <famz@redhat.com>
      [Split from Fam's patch to enable modules. - Paolo]
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NFam Zheng <famz@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      6ebc91e5
    • F
      rules.mak: fix $(obj) to a real relative path · ba1183da
      Fam Zheng 提交于
      Makefile.target includes rule.mak and unnested common-obj-y, then prefix
      them with '../', this will ignore object specific QEMU_CFLAGS in subdir
      Makefile.objs:
      
          $(obj)/curl.o: QEMU_CFLAGS += $(CURL_CFLAGS)
      
      Because $(obj) here is './block', instead of '../block'. This doesn't
      hurt compiling because we basically build all .o from top Makefile,
      before entering Makefile.target, but it will affact arriving per-object
      libs support.
      
      The starting point of $(obj) is passed in as argument of unnest-vars, as
      well as nested variables, so that different Makefiles can pass in a
      right value.
      Signed-off-by: NFam Zheng <famz@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      ba1183da
  9. 19 2月, 2014 1 次提交
  10. 17 2月, 2014 1 次提交
    • B
      Fix QEMU build on OpenBSD on x86 archs · 46eef33b
      Brad 提交于
      This resolves the build issue with building the ROMs on OpenBSD on x86 archs.
      As of OpenBSD 5.3 the compiler builds PIE binaries by default and thus the
      whole OS/packages and so forth. The ROMs need to have PIE disabled.
      Check in configure whether the compiler supports the flags for disabling
      PIE, and if it does then use them for building the ROMs. This fixes the
      following buildbot failure:
      
      >From the OpenBSD buildbots..
        Building optionrom/multiboot.img
      ld: multiboot.o: relocation R_X86_64_16 can not be used when making a shared object; recompile with -fPIC
      
      Signed-off by: Brad Smith <brad@comstyle.com>
      Reviewed-by: NStefan Hajnoczi <stefanha@redhat.com>
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      46eef33b
  11. 15 2月, 2014 2 次提交
  12. 09 2月, 2014 1 次提交
    • P
      block: add native support for NFS · 6542aa9c
      Peter Lieven 提交于
      This patch adds native support for accessing images on NFS
      shares without the requirement to actually mount the entire
      NFS share on the host.
      
      NFS Images can simply be specified by an url of the form:
      nfs://<host>/<export>/<filename>[?param=value[&param2=value2[&...]]]
      
      For example:
      qemu-img create -f qcow2 nfs://10.0.0.1/qemu-images/test.qcow2
      
      You need LibNFS from Ronnie Sahlberg available at:
         git://github.com/sahlberg/libnfs.git
      for this to work.
      
      During configure it is automatically probed for libnfs and support
      is enabled on-the-fly. You can forbid or enforce libnfs support
      with --disable-libnfs or --enable-libnfs respectively.
      
      Due to NFS restrictions you might need to execute your binaries
      as root, allow them to open priviledged ports (<1024) or specify
      insecure option on the NFS server.
      
      For additional information on ROOT vs. non-ROOT operation and URL
      format + parameters see:
         https://raw.github.com/sahlberg/libnfs/master/README
      
      Supported by qemu are the uid, gid and tcp-syncnt URL parameters.
      
      LibNFS currently support NFS version 3 only.
      Signed-off-by: NPeter Lieven <pl@kamp.de>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      6542aa9c
  13. 08 2月, 2014 1 次提交
    • C
      disas: Implement disassembly output for A64 · 999b53ec
      Claudio Fontana 提交于
      Use libvixl to implement disassembly output in debug
      logs for A64, for use with both AArch64 hosts and targets.
      Signed-off-by: NClaudio Fontana <claudio.fontana@linaro.org>
      [PMM:
       * added support for target disassembly
       * switched to custom QEMUDisassembler so the output format
         matches what QEMU expects
       * make sure we correctly fall back to "just print hex"
         if we didn't build the AArch64 disassembler because of
         lack of a C++ compiler
       * rename from 'aarch64' to 'arm-a64' because this is a
         disassembler for the A64 instruction set
       * merge aarch64.c and aarch64-cxx.cc into one C++ file
       * simplify the aarch64.c<->aarch64-cxx.cc interface]
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      999b53ec
  14. 26 1月, 2014 1 次提交
  15. 22 1月, 2014 1 次提交
  16. 01 1月, 2014 2 次提交
    • S
      configure: Python tests must be done before help message · f6f0b7d9
      Stefan Weil 提交于
      The help message uses $python and displays its value, so that macro
      should be tested and set early.
      
      With this modification, configure --help displays the correct value
      (usually python -B) and no longer creates several *.pyc files.
      Signed-off-by: NStefan Weil <sw@weilnetz.de>
      Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
      f6f0b7d9
    • S
      configure: Rewrite code for help message · 08fb77ed
      Stefan Weil 提交于
      In the new form most lines of the code now look like the final output:
      there is no leading echo command and the lines are shorter.
      
      The resulting output is nearly identical: the only difference is a blank
      character which was deliberately removed:
      
      @@ -8,7 +8,7 @@
         --interp-prefix=PREFIX   where to find shared libraries, etc.
                                  use %M for cpu name [/usr/gnemul/qemu-%M]
         --target-list=LIST       set target list (default: build everything)
      -                           Available targets:  alpha-softmmu arm-softmmu
      +                           Available targets: alpha-softmmu arm-softmmu
                                  cris-softmmu i386-softmmu lm32-softmmu m68k-softmmu
                                  microblaze-softmmu microblazeel-softmmu mips-softmmu
                                  mips64-softmmu mips64el-softmmu mipsel-softmmu
      Signed-off-by: NStefan Weil <sw@weilnetz.de>
      Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
      08fb77ed
  17. 20 12月, 2013 1 次提交
  18. 18 12月, 2013 2 次提交
  19. 09 12月, 2013 2 次提交
    • V
      net: Adding netmap network backend · 58952137
      Vincenzo Maffione 提交于
      This patch adds support for a network backend based on netmap.
      netmap is a framework for high speed packet I/O. You can use it
      to build extremely fast traffic generators, monitors, software
      switches or network middleboxes. Its companion software switch
      VALE lets you interconnect virtual machines.
      netmap and VALE are implemented as a non-intrusive kernel module,
      support NICs from multiple vendors, are part of standard FreeBSD
      distributions and available in source format for Linux too.
      
      To compile QEMU with netmap support, use the following configure
      options:
          ./configure [...] --enable-netmap --extra-cflags=-I/path/to/netmap/sys
      where "/path/to/netmap" contains the netmap source code, available at
          http://info.iet.unipi.it/~luigi/netmap/
      
      The same webpage contains more information about the netmap project
      (together with papers and presentations).
      Signed-off-by: NVincenzo Maffione <v.maffione@gmail.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      58952137
    • P
      block/iscsi: introduce bdrv_co_{readv, writev, flush_to_disk} · 063c3378
      Peter Lieven 提交于
      this converts read, write and flush functions from aio to coroutines
      eliminating almost 200 lines of code.
      
      The requirement for libiscsi is bumped to version 1.4.0 which was
      released in may 2012.
      Signed-off-by: NPeter Lieven <pl@kamp.de>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      063c3378
  20. 24 11月, 2013 1 次提交
  21. 22 11月, 2013 1 次提交
  22. 17 11月, 2013 1 次提交
  23. 07 11月, 2013 2 次提交
  24. 06 11月, 2013 1 次提交
  25. 26 10月, 2013 1 次提交
    • M
      configure: create fsdev/ directory · 2b170eff
      Michael Tokarev 提交于
      In some cases when building with parallelism (make -jN),
      build fails because the directory where output files are
      supposed to be does not exist.  In particular, when make
      decides to build virtfs-proxy-helper.1 before other files
      in fsdev/, build will fail with the following error:
      
      perl -Ww -- BUILDDIR/scripts/texi2pod.pl BUILDDIR/fsdev/virtfs-proxy-helper.texi fsdev/virtfs-proxy-helper.pod && pod2man --utf8 --section=1 --center=" " --release=" " fsdev/virtfs-proxy-helper.pod > fsdev/virtfs-proxy-helper.1
      opening "fsdev/virtfs-proxy-helper.pod": No such file or directory
      Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
      Acked-by: NPaolo Bonzini <pbonzini@redhat.com>
      2b170eff
  26. 14 10月, 2013 1 次提交
  27. 11 10月, 2013 2 次提交
  28. 25 9月, 2013 1 次提交