- Apr 20, 2023
-
-
Paolo Bonzini authored
The Fedora CI and coverity runs are using a slightly different set of packages. Copy most of the content over from tests/docker while keeping the commands at the end that unpack the tools. Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com> Message-Id: <20230331174844.376300-1-pbonzini@redhat.com> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com>
-
Paolo Bonzini authored
Coroutine commands have to be declared as coroutine_fn, but the marker does not show up in the qapi-comands-* headers; likewise, the marshaling function calls the command and therefore must be coroutine_fn. Static analysis would want coroutine_fn to match between prototype and declaration, because in principle coroutines might be compiled to a completely different calling convention. So we would like to add the marker to the header. Reviewed-by:
Markus Armbruster <armbru@redhat.com> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com>
-
Paolo Bonzini authored
Hexagon is split into two components because it has hundreds of false positives in the generated files. capstone and slirp have been removed. hw/nvme is added to block. Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com>
-
Marc-André Lureau authored
A subproject test may be simply in the "PROJECT" suite (such as "qemu-common" with the following patches) Signed-off-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20230302131848.1527460-2-marcandre.lureau@redhat.com> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com>
-
- Apr 04, 2023
-
-
Alex Bennée authored
This is a very rough and ready first pass at comparing gcovr's json output between two different runs. At the moment it will give you a file level diff between two runs but hopefully it wont be too hard to extend to give better insight. After generating the coverage results you run with something like: ./scripts/coverage/compare_gcov_json.py \ -a ./builds/gcov.config1/coverage.json \ -b ./builds/gcov.config2/coverage.json My hope is we can use this to remove some redundancy from testing as well as evaluate if new tests are actually providing additional coverage or just burning our precious CI time. Signed-off-by:
Alex Bennée <alex.bennee@linaro.org> Cc: Kautuk Consul <kconsul@linux.vnet.ibm.com> Acked-by:
Thomas Huth <thuth@redhat.com> Message-Id: <20230403134920.2132362-2-alex.bennee@linaro.org>
-
- Mar 22, 2023
-
-
Alex Bennée authored
This was broken when we moved to using the pre-built packages as we didn't take care to ensure we used RPMs where required. NB: I could never get this to complete on my test setup but I suspect this was down to network connectivity and timeouts while downloading. Fixes: 69c4befb (scripts/ci: update gitlab-runner playbook to use latest runner) Signed-off-by:
Alex Bennée <alex.bennee@linaro.org> Message-Id: <20230315174331.2959-5-alex.bennee@linaro.org>
-
Alex Bennée authored
Without libslip enabled we won't have user networking which means the KVM tests won't run. Reviewed-by:
Thomas Huth <thuth@redhat.com> Signed-off-by:
Alex Bennée <alex.bennee@linaro.org> Message-Id: <20230315174331.2959-4-alex.bennee@linaro.org>
-
- Mar 10, 2023
-
-
Akihiko Odaki authored
This automates ethtool tests for igb registers, interrupts, etc. Signed-off-by:
Akihiko Odaki <akihiko.odaki@daynix.com> Reviewed-by:
Cédric Le Goater <clg@redhat.com> Signed-off-by:
Jason Wang <jasowang@redhat.com>
-
- Mar 07, 2023
-
-
Alex Bennée authored
Currently when we encounter a gdb that is old or not built with multiarch in mind we fail rather messily. Try and improve the situation by probing ahead of time and setting HOST_GDB_SUPPORTS_ARCH=y in the relevant tcg configs. We can then skip and give a more meaningful message if we don't run the test. Cc: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by:
Alex Bennée <alex.bennee@linaro.org> Reviewed-by:
Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230302190846.2593720-24-alex.bennee@linaro.org> Message-Id: <20230303025805.625589-24-richard.henderson@linaro.org>
-
- Mar 05, 2023
-
-
Richard Henderson authored
This file, and a couple of uses, got left behind when the tcg stuff was removed from tracetool. Fixes: 126d4123 ("tracing: excise the tcg related from tracetool") Reviewed-by:
Alex Bennée <alex.bennee@linaro.org> Signed-off-by:
Richard Henderson <richard.henderson@linaro.org>
-
- Feb 27, 2023
-
-
Philippe Mathieu-Daudé authored
Since commit 262a69f4 ("osdep.h: Prohibit disabling assert() in supported builds") we can not build QEMU with NDEBUG (or G_DISABLE_ASSERT) defined, thus 'assert(0)' always aborts QEMU. However some static analyzers / compilers doesn't notice NDEBUG can't be defined and emit warnings if code is used after an 'assert(0)' call. Apparently such compiler isn't as clever with G_DISABLE_ASSERT, so we can silent these warnings by using g_assert_not_reached() which is easier to read anyway. In order to avoid these annoying warnings, add a checkpatch rule to prohibit 'assert(0)'. Suggest using g_assert_not_reached() instead. For example when reverting the previous patch we get: ERROR: use g_assert_not_reached() instead of assert(0) #21: FILE: target/ppc/dfp_helper.c:124: + assert(0); /* cannot get here */ ERROR: use g_assert_not_reached() instead of assert(0) #30: FILE: target/ppc/dfp_helper.c:141: + assert(0); /* cannot get here */ total: 2 errors, 0 warnings, 16 lines checked Signed-off-by:
Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by:
Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230221232520.14480-3-philmd@linaro.org>
-
John Snow authored
Once upon a time, "sphinx-build" on certain RPM platforms invoked specifically a Python 2.x version, while "sphinx-build-3" was a distro shim for the Python 3.x version. These days, none of our supported platforms utilize a 2.x version, and those that still have 'sphinx-build-3' make it a symbolic link to 'sphinx-build'. Not searching for 'sphinx-build-3' will prefer pip/venv installed versions of sphinx if they're available. This adds an extremely convenient ability to test document building ability in QEMU across multiple versions of Sphinx for the purposes of compatibility testing. Signed-off-by:
John Snow <jsnow@redhat.com> Message-Id: <20230221012456.2607692-6-jsnow@redhat.com> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com>
-
Markus Armbruster authored
Commit eed56e9a "configure, meson: move config-poison.h to meson" lost a "| sort -u". Restore it. config-poison shrinks from ~4500 to ~700 lines when all targets are enabled. Signed-off-by:
Markus Armbruster <armbru@redhat.com> Reviewed-by:
Alex Bennée <alex.bennee@linaro.org> Reviewed-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by:
Philippe Mathieu-Daudé <philmd@linaro.org> Tested-by:
Alex Bennée <alex.bennee@linaro.org> Message-Id: <20230206102037.3621709-1-armbru@redhat.com> Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com>
-
- Feb 23, 2023
-
-
John Snow authored
With the two major JSON-ish type hierarchies clarified for distinct purposes; QAPIExpression for parsed expressions and JSONValue for introspection data, remove this FIXME as no longer an action item. A third JSON-y data type, _ExprValue, is not meant to represent JSON in the abstract but rather only the possible legal return values from a single function, get_expr(). It isn't appropriate to attempt to merge it with either of the above two types. In theory, it may be possible to define a completely agnostic one-size-fits-all JSON type hierarchy that any other user could borrow - in practice, it's tough to wrangle the differences between invariant, covariant and contravariant types: input and output parameters demand different properties of such a structure. However, QAPIExpression serves to authoritatively type user input to the QAPI parser, while JSONValue serves to authoritatively type qapi generator *output* to be served back to client users at runtime via QMP. The AST for these two types are different and cannot be wholly merged into a unified syntax. They could, in theory, share some JSON primitive definitions. In practice, this is currently more trouble than it's worth with mypy's current expressive power. As such, declare this "done enough for now". Signed-off-by:
John Snow <jsnow@redhat.com> Message-Id: <20230215000011.1725012-7-jsnow@redhat.com> Reviewed-by:
Markus Armbruster <armbru@redhat.com>
-
John Snow authored
We can remove this alias as it only has two usages now, and no longer pays for the confusion of "yet another type". Signed-off-by:
John Snow <jsnow@redhat.com> Message-Id: <20230215000011.1725012-6-jsnow@redhat.com> Reviewed-by:
Markus Armbruster <armbru@redhat.com>
-
John Snow authored
This patch creates a new type, QAPIExpression, which represents a parsed expression complete with QAPIDoc and QAPISourceInfo. This patch turns parser.exprs into a list of QAPIExpression instead, and adjusts expr.py to match. This allows the types we specify in parser.py to be "remembered" all the way through expr.py and into schema.py. Several assertions around packing and unpacking this data can be removed as a result. It also corrects a harmless typing error. Before the patch, check_exprs() allegedly takes a List[_JSONObject]. It actually takes a list of dicts of the form {'expr': E, 'info': I, 'doc': D} where E is of type _ExprValue, I is of type QAPISourceInfo, and D is of type QAPIDoc. Key 'doc' is optional. This is not a _JSONObject! Passes type checking anyway, because _JSONObject is Dict[str, object]. Signed-off-by:
John Snow <jsnow@redhat.com> Message-Id: <20230215000011.1725012-5-jsnow@redhat.com> Reviewed-by:
Markus Armbruster <armbru@redhat.com> [Commit message amended to point out the typing fix]
-
John Snow authored
Pylint under 3.6 does not believe that Collection is subscriptable at runtime. It is, making this a Pylint bug. https://github.com/PyCQA/pylint/issues/2377 They closed it as fixed, but that doesn't seem to be true as of Pylint 2.13.9, the latest version you can install under Python 3.6. 2.13.9 was released 2022-05-13, about seven months after the bug was closed. The least-annoying fix here is to just use the concret type. Signed-off-by:
John Snow <jsnow@redhat.com> Message-Id: <20230215000011.1725012-4-jsnow@redhat.com> [Dumbed down from Sequence[str] to List[str], commit message adjusted] Reviewed-by:
Markus Armbruster <armbru@redhat.com>
-
John Snow authored
Newer versions of pylint disable the "no-self-use" message by default. Older versions don't, though. If we leave the suppressions in, pylint yelps about useless options. Just tell pylint to shush. Signed-off-by:
John Snow <jsnow@redhat.com> Reviewed-by:
Markus Armbruster <armbru@redhat.com> Message-Id: <20230215000011.1725012-3-jsnow@redhat.com>
-
John Snow authored
New versions of flake8 don't like same-line comments. (It's a version newer than what fc37 ships, but it still makes my life easier to fix it now.) Signed-off-by:
John Snow <jsnow@redhat.com> Reviewed-by:
Markus Armbruster <armbru@redhat.com> Message-Id: <20230215000011.1725012-2-jsnow@redhat.com>
-
- Feb 17, 2023
-
-
Kevin Wolf authored
Some functions must not be called from coroutine context. The common pattern to use them anyway from a coroutine is running them in a BH and letting the calling coroutine yield to be woken up when the BH is completed. Instead of manually writing such wrappers, add support for generating them to block-coroutine-wrapper. Signed-off-by:
Kevin Wolf <kwolf@redhat.com> Message-Id: <20230126172432.436111-2-kwolf@redhat.com> Reviewed-by:
Emanuele Giuseppe Esposito <eesposit@redhat.com> Reviewed-by:
Hanna Czenczek <hreitz@redhat.com> Signed-off-by:
Kevin Wolf <kwolf@redhat.com>
-
- Feb 16, 2023
-
-
Dr. David Alan Gilbert authored
Remove all the virtiofsd build and docs infrastructure. Signed-off-by:
Dr. David Alan Gilbert <dgilbert@redhat.com> Acked-by:
Stefan Hajnoczi <stefanha@redhat.com>
-
Dr. David Alan Gilbert authored
Rmove the avocado test for virtiofsd, since we're about to remove the C implementation. Signed-off-by:
Dr. David Alan Gilbert <dgilbert@redhat.com> Acked-by:
Stefan Hajnoczi <stefanha@redhat.com>
-
- Feb 14, 2023
-
-
Ilya Leoshkevich authored
Add the missing meson infrastructure bits for the new libdw dependency. Model them after the existing capstone knobs. Fixes: 7c10cb38 ("accel/tcg: Add debuginfo support") Reported-by:
Thomas Huth <thuth@redhat.com> Signed-off-by:
Ilya Leoshkevich <iii@linux.ibm.com> Reviewed-by:
Thomas Huth <thuth@redhat.com> Message-Id: <20230210005208.438142-1-iii@linux.ibm.com> Signed-off-by:
Thomas Huth <thuth@redhat.com>
-
- Feb 11, 2023
-
-
ling xu authored
This commit is the same with [PATCH v6 1/2], and provides avx512 support for xbzrle_encode_buffer function to accelerate xbzrle encoding speed. Runtime check of avx512 support and benchmark for this feature are added. Compared with C version of xbzrle_encode_buffer function, avx512 version can achieve 50%-70% performance improvement on benchmarking. In addition, if dirty data is randomly located in 4K page, the avx512 version can achieve almost 140% performance gain. Signed-off-by:
ling xu <ling1.xu@intel.com> Co-authored-by:
Zhou Zhao <zhou.zhao@intel.com> Co-authored-by:
Jun Jin <jun.i.jin@intel.com> Reviewed-by:
Juan Quintela <quintela@redhat.com> Signed-off-by:
Juan Quintela <quintela@redhat.com>
-
- Feb 10, 2023
-
-
Paolo Bonzini authored
The library directory can change depending on the multilib setup of the host. It would be even better to detect it in configure with the same algorithm that Meson uses, but the important thing to avoid confusing developers is to have identical contents of scripts/meson-buildoptions.sh, independent of the distro and architecture on which it was created. So, for now just give a custom default value to libdir. Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com>
-
- Feb 08, 2023
-
-
Markus Armbruster authored
The script drops #include "qemu/osdep.h" from headers. Mention it in the commit message it uses for --git. Signed-off-by:
Markus Armbruster <armbru@redhat.com> Reviewed-by:
Juan Quintela <quintela@redhat.com> Message-Id: <20230202133830.2152150-5-armbru@redhat.com>
-
Markus Armbruster authored
When a symbolic link points to a file that needs cleaning, the script replaces the link with a cleaned regular file. Not wanted; skip them. We have a few symbolic links under subprojects/libvduse/ and subprojects/libvhost-user/. Signed-off-by:
Markus Armbruster <armbru@redhat.com> Reviewed-by:
Michael S. Tsirkin <mst@redhat.com> Reviewed-by:
Eric Blake <eblake@redhat.com> Message-Id: <20230202133830.2152150-4-armbru@redhat.com>
-
Markus Armbruster authored
When running with --check-dup-head, the script always claims it "Found duplicate header file includes." Fix to do it only when it actually found some. Fixes: d66253e4 ("scripts/clean-includes: added duplicate #include check") Signed-off-by:
Markus Armbruster <armbru@redhat.com> Reviewed-by:
Michael S. Tsirkin <mst@redhat.com> Reviewed-by:
Eric Blake <eblake@redhat.com> Message-Id: <20230202133830.2152150-3-armbru@redhat.com>
-
Markus Armbruster authored
When clean-includes claims to skip or ignore a file, only the part that sanitizes use of qemu/osdep.h skips the file. The part that looks for duplicate #include does not, and neither does committing to Git. The latter can get unrelated stuff included in the commit, but only if you run clean-includes in a dirty tree, which is unwise. Messed up when we added skipping in commit fd3e39a4 "scripts/clean-includes: Enhance to handle header files". The former can cause bogus reports for --check-dup-head. Added in commit d66253e4 "scripts/clean-includes: added duplicate #include check", duplicating the prior mistake. Fix the script to fully skip files. Fixes: fd3e39a4 ("scripts/clean-includes: Enhance to handle header files") Fixes: d66253e4 ("scripts/clean-includes: added duplicate #include check") Signed-off-by:
Markus Armbruster <armbru@redhat.com> Reviewed-by:
Michael S. Tsirkin <mst@redhat.com> Reviewed-by:
Eric Blake <eblake@redhat.com> Message-Id: <20230202133830.2152150-2-armbru@redhat.com>
-
- Feb 06, 2023
-
-
Paolo Bonzini authored
Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com>
-
Paolo Bonzini authored
scripts/ci/org.centos/stream/8/build-environment.yml has a slightly different list of packages compared to scripts/ci/setup/build-environment.yaml. Make them the same. Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com>
-
Paolo Bonzini authored
Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com>
-
Paolo Bonzini authored
Update the CI playbook so that it is able to prepare a system with a fresh CentOS Stream 8 install, rather than just support RHEL. Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com>
-
Paolo Bonzini authored
Since this playbook is meant for a CentOS 8 install, no need to check the facts. Signed-off-by:
Paolo Bonzini <pbonzini@redhat.com>
-
- Feb 02, 2023
-
-
Marc-André Lureau authored
Signed-off-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by:
Daniel P. Berrangé <berrange@redhat.com> Reviewed-by:
Philippe Mathieu-Daudé <philmd@linaro.org> Message-Id: <20230110132700.833690-8-marcandre.lureau@redhat.com> Signed-off-by:
Alex Bennée <alex.bennee@linaro.org> Message-Id: <20230124180127.1881110-12-alex.bennee@linaro.org>
-
Alex Bennée authored
The up-coming upgrade to Fedora 37 will bring in libtcmalloc as a dependency of libglusterfs which confuses our fuzz run. Rather than disable the build lets use LSAN's suppression mechanism to prevent the job from failing. Signed-off-by:
Alex Bennée <alex.bennee@linaro.org> Cc: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by:
Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by:
Thomas Huth <thuth@redhat.com> Message-Id: <20230124180127.1881110-10-alex.bennee@linaro.org>
-
Marc-André Lureau authored
On msys2, the shader-to-C script produces bad C: ./ui/shader/texture-blit-vert.h:2:5: error: missing terminating " character [-Werror] Fix it by changing the line ending from crlf to lf, and convert the script to Python (qemu build seems perl-free after that). Signed-off-by:
Marc-André Lureau <marcandre.lureau@redhat.com> Acked-by:
Thomas Huth <thuth@redhat.com> Message-Id: <20230110132700.833690-2-marcandre.lureau@redhat.com> Signed-off-by:
Alex Bennée <alex.bennee@linaro.org> Message-Id: <20230124180127.1881110-6-alex.bennee@linaro.org>
-
Alex Bennée authored
We were using quite and old runner on our machines and running into issues with stalling jobs. Gitlab in the meantime now reliably provide the latest packaged versions of the runner under a stable URL. This update: - creates a per-arch subdir for builds - switches from binary tarballs to deb packages - re-uses the same binary for the secondary runner - updates distro check for second to 22.04 Note this script isn't fully idempotent as we end up accumulating runners especially during testing. However we also want to be able to run twice with different GitLab keys (e.g. project and personal) so I think we just have to be mindful of that during testing. Signed-off-by:
Alex Bennée <alex.bennee@linaro.org> Acked-by:
Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230124180127.1881110-2-alex.bennee@linaro.org>
-
- Feb 01, 2023
-
-
Emanuele Giuseppe Esposito authored
Just omit the various 'return' when the return type is void. Signed-off-by:
Emanuele Giuseppe Esposito <eesposit@redhat.com> Signed-off-by:
Kevin Wolf <kwolf@redhat.com> Message-Id: <20230113204212.359076-2-kwolf@redhat.com> Reviewed-by:
Emanuele Giuseppe Esposito <eesposit@redhat.com> Signed-off-by:
Kevin Wolf <kwolf@redhat.com>
-
- Jan 20, 2023
-
-
Markus Armbruster authored
We have two inclusion loops: block/block.h -> block/block-global-state.h -> block/block-common.h -> block/blockjob.h -> block/block.h block/block.h -> block/block-io.h -> block/block-common.h -> block/blockjob.h -> block/block.h I believe these go back to Emanuele's reorganization of the block API, merged a few months ago in commit d7e2fe4a. Fortunately, breaking them is merely a matter of deleting unnecessary includes from headers, and adding them back in places where they are now missing. Signed-off-by:
Markus Armbruster <armbru@redhat.com> Message-Id: <20221221133551.3967339-2-armbru@redhat.com>
-