1. 27 2月, 2014 1 次提交
  2. 20 2月, 2014 5 次提交
    • F
      Makefile: introduce common-obj-m and block-obj-m for DSO · cc475698
      Fam Zheng 提交于
      $(common-obj-m) will include $(block-obj-m), like $(common-obj-y) does
      for $(block-obj-y).
      Signed-off-by: NFam Zheng <famz@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      cc475698
    • F
      Makefile: install modules with "make install" · e3be6f0e
      Fam Zheng 提交于
      Install all the modules to ${MODDIR}.
      Signed-off-by: NFam Zheng <famz@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      e3be6f0e
    • 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
    • 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
  3. 19 2月, 2014 1 次提交
  4. 16 1月, 2014 1 次提交
  5. 22 11月, 2013 1 次提交
    • M
      sun4m: Add FCode ROM for TCX framebuffer · da87dd7b
      Mark Cave-Ayland 提交于
      Upstream OpenBIOS now implements SBus probing in order to determine the
      contents of a physical bus slot, which is required to allow OpenBIOS to
      identify the framebuffer without help from the fw_cfg interface.
      
      SBus probing works by detecting the presence of an FCode program
      (effectively tokenised Forth) at the base address of each slot, and if
      present executes it so that it creates its own device node in the
      OpenBIOS device tree.
      
      The FCode ROM is generated as part of the OpenBIOS build and should
      generally be updated at the same time.
      Signed-off-by: NMark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
      CC: Blue Swirl <blauwirbel@gmail.com>
      CC: Bob Breuer <breuerr@mc.net>
      CC: Artyom Tarasenko <atar4qemu@gmail.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      da87dd7b
  6. 13 11月, 2013 1 次提交
  7. 07 11月, 2013 1 次提交
  8. 11 10月, 2013 1 次提交
  9. 21 9月, 2013 1 次提交
  10. 18 9月, 2013 1 次提交
  11. 10 9月, 2013 2 次提交
    • T
      qemu-ga: Add Windows VSS provider and requester as DLL · b39297ae
      Tomoki Sekiyama 提交于
      Adds VSS provider and requester as a qga-vss.dll, which is loaded by
      Windows VSS service as well as by qemu-ga.
      
      "provider.cpp" implements a basic stub of a software VSS provider.
      Currently, this module only relays a frozen event from VSS service to the
      agent, and thaw event from the agent to VSS service, to block VSS process
      to keep the system frozen while snapshots are taken at the host.
      
      To register the provider to the guest system as COM+ application, the type
      library (.tlb) for qga-vss.dll is required. To build it from COM IDL (.idl),
      VisualC++, MIDL and stdole2.tlb in Windows SDK are required. This patch also
      adds pre-compiled .tlb file in the repository in order to enable
      cross-compile qemu-ga.exe for Windows with VSS support.
      
      "requester.cpp" provides the VSS requester to kick the VSS snapshot process.
      Qemu-ga.exe works without the DLL, although fsfreeze features are disabled.
      
      These functions are only supported in Windows 2003 or later. In older
      systems, fsfreeze features are disabled.
      
      In several versions of Windows which don't support attribute
      VSS_VOLSNAP_ATTR_NO_AUTORECOVERY, DoSnapshotSet fails with error
      VSS_E_OBJECT_NOT_FOUND. In this patch, we just ignore this error.
      To solve this fundamentally, we need a framework to handle mount writable
      snapshot on guests, which is required by VSS auto-recovery feature
      (cleanup phase after a snapshot is taken).
      Signed-off-by: NTomoki Sekiyama <tomoki.sekiyama@hds.com>
      Signed-off-by: NMichael Roth <mdroth@linux.vnet.ibm.com>
      b39297ae
    • T
      qemu-ga: Add configure options to specify path to Windows/VSS SDK · d9840e25
      Tomoki Sekiyama 提交于
      To enable VSS support in qemu-ga for Windows, header files included in
      VSS SDK are required.
      The VSS support is enabled by the configure option like below:
        ./configure --with-vss-sdk="/path/to/VSS SDK"
      
      If the path is omitted, it tries to search the headers from default paths
      and VSS support is enabled only if the SDK is found.
      VSS support is disabled if --without-vss-sdk or --with-vss-sdk=no is
      specified.
      
      VSS SDK is available from:
        http://www.microsoft.com/en-us/download/details.aspx?id=23490
      
      To cross-compile using mingw, you need to setup the SDK on Windows
      environments to extract headers. You can also extract the SDK headers on
      POSIX environments using scripts/extract-vss-headers and msitools.
      
      In addition, --with-win-sdk="/path/to/Windows SDK" option is also added to
      specify path to Windows SDK, which may be used for native-compile of .tlb
      file of qemu-ga VSS provider. However, this is usually unnecessary because
      pre-compiled .tlb file is included.
      Signed-off-by: NTomoki Sekiyama <tomoki.sekiyama@hds.com>
      Reviewed-by: NLaszlo Ersek <lersek@redhat.com>
      Reviewed-by: NMichael Roth <mdroth@linux.vnet.ibm.com>
      Signed-off-by: NMichael Roth <mdroth@linux.vnet.ibm.com>
      d9840e25
  12. 27 8月, 2013 1 次提交
  13. 12 8月, 2013 1 次提交
  14. 29 7月, 2013 1 次提交
    • S
      w32, w64: Add build rule for installer · f53ec699
      Stefan Weil 提交于
      The new rules in Makefile allow building installers for QEMU on Windows
      using NSIS, a package which is also available for Linux distributions
      (so cross builds are possible).
      
      The rules for NSIS are in qemu.nsi which also uses two new images.
      Signed-off-by: NStefan Weil <sw@weilnetz.de>
      f53ec699
  15. 22 6月, 2013 1 次提交
  16. 12 6月, 2013 1 次提交
  17. 11 6月, 2013 1 次提交
  18. 06 6月, 2013 3 次提交
  19. 31 5月, 2013 1 次提交
  20. 23 5月, 2013 1 次提交
  21. 04 5月, 2013 1 次提交
    • P
      win32: fix compilation again · fba90ac1
      Paolo Bonzini 提交于
      While commit c02817e5 fixed compilation
      without an installed libtool, moving the dependencies to rules.mak does
      not work because the version-*-y variables are not defined yet.  Building
      in a clean tree thus fails.
      
      Revert the commit and remove the dummy /bin/false assignment to LIBTOOL.
      This makes the build work, at the price of slightly worse errors when
      there are Makefile bugs.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Message-id: 1367425815-15083-1-git-send-email-pbonzini@redhat.com
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      fba90ac1
  22. 27 4月, 2013 3 次提交
  23. 26 4月, 2013 2 次提交
  24. 25 4月, 2013 1 次提交
  25. 24 4月, 2013 1 次提交
  26. 18 4月, 2013 1 次提交
  27. 15 4月, 2013 1 次提交
  28. 09 4月, 2013 1 次提交
  29. 28 3月, 2013 1 次提交
  30. 16 3月, 2013 1 次提交
    • D
      Fix TAGS creation · b1999e87
      David Gibson 提交于
      Currently the Makefile creates TAGS for emacs with the command:
          find "$(SRC_PATH)" -name '*.[hc]' -print0 | xargs -0 etags
      That works only if xargs ends up invoking etags just once.  If xargs runs
      etags several times, as it will if there are enough files, then the later
      invocations will overwrite the output from the earlier invocations.  This
      patch uses the etags --append option to fix the bug.
      Signed-off-by: NDavid Gibson <david@gibson.dropbear.id.au>
      Message-id: 1363057048-21534-1-git-send-email-david@gibson.dropbear.id.au
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      b1999e87