summaryrefslogtreecommitdiff
path: root/tests
AgeCommit message (Collapse)Author
21 hoursMerge tag 'pull-aspeed-20260906' of https://github.com/legoater/qemu into ↵HEADstagingmasterPeter Maydell
staging aspeed queue: * Fixes AST2600 SCU protection key registers on reset * Fixes I2C byte latching for SMBus block reads * Hardens EHCI get_dwords()/put_dwords() with DMA error checking * Adds a second random number generator to the AST2600 SCU * Adds the ASPEED ACRY RSA accelerator model with ModExp qtest coverage * Adds ECDSA sign/verify support to the QEMU crypto akcipher layer (gcrypt, nettle backends) with tests * Adds ECDSA verify command to the ASPEED SBC model with qtest coverage * Adds the ASPEED UDC (USB Device Controller) with gadget device and programmable endpoint DMA, wired on the AST2600 * Reworks the TMP105 temperature sensor: Resettable reset, fault queue enforcement, TMP75/TMP175/LM75B variants, and qtest coverage * Adds the Facebook SanMiguel BMC machine with EEPROM data * Uses real TMP75/LM75B models on the Catalina and Fuji boards * Adds optional device tree model checking to functional boot tests # -----BEGIN PGP SIGNATURE----- # # iQIzBAABCAAdFiEEoPZlSPBIlev+awtgUaNDx8/77KEFAmqdnl8ACgkQUaNDx8/7 # 7KGMzxAAgxO09nzutoyjvMRK+Tydd65h9TNxZTC68jzUjacGfU9Y+1+1OcgU25D1 # EUorhMrAGMe22zZ6Q6048HjBmw/xRxt4QB6A5CGIroSgVqQH6NAFalZz5jeCwZrm # HMk2UAzf0/2euBAXRUFEtK/RpfdrSe1kNXcRX2lWkt5HdjfZJxcM/TmOtLl0vDDU # BUMbmXLWvnv/W8OLiVmGwP8ufGey2HL2dsLn2Fs9riFF1ZUaJGFkKxEc7ApF6tOr # 0YaY84lainh21Bp+IjXaV2Al8XCyyHpWKFrEYLEm9P3FfMEebIZbJu8he20cidiw # R5LIgHpb6FcUZvVcfWyAfYK1+yRQDrL9PMQ8OdbiUgtW1WnvqSyQES4GWx55OmPc # TSRDodPnETxF26n43ruIWdIGa6umgieT891UrI3CsCYc7JpSpujCgMiob6sLWjFD # h65DNECnSl3qkK8kIneEhUK9MVIX62YskqAWkIF7rwy+Af7QkCcWuMKTGIpC+a/l # H7SjxPWwy1XW9B+4dhF3teYxqb8iETM0BQwr2ZuAp3mbB/YkTMaIj5TfUpiGrClz # RdkSc2njjqbeyQZSTV1P+M8cpWBYiHRJNhx58rH6qIpH6ATSZZAym6XCZV2wZDtU # VJ7TwnOObQMogMp/9iThUd4jEtCcmEp1dxXF/KKXADso6EU6+Do= # =sX4J # -----END PGP SIGNATURE----- # gpg: Signature made Sun Sep 6 18:09:51 2026 BST # gpg: using RSA key A0F66548F04895EBFE6B0B6051A343C7CFFBECA1 # gpg: Good signature from "Cédric Le Goater <clg@redhat.com>" [full] # gpg: aka "Cédric Le Goater <clg@kaod.org>" [full] # Primary key fingerprint: A0F6 6548 F048 95EB FE6B 0B60 51A3 43C7 CFFB ECA1 * tag 'pull-aspeed-20260906' of https://github.com/legoater/qemu: (40 commits) tests/functional: aspeed: optionally check the device tree model on boot hw/arm: fuji: use the real TMP75 and LM75B temperature sensors hw/arm: catalina: use the real TMP75 model hw/arm: sanmiguel: populate EEPROM data hw/arm: sanmiguel: add Facebook SanMiguel BMC machine tests/qtest: tmp105: cover shutdown clearing the ALERT across variants tests/qtest: tmp105: cover one-shot and fault-queue write immunity tests/qtest: tmp105: cover the TMP75, TMP175 and LM75B variants tests/qtest: tmp105: cover the ALERT fault queue hw/sensor: tmp105: add TMP75, TMP175 and LM75B variants hw/arm: aspeed: guard board-local temperature-sensor aliases hw/sensor: tmp105: describe the temperature property hw/sensor: tmp105: enforce the configurable fault queue hw/sensor: tmp105: implement Resettable reset hw/sensor: tmp105: name the parent object field parent_obj hw/sensor: tmp105: make device state private to the implementation hw/arm/aspeed_ast2600: Wire up the UDC hw/usb/aspeed-udc: Add programmable endpoint DMA transfers hw/usb/aspeed-udc: Add ASPEED UDC gadget USB device hw/usb/aspeed-udc: Add ASPEED UDC device controller ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
21 hoursMerge tag 'misc-fixes-pull-request' of https://gitlab.com/berrange/qemu into ↵Peter Maydell
staging Merge crypto, I/O and misc fixes * Deprecated the AF_ALG crypto backend * Improve checkpatch output in CI jobs * Document security policy for uninitialized stack variables * Fix multiple denial of service flaws in websockets * Fix error handling in some x509 APIs # -----BEGIN PGP SIGNATURE----- # # iQIzBAABCAAdFiEEOSEivHoFu8YQee2OpU5XPKwd8GwFAmqel3UACgkQpU5XPKwd # 8Gz2UA//S261uNlByPmh6kiDLWy0o1pNOu3Xfr2LD//WMG7Uota5MBl3C09Jy1in # pxTIPGp6xIhxDFFRVTSG3qkezsVFMEHQf5fp29nYlk4Q0q+JO7on558Xn7o10+99 # jdgSWNB7FMeVHkknSyQuei4h6iIdtpJjtWcH/jABF80z4DGo27PKWpUQJKsCh0wZ # FiOkgEqk/YQBre0ziZ+tDxgNyDl25JWdMAsV3tRaXnkNvzXOqYXzr0M97jJO45yZ # Fti0Krg96dAFwT7F8boxP+5Rn1rQcfPrZwuXQg5wC1RyQiQqnmh2bhC4DbMWujGc # s7bo40BSmp/z4rhLw5zPHMaVwokls28Nk4ocEsAUhqejL+MntxEs7xSa23EVKO4F # mvevSz1mtLPL7fyXCCfRSL5AFy4kMdfCflhpYUpk15cBuXBY9hnzBNiq9kFtf4lI # heCdnxJka6WUQrxWaHT9Bs3FDdaQ4Cw+yXLHn9XNK65J5sF2yOKkhyXbnuiy87KO # dAdCb/sL3Zg0wFA8j8YkgygBizS3FU+X1tq3Rj0WrNUNWrbUkSamnS+foi+uRjI0 # kotXIrr3pgFXq4CaS+XyWvn1Xk0veh/xw2FIDYRN9l1BBYP6f/svcq8L0h423KGg # GZzmUCkG89+uUJ56fgih62G5AgHFAfTB1BKGGW5jcoY8QOJ4MR4= # =BVbi # -----END PGP SIGNATURE----- # gpg: Signature made Mon Sep 7 11:52:37 2026 BST # gpg: using RSA key 392122BC7A05BBC61079ED8EA54E573CAC1DF06C # gpg: Good signature from "Daniel P. Berrange <dan@berrange.com>" [full] # gpg: aka "Daniel P. Berrange <berrange@redhat.com>" [full] # Primary key fingerprint: DAF3 A6FD B26B 6291 2D0E 8E3F BE86 EBB4 1510 4FDF # Subkey fingerprint: 3921 22BC 7A05 BBC6 1079 ED8E A54E 573C AC1D F06C * tag 'misc-fixes-pull-request' of https://gitlab.com/berrange/qemu: docs/system/security: exclude uninitialized stack variables as bugs gitlab: use --emacs --quiet for checkpatch.pl instead of --terse crypto: deprecate the AF_ALG crypto backend tests/unit: cover blocked IO during the websock handshake io/channel-websock: do not lose QIO_CHANNEL_ERR_BLOCK while reading tests/unit: add websock handshake test io/channel-websock: handle a blocked write during the handshake io/channel-websock: send an HTTP 400 when the greeting has no space io/channel-socket: do not treat a zero length write as an error crypto/x509-utils: propagate the error crypto/x509-utils: don't double set errp crypto: Use g_autofree Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
23 hourstests/unit: cover blocked IO during the websock handshakeDenis V. Lunev
Add a channel which reports QIO_CHANNEL_ERR_BLOCK on demand, the way a TLS channel does when a record arrives split across segments or when the socket cannot take the whole reply at once, and drive the server handshake through it in both directions. Without the fixes each direction dereferences a NULL Error and the test dies on SIGSEGV. Cc: Daniel P. Berrangé <berrange@redhat.com> Cc: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by: Denis V. Lunev <den@openvz.org> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
23 hourstests/unit: add websock handshake testDenis V. Lunev
Check that malformed HTTP greetings are answered with an HTTP 400 rather than an empty response. The no-space case is the one which used to leave the response buffer empty. Fixes: CVE-2026-84788 Cc: Daniel P. Berrangé <berrange@redhat.com> Cc: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by: Denis V. Lunev <den@openvz.org> [DB: exclude test from Windows since it depends on AF_UNIX which is not universally available] Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
43 hoursMerge tag 'pull-hex-20260905' of https://github.com/qualcomm/qemu into stagingPeter Maydell
hexagon: TLB, badva fixes + DMA Add fixes for TLB, badva behavior and an unimp placeholder for the DMA instruction set. # -----BEGIN PGP SIGNATURE----- # # iQIzBAABCgAdFiEEPWaq5HRZSCTIjOD4GlSvuOVkbDIFAmqcdf8ACgkQGlSvuOVk # bDK4Qw/9Gyh2kC/gKZzON1hRwbeGKT5L3UeN+v+gLuGgwh9hd4PgCzblDLxNUSfa # IzgLKHR73oXNpekqeyuj0zrAKM8GVkXicTQfPsIjkyQZzKZAs4X00bDsIOTruRQe # 23bfOdnNmdSMD9BXvSJ5+9UGbp5hMjik0FSaVzXzDtBvsicW7TRB4DW9000ja/Rk # bgWoMZhbzxQ6+5CTG/OOe6Xtyi1y2YYK7eCTu3uonwYYuBIBaFSzH7zER2Bg5gCR # 0w0acTYsqDVwijsIFhFS7g9Wjf9KKw1GvH/RFXF+O7Whu9VFpXA3CGW3FuBueDGx # Z0TGcZ13tNirpVsmCMFI1U/bq1AzBwyNWMpxH0e7a6iAZmFeSvj2V8WueSof4nny # PoirQeUuiyw8LCYkh90ifYdByQGQzxGJnAmZyQ54/TKnJf0KrCRec39qeMNbEAuY # UxyRFnw3ZVhDhSzQlMAKANl0YPGWWFHlVofKSQANngETGaReoQ5K8VikHZdbJNOU # e0d0fQFDGmJqvsmuMfSSJhpoK0TEB7rH5Iyl76LYi932fWg/kyA80EkO47US4Cua # TbfZQLp2LT9JhhQZBxr76Hm8PcyyfDw8z9tGTjfp7H/b1kmM3aqnxT8MVqpkraKm # qo9UvO95vgAAs3jakpOaKRTSs1KJ0qd6uEHtKvqz644w8JzuwL8= # =l68i # -----END PGP SIGNATURE----- # gpg: Signature made Sat Sep 5 21:05:19 2026 BST # gpg: using RSA key 3D66AAE474594824C88CE0F81A54AFB8E5646C32 # gpg: Good signature from "Brian Cain (OSS Qualcomm) <brian.cain@oss.qualcomm.com>" [unknown] # gpg: aka "Brian Cain <bcain@kernel.org>" [full] # gpg: aka "Brian Cain (QuIC) <bcain@quicinc.com>" [full] # gpg: aka "Brian Cain (CAF) <bcain@codeaurora.org>" [full] # gpg: aka "bcain" [full] # gpg: aka "Brian Cain (QUIC) <quic_bcain@quicinc.com>" [unknown] # Primary key fingerprint: 6350 20F9 67A7 7164 79EF 49E0 175C 464E 541B 6D47 # Subkey fingerprint: 3D66 AAE4 7459 4824 C88C E0F8 1A54 AFB8 E564 6C32 * tag 'pull-hex-20260905' of https://github.com/qualcomm/qemu: target/hexagon: decode the DMA insts as unimp tests/functional/hexagon: update arch tests to v0.2.14 tests/functional/hexagon: add tests, update to v0.2.14 hexagon: raise imprecise exception for multi-TLB matches target/hexagon: assert guest register pair alignment hw/intc: name the L2VIC edge trigger check target/hexagon: kick vCPU when re-asserting interrupts target/hexagon: read BADVA as an alias of BADVA0/1 hw/hexagon: register the V68N_1024 machine Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
3 daystests/functional/hexagon: update arch tests to v0.2.14Brian Cain
Some of the tests run longer now, extend the timeout to 180s in order to keep it robust. Reviewed-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
3 daystests/functional/hexagon: add tests, update to v0.2.14Brian Cain
Add tests for direct-to-guest interrupts, multi-TLB match case, {u,}timer registers. Update to the v0.2.14 tests and switch to the new 'sim' machine name. Reviewed-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>
3 daystests/functional: aspeed: optionally check the device tree model on bootEmmanuel Blot
Add an optional 'dt_model' argument to do_test_arm_aspeed_openbmc(). When provided, the helper also waits for the kernel's "Machine model: ..." line, letting a test confirm the booted image actually matches the expected board device tree rather than only the SoC revision. Signed-off-by: Emmanuel Blot <emmanuel.blot@free.fr> Reviewed-by: Cédric Le Goater <clg@redhat.com> Link: https://lore.kernel.org/qemu-devel/20260731-sanmiguel-bmc-locator-v2-16-1266926ba769@free.fr Signed-off-by: Cédric Le Goater <clg@redhat.com>
3 daystests/qtest: tmp105: cover shutdown clearing the ALERT across variantsEmmanuel Blot
Verify that entering shutdown clears the ALERT/OS output in interrupt mode but leaves it asserted in comparator mode, for both the TMP75 and the LM75B. Signed-off-by: Emmanuel Blot <emmanuel.blot@free.fr> Reviewed-by: Cédric Le Goater <clg@redhat.com> Link: https://lore.kernel.org/qemu-devel/20260731-sanmiguel-bmc-locator-v2-11-1266926ba769@free.fr Signed-off-by: Cédric Le Goater <clg@redhat.com>
3 daystests/qtest: tmp105: cover one-shot and fault-queue write immunityEmmanuel Blot
Verify that the one-shot (OS) bit triggers a conversion only in shutdown mode and is ignored in continuous mode, and that configuration/limit-register writes never advance the fault queue — only real conversions do. Signed-off-by: Emmanuel Blot <emmanuel.blot@free.fr> Reviewed-by: Cédric Le Goater <clg@redhat.com> Link: https://lore.kernel.org/qemu-devel/20260731-sanmiguel-bmc-locator-v2-10-1266926ba769@free.fr Signed-off-by: Cédric Le Goater <clg@redhat.com>
3 daystests/qtest: tmp105: cover the TMP75, TMP175 and LM75B variantsEmmanuel Blot
Exercise the per-variant differences added to the model: the TMP75 and TMP175 fault-queue depths, the TMP75 alert-clear on thermostat-mode change, and the LM75B's reserved config bits and fixed set-point and temperature resolutions. Signed-off-by: Emmanuel Blot <emmanuel.blot@free.fr> Reviewed-by: Cédric Le Goater <clg@redhat.com> Link: https://lore.kernel.org/qemu-devel/20260731-sanmiguel-bmc-locator-v2-9-1266926ba769@free.fr Signed-off-by: Cédric Le Goater <clg@redhat.com>
3 daystests/qtest: tmp105: cover the ALERT fault queueEmmanuel Blot
Add two qgraph tests exercising the ALERT pin, the only way the TMP105 exposes its alarm state. One checks the default single-fault behaviour; the other checks a deeper fault queue, including the running-count reset on an in-range conversion and its effect on both asserting and releasing the alarm. Signed-off-by: Emmanuel Blot <emmanuel.blot@free.fr> Reviewed-by: Cédric Le Goater <clg@redhat.com> Link: https://lore.kernel.org/qemu-devel/20260731-sanmiguel-bmc-locator-v2-8-1266926ba769@free.fr Signed-off-by: Cédric Le Goater <clg@redhat.com>
3 daystests/qtest: Add ASPEED SBC ECDSA engine testJamin Lin
Add a qtest for the ASPEED secure boot controller ECDSA engine. It stages the public key, signature and SHA-384 digest of a secp384r1 known-answer vector (from the Linux kernel crypto self-test manager, ecdsa_nist_p384_tv_template) into the SEC SRAM, triggers the engine's verify command and checks the status register: a valid signature reports done + pass, and a tampered signature reports done without pass. The test is skipped when the crypto backend does not support ECDSA, via qcrypto_akcipher_supports(). Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com> Reviewed-by: Cédric Le Goater <clg@redhat.com> Link: https://lore.kernel.org/qemu-devel/20260901085238.995968-10-jamin_lin@aspeedtech.com Signed-off-by: Cédric Le Goater <clg@redhat.com>
3 daystests/crypto: Add ECDSA sign/verify testsJamin Lin
Add unit tests for ECDSA prime256v1 and secp384r1, using the RFC 6979 (Deterministic ECDSA) "sample" known-answer vectors. The same key pair drives the verify test (against the RFC's known signature) and the sign test, which signs the digest with the private key and checks that the result verifies with the public key. Each test skips (g_test_skip) when the crypto backend does not support ECDSA, via qcrypto_akcipher_supports(). Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Link: https://lore.kernel.org/qemu-devel/20260901085238.995968-5-jamin_lin@aspeedtech.com Signed-off-by: Cédric Le Goater <clg@redhat.com>
3 daystests/qtest/aspeed-acry-test: Add RSA ModExp testsJamin Lin
Add qtest cases exercising the AST2600 ACRY RSA ModExp engine end to end. Each case lays out the exponent, modulus and message in the scattered SRAM byte layout the engine expects, triggers the engine, checks that both completion bits (RSA_ENG_DONE and RSA_DMA_DONE) are asserted together in the status register, reads the result back from the result SRAM, and checks the status bits clear afterwards. Comparing the result against a known-answer ciphertext also validates the SRAM byte mapping end to end. The cases cover raw (unpadded) public-exponent RSA, c = m^e mod n - exactly what the "rsa" akcipher transform backed by the ACRY FW performs, since PKCS1 padding is applied by a separate template layered on top in Linux, not by the ACRY hardware. QEMU's akcipher backend only implements raw RSA via libgcrypt, so the tests skip rather than fail when the build lacks it. The 2048-bit and 4096-bit vectors are rsa_tv_template[2] and [3] from the Linux kernel crypto self-test suite (crypto/testmgr.h, v6.18). Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com> Reviewed-by: Cédric Le Goater <clg@redhat.com> Link: https://lore.kernel.org/qemu-devel/20260901081531.898176-5-jamin_lin@aspeedtech.com Signed-off-by: Cédric Le Goater <clg@redhat.com>
3 daystests/qtest/aspeed-hace-utils: Replace g_printerr() with g_test_skip()Jamin Lin
Skip a cipher unsupported by the crypto backend with g_test_skip() from the test, instead of not registering it and printing a TAP "# skip" line, so the qtest does not assume TAP output. Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com> Link: https://lore.kernel.org/qemu-devel/20260831050213.381443-1-jamin_lin@aspeedtech.com Signed-off-by: Cédric Le Goater <clg@redhat.com>
4 daystests/tcg/meson.build: fix build_test_dependsPierrick Bouvier
build_test_depends is supposed to be an array, not a custom target. In case we go through this path, we have an error with following lines: exe_depends = build_test_depends if 'depends' in setup exe_depends += setup['depends'] endif where meson complains that custom target has no += operator. Reviewed-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Link: https://lore.kernel.org/qemu-devel/20260904200614.2808877-1-pierrick.bouvier@oss.qualcomm.com Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
4 daysmeson.build: add summary for TCG testsPierrick Bouvier
Replacing existing summary that only contained information about existing cross compilers with a full summary for all targets. We add gdb and container information. We specify cc for each target (softmmu + linux-user) independently in case we would use different cc for bare metal vs user binaries. Users can query full command line for tests by building tests with tcg-tests target, so no need to repeat it here. Output before change: $ ./configure Cross compilers aarch64 : /path/to/qemu/build/pyvenv/bin/python3 -B /path/to/qemu/tests/docker/docker.py --engine auto cc --cc aarch64-linux-gnu-gcc -i qemu/debian-arm64-cross -s /path/to/qemu -- aarch64_be : /path/to/qemu/build/pyvenv/bin/python3 -B /path/to/qemu/tests/docker/docker.py --engine auto cc --cc aarch64-linux-gnu-gcc -i qemu/debian-all-test-cross -s /path/to/qemu -- alpha : alpha-linux-gnu-gcc ... Output after change: $ ./configure --disable-containers TCG tests gdb : /usr/bin/gdb-multiarch container command : NO cc for aarch64-softmmu : NO cc for aarch64-linux-user : NO cc for aarch64_be-linux-user : NO cc for alpha-softmmu : alpha-linux-gnu-gcc $ ./configure --gdb=gdb --container-command=podman TCG tests gdb : /usr/bin/gdb container command : podman cc for aarch64-softmmu : aarch64-linux-gnu-gcc (from 'debian-all-test-cross' container) cc for aarch64-linux-user : aarch64-linux-gnu-gcc (from 'debian-all-test-cross' container) cc for aarch64_be-linux-user : aarch64-linux-gnu-gcc (from 'debian-all-test-cross' container) cc for alpha-softmmu : alpha-linux-gnu-gcc ... Tested-by: Aniket Sahu <asahu1x@linux.ibm.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Message-ID: <20260827221506.91574-104-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
4 daystests/tcg/meson.build: implement ./configure -cross-cc-* optionsPierrick Bouvier
When a user set explicit cross cc, we ensure it's available and working. When a user set explicit cross cflags, we ensure they work with default or overriden cross_cc. Made the first implementation with a single meson option (array), which proved to be absolutely unreadable. By having one option per target, we directly detect issue at configure time, either for user, or when iterating on all our targets. This ensures user can't mispell any target name, and that we can't forget any new one in the future. Also, it shows them in the configuration summary, which is a bonus. Since we now only need to know compiler to write tcg tests, we can simply alias -cross-prefix-* options to compiler override. Examples -------- wrong architecture: $ ./configure --cross-cc-bad='cc' ../meson.build:1:0: ERROR: Unknown option: "tcg_tests_cross_cc_bad" wrong option: $ ./configure --cross-cc-cflags-aarch64='-bad-option' ../tests/tcg/meson.build:228:10: ERROR: Command `/usr/bin/aarch64-linux-gnu-gcc /home/pbouvier/.work/qemu/tests/tcg/test_cc.c -bad-option -static -nostdlib -r -o /dev/null` failed with status 1. A full log can be found at /qemu/build/meson-logs/meson-log.txt cross compile with clang (fails at the moment, since some tests have compilation errors with it): $ ./configure --target-list=aarch64-linux-user --cross-cc-aarch64='clang' --cross-cc-cflags-aarch64='-target aarch64-linux-gnu' User defined options ... tcg_tests_cross_cc_aarch64 : clang tcg_tests_cross_cflags_aarch64 : -target aarch64-linux-gnu Tested-by: Aniket Sahu <asahu1x@linux.ibm.com> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Message-ID: <20260827221506.91574-102-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
4 daystests/tcg/meson.build: implement ./configure containers optionsPierrick Bouvier
./configure --disable-containers now skip containers build. ./configure --container-command "/path/to/docker" can be used to override autodetection. Tested-by: Aniket Sahu <asahu1x@linux.ibm.com> Tested-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Message-ID: <20260827221506.91574-101-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
4 daysconfigure: directly pass gdb path as a meson optionPierrick Bouvier
Move the remaining bit of the detection logic to meson. We can assume gdb can be probed since gdb-9 has been published more than 6 years ago. If ./configure --gdb is set, make sure the given program exists by using find_program(..., required: true). Also, using a proper meson option lists this at end of meson summary. Tested-by: Aniket Sahu <asahu1x@linux.ibm.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Message-ID: <20260827221506.91574-100-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
4 daystests/tcg: remove remaining MakefilesPierrick Bouvier
tests/tcg/mips/user/ has extra tests that are not currently run at the moment. Keep their Makefiles until they are implemented. Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com> Tested-by: Aniket Sahu <asahu1x@linux.ibm.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Message-ID: <20260827221506.91574-99-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
4 daystests: remove tcg tests machineryPierrick Bouvier
It's now built-in meson, which offers targets check-tcg and check-tcg-*. Tested-by: Alex Bennée <alex.bennee@linaro.org> Tested-by: Aniket Sahu <asahu1x@linux.ibm.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Message-ID: <20260827221506.91574-98-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
4 daystests/tcg/xtensa: xtensaeb system testsPierrick Bouvier
Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com> Tested-by: Aniket Sahu <asahu1x@linux.ibm.com> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Message-ID: <20260827221506.91574-97-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
4 daystests/tcg/xtensa: system testsPierrick Bouvier
We prepare structure to be able to test multiple cores. Tested-by: Aniket Sahu <asahu1x@linux.ibm.com> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Message-ID: <20260827221506.91574-96-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
4 daystests/docker/dockerfiles/debian-xtensa-cross.docker: add test_kc705_be ↵Pierrick Bouvier
toolchain for xtensaeb Tested-by: Aniket Sahu <asahu1x@linux.ibm.com> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Message-ID: <20260827221506.91574-95-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
4 daystests/tcg/xtensa/crt.S: align .text sectionPierrick Bouvier
Needed, else we get this error: dangerous relocation: l32r: misaligned literal target: .text Previously, .S and .c were compiled in different steps, with different options. Now, with meson, we have to provide a single compiler command for all the files (no intermediate steps), which is a *hard* requirement to save user from dealing with compilation details in arch files. One consequence is that .c + .S combination gets -mtext-section-literals, which triggers this. Easily fixed by adding the .align section. Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com> Reviewed-by: Max Filippov <jcmvbkbc@gmail.com> Tested-by: Alex Bennée <alex.bennee@linaro.org> Tested-by: Aniket Sahu <asahu1x@linux.ibm.com> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Message-ID: <20260827221506.91574-94-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
4 daystests/tcg/x86_64: system testsPierrick Bouvier
Tested-by: Aniket Sahu <asahu1x@linux.ibm.com> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Message-ID: <20260827221506.91574-93-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
4 daystests/tcg/x86_64: user testsPierrick Bouvier
Tested-by: Aniket Sahu <asahu1x@linux.ibm.com> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Message-ID: <20260827221506.91574-92-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
4 daystests/tcg/x86_64: add missing float reference filePierrick Bouvier
Makefiles were skipping the output compare when such files were not available. This results in arch being very inconsistent with some providing all files, some providing no files, and some providing some files. There was even one case of a misnamed file that result in a skipped check. For consistency, the current series adds all missing reference files for all arch, and make their presence mandatory Tested-by: Alex Bennée <alex.bennee@linaro.org> Tested-by: Aniket Sahu <asahu1x@linux.ibm.com> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Message-ID: <20260827221506.91574-91-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
4 daystests/tcg/tricore: system testsPierrick Bouvier
Tested-by: Aniket Sahu <asahu1x@linux.ibm.com> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Message-ID: <20260827221506.91574-90-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
4 daystests/tcg/sh4: user testsPierrick Bouvier
Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com> Tested-by: Aniket Sahu <asahu1x@linux.ibm.com> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Message-ID: <20260827221506.91574-89-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
4 daystests/tcg/sh4: add float reference filesPierrick Bouvier
Makefiles were skipping the output compare when such files were not available. This results in arch being very inconsistent with some providing all files, some providing no files, and some providing some files. There was even one case of a misnamed file that result in a skipped check. For consistency, the current series adds all missing reference files for all arch, and make their presence mandatory Tested-by: Alex Bennée <alex.bennee@linaro.org> Tested-by: Aniket Sahu <asahu1x@linux.ibm.com> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Message-ID: <20260827221506.91574-88-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
4 daystests/tcg/s390x: system testsPierrick Bouvier
Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com> Tested-by: Aniket Sahu <asahu1x@linux.ibm.com> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Message-ID: <20260827221506.91574-87-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
4 daystests/tcg/s390x/console.c: directly implement memcpy and memsetPierrick Bouvier
pc-bios/s390-ccw/sclp.c uses memcpy and memset. pc-bios/s390-ccw is part of QEMU repository. However roms/SLOF is only available if submodules have been initialized, which is not not always the case. To break this dependency, just copy their definition here, and remove include to submodules files. Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com> Tested-by: Aniket Sahu <asahu1x@linux.ibm.com> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Message-ID: <20260827221506.91574-86-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
4 daystests/tcg/s390x: user testsPierrick Bouvier
Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com> Tested-by: Aniket Sahu <asahu1x@linux.ibm.com> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Message-ID: <20260827221506.91574-85-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
4 daystests/tcg/s390x: add float reference filesPierrick Bouvier
Makefiles were skipping the output compare when such files were not available. This results in arch being very inconsistent with some providing all files, some providing no files, and some providing some files. There was even one case of a misnamed file that result in a skipped check. For consistency, the current series adds all missing reference files for all arch, and make their presence mandatory Tested-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com> Tested-by: Aniket Sahu <asahu1x@linux.ibm.com> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Message-ID: <20260827221506.91574-84-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
4 daystests/tcg/s390x/head64.S: declare _exit symbol after mainPierrick Bouvier
tests/tcg/multiarch/gdbstub/registers.py expects to find this symbol to compare state of registers before and after execution. Define it explicitly. Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com> Tested-by: Alex Bennée <alex.bennee@linaro.org> Tested-by: Aniket Sahu <asahu1x@linux.ibm.com> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Message-ID: <20260827221506.91574-83-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
4 daystests/tcg/riscv64: system testsPierrick Bouvier
Tested-by: Aniket Sahu <asahu1x@linux.ibm.com> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Message-ID: <20260827221506.91574-82-pierrick.bouvier@oss.qualcomm.com> [AJB: port rv128-mstatus, rv128-sstatus and vle32ff tests] Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
4 daystests/tcg/riscv64: user testsPierrick Bouvier
Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com> Tested-by: Aniket Sahu <asahu1x@linux.ibm.com> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Message-ID: <20260827221506.91574-81-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
4 daystests/tcg/riscv64: add float reference filesPierrick Bouvier
Makefiles were skipping the output compare when such files were not available. This results in arch being very inconsistent with some providing all files, some providing no files, and some providing some files. There was even one case of a misnamed file that result in a skipped check. For consistency, the current series adds all missing reference files for all arch, and make their presence mandatory Tested-by: Alex Bennée <alex.bennee@linaro.org> Tested-by: Aniket Sahu <asahu1x@linux.ibm.com> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Message-ID: <20260827221506.91574-80-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
4 daystests/tcg/ppc64le: user testsPierrick Bouvier
Tested-by: Aniket Sahu <asahu1x@linux.ibm.com> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Message-ID: <20260827221506.91574-79-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
4 daystests/tcg/ppc64le: add missing float reference filePierrick Bouvier
Makefiles were skipping the output compare when such files were not available. This results in arch being very inconsistent with some providing all files, some providing no files, and some providing some files. There was even one case of a misnamed file that result in a skipped check. For consistency, the current series adds all missing reference files for all arch, and make their presence mandatory Tested-by: Alex Bennée <alex.bennee@linaro.org> Tested-by: Aniket Sahu <asahu1x@linux.ibm.com> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Message-ID: <20260827221506.91574-78-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
4 daystests/tcg/ppc64: user testsPierrick Bouvier
Tested-by: Aniket Sahu <asahu1x@linux.ibm.com> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Message-ID: <20260827221506.91574-77-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
4 daystests/tcg/ppc64: remove dependency on qemu/compiler.hPierrick Bouvier
Replace definition of vector attribute, remove unlikely, and detect endianness from __BYTE_ORDER__. It's the only tests that use this, so for consistency, it's better to not make exceptions. Also, not having this include path by default prevents anyone from having the "good" idea to reuse any other header from qemu in the future. Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com> Tested-by: Alex Bennée <alex.bennee@linaro.org> Tested-by: Aniket Sahu <asahu1x@linux.ibm.com> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Message-ID: <20260827221506.91574-76-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
4 daystests/tcg/ppc64: add float reference filesPierrick Bouvier
Makefiles were skipping the output compare when such files were not available. This results in arch being very inconsistent with some providing all files, some providing no files, and some providing some files. There was even one case of a misnamed file that result in a skipped check. For consistency, the current series adds all missing reference files for all arch, and make their presence mandatory Tested-by: Alex Bennée <alex.bennee@linaro.org> Tested-by: Aniket Sahu <asahu1x@linux.ibm.com> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Message-ID: <20260827221506.91574-75-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
4 daystests/tcg/or1k: user testsPierrick Bouvier
Some tests are currently failing, so they are commented. To be investigated. qemu:or1k-linux-user-test_addc FAIL 0.05s (exit status 255 or 0xff) qemu:or1k-linux-user-test_div FAIL 0.06s (exit status 136 or signal 8 SIGFPE) qemu:or1k-linux-user-test_extx FAIL 0.06s (exit status 132 or signal 4 SIGILL) qemu:or1k-linux-user-test_lx FAIL 0.05s (exit status 139 or signal 11 SIGSEGV) Tested-by: Aniket Sahu <asahu1x@linux.ibm.com> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Message-ID: <20260827221506.91574-74-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
4 daystests/tcg/or1k: add float reference filesPierrick Bouvier
Makefiles were skipping the output compare when such files were not available. This results in arch being very inconsistent with some providing all files, some providing no files, and some providing some files. There was even one case of a misnamed file that result in a skipped check. For consistency, the current series adds all missing reference files for all arch, and make their presence mandatory Tested-by: Alex Bennée <alex.bennee@linaro.org> Tested-by: Aniket Sahu <asahu1x@linux.ibm.com> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Message-ID: <20260827221506.91574-72-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
4 daystests/tcg/or1k/test_muli.c: remove set but unused variablePierrick Bouvier
Tested-by: Alex Bennée <alex.bennee@linaro.org> Tested-by: Aniket Sahu <asahu1x@linux.ibm.com> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Message-ID: <20260827221506.91574-71-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
4 daystests/tcg/or1k/test_addic.c: remove unused variablesPierrick Bouvier
Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com> Tested-by: Alex Bennée <alex.bennee@linaro.org> Tested-by: Aniket Sahu <asahu1x@linux.ibm.com> Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Message-ID: <20260827221506.91574-70-pierrick.bouvier@oss.qualcomm.com> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>