qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/5] qapi: Restrict machine (and migration) specific commands
@ 2020-10-12 12:15 Philippe Mathieu-Daudé
  2020-10-12 12:15 ` [PATCH v2 1/5] qapi: Restrict 'inject-nmi' command to machine code Philippe Mathieu-Daudé
                   ` (6 more replies)
  0 siblings, 7 replies; 13+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-10-12 12:15 UTC (permalink / raw)
  To: qemu-devel, Marcel Apfelbaum, Eduardo Habkost
  Cc: Philippe Mathieu-Daudé, Markus Armbruster

Reduce the machine code pulled into qemu-storage-daemon.

The series is fully Acked, but Markus wants it reviewed
by the Machine core maintainers.

Since v1:
- Added A-b tags
- Rebased

Philippe Mathieu-Daudé (5):
  qapi: Restrict 'inject-nmi' command to machine code
  qapi: Restrict 'system wakeup/reset/powerdown' commands to
    machine.json
  qapi: Restrict '(p)memsave' command to machine code
  qapi: Restrict 'query-kvm' command to machine code
  qapi: Restrict Xen migration commands to migration.json

 qapi/machine.json      | 168 +++++++++++++++++++++++++++++++++
 qapi/migration.json    |  41 ++++++++
 qapi/misc.json         | 209 -----------------------------------------
 accel/stubs/xen-stub.c |   2 +-
 hw/i386/xen/xen-hvm.c  |   2 +-
 migration/savevm.c     |   1 -
 softmmu/cpus.c         |   1 +
 ui/gtk.c               |   1 +
 ui/cocoa.m             |   1 +
 9 files changed, 214 insertions(+), 212 deletions(-)

-- 
2.26.2




^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH v2 1/5] qapi: Restrict 'inject-nmi' command to machine code
  2020-10-12 12:15 [PATCH v2 0/5] qapi: Restrict machine (and migration) specific commands Philippe Mathieu-Daudé
@ 2020-10-12 12:15 ` Philippe Mathieu-Daudé
  2020-10-12 12:15 ` [PATCH v2 2/5] qapi: Restrict 'system wakeup/reset/powerdown' commands to machine.json Philippe Mathieu-Daudé
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 13+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-10-12 12:15 UTC (permalink / raw)
  To: qemu-devel, Marcel Apfelbaum, Eduardo Habkost
  Cc: Paolo Bonzini, Philippe Mathieu-Daudé, Markus Armbruster

Restricting 'inject-nmi' to machine.json pulls slightly
less QAPI-generated code into user-mode and tools.

Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 qapi/machine.json | 20 ++++++++++++++++++++
 qapi/misc.json    | 20 --------------------
 softmmu/cpus.c    |  1 +
 3 files changed, 21 insertions(+), 20 deletions(-)

diff --git a/qapi/machine.json b/qapi/machine.json
index 756dacb06fd..073b1c98b26 100644
--- a/qapi/machine.json
+++ b/qapi/machine.json
@@ -484,6 +484,26 @@
 { 'enum': 'LostTickPolicy',
   'data': ['discard', 'delay', 'slew' ] }
 
+##
+# @inject-nmi:
+#
+# Injects a Non-Maskable Interrupt into the default CPU (x86/s390) or all CPUs (ppc64).
+# The command fails when the guest doesn't support injecting.
+#
+# Returns:  If successful, nothing
+#
+# Since:  0.14.0
+#
+# Note: prior to 2.1, this command was only supported for x86 and s390 VMs
+#
+# Example:
+#
+# -> { "execute": "inject-nmi" }
+# <- { "return": {} }
+#
+##
+{ 'command': 'inject-nmi' }
+
 ##
 # @NumaOptionsType:
 #
diff --git a/qapi/misc.json b/qapi/misc.json
index 7d1e2e9aaef..3fe9cc21b4b 100644
--- a/qapi/misc.json
+++ b/qapi/misc.json
@@ -341,26 +341,6 @@
 ##
 { 'command': 'system_wakeup' }
 
-##
-# @inject-nmi:
-#
-# Injects a Non-Maskable Interrupt into the default CPU (x86/s390) or all CPUs (ppc64).
-# The command fails when the guest doesn't support injecting.
-#
-# Returns:  If successful, nothing
-#
-# Since:  0.14.0
-#
-# Note: prior to 2.1, this command was only supported for x86 and s390 VMs
-#
-# Example:
-#
-# -> { "execute": "inject-nmi" }
-# <- { "return": {} }
-#
-##
-{ 'command': 'inject-nmi' }
-
 ##
 # @human-monitor-command:
 #
diff --git a/softmmu/cpus.c b/softmmu/cpus.c
index 47cceddd805..e46ac68ad09 100644
--- a/softmmu/cpus.c
+++ b/softmmu/cpus.c
@@ -26,6 +26,7 @@
 #include "qemu-common.h"
 #include "monitor/monitor.h"
 #include "qapi/error.h"
+#include "qapi/qapi-commands-machine.h"
 #include "qapi/qapi-commands-misc.h"
 #include "qapi/qapi-events-run-state.h"
 #include "qapi/qmp/qerror.h"
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v2 2/5] qapi: Restrict 'system wakeup/reset/powerdown' commands to machine.json
  2020-10-12 12:15 [PATCH v2 0/5] qapi: Restrict machine (and migration) specific commands Philippe Mathieu-Daudé
  2020-10-12 12:15 ` [PATCH v2 1/5] qapi: Restrict 'inject-nmi' command to machine code Philippe Mathieu-Daudé
@ 2020-10-12 12:15 ` Philippe Mathieu-Daudé
  2020-10-12 12:15 ` [PATCH v2 3/5] qapi: Restrict '(p)memsave' command to machine code Philippe Mathieu-Daudé
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 13+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-10-12 12:15 UTC (permalink / raw)
  To: qemu-devel, Marcel Apfelbaum, Eduardo Habkost
  Cc: Paolo Bonzini, Philippe Mathieu-Daudé, Markus Armbruster

Restricting system_wakeup/system_reset/system_powerdown to
machine.json pulls slightly less QAPI-generated code into
user-mode and tools.

Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 qapi/machine.json | 57 +++++++++++++++++++++++++++++++++++++++++++++++
 qapi/misc.json    | 57 -----------------------------------------------
 ui/gtk.c          |  1 +
 ui/cocoa.m        |  1 +
 4 files changed, 59 insertions(+), 57 deletions(-)

diff --git a/qapi/machine.json b/qapi/machine.json
index 073b1c98b26..55328d4f3ca 100644
--- a/qapi/machine.json
+++ b/qapi/machine.json
@@ -452,6 +452,63 @@
 ##
 { 'command': 'query-vm-generation-id', 'returns': 'GuidInfo' }
 
+##
+# @system_reset:
+#
+# Performs a hard reset of a guest.
+#
+# Since: 0.14.0
+#
+# Example:
+#
+# -> { "execute": "system_reset" }
+# <- { "return": {} }
+#
+##
+{ 'command': 'system_reset' }
+
+##
+# @system_powerdown:
+#
+# Requests that a guest perform a powerdown operation.
+#
+# Since: 0.14.0
+#
+# Notes: A guest may or may not respond to this command.  This command
+#        returning does not indicate that a guest has accepted the request or
+#        that it has shut down.  Many guests will respond to this command by
+#        prompting the user in some way.
+# Example:
+#
+# -> { "execute": "system_powerdown" }
+# <- { "return": {} }
+#
+##
+{ 'command': 'system_powerdown' }
+
+##
+# @system_wakeup:
+#
+# Wake up guest from suspend. If the guest has wake-up from suspend
+# support enabled (wakeup-suspend-support flag from
+# query-current-machine), wake-up guest from suspend if the guest is
+# in SUSPENDED state. Return an error otherwise.
+#
+# Since:  1.1
+#
+# Returns:  nothing.
+#
+# Note: prior to 4.0, this command does nothing in case the guest
+#       isn't suspended.
+#
+# Example:
+#
+# -> { "execute": "system_wakeup" }
+# <- { "return": {} }
+#
+##
+{ 'command': 'system_wakeup' }
+
 ##
 # @LostTickPolicy:
 #
diff --git a/qapi/misc.json b/qapi/misc.json
index 3fe9cc21b4b..90fd862a6cb 100644
--- a/qapi/misc.json
+++ b/qapi/misc.json
@@ -177,40 +177,6 @@
 ##
 { 'command': 'stop' }
 
-##
-# @system_reset:
-#
-# Performs a hard reset of a guest.
-#
-# Since: 0.14.0
-#
-# Example:
-#
-# -> { "execute": "system_reset" }
-# <- { "return": {} }
-#
-##
-{ 'command': 'system_reset' }
-
-##
-# @system_powerdown:
-#
-# Requests that a guest perform a powerdown operation.
-#
-# Since: 0.14.0
-#
-# Notes: A guest may or may not respond to this command.  This command
-#        returning does not indicate that a guest has accepted the request or
-#        that it has shut down.  Many guests will respond to this command by
-#        prompting the user in some way.
-# Example:
-#
-# -> { "execute": "system_powerdown" }
-# <- { "return": {} }
-#
-##
-{ 'command': 'system_powerdown' }
-
 ##
 # @memsave:
 #
@@ -318,29 +284,6 @@
 ##
 { 'command': 'x-exit-preconfig', 'allow-preconfig': true }
 
-##
-# @system_wakeup:
-#
-# Wake up guest from suspend. If the guest has wake-up from suspend
-# support enabled (wakeup-suspend-support flag from
-# query-current-machine), wake-up guest from suspend if the guest is
-# in SUSPENDED state. Return an error otherwise.
-#
-# Since:  1.1
-#
-# Returns:  nothing.
-#
-# Note: prior to 4.0, this command does nothing in case the guest
-#       isn't suspended.
-#
-# Example:
-#
-# -> { "execute": "system_wakeup" }
-# <- { "return": {} }
-#
-##
-{ 'command': 'system_wakeup' }
-
 ##
 # @human-monitor-command:
 #
diff --git a/ui/gtk.c b/ui/gtk.c
index b11594d817a..a752aa22be0 100644
--- a/ui/gtk.c
+++ b/ui/gtk.c
@@ -33,6 +33,7 @@
 #include "qemu/osdep.h"
 #include "qapi/error.h"
 #include "qapi/qapi-commands-control.h"
+#include "qapi/qapi-commands-machine.h"
 #include "qapi/qapi-commands-misc.h"
 #include "qemu/cutils.h"
 
diff --git a/ui/cocoa.m b/ui/cocoa.m
index 0910b4a7166..f32adc3074f 100644
--- a/ui/cocoa.m
+++ b/ui/cocoa.m
@@ -35,6 +35,7 @@
 #include "sysemu/cpu-throttle.h"
 #include "qapi/error.h"
 #include "qapi/qapi-commands-block.h"
+#include "qapi/qapi-commands-machine.h"
 #include "qapi/qapi-commands-misc.h"
 #include "sysemu/blockdev.h"
 #include "qemu-version.h"
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v2 3/5] qapi: Restrict '(p)memsave' command to machine code
  2020-10-12 12:15 [PATCH v2 0/5] qapi: Restrict machine (and migration) specific commands Philippe Mathieu-Daudé
  2020-10-12 12:15 ` [PATCH v2 1/5] qapi: Restrict 'inject-nmi' command to machine code Philippe Mathieu-Daudé
  2020-10-12 12:15 ` [PATCH v2 2/5] qapi: Restrict 'system wakeup/reset/powerdown' commands to machine.json Philippe Mathieu-Daudé
@ 2020-10-12 12:15 ` Philippe Mathieu-Daudé
  2020-10-12 12:15 ` [PATCH v2 4/5] qapi: Restrict 'query-kvm' " Philippe Mathieu-Daudé
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 13+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-10-12 12:15 UTC (permalink / raw)
  To: qemu-devel, Marcel Apfelbaum, Eduardo Habkost
  Cc: Paolo Bonzini, Philippe Mathieu-Daudé, Markus Armbruster

Restricting memsave/pmemsave to machine.json pulls slightly
less QAPI-generated code into user-mode and tools.

Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 qapi/machine.json | 61 +++++++++++++++++++++++++++++++++++++++++++++++
 qapi/misc.json    | 61 -----------------------------------------------
 2 files changed, 61 insertions(+), 61 deletions(-)

diff --git a/qapi/machine.json b/qapi/machine.json
index 55328d4f3ca..5a3bbcae01b 100644
--- a/qapi/machine.json
+++ b/qapi/machine.json
@@ -887,6 +887,67 @@
 { 'enum': 'HostMemPolicy',
   'data': [ 'default', 'preferred', 'bind', 'interleave' ] }
 
+##
+# @memsave:
+#
+# Save a portion of guest memory to a file.
+#
+# @val: the virtual address of the guest to start from
+#
+# @size: the size of memory region to save
+#
+# @filename: the file to save the memory to as binary data
+#
+# @cpu-index: the index of the virtual CPU to use for translating the
+#             virtual address (defaults to CPU 0)
+#
+# Returns: Nothing on success
+#
+# Since: 0.14.0
+#
+# Notes: Errors were not reliably returned until 1.1
+#
+# Example:
+#
+# -> { "execute": "memsave",
+#      "arguments": { "val": 10,
+#                     "size": 100,
+#                     "filename": "/tmp/virtual-mem-dump" } }
+# <- { "return": {} }
+#
+##
+{ 'command': 'memsave',
+  'data': {'val': 'int', 'size': 'int', 'filename': 'str', '*cpu-index': 'int'} }
+
+##
+# @pmemsave:
+#
+# Save a portion of guest physical memory to a file.
+#
+# @val: the physical address of the guest to start from
+#
+# @size: the size of memory region to save
+#
+# @filename: the file to save the memory to as binary data
+#
+# Returns: Nothing on success
+#
+# Since: 0.14.0
+#
+# Notes: Errors were not reliably returned until 1.1
+#
+# Example:
+#
+# -> { "execute": "pmemsave",
+#      "arguments": { "val": 10,
+#                     "size": 100,
+#                     "filename": "/tmp/physical-mem-dump" } }
+# <- { "return": {} }
+#
+##
+{ 'command': 'pmemsave',
+  'data': {'val': 'int', 'size': 'int', 'filename': 'str'} }
+
 ##
 # @Memdev:
 #
diff --git a/qapi/misc.json b/qapi/misc.json
index 90fd862a6cb..9fa702b0f66 100644
--- a/qapi/misc.json
+++ b/qapi/misc.json
@@ -177,67 +177,6 @@
 ##
 { 'command': 'stop' }
 
-##
-# @memsave:
-#
-# Save a portion of guest memory to a file.
-#
-# @val: the virtual address of the guest to start from
-#
-# @size: the size of memory region to save
-#
-# @filename: the file to save the memory to as binary data
-#
-# @cpu-index: the index of the virtual CPU to use for translating the
-#             virtual address (defaults to CPU 0)
-#
-# Returns: Nothing on success
-#
-# Since: 0.14.0
-#
-# Notes: Errors were not reliably returned until 1.1
-#
-# Example:
-#
-# -> { "execute": "memsave",
-#      "arguments": { "val": 10,
-#                     "size": 100,
-#                     "filename": "/tmp/virtual-mem-dump" } }
-# <- { "return": {} }
-#
-##
-{ 'command': 'memsave',
-  'data': {'val': 'int', 'size': 'int', 'filename': 'str', '*cpu-index': 'int'} }
-
-##
-# @pmemsave:
-#
-# Save a portion of guest physical memory to a file.
-#
-# @val: the physical address of the guest to start from
-#
-# @size: the size of memory region to save
-#
-# @filename: the file to save the memory to as binary data
-#
-# Returns: Nothing on success
-#
-# Since: 0.14.0
-#
-# Notes: Errors were not reliably returned until 1.1
-#
-# Example:
-#
-# -> { "execute": "pmemsave",
-#      "arguments": { "val": 10,
-#                     "size": 100,
-#                     "filename": "/tmp/physical-mem-dump" } }
-# <- { "return": {} }
-#
-##
-{ 'command': 'pmemsave',
-  'data': {'val': 'int', 'size': 'int', 'filename': 'str'} }
-
 ##
 # @cont:
 #
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v2 4/5] qapi: Restrict 'query-kvm' command to machine code
  2020-10-12 12:15 [PATCH v2 0/5] qapi: Restrict machine (and migration) specific commands Philippe Mathieu-Daudé
                   ` (2 preceding siblings ...)
  2020-10-12 12:15 ` [PATCH v2 3/5] qapi: Restrict '(p)memsave' command to machine code Philippe Mathieu-Daudé
@ 2020-10-12 12:15 ` Philippe Mathieu-Daudé
  2020-10-12 12:15 ` [PATCH v2 5/5] qapi: Restrict Xen migration commands to migration.json Philippe Mathieu-Daudé
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 13+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-10-12 12:15 UTC (permalink / raw)
  To: qemu-devel, Marcel Apfelbaum, Eduardo Habkost
  Cc: Paolo Bonzini, Philippe Mathieu-Daudé, Markus Armbruster

Restricting query-kvm to machine.json pulls slightly
less QAPI-generated code into user-mode and tools.

Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 qapi/machine.json | 30 ++++++++++++++++++++++++++++++
 qapi/misc.json    | 30 ------------------------------
 2 files changed, 30 insertions(+), 30 deletions(-)

diff --git a/qapi/machine.json b/qapi/machine.json
index 5a3bbcae01b..7c9a263778d 100644
--- a/qapi/machine.json
+++ b/qapi/machine.json
@@ -561,6 +561,36 @@
 ##
 { 'command': 'inject-nmi' }
 
+##
+# @KvmInfo:
+#
+# Information about support for KVM acceleration
+#
+# @enabled: true if KVM acceleration is active
+#
+# @present: true if KVM acceleration is built into this executable
+#
+# Since: 0.14.0
+##
+{ 'struct': 'KvmInfo', 'data': {'enabled': 'bool', 'present': 'bool'} }
+
+##
+# @query-kvm:
+#
+# Returns information about KVM acceleration
+#
+# Returns: @KvmInfo
+#
+# Since: 0.14.0
+#
+# Example:
+#
+# -> { "execute": "query-kvm" }
+# <- { "return": { "enabled": true, "present": true } }
+#
+##
+{ 'command': 'query-kvm', 'returns': 'KvmInfo' }
+
 ##
 # @NumaOptionsType:
 #
diff --git a/qapi/misc.json b/qapi/misc.json
index 9fa702b0f66..363115c1edb 100644
--- a/qapi/misc.json
+++ b/qapi/misc.json
@@ -68,36 +68,6 @@
 ##
 { 'command': 'query-name', 'returns': 'NameInfo', 'allow-preconfig': true }
 
-##
-# @KvmInfo:
-#
-# Information about support for KVM acceleration
-#
-# @enabled: true if KVM acceleration is active
-#
-# @present: true if KVM acceleration is built into this executable
-#
-# Since: 0.14.0
-##
-{ 'struct': 'KvmInfo', 'data': {'enabled': 'bool', 'present': 'bool'} }
-
-##
-# @query-kvm:
-#
-# Returns information about KVM acceleration
-#
-# Returns: @KvmInfo
-#
-# Since: 0.14.0
-#
-# Example:
-#
-# -> { "execute": "query-kvm" }
-# <- { "return": { "enabled": true, "present": true } }
-#
-##
-{ 'command': 'query-kvm', 'returns': 'KvmInfo' }
-
 ##
 # @IOThreadInfo:
 #
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH v2 5/5] qapi: Restrict Xen migration commands to migration.json
  2020-10-12 12:15 [PATCH v2 0/5] qapi: Restrict machine (and migration) specific commands Philippe Mathieu-Daudé
                   ` (3 preceding siblings ...)
  2020-10-12 12:15 ` [PATCH v2 4/5] qapi: Restrict 'query-kvm' " Philippe Mathieu-Daudé
@ 2020-10-12 12:15 ` Philippe Mathieu-Daudé
  2020-10-15 18:28 ` [PATCH v2 0/5] qapi: Restrict machine (and migration) specific commands Eduardo Habkost
  2020-10-20  9:32 ` Markus Armbruster
  6 siblings, 0 replies; 13+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-10-12 12:15 UTC (permalink / raw)
  To: qemu-devel, Marcel Apfelbaum, Eduardo Habkost
  Cc: Philippe Mathieu-Daudé, Markus Armbruster, Dr . David Alan Gilbert

Restricting xen-set-global-dirty-log and xen-load-devices-state
commands migration.json pulls slightly less QAPI-generated code
into user-mode and tools.

Acked-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
---
 qapi/migration.json    | 41 +++++++++++++++++++++++++++++++++++++++++
 qapi/misc.json         | 41 -----------------------------------------
 accel/stubs/xen-stub.c |  2 +-
 hw/i386/xen/xen-hvm.c  |  2 +-
 migration/savevm.c     |  1 -
 5 files changed, 43 insertions(+), 44 deletions(-)

diff --git a/qapi/migration.json b/qapi/migration.json
index 7f5e6fd681a..cb30f4c729b 100644
--- a/qapi/migration.json
+++ b/qapi/migration.json
@@ -1551,6 +1551,47 @@
 { 'command': 'xen-save-devices-state',
   'data': {'filename': 'str', '*live':'bool' } }
 
+##
+# @xen-set-global-dirty-log:
+#
+# Enable or disable the global dirty log mode.
+#
+# @enable: true to enable, false to disable.
+#
+# Returns: nothing
+#
+# Since: 1.3
+#
+# Example:
+#
+# -> { "execute": "xen-set-global-dirty-log",
+#      "arguments": { "enable": true } }
+# <- { "return": {} }
+#
+##
+{ 'command': 'xen-set-global-dirty-log', 'data': { 'enable': 'bool' } }
+
+##
+# @xen-load-devices-state:
+#
+# Load the state of all devices from file. The RAM and the block devices
+# of the VM are not loaded by this command.
+#
+# @filename: the file to load the state of the devices from as binary
+#            data. See xen-save-devices-state.txt for a description of the binary
+#            format.
+#
+# Since: 2.7
+#
+# Example:
+#
+# -> { "execute": "xen-load-devices-state",
+#      "arguments": { "filename": "/tmp/resume" } }
+# <- { "return": {} }
+#
+##
+{ 'command': 'xen-load-devices-state', 'data': {'filename': 'str'} }
+
 ##
 # @xen-set-replication:
 #
diff --git a/qapi/misc.json b/qapi/misc.json
index 363115c1edb..40df513856e 100644
--- a/qapi/misc.json
+++ b/qapi/misc.json
@@ -287,26 +287,6 @@
   'data': {'device': 'str', 'target': 'str', '*arg': 'str'},
   'features': [ 'deprecated' ] }
 
-##
-# @xen-set-global-dirty-log:
-#
-# Enable or disable the global dirty log mode.
-#
-# @enable: true to enable, false to disable.
-#
-# Returns: nothing
-#
-# Since: 1.3
-#
-# Example:
-#
-# -> { "execute": "xen-set-global-dirty-log",
-#      "arguments": { "enable": true } }
-# <- { "return": {} }
-#
-##
-{ 'command': 'xen-set-global-dirty-log', 'data': { 'enable': 'bool' } }
-
 ##
 # @getfd:
 #
@@ -588,24 +568,3 @@
  'data': { '*option': 'str' },
  'returns': ['CommandLineOptionInfo'],
  'allow-preconfig': true }
-
-##
-# @xen-load-devices-state:
-#
-# Load the state of all devices from file. The RAM and the block devices
-# of the VM are not loaded by this command.
-#
-# @filename: the file to load the state of the devices from as binary
-#            data. See xen-save-devices-state.txt for a description of the binary
-#            format.
-#
-# Since: 2.7
-#
-# Example:
-#
-# -> { "execute": "xen-load-devices-state",
-#      "arguments": { "filename": "/tmp/resume" } }
-# <- { "return": {} }
-#
-##
-{ 'command': 'xen-load-devices-state', 'data': {'filename': 'str'} }
diff --git a/accel/stubs/xen-stub.c b/accel/stubs/xen-stub.c
index 7ba0b697f49..7054965c480 100644
--- a/accel/stubs/xen-stub.c
+++ b/accel/stubs/xen-stub.c
@@ -7,7 +7,7 @@
 
 #include "qemu/osdep.h"
 #include "sysemu/xen.h"
-#include "qapi/qapi-commands-misc.h"
+#include "qapi/qapi-commands-migration.h"
 
 bool xen_allowed;
 
diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c
index f3ababf33b6..9519c33c098 100644
--- a/hw/i386/xen/xen-hvm.c
+++ b/hw/i386/xen/xen-hvm.c
@@ -24,7 +24,7 @@
 #include "hw/xen/xen-bus.h"
 #include "hw/xen/xen-x86.h"
 #include "qapi/error.h"
-#include "qapi/qapi-commands-misc.h"
+#include "qapi/qapi-commands-migration.h"
 #include "qemu/error-report.h"
 #include "qemu/main-loop.h"
 #include "qemu/range.h"
diff --git a/migration/savevm.c b/migration/savevm.c
index d2e141f7b1d..ff33e210eb0 100644
--- a/migration/savevm.c
+++ b/migration/savevm.c
@@ -42,7 +42,6 @@
 #include "postcopy-ram.h"
 #include "qapi/error.h"
 #include "qapi/qapi-commands-migration.h"
-#include "qapi/qapi-commands-misc.h"
 #include "qapi/qmp/qerror.h"
 #include "qemu/error-report.h"
 #include "sysemu/cpus.h"
-- 
2.26.2



^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [PATCH v2 0/5] qapi: Restrict machine (and migration) specific commands
  2020-10-12 12:15 [PATCH v2 0/5] qapi: Restrict machine (and migration) specific commands Philippe Mathieu-Daudé
                   ` (4 preceding siblings ...)
  2020-10-12 12:15 ` [PATCH v2 5/5] qapi: Restrict Xen migration commands to migration.json Philippe Mathieu-Daudé
@ 2020-10-15 18:28 ` Eduardo Habkost
  2020-10-19  7:55   ` Markus Armbruster
  2020-10-20  9:32 ` Markus Armbruster
  6 siblings, 1 reply; 13+ messages in thread
From: Eduardo Habkost @ 2020-10-15 18:28 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé; +Cc: qemu-devel, Markus Armbruster

On Mon, Oct 12, 2020 at 02:15:31PM +0200, Philippe Mathieu-Daudé wrote:
> Reduce the machine code pulled into qemu-storage-daemon.
> 
> The series is fully Acked, but Markus wants it reviewed
> by the Machine core maintainers.

I've confirmed that all patches move QAPI schema code without
introducing any additional changes.

Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>

> 
> Since v1:
> - Added A-b tags
> - Rebased
> 
> Philippe Mathieu-Daudé (5):
>   qapi: Restrict 'inject-nmi' command to machine code
>   qapi: Restrict 'system wakeup/reset/powerdown' commands to
>     machine.json
>   qapi: Restrict '(p)memsave' command to machine code
>   qapi: Restrict 'query-kvm' command to machine code
>   qapi: Restrict Xen migration commands to migration.json
> 
>  qapi/machine.json      | 168 +++++++++++++++++++++++++++++++++
>  qapi/migration.json    |  41 ++++++++
>  qapi/misc.json         | 209 -----------------------------------------
>  accel/stubs/xen-stub.c |   2 +-
>  hw/i386/xen/xen-hvm.c  |   2 +-
>  migration/savevm.c     |   1 -
>  softmmu/cpus.c         |   1 +
>  ui/gtk.c               |   1 +
>  ui/cocoa.m             |   1 +
>  9 files changed, 214 insertions(+), 212 deletions(-)
> 
> -- 
> 2.26.2
> 
> 

-- 
Eduardo



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v2 0/5] qapi: Restrict machine (and migration) specific commands
  2020-10-15 18:28 ` [PATCH v2 0/5] qapi: Restrict machine (and migration) specific commands Eduardo Habkost
@ 2020-10-19  7:55   ` Markus Armbruster
  2020-10-19 12:30     ` Eduardo Habkost
  0 siblings, 1 reply; 13+ messages in thread
From: Markus Armbruster @ 2020-10-19  7:55 UTC (permalink / raw)
  To: Eduardo Habkost; +Cc: Philippe Mathieu-Daudé, qemu-devel

Eduardo Habkost <ehabkost@redhat.com> writes:

> On Mon, Oct 12, 2020 at 02:15:31PM +0200, Philippe Mathieu-Daudé wrote:
>> Reduce the machine code pulled into qemu-storage-daemon.
>> 
>> The series is fully Acked, but Markus wants it reviewed
>> by the Machine core maintainers.
>
> I've confirmed that all patches move QAPI schema code without
> introducing any additional changes.
>
> Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>

I take this as "I agree the things moved to machine.json belong there".
Holler if I'm mistaken.



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v2 0/5] qapi: Restrict machine (and migration) specific commands
  2020-10-19  7:55   ` Markus Armbruster
@ 2020-10-19 12:30     ` Eduardo Habkost
  2020-10-19 16:48       ` Markus Armbruster
  0 siblings, 1 reply; 13+ messages in thread
From: Eduardo Habkost @ 2020-10-19 12:30 UTC (permalink / raw)
  To: Markus Armbruster; +Cc: Philippe Mathieu-Daudé, qemu-devel

On Mon, Oct 19, 2020 at 09:55:20AM +0200, Markus Armbruster wrote:
> Eduardo Habkost <ehabkost@redhat.com> writes:
> 
> > On Mon, Oct 12, 2020 at 02:15:31PM +0200, Philippe Mathieu-Daudé wrote:
> >> Reduce the machine code pulled into qemu-storage-daemon.
> >> 
> >> The series is fully Acked, but Markus wants it reviewed
> >> by the Machine core maintainers.
> >
> > I've confirmed that all patches move QAPI schema code without
> > introducing any additional changes.
> >
> > Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
> 
> I take this as "I agree the things moved to machine.json belong there".
> Holler if I'm mistaken.

I agree machine.json is better than misc.json for them, yes.

I miss short descriptions of the purpose of each file, though.
It would help us decide what's appropriate in the future.

-- 
Eduardo



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v2 0/5] qapi: Restrict machine (and migration) specific commands
  2020-10-19 12:30     ` Eduardo Habkost
@ 2020-10-19 16:48       ` Markus Armbruster
  2020-10-19 18:04         ` Philippe Mathieu-Daudé
  0 siblings, 1 reply; 13+ messages in thread
From: Markus Armbruster @ 2020-10-19 16:48 UTC (permalink / raw)
  To: Eduardo Habkost; +Cc: Philippe Mathieu-Daudé, qemu-devel

Eduardo Habkost <ehabkost@redhat.com> writes:

> On Mon, Oct 19, 2020 at 09:55:20AM +0200, Markus Armbruster wrote:
>> Eduardo Habkost <ehabkost@redhat.com> writes:
>> 
>> > On Mon, Oct 12, 2020 at 02:15:31PM +0200, Philippe Mathieu-Daudé wrote:
>> >> Reduce the machine code pulled into qemu-storage-daemon.
>> >> 
>> >> The series is fully Acked, but Markus wants it reviewed
>> >> by the Machine core maintainers.
>> >
>> > I've confirmed that all patches move QAPI schema code without
>> > introducing any additional changes.
>> >
>> > Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
>> 
>> I take this as "I agree the things moved to machine.json belong there".
>> Holler if I'm mistaken.
>
> I agree machine.json is better than misc.json for them, yes.
>
> I miss short descriptions of the purpose of each file, though.
> It would help us decide what's appropriate in the future.

The QAPI modules are commonly aligned with sub-systems defined in
MAINTAINERS.

Regardless, file comments would be nice.



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v2 0/5] qapi: Restrict machine (and migration) specific commands
  2020-10-19 16:48       ` Markus Armbruster
@ 2020-10-19 18:04         ` Philippe Mathieu-Daudé
  2020-10-20  5:39           ` Markus Armbruster
  0 siblings, 1 reply; 13+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-10-19 18:04 UTC (permalink / raw)
  To: Markus Armbruster, Eduardo Habkost; +Cc: qemu-devel

On 10/19/20 6:48 PM, Markus Armbruster wrote:
> Eduardo Habkost <ehabkost@redhat.com> writes:
> 
>> On Mon, Oct 19, 2020 at 09:55:20AM +0200, Markus Armbruster wrote:
>>> Eduardo Habkost <ehabkost@redhat.com> writes:
>>>
>>>> On Mon, Oct 12, 2020 at 02:15:31PM +0200, Philippe Mathieu-Daudé wrote:
>>>>> Reduce the machine code pulled into qemu-storage-daemon.
>>>>>
>>>>> The series is fully Acked, but Markus wants it reviewed
>>>>> by the Machine core maintainers.
>>>>
>>>> I've confirmed that all patches move QAPI schema code without
>>>> introducing any additional changes.
>>>>
>>>> Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
>>>
>>> I take this as "I agree the things moved to machine.json belong there".
>>> Holler if I'm mistaken.
>>
>> I agree machine.json is better than misc.json for them, yes.
>>
>> I miss short descriptions of the purpose of each file, though.
>> It would help us decide what's appropriate in the future.
> 
> The QAPI modules are commonly aligned with sub-systems defined in
> MAINTAINERS.
> 
> Regardless, file comments would be nice.

I don't understand what you mean/expect by "file comments".
Example?

W.r.t. MAINTAINERS, I can move Xen code to qapi/migration-xen.json;

'query-kvm' is used when no KVM built it, so I'll let it in
machine.json; the others seem to belong in machine.json too,
with no particular justification.



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v2 0/5] qapi: Restrict machine (and migration) specific commands
  2020-10-19 18:04         ` Philippe Mathieu-Daudé
@ 2020-10-20  5:39           ` Markus Armbruster
  0 siblings, 0 replies; 13+ messages in thread
From: Markus Armbruster @ 2020-10-20  5:39 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé; +Cc: Eduardo Habkost, qemu-devel

Philippe Mathieu-Daudé <philmd@redhat.com> writes:

> On 10/19/20 6:48 PM, Markus Armbruster wrote:
>> Eduardo Habkost <ehabkost@redhat.com> writes:
>> 
>>> On Mon, Oct 19, 2020 at 09:55:20AM +0200, Markus Armbruster wrote:
>>>> Eduardo Habkost <ehabkost@redhat.com> writes:
>>>>
>>>>> On Mon, Oct 12, 2020 at 02:15:31PM +0200, Philippe Mathieu-Daudé wrote:
>>>>>> Reduce the machine code pulled into qemu-storage-daemon.
>>>>>>
>>>>>> The series is fully Acked, but Markus wants it reviewed
>>>>>> by the Machine core maintainers.
>>>>>
>>>>> I've confirmed that all patches move QAPI schema code without
>>>>> introducing any additional changes.
>>>>>
>>>>> Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
>>>>
>>>> I take this as "I agree the things moved to machine.json belong there".
>>>> Holler if I'm mistaken.
>>>
>>> I agree machine.json is better than misc.json for them, yes.
>>>
>>> I miss short descriptions of the purpose of each file, though.
>>> It would help us decide what's appropriate in the future.
>>
>> The QAPI modules are commonly aligned with sub-systems defined in
>> MAINTAINERS.
>>
>> Regardless, file comments would be nice.
>
> I don't understand what you mean/expect by "file comments".
> Example?

A comment explaining the file, at the beginning of the file.

> W.r.t. MAINTAINERS, I can move Xen code to qapi/migration-xen.json;

How much could be moved, and from where?

Sub-modules don't need to mirror MAINTAINERS slavishly.  We want
reasonably-sized modules, and we want useful get_maintainer.pl output.

> 'query-kvm' is used when no KVM built it, so I'll let it in
> machine.json; the others seem to belong in machine.json too,
> with no particular justification.



^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH v2 0/5] qapi: Restrict machine (and migration) specific commands
  2020-10-12 12:15 [PATCH v2 0/5] qapi: Restrict machine (and migration) specific commands Philippe Mathieu-Daudé
                   ` (5 preceding siblings ...)
  2020-10-15 18:28 ` [PATCH v2 0/5] qapi: Restrict machine (and migration) specific commands Eduardo Habkost
@ 2020-10-20  9:32 ` Markus Armbruster
  6 siblings, 0 replies; 13+ messages in thread
From: Markus Armbruster @ 2020-10-20  9:32 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé; +Cc: qemu-devel, Eduardo Habkost

Philippe Mathieu-Daudé <philmd@redhat.com> writes:

> Reduce the machine code pulled into qemu-storage-daemon.
>
> The series is fully Acked, but Markus wants it reviewed
> by the Machine core maintainers.

Queued, thanks!



^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2020-10-20  9:33 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-12 12:15 [PATCH v2 0/5] qapi: Restrict machine (and migration) specific commands Philippe Mathieu-Daudé
2020-10-12 12:15 ` [PATCH v2 1/5] qapi: Restrict 'inject-nmi' command to machine code Philippe Mathieu-Daudé
2020-10-12 12:15 ` [PATCH v2 2/5] qapi: Restrict 'system wakeup/reset/powerdown' commands to machine.json Philippe Mathieu-Daudé
2020-10-12 12:15 ` [PATCH v2 3/5] qapi: Restrict '(p)memsave' command to machine code Philippe Mathieu-Daudé
2020-10-12 12:15 ` [PATCH v2 4/5] qapi: Restrict 'query-kvm' " Philippe Mathieu-Daudé
2020-10-12 12:15 ` [PATCH v2 5/5] qapi: Restrict Xen migration commands to migration.json Philippe Mathieu-Daudé
2020-10-15 18:28 ` [PATCH v2 0/5] qapi: Restrict machine (and migration) specific commands Eduardo Habkost
2020-10-19  7:55   ` Markus Armbruster
2020-10-19 12:30     ` Eduardo Habkost
2020-10-19 16:48       ` Markus Armbruster
2020-10-19 18:04         ` Philippe Mathieu-Daudé
2020-10-20  5:39           ` Markus Armbruster
2020-10-20  9:32 ` Markus Armbruster

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).