mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-12-17 21:26:13 -07:00
switch chardev to QemuOpts: infrastructure, null device
start switching chardevs to QemuOpts. This patch adds the infrastructure and converts the null device. The patch brings two new functions: qemu_chr_open_opts() same as qemu_chr_open(), but uses QemuOpts instead of a option char string. qemu_chr_parse_compat() accepts a traditional chardev option string, returns the corresponding QemuOpts instance, to handle backward compatibility. The patch also adds a new -chardev switch which can be used to create named+unconnected chardevs, like this: -chardev null,id=test This uses the new qemu_chr_open_opts. Thus with this patch alone only the null device works. The other devices will follow ... Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
9d868d4517
commit
191bc01bc9
6 changed files with 93 additions and 4 deletions
|
|
@ -3,6 +3,8 @@
|
|||
|
||||
#include "qemu-common.h"
|
||||
#include "sys-queue.h"
|
||||
#include "qemu-option.h"
|
||||
#include "qemu-config.h"
|
||||
|
||||
/* character device */
|
||||
|
||||
|
|
@ -68,6 +70,8 @@ struct CharDriverState {
|
|||
TAILQ_ENTRY(CharDriverState) next;
|
||||
};
|
||||
|
||||
CharDriverState *qemu_chr_open_opts(QemuOpts *opts,
|
||||
void (*init)(struct CharDriverState *s));
|
||||
CharDriverState *qemu_chr_open(const char *label, const char *filename, void (*init)(struct CharDriverState *s));
|
||||
void qemu_chr_close(CharDriverState *chr);
|
||||
void qemu_chr_printf(CharDriverState *s, const char *fmt, ...);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue