1. 31 5月, 2018 1 次提交
  2. 29 5月, 2018 1 次提交
  3. 23 5月, 2018 8 次提交
  4. 20 5月, 2018 1 次提交
  5. 16 5月, 2018 6 次提交
  6. 15 5月, 2018 2 次提交
  7. 14 5月, 2018 1 次提交
  8. 11 5月, 2018 1 次提交
  9. 04 5月, 2018 7 次提交
    • L
      qapi: deprecate CpuInfoFast.arch · 6ffa3ab4
      Laszlo Ersek 提交于
      The TARGET_BASE_ARCH values from "configure" don't all map to the
      @CpuInfoArch enum constants; in particular "s390x" from the former does
      not match @s390 in the latter. Clients are known to rely on the @s390
      constant specifically, so we can't change it silently. Instead, deprecate
      the @CpuInfoFast.@arch member (in favor of @CpuInfoFast.@target) using the
      regular deprecation process.
      
      (No deprecation reminder is added to sysemu_target_to_cpuinfo_arch(): once
      @CpuInfoFast.@arch is removed, the assignment expression that calls
      sysemu_target_to_cpuinfo_arch() from qmp_query_cpus_fast() will have to
      disappear; in turn the static function left without callers will also
      break the build, thus it'll have to go.)
      
      Cc: "Daniel P. Berrange" <berrange@redhat.com>
      Cc: Eric Blake <eblake@redhat.com>
      Cc: Markus Armbruster <armbru@redhat.com>
      Signed-off-by: NLaszlo Ersek <lersek@redhat.com>
      Message-Id: <20180427192852.15013-6-lersek@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      6ffa3ab4
    • L
      qapi: discriminate CpuInfoFast on SysEmuTarget, not CpuInfoArch · daa9d2bc
      Laszlo Ersek 提交于
      Add a new field @target (of type @SysEmuTarget) to the output of the
      @query-cpus-fast command, which provides more information about the
      emulation target than the field @arch (of type @CpuInfoArch). Make @target
      the new discriminator for the @CpuInfoFast return structure. Keep @arch
      for compatibility.
      
      Cc: "Daniel P. Berrange" <berrange@redhat.com>
      Cc: Eric Blake <eblake@redhat.com>
      Cc: Markus Armbruster <armbru@redhat.com>
      Signed-off-by: NLaszlo Ersek <lersek@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Message-Id: <20180427192852.15013-5-lersek@redhat.com>
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      daa9d2bc
    • L
      qapi: change the type of TargetInfo.arch from string to enum SysEmuTarget · b47aa7b3
      Laszlo Ersek 提交于
      Now that we have @SysEmuTarget, it makes sense to restrict
      @TargetInfo.@arch to valid sysemu targets at the schema level.
      
      Cc: "Daniel P. Berrange" <berrange@redhat.com>
      Cc: Eric Blake <eblake@redhat.com>
      Cc: Markus Armbruster <armbru@redhat.com>
      Signed-off-by: NLaszlo Ersek <lersek@redhat.com>
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Message-Id: <20180427192852.15013-4-lersek@redhat.com>
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      b47aa7b3
    • L
      qapi: add SysEmuTarget to "common.json" · 9a801c7d
      Laszlo Ersek 提交于
      We'll soon need an enumeration type that lists all the softmmu targets
      that QEMU (the project) supports. Introduce @SysEmuTarget to
      "common.json".
      
      The enum constant @x86_64 doesn't match the QAPI convention of preferring
      hyphen ("-") over underscore ("_"). This is intentional; the @SysEmuTarget
      constants are supposed to produce QEMU executable names when stringified
      and appended to the "qemu-system-" prefix. Put differently, the
      replacement text of the TARGET_NAME preprocessor macro must be possible to
      look up in the list of (stringified) enum constants.
      
      Like other enum types, @SysEmuTarget too can be used for discriminator
      fields in unions. For the @i386 constant, a C-language union member called
      "i386" would be generated. On mingw build hosts, "i386" is a macro
      however. Add "i386" to "polluted_words" at once.
      
      Cc: "Daniel P. Berrange" <berrange@redhat.com>
      Cc: Eric Blake <eblake@redhat.com>
      Cc: Markus Armbruster <armbru@redhat.com>
      Signed-off-by: NLaszlo Ersek <lersek@redhat.com>
      Message-Id: <20180427192852.15013-3-lersek@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      9a801c7d
    • L
      qapi: fill in CpuInfoFast.arch in query-cpus-fast · 96054f56
      Laszlo Ersek 提交于
      * Commit ca230ff3 added the @arch field to @CpuInfoFast, but it failed
        to set the new field in qmp_query_cpus_fast(), when TARGET_S390X was not
        defined. The updated @query-cpus-fast example in "qapi-schema.json"
        showed "arch":"x86" only because qmp_query_cpus_fast() calls g_malloc0()
        to allocate @CpuInfoFast, and the CPU_INFO_ARCH_X86 enum constant is
        generated with value 0.
      
        All @arch values other than @s390 implied the @CpuInfoOther sub-struct
        for @CpuInfoFast -- at the time of writing the patch --, thus no fields
        other than @arch needed to be set when TARGET_S390X was not defined. Set
        @arch now, by copying the corresponding assignments from
        qmp_query_cpus().
      
      * Commit 25fa194b added the @riscv enum constant to @CpuInfoArch (used
        in both @CpuInfo and @CpuInfoFast -- the return types of the @query-cpus
        and @query-cpus-fast commands, respectively), and assigned, in both
        return structures, the @CpuInfoRISCV sub-structure to the new enum
        value.
      
        However, qmp_query_cpus_fast() would not populate either the @arch field
        or the @CpuInfoRISCV sub-structure, when TARGET_RISCV was defined; only
        qmp_query_cpus() would.
      
        Assign @CpuInfoOther to the @riscv enum constant in @CpuInfoFast, and
        populate only the @arch field in qmp_query_cpus_fast(). Getting CPU
        state without interrupting KVM is an exceptional thing that only S390X
        does currently. Quoting Cornelia Huck <cohuck@redhat.com>, "s390x is
        exceptional in that it has state in QEMU that is actually interesting
        for upper layers and can be retrieved without performance penalty". See
        also
        <https://www.redhat.com/archives/libvir-list/2018-February/msg00121.html>.
      
      Cc: Cornelia Huck <cohuck@redhat.com>
      Cc: Eric Blake <eblake@redhat.com>
      Cc: Markus Armbruster <armbru@redhat.com>
      Cc: Viktor VM Mihajlovski <mihajlov@linux.vnet.ibm.com>
      Cc: qemu-stable@nongnu.org
      Fixes: ca230ff3
      Fixes: 25fa194bSigned-off-by: NLaszlo Ersek <lersek@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Reviewed-by: NCornelia Huck <cohuck@redhat.com>
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      Message-Id: <20180427192852.15013-2-lersek@redhat.com>
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      96054f56
    • M
      qobject: Modify qobject_ref() to return obj · f5a74a5a
      Marc-André Lureau 提交于
      For convenience and clarity, make it possible to call qobject_ref() at
      the time when the reference is associated with a variable, or
      argument, by making qobject_ref() return the same pointer as given.
      Use that to simplify the callers.
      Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Message-Id: <20180419150145.24795-5-marcandre.lureau@redhat.com>
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      [Useless change to qobject_ref_impl() dropped, commit message improved
      slightly]
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      f5a74a5a
    • M
      qobject: Replace qobject_incref/QINCREF qobject_decref/QDECREF · cb3e7f08
      Marc-André Lureau 提交于
      Now that we can safely call QOBJECT() on QObject * as well as its
      subtypes, we can have macros qobject_ref() / qobject_unref() that work
      everywhere instead of having to use QINCREF() / QDECREF() for QObject
      and qobject_incref() / qobject_decref() for its subtypes.
      
      The replacement is mechanical, except I broke a long line, and added a
      cast in monitor_qmp_cleanup_req_queue_locked().  Unlike
      qobject_decref(), qobject_unref() doesn't accept void *.
      
      Note that the new macros evaluate their argument exactly once, thus no
      need to shout them.
      Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Message-Id: <20180419150145.24795-4-marcandre.lureau@redhat.com>
      Reviewed-by: NMarkus Armbruster <armbru@redhat.com>
      [Rebased, semantic conflict resolved, commit message improved]
      Signed-off-by: NMarkus Armbruster <armbru@redhat.com>
      cb3e7f08
  10. 27 4月, 2018 1 次提交
  11. 26 4月, 2018 2 次提交
  12. 26 3月, 2018 1 次提交
  13. 20 3月, 2018 8 次提交