Skip to content

Commit a457215

Browse files
committed
Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20200414' into staging
patch queue: * Fix some problems that trip up Coverity's scanner * run-coverity-scan: New script automating the scan-and-upload process * docs: Improve our gdbstub documentation * configure: Honour --disable-werror for Sphinx * docs: Fix errors produced when building with Sphinx 3.0 * docs: Require Sphinx 1.6 or better * Add deprecation notice for KVM support on AArch32 hosts # gpg: Signature made Tue 14 Apr 2020 17:25:22 BST # gpg: using RSA key E1A5C593CD419DE28E8315CF3C2525ED14360CDE # gpg: issuer "[email protected]" # gpg: Good signature from "Peter Maydell <[email protected]>" [ultimate] # gpg: aka "Peter Maydell <[email protected]>" [ultimate] # gpg: aka "Peter Maydell <[email protected]>" [ultimate] # Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83 15CF 3C25 25ED 1436 0CDE * remotes/pmaydell/tags/pull-target-arm-20200414: Deprecate KVM support for AArch32 docs: Require Sphinx 1.6 or better kernel-doc: Use c:struct for Sphinx 3.0 and later scripts/kernel-doc: Add missing close-paren in c:function directives configure: Honour --disable-werror for Sphinx docs: Improve our gdbstub documentation scripts/coverity-scan: Add Docker support scripts/run-coverity-scan: Script to run Coverity Scan build linux-user/flatload.c: Use "" for include of QEMU header target_flat.h thread.h: Remove trailing semicolons from Coverity qemu_mutex_lock() etc thread.h: Fix Coverity version of qemu_cond_timedwait() osdep.h: Drop no-longer-needed Coverity workarounds Signed-off-by: Peter Maydell <[email protected]>
2 parents 14e5526 + 84f82dd commit a457215

File tree

14 files changed

+616
-41
lines changed

14 files changed

+616
-41
lines changed

MAINTAINERS

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2038,6 +2038,11 @@ M: Markus Armbruster <[email protected]>
20382038
S: Supported
20392039
F: scripts/coverity-model.c
20402040

2041+
Coverity Scan integration
2042+
M: Peter Maydell <[email protected]>
2043+
S: Maintained
2044+
F: scripts/coverity-scan/
2045+
20412046
Device Tree
20422047
M: Alistair Francis <[email protected]>
20432048
R: David Gibson <[email protected]>

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1076,7 +1076,7 @@ sphinxdocs: $(MANUAL_BUILDDIR)/devel/index.html \
10761076
# Note the use of different doctree for each (manual, builder) tuple;
10771077
# this works around Sphinx not handling parallel invocation on
10781078
# a single doctree: https://github.com/sphinx-doc/sphinx/issues/2946
1079-
build-manual = $(call quiet-command,CONFDIR="$(qemu_confdir)" $(SPHINX_BUILD) $(if $(V),,-q) -W -b $2 -D version=$(VERSION) -D release="$(FULL_VERSION)" -d .doctrees/$1-$2 $(SRC_PATH)/docs/$1 $(MANUAL_BUILDDIR)/$1 ,"SPHINX","$(MANUAL_BUILDDIR)/$1")
1079+
build-manual = $(call quiet-command,CONFDIR="$(qemu_confdir)" $(SPHINX_BUILD) $(if $(V),,-q) $(SPHINX_WERROR) -b $2 -D version=$(VERSION) -D release="$(FULL_VERSION)" -d .doctrees/$1-$2 $(SRC_PATH)/docs/$1 $(MANUAL_BUILDDIR)/$1 ,"SPHINX","$(MANUAL_BUILDDIR)/$1")
10801080
# We assume all RST files in the manual's directory are used in it
10811081
manual-deps = $(wildcard $(SRC_PATH)/docs/$1/*.rst $(SRC_PATH)/docs/$1/*/*.rst) \
10821082
$(SRC_PATH)/docs/defs.rst.inc \

configure

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4928,6 +4928,12 @@ if check_include sys/kcov.h ; then
49284928
kcov=yes
49294929
fi
49304930

4931+
# If we're making warnings fatal, apply this to Sphinx runs as well
4932+
sphinx_werror=""
4933+
if test "$werror" = "yes"; then
4934+
sphinx_werror="-W"
4935+
fi
4936+
49314937
# Check we have a new enough version of sphinx-build
49324938
has_sphinx_build() {
49334939
# This is a bit awkward but works: create a trivial document and
@@ -4936,7 +4942,7 @@ has_sphinx_build() {
49364942
# sphinx-build doesn't exist at all or if it is too old.
49374943
mkdir -p "$TMPDIR1/sphinx"
49384944
touch "$TMPDIR1/sphinx/index.rst"
4939-
"$sphinx_build" -c "$source_path/docs" -b html "$TMPDIR1/sphinx" "$TMPDIR1/sphinx/out" >/dev/null 2>&1
4945+
"$sphinx_build" $sphinx_werror -c "$source_path/docs" -b html "$TMPDIR1/sphinx" "$TMPDIR1/sphinx/out" >/dev/null 2>&1
49404946
}
49414947

49424948
# Check if tools are available to build documentation.
@@ -7631,6 +7637,7 @@ echo "INSTALL_PROG=$install -c -m 0755" >> $config_host_mak
76317637
echo "INSTALL_LIB=$install -c -m 0644" >> $config_host_mak
76327638
echo "PYTHON=$python" >> $config_host_mak
76337639
echo "SPHINX_BUILD=$sphinx_build" >> $config_host_mak
7640+
echo "SPHINX_WERROR=$sphinx_werror" >> $config_host_mak
76347641
echo "GENISOIMAGE=$genisoimage" >> $config_host_mak
76357642
echo "CC=$cc" >> $config_host_mak
76367643
if $iasl -h > /dev/null 2>&1; then

docs/conf.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,10 @@
5959

6060
# If your documentation needs a minimal Sphinx version, state it here.
6161
#
62-
# 1.3 is where the 'alabaster' theme was shipped with Sphinx.
63-
needs_sphinx = '1.3'
62+
# Sphinx 1.5 and earlier can't build our docs because they are too
63+
# picky about the syntax of the argument to the option:: directive
64+
# (see Sphinx bugs #646, #3366).
65+
needs_sphinx = '1.6'
6466

6567
# Add any Sphinx extension module names here, as strings. They can be
6668
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom

docs/sphinx/kerneldoc.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ def run(self):
9999
env.note_dependency(os.path.abspath(f))
100100
cmd += ['-export-file', f]
101101

102+
cmd += ['-sphinx-version', sphinx.__version__]
102103
cmd += [filename]
103104

104105
try:

docs/system/deprecated.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -336,6 +336,14 @@ The ``compat`` property used to set backwards compatibility modes for
336336
the processor has been deprecated. The ``max-cpu-compat`` property of
337337
the ``pseries`` machine type should be used instead.
338338

339+
KVM guest support on 32-bit Arm hosts (since 5.0)
340+
'''''''''''''''''''''''''''''''''''''''''''''''''
341+
342+
The Linux kernel has dropped support for allowing 32-bit Arm systems
343+
to host KVM guests as of the 5.7 kernel. Accordingly, QEMU is deprecating
344+
its support for this configuration and will remove it in a future version.
345+
Running 32-bit guests on a 64-bit Arm host remains supported.
346+
339347
System emulator devices
340348
-----------------------
341349

docs/system/gdb.rst

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,25 @@
33
GDB usage
44
---------
55

6-
QEMU has a primitive support to work with gdb, so that you can do
7-
'Ctrl-C' while the virtual machine is running and inspect its state.
8-
9-
In order to use gdb, launch QEMU with the '-s' option. It will wait for
10-
a gdb connection:
6+
QEMU supports working with gdb via gdb's remote-connection facility
7+
(the "gdbstub"). This allows you to debug guest code in the same
8+
way that you might with a low-level debug facility like JTAG
9+
on real hardware. You can stop and start the virtual machine,
10+
examine state like registers and memory, and set breakpoints and
11+
watchpoints.
12+
13+
In order to use gdb, launch QEMU with the ``-s`` and ``-S`` options.
14+
The ``-s`` option will make QEMU listen for an incoming connection
15+
from gdb on TCP port 1234, and ``-S`` will make QEMU not start the
16+
guest until you tell it to from gdb. (If you want to specify which
17+
TCP port to use or to use something other than TCP for the gdbstub
18+
connection, use the ``-gdb dev`` option instead of ``-s``.)
1119

1220
.. parsed-literal::
1321
14-
|qemu_system| -s -kernel bzImage -hda rootdisk.img -append "root=/dev/hda"
15-
Connected to host network interface: tun0
16-
Waiting gdb connection on port 1234
22+
|qemu_system| -s -S -kernel bzImage -hda rootdisk.img -append "root=/dev/hda"
23+
24+
QEMU will launch but will silently wait for gdb to connect.
1725

1826
Then launch gdb on the 'vmlinux' executable::
1927

include/qemu/osdep.h

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -33,20 +33,6 @@
3333
#else
3434
#include "exec/poison.h"
3535
#endif
36-
#ifdef __COVERITY__
37-
/* Coverity does not like the new _Float* types that are used by
38-
* recent glibc, and croaks on every single file that includes
39-
* stdlib.h. These typedefs are enough to please it.
40-
*
41-
* Note that these fix parse errors so they cannot be placed in
42-
* scripts/coverity-model.c.
43-
*/
44-
typedef float _Float32;
45-
typedef double _Float32x;
46-
typedef double _Float64;
47-
typedef __float80 _Float64x;
48-
typedef __float128 _Float128;
49-
#endif
5036

5137
#include "qemu/compiler.h"
5238

include/qemu/thread.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,17 +57,17 @@ extern QemuCondTimedWaitFunc qemu_cond_timedwait_func;
5757
* hide them.
5858
*/
5959
#define qemu_mutex_lock(m) \
60-
qemu_mutex_lock_impl(m, __FILE__, __LINE__);
60+
qemu_mutex_lock_impl(m, __FILE__, __LINE__)
6161
#define qemu_mutex_trylock(m) \
62-
qemu_mutex_trylock_impl(m, __FILE__, __LINE__);
62+
qemu_mutex_trylock_impl(m, __FILE__, __LINE__)
6363
#define qemu_rec_mutex_lock(m) \
64-
qemu_rec_mutex_lock_impl(m, __FILE__, __LINE__);
64+
qemu_rec_mutex_lock_impl(m, __FILE__, __LINE__)
6565
#define qemu_rec_mutex_trylock(m) \
66-
qemu_rec_mutex_trylock_impl(m, __FILE__, __LINE__);
66+
qemu_rec_mutex_trylock_impl(m, __FILE__, __LINE__)
6767
#define qemu_cond_wait(c, m) \
68-
qemu_cond_wait_impl(c, m, __FILE__, __LINE__);
68+
qemu_cond_wait_impl(c, m, __FILE__, __LINE__)
6969
#define qemu_cond_timedwait(c, m, ms) \
70-
qemu_cond_wait_impl(c, m, ms, __FILE__, __LINE__);
70+
qemu_cond_timedwait_impl(c, m, ms, __FILE__, __LINE__)
7171
#else
7272
#define qemu_mutex_lock(m) ({ \
7373
QemuMutexLockFunc _f = atomic_read(&qemu_mutex_lock_func); \

linux-user/flatload.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737

3838
#include "qemu.h"
3939
#include "flat.h"
40-
#include <target_flat.h>
40+
#include "target_flat.h"
4141

4242
//#define DEBUG
4343

0 commit comments

Comments
 (0)