* [Qemu-devel] [PATCH 0/2] chardevice hotswap @ 2017-02-09 15:25 Denis V. Lunev 2017-02-09 15:25 ` [Qemu-devel] [PATCH 1/2] char: " Denis V. Lunev ` (2 more replies) 0 siblings, 3 replies; 6+ messages in thread From: Denis V. Lunev @ 2017-02-09 15:25 UTC (permalink / raw) To: qemu-devel Cc: Anton Nefedov, Denis V . Lunev, Paolo Bonzini, Marc-André Lureau, Dr. David Alan Gilbert During debug it would be very nice to connect to different backend for serial console. This is especially helpful during Windows debug when one want to establish the connection to alive VM from VM with WinDbg. This could be achieved with host means but the feature as a whole looks attractive to us. Signed-off-by: Anton Nefedov <anton.nefedov@virtuozzo.com> Signed-off-by: Denis V. Lunev <den@openvz.org> CC: Paolo Bonzini <pbonzini@redhat.com> CC: "Marc-André Lureau" <marcandre.lureau@redhat.com> CC: "Dr. David Alan Gilbert" <dgilbert@redhat.com> ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Qemu-devel] [PATCH 1/2] char: chardevice hotswap 2017-02-09 15:25 [Qemu-devel] [PATCH 0/2] chardevice hotswap Denis V. Lunev @ 2017-02-09 15:25 ` Denis V. Lunev 2017-02-09 16:09 ` Daniel P. Berrange 2017-02-09 15:25 ` [Qemu-devel] [PATCH 2/2] virtio-console: chardev hotswap support Denis V. Lunev 2017-02-09 15:37 ` [Qemu-devel] [PATCH 0/2] chardevice hotswap no-reply 2 siblings, 1 reply; 6+ messages in thread From: Denis V. Lunev @ 2017-02-09 15:25 UTC (permalink / raw) To: qemu-devel Cc: Anton Nefedov, Denis V . Lunev, Paolo Bonzini, Marc-André Lureau, Dr. David Alan Gilbert From: Anton Nefedov <anton.nefedov@virtuozzo.com> This patch adds a possibility to change a char device without a frontend removal. Ideally, it would have to happen transparently to a frontend, i.e. frontend would continue its regular operation. However, backends are not stateles and are set up by the frontends via qemu_chr_fe_<> functions, and it's not (generally) possible to replay that setup entirely in a backend code, as different chardevs respond to the setup calls differently, so do frontends work differently basing on those setup responses. Moreover, some frontend can generally get and save the backend pointer (qemu_chr_fe_get_driver()), and it will become invalid after backend change. So, a frontend which would like to support chardev hotswap has to register a "backend change" handler, and redo its backend setup there. Write path can be used by multiple threads and thus protected with chr_write_lock. So hotswap also has to be protected so write functions won't access a backend being replaced. 3. Hotswap function can be called from e.g. a read handler of a monitor socket. This can cause troubles so it's safer to defer execution to a bottom-half. (however, it means we cannot return some of the errors synchronously - but most of them we can) Signed-off-by: Anton Nefedov <anton.nefedov@virtuozzo.com> Signed-off-by: Denis V. Lunev <den@openvz.org> CC: Paolo Bonzini <pbonzini@redhat.com> CC: "Marc-André Lureau" <marcandre.lureau@redhat.com> CC: "Dr. David Alan Gilbert" <dgilbert@redhat.com> --- chardev/char.c | 161 +++++++++++++++++++++++++++++++++++++++++++++++--- hmp.c | 14 +++++ include/sysemu/char.h | 25 ++++++++ 3 files changed, 191 insertions(+), 9 deletions(-) diff --git a/chardev/char.c b/chardev/char.c index abd525f..ec52b52 100644 --- a/chardev/char.c +++ b/chardev/char.c @@ -136,12 +136,16 @@ static bool qemu_chr_replay(Chardev *chr) int qemu_chr_fe_write(CharBackend *be, const uint8_t *buf, int len) { - Chardev *s = be->chr; + Chardev *s; ChardevClass *cc; int ret; + qemu_mutex_lock(&be->chr_lock); + s = be->chr; + if (!s) { - return 0; + ret = 0; + goto end; } if (qemu_chr_replay(s) && replay_mode == REPLAY_MODE_PLAY) { @@ -149,7 +153,7 @@ int qemu_chr_fe_write(CharBackend *be, const uint8_t *buf, int len) replay_char_write_event_load(&ret, &offset); assert(offset <= len); qemu_chr_fe_write_buffer(s, buf, offset, &offset); - return ret; + goto end; } cc = CHARDEV_GET_CLASS(s); @@ -165,7 +169,9 @@ int qemu_chr_fe_write(CharBackend *be, const uint8_t *buf, int len) if (qemu_chr_replay(s) && replay_mode == REPLAY_MODE_RECORD) { replay_char_write_event_save(ret, ret < 0 ? 0 : ret); } - + +end: + qemu_mutex_unlock(&be->chr_lock); return ret; } @@ -195,13 +201,16 @@ int qemu_chr_write_all(Chardev *s, const uint8_t *buf, int len) int qemu_chr_fe_write_all(CharBackend *be, const uint8_t *buf, int len) { - Chardev *s = be->chr; + Chardev *s; + int ret; - if (!s) { - return 0; - } + qemu_mutex_lock(&be->chr_lock); + + s = be->chr; + ret = s ? qemu_chr_write_all(s, buf, len) : 0; - return qemu_chr_write_all(s, buf, len); + qemu_mutex_unlock(&be->chr_lock); + return ret; } int qemu_chr_fe_read_all(CharBackend *be, uint8_t *buf, int len) @@ -505,6 +514,10 @@ bool qemu_chr_fe_init(CharBackend *b, Chardev *s, Error **errp) b->fe_open = false; b->tag = tag; + + if (!b->chr) { + qemu_mutex_init(&b->chr_lock); + } b->chr = s; return true; @@ -537,9 +550,22 @@ void qemu_chr_fe_deinit(CharBackend *b) d->backends[b->tag] = NULL; } b->chr = NULL; + qemu_mutex_destroy(&b->chr_lock); + if (b->hotswap_bh) { + qemu_bh_delete(b->hotswap_bh); + } } } +void qemu_chr_fe_set_be_change_handler(CharBackend *b, + BackendChangeHandler *be_change) +{ + if (!b->chr) { + return; + } + b->chr_be_change = be_change; +} + void qemu_chr_fe_set_handlers(CharBackend *b, IOCanReadHandler *fd_can_read, IOReadHandler *fd_read, @@ -875,6 +901,123 @@ help_string_append(const char *name, void *opaque) g_string_append_printf(str, "\n%s", name); } +#define CHARDEV_CHANGE_PREFIX "tmp-chardev-xchg-" + +static void qemu_chr_change_bh(void *opaque) +{ + char *id = opaque; + char *tmpid = g_strdup_printf(CHARDEV_CHANGE_PREFIX "%s", id); + Chardev *chr = qemu_chr_find(id); + Chardev *chr_new = qemu_chr_find(tmpid); + CharBackend *be = chr->be; + bool closed_sent = false; + + if (be) { + if (chr->be_open && !chr_new->be_open) { + qemu_chr_be_event(chr, CHR_EVENT_CLOSED); + closed_sent = true; + } + + qemu_mutex_lock(&be->chr_lock); + qemu_chr_fe_init(be, chr_new, &error_abort); + + if (be->chr_be_change(be->opaque) < 0) { + fprintf(stderr, "Chardev '%s' change failed", id); + qemu_chr_fe_init(be, chr, &error_abort); + qemu_mutex_unlock(&be->chr_lock); + if (closed_sent) { + qemu_chr_be_event(chr, CHR_EVENT_OPENED); + } + qemu_chr_delete(chr_new); + g_free(id); + g_free(tmpid); + return; + } + qemu_mutex_unlock(&be->chr_lock); + + chr->be = NULL; + } + + qemu_chr_delete(chr); + g_free(chr_new->label); + chr_new->label = id; + g_free(tmpid); +} + +void qemu_chr_change(QemuOpts *opts, Error **errp) +{ + const char *be_name = qemu_opt_get(opts, "backend"); + const char *id = qemu_opts_id(opts); + char *tmpid; + Chardev *chr, *chr_new; + const ChardevClass *cc; + int i; + + if (!id) { + error_setg(errp, "chardev: no id specified"); + return; + } + + chr = qemu_chr_find(id); + if (!chr) { + error_setg(errp, "Chardev '%s' does not exist", id); + return; + } + + if (!be_name) { + error_setg(errp, "chardev: '%s' missing backend", id); + return; + } + + for (i = 0; i < ARRAY_SIZE(chardev_alias_table); i++) { + if (g_strcmp0(chardev_alias_table[i].alias, be_name) == 0) { + be_name = chardev_alias_table[i].typename; + break; + } + } + + cc = char_get_class(be_name, errp); + if (!cc) { + return; + } + + if (chr->be && !chr->be->chr_be_change) { + error_setg(errp, "Chardev user does not support chardev hotswap"); + return; + } + + if (qemu_chr_replay(chr)) { + error_setg(errp, + "Chardev '%s' cannot be changed in record/replay mode", id); + return; + } + + if (CHARDEV_IS_MUX(chr)) { + error_setg(errp, "Mux device hotswap not supported yet"); + return; + } + + tmpid = g_strdup_printf(CHARDEV_CHANGE_PREFIX "%s", id); + qemu_opts_set_id(opts, tmpid); + chr_new = qemu_chr_new_from_opts(opts, errp); + qemu_opts_set_id(opts, (char *)id); + g_free(tmpid); + + if (!chr_new) { + return; + } + + if (chr->be) { + if (chr->be->hotswap_bh) { + qemu_bh_delete(chr->be->hotswap_bh); + } + chr->be->hotswap_bh = qemu_bh_new(qemu_chr_change_bh, g_strdup(id)); + qemu_bh_schedule(chr->be->hotswap_bh); + } else { + qemu_chr_change_bh(g_strdup(id)); + } +} + Chardev *qemu_chr_new_from_opts(QemuOpts *opts, Error **errp) { diff --git a/hmp.c b/hmp.c index 2bc4f06..70252df 100644 --- a/hmp.c +++ b/hmp.c @@ -1522,6 +1522,20 @@ void hmp_change(Monitor *mon, const QDict *qdict) } } qmp_change("vnc", target, !!arg, arg, &err); + } else if (strcmp(device, "chardev") == 0) { + QemuOpts *opts; + + if (arg == NULL) { + arg = ""; + } + opts = qemu_opts_parse_noisily(qemu_find_opts("chardev"), arg, true); + if (opts == NULL) { + error_setg(&err, "Parsing chardev args failed"); + } else { + qemu_opts_set_id(opts, g_strdup(target)); + qemu_chr_change(opts, &err); + qemu_opts_del(opts); + } } else { if (read_only) { read_only_mode = diff --git a/include/sysemu/char.h b/include/sysemu/char.h index 450881d..3e99953 100644 --- a/include/sysemu/char.h +++ b/include/sysemu/char.h @@ -56,6 +56,7 @@ struct ParallelIOArg { #define CHR_TIOCM_RTS 0x004 typedef void IOEventHandler(void *opaque, int event); +typedef int BackendChangeHandler(void *opaque); typedef enum { /* Whether the chardev peer is able to close and @@ -79,9 +80,12 @@ typedef struct CharBackend { IOEventHandler *chr_event; IOCanReadHandler *chr_can_read; IOReadHandler *chr_read; + BackendChangeHandler *chr_be_change; void *opaque; int tag; int fe_open; + QemuMutex chr_lock; + QEMUBH *hotswap_bh; } CharBackend; struct Chardev { @@ -132,6 +136,14 @@ void qemu_chr_parse_common(QemuOpts *opts, ChardevCommon *backend); */ Chardev *qemu_chr_new(const char *label, const char *filename); +/** + * @qemu_chr_change: + * + * Change an existing character backend + * + * @opts the new backend options + */ +void qemu_chr_change(QemuOpts *opts, Error **errp); /** * @qemu_chr_fe_disconnect: @@ -419,6 +431,19 @@ void qemu_chr_fe_set_handlers(CharBackend *b, bool set_open); /** + * @qemu_chr_fe_set_be_change_handler: + * @be_change: backend change callback + * + * Set the front end handler for the backend hotswap. + * If the handler is not set or set to NULL, no backend hotswap will + * be performed. + * + * Without associated Chardev, nothing is changed. + */ +void qemu_chr_fe_set_be_change_handler(CharBackend *b, + BackendChangeHandler *be_change); + +/** * @qemu_chr_fe_take_focus: * * Take the focus (if the front end is muxed). -- 2.7.4 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] [PATCH 1/2] char: chardevice hotswap 2017-02-09 15:25 ` [Qemu-devel] [PATCH 1/2] char: " Denis V. Lunev @ 2017-02-09 16:09 ` Daniel P. Berrange 2017-02-09 16:43 ` Dr. David Alan Gilbert 0 siblings, 1 reply; 6+ messages in thread From: Daniel P. Berrange @ 2017-02-09 16:09 UTC (permalink / raw) To: Denis V. Lunev Cc: qemu-devel, Anton Nefedov, Dr. David Alan Gilbert, Marc-André Lureau, Paolo Bonzini On Thu, Feb 09, 2017 at 06:25:33PM +0300, Denis V. Lunev wrote: > From: Anton Nefedov <anton.nefedov@virtuozzo.com> > > This patch adds a possibility to change a char device without a frontend > removal. > > Ideally, it would have to happen transparently to a frontend, i.e. frontend > would continue its regular operation. However, backends are not stateles > and are set up by the frontends via qemu_chr_fe_<> functions, and it's not > (generally) possible to replay that setup entirely in a backend code, as > different chardevs respond to the setup calls differently, so do frontends > work differently basing on those setup responses. Moreover, some frontend > can generally get and save the backend pointer (qemu_chr_fe_get_driver()), > and it will become invalid after backend change. > > So, a frontend which would like to support chardev hotswap has to register > a "backend change" handler, and redo its backend setup there. > > Write path can be used by multiple threads and thus protected with > chr_write_lock. So hotswap also has to be protected so write functions > won't access a backend being replaced. > > 3. Hotswap function can be called from e.g. a read handler of a monitor > socket. This can cause troubles so it's safer to defer execution to > a bottom-half. (however, it means we cannot return some of the errors > synchronously - but most of them we can) > > Signed-off-by: Anton Nefedov <anton.nefedov@virtuozzo.com> > Signed-off-by: Denis V. Lunev <den@openvz.org> > CC: Paolo Bonzini <pbonzini@redhat.com> > CC: "Marc-André Lureau" <marcandre.lureau@redhat.com> > CC: "Dr. David Alan Gilbert" <dgilbert@redhat.com> > --- > chardev/char.c | 161 +++++++++++++++++++++++++++++++++++++++++++++++--- > hmp.c | 14 +++++ IIRC we required new commands to have a QMP addition and the new HMP function written by invoking the QMP handler. > diff --git a/hmp.c b/hmp.c > index 2bc4f06..70252df 100644 > --- a/hmp.c > +++ b/hmp.c > @@ -1522,6 +1522,20 @@ void hmp_change(Monitor *mon, const QDict *qdict) > } > } > qmp_change("vnc", target, !!arg, arg, &err); > + } else if (strcmp(device, "chardev") == 0) { > + QemuOpts *opts; > + > + if (arg == NULL) { > + arg = ""; > + } > + opts = qemu_opts_parse_noisily(qemu_find_opts("chardev"), arg, true); > + if (opts == NULL) { > + error_setg(&err, "Parsing chardev args failed"); > + } else { > + qemu_opts_set_id(opts, g_strdup(target)); > + qemu_chr_change(opts, &err); > + qemu_opts_del(opts); > + } The hmp 'change' command is/was a huge mistake. We shouldn't continue to add stuff to it - create dedicated commands for any new functionality instead of over-loading it one command todo many different things. Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://entangle-photo.org -o- http://search.cpan.org/~danberr/ :| ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] [PATCH 1/2] char: chardevice hotswap 2017-02-09 16:09 ` Daniel P. Berrange @ 2017-02-09 16:43 ` Dr. David Alan Gilbert 0 siblings, 0 replies; 6+ messages in thread From: Dr. David Alan Gilbert @ 2017-02-09 16:43 UTC (permalink / raw) To: Daniel P. Berrange Cc: Denis V. Lunev, qemu-devel, Anton Nefedov, Marc-André Lureau, Paolo Bonzini * Daniel P. Berrange (berrange@redhat.com) wrote: > On Thu, Feb 09, 2017 at 06:25:33PM +0300, Denis V. Lunev wrote: > > From: Anton Nefedov <anton.nefedov@virtuozzo.com> > > > > This patch adds a possibility to change a char device without a frontend > > removal. > > > > Ideally, it would have to happen transparently to a frontend, i.e. frontend > > would continue its regular operation. However, backends are not stateles > > and are set up by the frontends via qemu_chr_fe_<> functions, and it's not > > (generally) possible to replay that setup entirely in a backend code, as > > different chardevs respond to the setup calls differently, so do frontends > > work differently basing on those setup responses. Moreover, some frontend > > can generally get and save the backend pointer (qemu_chr_fe_get_driver()), > > and it will become invalid after backend change. > > > > So, a frontend which would like to support chardev hotswap has to register > > a "backend change" handler, and redo its backend setup there. > > > > Write path can be used by multiple threads and thus protected with > > chr_write_lock. So hotswap also has to be protected so write functions > > won't access a backend being replaced. > > > > 3. Hotswap function can be called from e.g. a read handler of a monitor > > socket. This can cause troubles so it's safer to defer execution to > > a bottom-half. (however, it means we cannot return some of the errors > > synchronously - but most of them we can) > > > > Signed-off-by: Anton Nefedov <anton.nefedov@virtuozzo.com> > > Signed-off-by: Denis V. Lunev <den@openvz.org> > > CC: Paolo Bonzini <pbonzini@redhat.com> > > CC: "Marc-André Lureau" <marcandre.lureau@redhat.com> > > CC: "Dr. David Alan Gilbert" <dgilbert@redhat.com> > > --- > > chardev/char.c | 161 +++++++++++++++++++++++++++++++++++++++++++++++--- > > hmp.c | 14 +++++ > > IIRC we required new commands to have a QMP addition and the new HMP > function written by invoking the QMP handler. > > > > diff --git a/hmp.c b/hmp.c > > index 2bc4f06..70252df 100644 > > --- a/hmp.c > > +++ b/hmp.c > > @@ -1522,6 +1522,20 @@ void hmp_change(Monitor *mon, const QDict *qdict) > > } > > } > > qmp_change("vnc", target, !!arg, arg, &err); > > + } else if (strcmp(device, "chardev") == 0) { > > + QemuOpts *opts; > > + > > + if (arg == NULL) { > > + arg = ""; > > + } > > + opts = qemu_opts_parse_noisily(qemu_find_opts("chardev"), arg, true); > > + if (opts == NULL) { > > + error_setg(&err, "Parsing chardev args failed"); > > + } else { > > + qemu_opts_set_id(opts, g_strdup(target)); > > + qemu_chr_change(opts, &err); > > + qemu_opts_del(opts); > > + } > > The hmp 'change' command is/was a huge mistake. We shouldn't continue > to add stuff to it - create dedicated commands for any new functionality > instead of over-loading it one command todo many different things. Hmm. There's an experimental qmp command - x-blockdev-change (see 7f821597 ) for a failover for block use. I did post an HMP equivalent https://lists.gnu.org/archive/html/qemu-devel/2015-12/msg02864.html which hasn't gone in yet. So something similar for char might be what you want. I had wondered if a T adapter for chardevs would be useful in a few situations, and maybe it would be here; i.e. something where output is sent to all the outputs, and input is aggregated from the inputs. Dave > > Regards, > Daniel > -- > |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| > |: http://libvirt.org -o- http://virt-manager.org :| > |: http://entangle-photo.org -o- http://search.cpan.org/~danberr/ :| -- Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Qemu-devel] [PATCH 2/2] virtio-console: chardev hotswap support 2017-02-09 15:25 [Qemu-devel] [PATCH 0/2] chardevice hotswap Denis V. Lunev 2017-02-09 15:25 ` [Qemu-devel] [PATCH 1/2] char: " Denis V. Lunev @ 2017-02-09 15:25 ` Denis V. Lunev 2017-02-09 15:37 ` [Qemu-devel] [PATCH 0/2] chardevice hotswap no-reply 2 siblings, 0 replies; 6+ messages in thread From: Denis V. Lunev @ 2017-02-09 15:25 UTC (permalink / raw) To: qemu-devel Cc: Anton Nefedov, Denis V . Lunev, Paolo Bonzini, Marc-André Lureau, Dr. David Alan Gilbert From: Anton Nefedov <anton.nefedov@virtuozzo.com> Signed-off-by: Anton Nefedov <anton.nefedov@virtuozzo.com> Signed-off-by: Denis V. Lunev <den@openvz.org> CC: Paolo Bonzini <pbonzini@redhat.com> CC: "Marc-André Lureau" <marcandre.lureau@redhat.com> CC: "Dr. David Alan Gilbert" <dgilbert@redhat.com> --- hw/char/virtio-console.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/hw/char/virtio-console.c b/hw/char/virtio-console.c index 798d9b6..4827219 100644 --- a/hw/char/virtio-console.c +++ b/hw/char/virtio-console.c @@ -163,6 +163,29 @@ static void chr_event(void *opaque, int event) } } +static int chr_be_change(void *opaque) +{ + VirtConsole *vcon = opaque; + VirtIOSerialPort *port = VIRTIO_SERIAL_PORT(vcon); + VirtIOSerialPortClass *k = VIRTIO_SERIAL_PORT_GET_CLASS(port); + + if (k->is_console) { + qemu_chr_fe_set_handlers(&vcon->chr, chr_can_read, chr_read, + NULL, vcon, NULL, true); + } else { + qemu_chr_fe_set_handlers(&vcon->chr, chr_can_read, chr_read, + chr_event, vcon, NULL, false); + } + if (vcon->watch) { + g_source_remove(vcon->watch); + vcon->watch = qemu_chr_fe_add_watch(&vcon->chr, + G_IO_OUT | G_IO_HUP, + chr_write_unblocked, vcon); + } + + return 0; +} + static void virtconsole_realize(DeviceState *dev, Error **errp) { VirtIOSerialPort *port = VIRTIO_SERIAL_PORT(dev); @@ -194,6 +217,7 @@ static void virtconsole_realize(DeviceState *dev, Error **errp) qemu_chr_fe_set_handlers(&vcon->chr, chr_can_read, chr_read, chr_event, vcon, NULL, false); } + qemu_chr_fe_set_be_change_handler(&vcon->chr, chr_be_change); } } -- 2.7.4 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [Qemu-devel] [PATCH 0/2] chardevice hotswap 2017-02-09 15:25 [Qemu-devel] [PATCH 0/2] chardevice hotswap Denis V. Lunev 2017-02-09 15:25 ` [Qemu-devel] [PATCH 1/2] char: " Denis V. Lunev 2017-02-09 15:25 ` [Qemu-devel] [PATCH 2/2] virtio-console: chardev hotswap support Denis V. Lunev @ 2017-02-09 15:37 ` no-reply 2 siblings, 0 replies; 6+ messages in thread From: no-reply @ 2017-02-09 15:37 UTC (permalink / raw) To: den; +Cc: famz, qemu-devel, anton.nefedov, dgilbert, marcandre.lureau, pbonzini Hi, Your series failed automatic build test. Please find the testing commands and their output below. If you have docker installed, you can probably reproduce it locally. Subject: [Qemu-devel] [PATCH 0/2] chardevice hotswap Message-id: 1486653934-14805-1-git-send-email-den@openvz.org Type: series === TEST SCRIPT BEGIN === #!/bin/bash set -e git submodule update --init dtc # Let docker tests dump environment info export SHOW_ENV=1 export J=16 make docker-test-quick@centos6 make docker-test-mingw@fedora make docker-test-build@min-glib === TEST SCRIPT END === Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384 Switched to a new branch 'test' 022327d virtio-console: chardev hotswap support 9c65568 char: chardevice hotswap === OUTPUT BEGIN === Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc' Cloning into 'dtc'... Submodule path 'dtc': checked out '65cc4d2748a2c2e6f27f1cf39e07a5dbabd80ebf' BUILD centos6 make[1]: Entering directory `/var/tmp/patchew-tester-tmp-u78f8sby/src' ARCHIVE qemu.tgz ARCHIVE dtc.tgz COPY RUNNER RUN test-quick in qemu:centos6 Packages installed: SDL-devel-1.2.14-7.el6_7.1.x86_64 ccache-3.1.6-2.el6.x86_64 epel-release-6-8.noarch gcc-4.4.7-17.el6.x86_64 git-1.7.1-4.el6_7.1.x86_64 glib2-devel-2.28.8-5.el6.x86_64 libfdt-devel-1.4.0-1.el6.x86_64 make-3.81-23.el6.x86_64 package g++ is not installed pixman-devel-0.32.8-1.el6.x86_64 tar-1.23-15.el6_8.x86_64 zlib-devel-1.2.3-29.el6.x86_64 Environment variables: PACKAGES=libfdt-devel ccache tar git make gcc g++ zlib-devel glib2-devel SDL-devel pixman-devel epel-release HOSTNAME=49eee394ba7f TERM=xterm MAKEFLAGS= -j16 HISTSIZE=1000 J=16 USER=root CCACHE_DIR=/var/tmp/ccache EXTRA_CONFIGURE_OPTS= V= SHOW_ENV=1 MAIL=/var/spool/mail/root PATH=/usr/lib/ccache:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PWD=/ LANG=en_US.UTF-8 TARGET_LIST= HISTCONTROL=ignoredups SHLVL=1 HOME=/root TEST_DIR=/tmp/qemu-test LOGNAME=root LESSOPEN=||/usr/bin/lesspipe.sh %s FEATURES= dtc DEBUG= G_BROKEN_FILENAMES=1 CCACHE_HASHDIR= _=/usr/bin/env Configure options: --enable-werror --target-list=x86_64-softmmu,aarch64-softmmu --prefix=/var/tmp/qemu-build/install No C++ compiler available; disabling C++ specific optional code Install prefix /var/tmp/qemu-build/install BIOS directory /var/tmp/qemu-build/install/share/qemu binary directory /var/tmp/qemu-build/install/bin library directory /var/tmp/qemu-build/install/lib module directory /var/tmp/qemu-build/install/lib/qemu libexec directory /var/tmp/qemu-build/install/libexec include directory /var/tmp/qemu-build/install/include config directory /var/tmp/qemu-build/install/etc local state directory /var/tmp/qemu-build/install/var Manual directory /var/tmp/qemu-build/install/share/man ELF interp prefix /usr/gnemul/qemu-%M Source path /tmp/qemu-test/src C compiler cc Host C compiler cc C++ compiler Objective-C compiler cc ARFLAGS rv CFLAGS -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -g QEMU_CFLAGS -I/usr/include/pixman-1 -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all LDFLAGS -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -pie -m64 -g make make install install python python -B smbd /usr/sbin/smbd module support no host CPU x86_64 host big endian no target list x86_64-softmmu aarch64-softmmu tcg debug enabled no gprof enabled no sparse enabled no strip binaries yes profiler no static build no pixman system SDL support yes (1.2.14) GTK support no GTK GL support no VTE support no TLS priority NORMAL GNUTLS support no GNUTLS rnd no libgcrypt no libgcrypt kdf no nettle no nettle kdf no libtasn1 no curses support no virgl support no curl support no mingw32 support no Audio drivers oss Block whitelist (rw) Block whitelist (ro) VirtFS support no VNC support yes VNC SASL support no VNC JPEG support no VNC PNG support no xen support no brlapi support no bluez support no Documentation no PIE yes vde support no netmap support no Linux AIO support no ATTR/XATTR support yes Install blobs yes KVM support yes HAX support no RDMA support no TCG interpreter no fdt support yes preadv support yes fdatasync yes madvise yes posix_madvise yes libcap-ng support no vhost-net support yes vhost-scsi support yes vhost-vsock support yes Trace backends log spice support no rbd support no xfsctl support no smartcard support no libusb no usb net redir no OpenGL support no OpenGL dmabufs no libiscsi support no libnfs support no build guest agent yes QGA VSS support no QGA w32 disk info no QGA MSI support no seccomp support no coroutine backend ucontext coroutine pool yes debug stack usage no GlusterFS support no Archipelago support no gcov gcov gcov enabled no TPM support yes libssh2 support no TPM passthrough yes QOM debugging yes lzo support no snappy support no bzip2 support no NUMA host support no tcmalloc support no jemalloc support no avx2 optimization no replication support yes GEN x86_64-softmmu/config-devices.mak.tmp GEN aarch64-softmmu/config-devices.mak.tmp GEN qemu-options.def GEN config-host.h GEN qmp-commands.h GEN qapi-types.h GEN qapi-visit.h GEN qapi-event.h GEN qmp-introspect.h GEN trace/generated-tcg-tracers.h GEN trace/generated-helpers-wrappers.h GEN trace/generated-helpers.h GEN module_block.h GEN tests/test-qapi-types.h GEN tests/test-qapi-visit.h GEN tests/test-qmp-commands.h GEN x86_64-softmmu/config-devices.mak GEN aarch64-softmmu/config-devices.mak GEN tests/test-qapi-event.h GEN tests/test-qmp-introspect.h GEN trace-root.h GEN util/trace.h GEN crypto/trace.h GEN io/trace.h GEN migration/trace.h GEN block/trace.h GEN hw/block/trace.h GEN hw/block/dataplane/trace.h GEN hw/char/trace.h GEN hw/intc/trace.h GEN hw/net/trace.h GEN hw/virtio/trace.h GEN hw/audio/trace.h GEN hw/misc/trace.h GEN hw/usb/trace.h GEN hw/scsi/trace.h GEN hw/nvram/trace.h GEN hw/display/trace.h GEN hw/input/trace.h GEN hw/timer/trace.h GEN hw/dma/trace.h GEN hw/sparc/trace.h GEN hw/sd/trace.h GEN hw/isa/trace.h GEN hw/mem/trace.h GEN hw/i386/trace.h GEN hw/i386/xen/trace.h GEN hw/9pfs/trace.h GEN hw/ppc/trace.h GEN hw/pci/trace.h GEN hw/s390x/trace.h GEN hw/vfio/trace.h GEN hw/acpi/trace.h GEN hw/arm/trace.h GEN hw/alpha/trace.h GEN hw/xen/trace.h GEN ui/trace.h GEN audio/trace.h GEN net/trace.h GEN target/arm/trace.h GEN target/i386/trace.h GEN target/sparc/trace.h GEN target/s390x/trace.h GEN target/ppc/trace.h GEN qom/trace.h GEN linux-user/trace.h GEN qapi/trace.h GEN config-all-devices.mak CC tests/qemu-iotests/socket_scm_helper.o GEN qga/qapi-generated/qga-qmp-commands.h GEN qga/qapi-generated/qga-qapi-types.h GEN qga/qapi-generated/qga-qapi-visit.h GEN qga/qapi-generated/qga-qapi-types.c GEN qga/qapi-generated/qga-qapi-visit.c GEN qga/qapi-generated/qga-qmp-marshal.c GEN trace-root.c GEN util/trace.c GEN crypto/trace.c GEN io/trace.c GEN migration/trace.c GEN block/trace.c GEN hw/block/trace.c GEN hw/block/dataplane/trace.c GEN hw/char/trace.c GEN hw/intc/trace.c GEN hw/net/trace.c GEN hw/virtio/trace.c GEN hw/audio/trace.c GEN hw/misc/trace.c GEN hw/usb/trace.c GEN hw/scsi/trace.c GEN hw/nvram/trace.c GEN hw/display/trace.c GEN hw/input/trace.c GEN hw/timer/trace.c GEN hw/dma/trace.c GEN hw/sparc/trace.c GEN hw/sd/trace.c GEN hw/isa/trace.c GEN hw/mem/trace.c GEN hw/i386/trace.c GEN hw/i386/xen/trace.c GEN hw/9pfs/trace.c GEN hw/ppc/trace.c GEN hw/pci/trace.c GEN hw/s390x/trace.c GEN hw/vfio/trace.c GEN hw/acpi/trace.c GEN hw/arm/trace.c GEN hw/alpha/trace.c GEN hw/xen/trace.c GEN ui/trace.c GEN audio/trace.c GEN net/trace.c GEN target/arm/trace.c GEN target/i386/trace.c GEN target/sparc/trace.c GEN target/s390x/trace.c GEN target/ppc/trace.c GEN qom/trace.c GEN linux-user/trace.c GEN qapi/trace.c GEN qmp-introspect.c GEN qapi-types.c GEN qapi-visit.c GEN qapi-event.c CC qapi/qapi-visit-core.o CC qapi/qapi-dealloc-visitor.o CC qapi/qobject-input-visitor.o CC qapi/qobject-output-visitor.o CC qapi/qmp-registry.o CC qapi/qmp-dispatch.o CC qapi/string-input-visitor.o CC qapi/string-output-visitor.o CC qapi/opts-visitor.o CC qapi/qapi-clone-visitor.o CC qapi/qmp-event.o CC qapi/qapi-util.o CC qobject/qnull.o CC qobject/qint.o CC qobject/qdict.o CC qobject/qstring.o CC qobject/qlist.o CC qobject/qfloat.o CC qobject/qbool.o CC qobject/qjson.o CC qobject/qobject.o CC qobject/json-lexer.o CC qobject/json-streamer.o CC qobject/json-parser.o CC trace/control.o CC trace/qmp.o CC util/osdep.o CC util/cutils.o CC util/unicode.o CC util/qemu-timer-common.o CC util/bufferiszero.o CC util/lockcnt.o CC util/compatfd.o CC util/event_notifier-posix.o CC util/oslib-posix.o CC util/mmap-alloc.o CC util/qemu-openpty.o CC util/qemu-thread-posix.o CC util/memfd.o CC util/envlist.o CC util/path.o CC util/module.o CC util/host-utils.o CC util/bitops.o CC util/bitmap.o CC util/hbitmap.o CC util/fifo8.o CC util/acl.o CC util/error.o CC util/qemu-error.o CC util/id.o CC util/iov.o CC util/qemu-config.o CC util/qemu-sockets.o CC util/uri.o CC util/notify.o CC util/qemu-option.o CC util/qemu-progress.o CC util/hexdump.o CC util/crc32c.o CC util/uuid.o CC util/throttle.o CC util/getauxval.o CC util/readline.o CC util/rcu.o CC util/qemu-coroutine.o CC util/qemu-coroutine-lock.o CC util/qemu-coroutine-io.o CC util/qemu-coroutine-sleep.o CC util/coroutine-ucontext.o CC util/buffer.o CC util/timed-average.o CC util/base64.o CC util/qdist.o CC util/log.o CC util/qht.o CC crypto/pbkdf-stub.o CC util/range.o CC stubs/arch-query-cpu-def.o CC stubs/arch-query-cpu-model-expansion.o CC stubs/arch-query-cpu-model-comparison.o CC stubs/arch-query-cpu-model-baseline.o CC stubs/bdrv-next-monitor-owned.o CC stubs/blk-commit-all.o CC stubs/blockdev-close-all-bdrv-states.o CC stubs/clock-warp.o CC stubs/cpu-get-clock.o CC stubs/cpu-get-icount.o CC stubs/dump.o CC stubs/error-printf.o CC stubs/fdset.o CC stubs/gdbstub.o CC stubs/get-vm-name.o CC stubs/iothread.o CC stubs/iothread-lock.o CC stubs/is-daemonized.o CC stubs/migr-blocker.o CC stubs/machine-init-done.o CC stubs/monitor.o CC stubs/notify-event.o CC stubs/qtest.o CC stubs/replay.o CC stubs/runstate-check.o CC stubs/set-fd-handler.o CC stubs/slirp.o CC stubs/sysbus.o CC stubs/trace-control.o CC stubs/uuid.o CC stubs/vm-stop.o CC stubs/vmstate.o CC stubs/qmp_pc_dimm_device_list.o CC stubs/target-monitor-defs.o CC stubs/target-get-monitor-def.o CC stubs/pc_madt_cpu_entry.o CC contrib/ivshmem-client/ivshmem-client.o CC contrib/ivshmem-client/main.o CC contrib/ivshmem-server/ivshmem-server.o CC contrib/ivshmem-server/main.o CC qemu-nbd.o CC async.o CC thread-pool.o CC block.o CC blockjob.o CC main-loop.o CC iohandler.o CC qemu-timer.o CC aio-posix.o CC qemu-io-cmds.o CC replication.o CC block/raw-format.o CC block/qcow.o CC block/vdi.o CC block/vmdk.o CC block/cloop.o CC block/bochs.o CC block/vpc.o CC block/vvfat.o CC block/dmg.o CC block/qcow2.o CC block/qcow2-refcount.o CC block/qcow2-cluster.o CC block/qcow2-snapshot.o CC block/qcow2-cache.o CC block/qed.o CC block/qed-gencb.o CC block/qed-l2-cache.o CC block/qed-table.o CC block/qed-cluster.o CC block/qed-check.o CC block/vhdx.o CC block/vhdx-endian.o CC block/vhdx-log.o CC block/quorum.o CC block/parallels.o CC block/blkdebug.o CC block/blkverify.o CC block/blkreplay.o CC block/block-backend.o CC block/snapshot.o CC block/qapi.o CC block/file-posix.o CC block/null.o CC block/mirror.o CC block/commit.o CC block/io.o CC block/throttle-groups.o CC block/nbd.o CC block/nbd-client.o CC block/sheepdog.o CC block/accounting.o CC block/dirty-bitmap.o CC block/write-threshold.o CC block/backup.o CC block/replication.o CC block/crypto.o CC nbd/server.o CC nbd/client.o CC nbd/common.o CC crypto/init.o CC crypto/hash.o CC crypto/hash-glib.o CC crypto/hmac.o CC crypto/hmac-glib.o CC crypto/aes.o CC crypto/desrfb.o CC crypto/tlscreds.o CC crypto/cipher.o CC crypto/tlscredsanon.o CC crypto/tlscredsx509.o CC crypto/tlssession.o CC crypto/secret.o CC crypto/random-platform.o CC crypto/pbkdf.o CC crypto/ivgen.o CC crypto/ivgen-essiv.o CC crypto/ivgen-plain.o CC crypto/ivgen-plain64.o CC crypto/afsplit.o CC crypto/xts.o CC crypto/block.o CC crypto/block-qcow.o CC io/channel.o CC crypto/block-luks.o CC io/channel-buffer.o CC io/channel-command.o CC io/channel-file.o CC io/channel-socket.o CC io/channel-tls.o CC io/channel-watch.o CC io/channel-websock.o CC io/channel-util.o CC io/dns-resolver.o CC io/task.o CC qom/container.o CC qom/object.o CC qom/qom-qobject.o CC qom/object_interfaces.o GEN qemu-img-cmds.h CC qemu-io.o CC qemu-bridge-helper.o CC blockdev.o CC blockdev-nbd.o CC iothread.o CC qdev-monitor.o CC device-hotplug.o CC page_cache.o CC os-posix.o CC accel.o CC bt-vhci.o CC bt-host.o CC dma-helpers.o CC vl.o CC tpm.o CC device_tree.o GEN qmp-marshal.c CC qmp.o CC hmp.o CC cpus-common.o CC audio/audio.o CC audio/noaudio.o CC audio/wavaudio.o CC audio/sdlaudio.o CC audio/mixeng.o CC audio/ossaudio.o CC audio/wavcapture.o CC backends/rng.o CC backends/rng-egd.o CC backends/rng-random.o CC backends/msmouse.o CC backends/testdev.o CC backends/tpm.o CC backends/hostmem.o CC backends/hostmem-ram.o CC backends/hostmem-file.o CC backends/cryptodev.o CC backends/cryptodev-builtin.o CC block/stream.o CC disas/arm.o CC disas/i386.o CC fsdev/qemu-fsdev-dummy.o CC fsdev/qemu-fsdev-opts.o CC hw/acpi/core.o CC hw/acpi/piix4.o CC hw/acpi/pcihp.o CC hw/acpi/ich9.o CC hw/acpi/tco.o CC hw/acpi/memory_hotplug.o CC hw/acpi/cpu_hotplug.o CC hw/acpi/cpu.o CC hw/acpi/nvdimm.o CC hw/acpi/acpi_interface.o CC hw/acpi/bios-linker-loader.o CC hw/acpi/aml-build.o CC hw/acpi/ipmi.o CC hw/acpi/acpi-stub.o CC hw/acpi/ipmi-stub.o CC hw/audio/sb16.o CC hw/audio/es1370.o CC hw/audio/ac97.o CC hw/audio/fmopl.o CC hw/audio/adlib.o CC hw/audio/gusemu_hal.o CC hw/audio/gus.o CC hw/audio/gusemu_mixer.o CC hw/audio/cs4231a.o CC hw/audio/intel-hda.o CC hw/audio/hda-codec.o CC hw/audio/pcspk.o CC hw/audio/wm8750.o CC hw/audio/pl041.o CC hw/audio/lm4549.o CC hw/block/block.o CC hw/audio/marvell_88w8618.o CC hw/block/cdrom.o CC hw/block/hd-geometry.o CC hw/block/fdc.o CC hw/block/m25p80.o CC hw/block/nand.o CC hw/block/pflash_cfi01.o CC hw/block/ecc.o CC hw/block/pflash_cfi02.o CC hw/block/onenand.o CC hw/block/nvme.o CC hw/bt/core.o CC hw/bt/l2cap.o CC hw/bt/hci.o CC hw/bt/sdp.o CC hw/bt/hid.o CC hw/bt/hci-csr.o CC hw/char/ipoctal232.o CC hw/char/parallel.o CC hw/char/pl011.o CC hw/char/serial.o CC hw/char/serial-isa.o CC hw/char/serial-pci.o CC hw/char/virtio-console.o CC hw/char/cadence_uart.o CC hw/char/debugcon.o CC hw/char/imx_serial.o CC hw/core/qdev.o CC hw/core/qdev-properties.o CC hw/core/bus.o CC hw/core/reset.o CC hw/core/fw-path-provider.o CC hw/core/irq.o CC hw/core/hotplug.o CC hw/core/ptimer.o CC hw/core/sysbus.o CC hw/core/machine.o CC hw/core/loader.o CC hw/core/qdev-properties-system.o CC hw/core/register.o CC hw/core/or-irq.o CC hw/core/platform-bus.o CC hw/display/ads7846.o CC hw/display/cirrus_vga.o CC hw/display/pl110.o CC hw/display/ssd0303.o CC hw/display/ssd0323.o CC hw/display/vga-pci.o CC hw/display/vga-isa.o CC hw/display/vmware_vga.o CC hw/display/blizzard.o CC hw/display/exynos4210_fimd.o CC hw/display/framebuffer.o CC hw/display/tc6393xb.o CC hw/dma/pl080.o CC hw/dma/pl330.o CC hw/dma/i8257.o CC hw/dma/xlnx-zynq-devcfg.o CC hw/gpio/max7310.o CC hw/gpio/pl061.o CC hw/gpio/zaurus.o CC hw/gpio/gpio_key.o CC hw/i2c/core.o CC hw/i2c/smbus.o CC hw/i2c/smbus_eeprom.o CC hw/i2c/i2c-ddc.o CC hw/i2c/versatile_i2c.o CC hw/i2c/smbus_ich9.o CC hw/i2c/pm_smbus.o CC hw/i2c/bitbang_i2c.o CC hw/i2c/exynos4210_i2c.o CC hw/i2c/imx_i2c.o CC hw/i2c/aspeed_i2c.o CC hw/ide/core.o CC hw/ide/atapi.o CC hw/ide/qdev.o CC hw/ide/pci.o CC hw/ide/isa.o CC hw/ide/microdrive.o CC hw/ide/piix.o CC hw/ide/ahci.o CC hw/ide/ich.o CC hw/input/lm832x.o CC hw/input/hid.o CC hw/input/pckbd.o CC hw/input/pl050.o CC hw/input/stellaris_input.o CC hw/input/tsc2005.o CC hw/input/ps2.o CC hw/input/vmmouse.o CC hw/input/virtio-input-hid.o CC hw/input/virtio-input.o CC hw/input/virtio-input-host.o CC hw/intc/i8259_common.o CC hw/intc/i8259.o CC hw/intc/pl190.o CC hw/intc/imx_avic.o CC hw/intc/arm_gic_common.o CC hw/intc/ioapic_common.o CC hw/intc/realview_gic.o CC hw/intc/arm_gic.o CC hw/intc/arm_gicv2m.o CC hw/intc/arm_gicv3.o CC hw/intc/arm_gicv3_common.o CC hw/intc/arm_gicv3_redist.o CC hw/intc/arm_gicv3_dist.o CC hw/intc/arm_gicv3_its_common.o CC hw/intc/intc.o CC hw/ipack/ipack.o CC hw/ipack/tpci200.o CC hw/ipmi/ipmi_bmc_extern.o CC hw/ipmi/ipmi_bmc_sim.o CC hw/ipmi/ipmi.o CC hw/ipmi/isa_ipmi_kcs.o CC hw/ipmi/isa_ipmi_bt.o CC hw/isa/apm.o CC hw/isa/isa-bus.o CC hw/mem/nvdimm.o CC hw/mem/pc-dimm.o CC hw/misc/applesmc.o CC hw/misc/max111x.o CC hw/misc/tmp105.o CC hw/misc/debugexit.o CC hw/misc/sga.o CC hw/misc/pc-testdev.o CC hw/misc/pci-testdev.o CC hw/misc/unimp.o CC hw/misc/arm_l2x0.o CC hw/misc/arm_integrator_debug.o CC hw/misc/a9scu.o CC hw/misc/arm11scu.o CC hw/net/eepro100.o CC hw/net/ne2000.o CC hw/net/pcnet-pci.o CC hw/net/pcnet.o CC hw/net/e1000.o CC hw/net/e1000x_common.o CC hw/net/net_tx_pkt.o CC hw/net/e1000e.o CC hw/net/net_rx_pkt.o CC hw/net/e1000e_core.o CC hw/net/rtl8139.o CC hw/net/vmxnet3.o CC hw/net/smc91c111.o CC hw/net/lan9118.o CC hw/net/ne2000-isa.o CC hw/net/xgmac.o CC hw/net/allwinner_emac.o CC hw/net/imx_fec.o CC hw/net/cadence_gem.o CC hw/net/stellaris_enet.o CC hw/net/rocker/rocker.o CC hw/net/rocker/rocker_desc.o CC hw/net/rocker/rocker_fp.o CC hw/net/rocker/rocker_world.o CC hw/net/rocker/rocker_of_dpa.o CC hw/nvram/eeprom93xx.o CC hw/nvram/fw_cfg.o CC hw/nvram/chrp_nvram.o CC hw/pci-bridge/pci_bridge_dev.o CC hw/pci-bridge/pcie_root_port.o CC hw/pci-bridge/gen_pcie_root_port.o CC hw/pci-bridge/pci_expander_bridge.o CC hw/pci-bridge/xio3130_upstream.o CC hw/pci-bridge/xio3130_downstream.o CC hw/pci-bridge/ioh3420.o CC hw/pci-bridge/i82801b11.o CC hw/pci-host/versatile.o CC hw/pci-host/piix.o CC hw/pci-host/pam.o CC hw/pci-host/q35.o CC hw/pci-host/gpex.o CC hw/pci/pci.o CC hw/pci/pci_bridge.o CC hw/pci/msix.o CC hw/pci/msi.o CC hw/pci/shpc.o CC hw/pci/slotid_cap.o CC hw/pci/pci_host.o CC hw/pci/pcie_host.o CC hw/pci/pcie.o CC hw/pci/pcie_aer.o CC hw/pci/pcie_port.o CC hw/pci/pci-stub.o CC hw/pcmcia/pcmcia.o CC hw/scsi/scsi-disk.o CC hw/scsi/scsi-generic.o CC hw/scsi/scsi-bus.o CC hw/scsi/lsi53c895a.o CC hw/scsi/mptconfig.o CC hw/scsi/mptsas.o CC hw/scsi/mptendian.o CC hw/scsi/megasas.o CC hw/scsi/vmw_pvscsi.o CC hw/scsi/esp.o CC hw/scsi/esp-pci.o CC hw/sd/pl181.o CC hw/sd/ssi-sd.o CC hw/sd/sd.o CC hw/sd/core.o CC hw/sd/sdhci.o CC hw/smbios/smbios.o CC hw/smbios/smbios_type_38.o CC hw/smbios/smbios-stub.o CC hw/smbios/smbios_type_38-stub.o CC hw/ssi/pl022.o CC hw/ssi/ssi.o CC hw/ssi/xilinx_spips.o CC hw/ssi/aspeed_smc.o CC hw/timer/arm_mptimer.o CC hw/ssi/stm32f2xx_spi.o CC hw/timer/arm_timer.o CC hw/timer/a9gtimer.o CC hw/timer/cadence_ttc.o CC hw/timer/ds1338.o CC hw/timer/hpet.o CC hw/timer/i8254_common.o CC hw/timer/i8254.o CC hw/timer/pl031.o CC hw/timer/twl92230.o CC hw/timer/imx_epit.o CC hw/timer/imx_gpt.o CC hw/timer/stm32f2xx_timer.o CC hw/timer/aspeed_timer.o CC hw/tpm/tpm_passthrough.o CC hw/tpm/tpm_tis.o CC hw/usb/core.o CC hw/tpm/tpm_util.o CC hw/usb/bus.o CC hw/usb/combined-packet.o CC hw/usb/libhw.o CC hw/usb/desc.o CC hw/usb/desc-msos.o CC hw/usb/hcd-uhci.o CC hw/usb/hcd-ehci-pci.o CC hw/usb/hcd-ohci.o CC hw/usb/hcd-ehci.o CC hw/usb/hcd-ehci-sysbus.o CC hw/usb/hcd-xhci.o CC hw/usb/hcd-musb.o CC hw/usb/dev-hub.o CC hw/usb/dev-hid.o CC hw/usb/dev-wacom.o CC hw/usb/dev-uas.o CC hw/usb/dev-storage.o CC hw/usb/dev-audio.o CC hw/usb/dev-network.o CC hw/usb/dev-serial.o CC hw/usb/dev-bluetooth.o CC hw/usb/dev-mtp.o CC hw/usb/dev-smartcard-reader.o CC hw/usb/host-stub.o CC hw/virtio/virtio-rng.o CC hw/virtio/virtio-pci.o CC hw/virtio/virtio-bus.o CC hw/virtio/virtio-mmio.o CC hw/virtio/vhost-stub.o CC hw/watchdog/watchdog.o CC hw/watchdog/wdt_i6300esb.o CC hw/watchdog/wdt_ib700.o CC migration/migration.o CC hw/watchdog/wdt_aspeed.o CC migration/socket.o CC migration/exec.o CC migration/fd.o CC migration/tls.o CC migration/colo-comm.o CC migration/colo.o CC migration/colo-failover.o CC migration/vmstate.o CC migration/qemu-file.o CC migration/xbzrle.o CC migration/qemu-file-channel.o CC migration/postcopy-ram.o CC migration/qjson.o CC migration/block.o CC net/net.o CC net/queue.o CC net/checksum.o CC net/util.o CC net/hub.o CC net/socket.o CC net/dump.o CC net/eth.o CC net/l2tpv3.o CC net/tap.o CC net/vhost-user.o CC net/tap-linux.o CC net/slirp.o CC net/filter.o CC net/filter-buffer.o CC net/filter-mirror.o CC net/colo-compare.o CC net/colo.o CC qom/cpu.o CC net/filter-rewriter.o CC net/filter-replay.o CC replay/replay.o CC replay/replay-internal.o CC replay/replay-time.o CC replay/replay-events.o CC replay/replay-input.o CC replay/replay-char.o CC replay/replay-snapshot.o CC replay/replay-net.o CC slirp/cksum.o CC slirp/if.o /tmp/qemu-test/src/replay/replay-internal.c: In function ‘replay_put_array’: /tmp/qemu-test/src/replay/replay-internal.c:65: warning: ignoring return value of ‘fwrite’, declared with attribute warn_unused_result CC slirp/ip_icmp.o CC slirp/ip6_icmp.o CC slirp/ip6_output.o CC slirp/ip6_input.o CC slirp/ip_input.o CC slirp/ip_output.o CC slirp/dnssearch.o CC slirp/dhcpv6.o CC slirp/slirp.o CC slirp/mbuf.o CC slirp/misc.o CC slirp/sbuf.o CC slirp/socket.o CC slirp/tcp_input.o CC slirp/tcp_output.o CC slirp/tcp_timer.o CC slirp/tcp_subr.o CC slirp/udp.o CC slirp/bootp.o CC slirp/udp6.o /tmp/qemu-test/src/slirp/tcp_input.c: In function ‘tcp_input’: /tmp/qemu-test/src/slirp/tcp_input.c:219: warning: ‘save_ip.ip_p’ may be used uninitialized in this function /tmp/qemu-test/src/slirp/tcp_input.c:219: warning: ‘save_ip.ip_len’ may be used uninitialized in this function /tmp/qemu-test/src/slirp/tcp_input.c:219: warning: ‘save_ip.ip_tos’ may be used uninitialized in this function /tmp/qemu-test/src/slirp/tcp_input.c:219: warning: ‘save_ip.ip_id’ may be used uninitialized in this function /tmp/qemu-test/src/slirp/tcp_input.c:219: warning: ‘save_ip.ip_off’ may be used uninitialized in this function /tmp/qemu-test/src/slirp/tcp_input.c:219: warning: ‘save_ip.ip_ttl’ may be used uninitialized in this function /tmp/qemu-test/src/slirp/tcp_input.c:219: warning: ‘save_ip.ip_sum’ may be used uninitialized in this function /tmp/qemu-test/src/slirp/tcp_input.c:219: warning: ‘save_ip.ip_src.s_addr’ may be used uninitialized in this function /tmp/qemu-test/src/slirp/tcp_input.c:219: warning: ‘save_ip.ip_dst.s_addr’ may be used uninitialized in this function /tmp/qemu-test/src/slirp/tcp_input.c:220: warning: ‘save_ip6.ip_nh’ may be used uninitialized in this function CC slirp/tftp.o CC slirp/arp_table.o CC slirp/ndp_table.o CC ui/keymaps.o CC ui/console.o CC ui/cursor.o CC ui/qemu-pixman.o CC ui/input.o CC ui/input-legacy.o CC ui/input-keymap.o CC ui/input-linux.o CC ui/sdl.o CC ui/sdl_zoom.o CC ui/x_keymap.o CC ui/vnc.o CC ui/vnc-enc-zlib.o CC ui/vnc-enc-tight.o CC ui/vnc-enc-hextile.o CC ui/vnc-palette.o CC ui/vnc-enc-zrle.o CC ui/vnc-auth-vencrypt.o CC ui/vnc-ws.o CC ui/vnc-jobs.o CC chardev/char.o CC chardev/char-file.o CC chardev/char-fd.o CC chardev/char-io.o CC chardev/char-mux.o CC chardev/char-null.o CC chardev/char-parallel.o CC chardev/char-pipe.o CC chardev/char-pty.o CC chardev/char-ringbuf.o CC chardev/char-serial.o CC chardev/char-socket.o CC chardev/char-stdio.o CC chardev/char-udp.o LINK tests/qemu-iotests/socket_scm_helper CC qga/commands.o CC qga/guest-agent-command-state.o CC qga/main.o CC qga/commands-posix.o CC qga/channel-posix.o CC qga/qapi-generated/qga-qapi-types.o CC qga/qapi-generated/qga-qapi-visit.o CC qga/qapi-generated/qga-qmp-marshal.o AS optionrom/multiboot.o AS optionrom/linuxboot.o CC optionrom/linuxboot_dma.o AS optionrom/kvmvapic.o cc: unrecognized option '-no-integrated-as' cc: unrecognized option '-no-integrated-as' CC qapi-visit.o CC qmp-introspect.o BUILD optionrom/linuxboot.img BUILD optionrom/linuxboot_dma.img CC qapi-event.o CC qapi-types.o AR libqemustub.a BUILD optionrom/multiboot.img BUILD optionrom/linuxboot_dma.raw CC qemu-img.o BUILD optionrom/linuxboot.raw BUILD optionrom/kvmvapic.img CC qmp-marshal.o BUILD optionrom/multiboot.raw CC util/trace.o CC trace-root.o SIGN optionrom/linuxboot.bin CC crypto/trace.o SIGN optionrom/linuxboot_dma.bin BUILD optionrom/kvmvapic.raw CC io/trace.o CC migration/trace.o SIGN optionrom/multiboot.bin CC block/trace.o SIGN optionrom/kvmvapic.bin CC hw/block/trace.o CC hw/block/dataplane/trace.o CC hw/char/trace.o CC hw/intc/trace.o CC hw/net/trace.o CC hw/virtio/trace.o CC hw/audio/trace.o CC hw/misc/trace.o CC hw/usb/trace.o CC hw/scsi/trace.o CC hw/nvram/trace.o CC hw/display/trace.o CC hw/input/trace.o CC hw/timer/trace.o CC hw/dma/trace.o CC hw/sparc/trace.o CC hw/isa/trace.o CC hw/sd/trace.o CC hw/mem/trace.o CC hw/i386/trace.o CC hw/i386/xen/trace.o CC hw/9pfs/trace.o CC hw/ppc/trace.o CC hw/pci/trace.o CC hw/vfio/trace.o CC hw/s390x/trace.o CC hw/acpi/trace.o CC hw/arm/trace.o CC hw/alpha/trace.o CC hw/xen/trace.o CC ui/trace.o CC audio/trace.o CC net/trace.o CC target/arm/trace.o CC target/s390x/trace.o CC target/i386/trace.o CC target/sparc/trace.o CC target/ppc/trace.o CC qom/trace.o CC linux-user/trace.o CC qapi/trace.o AR libqemuutil.a LINK qemu-ga LINK ivshmem-client LINK ivshmem-server LINK qemu-nbd LINK qemu-img LINK qemu-io LINK qemu-bridge-helper GEN x86_64-softmmu/hmp-commands.h GEN x86_64-softmmu/hmp-commands-info.h GEN x86_64-softmmu/config-target.h GEN aarch64-softmmu/config-target.h GEN aarch64-softmmu/hmp-commands.h GEN aarch64-softmmu/hmp-commands-info.h CC x86_64-softmmu/exec.o CC x86_64-softmmu/translate-common.o CC x86_64-softmmu/translate-all.o CC x86_64-softmmu/cpu-exec.o CC x86_64-softmmu/cpu-exec-common.o CC x86_64-softmmu/tcg/tcg.o CC x86_64-softmmu/tcg/tcg-op.o CC x86_64-softmmu/tcg/optimize.o CC x86_64-softmmu/tcg/tcg-common.o CC x86_64-softmmu/fpu/softfloat.o CC x86_64-softmmu/disas.o CC x86_64-softmmu/cpus.o CC x86_64-softmmu/tcg-runtime.o CC x86_64-softmmu/hax-stub.o CC x86_64-softmmu/arch_init.o CC aarch64-softmmu/exec.o CC aarch64-softmmu/translate-all.o CC aarch64-softmmu/cpu-exec.o CC aarch64-softmmu/translate-common.o CC x86_64-softmmu/monitor.o CC aarch64-softmmu/cpu-exec-common.o CC x86_64-softmmu/gdbstub.o CC aarch64-softmmu/tcg/tcg.o CC aarch64-softmmu/tcg/tcg-op.o CC aarch64-softmmu/tcg/optimize.o CC x86_64-softmmu/balloon.o CC x86_64-softmmu/ioport.o CC aarch64-softmmu/tcg/tcg-common.o CC aarch64-softmmu/fpu/softfloat.o CC aarch64-softmmu/disas.o CC aarch64-softmmu/tcg-runtime.o GEN aarch64-softmmu/gdbstub-xml.c CC aarch64-softmmu/hax-stub.o CC x86_64-softmmu/numa.o CC aarch64-softmmu/kvm-stub.o CC x86_64-softmmu/qtest.o CC aarch64-softmmu/arch_init.o CC aarch64-softmmu/cpus.o CC aarch64-softmmu/monitor.o CC x86_64-softmmu/bootdevice.o CC aarch64-softmmu/gdbstub.o CC x86_64-softmmu/kvm-all.o CC aarch64-softmmu/balloon.o CC x86_64-softmmu/memory.o CC x86_64-softmmu/cputlb.o CC aarch64-softmmu/ioport.o CC x86_64-softmmu/memory_mapping.o CC x86_64-softmmu/dump.o CC x86_64-softmmu/migration/ram.o CC aarch64-softmmu/numa.o CC x86_64-softmmu/migration/savevm.o CC x86_64-softmmu/xen-common-stub.o CC x86_64-softmmu/xen-hvm-stub.o CC x86_64-softmmu/hw/block/dataplane/virtio-blk.o CC aarch64-softmmu/qtest.o CC x86_64-softmmu/hw/block/virtio-blk.o CC aarch64-softmmu/bootdevice.o CC x86_64-softmmu/hw/char/virtio-serial-bus.o CC aarch64-softmmu/memory.o CC x86_64-softmmu/hw/core/nmi.o CC x86_64-softmmu/hw/core/generic-loader.o CC x86_64-softmmu/hw/core/null-machine.o CC aarch64-softmmu/cputlb.o CC aarch64-softmmu/memory_mapping.o CC x86_64-softmmu/hw/cpu/core.o CC aarch64-softmmu/dump.o CC aarch64-softmmu/migration/ram.o CC x86_64-softmmu/hw/display/vga.o CC x86_64-softmmu/hw/display/virtio-gpu.o CC x86_64-softmmu/hw/display/virtio-gpu-3d.o CC aarch64-softmmu/migration/savevm.o CC x86_64-softmmu/hw/display/virtio-gpu-pci.o CC aarch64-softmmu/xen-common-stub.o CC x86_64-softmmu/hw/display/virtio-vga.o CC aarch64-softmmu/xen-hvm-stub.o CC x86_64-softmmu/hw/intc/apic.o CC aarch64-softmmu/hw/adc/stm32f2xx_adc.o CC x86_64-softmmu/hw/intc/apic_common.o CC x86_64-softmmu/hw/intc/ioapic.o CC aarch64-softmmu/hw/block/virtio-blk.o CC aarch64-softmmu/hw/block/dataplane/virtio-blk.o CC aarch64-softmmu/hw/char/exynos4210_uart.o CC aarch64-softmmu/hw/char/omap_uart.o CC x86_64-softmmu/hw/isa/lpc_ich9.o CC x86_64-softmmu/hw/misc/vmport.o CC aarch64-softmmu/hw/char/digic-uart.o CC x86_64-softmmu/hw/misc/ivshmem.o CC aarch64-softmmu/hw/char/stm32f2xx_usart.o CC aarch64-softmmu/hw/char/bcm2835_aux.o CC aarch64-softmmu/hw/core/nmi.o CC aarch64-softmmu/hw/char/virtio-serial-bus.o CC aarch64-softmmu/hw/core/generic-loader.o CC aarch64-softmmu/hw/core/null-machine.o CC x86_64-softmmu/hw/misc/pvpanic.o CC x86_64-softmmu/hw/misc/edu.o CC x86_64-softmmu/hw/misc/hyperv_testdev.o CC x86_64-softmmu/hw/net/virtio-net.o CC x86_64-softmmu/hw/net/vhost_net.o CC aarch64-softmmu/hw/cpu/arm11mpcore.o CC x86_64-softmmu/hw/scsi/virtio-scsi.o CC aarch64-softmmu/hw/cpu/realview_mpcore.o CC aarch64-softmmu/hw/cpu/a9mpcore.o CC x86_64-softmmu/hw/scsi/virtio-scsi-dataplane.o CC aarch64-softmmu/hw/cpu/a15mpcore.o CC aarch64-softmmu/hw/cpu/core.o CC aarch64-softmmu/hw/display/omap_dss.o CC aarch64-softmmu/hw/display/omap_lcdc.o CC aarch64-softmmu/hw/display/pxa2xx_lcd.o CC aarch64-softmmu/hw/display/bcm2835_fb.o CC x86_64-softmmu/hw/scsi/vhost-scsi.o CC aarch64-softmmu/hw/display/vga.o CC x86_64-softmmu/hw/timer/mc146818rtc.o CC aarch64-softmmu/hw/display/virtio-gpu.o CC aarch64-softmmu/hw/display/virtio-gpu-3d.o CC aarch64-softmmu/hw/display/virtio-gpu-pci.o CC aarch64-softmmu/hw/display/dpcd.o CC x86_64-softmmu/hw/vfio/common.o CC aarch64-softmmu/hw/display/xlnx_dp.o CC x86_64-softmmu/hw/vfio/pci.o CC x86_64-softmmu/hw/vfio/pci-quirks.o CC aarch64-softmmu/hw/dma/xlnx_dpdma.o CC x86_64-softmmu/hw/vfio/platform.o CC x86_64-softmmu/hw/vfio/calxeda-xgmac.o CC x86_64-softmmu/hw/vfio/amd-xgbe.o CC aarch64-softmmu/hw/dma/omap_dma.o CC x86_64-softmmu/hw/vfio/spapr.o CC aarch64-softmmu/hw/dma/soc_dma.o CC aarch64-softmmu/hw/dma/pxa2xx_dma.o CC aarch64-softmmu/hw/dma/bcm2835_dma.o CC aarch64-softmmu/hw/gpio/omap_gpio.o CC aarch64-softmmu/hw/gpio/imx_gpio.o CC x86_64-softmmu/hw/virtio/virtio.o CC x86_64-softmmu/hw/virtio/virtio-balloon.o CC x86_64-softmmu/hw/virtio/vhost.o CC x86_64-softmmu/hw/virtio/vhost-backend.o CC aarch64-softmmu/hw/i2c/omap_i2c.o CC aarch64-softmmu/hw/input/pxa2xx_keypad.o CC x86_64-softmmu/hw/virtio/vhost-user.o CC aarch64-softmmu/hw/input/tsc210x.o CC x86_64-softmmu/hw/virtio/vhost-vsock.o CC aarch64-softmmu/hw/intc/armv7m_nvic.o CC x86_64-softmmu/hw/virtio/virtio-crypto.o CC aarch64-softmmu/hw/intc/exynos4210_gic.o CC aarch64-softmmu/hw/intc/exynos4210_combiner.o CC aarch64-softmmu/hw/intc/omap_intc.o CC aarch64-softmmu/hw/intc/bcm2835_ic.o CC aarch64-softmmu/hw/intc/allwinner-a10-pic.o CC aarch64-softmmu/hw/intc/bcm2836_control.o CC x86_64-softmmu/hw/virtio/virtio-crypto-pci.o CC x86_64-softmmu/hw/i386/multiboot.o CC aarch64-softmmu/hw/intc/aspeed_vic.o CC aarch64-softmmu/hw/intc/arm_gicv3_cpuif.o CC x86_64-softmmu/hw/i386/pc.o CC x86_64-softmmu/hw/i386/pc_piix.o CC aarch64-softmmu/hw/misc/ivshmem.o CC aarch64-softmmu/hw/misc/arm_sysctl.o CC aarch64-softmmu/hw/misc/cbus.o CC aarch64-softmmu/hw/misc/exynos4210_pmu.o /tmp/qemu-test/src/hw/i386/pc_piix.c: In function ‘igd_passthrough_isa_bridge_create’: /tmp/qemu-test/src/hw/i386/pc_piix.c:1055: warning: ‘pch_rev_id’ may be used uninitialized in this function CC aarch64-softmmu/hw/misc/imx_ccm.o CC x86_64-softmmu/hw/i386/pc_q35.o CC aarch64-softmmu/hw/misc/imx31_ccm.o CC x86_64-softmmu/hw/i386/pc_sysfw.o CC aarch64-softmmu/hw/misc/imx25_ccm.o CC x86_64-softmmu/hw/i386/x86-iommu.o CC aarch64-softmmu/hw/misc/imx6_ccm.o CC aarch64-softmmu/hw/misc/imx6_src.o CC x86_64-softmmu/hw/i386/intel_iommu.o CC aarch64-softmmu/hw/misc/mst_fpga.o CC x86_64-softmmu/hw/i386/amd_iommu.o CC aarch64-softmmu/hw/misc/omap_clk.o CC x86_64-softmmu/hw/i386/kvmvapic.o CC x86_64-softmmu/hw/i386/acpi-build.o CC aarch64-softmmu/hw/misc/omap_gpmc.o /tmp/qemu-test/src/hw/i386/acpi-build.c: In function ‘build_append_pci_bus_devices’: /tmp/qemu-test/src/hw/i386/acpi-build.c:495: warning: ‘notify_method’ may be used uninitialized in this function CC aarch64-softmmu/hw/misc/omap_l4.o CC aarch64-softmmu/hw/misc/omap_sdrc.o CC aarch64-softmmu/hw/misc/omap_tap.o CC x86_64-softmmu/hw/i386/pci-assign-load-rom.o CC aarch64-softmmu/hw/misc/bcm2835_mbox.o CC aarch64-softmmu/hw/misc/bcm2835_property.o CC x86_64-softmmu/hw/i386/kvm/clock.o CC x86_64-softmmu/hw/i386/kvm/apic.o CC x86_64-softmmu/hw/i386/kvm/i8259.o CC x86_64-softmmu/hw/i386/kvm/ioapic.o CC aarch64-softmmu/hw/misc/zynq_slcr.o CC x86_64-softmmu/hw/i386/kvm/i8254.o CC x86_64-softmmu/hw/i386/kvm/pci-assign.o CC aarch64-softmmu/hw/misc/zynq-xadc.o CC x86_64-softmmu/target/i386/translate.o CC x86_64-softmmu/target/i386/helper.o CC x86_64-softmmu/target/i386/cpu.o CC aarch64-softmmu/hw/misc/stm32f2xx_syscfg.o CC x86_64-softmmu/target/i386/bpt_helper.o CC x86_64-softmmu/target/i386/excp_helper.o CC x86_64-softmmu/target/i386/fpu_helper.o CC x86_64-softmmu/target/i386/cc_helper.o CC x86_64-softmmu/target/i386/int_helper.o CC aarch64-softmmu/hw/misc/edu.o CC x86_64-softmmu/target/i386/smm_helper.o CC x86_64-softmmu/target/i386/svm_helper.o CC aarch64-softmmu/hw/misc/aspeed_scu.o CC aarch64-softmmu/hw/misc/auxbus.o CC aarch64-softmmu/hw/misc/aspeed_sdmc.o CC aarch64-softmmu/hw/net/virtio-net.o CC x86_64-softmmu/target/i386/misc_helper.o CC x86_64-softmmu/target/i386/mem_helper.o CC x86_64-softmmu/target/i386/seg_helper.o CC aarch64-softmmu/hw/net/vhost_net.o CC x86_64-softmmu/target/i386/mpx_helper.o CC x86_64-softmmu/target/i386/gdbstub.o CC x86_64-softmmu/target/i386/machine.o CC aarch64-softmmu/hw/pcmcia/pxa2xx.o CC aarch64-softmmu/hw/scsi/virtio-scsi.o CC aarch64-softmmu/hw/scsi/virtio-scsi-dataplane.o CC aarch64-softmmu/hw/scsi/vhost-scsi.o CC x86_64-softmmu/target/i386/arch_memory_mapping.o CC x86_64-softmmu/target/i386/arch_dump.o CC x86_64-softmmu/target/i386/kvm.o CC x86_64-softmmu/target/i386/monitor.o CC aarch64-softmmu/hw/sd/omap_mmc.o CC aarch64-softmmu/hw/sd/pxa2xx_mmci.o CC aarch64-softmmu/hw/ssi/omap_spi.o CC aarch64-softmmu/hw/ssi/imx_spi.o CC aarch64-softmmu/hw/timer/exynos4210_mct.o CC x86_64-softmmu/target/i386/hyperv.o CC aarch64-softmmu/hw/timer/exynos4210_pwm.o CC aarch64-softmmu/hw/timer/exynos4210_rtc.o CC aarch64-softmmu/hw/timer/omap_gptimer.o CC aarch64-softmmu/hw/timer/omap_synctimer.o GEN trace/generated-helpers.c CC aarch64-softmmu/hw/timer/pxa2xx_timer.o CC x86_64-softmmu/trace/control-target.o CC aarch64-softmmu/hw/timer/digic-timer.o CC aarch64-softmmu/hw/timer/allwinner-a10-pit.o CC aarch64-softmmu/hw/usb/tusb6010.o CC aarch64-softmmu/hw/vfio/common.o CC aarch64-softmmu/hw/vfio/pci.o CC aarch64-softmmu/hw/vfio/pci-quirks.o CC aarch64-softmmu/hw/vfio/platform.o CC aarch64-softmmu/hw/vfio/calxeda-xgmac.o CC aarch64-softmmu/hw/vfio/amd-xgbe.o CC aarch64-softmmu/hw/vfio/spapr.o CC aarch64-softmmu/hw/virtio/virtio.o CC aarch64-softmmu/hw/virtio/virtio-balloon.o CC aarch64-softmmu/hw/virtio/vhost.o CC aarch64-softmmu/hw/virtio/vhost-backend.o CC aarch64-softmmu/hw/virtio/vhost-user.o CC aarch64-softmmu/hw/virtio/vhost-vsock.o CC aarch64-softmmu/hw/virtio/virtio-crypto.o CC aarch64-softmmu/hw/virtio/virtio-crypto-pci.o CC aarch64-softmmu/hw/arm/collie.o CC aarch64-softmmu/hw/arm/boot.o CC aarch64-softmmu/hw/arm/exynos4_boards.o CC aarch64-softmmu/hw/arm/gumstix.o CC x86_64-softmmu/trace/generated-helpers.o CC aarch64-softmmu/hw/arm/highbank.o CC aarch64-softmmu/hw/arm/digic_boards.o CC aarch64-softmmu/hw/arm/integratorcp.o CC aarch64-softmmu/hw/arm/mainstone.o CC aarch64-softmmu/hw/arm/musicpal.o CC aarch64-softmmu/hw/arm/nseries.o CC aarch64-softmmu/hw/arm/omap_sx1.o CC aarch64-softmmu/hw/arm/palm.o CC aarch64-softmmu/hw/arm/realview.o CC aarch64-softmmu/hw/arm/spitz.o CC aarch64-softmmu/hw/arm/stellaris.o CC aarch64-softmmu/hw/arm/tosa.o CC aarch64-softmmu/hw/arm/versatilepb.o CC aarch64-softmmu/hw/arm/vexpress.o CC aarch64-softmmu/hw/arm/virt.o CC aarch64-softmmu/hw/arm/xilinx_zynq.o CC aarch64-softmmu/hw/arm/z2.o CC aarch64-softmmu/hw/arm/virt-acpi-build.o CC aarch64-softmmu/hw/arm/netduino2.o CC aarch64-softmmu/hw/arm/sysbus-fdt.o CC aarch64-softmmu/hw/arm/armv7m.o CC aarch64-softmmu/hw/arm/exynos4210.o CC aarch64-softmmu/hw/arm/pxa2xx.o CC aarch64-softmmu/hw/arm/pxa2xx_gpio.o CC aarch64-softmmu/hw/arm/pxa2xx_pic.o CC aarch64-softmmu/hw/arm/digic.o CC aarch64-softmmu/hw/arm/omap1.o CC aarch64-softmmu/hw/arm/omap2.o CC aarch64-softmmu/hw/arm/strongarm.o CC aarch64-softmmu/hw/arm/allwinner-a10.o CC aarch64-softmmu/hw/arm/cubieboard.o CC aarch64-softmmu/hw/arm/bcm2835_peripherals.o CC aarch64-softmmu/hw/arm/bcm2836.o CC aarch64-softmmu/hw/arm/raspi.o CC aarch64-softmmu/hw/arm/stm32f205_soc.o CC aarch64-softmmu/hw/arm/xlnx-zynqmp.o CC aarch64-softmmu/hw/arm/xlnx-ep108.o CC aarch64-softmmu/hw/arm/fsl-imx25.o LINK x86_64-softmmu/qemu-system-x86_64 CC aarch64-softmmu/hw/arm/imx25_pdk.o CC aarch64-softmmu/hw/arm/fsl-imx31.o CC aarch64-softmmu/hw/arm/kzm.o CC aarch64-softmmu/hw/arm/fsl-imx6.o CC aarch64-softmmu/hw/arm/aspeed_soc.o CC aarch64-softmmu/hw/arm/sabrelite.o CC aarch64-softmmu/hw/arm/aspeed.o CC aarch64-softmmu/target/arm/arm-semi.o CC aarch64-softmmu/target/arm/machine.o CC aarch64-softmmu/target/arm/psci.o CC aarch64-softmmu/target/arm/arch_dump.o CC aarch64-softmmu/target/arm/monitor.o CC aarch64-softmmu/target/arm/kvm-stub.o CC aarch64-softmmu/target/arm/translate.o CC aarch64-softmmu/target/arm/op_helper.o CC aarch64-softmmu/target/arm/helper.o CC aarch64-softmmu/target/arm/cpu.o CC aarch64-softmmu/target/arm/neon_helper.o CC aarch64-softmmu/target/arm/iwmmxt_helper.o CC aarch64-softmmu/target/arm/gdbstub.o CC aarch64-softmmu/target/arm/cpu64.o CC aarch64-softmmu/target/arm/translate-a64.o CC aarch64-softmmu/target/arm/helper-a64.o CC aarch64-softmmu/target/arm/gdbstub64.o CC aarch64-softmmu/target/arm/crypto_helper.o CC aarch64-softmmu/target/arm/arm-powerctl.o /tmp/qemu-test/src/target/arm/translate-a64.c: In function ‘handle_shri_with_rndacc’: /tmp/qemu-test/src/target/arm/translate-a64.c:6355: warning: ‘tcg_src_hi’ may be used uninitialized in this function /tmp/qemu-test/src/target/arm/translate-a64.c: In function ‘disas_simd_scalar_two_reg_misc’: /tmp/qemu-test/src/target/arm/translate-a64.c:8082: warning: ‘rmode’ may be used uninitialized in this function GEN trace/generated-helpers.c CC aarch64-softmmu/trace/control-target.o CC aarch64-softmmu/gdbstub-xml.o CC aarch64-softmmu/trace/generated-helpers.o LINK aarch64-softmmu/qemu-system-aarch64 TEST tests/qapi-schema/alternate-any.out TEST tests/qapi-schema/alternate-array.out TEST tests/qapi-schema/alternate-base.out TEST tests/qapi-schema/alternate-clash.out TEST tests/qapi-schema/alternate-conflict-dict.out TEST tests/qapi-schema/alternate-empty.out TEST tests/qapi-schema/alternate-conflict-string.out TEST tests/qapi-schema/alternate-nested.out TEST tests/qapi-schema/alternate-unknown.out TEST tests/qapi-schema/args-alternate.out TEST tests/qapi-schema/args-any.out TEST tests/qapi-schema/args-array-empty.out TEST tests/qapi-schema/args-array-unknown.out TEST tests/qapi-schema/args-bad-boxed.out TEST tests/qapi-schema/args-boxed-anon.out TEST tests/qapi-schema/args-boxed-empty.out TEST tests/qapi-schema/args-boxed-string.out TEST tests/qapi-schema/args-int.out TEST tests/qapi-schema/args-invalid.out TEST tests/qapi-schema/args-member-array-bad.out TEST tests/qapi-schema/args-member-case.out TEST tests/qapi-schema/args-member-unknown.out TEST tests/qapi-schema/args-name-clash.out TEST tests/qapi-schema/args-union.out TEST tests/qapi-schema/args-unknown.out TEST tests/qapi-schema/bad-base.out TEST tests/qapi-schema/bad-data.out TEST tests/qapi-schema/bad-ident.out TEST tests/qapi-schema/bad-type-bool.out TEST tests/qapi-schema/bad-type-dict.out TEST tests/qapi-schema/bad-type-int.out TEST tests/qapi-schema/base-cycle-direct.out TEST tests/qapi-schema/base-cycle-indirect.out TEST tests/qapi-schema/command-int.out TEST tests/qapi-schema/comments.out TEST tests/qapi-schema/doc-bad-args.out TEST tests/qapi-schema/doc-bad-symbol.out TEST tests/qapi-schema/doc-duplicated-arg.out TEST tests/qapi-schema/doc-duplicated-return.out TEST tests/qapi-schema/doc-duplicated-since.out TEST tests/qapi-schema/doc-empty-arg.out TEST tests/qapi-schema/doc-empty-section.out TEST tests/qapi-schema/doc-empty-symbol.out TEST tests/qapi-schema/doc-interleaved-section.out TEST tests/qapi-schema/doc-invalid-end.out TEST tests/qapi-schema/doc-invalid-end2.out TEST tests/qapi-schema/doc-invalid-return.out TEST tests/qapi-schema/doc-invalid-section.out TEST tests/qapi-schema/doc-invalid-start.out TEST tests/qapi-schema/doc-missing-colon.out TEST tests/qapi-schema/doc-missing-expr.out TEST tests/qapi-schema/doc-missing-space.out TEST tests/qapi-schema/doc-optional.out TEST tests/qapi-schema/double-type.out TEST tests/qapi-schema/double-data.out TEST tests/qapi-schema/empty.out TEST tests/qapi-schema/enum-bad-name.out TEST tests/qapi-schema/duplicate-key.out TEST tests/qapi-schema/enum-bad-prefix.out TEST tests/qapi-schema/enum-clash-member.out TEST tests/qapi-schema/enum-dict-member.out TEST tests/qapi-schema/enum-int-member.out TEST tests/qapi-schema/enum-member-case.out TEST tests/qapi-schema/enum-missing-data.out TEST tests/qapi-schema/enum-wrong-data.out TEST tests/qapi-schema/escape-outside-string.out TEST tests/qapi-schema/escape-too-short.out TEST tests/qapi-schema/escape-too-big.out TEST tests/qapi-schema/event-boxed-empty.out TEST tests/qapi-schema/event-case.out TEST tests/qapi-schema/event-nest-struct.out TEST tests/qapi-schema/flat-union-array-branch.out TEST tests/qapi-schema/flat-union-bad-base.out TEST tests/qapi-schema/flat-union-base-any.out TEST tests/qapi-schema/flat-union-bad-discriminator.out TEST tests/qapi-schema/flat-union-base-union.out TEST tests/qapi-schema/flat-union-clash-member.out TEST tests/qapi-schema/flat-union-empty.out TEST tests/qapi-schema/flat-union-incomplete-branch.out TEST tests/qapi-schema/flat-union-inline.out TEST tests/qapi-schema/flat-union-int-branch.out TEST tests/qapi-schema/flat-union-invalid-discriminator.out TEST tests/qapi-schema/flat-union-no-base.out TEST tests/qapi-schema/flat-union-invalid-branch-key.out TEST tests/qapi-schema/flat-union-optional-discriminator.out TEST tests/qapi-schema/flat-union-string-discriminator.out TEST tests/qapi-schema/funny-char.out TEST tests/qapi-schema/ident-with-escape.out TEST tests/qapi-schema/include-before-err.out TEST tests/qapi-schema/include-cycle.out TEST tests/qapi-schema/include-format-err.out TEST tests/qapi-schema/include-nested-err.out TEST tests/qapi-schema/include-no-file.out TEST tests/qapi-schema/include-non-file.out TEST tests/qapi-schema/include-repetition.out TEST tests/qapi-schema/include-self-cycle.out TEST tests/qapi-schema/include-simple.out TEST tests/qapi-schema/include-relpath.out TEST tests/qapi-schema/indented-expr.out TEST tests/qapi-schema/leading-comma-list.out TEST tests/qapi-schema/leading-comma-object.out TEST tests/qapi-schema/missing-colon.out TEST tests/qapi-schema/missing-comma-object.out TEST tests/qapi-schema/missing-comma-list.out TEST tests/qapi-schema/missing-type.out TEST tests/qapi-schema/nested-struct-data.out TEST tests/qapi-schema/non-objects.out TEST tests/qapi-schema/qapi-schema-test.out TEST tests/qapi-schema/quoted-structural-chars.out TEST tests/qapi-schema/redefined-builtin.out TEST tests/qapi-schema/redefined-command.out TEST tests/qapi-schema/redefined-event.out TEST tests/qapi-schema/redefined-type.out TEST tests/qapi-schema/reserved-command-q.out TEST tests/qapi-schema/reserved-enum-q.out TEST tests/qapi-schema/reserved-member-has.out TEST tests/qapi-schema/reserved-member-q.out TEST tests/qapi-schema/reserved-member-u.out TEST tests/qapi-schema/reserved-type-kind.out TEST tests/qapi-schema/reserved-member-underscore.out TEST tests/qapi-schema/reserved-type-list.out TEST tests/qapi-schema/returns-alternate.out TEST tests/qapi-schema/returns-array-bad.out TEST tests/qapi-schema/returns-dict.out TEST tests/qapi-schema/returns-unknown.out TEST tests/qapi-schema/returns-whitelist.out TEST tests/qapi-schema/struct-base-clash-deep.out TEST tests/qapi-schema/struct-base-clash.out TEST tests/qapi-schema/struct-data-invalid.out TEST tests/qapi-schema/struct-member-invalid.out TEST tests/qapi-schema/trailing-comma-list.out TEST tests/qapi-schema/trailing-comma-object.out TEST tests/qapi-schema/type-bypass-bad-gen.out TEST tests/qapi-schema/unclosed-list.out TEST tests/qapi-schema/unclosed-object.out TEST tests/qapi-schema/unclosed-string.out TEST tests/qapi-schema/unicode-str.out TEST tests/qapi-schema/union-base-no-discriminator.out TEST tests/qapi-schema/union-branch-case.out TEST tests/qapi-schema/union-clash-branches.out TEST tests/qapi-schema/union-empty.out TEST tests/qapi-schema/union-invalid-base.out TEST tests/qapi-schema/union-optional-branch.out TEST tests/qapi-schema/union-unknown.out TEST tests/qapi-schema/unknown-escape.out TEST tests/qapi-schema/unknown-expr-key.out CC tests/check-qdict.o CC tests/test-char.o CC tests/check-qfloat.o CC tests/check-qint.o CC tests/check-qstring.o CC tests/check-qlist.o CC tests/check-qnull.o CC tests/test-qobject-output-visitor.o CC tests/check-qjson.o GEN tests/test-qapi-visit.c GEN tests/test-qapi-event.c GEN tests/test-qapi-types.c GEN tests/test-qmp-introspect.c CC tests/test-clone-visitor.o CC tests/test-qobject-input-visitor.o CC tests/test-qobject-input-strict.o CC tests/test-qmp-commands.o GEN tests/test-qmp-marshal.c CC tests/test-string-input-visitor.o CC tests/test-string-output-visitor.o CC tests/test-opts-visitor.o CC tests/test-qmp-event.o CC tests/test-coroutine.o CC tests/test-visitor-serialization.o CC tests/test-iov.o CC tests/test-throttle.o CC tests/test-aio.o CC tests/test-thread-pool.o CC tests/test-hbitmap.o CC tests/test-blockjob.o CC tests/test-blockjob-txn.o CC tests/test-x86-cpuid.o CC tests/test-xbzrle.o CC tests/test-vmstate.o CC tests/test-cutils.o CC tests/test-shift128.o CC tests/test-mul64.o CC tests/test-int128.o CC tests/test-rcu-list.o CC tests/rcutorture.o CC tests/test-qdist.o CC tests/test-qht.o CC tests/test-qht-par.o CC tests/qht-bench.o CC tests/test-bitops.o CC tests/test-bitcnt.o CC tests/check-qom-interface.o CC tests/check-qom-proplist.o CC tests/test-qemu-opts.o /tmp/qemu-test/src/tests/test-int128.c:180: warning: ‘__noclone__’ attribute directive ignored CC tests/test-write-threshold.o CC tests/test-crypto-hash.o CC tests/test-crypto-hmac.o CC tests/test-crypto-cipher.o CC tests/test-crypto-secret.o CC tests/test-qga.o CC tests/libqtest.o CC tests/test-io-task.o CC tests/test-timed-average.o CC tests/io-channel-helpers.o CC tests/test-io-channel-socket.o CC tests/test-io-channel-file.o CC tests/test-io-channel-command.o CC tests/test-base64.o CC tests/test-io-channel-buffer.o CC tests/test-crypto-ivgen.o CC tests/test-crypto-afsplit.o CC tests/test-crypto-block.o CC tests/test-crypto-xts.o CC tests/test-logging.o CC tests/test-replication.o CC tests/test-uuid.o CC tests/test-bufferiszero.o CC tests/ptimer-test.o CC tests/ptimer-test-stubs.o CC tests/vhost-user-test.o CC tests/libqos/pci.o CC tests/libqos/fw_cfg.o CC tests/libqos/malloc.o CC tests/libqos/i2c.o CC tests/libqos/libqos.o CC tests/libqos/malloc-spapr.o CC tests/libqos/rtas.o CC tests/libqos/libqos-spapr.o CC tests/libqos/pci-spapr.o CC tests/libqos/pci-pc.o CC tests/libqos/malloc-pc.o CC tests/libqos/libqos-pc.o CC tests/libqos/ahci.o CC tests/libqos/virtio-pci.o CC tests/libqos/virtio.o CC tests/libqos/virtio-mmio.o CC tests/endianness-test.o CC tests/libqos/malloc-generic.o CC tests/fdc-test.o CC tests/ide-test.o CC tests/ahci-test.o CC tests/boot-order-test.o CC tests/hd-geo-test.o CC tests/bios-tables-test.o CC tests/boot-sector.o CC tests/boot-serial-test.o CC tests/pxe-test.o CC tests/rtc-test.o /tmp/qemu-test/src/tests/ide-test.c: In function ‘cdrom_pio_impl’: /tmp/qemu-test/src/tests/ide-test.c:791: warning: ignoring return value of ‘fwrite’, declared with attribute warn_unused_result /tmp/qemu-test/src/tests/ide-test.c: In function ‘test_cdrom_dma’: /tmp/qemu-test/src/tests/ide-test.c:886: warning: ignoring return value of ‘fwrite’, declared with attribute warn_unused_result CC tests/ipmi-kcs-test.o CC tests/ipmi-bt-test.o CC tests/i440fx-test.o CC tests/drive_del-test.o CC tests/fw_cfg-test.o CC tests/wdt_ib700-test.o CC tests/tco-test.o CC tests/e1000e-test.o CC tests/e1000-test.o CC tests/rtl8139-test.o CC tests/pcnet-test.o CC tests/eepro100-test.o CC tests/ne2000-test.o CC tests/nvme-test.o CC tests/ac97-test.o CC tests/virtio-net-test.o CC tests/es1370-test.o CC tests/virtio-balloon-test.o CC tests/virtio-rng-test.o CC tests/virtio-blk-test.o CC tests/virtio-scsi-test.o CC tests/virtio-serial-test.o CC tests/virtio-console-test.o CC tests/ipoctal232-test.o CC tests/tpci200-test.o CC tests/display-vga-test.o CC tests/ivshmem-test.o CC tests/intel-hda-test.o CC tests/vmxnet3-test.o CC tests/pvpanic-test.o CC tests/i82801b11-test.o CC tests/ioh3420-test.o CC tests/libqos/usb.o CC tests/usb-hcd-ohci-test.o CC tests/usb-hcd-uhci-test.o CC tests/usb-hcd-ehci-test.o CC tests/usb-hcd-xhci-test.o CC tests/pc-cpu-test.o CC tests/q35-test.o CC tests/test-netfilter.o CC tests/test-filter-mirror.o CC tests/test-filter-redirector.o CC tests/test-x86-cpuid-compat.o CC tests/postcopy-test.o CC tests/device-introspect-test.o CC tests/qom-test.o LINK tests/check-qdict LINK tests/check-qfloat LINK tests/check-qint LINK tests/check-qstring LINK tests/check-qlist LINK tests/check-qnull LINK tests/check-qjson CC tests/test-qapi-visit.o CC tests/test-qapi-types.o CC tests/test-qapi-event.o CC tests/test-qmp-introspect.o CC tests/test-qmp-marshal.o LINK tests/test-coroutine LINK tests/test-iov LINK tests/test-aio LINK tests/test-throttle LINK tests/test-thread-pool LINK tests/test-hbitmap LINK tests/test-blockjob LINK tests/test-blockjob-txn LINK tests/test-x86-cpuid LINK tests/test-xbzrle LINK tests/test-vmstate LINK tests/test-cutils LINK tests/test-shift128 LINK tests/test-mul64 LINK tests/test-int128 LINK tests/rcutorture LINK tests/test-rcu-list LINK tests/test-qdist LINK tests/test-qht LINK tests/qht-bench LINK tests/test-bitops LINK tests/test-bitcnt LINK tests/check-qom-interface LINK tests/check-qom-proplist LINK tests/test-qemu-opts LINK tests/test-write-threshold LINK tests/test-crypto-hash LINK tests/test-crypto-hmac LINK tests/test-crypto-cipher LINK tests/test-crypto-secret LINK tests/test-qga LINK tests/test-timed-average LINK tests/test-io-task LINK tests/test-io-channel-socket LINK tests/test-io-channel-file LINK tests/test-io-channel-command LINK tests/test-io-channel-buffer LINK tests/test-base64 LINK tests/test-crypto-ivgen LINK tests/test-crypto-afsplit LINK tests/test-crypto-xts LINK tests/test-crypto-block LINK tests/test-logging LINK tests/test-replication LINK tests/test-bufferiszero LINK tests/test-uuid LINK tests/ptimer-test LINK tests/vhost-user-test LINK tests/endianness-test LINK tests/fdc-test LINK tests/ide-test LINK tests/ahci-test LINK tests/hd-geo-test LINK tests/boot-order-test LINK tests/bios-tables-test chardev/char.o: In function `qemu_chr_change': /tmp/qemu-test/src/chardev/char.c:1012: undefined reference to `qemu_bh_delete' /tmp/qemu-test/src/chardev/char.c:1014: undefined reference to `qemu_bh_new' /tmp/qemu-test/src/chardev/char.c:1015: undefined reference to `qemu_bh_schedule' chardev/char.o: In function `qemu_chr_fe_deinit': /tmp/qemu-test/src/chardev/char.c:555: undefined reference to `qemu_bh_delete' collect2: ld returned 1 exit status make: *** [tests/vhost-user-test] Error 1 make: *** Waiting for unfinished jobs.... make: *** wait: No child processes. Stop. make[1]: *** [docker-run] Error 2 make[1]: Leaving directory `/var/tmp/patchew-tester-tmp-u78f8sby/src' make: *** [docker-run-test-quick@centos6] Error 2 === OUTPUT END === Test command exited with code: 2 --- Email generated automatically by Patchew [http://patchew.org/]. Please send your feedback to patchew-devel@freelists.org ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2017-02-09 16:44 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-02-09 15:25 [Qemu-devel] [PATCH 0/2] chardevice hotswap Denis V. Lunev 2017-02-09 15:25 ` [Qemu-devel] [PATCH 1/2] char: " Denis V. Lunev 2017-02-09 16:09 ` Daniel P. Berrange 2017-02-09 16:43 ` Dr. David Alan Gilbert 2017-02-09 15:25 ` [Qemu-devel] [PATCH 2/2] virtio-console: chardev hotswap support Denis V. Lunev 2017-02-09 15:37 ` [Qemu-devel] [PATCH 0/2] chardevice hotswap no-reply
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).