* [Qemu-devel] [PATCH v3] tests/microbit-test: Check nRF51 UART functionality
@ 2018-11-05 10:45 Julia Suvorova
2018-11-05 12:24 ` Alex Bennée
` (5 more replies)
0 siblings, 6 replies; 10+ messages in thread
From: Julia Suvorova @ 2018-11-05 10:45 UTC (permalink / raw)
To: qemu-devel
Cc: Peter Maydell, Paolo Bonzini, Stefan Hajnoczi, Joel Stanley,
Jim Mussared, Steffen Görtz, Thomas Huth, Julia Suvorova
Some functional tests for:
Basic reception/transmittion
Suspending
INTEN* registers
Based-on: <20181031002526.14262-1-contrib@steffen-goertz.de>
Signed-off-by: Julia Suvorova <jusual@mail.ru>
---
This patch was part of nRF51 UART patchset, but wasn't included in the latest
revision. Due to upcoming loader fixes, we need this test instead of
boot-serial-test, which doesn't support -device loader.
v3:
* Fix directory leak [Stefan]
tests/microbit-test.c | 109 +++++++++++++++++++++++++++++++++++++++++-
1 file changed, 107 insertions(+), 2 deletions(-)
diff --git a/tests/microbit-test.c b/tests/microbit-test.c
index ab319eb466..23d343cfdd 100644
--- a/tests/microbit-test.c
+++ b/tests/microbit-test.c
@@ -21,9 +21,87 @@
#include "hw/arm/nrf51.h"
#include "hw/nvram/nrf51_nvm.h"
#include "hw/gpio/nrf51_gpio.h"
+#include "hw/char/nrf51_uart.h"
+
+#include <sys/socket.h>
+#include <sys/un.h>
#define FLASH_SIZE (256 * NRF51_PAGE_SIZE)
+static bool wait_for_event(uint32_t event_addr)
+{
+ int i;
+
+ for (i = 0; i < 1000; i++) {
+ if (readl(event_addr) == 1) {
+ writel(event_addr, 0x00);
+ return true;
+ }
+ g_usleep(10000);
+ }
+
+ return false;
+}
+
+static void rw_to_rxd(int sock_fd, const char *in, char *out)
+{
+ int i;
+
+ g_assert(write(sock_fd, in, strlen(in)) == strlen(in));
+ for (i = 0; i < strlen(in); i++) {
+ g_assert(wait_for_event(NRF51_UART_BASE + A_UART_RXDRDY));
+ out[i] = readl(NRF51_UART_BASE + A_UART_RXD);
+ }
+ out[i] = '\0';
+}
+
+static void w_to_txd(const char *in)
+{
+ int i;
+
+ for (i = 0; i < strlen(in); i++) {
+ writel(NRF51_UART_BASE + A_UART_TXD, in[i]);
+ g_assert(wait_for_event(NRF51_UART_BASE + A_UART_TXDRDY));
+ }
+}
+
+static void test_nrf51_uart(const void *data)
+{
+ int sock_fd = *((const int *) data);
+ char s[10];
+
+ g_assert(write(sock_fd, "c", 1) == 1);
+ g_assert(readl(NRF51_UART_BASE + A_UART_RXD) == 0);
+
+ writel(NRF51_UART_BASE + A_UART_ENABLE, 0x04);
+ writel(NRF51_UART_BASE + A_UART_STARTRX, 0x01);
+
+ g_assert(wait_for_event(NRF51_UART_BASE + A_UART_RXDRDY));
+ writel(NRF51_UART_BASE + A_UART_RXDRDY, 0x00);
+ g_assert(readl(NRF51_UART_BASE + A_UART_RXD) == 'c');
+
+ writel(NRF51_UART_BASE + A_UART_INTENSET, 0x04);
+ g_assert(readl(NRF51_UART_BASE + A_UART_INTEN) == 0x04);
+ writel(NRF51_UART_BASE + A_UART_INTENCLR, 0x04);
+ g_assert(readl(NRF51_UART_BASE + A_UART_INTEN) == 0x00);
+
+ rw_to_rxd(sock_fd, "hello", s);
+ g_assert(strcmp(s, "hello") == 0);
+
+ writel(NRF51_UART_BASE + A_UART_STARTTX, 0x01);
+ w_to_txd("d");
+ g_assert(read(sock_fd, s, 10) == 1);
+ g_assert(s[0] == 'd');
+
+ writel(NRF51_UART_BASE + A_UART_SUSPEND, 0x01);
+ writel(NRF51_UART_BASE + A_UART_TXD, 'h');
+ writel(NRF51_UART_BASE + A_UART_STARTTX, 0x01);
+ w_to_txd("world");
+ g_assert(read(sock_fd, s, 10) == 5);
+ g_assert(strcmp(s, "world") == 0);
+}
+
+
static void fill_and_erase(hwaddr base, hwaddr size, uint32_t address_reg)
{
/* Fill memory */
@@ -223,17 +301,44 @@ static void test_nrf51_gpio(void)
int main(int argc, char **argv)
{
- int ret;
+ int ret, sock_fd;
+ char serialtmpdir[] = "/tmp/qtest-microbit-serial-sXXXXXX";
+ char serialtmp[40];
+ struct sockaddr_un addr;
+
+ g_assert(mkdtemp(serialtmpdir));
+ sprintf(serialtmp, "%s/sock", serialtmpdir);
+
+ sock_fd = socket(AF_UNIX, SOCK_STREAM, 0);
+ g_assert(sock_fd != -1);
+
+ memset(&addr, 0, sizeof(struct sockaddr_un));
+
+ addr.sun_family = AF_UNIX;
+ strncpy(addr.sun_path, serialtmp, sizeof(addr.sun_path) - 1);
g_test_init(&argc, &argv, NULL);
- global_qtest = qtest_initf("-machine microbit");
+ global_qtest = qtest_initf("-machine microbit "
+ "-chardev socket,id=s0,path=%s,server,nowait "
+ "-no-shutdown -serial chardev:s0",
+ serialtmp);
+
+ g_assert(connect(sock_fd, (const struct sockaddr *) &addr,
+ sizeof(struct sockaddr_un)) != -1);
+ unlink(serialtmp);
+ rmdir(serialtmpdir);
+
+ qtest_add_data_func("/microbit/nrf51/uart", &sock_fd, test_nrf51_uart);
qtest_add_func("/microbit/nrf51/nvmc", test_nrf51_nvmc);
qtest_add_func("/microbit/nrf51/gpio", test_nrf51_gpio);
ret = g_test_run();
qtest_quit(global_qtest);
+
+ close(sock_fd);
+
return ret;
}
--
2.17.1
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH v3] tests/microbit-test: Check nRF51 UART functionality
2018-11-05 10:45 [Qemu-devel] [PATCH v3] tests/microbit-test: Check nRF51 UART functionality Julia Suvorova
@ 2018-11-05 12:24 ` Alex Bennée
2018-11-05 13:26 ` Julia Suvorova
2018-11-05 15:29 ` no-reply
` (4 subsequent siblings)
5 siblings, 1 reply; 10+ messages in thread
From: Alex Bennée @ 2018-11-05 12:24 UTC (permalink / raw)
To: Julia Suvorova
Cc: qemu-devel, Peter Maydell, Jim Mussared, Steffen Görtz,
Thomas Huth, Joel Stanley, Stefan Hajnoczi, Paolo Bonzini
Julia Suvorova via Qemu-devel <qemu-devel@nongnu.org> writes:
> Some functional tests for:
> Basic reception/transmittion
> Suspending
> INTEN* registers
>
> Based-on: <20181031002526.14262-1-contrib@steffen-goertz.de>
> Signed-off-by: Julia Suvorova <jusual@mail.ru>
> ---
> This patch was part of nRF51 UART patchset, but wasn't included in the latest
> revision. Due to upcoming loader fixes, we need this test instead of
> boot-serial-test, which doesn't support -device loader.
This didn't apply cleanly to master as the test isn't there yet. But the
uart patches look partially merged. Can I have a reference for the
series or tree please?
--
Alex Bennée
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH v3] tests/microbit-test: Check nRF51 UART functionality
2018-11-05 12:24 ` Alex Bennée
@ 2018-11-05 13:26 ` Julia Suvorova
0 siblings, 0 replies; 10+ messages in thread
From: Julia Suvorova @ 2018-11-05 13:26 UTC (permalink / raw)
To: Alex Bennée
Cc: qemu-devel, Peter Maydell, Jim Mussared, Steffen Görtz,
Thomas Huth, Joel Stanley, Stefan Hajnoczi, Paolo Bonzini
On 05.11.2018 15:24, Alex Bennée wrote:
>
> Julia Suvorova via Qemu-devel <qemu-devel@nongnu.org> writes:
>
>> Some functional tests for:
>> Basic reception/transmittion
>> Suspending
>> INTEN* registers
>>
>> Based-on: <20181031002526.14262-1-contrib@steffen-goertz.de>
>> Signed-off-by: Julia Suvorova <jusual@mail.ru>
>> ---
>> This patch was part of nRF51 UART patchset, but wasn't included in the latest
>> revision. Due to upcoming loader fixes, we need this test instead of
>> boot-serial-test, which doesn't support -device loader.
>
> This didn't apply cleanly to master as the test isn't there yet. But the
> uart patches look partially merged. Can I have a reference for the
> series or tree please?
The patch is based on this patchset (patches 7 & 10):
https://lists.nongnu.org/archive/html/qemu-devel/2018-10/msg06718.html
Uart patchset was fully merged except this patch.
Best regards, Julia Suvorova.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH v3] tests/microbit-test: Check nRF51 UART functionality
2018-11-05 10:45 [Qemu-devel] [PATCH v3] tests/microbit-test: Check nRF51 UART functionality Julia Suvorova
2018-11-05 12:24 ` Alex Bennée
@ 2018-11-05 15:29 ` no-reply
2018-11-05 15:32 ` no-reply
` (3 subsequent siblings)
5 siblings, 0 replies; 10+ messages in thread
From: no-reply @ 2018-11-05 15:29 UTC (permalink / raw)
To: qemu-devel
Cc: famz, peter.maydell, jim, mail, thuth, joel, stefanha, pbonzini, jusual
Hi,
This series failed docker-mingw@fedora build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.
Type: series
Message-id: 20181105104524.933-1-jusual@mail.ru
Subject: [Qemu-devel] [PATCH v3] tests/microbit-test: Check nRF51 UART functionality
=== TEST SCRIPT BEGIN ===
#!/bin/bash
time make docker-test-mingw@fedora SHOW_ENV=1 J=8
=== TEST SCRIPT END ===
Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
t [tag update] patchew/20181016093703.10637-1-peter.maydell@linaro.org -> patchew/20181016093703.10637-1-peter.maydell@linaro.org
* [new tag] patchew/20181105150806.13649-1-jcfaracco@gmail.com -> patchew/20181105150806.13649-1-jcfaracco@gmail.com
* [new tag] patchew/20181105151132.13884-1-peter.maydell@linaro.org -> patchew/20181105151132.13884-1-peter.maydell@linaro.org
Switched to a new branch 'test'
dba9632258 tests/microbit-test: Check nRF51 UART functionality
=== OUTPUT BEGIN ===
BUILD fedora
make[1]: Entering directory '/var/tmp/patchew-tester-tmp-ceo1a87s/src'
GEN /var/tmp/patchew-tester-tmp-ceo1a87s/src/docker-src.2018-11-05-10.28.42.890/qemu.tar
Cloning into '/var/tmp/patchew-tester-tmp-ceo1a87s/src/docker-src.2018-11-05-10.28.42.890/qemu.tar.vroot'...
done.
Checking out files: 45% (2913/6455)
Checking out files: 46% (2970/6455)
Checking out files: 47% (3034/6455)
Checking out files: 48% (3099/6455)
Checking out files: 49% (3163/6455)
Checking out files: 50% (3228/6455)
Checking out files: 51% (3293/6455)
Checking out files: 52% (3357/6455)
Checking out files: 53% (3422/6455)
Checking out files: 54% (3486/6455)
Checking out files: 55% (3551/6455)
Checking out files: 56% (3615/6455)
Checking out files: 57% (3680/6455)
Checking out files: 58% (3744/6455)
Checking out files: 59% (3809/6455)
Checking out files: 60% (3873/6455)
Checking out files: 61% (3938/6455)
Checking out files: 62% (4003/6455)
Checking out files: 63% (4067/6455)
Checking out files: 64% (4132/6455)
Checking out files: 65% (4196/6455)
Checking out files: 66% (4261/6455)
Checking out files: 67% (4325/6455)
Checking out files: 68% (4390/6455)
Checking out files: 69% (4454/6455)
Checking out files: 70% (4519/6455)
Checking out files: 71% (4584/6455)
Checking out files: 72% (4648/6455)
Checking out files: 73% (4713/6455)
Checking out files: 74% (4777/6455)
Checking out files: 75% (4842/6455)
Checking out files: 76% (4906/6455)
Checking out files: 77% (4971/6455)
Checking out files: 78% (5035/6455)
Checking out files: 79% (5100/6455)
Checking out files: 80% (5164/6455)
Checking out files: 81% (5229/6455)
Checking out files: 82% (5294/6455)
Checking out files: 83% (5358/6455)
Checking out files: 84% (5423/6455)
Checking out files: 85% (5487/6455)
Checking out files: 86% (5552/6455)
Checking out files: 87% (5616/6455)
Checking out files: 88% (5681/6455)
Checking out files: 89% (5745/6455)
Checking out files: 90% (5810/6455)
Checking out files: 91% (5875/6455)
Checking out files: 92% (5939/6455)
Checking out files: 93% (6004/6455)
Checking out files: 94% (6068/6455)
Checking out files: 95% (6133/6455)
Checking out files: 96% (6197/6455)
Checking out files: 97% (6262/6455)
Checking out files: 98% (6326/6455)
Checking out files: 99% (6391/6455)
Checking out files: 100% (6455/6455)
Checking out files: 100% (6455/6455), done.
Your branch is up-to-date with 'origin/test'.
Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc'
Cloning into '/var/tmp/patchew-tester-tmp-ceo1a87s/src/docker-src.2018-11-05-10.28.42.890/qemu.tar.vroot/dtc'...
Submodule path 'dtc': checked out '88f18909db731a627456f26d779445f84e449536'
Submodule 'ui/keycodemapdb' (git://git.qemu.org/keycodemapdb.git) registered for path 'ui/keycodemapdb'
Cloning into '/var/tmp/patchew-tester-tmp-ceo1a87s/src/docker-src.2018-11-05-10.28.42.890/qemu.tar.vroot/ui/keycodemapdb'...
Submodule path 'ui/keycodemapdb': checked out '6b3d716e2b6472eb7189d3220552280ef3d832ce'
COPY RUNNER
RUN test-mingw in qemu:fedora
Packages installed:
SDL2-devel-2.0.8-5.fc28.x86_64
bc-1.07.1-5.fc28.x86_64
bison-3.0.4-9.fc28.x86_64
bluez-libs-devel-5.50-1.fc28.x86_64
brlapi-devel-0.6.7-19.fc28.x86_64
bzip2-1.0.6-26.fc28.x86_64
bzip2-devel-1.0.6-26.fc28.x86_64
ccache-3.4.2-2.fc28.x86_64
clang-6.0.1-1.fc28.x86_64
device-mapper-multipath-devel-0.7.4-3.git07e7bd5.fc28.x86_64
findutils-4.6.0-19.fc28.x86_64
flex-2.6.1-7.fc28.x86_64
gcc-8.1.1-5.fc28.x86_64
gcc-c++-8.1.1-5.fc28.x86_64
gettext-0.19.8.1-14.fc28.x86_64
git-2.17.1-3.fc28.x86_64
glib2-devel-2.56.1-4.fc28.x86_64
glusterfs-api-devel-4.1.2-2.fc28.x86_64
gnutls-devel-3.6.3-3.fc28.x86_64
gtk3-devel-3.22.30-1.fc28.x86_64
hostname-3.20-3.fc28.x86_64
libaio-devel-0.3.110-11.fc28.x86_64
libasan-8.1.1-5.fc28.x86_64
libattr-devel-2.4.48-3.fc28.x86_64
libcap-devel-2.25-9.fc28.x86_64
libcap-ng-devel-0.7.9-4.fc28.x86_64
libcurl-devel-7.59.0-6.fc28.x86_64
libfdt-devel-1.4.6-5.fc28.x86_64
libpng-devel-1.6.34-6.fc28.x86_64
librbd-devel-12.2.7-1.fc28.x86_64
libssh2-devel-1.8.0-7.fc28.x86_64
libubsan-8.1.1-5.fc28.x86_64
libusbx-devel-1.0.22-1.fc28.x86_64
libxml2-devel-2.9.8-4.fc28.x86_64
llvm-6.0.1-6.fc28.x86_64
lzo-devel-2.08-12.fc28.x86_64
make-4.2.1-6.fc28.x86_64
mingw32-SDL2-2.0.5-3.fc27.noarch
mingw32-bzip2-1.0.6-9.fc27.noarch
mingw32-curl-7.57.0-1.fc28.noarch
mingw32-glib2-2.56.1-1.fc28.noarch
mingw32-gmp-6.1.2-2.fc27.noarch
mingw32-gnutls-3.6.2-1.fc28.noarch
mingw32-gtk3-3.22.30-1.fc28.noarch
mingw32-libjpeg-turbo-1.5.1-3.fc27.noarch
mingw32-libpng-1.6.29-2.fc27.noarch
mingw32-libssh2-1.8.0-3.fc27.noarch
mingw32-libtasn1-4.13-1.fc28.noarch
mingw32-nettle-3.4-1.fc28.noarch
mingw32-pixman-0.34.0-3.fc27.noarch
mingw32-pkg-config-0.28-9.fc27.x86_64
mingw64-SDL2-2.0.5-3.fc27.noarch
mingw64-bzip2-1.0.6-9.fc27.noarch
mingw64-curl-7.57.0-1.fc28.noarch
mingw64-glib2-2.56.1-1.fc28.noarch
mingw64-gmp-6.1.2-2.fc27.noarch
mingw64-gnutls-3.6.2-1.fc28.noarch
mingw64-gtk3-3.22.30-1.fc28.noarch
mingw64-libjpeg-turbo-1.5.1-3.fc27.noarch
mingw64-libpng-1.6.29-2.fc27.noarch
mingw64-libssh2-1.8.0-3.fc27.noarch
mingw64-libtasn1-4.13-1.fc28.noarch
mingw64-nettle-3.4-1.fc28.noarch
mingw64-pixman-0.34.0-3.fc27.noarch
mingw64-pkg-config-0.28-9.fc27.x86_64
ncurses-devel-6.1-5.20180224.fc28.x86_64
nettle-devel-3.4-2.fc28.x86_64
nss-devel-3.38.0-1.0.fc28.x86_64
numactl-devel-2.0.11-8.fc28.x86_64
package PyYAML is not installed
package libjpeg-devel is not installed
perl-5.26.2-413.fc28.x86_64
pixman-devel-0.34.0-8.fc28.x86_64
python3-3.6.5-1.fc28.x86_64
snappy-devel-1.1.7-5.fc28.x86_64
sparse-0.5.2-1.fc28.x86_64
spice-server-devel-0.14.0-4.fc28.x86_64
systemtap-sdt-devel-3.3-1.fc28.x86_64
tar-1.30-3.fc28.x86_64
usbredir-devel-0.8.0-1.fc28.x86_64
virglrenderer-devel-0.6.0-4.20170210git76b3da97b.fc28.x86_64
vte3-devel-0.36.5-6.fc28.x86_64
which-2.21-8.fc28.x86_64
xen-devel-4.10.1-5.fc28.x86_64
zlib-devel-1.2.11-8.fc28.x86_64
Environment variables:
TARGET_LIST=
PACKAGES=bc bison bluez-libs-devel brlapi-devel bzip2 bzip2-devel ccache clang device-mapper-multipath-devel findutils flex gcc gcc-c++ gettext git glib2-devel glusterfs-api-devel gnutls-devel gtk3-devel hostname libaio-devel libasan libattr-devel libcap-devel libcap-ng-devel libcurl-devel libfdt-devel libjpeg-devel libpng-devel librbd-devel libssh2-devel libubsan libusbx-devel libxml2-devel llvm lzo-devel make mingw32-bzip2 mingw32-curl mingw32-glib2 mingw32-gmp mingw32-gnutls mingw32-gtk3 mingw32-libjpeg-turbo mingw32-libpng mingw32-libssh2 mingw32-libtasn1 mingw32-nettle mingw32-pixman mingw32-pkg-config mingw32-SDL2 mingw64-bzip2 mingw64-curl mingw64-glib2 mingw64-gmp mingw64-gnutls mingw64-gtk3 mingw64-libjpeg-turbo mingw64-libpng mingw64-libssh2 mingw64-libtasn1 mingw64-nettle mingw64-pixman mingw64-pkg-config mingw64-SDL2 ncurses-devel nettle-devel nss-devel numactl-devel perl pixman-devel python3 PyYAML SDL2-devel snappy-devel sparse spice-server-devel systemtap-sdt-devel tar usbredir-devel virglrenderer-devel vte3-devel which xen-devel zlib-devel
J=8
V=
HOSTNAME=26eb0f415b9d
DEBUG=
SHOW_ENV=1
PWD=/
HOME=/home/patchew
CCACHE_DIR=/var/tmp/ccache
DISTTAG=f28container
QEMU_CONFIGURE_OPTS=--python=/usr/bin/python3
FGC=f28
TEST_DIR=/tmp/qemu-test
SHLVL=1
FEATURES=mingw clang pyyaml asan dtc
PATH=/usr/lib/ccache:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
MAKEFLAGS= -j8
EXTRA_CONFIGURE_OPTS=
_=/usr/bin/env
Configure options:
--enable-werror --target-list=x86_64-softmmu,aarch64-softmmu --prefix=/tmp/qemu-test/install --python=/usr/bin/python3 --cross-prefix=x86_64-w64-mingw32- --enable-trace-backends=simple --enable-gnutls --enable-nettle --enable-curl --enable-vnc --enable-bzip2 --enable-guest-agent --with-sdlabi=2.0 --with-gtkabi=3.0
ERROR: unknown option --with-gtkabi=3.0
Try '/tmp/qemu-test/src/configure --help' for more information
# QEMU configure log Mon Nov 5 15:29:00 UTC 2018
# Configured with: '/tmp/qemu-test/src/configure' '--enable-werror' '--target-list=x86_64-softmmu,aarch64-softmmu' '--prefix=/tmp/qemu-test/install' '--python=/usr/bin/python3' '--cross-prefix=x86_64-w64-mingw32-' '--enable-trace-backends=simple' '--enable-gnutls' '--enable-nettle' '--enable-curl' '--enable-vnc' '--enable-bzip2' '--enable-guest-agent' '--with-sdlabi=2.0' '--with-gtkabi=3.0'
#
funcs: do_compiler do_cc compile_object check_define main
lines: 92 119 605 622 0
x86_64-w64-mingw32-gcc -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 -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c
config-temp/qemu-conf.c:2:2: error: #error __linux__ not defined
#error __linux__ not defined
^~~~~
funcs: do_compiler do_cc compile_object check_define main
lines: 92 119 605 624 0
x86_64-w64-mingw32-gcc -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 -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c
funcs: do_compiler do_cc compile_object check_define main
lines: 92 119 605 674 0
x86_64-w64-mingw32-gcc -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 -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c
config-temp/qemu-conf.c:2:2: error: #error __i386__ not defined
#error __i386__ not defined
^~~~~
funcs: do_compiler do_cc compile_object check_define main
lines: 92 119 605 676 0
x86_64-w64-mingw32-gcc -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 -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c
funcs: do_compiler do_cc compile_object check_define main
lines: 92 119 605 677 0
x86_64-w64-mingw32-gcc -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 -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c
config-temp/qemu-conf.c:2:2: error: #error __ILP32__ not defined
#error __ILP32__ not defined
^~~~~
funcs: do_compiler do_cc compile_object check_include main
lines: 92 119 613 768 0
x86_64-w64-mingw32-gcc -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 -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c
funcs: do_compiler do_cc compile_prog main
lines: 92 125 904 0
x86_64-w64-mingw32-gcc -mthreads -D__USE_MINGW_ANSI_STDIO=1 -DWIN32_LEAN_AND_MEAN -DWINVER=0x501 -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 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -g -liberty
/usr/lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/bin/ld: cannot find -liberty
collect2: error: ld returned 1 exit status
Failed to run 'configure'
Traceback (most recent call last):
File "./tests/docker/docker.py", line 563, in <module>
sys.exit(main())
File "./tests/docker/docker.py", line 560, in main
return args.cmdobj.run(args, argv)
File "./tests/docker/docker.py", line 306, in run
return Docker().run(argv, args.keep, quiet=args.quiet)
File "./tests/docker/docker.py", line 274, in run
quiet=quiet)
File "./tests/docker/docker.py", line 181, in _do_check
return subprocess.check_call(self._command + cmd, **kwargs)
File "/usr/lib64/python2.7/subprocess.py", line 186, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['sudo', '-n', 'docker', 'run', '--label', 'com.qemu.instance.uuid=840a32c8e10f11e8907e52540069c830', '-u', '1000', '--security-opt', 'seccomp=unconfined', '--rm', '--net=none', '-e', 'TARGET_LIST=', '-e', 'EXTRA_CONFIGURE_OPTS=', '-e', 'V=', '-e', 'J=8', '-e', 'DEBUG=', '-e', 'SHOW_ENV=1', '-e', 'CCACHE_DIR=/var/tmp/ccache', '-v', '/home/patchew/.cache/qemu-docker-ccache:/var/tmp/ccache:z', '-v', '/var/tmp/patchew-tester-tmp-ceo1a87s/src/docker-src.2018-11-05-10.28.42.890:/var/tmp/qemu:z,ro', 'qemu:fedora', '/var/tmp/qemu/run', 'test-mingw']' returned non-zero exit status 1
make[1]: *** [tests/docker/Makefile.include:217: docker-run] Error 1
make[1]: Leaving directory '/var/tmp/patchew-tester-tmp-ceo1a87s/src'
make: *** [tests/docker/Makefile.include:251: docker-run-test-mingw@fedora] Error 2
real 0m39.243s
user 0m5.190s
sys 0m3.945s
=== OUTPUT END ===
Test command exited with code: 2
---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH v3] tests/microbit-test: Check nRF51 UART functionality
2018-11-05 10:45 [Qemu-devel] [PATCH v3] tests/microbit-test: Check nRF51 UART functionality Julia Suvorova
2018-11-05 12:24 ` Alex Bennée
2018-11-05 15:29 ` no-reply
@ 2018-11-05 15:32 ` no-reply
2018-11-05 16:16 ` Philippe Mathieu-Daudé
` (2 subsequent siblings)
5 siblings, 0 replies; 10+ messages in thread
From: no-reply @ 2018-11-05 15:32 UTC (permalink / raw)
To: qemu-devel
Cc: famz, peter.maydell, jim, mail, thuth, joel, stefanha, pbonzini, jusual
Hi,
This series failed docker-quick@centos7 build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.
Type: series
Message-id: 20181105104524.933-1-jusual@mail.ru
Subject: [Qemu-devel] [PATCH v3] tests/microbit-test: Check nRF51 UART functionality
=== TEST SCRIPT BEGIN ===
#!/bin/bash
time make docker-test-quick@centos7 SHOW_ENV=1 J=8
=== TEST SCRIPT END ===
Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
Switched to a new branch 'test'
dba9632258 tests/microbit-test: Check nRF51 UART functionality
=== OUTPUT BEGIN ===
BUILD centos7
make[1]: Entering directory '/var/tmp/patchew-tester-tmp-433peg19/src'
GEN /var/tmp/patchew-tester-tmp-433peg19/src/docker-src.2018-11-05-10.29.47.1554/qemu.tar
Cloning into '/var/tmp/patchew-tester-tmp-433peg19/src/docker-src.2018-11-05-10.29.47.1554/qemu.tar.vroot'...
done.
Your branch is up-to-date with 'origin/test'.
Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc'
Cloning into '/var/tmp/patchew-tester-tmp-433peg19/src/docker-src.2018-11-05-10.29.47.1554/qemu.tar.vroot/dtc'...
Submodule path 'dtc': checked out '88f18909db731a627456f26d779445f84e449536'
Submodule 'ui/keycodemapdb' (git://git.qemu.org/keycodemapdb.git) registered for path 'ui/keycodemapdb'
Cloning into '/var/tmp/patchew-tester-tmp-433peg19/src/docker-src.2018-11-05-10.29.47.1554/qemu.tar.vroot/ui/keycodemapdb'...
Submodule path 'ui/keycodemapdb': checked out '6b3d716e2b6472eb7189d3220552280ef3d832ce'
COPY RUNNER
RUN test-quick in qemu:centos7
Packages installed:
SDL-devel-1.2.15-14.el7.x86_64
bison-3.0.4-1.el7.x86_64
bzip2-1.0.6-13.el7.x86_64
bzip2-devel-1.0.6-13.el7.x86_64
ccache-3.3.4-1.el7.x86_64
csnappy-devel-0-6.20150729gitd7bc683.el7.x86_64
flex-2.5.37-3.el7.x86_64
gcc-4.8.5-28.el7_5.1.x86_64
gettext-0.19.8.1-2.el7.x86_64
git-1.8.3.1-14.el7_5.x86_64
glib2-devel-2.54.2-2.el7.x86_64
libaio-devel-0.3.109-13.el7.x86_64
libepoxy-devel-1.3.1-2.el7_5.x86_64
libfdt-devel-1.4.6-1.el7.x86_64
lzo-devel-2.06-8.el7.x86_64
make-3.82-23.el7.x86_64
mesa-libEGL-devel-17.2.3-8.20171019.el7.x86_64
mesa-libgbm-devel-17.2.3-8.20171019.el7.x86_64
nettle-devel-2.7.1-8.el7.x86_64
package g++ is not installed
package librdmacm-devel is not installed
pixman-devel-0.34.0-1.el7.x86_64
spice-glib-devel-0.34-3.el7_5.1.x86_64
spice-server-devel-0.14.0-2.el7_5.4.x86_64
tar-1.26-34.el7.x86_64
vte-devel-0.28.2-10.el7.x86_64
xen-devel-4.6.6-12.el7.x86_64
zlib-devel-1.2.7-17.el7.x86_64
Environment variables:
PACKAGES=bison bzip2 bzip2-devel ccache csnappy-devel flex g++ gcc gettext git glib2-devel libaio-devel libepoxy-devel libfdt-devel librdmacm-devel lzo-devel make mesa-libEGL-devel mesa-libgbm-devel nettle-devel pixman-devel SDL-devel spice-glib-devel spice-server-devel tar vte-devel xen-devel zlib-devel
HOSTNAME=240c1c2c4ec9
MAKEFLAGS= -j8
J=8
CCACHE_DIR=/var/tmp/ccache
EXTRA_CONFIGURE_OPTS=
V=
SHOW_ENV=1
PATH=/usr/lib/ccache:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PWD=/
TARGET_LIST=
SHLVL=1
HOME=/home/patchew
TEST_DIR=/tmp/qemu-test
FEATURES= dtc
DEBUG=
_=/usr/bin/env
Configure options:
--enable-werror --target-list=x86_64-softmmu,aarch64-softmmu --prefix=/tmp/qemu-test/install
No C++ compiler available; disabling C++ specific optional code
Install prefix /tmp/qemu-test/install
BIOS directory /tmp/qemu-test/install/share/qemu
firmware path /tmp/qemu-test/install/share/qemu-firmware
binary directory /tmp/qemu-test/install/bin
library directory /tmp/qemu-test/install/lib
module directory /tmp/qemu-test/install/lib/qemu
libexec directory /tmp/qemu-test/install/libexec
include directory /tmp/qemu-test/install/include
config directory /tmp/qemu-test/install/etc
local state directory /tmp/qemu-test/install/var
Manual directory /tmp/qemu-test/install/share/man
ELF interp prefix /usr/gnemul/qemu-%M
Source path /tmp/qemu-test/src
GIT binary git
GIT submodules
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 -Werror -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-strong -Wno-missing-braces -I/usr/include/libpng15 -pthread -I/usr/include/spice-server -I/usr/include/cacard -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/nss3 -I/usr/include/nspr4 -I/usr/include/spice-1
LDFLAGS -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -pie -m64 -g
QEMU_LDFLAGS
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
gprof enabled no
sparse enabled no
strip binaries yes
profiler no
static build no
SDL support yes (1.2.15)
GTK support no
GTK GL support no
VTE support no
TLS priority NORMAL
GNUTLS support no
libgcrypt no
nettle yes (2.7.1)
libtasn1 no
curses support yes
virgl support no
curl support no
mingw32 support no
Audio drivers oss
Block whitelist (rw)
Block whitelist (ro)
VirtFS support no
Multipath support no
VNC support yes
VNC SASL support no
VNC JPEG support no
VNC PNG support yes
xen support yes
xen ctrl version 40600
pv dom build no
brlapi support no
bluez support no
Documentation no
PIE yes
vde support no
netmap support no
Linux AIO support yes
ATTR/XATTR support yes
Install blobs yes
KVM support yes
HAX support no
HVF support no
WHPX support no
TCG support yes
TCG debug enabled no
TCG interpreter no
malloc trim support yes
RDMA support yes
PVRDMA support yes
fdt support system
membarrier no
preadv support yes
fdatasync yes
madvise yes
posix_madvise yes
posix_memalign yes
libcap-ng support no
vhost-net support yes
vhost-crypto support yes
vhost-scsi support yes
vhost-vsock support yes
vhost-user support yes
Trace backends log
spice support yes (0.12.13/0.14.0)
rbd support no
xfsctl support no
smartcard support yes
libusb no
usb net redir no
OpenGL support yes
OpenGL dmabufs yes
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
mutex debugging no
crypto afalg no
GlusterFS support no
gcov gcov
gcov enabled no
TPM support yes
libssh2 support no
TPM passthrough yes
TPM emulator yes
QOM debugging yes
Live block migration yes
lzo support yes
snappy support no
bzip2 support yes
NUMA host support no
libxml2 no
tcmalloc support no
jemalloc support no
avx2 optimization yes
replication support yes
VxHS block device no
capstone no
docker no
libpmem support no
WARNING: Use of SDL 1.2 is deprecated and will be removed in
WARNING: future releases. Please switch to using SDL 2.0
NOTE: cross-compilers enabled: 'cc'
GEN x86_64-softmmu/config-devices.mak.tmp
GEN aarch64-softmmu/config-devices.mak.tmp
GEN config-host.h
GEN qemu-options.def
GEN qapi-gen
GEN trace/generated-tcg-tracers.h
GEN trace/generated-helpers-wrappers.h
GEN trace/generated-helpers.h
GEN trace/generated-helpers.c
GEN module_block.h
GEN aarch64-softmmu/config-devices.mak
GEN ui/input-keymap-atset1-to-qcode.c
GEN x86_64-softmmu/config-devices.mak
GEN ui/input-keymap-linux-to-qcode.c
GEN ui/input-keymap-qcode-to-atset1.c
GEN ui/input-keymap-qcode-to-atset2.c
GEN ui/input-keymap-qcode-to-atset3.c
GEN ui/input-keymap-qcode-to-linux.c
GEN ui/input-keymap-qcode-to-qnum.c
GEN ui/input-keymap-qcode-to-sun.c
GEN ui/input-keymap-qnum-to-qcode.c
GEN ui/input-keymap-usb-to-qcode.c
GEN ui/input-keymap-win32-to-qcode.c
GEN ui/input-keymap-x11-to-qcode.c
GEN ui/input-keymap-xorgevdev-to-qcode.c
GEN ui/input-keymap-xorgkbd-to-qcode.c
GEN ui/input-keymap-xorgxquartz-to-qcode.c
GEN ui/input-keymap-xorgxwin-to-qcode.c
GEN ui/input-keymap-osx-to-qcode.c
GEN tests/test-qapi-gen
GEN trace-root.h
GEN accel/kvm/trace.h
GEN accel/tcg/trace.h
GEN audio/trace.h
GEN block/trace.h
GEN chardev/trace.h
GEN crypto/trace.h
GEN hw/9pfs/trace.h
GEN hw/acpi/trace.h
GEN hw/alpha/trace.h
GEN hw/arm/trace.h
GEN hw/audio/trace.h
GEN hw/block/trace.h
GEN hw/block/dataplane/trace.h
GEN hw/char/trace.h
GEN hw/display/trace.h
GEN hw/dma/trace.h
GEN hw/hppa/trace.h
GEN hw/i2c/trace.h
GEN hw/i386/trace.h
GEN hw/i386/xen/trace.h
GEN hw/ide/trace.h
GEN hw/input/trace.h
GEN hw/intc/trace.h
GEN hw/isa/trace.h
GEN hw/mem/trace.h
GEN hw/misc/trace.h
GEN hw/misc/macio/trace.h
GEN hw/net/trace.h
GEN hw/nvram/trace.h
GEN hw/pci/trace.h
GEN hw/pci-host/trace.h
GEN hw/ppc/trace.h
GEN hw/rdma/trace.h
GEN hw/rdma/vmw/trace.h
GEN hw/s390x/trace.h
GEN hw/scsi/trace.h
GEN hw/sd/trace.h
GEN hw/sparc/trace.h
GEN hw/sparc64/trace.h
GEN hw/timer/trace.h
GEN hw/tpm/trace.h
GEN hw/usb/trace.h
GEN hw/vfio/trace.h
GEN hw/virtio/trace.h
GEN hw/watchdog/trace.h
GEN hw/xen/trace.h
GEN hw/gpio/trace.h
GEN io/trace.h
GEN linux-user/trace.h
GEN migration/trace.h
GEN nbd/trace.h
GEN net/trace.h
GEN qapi/trace.h
GEN qom/trace.h
GEN scsi/trace.h
GEN target/arm/trace.h
GEN target/i386/trace.h
GEN target/mips/trace.h
GEN target/ppc/trace.h
GEN target/s390x/trace.h
GEN target/sparc/trace.h
GEN ui/trace.h
GEN util/trace.h
GEN trace-root.c
GEN accel/kvm/trace.c
GEN accel/tcg/trace.c
GEN audio/trace.c
GEN block/trace.c
GEN chardev/trace.c
GEN crypto/trace.c
GEN hw/9pfs/trace.c
GEN hw/acpi/trace.c
GEN hw/alpha/trace.c
GEN hw/arm/trace.c
GEN hw/audio/trace.c
GEN hw/block/trace.c
GEN hw/block/dataplane/trace.c
GEN hw/char/trace.c
GEN hw/display/trace.c
GEN hw/dma/trace.c
GEN hw/hppa/trace.c
GEN hw/i2c/trace.c
GEN hw/i386/trace.c
GEN hw/i386/xen/trace.c
GEN hw/ide/trace.c
GEN hw/input/trace.c
GEN hw/intc/trace.c
GEN hw/isa/trace.c
GEN hw/mem/trace.c
GEN hw/misc/trace.c
GEN hw/misc/macio/trace.c
GEN hw/net/trace.c
GEN hw/nvram/trace.c
GEN hw/pci/trace.c
GEN hw/pci-host/trace.c
GEN hw/ppc/trace.c
GEN hw/rdma/trace.c
GEN hw/rdma/vmw/trace.c
GEN hw/s390x/trace.c
GEN hw/scsi/trace.c
GEN hw/sd/trace.c
GEN hw/sparc/trace.c
GEN hw/sparc64/trace.c
GEN hw/timer/trace.c
GEN hw/tpm/trace.c
GEN hw/usb/trace.c
GEN hw/vfio/trace.c
GEN hw/virtio/trace.c
GEN hw/watchdog/trace.c
GEN hw/xen/trace.c
GEN hw/gpio/trace.c
GEN io/trace.c
GEN linux-user/trace.c
GEN migration/trace.c
GEN nbd/trace.c
GEN net/trace.c
GEN qapi/trace.c
GEN qom/trace.c
GEN scsi/trace.c
GEN target/arm/trace.c
GEN target/i386/trace.c
GEN target/mips/trace.c
GEN target/ppc/trace.c
GEN target/s390x/trace.c
GEN target/sparc/trace.c
GEN ui/trace.c
GEN util/trace.c
GEN config-all-devices.mak
CC tests/qemu-iotests/socket_scm_helper.o
GEN qga/qapi-generated/qapi-gen
CC qapi/qapi-builtin-types.o
CC qapi/qapi-types.o
CC qapi/qapi-types-block.o
CC qapi/qapi-types-block-core.o
CC qapi/qapi-types-common.o
CC qapi/qapi-types-char.o
CC qapi/qapi-types-crypto.o
CC qapi/qapi-types-introspect.o
CC qapi/qapi-types-job.o
CC qapi/qapi-types-migration.o
CC qapi/qapi-types-misc.o
CC qapi/qapi-types-net.o
CC qapi/qapi-types-rocker.o
CC qapi/qapi-types-run-state.o
CC qapi/qapi-types-sockets.o
CC qapi/qapi-types-tpm.o
CC qapi/qapi-types-trace.o
CC qapi/qapi-types-transaction.o
CC qapi/qapi-types-ui.o
CC qapi/qapi-builtin-visit.o
CC qapi/qapi-visit.o
CC qapi/qapi-visit-block-core.o
CC qapi/qapi-visit-block.o
CC qapi/qapi-visit-char.o
CC qapi/qapi-visit-common.o
CC qapi/qapi-visit-crypto.o
CC qapi/qapi-visit-introspect.o
CC qapi/qapi-visit-job.o
CC qapi/qapi-visit-migration.o
CC qapi/qapi-visit-misc.o
CC qapi/qapi-visit-net.o
CC qapi/qapi-visit-rocker.o
CC qapi/qapi-visit-run-state.o
CC qapi/qapi-visit-sockets.o
CC qapi/qapi-visit-tpm.o
CC qapi/qapi-visit-trace.o
CC qapi/qapi-visit-transaction.o
CC qapi/qapi-visit-ui.o
CC qapi/qapi-events.o
CC qapi/qapi-events-block-core.o
CC qapi/qapi-events-block.o
CC qapi/qapi-events-char.o
CC qapi/qapi-events-common.o
CC qapi/qapi-events-crypto.o
CC qapi/qapi-events-introspect.o
CC qapi/qapi-events-job.o
CC qapi/qapi-events-migration.o
CC qapi/qapi-events-misc.o
CC qapi/qapi-events-net.o
CC qapi/qapi-events-rocker.o
CC qapi/qapi-events-run-state.o
CC qapi/qapi-events-sockets.o
CC qapi/qapi-events-tpm.o
CC qapi/qapi-events-trace.o
CC qapi/qapi-events-transaction.o
CC qapi/qapi-events-ui.o
CC qapi/qapi-introspect.o
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/qnum.o
CC qobject/qstring.o
CC qobject/qdict.o
CC qobject/qlist.o
CC qobject/qbool.o
CC qobject/qlit.o
CC qobject/qjson.o
CC qobject/qobject.o
CC qobject/json-lexer.o
CC qobject/json-parser.o
CC qobject/json-streamer.o
CC qobject/block-qdict.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/aiocb.o
CC util/async.o
CC util/aio-wait.o
CC util/thread-pool.o
CC util/qemu-timer.o
CC util/main-loop.o
CC util/iohandler.o
CC util/aio-posix.o
CC util/compatfd.o
CC util/event_notifier-posix.o
CC util/mmap-alloc.o
CC util/oslib-posix.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/bitmap.o
CC util/bitops.o
CC util/hbitmap.o
CC util/fifo8.o
CC util/acl.o
CC util/cacheinfo.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/keyval.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/qemu-coroutine.o
CC util/rcu.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/log.o
CC util/pagesize.o
CC util/qdist.o
CC util/qht.o
CC util/qsp.o
CC util/range.o
CC util/stats64.o
CC util/systemd.o
CC util/iova-tree.o
CC util/vfio-helpers.o
CC util/drm.o
CC trace-root.o
CC accel/kvm/trace.o
CC accel/tcg/trace.o
CC audio/trace.o
CC block/trace.o
CC chardev/trace.o
CC crypto/trace.o
CC hw/9pfs/trace.o
CC hw/acpi/trace.o
CC hw/alpha/trace.o
CC hw/audio/trace.o
CC hw/arm/trace.o
CC hw/block/trace.o
CC hw/block/dataplane/trace.o
CC hw/char/trace.o
CC hw/display/trace.o
CC hw/dma/trace.o
CC hw/hppa/trace.o
CC hw/i2c/trace.o
CC hw/i386/trace.o
CC hw/i386/xen/trace.o
CC hw/ide/trace.o
CC hw/input/trace.o
CC hw/intc/trace.o
CC hw/isa/trace.o
CC hw/mem/trace.o
CC hw/misc/trace.o
CC hw/misc/macio/trace.o
CC hw/net/trace.o
CC hw/nvram/trace.o
CC hw/pci/trace.o
CC hw/pci-host/trace.o
CC hw/ppc/trace.o
CC hw/rdma/trace.o
CC hw/rdma/vmw/trace.o
CC hw/s390x/trace.o
CC hw/scsi/trace.o
CC hw/sd/trace.o
CC hw/sparc/trace.o
CC hw/sparc64/trace.o
CC hw/timer/trace.o
CC hw/tpm/trace.o
CC hw/usb/trace.o
CC hw/vfio/trace.o
CC hw/virtio/trace.o
CC hw/watchdog/trace.o
CC hw/xen/trace.o
CC hw/gpio/trace.o
CC io/trace.o
CC linux-user/trace.o
CC migration/trace.o
CC nbd/trace.o
CC net/trace.o
CC qapi/trace.o
CC qom/trace.o
CC scsi/trace.o
CC target/arm/trace.o
CC target/i386/trace.o
CC target/mips/trace.o
CC target/ppc/trace.o
CC target/s390x/trace.o
CC target/sparc/trace.o
CC ui/trace.o
CC util/trace.o
CC crypto/pbkdf-stub.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/linux-aio.o
CC stubs/machine-init-done.o
CC stubs/migr-blocker.o
CC stubs/change-state-handler.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/tpm.o
CC stubs/trace-control.o
CC stubs/vm-stop.o
CC stubs/uuid.o
CC stubs/vmstate.o
CC stubs/qmp_memory_device.o
CC stubs/target-monitor-defs.o
CC stubs/target-get-monitor-def.o
CC stubs/vmgenid.o
CC stubs/pc_madt_cpu_entry.o
CC stubs/xen-common.o
CC stubs/xen-hvm.o
CC stubs/pci-host-piix.o
CC stubs/ram-block.o
CC stubs/ramfb.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 block.o
CC blockjob.o
CC job.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/qcow2-bitmap.o
CC block/qed.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/blklogwrites.o
CC block/block-backend.o
CC block/snapshot.o
CC block/qapi.o
CC block/file-posix.o
CC block/linux-aio.o
CC block/null.o
CC block/mirror.o
CC block/commit.o
CC block/io.o
CC block/create.o
CC block/throttle-groups.o
CC block/nvme.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/throttle.o
CC block/copy-on-read.o
CC block/crypto.o
CC nbd/server.o
CC nbd/client.o
CC scsi/utils.o
CC nbd/common.o
CC scsi/pr-manager.o
CC scsi/pr-manager-helper.o
CC block/dmg-bz2.o
CC crypto/init.o
CC crypto/hash.o
CC crypto/hash-nettle.o
CC crypto/hmac-nettle.o
CC crypto/hmac.o
CC crypto/aes.o
CC crypto/desrfb.o
CC crypto/cipher.o
CC crypto/tlscreds.o
CC crypto/tlscredsanon.o
CC crypto/tlscredspsk.o
CC crypto/tlscredsx509.o
CC crypto/tlssession.o
CC crypto/secret.o
CC crypto/random-platform.o
CC crypto/pbkdf.o
CC crypto/pbkdf-nettle.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 crypto/block-luks.o
CC io/channel.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/net-listener.o
CC io/task.o
CC qom/object.o
CC qom/container.o
CC qom/qom-qobject.o
CC qom/object_interfaces.o
GEN qemu-img-cmds.h
CC qemu-io.o
CC qemu-edid.o
CC hw/display/edid-generate.o
CC scsi/qemu-pr-helper.o
CC qemu-bridge-helper.o
CC blockdev.o
CC blockdev-nbd.o
CC bootdevice.o
CC iothread.o
CC job-qmp.o
CC qdev-monitor.o
CC device-hotplug.o
CC os-posix.o
CC bt-host.o
CC bt-vhci.o
CC dma-helpers.o
CC vl.o
CC tpm.o
CC device_tree.o
CC qapi/qapi-commands.o
CC qapi/qapi-commands-block-core.o
CC qapi/qapi-commands-block.o
CC qapi/qapi-commands-char.o
CC qapi/qapi-commands-common.o
CC qapi/qapi-commands-crypto.o
CC qapi/qapi-commands-introspect.o
CC qapi/qapi-commands-job.o
CC qapi/qapi-commands-migration.o
CC qapi/qapi-commands-misc.o
CC qapi/qapi-commands-net.o
CC qapi/qapi-commands-rocker.o
CC qapi/qapi-commands-run-state.o
CC qapi/qapi-commands-sockets.o
CC qapi/qapi-commands-tpm.o
CC qapi/qapi-commands-trace.o
CC qapi/qapi-commands-transaction.o
CC qapi/qapi-commands-ui.o
CC qmp.o
CC hmp.o
CC cpus-common.o
CC audio/audio.o
CC audio/noaudio.o
CC audio/wavaudio.o
CC audio/mixeng.o
CC audio/spiceaudio.o
CC audio/wavcapture.o
CC backends/rng.o
CC backends/rng-egd.o
CC backends/rng-random.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 backends/cryptodev-vhost.o
CC backends/cryptodev-vhost-user.o
CC backends/hostmem-memfd.o
CC block/stream.o
CC chardev/msmouse.o
CC chardev/wctablet.o
CC chardev/testdev.o
CC chardev/spice.o
CC disas/arm.o
CC disas/i386.o
CC fsdev/qemu-fsdev-dummy.o
CC fsdev/qemu-fsdev-opts.o
CC fsdev/qemu-fsdev-throttle.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/cpu_hotplug.o
CC hw/acpi/memory_hotplug.o
CC hw/acpi/cpu.o
CC hw/acpi/nvdimm.o
CC hw/acpi/vmgenid.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/gus.o
CC hw/audio/gusemu_hal.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/audio/marvell_88w8618.o
CC hw/audio/soundhw.o
CC hw/block/block.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/pflash_cfi02.o
CC hw/block/xen_disk.o
CC hw/block/ecc.o
CC hw/block/onenand.o
CC hw/block/nvme.o
CC hw/bt/core.o
CC hw/bt/l2cap.o
CC hw/bt/sdp.o
CC hw/bt/hci.o
CC hw/bt/hid.o
CC hw/bt/hci-csr.o
CC hw/char/ipoctal232.o
CC hw/char/nrf51_uart.o
CC hw/char/parallel.o
CC hw/char/parallel-isa.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/xen_console.o
CC hw/char/cadence_uart.o
CC hw/char/cmsdk-apb-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/qdev-fw.o
CC hw/core/fw-path-provider.o
CC hw/core/irq.o
CC hw/core/hotplug.o
CC hw/core/nmi.o
CC hw/core/stream.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/split-irq.o
CC hw/core/platform-bus.o
CC hw/core/generic-loader.o
CC hw/core/null-machine.o
CC hw/cpu/core.o
CC hw/display/ramfb.o
CC hw/display/ramfb-standalone.o
CC hw/display/ads7846.o
CC hw/display/cirrus_vga.o
CC hw/display/cirrus_vga_isa.o
CC hw/display/pl110.o
CC hw/display/sii9022.o
CC hw/display/ssd0303.o
CC hw/display/ssd0323.o
CC hw/display/xenfb.o
CC hw/display/vga-pci.o
CC hw/display/edid-region.o
CC hw/display/vga-isa.o
CC hw/display/vmware_vga.o
CC hw/display/bochs-display.o
CC hw/display/blizzard.o
CC hw/display/exynos4210_fimd.o
CC hw/display/framebuffer.o
CC hw/display/tc6393xb.o
CC hw/display/qxl.o
CC hw/display/qxl-logger.o
CC hw/display/qxl-render.o
CC hw/dma/pl080.o
CC hw/dma/pl330.o
CC hw/dma/i8257.o
CC hw/dma/xilinx_axidma.o
CC hw/dma/xlnx-zynq-devcfg.o
CC hw/dma/xlnx-zdma.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/piix.o
CC hw/ide/microdrive.o
CC hw/ide/ahci.o
CC hw/ide/ich.o
CC hw/ide/ahci-allwinner.o
CC hw/input/hid.o
CC hw/input/lm832x.o
CC hw/input/pckbd.o
CC hw/input/pl050.o
CC hw/input/ps2.o
CC hw/input/stellaris_input.o
CC hw/input/tsc2005.o
CC hw/input/virtio-input.o
CC hw/input/virtio-input-hid.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/xlnx-pmu-iomod-intc.o
CC hw/intc/xlnx-zynqmp-ipi.o
CC hw/intc/imx_avic.o
CC hw/intc/imx_gpcv2.o
CC hw/intc/realview_gic.o
CC hw/intc/ioapic_common.o
CC hw/intc/arm_gic_common.o
CC hw/intc/arm_gic.o
CC hw/intc/arm_gicv2m.o
CC hw/intc/arm_gicv3_common.o
CC hw/intc/arm_gicv3.o
CC hw/intc/arm_gicv3_dist.o
CC hw/intc/arm_gicv3_redist.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.o
CC hw/ipmi/ipmi_bmc_sim.o
CC hw/ipmi/ipmi_bmc_extern.o
CC hw/ipmi/isa_ipmi_kcs.o
CC hw/ipmi/isa_ipmi_bt.o
CC hw/isa/isa-bus.o
CC hw/isa/isa-superio.o
CC hw/isa/apm.o
CC hw/mem/pc-dimm.o
CC hw/mem/memory-device.o
CC hw/mem/nvdimm.o
CC hw/misc/applesmc.o
CC hw/misc/max111x.o
CC hw/misc/tmp105.o
CC hw/misc/tmp421.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/edu.o
CC hw/misc/pca9552.o
CC hw/misc/unimp.o
CC hw/misc/vmcoreinfo.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/xen_nic.o
CC hw/net/ne2000.o
CC hw/net/eepro100.o
CC hw/net/pcnet-pci.o
CC hw/net/e1000.o
CC hw/net/pcnet.o
CC hw/net/e1000x_common.o
CC hw/net/net_tx_pkt.o
CC hw/net/net_rx_pkt.o
CC hw/net/e1000e.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/xilinx_axienet.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/ftgmac100.o
CC hw/net/rocker/rocker.o
CC hw/net/rocker/rocker_fp.o
CC hw/net/rocker/rocker_desc.o
CC hw/net/rocker/rocker_world.o
CC hw/net/rocker/rocker_of_dpa.o
CC hw/net/can/can_sja1000.o
CC hw/net/can/can_kvaser_pci.o
CC hw/net/can/can_pcm3680_pci.o
CC hw/net/can/can_mioe3680_pci.o
CC hw/nvram/eeprom93xx.o
CC hw/nvram/eeprom_at24c.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/pcie_pci_bridge.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/pam.o
CC hw/pci-host/versatile.o
CC hw/pci-host/piix.o
CC hw/pci-host/q35.o
CC hw/pci-host/gpex.o
CC hw/pci-host/designware.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/mptsas.o
CC hw/scsi/mptconfig.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/sdmmc-internal.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/ssi/stm32f2xx_spi.o
CC hw/ssi/mss-spi.o
CC hw/timer/arm_timer.o
CC hw/timer/arm_mptimer.o
CC hw/timer/armv7m_systick.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/xlnx-zynqmp-rtc.o
CC hw/timer/nrf51_timer.o
CC hw/timer/stm32f2xx_timer.o
CC hw/timer/aspeed_timer.o
CC hw/timer/cmsdk-apb-timer.o
CC hw/timer/cmsdk-apb-dualtimer.o
CC hw/timer/mss-timer.o
CC hw/tpm/tpm_util.o
CC hw/tpm/tpm_tis.o
CC hw/tpm/tpm_crb.o
CC hw/tpm/tpm_passthrough.o
CC hw/tpm/tpm_emulator.o
CC hw/usb/core.o
CC hw/usb/combined-packet.o
CC hw/usb/bus.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-ohci.o
CC hw/usb/hcd-ehci.o
CC hw/usb/hcd-ehci-pci.o
CC hw/usb/hcd-ehci-sysbus.o
CC hw/usb/hcd-xhci.o
CC hw/usb/hcd-xhci-nec.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-storage.o
CC hw/usb/dev-uas.o
CC hw/usb/dev-audio.o
CC hw/usb/dev-serial.o
CC hw/usb/dev-network.o
CC hw/usb/dev-bluetooth.o
CC hw/usb/dev-smartcard-reader.o
CC hw/usb/ccid-card-passthru.o
CC hw/usb/ccid-card-emulated.o
CC hw/usb/dev-mtp.o
CC hw/virtio/virtio-bus.o
CC hw/usb/host-stub.o
CC hw/virtio/virtio-rng.o
CC hw/virtio/virtio-pci.o
CC hw/virtio/virtio-mmio.o
CC hw/virtio/vhost-stub.o
CC hw/watchdog/watchdog.o
CC hw/watchdog/cmsdk-apb-watchdog.o
CC hw/watchdog/wdt_i6300esb.o
CC hw/watchdog/wdt_ib700.o
CC hw/watchdog/wdt_aspeed.o
CC hw/xen/xen_backend.o
CC hw/xen/xen_devconfig.o
CC hw/xen/xen_pvdev.o
CC hw/xen/xen-common.o
CC migration/migration.o
CC migration/socket.o
CC migration/fd.o
CC migration/exec.o
CC migration/tls.o
CC migration/channel.o
CC migration/savevm.o
CC migration/colo.o
CC migration/colo-failover.o
CC migration/vmstate.o
CC migration/vmstate-types.o
CC migration/page_cache.o
CC migration/qemu-file.o
CC migration/global_state.o
CC migration/qemu-file-channel.o
CC migration/xbzrle.o
CC migration/postcopy-ram.o
CC migration/qjson.o
CC migration/block-dirty-bitmap.o
CC migration/rdma.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/vhost-user.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 net/filter-rewriter.o
CC net/filter-replay.o
CC net/tap.o
CC net/tap-linux.o
CC net/can/can_core.o
CC net/can/can_host.o
CC net/can/can_socketcan.o
CC qom/cpu.o
CC replay/replay.o
CC replay/replay-internal.o
CC replay/replay-events.o
CC replay/replay-time.o
CC replay/replay-input.o
CC replay/replay-char.o
CC replay/replay-snapshot.o
CC replay/replay-net.o
CC replay/replay-audio.o
CC slirp/cksum.o
CC slirp/if.o
CC slirp/ip_icmp.o
CC slirp/ip6_icmp.o
CC slirp/ip6_input.o
CC slirp/ip6_output.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_output.o
CC slirp/tcp_input.o
CC slirp/tcp_subr.o
CC slirp/tcp_timer.o
CC slirp/udp6.o
CC slirp/udp.o
CC slirp/bootp.o
CC slirp/tftp.o
CC slirp/arp_table.o
CC slirp/ndp_table.o
CC slirp/ncsi.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-keymap.o
CC ui/input-legacy.o
CC ui/input-linux.o
CC ui/spice-core.o
CC ui/spice-input.o
CC ui/spice-display.o
CC ui/vnc.o
CC ui/vnc-enc-zlib.o
CC ui/vnc-enc-hextile.o
CC ui/vnc-enc-tight.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
VERT ui/shader/texture-blit-vert.h
VERT ui/shader/texture-blit-flip-vert.h
FRAG ui/shader/texture-blit-frag.h
CC ui/console-gl.o
CC ui/egl-helpers.o
CC ui/egl-context.o
CC ui/egl-headless.o
CC audio/ossaudio.o
CC ui/sdl.o
CC ui/sdl_zoom.o
CC ui/x_keymap.o
CC ui/curses.o
CC chardev/char.o
CC chardev/char-fd.o
CC chardev/char-fe.o
CC chardev/char-file.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
AS optionrom/multiboot.o
AS optionrom/linuxboot.o
CC optionrom/linuxboot_dma.o
AS optionrom/kvmvapic.o
CC qga/main.o
BUILD optionrom/multiboot.img
BUILD optionrom/linuxboot.img
BUILD optionrom/kvmvapic.img
CC qga/commands-posix.o
BUILD optionrom/linuxboot.raw
BUILD optionrom/multiboot.raw
BUILD optionrom/linuxboot_dma.img
BUILD optionrom/kvmvapic.raw
BUILD optionrom/linuxboot_dma.raw
CC qga/channel-posix.o
SIGN optionrom/kvmvapic.bin
CC qga/qapi-generated/qga-qapi-types.o
SIGN optionrom/multiboot.bin
CC qga/qapi-generated/qga-qapi-visit.o
SIGN optionrom/linuxboot.bin
CC qga/qapi-generated/qga-qapi-commands.o
SIGN optionrom/linuxboot_dma.bin
AR libqemuutil.a
CC qemu-img.o
CC ui/shader.o
LINK ivshmem-client
LINK ivshmem-server
LINK qemu-nbd
LINK qemu-img
LINK qemu-io
LINK qemu-edid
LINK scsi/qemu-pr-helper
LINK qemu-bridge-helper
LINK qemu-ga
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/hmp-commands.h
GEN aarch64-softmmu/hmp-commands-info.h
GEN aarch64-softmmu/config-target.h
CC x86_64-softmmu/tcg/tcg-op.o
CC x86_64-softmmu/exec.o
CC x86_64-softmmu/tcg/tcg.o
CC x86_64-softmmu/tcg/tcg-op-vec.o
CC x86_64-softmmu/tcg/optimize.o
CC x86_64-softmmu/tcg/tcg-op-gvec.o
CC x86_64-softmmu/tcg/tcg-common.o
CC aarch64-softmmu/exec.o
CC x86_64-softmmu/fpu/softfloat.o
CC x86_64-softmmu/disas.o
GEN x86_64-softmmu/gdbstub-xml.c
CC x86_64-softmmu/arch_init.o
CC aarch64-softmmu/tcg/tcg.o
CC x86_64-softmmu/cpus.o
CC x86_64-softmmu/monitor.o
CC x86_64-softmmu/gdbstub.o
CC x86_64-softmmu/balloon.o
CC x86_64-softmmu/ioport.o
CC x86_64-softmmu/qtest.o
CC x86_64-softmmu/numa.o
CC aarch64-softmmu/tcg/tcg-op.o
CC x86_64-softmmu/memory.o
CC aarch64-softmmu/tcg/tcg-op-vec.o
CC x86_64-softmmu/memory_mapping.o
CC x86_64-softmmu/dump.o
CC x86_64-softmmu/win_dump.o
CC x86_64-softmmu/migration/ram.o
CC x86_64-softmmu/accel/accel.o
CC x86_64-softmmu/accel/kvm/kvm-all.o
CC x86_64-softmmu/accel/stubs/hax-stub.o
CC x86_64-softmmu/accel/stubs/hvf-stub.o
CC x86_64-softmmu/accel/stubs/whpx-stub.o
CC x86_64-softmmu/accel/tcg/tcg-all.o
CC aarch64-softmmu/tcg/tcg-op-gvec.o
CC x86_64-softmmu/accel/tcg/cputlb.o
CC x86_64-softmmu/accel/tcg/tcg-runtime.o
CC x86_64-softmmu/accel/tcg/tcg-runtime-gvec.o
CC aarch64-softmmu/tcg/tcg-common.o
CC aarch64-softmmu/tcg/optimize.o
CC x86_64-softmmu/accel/tcg/cpu-exec.o
CC aarch64-softmmu/fpu/softfloat.o
CC aarch64-softmmu/disas.o
GEN aarch64-softmmu/gdbstub-xml.c
CC x86_64-softmmu/accel/tcg/cpu-exec-common.o
CC x86_64-softmmu/accel/tcg/translate-all.o
CC aarch64-softmmu/arch_init.o
CC aarch64-softmmu/cpus.o
CC aarch64-softmmu/monitor.o
CC aarch64-softmmu/gdbstub.o
CC x86_64-softmmu/accel/tcg/translator.o
CC aarch64-softmmu/balloon.o
CC aarch64-softmmu/ioport.o
CC aarch64-softmmu/numa.o
CC aarch64-softmmu/qtest.o
CC aarch64-softmmu/memory.o
CC aarch64-softmmu/memory_mapping.o
CC x86_64-softmmu/hw/block/virtio-blk.o
CC x86_64-softmmu/hw/block/vhost-user-blk.o
CC aarch64-softmmu/dump.o
CC aarch64-softmmu/migration/ram.o
CC aarch64-softmmu/accel/accel.o
CC x86_64-softmmu/hw/block/dataplane/virtio-blk.o
CC aarch64-softmmu/accel/stubs/hax-stub.o
CC aarch64-softmmu/accel/stubs/hvf-stub.o
CC aarch64-softmmu/accel/stubs/whpx-stub.o
CC aarch64-softmmu/accel/stubs/kvm-stub.o
CC aarch64-softmmu/accel/tcg/tcg-all.o
CC aarch64-softmmu/accel/tcg/cputlb.o
CC aarch64-softmmu/accel/tcg/tcg-runtime.o
CC aarch64-softmmu/accel/tcg/tcg-runtime-gvec.o
CC aarch64-softmmu/accel/tcg/cpu-exec.o
CC aarch64-softmmu/accel/tcg/cpu-exec-common.o
CC aarch64-softmmu/accel/tcg/translate-all.o
CC aarch64-softmmu/accel/tcg/translator.o
CC aarch64-softmmu/hw/adc/stm32f2xx_adc.o
CC aarch64-softmmu/hw/block/virtio-blk.o
CC x86_64-softmmu/hw/char/virtio-serial-bus.o
CC aarch64-softmmu/hw/block/vhost-user-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 aarch64-softmmu/hw/char/digic-uart.o
CC aarch64-softmmu/hw/char/stm32f2xx_usart.o
CC aarch64-softmmu/hw/char/bcm2835_aux.o
CC x86_64-softmmu/hw/display/vga.o
CC x86_64-softmmu/hw/display/virtio-gpu.o
CC aarch64-softmmu/hw/char/virtio-serial-bus.o
CC aarch64-softmmu/hw/cpu/arm11mpcore.o
CC x86_64-softmmu/hw/display/virtio-gpu-3d.o
CC aarch64-softmmu/hw/cpu/realview_mpcore.o
CC x86_64-softmmu/hw/display/virtio-gpu-pci.o
CC aarch64-softmmu/hw/cpu/a9mpcore.o
CC x86_64-softmmu/hw/display/virtio-vga.o
CC x86_64-softmmu/hw/hyperv/hyperv.o
CC x86_64-softmmu/hw/hyperv/hyperv_testdev.o
CC aarch64-softmmu/hw/cpu/a15mpcore.o
CC aarch64-softmmu/hw/display/omap_dss.o
CC x86_64-softmmu/hw/intc/apic.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 aarch64-softmmu/hw/display/vga.o
CC aarch64-softmmu/hw/display/virtio-gpu.o
CC x86_64-softmmu/hw/intc/apic_common.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 aarch64-softmmu/hw/display/xlnx_dp.o
CC aarch64-softmmu/hw/dma/xlnx_dpdma.o
CC aarch64-softmmu/hw/dma/omap_dma.o
CC x86_64-softmmu/hw/intc/ioapic.o
CC aarch64-softmmu/hw/dma/soc_dma.o
CC x86_64-softmmu/hw/isa/lpc_ich9.o
CC x86_64-softmmu/hw/misc/ivshmem.o
CC aarch64-softmmu/hw/dma/pxa2xx_dma.o
CC aarch64-softmmu/hw/dma/bcm2835_dma.o
CC x86_64-softmmu/hw/misc/pvpanic.o
CC aarch64-softmmu/hw/gpio/omap_gpio.o
CC aarch64-softmmu/hw/gpio/imx_gpio.o
CC x86_64-softmmu/hw/net/virtio-net.o
CC x86_64-softmmu/hw/net/vhost_net.o
CC aarch64-softmmu/hw/gpio/bcm2835_gpio.o
CC aarch64-softmmu/hw/gpio/nrf51_gpio.o
CC aarch64-softmmu/hw/i2c/omap_i2c.o
CC aarch64-softmmu/hw/input/pxa2xx_keypad.o
CC aarch64-softmmu/hw/input/tsc210x.o
CC x86_64-softmmu/hw/rdma/rdma_utils.o
CC aarch64-softmmu/hw/intc/armv7m_nvic.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 x86_64-softmmu/hw/rdma/rdma_backend.o
CC aarch64-softmmu/hw/intc/bcm2835_ic.o
CC aarch64-softmmu/hw/intc/bcm2836_control.o
CC x86_64-softmmu/hw/rdma/rdma_rm.o
CC aarch64-softmmu/hw/intc/allwinner-a10-pic.o
/tmp/qemu-test/src/hw/gpio/nrf51_gpio.c: In function 'update_state':
/tmp/qemu-test/src/hw/gpio/nrf51_gpio.c:64:5: error: 'for' loop initial declarations are only allowed in C99 mode
for (size_t i = 0; i < NRF51_GPIO_PINS; i++) {
^
/tmp/qemu-test/src/hw/gpio/nrf51_gpio.c:64:5: note: use option -std=c99 or -std=gnu99 to compile your code
/tmp/qemu-test/src/hw/gpio/nrf51_gpio.c: In function 'reflect_dir_bit_in_cnf':
/tmp/qemu-test/src/hw/gpio/nrf51_gpio.c:107:5: error: 'for' loop initial declarations are only allowed in C99 mode
for (size_t i = 0; i < NRF51_GPIO_PINS; i++) {
^
make[1]: *** [hw/gpio/nrf51_gpio.o] Error 1
make[1]: *** Waiting for unfinished jobs....
CC x86_64-softmmu/hw/rdma/vmw/pvrdma_dev_ring.o
CC x86_64-softmmu/hw/rdma/vmw/pvrdma_cmd.o
CC x86_64-softmmu/hw/rdma/vmw/pvrdma_main.o
CC x86_64-softmmu/hw/rdma/vmw/pvrdma_qp_ops.o
CC x86_64-softmmu/hw/scsi/virtio-scsi.o
CC x86_64-softmmu/hw/scsi/virtio-scsi-dataplane.o
CC x86_64-softmmu/hw/scsi/vhost-scsi-common.o
CC x86_64-softmmu/hw/scsi/vhost-scsi.o
CC x86_64-softmmu/hw/scsi/vhost-user-scsi.o
CC x86_64-softmmu/hw/timer/mc146818rtc.o
CC x86_64-softmmu/hw/vfio/common.o
CC x86_64-softmmu/hw/vfio/pci.o
CC x86_64-softmmu/hw/vfio/pci-quirks.o
CC x86_64-softmmu/hw/vfio/display.o
CC x86_64-softmmu/hw/vfio/platform.o
make: *** [subdir-aarch64-softmmu] Error 2
make: *** Waiting for unfinished jobs....
CC x86_64-softmmu/hw/vfio/spapr.o
CC x86_64-softmmu/hw/virtio/virtio.o
CC x86_64-softmmu/hw/virtio/virtio-balloon.o
CC x86_64-softmmu/hw/virtio/virtio-crypto.o
CC x86_64-softmmu/hw/virtio/virtio-crypto-pci.o
CC x86_64-softmmu/hw/virtio/vhost.o
CC x86_64-softmmu/hw/virtio/vhost-backend.o
CC x86_64-softmmu/hw/virtio/vhost-user.o
CC x86_64-softmmu/hw/virtio/vhost-vsock.o
CC x86_64-softmmu/hw/xen/xen-host-pci-device.o
CC x86_64-softmmu/hw/xen/xen_pt.o
CC x86_64-softmmu/hw/xen/xen_pt_config_init.o
CC x86_64-softmmu/hw/xen/xen_pt_graphics.o
CC x86_64-softmmu/hw/xen/xen_pt_msi.o
CC x86_64-softmmu/hw/xen/xen_pt_load_rom.o
CC x86_64-softmmu/hw/i386/multiboot.o
CC x86_64-softmmu/hw/i386/pc.o
CC x86_64-softmmu/hw/i386/pc_piix.o
CC x86_64-softmmu/hw/i386/pc_q35.o
CC x86_64-softmmu/hw/i386/pc_sysfw.o
CC x86_64-softmmu/hw/i386/x86-iommu.o
CC x86_64-softmmu/hw/i386/intel_iommu.o
CC x86_64-softmmu/hw/i386/amd_iommu.o
CC x86_64-softmmu/hw/i386/vmport.o
CC x86_64-softmmu/hw/i386/kvmvapic.o
CC x86_64-softmmu/hw/i386/vmmouse.o
CC x86_64-softmmu/hw/i386/acpi-build.o
CC x86_64-softmmu/hw/i386/../xenpv/xen_machine_pv.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 x86_64-softmmu/hw/i386/kvm/i8254.o
CC x86_64-softmmu/hw/i386/xen/xen_platform.o
CC x86_64-softmmu/hw/i386/xen/xen_apic.o
CC x86_64-softmmu/hw/i386/xen/xen_pvdevice.o
CC x86_64-softmmu/hw/i386/xen/xen-hvm.o
CC x86_64-softmmu/hw/i386/xen/xen-mapcache.o
CC x86_64-softmmu/target/i386/helper.o
CC x86_64-softmmu/target/i386/cpu.o
CC x86_64-softmmu/target/i386/gdbstub.o
CC x86_64-softmmu/target/i386/xsave_helper.o
CC x86_64-softmmu/target/i386/translate.o
CC x86_64-softmmu/target/i386/bpt_helper.o
CC x86_64-softmmu/target/i386/cc_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/int_helper.o
CC x86_64-softmmu/target/i386/mem_helper.o
CC x86_64-softmmu/target/i386/misc_helper.o
CC x86_64-softmmu/target/i386/mpx_helper.o
CC x86_64-softmmu/target/i386/seg_helper.o
CC x86_64-softmmu/target/i386/smm_helper.o
CC x86_64-softmmu/target/i386/svm_helper.o
CC x86_64-softmmu/target/i386/machine.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/monitor.o
CC x86_64-softmmu/target/i386/kvm.o
CC x86_64-softmmu/target/i386/hyperv.o
CC x86_64-softmmu/target/i386/sev.o
GEN trace/generated-helpers.c
CC x86_64-softmmu/trace/control-target.o
CC x86_64-softmmu/gdbstub-xml.o
CC x86_64-softmmu/trace/generated-helpers.o
LINK x86_64-softmmu/qemu-system-x86_64
Traceback (most recent call last):
File "./tests/docker/docker.py", line 563, in <module>
sys.exit(main())
File "./tests/docker/docker.py", line 560, in main
return args.cmdobj.run(args, argv)
File "./tests/docker/docker.py", line 306, in run
return Docker().run(argv, args.keep, quiet=args.quiet)
File "./tests/docker/docker.py", line 274, in run
quiet=quiet)
File "./tests/docker/docker.py", line 181, in _do_check
return subprocess.check_call(self._command + cmd, **kwargs)
File "/usr/lib64/python2.7/subprocess.py", line 186, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['sudo', '-n', 'docker', 'run', '--label', 'com.qemu.instance.uuid=a8771e78e10f11e8bf8b52540069c830', '-u', '1000', '--security-opt', 'seccomp=unconfined', '--rm', '--net=none', '-e', 'TARGET_LIST=', '-e', 'EXTRA_CONFIGURE_OPTS=', '-e', 'V=', '-e', 'J=8', '-e', 'DEBUG=', '-e', 'SHOW_ENV=1', '-e', 'CCACHE_DIR=/var/tmp/ccache', '-v', '/home/patchew/.cache/qemu-docker-ccache:/var/tmp/ccache:z', '-v', '/var/tmp/patchew-tester-tmp-433peg19/src/docker-src.2018-11-05-10.29.47.1554:/var/tmp/qemu:z,ro', 'qemu:centos7', '/var/tmp/qemu/run', 'test-quick']' returned non-zero exit status 2
make[1]: *** [tests/docker/Makefile.include:217: docker-run] Error 1
make[1]: Leaving directory '/var/tmp/patchew-tester-tmp-433peg19/src'
make: *** [tests/docker/Makefile.include:251: docker-run-test-quick@centos7] Error 2
real 2m47.822s
user 0m5.307s
sys 0m4.115s
=== OUTPUT END ===
Test command exited with code: 2
---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH v3] tests/microbit-test: Check nRF51 UART functionality
2018-11-05 10:45 [Qemu-devel] [PATCH v3] tests/microbit-test: Check nRF51 UART functionality Julia Suvorova
` (2 preceding siblings ...)
2018-11-05 15:32 ` no-reply
@ 2018-11-05 16:16 ` Philippe Mathieu-Daudé
2018-11-05 16:36 ` Julia Suvorova
2018-11-05 17:54 ` Peter Maydell
2018-11-08 10:45 ` Stefan Hajnoczi
5 siblings, 1 reply; 10+ messages in thread
From: Philippe Mathieu-Daudé @ 2018-11-05 16:16 UTC (permalink / raw)
To: Julia Suvorova, qemu-devel
Cc: Peter Maydell, Jim Mussared, Steffen Görtz, Thomas Huth,
Joel Stanley, Stefan Hajnoczi, Paolo Bonzini
Hi Julia,
On 5/11/18 11:45, Julia Suvorova via Qemu-devel wrote:
> Some functional tests for:
> Basic reception/transmittion
> Suspending
> INTEN* registers
>
> Based-on: <20181031002526.14262-1-contrib@steffen-goertz.de>
> Signed-off-by: Julia Suvorova <jusual@mail.ru>
> ---
Lines below '---' are not included in the git history.
The Based-on: tag is temporary and not relevant to the history, you
should insert it here, so it will be automatically dropped once your
patch get applied.
Regards,
Phil.
> This patch was part of nRF51 UART patchset, but wasn't included in the latest
> revision. Due to upcoming loader fixes, we need this test instead of
> boot-serial-test, which doesn't support -device loader.
>
> v3:
> * Fix directory leak [Stefan]
>
> tests/microbit-test.c | 109 +++++++++++++++++++++++++++++++++++++++++-
> 1 file changed, 107 insertions(+), 2 deletions(-)
>
> diff --git a/tests/microbit-test.c b/tests/microbit-test.c
> index ab319eb466..23d343cfdd 100644
> --- a/tests/microbit-test.c
> +++ b/tests/microbit-test.c
> @@ -21,9 +21,87 @@
> #include "hw/arm/nrf51.h"
> #include "hw/nvram/nrf51_nvm.h"
> #include "hw/gpio/nrf51_gpio.h"
> +#include "hw/char/nrf51_uart.h"
> +
> +#include <sys/socket.h>
> +#include <sys/un.h>
>
> #define FLASH_SIZE (256 * NRF51_PAGE_SIZE)
>
> +static bool wait_for_event(uint32_t event_addr)
> +{
> + int i;
> +
> + for (i = 0; i < 1000; i++) {
> + if (readl(event_addr) == 1) {
> + writel(event_addr, 0x00);
> + return true;
> + }
> + g_usleep(10000);
> + }
> +
> + return false;
> +}
> +
> +static void rw_to_rxd(int sock_fd, const char *in, char *out)
> +{
> + int i;
> +
> + g_assert(write(sock_fd, in, strlen(in)) == strlen(in));
> + for (i = 0; i < strlen(in); i++) {
> + g_assert(wait_for_event(NRF51_UART_BASE + A_UART_RXDRDY));
> + out[i] = readl(NRF51_UART_BASE + A_UART_RXD);
> + }
> + out[i] = '\0';
> +}
> +
> +static void w_to_txd(const char *in)
> +{
> + int i;
> +
> + for (i = 0; i < strlen(in); i++) {
> + writel(NRF51_UART_BASE + A_UART_TXD, in[i]);
> + g_assert(wait_for_event(NRF51_UART_BASE + A_UART_TXDRDY));
> + }
> +}
> +
> +static void test_nrf51_uart(const void *data)
> +{
> + int sock_fd = *((const int *) data);
> + char s[10];
> +
> + g_assert(write(sock_fd, "c", 1) == 1);
> + g_assert(readl(NRF51_UART_BASE + A_UART_RXD) == 0);
> +
> + writel(NRF51_UART_BASE + A_UART_ENABLE, 0x04);
> + writel(NRF51_UART_BASE + A_UART_STARTRX, 0x01);
> +
> + g_assert(wait_for_event(NRF51_UART_BASE + A_UART_RXDRDY));
> + writel(NRF51_UART_BASE + A_UART_RXDRDY, 0x00);
> + g_assert(readl(NRF51_UART_BASE + A_UART_RXD) == 'c');
> +
> + writel(NRF51_UART_BASE + A_UART_INTENSET, 0x04);
> + g_assert(readl(NRF51_UART_BASE + A_UART_INTEN) == 0x04);
> + writel(NRF51_UART_BASE + A_UART_INTENCLR, 0x04);
> + g_assert(readl(NRF51_UART_BASE + A_UART_INTEN) == 0x00);
> +
> + rw_to_rxd(sock_fd, "hello", s);
> + g_assert(strcmp(s, "hello") == 0);
> +
> + writel(NRF51_UART_BASE + A_UART_STARTTX, 0x01);
> + w_to_txd("d");
> + g_assert(read(sock_fd, s, 10) == 1);
> + g_assert(s[0] == 'd');
> +
> + writel(NRF51_UART_BASE + A_UART_SUSPEND, 0x01);
> + writel(NRF51_UART_BASE + A_UART_TXD, 'h');
> + writel(NRF51_UART_BASE + A_UART_STARTTX, 0x01);
> + w_to_txd("world");
> + g_assert(read(sock_fd, s, 10) == 5);
> + g_assert(strcmp(s, "world") == 0);
> +}
> +
> +
> static void fill_and_erase(hwaddr base, hwaddr size, uint32_t address_reg)
> {
> /* Fill memory */
> @@ -223,17 +301,44 @@ static void test_nrf51_gpio(void)
>
> int main(int argc, char **argv)
> {
> - int ret;
> + int ret, sock_fd;
> + char serialtmpdir[] = "/tmp/qtest-microbit-serial-sXXXXXX";
> + char serialtmp[40];
> + struct sockaddr_un addr;
> +
> + g_assert(mkdtemp(serialtmpdir));
> + sprintf(serialtmp, "%s/sock", serialtmpdir);
> +
> + sock_fd = socket(AF_UNIX, SOCK_STREAM, 0);
> + g_assert(sock_fd != -1);
> +
> + memset(&addr, 0, sizeof(struct sockaddr_un));
> +
> + addr.sun_family = AF_UNIX;
> + strncpy(addr.sun_path, serialtmp, sizeof(addr.sun_path) - 1);
>
> g_test_init(&argc, &argv, NULL);
>
> - global_qtest = qtest_initf("-machine microbit");
> + global_qtest = qtest_initf("-machine microbit "
> + "-chardev socket,id=s0,path=%s,server,nowait "
> + "-no-shutdown -serial chardev:s0",
> + serialtmp);
> +
> + g_assert(connect(sock_fd, (const struct sockaddr *) &addr,
> + sizeof(struct sockaddr_un)) != -1);
>
> + unlink(serialtmp);
> + rmdir(serialtmpdir);
> +
> + qtest_add_data_func("/microbit/nrf51/uart", &sock_fd, test_nrf51_uart);
> qtest_add_func("/microbit/nrf51/nvmc", test_nrf51_nvmc);
> qtest_add_func("/microbit/nrf51/gpio", test_nrf51_gpio);
>
> ret = g_test_run();
>
> qtest_quit(global_qtest);
> +
> + close(sock_fd);
> +
> return ret;
> }
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH v3] tests/microbit-test: Check nRF51 UART functionality
2018-11-05 16:16 ` Philippe Mathieu-Daudé
@ 2018-11-05 16:36 ` Julia Suvorova
0 siblings, 0 replies; 10+ messages in thread
From: Julia Suvorova @ 2018-11-05 16:36 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, qemu-devel
Cc: Peter Maydell, Jim Mussared, Steffen Görtz, Thomas Huth,
Joel Stanley, Stefan Hajnoczi, Paolo Bonzini
On 05.11.2018 19:16, Philippe Mathieu-Daudé wrote:
> Hi Julia,
>
> On 5/11/18 11:45, Julia Suvorova via Qemu-devel wrote:
>> Some functional tests for:
>> Basic reception/transmittion
>> Suspending
>> INTEN* registers
>>
>> Based-on: <20181031002526.14262-1-contrib@steffen-goertz.de>
>> Signed-off-by: Julia Suvorova <jusual@mail.ru>
>> ---
>
> Lines below '---' are not included in the git history.
>
> The Based-on: tag is temporary and not relevant to the history, you should insert it here, so it will be automatically
> dropped once your patch get applied.
Seems reasonable. I'll do it in the next revision, since I have to
rebase it anyway as soon as Steffen patches will be merged.
BTW, you can find a couple of Based-on in git history :)
Best regards, Julia Suvorova.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH v3] tests/microbit-test: Check nRF51 UART functionality
2018-11-05 10:45 [Qemu-devel] [PATCH v3] tests/microbit-test: Check nRF51 UART functionality Julia Suvorova
` (3 preceding siblings ...)
2018-11-05 16:16 ` Philippe Mathieu-Daudé
@ 2018-11-05 17:54 ` Peter Maydell
2018-11-08 10:50 ` Stefan Hajnoczi
2018-11-08 10:45 ` Stefan Hajnoczi
5 siblings, 1 reply; 10+ messages in thread
From: Peter Maydell @ 2018-11-05 17:54 UTC (permalink / raw)
To: Julia Suvorova
Cc: QEMU Developers, Paolo Bonzini, Stefan Hajnoczi, Joel Stanley,
Jim Mussared, Steffen Görtz, Thomas Huth
On 5 November 2018 at 10:45, Julia Suvorova <jusual@mail.ru> wrote:
> Some functional tests for:
> Basic reception/transmittion
> Suspending
> INTEN* registers
>
> Based-on: <20181031002526.14262-1-contrib@steffen-goertz.de>
> Signed-off-by: Julia Suvorova <jusual@mail.ru>
> ---
> This patch was part of nRF51 UART patchset, but wasn't included in the latest
> revision. Due to upcoming loader fixes, we need this test instead of
> boot-serial-test, which doesn't support -device loader.
>
> v3:
> * Fix directory leak [Stefan]
>
> tests/microbit-test.c | 109 +++++++++++++++++++++++++++++++++++++++++-
> 1 file changed, 107 insertions(+), 2 deletions(-)
>
> diff --git a/tests/microbit-test.c b/tests/microbit-test.c
> index ab319eb466..23d343cfdd 100644
> --- a/tests/microbit-test.c
> +++ b/tests/microbit-test.c
> @@ -21,9 +21,87 @@
> #include "hw/arm/nrf51.h"
> #include "hw/nvram/nrf51_nvm.h"
> #include "hw/gpio/nrf51_gpio.h"
> +#include "hw/char/nrf51_uart.h"
> +
> +#include <sys/socket.h>
> +#include <sys/un.h>
>
> #define FLASH_SIZE (256 * NRF51_PAGE_SIZE)
>
> +static bool wait_for_event(uint32_t event_addr)
> +{
> + int i;
> +
> + for (i = 0; i < 1000; i++) {
> + if (readl(event_addr) == 1) {
> + writel(event_addr, 0x00);
> + return true;
> + }
> + g_usleep(10000);
Hmm, is this the right way to wait for a device model?
I thought there was a qtest thing to say "advance the
time in the QEMU under test" and otherwise its internal
clock won't tick.
> + }
> +
> + return false;
> +}
> int main(int argc, char **argv)
> {
> - int ret;
> + int ret, sock_fd;
> + char serialtmpdir[] = "/tmp/qtest-microbit-serial-sXXXXXX";
> + char serialtmp[40];
> + struct sockaddr_un addr;
> +
> + g_assert(mkdtemp(serialtmpdir));
> + sprintf(serialtmp, "%s/sock", serialtmpdir);
Prefer g_strdup_printf() to sprintf into a fixed size buffer:
it allocates memory so we don't have to think about whether
the buffer might ever overflow or whether we miscounted a
buffer length.
> +
> + sock_fd = socket(AF_UNIX, SOCK_STREAM, 0);
> + g_assert(sock_fd != -1);
> +
> + memset(&addr, 0, sizeof(struct sockaddr_un));
> +
> + addr.sun_family = AF_UNIX;
> + strncpy(addr.sun_path, serialtmp, sizeof(addr.sun_path) - 1);
>
> g_test_init(&argc, &argv, NULL);
>
> - global_qtest = qtest_initf("-machine microbit");
> + global_qtest = qtest_initf("-machine microbit "
> + "-chardev socket,id=s0,path=%s,server,nowait "
> + "-no-shutdown -serial chardev:s0",
> + serialtmp);
> +
> + g_assert(connect(sock_fd, (const struct sockaddr *) &addr,
> + sizeof(struct sockaddr_un)) != -1);
>
> + unlink(serialtmp);
> + rmdir(serialtmpdir);
"Create a socket so I can give one end of it to a QEMU
chardev and use the other end in my test code" seems
like a feature that would be more widely useful than in
just this test, but I'll let people who understand our
qtest framework better than me weigh in on that.
thanks
-- PMM
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH v3] tests/microbit-test: Check nRF51 UART functionality
2018-11-05 10:45 [Qemu-devel] [PATCH v3] tests/microbit-test: Check nRF51 UART functionality Julia Suvorova
` (4 preceding siblings ...)
2018-11-05 17:54 ` Peter Maydell
@ 2018-11-08 10:45 ` Stefan Hajnoczi
5 siblings, 0 replies; 10+ messages in thread
From: Stefan Hajnoczi @ 2018-11-08 10:45 UTC (permalink / raw)
To: Julia Suvorova
Cc: qemu-devel, Peter Maydell, Paolo Bonzini, Joel Stanley,
Jim Mussared, Steffen Görtz, Thomas Huth
[-- Attachment #1: Type: text/plain, Size: 614 bytes --]
On Mon, Nov 05, 2018 at 01:45:24PM +0300, Julia Suvorova wrote:
> + writel(NRF51_UART_BASE + A_UART_SUSPEND, 0x01);
> + writel(NRF51_UART_BASE + A_UART_TXD, 'h');
> + writel(NRF51_UART_BASE + A_UART_STARTTX, 0x01);
> + w_to_txd("world");
> + g_assert(read(sock_fd, s, 10) == 5);
> + g_assert(strcmp(s, "world") == 0);
Please use memcmp(3) instead. A broken QEMU could send non-NUL
terminated data and strcmp(3) would go beyond the end of s[].
(I haven't looked back to see if s[6..9] was previously initialized to
'\0' but it's cleaner if the code makes it obvious that there is no bug
here.)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 455 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [Qemu-devel] [PATCH v3] tests/microbit-test: Check nRF51 UART functionality
2018-11-05 17:54 ` Peter Maydell
@ 2018-11-08 10:50 ` Stefan Hajnoczi
0 siblings, 0 replies; 10+ messages in thread
From: Stefan Hajnoczi @ 2018-11-08 10:50 UTC (permalink / raw)
To: Peter Maydell
Cc: Julia Suvorova, QEMU Developers, Paolo Bonzini, Joel Stanley,
Jim Mussared, Steffen Görtz, Thomas Huth
[-- Attachment #1: Type: text/plain, Size: 2308 bytes --]
On Mon, Nov 05, 2018 at 05:54:25PM +0000, Peter Maydell wrote:
> On 5 November 2018 at 10:45, Julia Suvorova <jusual@mail.ru> wrote:
> > Some functional tests for:
> > Basic reception/transmittion
> > Suspending
> > INTEN* registers
> >
> > Based-on: <20181031002526.14262-1-contrib@steffen-goertz.de>
> > Signed-off-by: Julia Suvorova <jusual@mail.ru>
> > ---
> > This patch was part of nRF51 UART patchset, but wasn't included in the latest
> > revision. Due to upcoming loader fixes, we need this test instead of
> > boot-serial-test, which doesn't support -device loader.
> >
> > v3:
> > * Fix directory leak [Stefan]
> >
> > tests/microbit-test.c | 109 +++++++++++++++++++++++++++++++++++++++++-
> > 1 file changed, 107 insertions(+), 2 deletions(-)
> >
> > diff --git a/tests/microbit-test.c b/tests/microbit-test.c
> > index ab319eb466..23d343cfdd 100644
> > --- a/tests/microbit-test.c
> > +++ b/tests/microbit-test.c
> > @@ -21,9 +21,87 @@
> > #include "hw/arm/nrf51.h"
> > #include "hw/nvram/nrf51_nvm.h"
> > #include "hw/gpio/nrf51_gpio.h"
> > +#include "hw/char/nrf51_uart.h"
> > +
> > +#include <sys/socket.h>
> > +#include <sys/un.h>
> >
> > #define FLASH_SIZE (256 * NRF51_PAGE_SIZE)
> >
> > +static bool wait_for_event(uint32_t event_addr)
> > +{
> > + int i;
> > +
> > + for (i = 0; i < 1000; i++) {
> > + if (readl(event_addr) == 1) {
> > + writel(event_addr, 0x00);
> > + return true;
> > + }
> > + g_usleep(10000);
>
> Hmm, is this the right way to wait for a device model?
> I thought there was a qtest thing to say "advance the
> time in the QEMU under test" and otherwise its internal
> clock won't tick.
This function is used to wait for QEMU device emulation to report events
triggered by external I/O (the UNIX domain socket). I think vm_clock is
unrelated to this.
We could rely on the fact that qtest runs in the main loop where the
UNIX domain socket is also processed. In other words, it shouldn't take
more than a small constant N of event loop iterations (i.e. qtest
commands) before the UNIX domain socket has been processed and the UART
updates its event registers. g_usleep() seems nicer than making that
assumption though...
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 455 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2018-11-08 10:51 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-05 10:45 [Qemu-devel] [PATCH v3] tests/microbit-test: Check nRF51 UART functionality Julia Suvorova
2018-11-05 12:24 ` Alex Bennée
2018-11-05 13:26 ` Julia Suvorova
2018-11-05 15:29 ` no-reply
2018-11-05 15:32 ` no-reply
2018-11-05 16:16 ` Philippe Mathieu-Daudé
2018-11-05 16:36 ` Julia Suvorova
2018-11-05 17:54 ` Peter Maydell
2018-11-08 10:50 ` Stefan Hajnoczi
2018-11-08 10:45 ` Stefan Hajnoczi
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.