qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] QMP TODO list


From: Luiz Capitulino
Subject: [Qemu-devel] QMP TODO list
Date: Tue, 10 Sep 2013 17:31:19 -0400

Hi,

I'm sending in this email an up to date list of QMP TODO items. This
list is also available at: http://wiki.qemu.org/QMP#TODO

=== TODO ===

In order of importance.

==== Drop the qmp-commands.hx file ====

The qmp-commands.hx file is basically a command table. Today, with the advent
of the QAPI, the qapi-schema.json file serves the same purpose. We should drop
qmp-commands.hx in favor of qapi-schema.json.

This is more or less what it takes to do that:

# Convert do_device_add() and do_qmp_capabilities() to propagate errors
  (ie, fill an Error ** object instead of doing qerror_report() calls)
# Do something about qmp_netdev_add(), qmp_qom_get() and qmp_qom_set() (drop
  them or add QAPI wrappers?)
# Change QMP code in monitor.c to use the QAPI to do command parameter
  validation and command dispatching (just like qemu-ga does)
# Move QMP examples from qmp-commands.hx to qapi-schema.json
# Drop qmp-commands.hx

==== Add full introspection support ====

This is about adding a command which returns all QMP types, commands (input
and output parameters) and events.

Amos Kong is working on this:

http://marc.info/?l=qemu-devel&m=137059998004419&w=2

==== Add events support to the QAPI ====

Today events are exclusively part of the text protocol. This means that they
are open coded, QEMU subsystems can't make use of them and they are not listed
in qapi-schema.json.

We would solve all those problems by adding event support to the QAPI.

==== Import qemu-ga command-set into QMP namespace ====

Basically, this would allow QMP clients to talk to qemu-ga transparently 
through a QMP session.

==== QMP testing ====

There should be a QMP test-suite. Either in QEMU itself or externally, like
in kvm-autotest (which seems to be the best option).

==== HMP command conversion to the QAPI ====

Our long term plan is to make HMP, the human monitor, independent of QEMU.
This means that HMP code shouldn't call QEMU code other than the monitor.

To achieve this we have to split existing HMP-only commands (eg.
do_wav_capture() or do_ioport_read()) into a QMP part and an HMP part. Just
like new QMP commands.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]