Skip to content
Snippets Groups Projects
  1. Jun 01, 2018
  2. May 23, 2018
  3. May 20, 2018
  4. May 15, 2018
  5. May 14, 2018
  6. May 11, 2018
  7. May 04, 2018
    • Laszlo Ersek's avatar
      qapi: deprecate CpuInfoFast.arch · 6ffa3ab4
      Laszlo Ersek authored
      
      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: default avatarLaszlo Ersek <lersek@redhat.com>
      Message-Id: <20180427192852.15013-6-lersek@redhat.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Reviewed-by: default avatarMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
      6ffa3ab4
    • Laszlo Ersek's avatar
      qapi: discriminate CpuInfoFast on SysEmuTarget, not CpuInfoArch · daa9d2bc
      Laszlo Ersek authored
      
      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: default avatarLaszlo Ersek <lersek@redhat.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Message-Id: <20180427192852.15013-5-lersek@redhat.com>
      Reviewed-by: default avatarMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
      daa9d2bc
    • Laszlo Ersek's avatar
      qapi: change the type of TargetInfo.arch from string to enum SysEmuTarget · b47aa7b3
      Laszlo Ersek authored
      
      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: default avatarLaszlo Ersek <lersek@redhat.com>
      Reviewed-by: default avatarMarkus Armbruster <armbru@redhat.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Message-Id: <20180427192852.15013-4-lersek@redhat.com>
      Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
      b47aa7b3
    • Laszlo Ersek's avatar
      qapi: add SysEmuTarget to "common.json" · 9a801c7d
      Laszlo Ersek authored
      
      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: default avatarLaszlo Ersek <lersek@redhat.com>
      Message-Id: <20180427192852.15013-3-lersek@redhat.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Reviewed-by: default avatarMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
      9a801c7d
    • Laszlo Ersek's avatar
      qapi: fill in CpuInfoFast.arch in query-cpus-fast · 96054f56
      Laszlo Ersek authored
      * 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: 25fa194b
      Signed-off-by: default avatarLaszlo Ersek <lersek@redhat.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Reviewed-by: default avatarCornelia Huck <cohuck@redhat.com>
      Reviewed-by: default avatarMarkus Armbruster <armbru@redhat.com>
      Message-Id: <20180427192852.15013-2-lersek@redhat.com>
      Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
      96054f56
    • Marc-André Lureau's avatar
      qobject: Modify qobject_ref() to return obj · f5a74a5a
      Marc-André Lureau authored
      
      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: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Message-Id: <20180419150145.24795-5-marcandre.lureau@redhat.com>
      Reviewed-by: default avatarMarkus Armbruster <armbru@redhat.com>
      [Useless change to qobject_ref_impl() dropped, commit message improved
      slightly]
      Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
      f5a74a5a
    • Marc-André Lureau's avatar
      qobject: Replace qobject_incref/QINCREF qobject_decref/QDECREF · cb3e7f08
      Marc-André Lureau authored
      
      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: default avatarMarc-André Lureau <marcandre.lureau@redhat.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Message-Id: <20180419150145.24795-4-marcandre.lureau@redhat.com>
      Reviewed-by: default avatarMarkus Armbruster <armbru@redhat.com>
      [Rebased, semantic conflict resolved, commit message improved]
      Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
      cb3e7f08
  8. Apr 27, 2018
  9. Apr 25, 2018
  10. Mar 26, 2018
  11. Mar 20, 2018
  12. Mar 19, 2018
Loading