aboutsummaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)AuthorFilesLines
2019-09-10tests/docker: move our sparc64 cross compile to BusterAlex Bennée2-4/+3
Now Buster is released we can stop relying on the movable feast that is Sid for our cross-compiler for building tests. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
2019-09-10tests/docker: move our m68k cross compile to BusterAlex Bennée2-4/+3
Now Buster is released we can stop relying on the movable feast that is Sid for our cross-compiler for building tests. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
2019-09-10tests/docker: move our HPPA cross compile to BusterAlex Bennée2-4/+3
Now Buster is released we can stop relying on the movable feast that is Sid for our cross-compiler for building tests. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
2019-09-10tests/docker: move our Alpha cross compile to BusterAlex Bennée2-5/+4
Now Buster is released we can stop relying on the movable feast that is Sid for our cross-compiler for building tests. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
2019-09-10tests/docker: move our powerpc cross compile to BusterAlex Bennée2-6/+4
Now Buster is released we can stop relying on the movable feast that is Sid for our cross-compiler for building tests. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
2019-09-10tests/docker: move our arm64 cross compile to BusterAlex Bennée4-22/+5
Now Buster is released we can unify our cross build images for both QEMU and tests. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
2019-09-10tests/docker: add Buster to DOCKER_PARTIAL_IMAGESAlex Bennée1-1/+1
We need to add additional packages to the base images to be able to build QEMU so lets avoid building with it. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
2019-09-10tests/docker: set DEF_TARGET_LIST for some containersAlex Bennée7-0/+7
You can assume the failures most people are interested in are the cross-compile failures that are specific to the cross compile target. Set DEF_TARGET_LIST based on what we use for shippable, the user can always override by calling with TARGET_LIST set. Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-09-10tests/docker: move DEF_TARGET_LIST setting to common.rcAlex Bennée4-3/+4
We might as well not repeat ourselves. At the same time allow it to be overridden which we will use later from docker targets. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
2019-09-10tests/tcg: add .gitignore for in source buildsAlex Bennée1-0/+5
This hides the new build artefacts from the re-organised TCG tests when you are doing an in-source build. Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-09-10tests/tcg: move configuration to a sub-shell scriptPaolo Bonzini20-150/+272
Avoid the repeated inclusions of config-target.mak, which have risks of namespace pollution, and instead build minimal configuration files in a configuration script. The same configuration files can also be included in Makefile and Makefile.qemu [AJB 10/09/19] In the original PR this had inadvertently enabled tests for ppc64abi32. However as the rest of the multiarch tests work rather than disabling the otherwise correctly functioning build I've just skipped the failing linux-test test. For some reason I can't debug it with TCG so I'm leaving that to the PPC maintainers to look at. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <20190807143523.15917-4-pbonzini@redhat.com> [AJB: s/docker/container/, rm last bits from configure, ppc6432abi hack] Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Cc: Richard Henderson <rth@twiddle.net>
2019-09-10tests/tcg: cleanup Makefile inclusionsPaolo Bonzini10-69/+100
Rename Makefile.probe to Makefile.prereqs and make it actually define rules for the tests. Rename Makefile to Makefile.target, since it is not a toplevel makefile. Rename Makefile.include to Makefile.qemu and disentangle it from the QEMU Makefile.target, so that it is invoked recursively by tests/Makefile.include. Tests are now placed in tests/tcg/$(TARGET). Drop the usage of TARGET_BASE_ARCH, which is ignored by everything except x86_64 and aarch64. Fix x86 tests by using -cpu max and, while at it, standardize on QEMU_OPTS for aarch64 tests too. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <20190807143523.15917-3-pbonzini@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-09-10tests/tcg: use EXTRA_CFLAGS everywherePaolo Bonzini6-10/+10
For i386 specifically, this allows using the host GCC to compile the i386 tests. But, it should really be done for all targets, unless we want to pass $(EXTRA_CFLAGS) directly as part of $(CC). Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <20190807143523.15917-2-pbonzini@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-09-10tests/docker: fix final missing .encode when parsing solibsAlex Bennée1-1/+1
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-09-10tests/docker: handle missing encoding keyword for subprocess.check_outputAlex Bennée1-4/+10
This was only added in Python 3.6 and not all the build hosts have that recent a python3. However we still need to ensure everything is returns as a unicode string so checks higher up the call chain don't barf. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> fixup! tests/docker: handle missing encoding keyword for subprocess.check_output
2019-09-10tests/docker: fix "cc" command to work with podmanAlex Bennée2-14/+14
Podman requires a little bit of additional magic to the uid mapping which was already done for the normal RunCommand. We simplify the logic by pushing it directly into the Docker::run method to avoid instantiating an extra Docker() object and ensure the CC command always runs as the current user. Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-09-10tests/docker: Use --userns=keep-id for podmanJohn Snow1-3/+1
The workaround that attempts to accomplish the same result as --userns=keep-id does not appear to work well with UIDs much above 1000 (like mine, which is above 20000.) Since we have official support for this "trick" now, use the supported method. Signed-off-by: John Snow <jsnow@redhat.com> Message-Id: <20190904232451.26466-1-jsnow@redhat.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2019-09-10configure: clean-up container cross compile detectAlex Bennée1-3/+4
The introduction of podman support inadvertently broke configure's detect of the container support as the configure probe didn't specify an engine type. To fix this in docker.py: - only (re)set USE_ENGINE if --engine is specified - enhance the output so docker is no longer just yes In the configure script we can at least start cleaning up the detecting and naming of variables. To avoid too much churn the conversion of the various make DOCKER_foo variables has been left for future clean-ups. Fixes: 9459f754134b Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Tested-by: David Hildenbrand <david@redhat.com>
2019-09-09Merge remote-tracking branch 'remotes/huth-gitlab/tags/m68k-pull-2019-09-07' ↵Peter Maydell2-0/+133
into staging Add the m68k next-cube machine # gpg: Signature made Sat 07 Sep 2019 16:32:53 BST # gpg: using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5 # gpg: issuer "huth@tuxfamily.org" # gpg: Good signature from "Thomas Huth <th.huth@gmx.de>" [full] # gpg: aka "Thomas Huth <thuth@redhat.com>" [full] # gpg: aka "Thomas Huth <huth@tuxfamily.org>" [full] # gpg: aka "Thomas Huth <th.huth@posteo.de>" [unknown] # Primary key fingerprint: 27B8 8847 EEE0 2501 18F3 EAB9 2ED9 D774 FE70 2DB5 * remotes/huth-gitlab/tags/m68k-pull-2019-09-07: .travis.yml: Let the avocado job run the NeXTcube tests tests/acceptance: Add test of NeXTcube framebuffer using OCR m68k: Add an entry for the NeXTcube machine to the MAINTAINERS file m68k: Add serial controller to the NeXTcube machine escc: introduce a selector for the register bit m68k: Add NeXTcube machine m68k: Add NeXTcube keyboard device m68k: Add NeXTcube framebuffer device emulation Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2019-09-07tests/acceptance: Add test of NeXTcube framebuffer using OCRPhilippe Mathieu-Daudé1-0/+121
Add a test of the NeXTcube framebuffer using the Tesseract OCR engine on a screenshot of the framebuffer device. The test is very quick: $ avocado --show=app,console run tests/acceptance/machine_m68k_nextcube.py JOB ID : 78844a92424cc495bd068c3874d542d1e20f24bc JOB LOG : /home/phil/avocado/job-results/job-2019-08-13T13.16-78844a9/job.log (1/3) tests/acceptance/machine_m68k_nextcube.py:NextCubeMachine.test_bootrom_framebuffer_size: PASS (2.16 s) (2/3) tests/acceptance/machine_m68k_nextcube.py:NextCubeMachine.test_bootrom_framebuffer_ocr_with_tesseract_v3: - ue r pun Honl'flx ; 5‘ 55‘ avg ncaaaaa 25 MHZ, memary jag m Backplane slat «a Ethernet address a a r a r3 2 Memgry sackets aea canflqured far 16MB Darlly page made stMs but have 16MB page made stMs )nstalled Memgry sackets a and 1 canflqured far 16MB Darlly page made stMs but have 16MB page made stMs )nstalled [...] Yestlnq the rpu, 5:: system test raneg Errar egge 51 Egg: cammand Default pggc devlce nut fauna NEXY>I PASS (2.64 s) (3/3) tests/acceptance/machine_m68k_nextcube.py:NextCubeMachine.test_bootrom_framebuffer_ocr_with_tesseract_v4: SKIP: tesseract v4 OCR tool not available RESULTS : PASS 2 | ERROR 0 | FAIL 0 | SKIP 1 | WARN 0 | INTERRUPT 0 | CANCEL 0 JOB TIME : 5.35 s Documentation on how to install tesseract: https://github.com/tesseract-ocr/tesseract/wiki#installation Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20190813134921.30602-2-philmd@redhat.com> Signed-off-by: Thomas Huth <huth@tuxfamily.org>
2019-09-07m68k: Add serial controller to the NeXTcube machineThomas Huth1-0/+12
The NeXTcube uses a normal 8530 serial controller, so we can simply use our normal "escc" device here. While we're at it, also add a boot-serial-test for the next-cube machine, now that the serial output works. Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-Id: <20190831074519.32613-6-huth@tuxfamily.org> Signed-off-by: Thomas Huth <huth@tuxfamily.org>
2019-09-06Merge remote-tracking branch 'remotes/ericb/tags/pull-nbd-2019-09-05-v2' ↵Peter Maydell2-7/+7
into staging nbd patches for 2019-09-05 - Advertise NBD_FLAG_CAN_MULTI_CONN on readonly images - Tolerate larger set of server error responses during handshake - More precision on handling fallocate() failures due to alignment - Better documentation of NBD connection URIs - Implement new extension NBD_CMD_FLAG_FAST_ZERO to benefit qemu-img convert # gpg: Signature made Thu 05 Sep 2019 22:08:17 BST # gpg: using RSA key 71C2CC22B1C4602927D2F3AAA7A16B4A2527436A # gpg: Good signature from "Eric Blake <eblake@redhat.com>" [full] # gpg: aka "Eric Blake (Free Software Programmer) <ebb9@byu.net>" [full] # gpg: aka "[jpeg image of size 6874]" [full] # Primary key fingerprint: 71C2 CC22 B1C4 6029 27D2 F3AA A7A1 6B4A 2527 436A * remotes/ericb/tags/pull-nbd-2019-09-05-v2: nbd: Implement server use of NBD FAST_ZERO nbd: Implement client use of NBD FAST_ZERO nbd: Prepare for NBD_CMD_FLAG_FAST_ZERO nbd: Improve per-export flag handling in server docs: Update preferred NBD device syntax block: workaround for unaligned byte range in fallocate() nbd: Tolerate more errors to structured reply request nbd: Use g_autofree in a few places nbd: Advertise multi-conn for shared read-only connections Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2019-09-05nbd: Implement server use of NBD FAST_ZEROEric Blake2-2/+2
The server side is fairly straightforward: we can always advertise support for detection of fast zero, and implement it by mapping the request to the block layer BDRV_REQ_NO_FALLBACK. Signed-off-by: Eric Blake <eblake@redhat.com> Message-Id: <20190823143726.27062-5-eblake@redhat.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> [eblake: update iotests 223, 233]
2019-09-05nbd: Improve per-export flag handling in serverEric Blake1-1/+1
When creating a read-only image, we are still advertising support for TRIM and WRITE_ZEROES to the client, even though the client should not be issuing those commands. But seeing this requires looking across multiple functions: All callers to nbd_export_new() passed a single flag based solely on whether the export allows writes. Later, we then pass a constant set of flags to nbd_negotiate_options() (namely, the set of flags which we always support, at least for writable images), which is then further dynamically modified with NBD_FLAG_SEND_DF based on client requests for structured options. Finally, when processing NBD_OPT_EXPORT_NAME or NBD_OPT_EXPORT_GO we bitwise-or the original caller's flag with the runtime set of flags we've built up over several functions. Let's refactor things to instead compute a baseline of flags as soon as possible which gets shared between multiple clients, in nbd_export_new(), and changing the signature for the callers to pass in a simpler bool rather than having to figure out flags. We can then get rid of the 'myflags' parameter to various functions, and instead refer to client for everything we need (we still have to perform a bitwise-OR for NBD_FLAG_SEND_DF during NBD_OPT_EXPORT_NAME and NBD_OPT_EXPORT_GO, but it's easier to see what is being computed). This lets us quit advertising senseless flags for read-only images, as well as making the next patch for exposing FAST_ZERO support easier to write. Signed-off-by: Eric Blake <eblake@redhat.com> Message-Id: <20190823143726.27062-2-eblake@redhat.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> [eblake: improve commit message, update iotest 223]
2019-09-05nbd: Tolerate more errors to structured reply requestEric Blake1-4/+4
A server may have a reason to reject a request for structured replies, beyond just not recognizing them as a valid request; similarly, it may have a reason for rejecting a request for a meta context. It doesn't hurt us to continue talking to such a server; otherwise 'qemu-nbd --list' of such a server fails to display all available details about the export. Encountered when temporarily tweaking nbdkit to reply with NBD_REP_ERR_POLICY. Present since structured reply support was first added (commit d795299b reused starttls handling, but starttls is different in that we can't fall back to other behavior on any error). Note that for an unencrypted client trying to connect to a server that requires encryption, this defers the point of failure to when we finally execute a strict command (such as NBD_OPT_GO or NBD_OPT_LIST), now that the intermediate NBD_OPT_STRUCTURED_REPLY does not diagnose NBD_REP_ERR_TLS_REQD as fatal; but as the protocol eventually gets us to a command where we can't continue onwards, the changed error message doesn't cause any security concerns. Signed-off-by: Eric Blake <eblake@redhat.com> Message-Id: <20190824172813.29720-3-eblake@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> [eblake: fix iotest 233]
2019-09-05nbd: Advertise multi-conn for shared read-only connectionsEric Blake1-1/+1
The NBD specification defines NBD_FLAG_CAN_MULTI_CONN, which can be advertised when the server promises cache consistency between simultaneous clients (basically, rules that determine what FUA and flush from one client are able to guarantee for reads from another client). When we don't permit simultaneous clients (such as qemu-nbd without -e), the bit makes no sense; and for writable images, we probably have a lot more work before we can declare that actions from one client are cache-consistent with actions from another. But for read-only images, where flush isn't changing any data, we might as well advertise multi-conn support. What's more, advertisement of the bit makes it easier for clients to determine if 'qemu-nbd -e' was in use, where a second connection will succeed rather than hang until the first client goes away. This patch affects qemu as server in advertising the bit. We may want to consider patches to qemu as client to attempt parallel connections for higher throughput by spreading the load over those connections when a server advertises multi-conn, but for now sticking to one connection per nbd:// BDS is okay. See also: https://bugzilla.redhat.com/1708300 Signed-off-by: Eric Blake <eblake@redhat.com> Message-Id: <20190815185024.7010-1-eblake@redhat.com> [eblake: tweak blockdev-nbd.c to not request shared when writable, fix iotest 233] Reviewed-by: John Snow <jsnow@redhat.com>
2019-09-05tests/vm: Take the J=x setting into account for the vm-boot-ssh targets, tooThomas Huth1-0/+1
For testing whether the VMs can deal with multiple CPUs correctly, it is useful to be able to use the "J=<cpus>" setting for the vm-boot-ssh targets, too. Message-Id: <20190726100207.19112-1-thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2019-09-05tests/libqtest: Use libqtest-single.h in tests that require global_qtestThomas Huth33-37/+34
Tests that require global_qtest or the related wrapper functions now use the libqtest-single.h header that is dedicated for everything related to global_qtest. The core libqtest.c and libqtest.h files are now completely indepedent from global_qtest, so that the core library is now not depending on a global state anymore. Message-Id: <20190904130047.25808-7-thuth@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2019-09-05tests/libqtest: Move global_test wrapper function into a separate headerThomas Huth3-297/+312
We want libqtest.h to become completely independent from global_qtest (so that the wrapper functions are not used by accident anymore). As a first step, move the wrapper functions into a separate header file. The new header is only included from libqtest.h for now, so that there is no difference to the users of libqtest.h yet. In the next patch, we will switch this, so that the users of the global_qtest-related functions will be using libqtest-single.h directly and libqtest.h becomes completely independent of this. Message-Id: <20190904130047.25808-6-thuth@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2019-09-05tests: Remove unnecessary global_qtest referencesThomas Huth4-6/+0
We are going to remove global_qtest from the main libqtest library soon, so tests that do not urgently need global_qtest anymore should be cleaned from the unnecessary references. Message-Id: <20190904130047.25808-5-thuth@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2019-09-05tests/libqos: Replace clock_step with qtest_clock_step in virtio codeThomas Huth5-20/+37
Library functions should not rely on functions that require global_qtest (since they might get used in tests that deal with multiple states). Commit 1999a70a05ad603d ("Make generic virtio code independent from global_qtest") already tried to clean the libqos virtio code, but I missed to replace the clock_step() function. Thus change it now to qtest_clock_step() instead. The logic of the qvirtio_wait_config_isr() function is now pushed to the virtio-mmio.c and virtio-pci.c files instead, since we can get the QTestState here easily. Message-Id: <20190904130047.25808-4-thuth@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2019-09-05tests/libqos/e1000e: Make e1000e libqos functions independent from global_qtestThomas Huth1-5/+11
libqos library functions should never depend on functions (like memread(), memwrite() or clock_step()) that require global_qtest to be set, since library functions might get used in qtests that track multiple states, too. Thus let's replace the global_qtest-related functions with their independent counterparts. Message-Id: <20190904130047.25808-3-thuth@redhat.com> Reviewed-by: Laurent Vivier <lvivier@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2019-09-05tests/migration: Do not use functions anymore that rely on global_qtestThomas Huth1-3/+3
The migration tests deal with multiple test states, so we really should not use functions here that rely on the single global_qtest variable. Switch from qtest_start() to qtest_init() to make sure that global_qtest is not set anymore. This also revealed a regression in the migrate() function: It has once been converted to use the qtest_qmp() function, but commit b5bbd3f315d686bd511 ("Clean up string interpolation into QMP, part 2") accidentally reverted it back to qmp(). Message-Id: <20190904130047.25808-2-thuth@redhat.com> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Reviewed-by: Laurent Vivier <lvivier@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
2019-09-04Merge remote-tracking branch 'remotes/juanquintela/tags/fail-pull-request' ↵Peter Maydell4-11/+11
into staging Fix multifd with big number of channels # gpg: Signature made Wed 04 Sep 2019 07:28:31 BST # gpg: using RSA key 1899FF8EDEBF58CCEE034B82F487EF185872D723 # gpg: Good signature from "Juan Quintela <quintela@redhat.com>" [full] # gpg: aka "Juan Quintela <quintela@trasno.org>" [full] # Primary key fingerprint: 1899 FF8E DEBF 58CC EE03 4B82 F487 EF18 5872 D723 * remotes/juanquintela/tags/fail-pull-request: multifd: Use number of channels as listen backlog socket: Add num connections to qio_net_listener_open_sync() socket: Add num connections to qio_channel_socket_async() socket: Add num connections to qio_channel_socket_sync() socket: Add backlog parameter to socket_listen Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2019-09-04Merge remote-tracking branch ↵Peter Maydell1-0/+35
'remotes/ehabkost/tags/machine-next-pull-request' into staging Machine + x86 queue, 2019-09-03 Bug fixes: * Fix die-id validation regression (Eduardo Habkost) * vmmouse: Properly reset state (Jan Kiszka) * hostmem-file: fix pmem file size check (Stefan Hajnoczi) * Keep query-hotpluggable-cpus output compatible with older QEMU if '-smp dies' is not set (Igor Mammedov) * migration: Do not re-read the clock on pre_save in case of paused guest (Maxiwell S. Garcia) Cleanups: * NUMA code cleanups (Tao Xu) * Remove stale externs from includes (Alex Bennée) Features: * qapi: report the default CPU type for each machine (Daniel P. Berrangé) # gpg: Signature made Tue 03 Sep 2019 21:57:37 BST # gpg: using RSA key 5A322FD5ABC4D3DBACCFD1AA2807936F984DC5A6 # gpg: issuer "ehabkost@redhat.com" # gpg: Good signature from "Eduardo Habkost <ehabkost@redhat.com>" [full] # Primary key fingerprint: 5A32 2FD5 ABC4 D3DB ACCF D1AA 2807 936F 984D C5A6 * remotes/ehabkost/tags/machine-next-pull-request: migration: Do not re-read the clock on pre_save in case of paused guest x86: do not advertise die-id in query-hotpluggbale-cpus if '-smp dies' is not set i386/vmmouse: Properly reset state hostmem-file: fix pmem file size check qapi: report the default CPU type for each machine pc: Don't make die-id mandatory unless necessary pc: Improve error message when die-id is omitted pc: Fix error message on die-id validation numa: move numa global variable numa_info into MachineState numa: move numa global variable have_numa_distance into MachineState numa: move numa global variable nb_numa_nodes into MachineState hw/arm: simplify arm_load_dtb includes: remove stale [smp|max]_cpus externs Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2019-09-04Merge remote-tracking branch 'remotes/maxreitz/tags/pull-block-2019-09-03' ↵Peter Maydell47-60/+203
into staging Block patches: - qemu-io now accepts a file to read a write pattern from - Ensure that raw files have their first block allocated so we can probe the O_DIRECT alignment if necessary - Various fixes # gpg: Signature made Tue 03 Sep 2019 13:58:57 BST # gpg: using RSA key 91BEB60A30DB3E8857D11829F407DB0061D5CF40 # gpg: issuer "mreitz@redhat.com" # gpg: Good signature from "Max Reitz <mreitz@redhat.com>" [full] # Primary key fingerprint: 91BE B60A 30DB 3E88 57D1 1829 F407 DB00 61D5 CF40 * remotes/maxreitz/tags/pull-block-2019-09-03: iotests: Unify cache mode quoting tests/check-block: Skip iotests when sanitizers are enabled iotests: Check for enabled drivers before testing them iotests: Add -display none to the qemu options file-posix: fix request_alignment typo iotests: Disable 126 for flat vmdk subformats iotests: Disable 110 for vmdk.twoGbMaxExtentSparse iotests: Disable broken streamOptimized tests vmdk: Reject invalid compressed writes iotests: Keep testing broken relative extent paths vmdk: Use bdrv_dirname() for relative extent paths iotests: Fix _filter_img_create() iotests: Test allocate_first_block() with O_DIRECT block: posix: Always allocate the first block block: fix permission update in bdrv_replace_node qemu-io: add pattern file for write command Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2019-09-04Merge remote-tracking branch ↵Peter Maydell1-13/+14
'remotes/stsquad/tags/pull-gdbstub-gitdm-testing-020919-1' into staging Various maintainer updates - fixes for gdbstub regressions - bunch of gitdm/mailmap updates - module fixes for Travis - docker fixes for shippable # gpg: Signature made Mon 02 Sep 2019 11:19:04 BST # gpg: using RSA key 6685AE99E75167BCAFC8DF35FBD0DB095A9E2A44 # gpg: Good signature from "Alex Bennée (Master Work Key) <alex.bennee@linaro.org>" [full] # Primary key fingerprint: 6685 AE99 E751 67BC AFC8 DF35 FBD0 DB09 5A9E 2A44 * remotes/stsquad/tags/pull-gdbstub-gitdm-testing-020919-1: tests/docker: upgrade docker.py to python3 tests: fix modules-test with no default machine build-sys: build ui-spice-app as a module contrib/gitdm: Add RT-RK to the domain-map .mailmap/aliases: add some further commentary mailmap: Add many entries to improve 'git shortlog' statistics mailmap: Update philmd email address mailmap: Reorder by sections contrib/gitdm: Add armbru@pond.sub.org to group-map-redhat contrib/gitdm: filetype interface is not in order, fix gdbstub: Fix handler for 'F' packet gdbstub: Fix handling of '!' packet with new infra Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2019-09-03socket: Add num connections to qio_channel_socket_async()Juan Quintela1-1/+1
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
2019-09-03socket: Add num connections to qio_channel_socket_sync()Juan Quintela3-4/+4
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
2019-09-03socket: Add backlog parameter to socket_listenJuan Quintela1-6/+6
Current parameter was always one. We continue with that value for now in all callers. Signed-off-by: Juan Quintela <quintela@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> --- Moved trace to socket_listen
2019-09-03pc: Don't make die-id mandatory unless necessaryEduardo Habkost1-0/+35
We have this issue reported when using libvirt to hotplug CPUs: https://bugzilla.redhat.com/show_bug.cgi?id=1741451 Basically, libvirt is not copying die-id from query-hotpluggable-cpus, but die-id is now mandatory. We could blame libvirt and say it is not following the documented interface, because we have this buried in the QAPI schema documentation: > Note: currently there are 5 properties that could be present > but management should be prepared to pass through other > properties with device_add command to allow for future > interface extension. This also requires the filed names to be kept in > sync with the properties passed to -device/device_add. But I don't think this would be reasonable from us. We can just make QEMU more flexible and let die-id to be omitted when there's no ambiguity. This will allow us to keep compatibility with existing libvirt versions. Test case included to ensure we don't break this again. Fixes: commit 176d2cda0dee ("i386/cpu: Consolidate die-id validity in smp context") Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Message-Id: <20190816170750.23910-1-ehabkost@redhat.com> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
2019-09-03Merge remote-tracking branch 'remotes/dgibson/tags/ppc-for-4.2-20190829' ↵Peter Maydell2-3/+16
into staging ppc patch queue 2018-08-29 Another pull request for ppc-for-4.2. Includes * Several powernv patches which were pulled last minute from the last PULL, now that some problems with them have been sorted out * A fix for -no-reboot which has been broken since the pseries-rhel4.1.0 machine type * Add some host threads information which AIX guests will need to properly scale the PURR and SPURR * Change behaviour to match x86 when unplugging function 0 of a multifunction PCI device * A number of TCG fixes in FPU emulation And a handful of other assorted fixes and cleanups. # gpg: Signature made Thu 29 Aug 2019 06:36:23 BST # gpg: using RSA key 75F46586AE61A66CC44E87DC6C38CACA20D9B392 # gpg: Good signature from "David Gibson <david@gibson.dropbear.id.au>" [full] # gpg: aka "David Gibson (Red Hat) <dgibson@redhat.com>" [full] # gpg: aka "David Gibson (ozlabs.org) <dgibson@ozlabs.org>" [full] # gpg: aka "David Gibson (kernel.org) <dwg@kernel.org>" [unknown] # Primary key fingerprint: 75F4 6586 AE61 A66C C44E 87DC 6C38 CACA 20D9 B392 * remotes/dgibson/tags/ppc-for-4.2-20190829: spapr: Set compat mode in spapr_core_plug() spapr/pci: Convert types to QEMU coding style spapr_pci: Advertise BAR reallocation capability spapr: Use SHUTDOWN_CAUSE_SUBSYSTEM_RESET for CAS reboots powerpc/spapr: Add host threads parameter to ibm,get_system_parameter pseries: Update SLOF firmware image target/ppc: Refactor emulation of vmrgew and vmrgow instructions target/ppc: Fix do_float_check_status vs inexact target/ppc: Set float_tininess_before_rounding at cpu reset pseries: Fix compat_pvr on reset spapr_pci: remove all child functions in function zero unplug ppc: Fix xscvdpspn for SNAN ppc: Fix xsmaddmdp and friends tests/boot-serial-test: add support for all the PowerNV machines ppc/pnv: Introduce PowerNV machines with fixed CPU models ppc/pnv: Generate phandle for the "interrupt-parent" property ppc/pnv: add more dummy XSCOM addresses for the P9 CAPP ppc/pnv: update skiboot to v6.4 ppc/pnv: Set default ram size to 1.75GB Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2019-09-03Merge remote-tracking branch 'remotes/cleber/tags/python-next-pull-request' ↵Peter Maydell5-6/+25
into staging Python (acceptance tests) queue, 2019-08-28 # gpg: Signature made Thu 29 Aug 2019 02:11:22 BST # gpg: using RSA key 7ABB96EB8B46B94D5E0FE9BB657E8D33A5F209F3 # gpg: Good signature from "Cleber Rosa <crosa@redhat.com>" [marginal] # gpg: WARNING: This key is not certified with sufficiently trusted signatures! # gpg: It is not certain that the signature belongs to the owner. # Primary key fingerprint: 7ABB 96EB 8B46 B94D 5E0F E9BB 657E 8D33 A5F2 09F3 * remotes/cleber/tags/python-next-pull-request: VNC Acceptance test: simplify test names Boot Linux Console Test: add a test for ppc64 + pseries Acceptance tests: drop left over usage of ":avocado: enable" tests/requirements.txt: pin paramiko version requirement tests.acceptance.avocado_qemu: Add support for powerpc Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2019-09-03Merge remote-tracking branch ↵Peter Maydell2-6/+6
'remotes/ehabkost/tags/python-next-pull-request' into staging Python queue, 2019-08-28 Bug fix: * configure: more resilient Python version capture (Cleber Rosa) Cleanup: * BootLinuxSshTest: Only use 'test' for unittest.TestCase method names (Philippe Mathieu-Daudé) # gpg: Signature made Wed 28 Aug 2019 20:22:35 BST # gpg: using RSA key 5A322FD5ABC4D3DBACCFD1AA2807936F984DC5A6 # gpg: issuer "ehabkost@redhat.com" # gpg: Good signature from "Eduardo Habkost <ehabkost@redhat.com>" [full] # Primary key fingerprint: 5A32 2FD5 ABC4 D3DB ACCF D1AA 2807 936F 984D C5A6 * remotes/ehabkost/tags/python-next-pull-request: configure: more resilient Python version capture BootLinuxSshTest: Only use 'test' for unittest.TestCase method names Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2019-09-03iotests: Unify cache mode quotingNir Soffer4-7/+7
Quoting cache mode is not needed, and most tests use unquoted values. Unify all test to use the same style. Message-id: 20190827173432.7656-1-nsoffer@redhat.com Signed-off-by: Nir Soffer <nsoffer@redhat.com> Signed-off-by: Max Reitz <mreitz@redhat.com>
2019-09-03tests/check-block: Skip iotests when sanitizers are enabledThomas Huth1-0/+5
The sanitizers (especially the address sanitizer from Clang) are sometimes printing out warnings or false positives - this spoils the output of the iotests, causing some of the tests to fail. Thus let's skip the automatic iotests during "make check" when the user configured QEMU with --enable-sanitizers. Signed-off-by: Thomas Huth <thuth@redhat.com> Message-id: 20190823084203.29734-1-thuth@redhat.com Signed-off-by: Max Reitz <mreitz@redhat.com>
2019-09-03iotests: Check for enabled drivers before testing themThomas Huth8-6/+21
It is possible to enable only a subset of the block drivers with the "--block-drv-rw-whitelist" option of the "configure" script. All other drivers are marked as unusable (or only included as read-only with the "--block-drv-ro-whitelist" option). If an iotest is now using such a disabled block driver, it is failing - which is bad, since at least the tests in the "auto" group should be able to deal with this situation. Thus let's introduce a "_require_drivers" function that can be used by the shell tests to check for the availability of certain drivers first, and marks the test as "not run" if one of the drivers is missing. This patch mainly targets the test in the "auto" group which should never fail in such a case, but also improves some of the other tests along the way. Note that we also assume that the "qcow2" and "file" drivers are always available - otherwise it does not make sense to run "make check-block" at all (which only tests with qcow2 by default). Signed-off-by: Thomas Huth <thuth@redhat.com> Message-id: 20190823133552.11680-1-thuth@redhat.com Signed-off-by: Max Reitz <mreitz@redhat.com>
2019-09-03iotests: Add -display none to the qemu optionsMax Reitz1-3/+3
Without this argument, qemu will print an angry message about not being able to connect to a display server if $DISPLAY is not set. For me, that breaks iotests.supported_formats() because it thus only sees ["Could", "not", "connect"] as the supported formats. Signed-off-by: Max Reitz <mreitz@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-id: 20190819201851.24418-2-mreitz@redhat.com Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Max Reitz <mreitz@redhat.com>
2019-09-03iotests: Disable 126 for flat vmdk subformatsMax Reitz1-0/+2
iotest 126 requires backing file support, which flat vmdks cannot offer. Skip this test for such subformats. Signed-off-by: Max Reitz <mreitz@redhat.com> Message-id: 20190815153638.4600-8-mreitz@redhat.com Reviewed-by: John Snow <jsnow@redhat.com> Signed-off-by: Max Reitz <mreitz@redhat.com>
2019-09-03iotests: Disable 110 for vmdk.twoGbMaxExtentSparseMax Reitz1-1/+2
The error message for the test case where we have a quorum node for which no directory name can be generated is different: For twoGbMaxExtentSparse, it complains that it cannot open the extent file. For other (sub)formats, it just notes that it cannot determine the backing file path. Both are fine, but just disable twoGbMaxExtentSparse for simplicity's sake. Signed-off-by: Max Reitz <mreitz@redhat.com> Reviewed-by: John Snow <jsnow@redhat.com> Message-id: 20190815153638.4600-7-mreitz@redhat.com Reviewed-by: John Snow <jsnow@redhat.com> Signed-off-by: Max Reitz <mreitz@redhat.com>