[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.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-devel] QMP TODO list,
Luiz Capitulino <=