1. 12 1月, 2018 2 次提交
  2. 18 12月, 2017 2 次提交
    • P
      Makefile: add more targets to the UNCHECKED_GOALS rule · 28fa2927
      Philippe Mathieu-Daudé 提交于
      These targets don't need a full build of git submodules.
      (See b8e535ae and eaa2ddbb).
      Signed-off-by: NPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
      28fa2927
    • P
      Makefile: use $(MAKE) variable · b98a3bae
      Philippe Mathieu-Daudé 提交于
      For some systems (i.e. FreeBSD) the default 'make' is not compatible with the
      GNU extensions used by QEMU makefiles.
      
      Calling the GNU make (gmake) works, however the help displayed refers to the
      host 'make' and copy/paste leads to lot of unobvious errors:
      
        $ gmake check-help
        [...]
         make check                Run all tests
      
        $ make check
        make: "Makefile" line 28: Missing dependency operator
        make: "Makefile" line 37: Need an operator
        make: "Makefile" line 41: warning: duplicate script for target "git-submodule-update" ignored
        make: "rules.mak" line 70: warning: duplicate script for target "%.o" ignored
        make: Unknown modifier ' '
        make: Unclosed substitution for eval modules (= missing)
        make: "tests/Makefile.include" line 24: Variable/Value missing from "export"
        make: "tests/" line 1: warning: Zero byte read from file, skipping rest of line.
        make: "tests/" line 1: Need an operator
        make: "Makefile" line 660: warning: duplicate script for target "ifneq" ignored
        make: "Makefile" line 78: warning: using previous script for "ifneq" defined here
        make: Fatal errors encountered -- cannot continue
      
      Using the $(MAKE) variable, the help displayed is consistent with the 'make'
      program used.
      Signed-off-by: NPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
      b98a3bae
  3. 15 12月, 2017 1 次提交
  4. 21 11月, 2017 1 次提交
  5. 14 11月, 2017 1 次提交
  6. 09 11月, 2017 1 次提交
  7. 06 11月, 2017 3 次提交
    • D
      build: remove use of MAKELEVEL optimization in submodule handling · c4b01c7c
      Daniel P. Berrange 提交于
      The Makefile attempts to optimize the handling of submodules by using MAKELEVEL
      to only check the submodule status when running from the top level make
      invokation. This causes problems for people who are using a makefile of their
      own to in turn invoke QEMU's makefile, as MAKELEVEL is already set to 1 (or
      more) when QEMU's makefile runs.
      
      This optimization should not really be needed, since the git-submodule.sh
      script is already used to detect if a submodule update is required. This by
      removing the MAKELEVEL check, we at most add an extra 'git-submodule.sh status'
      call to each make level, the overhead of which is lost in noise of building
      QEMU.
      Reviewed-by: NGreg Kurz <groug@kaod.org>
      Tested-by: NGreg Kurz <groug@kaod.org>
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      c4b01c7c
    • D
      build: allow automatic git submodule updates to be disabled · f62bbee5
      Daniel P. Berrange 提交于
      Some people building QEMU use VPATH builds where the source directory is on a
      read-only volume. In such a case 'scripts/git-submodules.sh update' will always
      fail and users are required to run it manually themselves on their original
      writable source directory.
      
      While this is already supported, it is nice to give users a command line flag
      to configure to permanently disable automatic submodule updates, as it means
      they won't get hard to diagnose failures from git-submodules.sh at an arbitrary
      later date.
      
      This patch thus introduces a flag '--disable-git-update' which will prevent
      'make' from ever running 'scripts/git-submodules.sh update'. It will still run
      the 'status' command to determine if a submodule update is needed, but when it
      does this it'll simply stop and print a message instructing the developer what
      todo. eg
      
      $ ./configure  --target-list=x86_64-softmmu --disable-git-update
      ...snip...
      
      $ make
        GEN     config-host.h
        GEN     trace/generated-tcg-tracers.h
        GEN     trace/generated-helpers-wrappers.h
        GEN     trace/generated-helpers.h
        GEN     trace/generated-helpers.c
        GEN     module_block.h
      
      GIT submodule checkout is out of date. Please run
        scripts/git-submodule.sh update ui/keycodemapdb
      from the source directory checkout /home/berrange/src/virt/qemu
      
      make: *** [Makefile:31: git-submodule-update] Error 1
      Tested-by: NPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      f62bbee5
    • D
      build: allow setting a custom GIT binary for transparent proxying · cc84d63a
      Daniel P. Berrange 提交于
      Some users can't run a bare 'git' command, due to need for a transparent
      proxying solution such as 'tsocks'. This adds an argument to configure to
      let users specify such a thing:
      
        ./configure --with-git="tsocks git"
      
      The submodule script is also updated to give the user a hint about using this
      flag, if we fail to checkout modules.
      Tested-by: NPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      cc84d63a
  8. 26 10月, 2017 1 次提交
  9. 19 10月, 2017 1 次提交
    • A
      build: Fix dtc-checkout race condition in Makefile · 00525864
      Aaron Lindsay 提交于
      This was introduced by:
          commit aef45d51
          Author: Daniel P. Berrange <berrange@redhat.com>
          Date:   Fri Sep 29 11:11:56 2017 +0100
      
      	build: automatically handle GIT submodule checkout for dtc
      
      On my system, I see the following with a fresh clone:
      
      % ./configure --disable-gtk --target-list=aarch64-softmmu
      % make -j8
        GEN     aarch64-softmmu/config-devices.mak.tmp
        GEN     config-host.h
      mkdir -p dtc/libfdt
        GIT     ui/keycodemapdb dtc
      mkdir -p dtc/tests
        GEN     qemu-options.def
      [snip]
        GEN     migration/trace.h
      make: *** [git-submodule-update] Error 1
      make: *** Waiting for unfinished jobs....
      
      Upon closer inspection, the root cause of the error is:
      
      % git submodule update --init ui/keycodemapdb dtc
      fatal: destination path 'dtc' already exists and is not an empty directory.
      Clone of 'git://git.qemu-project.org/dtc.git' into submodule path 'dtc' failed
      
      This patch fixes this race condition by forcing the 'dtc/%' rule which caused
      'dtc' to be non-empty to wait on '.git-submodule-status'.
      Signed-off-by: NAaron Lindsay <alindsay@codeaurora.org>
      Reviewed-by: NDaniel P. Berrange <berrange@redhat.com>
      Acked-by: NPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Message-id: 1508352023-28591-1-git-send-email-alindsay@codeaurora.org
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      00525864
  10. 17 10月, 2017 2 次提交
  11. 16 10月, 2017 4 次提交
    • G
      tools: add qemu-keymap · 6a021536
      Gerd Hoffmann 提交于
      qemu-keymap generates qemu reverse keymaps from xkb keymaps,
      which can be used with the qemu "-k" command line switch.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      Message-id: 20171005153330.19210-2-kraxel@redhat.com
      6a021536
    • D
      ui: convert common input code to keycodemapdb · bcd5ac9b
      Daniel P. Berrange 提交于
      Replace the number_to_qcode, qcode_to_number and linux_to_qcode
      tables with automatically generated tables.
      
      Missing entries in linux_to_qcode now fixed:
      
        KEY_LINEFEED -> Q_KEY_CODE_LF
        KEY_KPEQUAL -> Q_KEY_CODE_KP_EQUALS
        KEY_COMPOSE -> Q_KEY_CODE_COMPOSE
        KEY_AGAIN -> Q_KEY_CODE_AGAIN
        KEY_PROPS -> Q_KEY_CODE_PROPS
        KEY_UNDO -> Q_KEY_CODE_UNDO
        KEY_FRONT -> Q_KEY_CODE_FRONT
        KEY_COPY -> Q_KEY_CODE_COPY
        KEY_OPEN -> Q_KEY_CODE_OPEN
        KEY_PASTE -> Q_KEY_CODE_PASTE
        KEY_CUT -> Q_KEY_CODE_CUT
        KEY_HELP -> Q_KEY_CODE_HELP
        KEY_MEDIA -> Q_KEY_CODE_MEDIASELECT
      
      In addition, some fixes:
      
       - KEY_PLAYPAUSE now maps to Q_KEY_CODE_AUDIOPLAY, instead of
         KEY_PLAYCD. KEY_PLAYPAUSE is defined across almost all scancodes
         sets, while KEY_PLAYCD only appears in AT set1, so the former is
         a more useful mapping.
      
      Missing entries in qcode_to_number now fixed:
      
        Q_KEY_CODE_AGAIN -> 0x85
        Q_KEY_CODE_PROPS -> 0x86
        Q_KEY_CODE_UNDO -> 0x87
        Q_KEY_CODE_FRONT -> 0x8c
        Q_KEY_CODE_COPY -> 0xf8
        Q_KEY_CODE_OPEN -> 0x64
        Q_KEY_CODE_PASTE -> 0x65
        Q_KEY_CODE_CUT -> 0xbc
        Q_KEY_CODE_LF -> 0x5b
        Q_KEY_CODE_HELP -> 0xf5
        Q_KEY_CODE_COMPOSE -> 0xdd
        Q_KEY_CODE_KP_EQUALS -> 0x59
        Q_KEY_CODE_MEDIASELECT -> 0xed
      
      In addition, some fixes:
      
       - Q_KEY_CODE_MENU was incorrectly mapped to the compose
         scancode (0xdd) and is now mapped to 0x9e
       - Q_KEY_CODE_FIND was mapped to 0xe065 (Search) instead
         of to 0xe041 (Find)
       - Q_KEY_CODE_HIRAGANA was mapped to 0x70 (Katakanahiragana)
         instead of of 0x77 (Hirigana)
       - Q_KEY_CODE_PRINT was mapped to 0xb7 which is not a defined
         scan code in AT set 1, it is now mapped to 0x54 (sysrq)
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      Message-id: 20170929101201.21039-5-berrange@redhat.com
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      bcd5ac9b
    • D
      ui: add keycodemapdb repository as a GIT submodule · 92712822
      Daniel P. Berrange 提交于
      The https://gitlab.com/keycodemap/keycodemapdb/ repo contains a
      data file mapping between all the different scancode/keycode/keysym
      sets that are known, and a tool to auto-generate lookup tables for
      different combinations.
      
      It is used by GTK-VNC, SPICE-GTK and libvirt for mapping keys.
      Using it in QEMU will let us replace many hand written lookup
      tables with auto-generated tables from a master data source,
      reducing bugs. Adding new QKeyCodes will now only require the
      master table to be updated, all ~20 other tables will be
      automatically updated to follow.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      Message-id: 20170929101201.21039-4-berrange@redhat.com
      
      [ kraxel: fix build ]
      [ kraxel: switch repo to qemu.git mirror ]
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      92712822
    • D
      build: automatically handle GIT submodule checkout for dtc · aef45d51
      Daniel P. Berrange 提交于
      Currently if DTC is required by configure and not available in the host
      OS install, we exit with an error message telling the user to checkout a
      git submodule or install the library.
      
      This introduces automatic handling of the git submodule checkout process
      and enables it for dtc. This only runs if building from GIT, so users of
      release tarballs still need the system library install. The current state
      of the git checkout is stashed in .git-submodule-status, and a helper
      program is used to determine if this state matches the desired submodule
      state. A dependency against 'Makefile' ensures that the submodule state
      is refreshed at the start of the build process
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      Message-id: 20170929101201.21039-2-berrange@redhat.com
      
      [ kraxel: use /bin/sh not bash for scripts/git-submodule.sh ]
      [ kraxel: fix Makefile dependencies ]
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      
      [fixup] Makefile dep
      aef45d51
  12. 11 10月, 2017 2 次提交
  13. 26 9月, 2017 1 次提交
  14. 23 9月, 2017 2 次提交
    • P
      scsi: add multipath support to qemu-pr-helper · fe8fc5ae
      Paolo Bonzini 提交于
      Proper support of persistent reservation for multipath devices requires
      communication with the multipath daemon, so that the reservation is
      registered and applied when a path comes up.  The device mapper
      utilities provide a library to do so; this patch makes qemu-pr-helper.c
      detect multipath devices and, when one is found, delegate the operation
      to libmpathpersist.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      fe8fc5ae
    • P
      scsi: build qemu-pr-helper · b855f8d1
      Paolo Bonzini 提交于
      Introduce a privileged helper to run persistent reservation commands.
      This lets virtual machines send persistent reservations without using
      CAP_SYS_RAWIO or out-of-tree patches.  The helper uses Unix permissions
      and SCM_RIGHTS to restrict access to processes that can access its socket
      and prove that they have an open file descriptor for a raw SCSI device.
      
      The next patch will also correct the usage of persistent reservations
      with multipath devices.
      
      It would also be possible to support for Linux's IOC_PR_* ioctls in
      the future, to support NVMe devices.  For now, however, only SCSI is
      supported.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      b855f8d1
  15. 22 9月, 2017 1 次提交
  16. 19 9月, 2017 1 次提交
  17. 13 9月, 2017 1 次提交
    • G
      pixman: drop submodule · c12b6d70
      Gerd Hoffmann 提交于
      Drop pixman submodule and support for the "internal" pixman build.
      pixman should be reasonably well established meanwhile so we don't
      need the fallback submodule any more.  While being at it also drop
      some #ifdefs for pixman versions older than what we require in
      configure anyway.
      Signed-off-by: NGerd Hoffmann <kraxel@redhat.com>
      Message-id: 20170905140116.28181-2-kraxel@redhat.com
      c12b6d70
  18. 04 9月, 2017 9 次提交
  19. 15 8月, 2017 1 次提交
  20. 31 7月, 2017 1 次提交
  21. 20 7月, 2017 1 次提交
  22. 14 7月, 2017 1 次提交
    • C
      pc-bios/s390: add s390-netboot.img · 6c5359e1
      Christian Borntraeger 提交于
      It's already possible to do a network boot of an s390x guest with an
      external netboot image based on a Linux installation, but it would
      be much more convenient if the s390-ccw firmware supported network
      booting right out of the box, without the need to assemble such an
      external image first.
      
      This is an s390-netboot.img that can be used for network booting.
      You can download a combined kernel + initrd image via TFTP
      by starting QEMU for example with:
      
       qemu-system-s390x ... -device virtio-net,netdev=n1,bootindex=1 \
             -netdev user,id=n1,tftp=/path/to/tftp,bootfile=kernel.img
      
      Note that this version does not support downloading via config
      files (i.e. pxelinux config files or .INS config files) yet. This
      will be added later.
      Signed-off-by: NChristian Borntraeger <borntraeger@de.ibm.com>
      6c5359e1