* [PATCH 0/5] qapi: Restrict machine (and migration) specific commands
@ 2020-10-02 13:39 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 20+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-10-02 13:39 UTC (permalink / raw)
To: qemu-devel
Cc: Peter Maydell, Stefano Stabellini, Eduardo Habkost,
Juan Quintela, Philippe Mathieu-Daudé,
Paul Durrant, Markus Armbruster, Dr. David Alan Gilbert,
Michael S. Tsirkin, Gerd Hoffmann, Paolo Bonzini, Anthony Perard,
xen-devel, Richard Henderson
Reduce the machine code pulled into qemu-storage-daemon.
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] 20+ messages in thread
* [PATCH 0/5] qapi: Restrict machine (and migration) specific commands
@ 2020-10-02 13:39 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 20+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-10-02 13:39 UTC (permalink / raw)
To: qemu-devel
Cc: Richard Henderson, Marcel Apfelbaum, Dr. David Alan Gilbert,
xen-devel, Gerd Hoffmann, Markus Armbruster, Paolo Bonzini,
Juan Quintela, Stefano Stabellini, Anthony Perard, Eric Blake,
Paul Durrant, Peter Maydell, Michael S. Tsirkin, Eduardo Habkost,
Philippe Mathieu-Daudé
Reduce the machine code pulled into qemu-storage-daemon.
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] 20+ messages in thread
* [PATCH 1/5] qapi: Restrict 'inject-nmi' command to machine code
2020-10-02 13:39 ` Philippe Mathieu-Daudé
@ 2020-10-02 13:39 ` Philippe Mathieu-Daudé
-1 siblings, 0 replies; 20+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-10-02 13:39 UTC (permalink / raw)
To: qemu-devel
Cc: Peter Maydell, Stefano Stabellini, Eduardo Habkost,
Juan Quintela, Philippe Mathieu-Daudé,
Paul Durrant, Markus Armbruster, Dr. David Alan Gilbert,
Michael S. Tsirkin, Gerd Hoffmann, Paolo Bonzini, Anthony Perard,
xen-devel, Richard Henderson
Restricting 'inject-nmi' to machine.json pulls slightly
less QAPI-generated code into user-mode and tools.
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 756dacb06f..073b1c98b2 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 694d2142f3..37b3e04cec 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 ac8940d52e..bd040d6cdd 100644
--- a/softmmu/cpus.c
+++ b/softmmu/cpus.c
@@ -29,6 +29,7 @@
#include "migration/vmstate.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] 20+ messages in thread
* [PATCH 1/5] qapi: Restrict 'inject-nmi' command to machine code
@ 2020-10-02 13:39 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 20+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-10-02 13:39 UTC (permalink / raw)
To: qemu-devel
Cc: Richard Henderson, Marcel Apfelbaum, Dr. David Alan Gilbert,
xen-devel, Gerd Hoffmann, Markus Armbruster, Paolo Bonzini,
Juan Quintela, Stefano Stabellini, Anthony Perard, Eric Blake,
Paul Durrant, Peter Maydell, Michael S. Tsirkin, Eduardo Habkost,
Philippe Mathieu-Daudé
Restricting 'inject-nmi' to machine.json pulls slightly
less QAPI-generated code into user-mode and tools.
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 756dacb06f..073b1c98b2 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 694d2142f3..37b3e04cec 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 ac8940d52e..bd040d6cdd 100644
--- a/softmmu/cpus.c
+++ b/softmmu/cpus.c
@@ -29,6 +29,7 @@
#include "migration/vmstate.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] 20+ messages in thread
* [PATCH 2/5] qapi: Restrict 'system wakeup/reset/powerdown' commands to machine.json
2020-10-02 13:39 ` Philippe Mathieu-Daudé
@ 2020-10-02 13:39 ` Philippe Mathieu-Daudé
-1 siblings, 0 replies; 20+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-10-02 13:39 UTC (permalink / raw)
To: qemu-devel
Cc: Peter Maydell, Stefano Stabellini, Eduardo Habkost,
Juan Quintela, Philippe Mathieu-Daudé,
Paul Durrant, Markus Armbruster, Dr. David Alan Gilbert,
Michael S. Tsirkin, Gerd Hoffmann, Paolo Bonzini, Anthony Perard,
xen-devel, Richard Henderson
Restricting system_wakeup/system_reset/system_powerdown to
machine.json pulls slightly less QAPI-generated code into
user-mode and tools.
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 073b1c98b2..55328d4f3c 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 37b3e04cec..cce2e71e9c 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 b11594d817..a752aa22be 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 0910b4a716..f32adc3074 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] 20+ messages in thread
* [PATCH 2/5] qapi: Restrict 'system wakeup/reset/powerdown' commands to machine.json
@ 2020-10-02 13:39 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 20+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-10-02 13:39 UTC (permalink / raw)
To: qemu-devel
Cc: Richard Henderson, Marcel Apfelbaum, Dr. David Alan Gilbert,
xen-devel, Gerd Hoffmann, Markus Armbruster, Paolo Bonzini,
Juan Quintela, Stefano Stabellini, Anthony Perard, Eric Blake,
Paul Durrant, Peter Maydell, Michael S. Tsirkin, Eduardo Habkost,
Philippe Mathieu-Daudé
Restricting system_wakeup/system_reset/system_powerdown to
machine.json pulls slightly less QAPI-generated code into
user-mode and tools.
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 073b1c98b2..55328d4f3c 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 37b3e04cec..cce2e71e9c 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 b11594d817..a752aa22be 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 0910b4a716..f32adc3074 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] 20+ messages in thread
* [PATCH 3/5] qapi: Restrict '(p)memsave' command to machine code
2020-10-02 13:39 ` Philippe Mathieu-Daudé
@ 2020-10-02 13:39 ` Philippe Mathieu-Daudé
-1 siblings, 0 replies; 20+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-10-02 13:39 UTC (permalink / raw)
To: qemu-devel
Cc: Peter Maydell, Stefano Stabellini, Eduardo Habkost,
Juan Quintela, Philippe Mathieu-Daudé,
Paul Durrant, Markus Armbruster, Dr. David Alan Gilbert,
Michael S. Tsirkin, Gerd Hoffmann, Paolo Bonzini, Anthony Perard,
xen-devel, Richard Henderson
Restricting memsave/pmemsave to machine.json pulls slightly
less QAPI-generated code into user-mode and tools.
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 55328d4f3c..5a3bbcae01 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 cce2e71e9c..2a5d03a69e 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] 20+ messages in thread
* [PATCH 3/5] qapi: Restrict '(p)memsave' command to machine code
@ 2020-10-02 13:39 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 20+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-10-02 13:39 UTC (permalink / raw)
To: qemu-devel
Cc: Richard Henderson, Marcel Apfelbaum, Dr. David Alan Gilbert,
xen-devel, Gerd Hoffmann, Markus Armbruster, Paolo Bonzini,
Juan Quintela, Stefano Stabellini, Anthony Perard, Eric Blake,
Paul Durrant, Peter Maydell, Michael S. Tsirkin, Eduardo Habkost,
Philippe Mathieu-Daudé
Restricting memsave/pmemsave to machine.json pulls slightly
less QAPI-generated code into user-mode and tools.
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 55328d4f3c..5a3bbcae01 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 cce2e71e9c..2a5d03a69e 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] 20+ messages in thread
* [PATCH 4/5] qapi: Restrict 'query-kvm' command to machine code
2020-10-02 13:39 ` Philippe Mathieu-Daudé
@ 2020-10-02 13:39 ` Philippe Mathieu-Daudé
-1 siblings, 0 replies; 20+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-10-02 13:39 UTC (permalink / raw)
To: qemu-devel
Cc: Peter Maydell, Stefano Stabellini, Eduardo Habkost,
Juan Quintela, Philippe Mathieu-Daudé,
Paul Durrant, Markus Armbruster, Dr. David Alan Gilbert,
Michael S. Tsirkin, Gerd Hoffmann, Paolo Bonzini, Anthony Perard,
xen-devel, Richard Henderson
Restricting query-kvm to machine.json pulls slightly
less QAPI-generated code into user-mode and tools.
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 5a3bbcae01..7c9a263778 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 2a5d03a69e..9813893269 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] 20+ messages in thread
* [PATCH 4/5] qapi: Restrict 'query-kvm' command to machine code
@ 2020-10-02 13:39 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 20+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-10-02 13:39 UTC (permalink / raw)
To: qemu-devel
Cc: Richard Henderson, Marcel Apfelbaum, Dr. David Alan Gilbert,
xen-devel, Gerd Hoffmann, Markus Armbruster, Paolo Bonzini,
Juan Quintela, Stefano Stabellini, Anthony Perard, Eric Blake,
Paul Durrant, Peter Maydell, Michael S. Tsirkin, Eduardo Habkost,
Philippe Mathieu-Daudé
Restricting query-kvm to machine.json pulls slightly
less QAPI-generated code into user-mode and tools.
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 5a3bbcae01..7c9a263778 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 2a5d03a69e..9813893269 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] 20+ messages in thread
* [PATCH 5/5] qapi: Restrict Xen migration commands to migration.json
2020-10-02 13:39 ` Philippe Mathieu-Daudé
@ 2020-10-02 13:39 ` Philippe Mathieu-Daudé
-1 siblings, 0 replies; 20+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-10-02 13:39 UTC (permalink / raw)
To: qemu-devel
Cc: Peter Maydell, Stefano Stabellini, Eduardo Habkost,
Juan Quintela, Philippe Mathieu-Daudé,
Paul Durrant, Markus Armbruster, Dr. David Alan Gilbert,
Michael S. Tsirkin, Gerd Hoffmann, Paolo Bonzini, Anthony Perard,
xen-devel, Richard Henderson
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.
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 7f5e6fd681..cb30f4c729 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 9813893269..afe936b45b 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:
#
@@ -606,24 +586,3 @@
##
{ 'enum': 'ReplayMode',
'data': [ 'none', 'record', 'play' ] }
-
-##
-# @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 7ba0b697f4..7054965c48 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 f3ababf33b..9519c33c09 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 34e4b71052..1fdf3f76c2 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] 20+ messages in thread
* [PATCH 5/5] qapi: Restrict Xen migration commands to migration.json
@ 2020-10-02 13:39 ` Philippe Mathieu-Daudé
0 siblings, 0 replies; 20+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-10-02 13:39 UTC (permalink / raw)
To: qemu-devel
Cc: Richard Henderson, Marcel Apfelbaum, Dr. David Alan Gilbert,
xen-devel, Gerd Hoffmann, Markus Armbruster, Paolo Bonzini,
Juan Quintela, Stefano Stabellini, Anthony Perard, Eric Blake,
Paul Durrant, Peter Maydell, Michael S. Tsirkin, Eduardo Habkost,
Philippe Mathieu-Daudé
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.
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 7f5e6fd681..cb30f4c729 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 9813893269..afe936b45b 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:
#
@@ -606,24 +586,3 @@
##
{ 'enum': 'ReplayMode',
'data': [ 'none', 'record', 'play' ] }
-
-##
-# @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 7ba0b697f4..7054965c48 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 f3ababf33b..9519c33c09 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 34e4b71052..1fdf3f76c2 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] 20+ messages in thread
* Re: [PATCH 5/5] qapi: Restrict Xen migration commands to migration.json
2020-10-02 13:39 ` Philippe Mathieu-Daudé
@ 2020-10-02 17:04 ` Dr. David Alan Gilbert
-1 siblings, 0 replies; 20+ messages in thread
From: Dr. David Alan Gilbert @ 2020-10-02 17:04 UTC (permalink / raw)
To: Philippe Mathieu-Daudé
Cc: Peter Maydell, Stefano Stabellini, Eduardo Habkost,
Juan Quintela, Paul Durrant, Markus Armbruster, qemu-devel,
Michael S. Tsirkin, Gerd Hoffmann, Paolo Bonzini, Anthony Perard,
xen-devel, Richard Henderson
* Philippe Mathieu-Daudé (philmd@redhat.com) wrote:
> 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.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Looks OK; for migration
Acked-by: Dr. David Alan Gilbert <dgilbert@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 7f5e6fd681..cb30f4c729 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 9813893269..afe936b45b 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:
> #
> @@ -606,24 +586,3 @@
> ##
> { 'enum': 'ReplayMode',
> 'data': [ 'none', 'record', 'play' ] }
> -
> -##
> -# @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 7ba0b697f4..7054965c48 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 f3ababf33b..9519c33c09 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 34e4b71052..1fdf3f76c2 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
>
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 5/5] qapi: Restrict Xen migration commands to migration.json
@ 2020-10-02 17:04 ` Dr. David Alan Gilbert
0 siblings, 0 replies; 20+ messages in thread
From: Dr. David Alan Gilbert @ 2020-10-02 17:04 UTC (permalink / raw)
To: Philippe Mathieu-Daudé
Cc: qemu-devel, Richard Henderson, Marcel Apfelbaum, xen-devel,
Gerd Hoffmann, Markus Armbruster, Paolo Bonzini, Juan Quintela,
Stefano Stabellini, Anthony Perard, Eric Blake, Paul Durrant,
Peter Maydell, Michael S. Tsirkin, Eduardo Habkost
* Philippe Mathieu-Daudé (philmd@redhat.com) wrote:
> 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.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Looks OK; for migration
Acked-by: Dr. David Alan Gilbert <dgilbert@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 7f5e6fd681..cb30f4c729 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 9813893269..afe936b45b 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:
> #
> @@ -606,24 +586,3 @@
> ##
> { 'enum': 'ReplayMode',
> 'data': [ 'none', 'record', 'play' ] }
> -
> -##
> -# @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 7ba0b697f4..7054965c48 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 f3ababf33b..9519c33c09 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 34e4b71052..1fdf3f76c2 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
>
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 0/5] qapi: Restrict machine (and migration) specific commands
2020-10-02 13:39 ` Philippe Mathieu-Daudé
@ 2020-10-05 8:01 ` Markus Armbruster
-1 siblings, 0 replies; 20+ messages in thread
From: Markus Armbruster @ 2020-10-05 8:01 UTC (permalink / raw)
To: Philippe Mathieu-Daudé
Cc: Peter Maydell, Stefano Stabellini, Eduardo Habkost, Paul Durrant,
Juan Quintela, qemu-devel, Dr. David Alan Gilbert,
Michael S. Tsirkin, Gerd Hoffmann, xen-devel, Anthony Perard,
Paolo Bonzini, Richard Henderson
Philippe Mathieu-Daudé <philmd@redhat.com> writes:
> Reduce the machine code pulled into qemu-storage-daemon.
I'm leaving review to Eduardo and Marcel for PATCH 1-4, and to David and
Juan for PATCH 5. David already ACKed.
Can do the pull request.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 0/5] qapi: Restrict machine (and migration) specific commands
@ 2020-10-05 8:01 ` Markus Armbruster
0 siblings, 0 replies; 20+ messages in thread
From: Markus Armbruster @ 2020-10-05 8:01 UTC (permalink / raw)
To: Philippe Mathieu-Daudé
Cc: qemu-devel, Peter Maydell, Stefano Stabellini, Eduardo Habkost,
Juan Quintela, Paul Durrant, Dr. David Alan Gilbert,
Michael S. Tsirkin, Gerd Hoffmann, Paolo Bonzini, Anthony Perard,
xen-devel, Richard Henderson
Philippe Mathieu-Daudé <philmd@redhat.com> writes:
> Reduce the machine code pulled into qemu-storage-daemon.
I'm leaving review to Eduardo and Marcel for PATCH 1-4, and to David and
Juan for PATCH 5. David already ACKed.
Can do the pull request.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 0/5] qapi: Restrict machine (and migration) specific commands
2020-10-05 8:01 ` Markus Armbruster
@ 2020-10-05 8:46 ` Paolo Bonzini
-1 siblings, 0 replies; 20+ messages in thread
From: Paolo Bonzini @ 2020-10-05 8:46 UTC (permalink / raw)
To: Markus Armbruster, Philippe Mathieu-Daudé
Cc: Peter Maydell, Stefano Stabellini, Eduardo Habkost, Paul Durrant,
Juan Quintela, qemu-devel, Dr. David Alan Gilbert,
Michael S. Tsirkin, Gerd Hoffmann, Anthony Perard, xen-devel,
Richard Henderson
On 05/10/20 10:01, Markus Armbruster wrote:
> Philippe Mathieu-Daudé <philmd@redhat.com> writes:
>
>> Reduce the machine code pulled into qemu-storage-daemon.
> I'm leaving review to Eduardo and Marcel for PATCH 1-4, and to David and
> Juan for PATCH 5. David already ACKed.
>
> Can do the pull request.
>
If it counts, :) for patch 1-4:
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Generally these patches to remove code from user-mode emulators
fall into the "if it builds it's fine" bucket, since I assume
we want the "misc" subschema to be as small as possible.
Paolo
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 0/5] qapi: Restrict machine (and migration) specific commands
@ 2020-10-05 8:46 ` Paolo Bonzini
0 siblings, 0 replies; 20+ messages in thread
From: Paolo Bonzini @ 2020-10-05 8:46 UTC (permalink / raw)
To: Markus Armbruster, Philippe Mathieu-Daudé
Cc: qemu-devel, Peter Maydell, Stefano Stabellini, Eduardo Habkost,
Juan Quintela, Paul Durrant, Dr. David Alan Gilbert,
Michael S. Tsirkin, Gerd Hoffmann, Anthony Perard, xen-devel,
Richard Henderson
On 05/10/20 10:01, Markus Armbruster wrote:
> Philippe Mathieu-Daudé <philmd@redhat.com> writes:
>
>> Reduce the machine code pulled into qemu-storage-daemon.
> I'm leaving review to Eduardo and Marcel for PATCH 1-4, and to David and
> Juan for PATCH 5. David already ACKed.
>
> Can do the pull request.
>
If it counts, :) for patch 1-4:
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Generally these patches to remove code from user-mode emulators
fall into the "if it builds it's fine" bucket, since I assume
we want the "misc" subschema to be as small as possible.
Paolo
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 0/5] qapi: Restrict machine (and migration) specific commands
2020-10-05 8:46 ` Paolo Bonzini
@ 2020-10-05 10:55 ` Markus Armbruster
-1 siblings, 0 replies; 20+ messages in thread
From: Markus Armbruster @ 2020-10-05 10:55 UTC (permalink / raw)
To: Paolo Bonzini
Cc: Peter Maydell, Stefano Stabellini, Eduardo Habkost,
Juan Quintela, Paul Durrant, qemu-devel, Dr. David Alan Gilbert,
Michael S. Tsirkin, Gerd Hoffmann, Anthony Perard, xen-devel,
Philippe Mathieu-Daudé,
Richard Henderson
Paolo Bonzini <pbonzini@redhat.com> writes:
> On 05/10/20 10:01, Markus Armbruster wrote:
>> Philippe Mathieu-Daudé <philmd@redhat.com> writes:
>>
>>> Reduce the machine code pulled into qemu-storage-daemon.
>> I'm leaving review to Eduardo and Marcel for PATCH 1-4, and to David and
>> Juan for PATCH 5. David already ACKed.
>>
>> Can do the pull request.
>>
>
> If it counts, :) for patch 1-4:
>
> Acked-by: Paolo Bonzini <pbonzini@redhat.com>
>
> Generally these patches to remove code from user-mode emulators
> fall into the "if it builds it's fine" bucket, since I assume
> we want the "misc" subschema to be as small as possible.
Moving stuff out of qapi/misc.json is good as long as the new home makes
sense. So, if it builds *and* the maintainers of the new home think it
makes sense to have it there, it's fine.
I don't think we should aim for eliminating every last bit of unused
generated code from every program. We should aim for a sensible split
into sub-modules. Unused generated code in a program can be a sign for
a less than sensible split.
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [PATCH 0/5] qapi: Restrict machine (and migration) specific commands
@ 2020-10-05 10:55 ` Markus Armbruster
0 siblings, 0 replies; 20+ messages in thread
From: Markus Armbruster @ 2020-10-05 10:55 UTC (permalink / raw)
To: Paolo Bonzini
Cc: Philippe Mathieu-Daudé,
Peter Maydell, Stefano Stabellini, Eduardo Habkost, Paul Durrant,
Juan Quintela, qemu-devel, Dr. David Alan Gilbert,
Michael S. Tsirkin, Gerd Hoffmann, Anthony Perard, xen-devel,
Richard Henderson
Paolo Bonzini <pbonzini@redhat.com> writes:
> On 05/10/20 10:01, Markus Armbruster wrote:
>> Philippe Mathieu-Daudé <philmd@redhat.com> writes:
>>
>>> Reduce the machine code pulled into qemu-storage-daemon.
>> I'm leaving review to Eduardo and Marcel for PATCH 1-4, and to David and
>> Juan for PATCH 5. David already ACKed.
>>
>> Can do the pull request.
>>
>
> If it counts, :) for patch 1-4:
>
> Acked-by: Paolo Bonzini <pbonzini@redhat.com>
>
> Generally these patches to remove code from user-mode emulators
> fall into the "if it builds it's fine" bucket, since I assume
> we want the "misc" subschema to be as small as possible.
Moving stuff out of qapi/misc.json is good as long as the new home makes
sense. So, if it builds *and* the maintainers of the new home think it
makes sense to have it there, it's fine.
I don't think we should aim for eliminating every last bit of unused
generated code from every program. We should aim for a sensible split
into sub-modules. Unused generated code in a program can be a sign for
a less than sensible split.
^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2020-10-05 10:59 UTC | newest]
Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-02 13:39 [PATCH 0/5] qapi: Restrict machine (and migration) specific commands Philippe Mathieu-Daudé
2020-10-02 13:39 ` Philippe Mathieu-Daudé
2020-10-02 13:39 ` [PATCH 1/5] qapi: Restrict 'inject-nmi' command to machine code Philippe Mathieu-Daudé
2020-10-02 13:39 ` Philippe Mathieu-Daudé
2020-10-02 13:39 ` [PATCH 2/5] qapi: Restrict 'system wakeup/reset/powerdown' commands to machine.json Philippe Mathieu-Daudé
2020-10-02 13:39 ` Philippe Mathieu-Daudé
2020-10-02 13:39 ` [PATCH 3/5] qapi: Restrict '(p)memsave' command to machine code Philippe Mathieu-Daudé
2020-10-02 13:39 ` Philippe Mathieu-Daudé
2020-10-02 13:39 ` [PATCH 4/5] qapi: Restrict 'query-kvm' " Philippe Mathieu-Daudé
2020-10-02 13:39 ` Philippe Mathieu-Daudé
2020-10-02 13:39 ` [PATCH 5/5] qapi: Restrict Xen migration commands to migration.json Philippe Mathieu-Daudé
2020-10-02 13:39 ` Philippe Mathieu-Daudé
2020-10-02 17:04 ` Dr. David Alan Gilbert
2020-10-02 17:04 ` Dr. David Alan Gilbert
2020-10-05 8:01 ` [PATCH 0/5] qapi: Restrict machine (and migration) specific commands Markus Armbruster
2020-10-05 8:01 ` Markus Armbruster
2020-10-05 8:46 ` Paolo Bonzini
2020-10-05 8:46 ` Paolo Bonzini
2020-10-05 10:55 ` Markus Armbruster
2020-10-05 10:55 ` Markus Armbruster
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.