Skip to content
Snippets Groups Projects
  1. Mar 12, 2018
  2. Mar 06, 2018
  3. Mar 02, 2018
    • Markus Armbruster's avatar
      qapi: Empty out qapi-schema.json · 112ed241
      Markus Armbruster authored
      
      The previous commit improved compile time by including less of the
      generated QAPI headers.  This is impossible for stuff defined directly
      in qapi-schema.json, because that ends up in headers that that pull in
      everything.
      
      Move everything but include directives from qapi-schema.json to new
      sub-module qapi/misc.json, then include just the "misc" shard where
      possible.
      
      It's possible everywhere, except:
      
      * monitor.c needs qmp-command.h to get qmp_init_marshal()
      
      * monitor.c, ui/vnc.c and the generated qapi-event-FOO.c need
        qapi-event.h to get enum QAPIEvent
      
      Perhaps we'll get rid of those some other day.
      
      Adding a type to qapi/migration.json now recompiles some 120 instead
      of 2300 out of 5100 objects.
      
      Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
      Message-Id: <20180211093607.27351-25-armbru@redhat.com>
      [eblake: rebase to master]
      Signed-off-by: default avatarEric Blake <eblake@redhat.com>
      112ed241
  4. Feb 09, 2018
  5. Jan 19, 2018
  6. Nov 05, 2017
  7. Jun 13, 2017
  8. May 17, 2017
    • Eduardo Habkost's avatar
      qdev: Replace cannot_instantiate_with_device_add_yet with !user_creatable · e90f2a8c
      Eduardo Habkost authored
      
      cannot_instantiate_with_device_add_yet was introduced by commit
      efec3dd6 to replace no_user. It was
      supposed to be a temporary measure.
      
      When it was introduced, we had 54
      cannot_instantiate_with_device_add_yet=true lines in the code.
      Today (3 years later) this number has not shrunk: we now have
      57 cannot_instantiate_with_device_add_yet=true lines. I think it
      is safe to say it is not a temporary measure, and we won't see
      the flag go away soon.
      
      Instead of a long field name that misleads people to believe it
      is temporary, replace it a shorter and less misleading field:
      user_creatable.
      
      Except for code comments, changes were generated using the
      following Coccinelle patch:
      
        @@
        expression DC;
        @@
        (
        -DC->cannot_instantiate_with_device_add_yet = false;
        +DC->user_creatable = true;
        |
        -DC->cannot_instantiate_with_device_add_yet = true;
        +DC->user_creatable = false;
        )
      
        @@
        typedef ObjectClass;
        expression dc;
        identifier class, data;
        @@
         static void device_class_init(ObjectClass *class, void *data)
         {
         ...
         dc->hotpluggable = true;
        +dc->user_creatable = true;
         ...
         }
      
        @@
        @@
         struct DeviceClass {
         ...
        -bool cannot_instantiate_with_device_add_yet;
        +bool user_creatable;
         ...
        }
      
        @@
        expression DC;
        @@
        (
        -!DC->cannot_instantiate_with_device_add_yet
        +DC->user_creatable
        |
        -DC->cannot_instantiate_with_device_add_yet
        +!DC->user_creatable
        )
      
      Cc: Alistair Francis <alistair.francis@xilinx.com>
      Cc: Laszlo Ersek <lersek@redhat.com>
      Cc: Marcel Apfelbaum <marcel@redhat.com>
      Cc: Markus Armbruster <armbru@redhat.com>
      Cc: Peter Maydell <peter.maydell@linaro.org>
      Cc: Thomas Huth <thuth@redhat.com>
      Acked-by: default avatarAlistair Francis <alistair.francis@xilinx.com>
      Reviewed-by: default avatarThomas Huth <thuth@redhat.com>
      Reviewed-by: default avatarMarcel Apfelbaum <marcel@redhat.com>
      Acked-by: default avatarMarcel Apfelbaum <marcel@redhat.com>
      Signed-off-by: default avatarEduardo Habkost <ehabkost@redhat.com>
      Message-Id: <20170503203604.31462-2-ehabkost@redhat.com>
      [ehabkost: kept "TODO remove once we're there" comment]
      Reviewed-by: default avatarMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: default avatarEduardo Habkost <ehabkost@redhat.com>
      e90f2a8c
  9. Apr 21, 2017
  10. Feb 28, 2017
  11. Jan 27, 2017
  12. Jan 24, 2017
  13. Nov 22, 2016
  14. Sep 23, 2016
  15. Mar 22, 2016
  16. Mar 16, 2016
  17. Feb 04, 2016
    • Peter Maydell's avatar
      all: Clean up includes · d38ea87a
      Peter Maydell authored
      
      Clean up includes so that osdep.h is included first and headers
      which it implies are not included manually.
      
      This commit was created with scripts/clean-includes.
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Message-id: 1454089805-5470-16-git-send-email-peter.maydell@linaro.org
      d38ea87a
  18. Jan 13, 2016
    • Markus Armbruster's avatar
      error: Use error_report_err() instead of ad hoc prints · 78288671
      Markus Armbruster authored
      
      Unlike ad hoc prints, error_report_err() uses the error whole instead
      of just its message obtained with error_get_pretty().  This avoids
      suppressing its hint (see commit 50b7b000).  Example:
      
          $ bld/ivshmem-server -l 42@
          Parameter 'shm_size' expects a size
          You may use k, M, G or T suffixes for kilobytes, megabytes, gigabytes and terabytes.
      
      The last line is new with this patch.
      
      While there, drop a "cannot parse shm size: " message prefix; it's
      redundant, because the error message proper is always of the form
      "Parameter 'shm_size' expects ...".
      
      Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Message-Id: <1450452927-8346-5-git-send-email-armbru@redhat.com>
      78288671
    • Markus Armbruster's avatar
      error: Don't append a newline when printing the error hint · 543202c0
      Markus Armbruster authored
      
      Since commit 50b7b000, we have error_append_hint() to conveniently
      accumulate Error member @hint.  error_report_err() prints it with a
      newline appended.  Consequently, users of error_append_hint() need to
      know whether theirs is the final line of the hint to decide whether it
      needs a newline.  Not a nice interface.
      
      Change error_report_err() to print just the hint, and the (still few)
      users of error_append_hint() to add the required newline.
      
      Cc: Eric Blake <eblake@redhat.com>
      Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Message-Id: <1450370121-5768-7-git-send-email-armbru@redhat.com>
      543202c0
  19. Oct 12, 2015
  20. Oct 09, 2015
    • Markus Armbruster's avatar
      Revert "qdev: Use qdev_get_device_class() for -device <type>,help" · 33fe9683
      Markus Armbruster authored
      
      This reverts commit 31bed550.
      
      The reverted commit changed qdev_device_help() to reject abstract
      devices and devices that have cannot_instantiate_with_device_add_yet
      set, to fix crash bugs like -device x86_64-cpu,help.
      
      Rejecting abstract devices makes sense: they're purely internal, and
      the implementation of the help feature can't cope with them.
      
      Rejecting non-pluggable devices makes less sense: even though you
      can't use them with -device, the help may still be useful elsewhere,
      for instance with -global.  This is a regression: -device FOO,help
      used to help even for FOO that aren't pluggable.
      
      The previous two commits fixed the crash bug at a lower layer, so
      reverting this one is now safe.  Fixes the -device FOO,help
      regression, except for the broken devices marked
      cannot_even_create_with_object_new_yet.  For those, the error message
      is improved.
      
      Example of a device where the regression is fixed:
      
          $ qemu-system-x86_64 -device PIIX4_PM,help
          PIIX4_PM.command_serr_enable=bool (on/off)
          PIIX4_PM.multifunction=bool (on/off)
          PIIX4_PM.rombar=uint32
          PIIX4_PM.romfile=str
          PIIX4_PM.addr=int32 (Slot and optional function number, example: 06.0 or 06)
          PIIX4_PM.memory-hotplug-support=bool
          PIIX4_PM.acpi-pci-hotplug-with-bridge-support=bool
          PIIX4_PM.s4_val=uint8
          PIIX4_PM.disable_s4=uint8
          PIIX4_PM.disable_s3=uint8
          PIIX4_PM.smb_io_base=uint32
      
      Example of a device where it isn't fixed:
      
          $ qemu-system-x86_64 -device host-x86_64-cpu,help
          Can't list properties of device 'host-x86_64-cpu'
      
      Both failed with "Parameter 'driver' expects pluggable device type"
      before.
      
      Cc: qemu-stable@nongnu.org
      Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Reviewed-by: default avatarEduardo Habkost <ehabkost@redhat.com>
      Message-Id: <1443689999-12182-11-git-send-email-armbru@redhat.com>
      33fe9683
  21. Sep 22, 2015
    • Daniel P. Berrangé's avatar
      monitor: allow device_del to accept QOM paths · 6287d827
      Daniel P. Berrangé authored
      
      Currently device_del requires that the client provide the
      device short ID. device_add allows devices to be created
      without giving an ID, at which point there is no way to
      delete them with device_del. The QOM object path, however,
      provides an alternative way to identify the devices.
      
      Allowing device_del to accept an object path ensures all
      devices are deletable regardless of whether they have an
      ID.
      
       (qemu) device_add usb-mouse
       (qemu) qom-list /machine/peripheral-anon
       device[0] (child<usb-mouse>)
       type (string)
       (qemu) device_del /machine/peripheral-anon/device[0]
      
      Devices are required to be marked as hotpluggable
      otherwise an error is raised
      
       (qemu) device_del /machine/unattached/device[4]
       Device 'PIIX3' does not support hotplugging
      
      Signed-off-by: default avatarDaniel P. Berrange <berrange@redhat.com>
      Message-Id: <1441974836-17476-1-git-send-email-berrange@redhat.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      [Commit message touched up, accidental white-space change dropped]
      Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
      6287d827
  22. Sep 18, 2015
    • Eric Blake's avatar
      hmp: Allow for error message hints on HMP · 50b7b000
      Eric Blake authored
      
      Commits 7216ae3d and d2828429 disabled some error message hints,
      all because a change to use modern error reporting meant that the
      hint would be output prior to the actual error.  Fix this by making
      hints a first-class member of Error.
      
      For example, we are now back to the pleasant:
      
       $ qemu-system-x86_64 --nodefaults -S --vnc :0 --chardev null,id=,
       qemu-system-x86_64: --chardev null,id=,: Parameter 'id' expects an identifier
       Identifiers consist of letters, digits, '-', '.', '_', starting with a letter.
      
      Signed-off-by: default avatarEric Blake <eblake@redhat.com>
      Reviewed-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      Message-Id: <1441901956-21991-1-git-send-email-eblake@redhat.com>
      Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
      50b7b000
  23. Jun 22, 2015
Loading