1. 18 12月, 2017 1 次提交
  2. 23 10月, 2017 1 次提交
  3. 16 10月, 2017 2 次提交
    • 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
  4. 29 9月, 2017 1 次提交
  5. 22 9月, 2017 1 次提交
  6. 20 7月, 2017 1 次提交
  7. 15 6月, 2017 2 次提交
    • F
      vhost-user-scsi: Introduce vhost-user-scsi host device · f12c1ebd
      Felipe Franciosi 提交于
      This commit introduces a vhost-user device for SCSI. This is based
      on the existing vhost-scsi implementation, but done over vhost-user
      instead. It also uses a chardev to connect to the backend. Unlike
      vhost-scsi (today), VMs using vhost-user-scsi can be live migrated.
      
      To use it, start Qemu with a command line equivalent to:
      
      qemu-system-x86_64 \
             -chardev socket,id=vus0,path=/tmp/vus.sock \
             -device vhost-user-scsi-pci,chardev=vus0,bus=pci.0,addr=...
      
      A separate commit presents a sample application linked with libiscsi to
      provide a backend for vhost-user-scsi.
      Signed-off-by: NFelipe Franciosi <felipe@nutanix.com>
      Message-Id: <1488479153-21203-4-git-send-email-felipe@nutanix.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      f12c1ebd
    • P
      docs: create interop/ subdirectory · d59157ea
      Paolo Bonzini 提交于
      This is for the future interoperability & management guide.  It includes
      the QAPI docs, including the automatically generated ones, other socket
      protocols (vhost-user, VNC), and the qcow2 file format.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      d59157ea
  8. 16 3月, 2017 1 次提交
    • M
      qapi: Clean up build of generated documentation · bd7f9747
      Markus Armbruster 提交于
      Rename intermediate qemu-qapi.texi to qemu-qmp-qapi.texi to match its
      user qemu-qmp-ref.texi, just like qemu-ga-qapi.texi matches
      qemu-ga-ref.texi.
      
      Build the intermediate .texi next to the sources and the final output
      in docs/ instead of dumping them into the build root.
      
      Fix version.texi dependencies so that only the targets that actually
      need it depend on it.
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Message-Id: <1489582656-31133-8-git-send-email-armbru@redhat.com>
      bd7f9747
  9. 20 2月, 2017 1 次提交
  10. 01 2月, 2017 1 次提交
  11. 16 1月, 2017 3 次提交
  12. 22 12月, 2016 1 次提交
  13. 08 10月, 2016 1 次提交
  14. 07 10月, 2016 1 次提交
  15. 20 9月, 2016 1 次提交
  16. 13 9月, 2016 1 次提交
  17. 14 7月, 2016 1 次提交
  18. 21 6月, 2016 1 次提交
  19. 01 6月, 2016 1 次提交
  20. 06 11月, 2015 1 次提交
  21. 24 9月, 2015 1 次提交
  22. 21 9月, 2015 1 次提交
    • M
      qapi: New QMP command query-qmp-schema for QMP introspection · 39a18158
      Markus Armbruster 提交于
      qapi/introspect.json defines the introspection schema.  It's designed
      for QMP introspection, but should do for similar uses, such as QGA.
      
      The introspection schema does not reflect all the rules and
      restrictions that apply to QAPI schemata.  A valid QAPI schema has an
      introspection value conforming to the introspection schema, but the
      converse is not true.
      
      Introspection lowers away a number of schema details, and makes
      implicit things explicit:
      
      * The built-in types are declared with their JSON type.
      
        All integer types are mapped to 'int', because how many bits we use
        internally is an implementation detail.  It could be pressed into
        external interface service as very approximate range information,
        but that's a bad idea.  If we need range information, we better do
        it properly.
      
      * Implicit type definitions are made explicit, and given
        auto-generated names:
      
        - Array types, named by appending "List" to the name of their
          element type, like in generated C.
      
        - The enumeration types implicitly defined by simple union types,
          named by appending "Kind" to the name of their simple union type,
          like in generated C.
      
        - Types that don't occur in generated C.  Their names start with ':'
          so they don't clash with the user's names.
      
      * All type references are by name.
      
      * The struct and union types are generalized into an object type.
      
      * Base types are flattened.
      
      * Commands take a single argument and return a single result.
      
        Dictionary argument or list result is an implicit type definition.
      
        The empty object type is used when a command takes no arguments or
        produces no results.
      
        The argument is always of object type, but the introspection schema
        doesn't reflect that.
      
        The 'gen': false directive is omitted as implementation detail.
      
        The 'success-response' directive is omitted as well for now, even
        though it's not an implementation detail, because it's not used by
        QMP.
      
      * Events carry a single data value.
      
        Implicit type definition and empty object type use, just like for
        commands.
      
        The value is of object type, but the introspection schema doesn't
        reflect that.
      
      * Types not used by commands or events are omitted.
      
        Indirect use counts as use.
      
      * Optional members have a default, which can only be null right now
      
        Instead of a mandatory "optional" flag, we have an optional default.
        No default means mandatory, default null means optional without
        default value.  Non-null is available for optional with default
        (possible future extension).
      
      * Clients should *not* look up types by name, because type names are
        not ABI.  Look up the command or event you're interested in, then
        follow the references.
      
        TODO Should we hide the type names to eliminate the temptation?
      
      New generator scripts/qapi-introspect.py computes an introspection
      value for its input, and generates a C variable holding it.
      
      It can generate awfully long lines.  Marked TODO.
      
      A new test-qmp-input-visitor test case feeds its result for both
      tests/qapi-schema/qapi-schema-test.json and qapi-schema.json to a
      QmpInputVisitor to verify it actually conforms to the schema.
      
      New QMP command query-qmp-schema takes its return value from that
      variable.  Its reply is some 85KiBytes for me right now.
      
      If this turns out to be too much, we have a couple of options:
      
      * We can use shorter names in the JSON.  Not the QMP style.
      
      * Optionally return the sub-schema for commands and events given as
        arguments.
      
        Right now qmp_query_schema() sends the string literal computed by
        qmp-introspect.py.  To compute sub-schema at run time, we'd have to
        duplicate parts of qapi-introspect.py in C.  Unattractive.
      
      * Let clients cache the output of query-qmp-schema.
      
        It changes only on QEMU upgrades, i.e. rarely.  Provide a command
        query-qmp-schema-hash.  Clients can have a cache indexed by hash,
        and re-query the schema only when they don't have it cached.  Even
        simpler: put the hash in the QMP greeting.
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      39a18158
  23. 16 9月, 2015 1 次提交
  24. 02 9月, 2015 1 次提交
  25. 28 7月, 2015 1 次提交
  26. 04 4月, 2015 1 次提交
  27. 10 3月, 2015 1 次提交
  28. 13 1月, 2015 1 次提交
  29. 12 8月, 2014 4 次提交
  30. 27 6月, 2014 1 次提交
  31. 24 5月, 2014 1 次提交
    • P
      configure: Put tempfiles in a subdir of the build directory · 8cd05ab6
      Peter Maydell 提交于
      When libtool support was added to configure, the new temporary files
      were left out of the list of files cleaned up on exit; this results
      in a lot of stale .lo files being left around in /tmp. Worse, libtool
      creates a /tmp/.libs directory which we can't easily clean up.
      
      Put all our temporary files in a single temporary directory created
      as a subdirectory of the build directory, so we can easily clean it up,
      and don't need fragile or complicated code for creation to avoid it
      clashing with temporary directories from other instances of QEMU
      configure or being subject to attack from adversaries who can write
      to /tmp.
      
      Since the temporaries now live in the build tree, we have no
      need to jump through hoops with a trap handler to try to remove
      them when configure exits; this fixes some weird bugs where hitting
      ^C during a configure run wouldn't actually make it stop, because
      we would run the trap handler but then not stop. (It is possible
      to get the trap handler semantics right but it is convoluted largely
      because of bugs in dash, so it is simpler to just avoid it.)
      
      Note that "temporary files go in the build directory, not /tmp" is
      the way autoconf behaves.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
      8cd05ab6
  32. 28 4月, 2014 1 次提交
    • M
      gitignore: cleanups #2 · 5d77c8f9
      Michael Tokarev 提交于
      A few more cleanups for .gitignore file.
      The final goal is to have only files in there which
      are generated during build.  Things like .orig or
      .gdbinit are definitely not generated during build.
      Also, anchor a few more build-time directories.
      Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
      5d77c8f9
  33. 27 4月, 2014 1 次提交