mbox series

[00/12] qapi: remove all TARGET_* conditionals from the schema

Message ID 20250514234108.3746675-1-pierrick.bouvier@linaro.org
Headers show
Series qapi: remove all TARGET_* conditionals from the schema | expand

Message

Pierrick Bouvier May 14, 2025, 11:40 p.m. UTC
This series exposes all qmp commands for any target unconditionally, allowing to
compile QAPI generated code without any TARGET conditionals.

Based on original RFC from Daniel P. Berrangé:
https://lore.kernel.org/qemu-devel/20250508135816.673087-1-berrange@redhat.com/

v1
--

- remove file qapi/misc-target.json (Markus)
- remove qapi/*-target.json from MAINTAINERS (Markus)
- remove qapi_specific_outputs from qapi/meson.build (Markus)
- update comment in rtc-reset-reinjection stub (Markus)
- build QAPI generated code only once

Daniel P. Berrangé (9):
  qapi: expose rtc-reset-reinjection command unconditionally
  qapi: expand docs for SEV commands
  qapi: make SEV commands unconditionally available
  qapi: expose query-gic-capability command unconditionally
  qapi: make SGX commands unconditionally available
  qapi: make Xen event commands unconditionally available
  qapi: remove the misc-target.json file
  qapi: make most CPU commands unconditionally available
  qapi: make s390x specific CPU commands unconditionally available

Philippe Mathieu-Daudé (1):
  qapi: Make CpuModelExpansionInfo::deprecated-props optional and
    generic

Pierrick Bouvier (2):
  qapi: remove qapi_specific_outputs from meson.build
  qapi: make all generated files common

 MAINTAINERS                               |   1 -
 qapi/machine-s390x.json                   | 121 +++++
 qapi/machine-target.json                  | 523 ----------------------
 qapi/machine.json                         | 363 +++++++++++++++
 qapi/misc-arm.json                        |  49 ++
 qapi/{misc-target.json => misc-i386.json} | 154 +++----
 qapi/qapi-schema.json                     |   5 +-
 include/hw/s390x/cpu-topology.h           |   2 +-
 hw/i386/kvm/xen-stubs.c                   |  13 -
 hw/i386/kvm/xen_evtchn.c                  |   2 +-
 hw/i386/monitor.c                         |   2 +-
 hw/i386/sgx-stub.c                        |  13 -
 hw/i386/sgx.c                             |   2 +-
 hw/s390x/cpu-topology.c                   |   4 +-
 hw/s390x/s390-skeys.c                     |   1 -
 stubs/monitor-arm-gic.c                   |  12 +
 stubs/monitor-cpu-s390x-kvm.c             |  22 +
 stubs/monitor-cpu-s390x.c                 |  23 +
 stubs/monitor-cpu.c                       |  21 +
 stubs/monitor-i386-rtc.c                  |  14 +
 stubs/monitor-i386-sev.c                  |  36 ++
 stubs/monitor-i386-sgx.c                  |  17 +
 stubs/monitor-i386-xen.c                  |  16 +
 target/arm/arm-qmp-cmds.c                 |   4 +-
 target/i386/cpu-system.c                  |   2 +-
 target/i386/cpu.c                         |   2 +-
 target/i386/monitor.c                     |   1 -
 target/i386/sev-system-stub.c             |  32 --
 target/i386/sev.c                         |   2 +-
 target/loongarch/loongarch-qmp-cmds.c     |   2 +-
 target/mips/system/mips-qmp-cmds.c        |  12 +-
 target/ppc/ppc-qmp-cmds.c                 |  12 +-
 target/riscv/riscv-qmp-cmds.c             |   2 +-
 target/s390x/cpu_models_system.c          |   2 +-
 tests/qtest/qmp-cmd-test.c                |   1 +
 qapi/meson.build                          |  18 +-
 stubs/meson.build                         |   8 +
 37 files changed, 811 insertions(+), 705 deletions(-)
 create mode 100644 qapi/machine-s390x.json
 delete mode 100644 qapi/machine-target.json
 create mode 100644 qapi/misc-arm.json
 rename qapi/{misc-target.json => misc-i386.json} (76%)
 create mode 100644 stubs/monitor-arm-gic.c
 create mode 100644 stubs/monitor-cpu-s390x-kvm.c
 create mode 100644 stubs/monitor-cpu-s390x.c
 create mode 100644 stubs/monitor-cpu.c
 create mode 100644 stubs/monitor-i386-rtc.c
 create mode 100644 stubs/monitor-i386-sev.c
 create mode 100644 stubs/monitor-i386-sgx.c
 create mode 100644 stubs/monitor-i386-xen.c

Comments

Richard Henderson May 15, 2025, 8:25 a.m. UTC | #1
On 5/15/25 00:40, Pierrick Bouvier wrote:
> This series exposes all qmp commands for any target unconditionally, allowing to
> compile QAPI generated code without any TARGET conditionals.
> 
> Based on original RFC from Daniel P. Berrangé:
> https://lore.kernel.org/qemu-devel/20250508135816.673087-1-berrange@redhat.com/
> 
> v1
> --
> 
> - remove file qapi/misc-target.json (Markus)
> - remove qapi/*-target.json from MAINTAINERS (Markus)
> - remove qapi_specific_outputs from qapi/meson.build (Markus)
> - update comment in rtc-reset-reinjection stub (Markus)
> - build QAPI generated code only once
> 
> Daniel P. Berrangé (9):
>    qapi: expose rtc-reset-reinjection command unconditionally
>    qapi: expand docs for SEV commands
>    qapi: make SEV commands unconditionally available
>    qapi: expose query-gic-capability command unconditionally
>    qapi: make SGX commands unconditionally available
>    qapi: make Xen event commands unconditionally available
>    qapi: remove the misc-target.json file
>    qapi: make most CPU commands unconditionally available
>    qapi: make s390x specific CPU commands unconditionally available
> 
> Philippe Mathieu-Daudé (1):
>    qapi: Make CpuModelExpansionInfo::deprecated-props optional and
>      generic
> 
> Pierrick Bouvier (2):
>    qapi: remove qapi_specific_outputs from meson.build
>    qapi: make all generated files common


Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


r~
Pierrick Bouvier May 15, 2025, 5:29 p.m. UTC | #2
On 5/14/25 4:40 PM, Pierrick Bouvier wrote:
> This series exposes all qmp commands for any target unconditionally, allowing to
> compile QAPI generated code without any TARGET conditionals.
> 
> Based on original RFC from Daniel P. Berrangé:
> https://lore.kernel.org/qemu-devel/20250508135816.673087-1-berrange@redhat.com/
> 
> v1
> --
> 
> - remove file qapi/misc-target.json (Markus)
> - remove qapi/*-target.json from MAINTAINERS (Markus)
> - remove qapi_specific_outputs from qapi/meson.build (Markus)
> - update comment in rtc-reset-reinjection stub (Markus)
> - build QAPI generated code only once
> 
> Daniel P. Berrangé (9):
>    qapi: expose rtc-reset-reinjection command unconditionally
>    qapi: expand docs for SEV commands
>    qapi: make SEV commands unconditionally available
>    qapi: expose query-gic-capability command unconditionally
>    qapi: make SGX commands unconditionally available
>    qapi: make Xen event commands unconditionally available
>    qapi: remove the misc-target.json file
>    qapi: make most CPU commands unconditionally available
>    qapi: make s390x specific CPU commands unconditionally available
> 
> Philippe Mathieu-Daudé (1):
>    qapi: Make CpuModelExpansionInfo::deprecated-props optional and
>      generic
> 
> Pierrick Bouvier (2):
>    qapi: remove qapi_specific_outputs from meson.build
>    qapi: make all generated files common
> 
>   MAINTAINERS                               |   1 -
>   qapi/machine-s390x.json                   | 121 +++++
>   qapi/machine-target.json                  | 523 ----------------------
>   qapi/machine.json                         | 363 +++++++++++++++
>   qapi/misc-arm.json                        |  49 ++
>   qapi/{misc-target.json => misc-i386.json} | 154 +++----
>   qapi/qapi-schema.json                     |   5 +-
>   include/hw/s390x/cpu-topology.h           |   2 +-
>   hw/i386/kvm/xen-stubs.c                   |  13 -
>   hw/i386/kvm/xen_evtchn.c                  |   2 +-
>   hw/i386/monitor.c                         |   2 +-
>   hw/i386/sgx-stub.c                        |  13 -
>   hw/i386/sgx.c                             |   2 +-
>   hw/s390x/cpu-topology.c                   |   4 +-
>   hw/s390x/s390-skeys.c                     |   1 -
>   stubs/monitor-arm-gic.c                   |  12 +
>   stubs/monitor-cpu-s390x-kvm.c             |  22 +
>   stubs/monitor-cpu-s390x.c                 |  23 +
>   stubs/monitor-cpu.c                       |  21 +
>   stubs/monitor-i386-rtc.c                  |  14 +
>   stubs/monitor-i386-sev.c                  |  36 ++
>   stubs/monitor-i386-sgx.c                  |  17 +
>   stubs/monitor-i386-xen.c                  |  16 +
>   target/arm/arm-qmp-cmds.c                 |   4 +-
>   target/i386/cpu-system.c                  |   2 +-
>   target/i386/cpu.c                         |   2 +-
>   target/i386/monitor.c                     |   1 -
>   target/i386/sev-system-stub.c             |  32 --
>   target/i386/sev.c                         |   2 +-
>   target/loongarch/loongarch-qmp-cmds.c     |   2 +-
>   target/mips/system/mips-qmp-cmds.c        |  12 +-
>   target/ppc/ppc-qmp-cmds.c                 |  12 +-
>   target/riscv/riscv-qmp-cmds.c             |   2 +-
>   target/s390x/cpu_models_system.c          |   2 +-
>   tests/qtest/qmp-cmd-test.c                |   1 +
>   qapi/meson.build                          |  18 +-
>   stubs/meson.build                         |   8 +
>   37 files changed, 811 insertions(+), 705 deletions(-)
>   create mode 100644 qapi/machine-s390x.json
>   delete mode 100644 qapi/machine-target.json
>   create mode 100644 qapi/misc-arm.json
>   rename qapi/{misc-target.json => misc-i386.json} (76%)
>   create mode 100644 stubs/monitor-arm-gic.c
>   create mode 100644 stubs/monitor-cpu-s390x-kvm.c
>   create mode 100644 stubs/monitor-cpu-s390x.c
>   create mode 100644 stubs/monitor-cpu.c
>   create mode 100644 stubs/monitor-i386-rtc.c
>   create mode 100644 stubs/monitor-i386-sev.c
>   create mode 100644 stubs/monitor-i386-sgx.c
>   create mode 100644 stubs/monitor-i386-xen.c
> 

v2 was posted:
https://lore.kernel.org/qemu-devel/20250515172732.3992504-1-pierrick.bouvier@linaro.org