Various fixes for 7.0
- make clean also cleans tcg tests - fix rounding error in i386 fildl[l] - more clean-ups to gitdm/mailmap metadata - apply some organisation to docs/devel - clean-up semihosting argv handling - add custom runner for aarch32 - remove old qemu_logo.pdf - document QEMU_PLUGIN env var -----BEGIN PGP SIGNATURE----- iQEzBAABCgAdFiEEZoWumedRZ7yvyN81+9DbCVqeKkQFAmI6+T8ACgkQ+9DbCVqe KkTt1wgAh+OS1tNCKj75lYKAXb0ZakOMijDHwHllZ3N1zN4QlhnAaJJ76MANwWRj uRGzGpQOsScIvLPO+z7pcYpdPlzQIO+Lm9oHLN91pYrp//8Qb9qYJTO1DVrraA9G +wvgulJPxp3hz/kQw02WvoudrgyGezKDgihgTzoGVenJASbPhaIvp8WTHMIbAcie lRbQ/HNKz4SJSh6VSpHlhgc5qh+34gHhVdp2rugEWvVp+a1ZOh8YStlAeIQg/DZ9 8DpfCRcTd0pds7MNICR0DKfjabsTupeDEgxyitoSq2Ki8vRnEvDi8/DGNsESGjxx urSutcpK69bnzTHmd5Sn+TkAiYrR+w== =epEk -----END PGP SIGNATURE----- Merge tag 'pull-fixes-for-7.0-230322-1' of https://github.com/stsquad/qemu into staging Various fixes for 7.0 - make clean also cleans tcg tests - fix rounding error in i386 fildl[l] - more clean-ups to gitdm/mailmap metadata - apply some organisation to docs/devel - clean-up semihosting argv handling - add custom runner for aarch32 - remove old qemu_logo.pdf - document QEMU_PLUGIN env var # gpg: Signature made Wed 23 Mar 2022 10:41:03 GMT # 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 * tag 'pull-fixes-for-7.0-230322-1' of https://github.com/stsquad/qemu: docs/tcg-plugins: document QEMU_PLUGIN behaviour docs: remove qemu_logo.pdf gitlab: include new aarch32 job in custom-runners semihosting: clean up handling of expanded argv docs/devel: try and impose some organisation mailmap/gitdm: more fixes for bad tags and authors target/i386: force maximum rounding precision for fildl[l] tests/Makefile.include: Let "make clean" remove the TCG tests, too Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
e309ce90a2
@ -16,4 +16,5 @@ variables:
|
||||
include:
|
||||
- local: '/.gitlab-ci.d/custom-runners/ubuntu-20.04-s390x.yml'
|
||||
- local: '/.gitlab-ci.d/custom-runners/ubuntu-20.04-aarch64.yml'
|
||||
- local: '/.gitlab-ci.d/custom-runners/ubuntu-20.04-aarch32.yml'
|
||||
- local: '/.gitlab-ci.d/custom-runners/centos-stream-8-x86_64.yml'
|
||||
|
6
.mailmap
6
.mailmap
@ -28,7 +28,11 @@ Thiemo Seufer <ths@networkno.de> ths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>
|
||||
malc <av1474@comtv.ru> malc <malc@c046a42c-6fe2-441c-8c8c-71466251a162>
|
||||
|
||||
# Corrupted Author fields
|
||||
Aaron Larson <alarson@ddci.com> alarson@ddci.com
|
||||
Andreas Färber <andreas.faerber@web.de> Andreas Färber <andreas.faerber>
|
||||
Jason Wang <jasowang@redhat.com> Jason Wang <jasowang>
|
||||
Marek Dolata <mkdolata@us.ibm.com> mkdolata@us.ibm.com <mkdolata@us.ibm.com>
|
||||
Michael Ellerman <mpe@ellerman.id.au> michael@ozlabs.org <michael@ozlabs.org>
|
||||
Nick Hudson <hnick@vmware.com> hnick@vmware.com <hnick@vmware.com>
|
||||
|
||||
# There is also a:
|
||||
@ -70,6 +74,7 @@ Yongbok Kim <yongbok.kim@mips.com> <yongbok.kim@imgtec.com>
|
||||
# Also list preferred name forms where people have changed their
|
||||
# git author config, or had utf8/latin1 encoding issues.
|
||||
Aaron Lindsay <aaron@os.amperecomputing.com>
|
||||
Aaron Larson <alarson@ddci.com>
|
||||
Alexey Gerasimenko <x1917x@gmail.com>
|
||||
Alex Chen <alex.chen@huawei.com>
|
||||
Alex Ivanov <void@aleksoft.net>
|
||||
@ -144,6 +149,7 @@ Pan Nengyuan <pannengyuan@huawei.com>
|
||||
Pavel Dovgaluk <dovgaluk@ispras.ru>
|
||||
Pavel Dovgaluk <pavel.dovgaluk@gmail.com>
|
||||
Pavel Dovgaluk <Pavel.Dovgaluk@ispras.ru>
|
||||
Peter Chubb <peter.chubb@nicta.com.au>
|
||||
Peter Crosthwaite <crosthwaite.peter@gmail.com>
|
||||
Peter Crosthwaite <peter.crosthwaite@petalogix.com>
|
||||
Peter Crosthwaite <peter.crosthwaite@xilinx.com>
|
||||
|
@ -34,8 +34,10 @@ malc@c046a42c-6fe2-441c-8c8c-71466251a162 av1474@comtv.ru
|
||||
# canonical emails
|
||||
liq3ea@163.com liq3ea@gmail.com
|
||||
|
||||
# some broken tags
|
||||
# some broken DCO tags
|
||||
yuval.shaia.ml.gmail.com yuval.shaia.ml@gmail.com
|
||||
jasowang jasowang@redhat.com
|
||||
nicta.com.au peter.chubb@nicta.com.au
|
||||
|
||||
# There is also a:
|
||||
# (no author) <(no author)@c046a42c-6fe2-441c-8c8c-71466251a162>
|
||||
|
15
docs/devel/index-api.rst
Normal file
15
docs/devel/index-api.rst
Normal file
@ -0,0 +1,15 @@
|
||||
Internal QEMU APIs
|
||||
------------------
|
||||
|
||||
Details about how QEMU's various internal APIs. Most of these are
|
||||
generated from in-code annotations to function prototypes.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:includehidden:
|
||||
|
||||
bitops
|
||||
loads-stores
|
||||
memory
|
||||
modules
|
||||
ui
|
19
docs/devel/index-build.rst
Normal file
19
docs/devel/index-build.rst
Normal file
@ -0,0 +1,19 @@
|
||||
QEMU Build and Test System
|
||||
--------------------------
|
||||
|
||||
Details about how QEMU's build system works and how it is integrated
|
||||
into our testing infrastructure. You will need to understand some of
|
||||
the basics if you are adding new files and targets to the build.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:includehidden:
|
||||
|
||||
build-system
|
||||
kconfig
|
||||
testing
|
||||
qtest
|
||||
ci
|
||||
qapi-code-gen
|
||||
fuzzing
|
||||
control-flow-integrity
|
21
docs/devel/index-internals.rst
Normal file
21
docs/devel/index-internals.rst
Normal file
@ -0,0 +1,21 @@
|
||||
Internal Subsystem Information
|
||||
------------------------------
|
||||
|
||||
Details about QEMU's various subsystems including how to add features to them.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:includehidden:
|
||||
|
||||
qom
|
||||
atomics
|
||||
block-coroutine-wrapper
|
||||
clocks
|
||||
ebpf_rss
|
||||
migration
|
||||
multi-process
|
||||
reset
|
||||
s390-dasd-ipl
|
||||
tracing
|
||||
vfio-migration
|
||||
writing-monitor-commands
|
17
docs/devel/index-process.rst
Normal file
17
docs/devel/index-process.rst
Normal file
@ -0,0 +1,17 @@
|
||||
QEMU Community Processes
|
||||
------------------------
|
||||
|
||||
Notes about how to interact with the community and how and where to submit patches.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:includehidden:
|
||||
|
||||
code-of-conduct
|
||||
conflict-resolution
|
||||
style
|
||||
submitting-a-patch
|
||||
trivial-patches
|
||||
stable-process
|
||||
submitting-a-pull-request
|
||||
secure-coding-practices
|
16
docs/devel/index-tcg.rst
Normal file
16
docs/devel/index-tcg.rst
Normal file
@ -0,0 +1,16 @@
|
||||
TCG Emulation
|
||||
-------------
|
||||
|
||||
Details about QEMU's Tiny Code Generator and the infrastructure
|
||||
associated with emulation. You do not need to worry about this if you
|
||||
are only implementing things for HW accelerated hypervisors.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:includehidden:
|
||||
|
||||
tcg
|
||||
decodetree
|
||||
multi-thread-tcg
|
||||
tcg-icount
|
||||
tcg-plugins
|
@ -7,44 +7,12 @@ You only need to read it if you are interested in reading or
|
||||
modifying QEMU's source code.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:maxdepth: 1
|
||||
:includehidden:
|
||||
|
||||
code-of-conduct
|
||||
conflict-resolution
|
||||
build-system
|
||||
style
|
||||
kconfig
|
||||
testing
|
||||
fuzzing
|
||||
control-flow-integrity
|
||||
loads-stores
|
||||
memory
|
||||
migration
|
||||
atomics
|
||||
stable-process
|
||||
ci
|
||||
qtest
|
||||
decodetree
|
||||
secure-coding-practices
|
||||
tcg
|
||||
tcg-icount
|
||||
tracing
|
||||
multi-thread-tcg
|
||||
tcg-plugins
|
||||
bitops
|
||||
ui
|
||||
reset
|
||||
s390-dasd-ipl
|
||||
clocks
|
||||
qom
|
||||
modules
|
||||
block-coroutine-wrapper
|
||||
multi-process
|
||||
ebpf_rss
|
||||
vfio-migration
|
||||
qapi-code-gen
|
||||
writing-monitor-commands
|
||||
trivial-patches
|
||||
submitting-a-patch
|
||||
submitting-a-pull-request
|
||||
|
||||
index-process
|
||||
index-build
|
||||
index-api
|
||||
index-internals
|
||||
index-tcg
|
||||
|
@ -27,13 +27,18 @@ Once built a program can be run with multiple plugins loaded each with
|
||||
their own arguments::
|
||||
|
||||
$QEMU $OTHER_QEMU_ARGS \
|
||||
-plugin tests/plugin/libhowvec.so,inline=on,count=hint \
|
||||
-plugin tests/plugin/libhotblocks.so
|
||||
-plugin contrib/plugin/libhowvec.so,inline=on,count=hint \
|
||||
-plugin contrib/plugin/libhotblocks.so
|
||||
|
||||
Arguments are plugin specific and can be used to modify their
|
||||
behaviour. In this case the howvec plugin is being asked to use inline
|
||||
ops to count and break down the hint instructions by type.
|
||||
|
||||
Linux user-mode emulation also evaluates the environment variable
|
||||
``QEMU_PLUGIN``::
|
||||
|
||||
QEMU_PLUGIN="file=contrib/plugins/libhowvec.so,inline=on,count=hint" $QEMU
|
||||
|
||||
Writing plugins
|
||||
---------------
|
||||
|
||||
|
Binary file not shown.
@ -51,7 +51,7 @@ typedef struct SemihostingConfig {
|
||||
bool enabled;
|
||||
SemihostingTarget target;
|
||||
Chardev *chardev;
|
||||
const char **argv;
|
||||
char **argv;
|
||||
int argc;
|
||||
const char *cmdline; /* concatenated argv */
|
||||
} SemihostingConfig;
|
||||
@ -98,8 +98,8 @@ static int add_semihosting_arg(void *opaque,
|
||||
if (strcmp(name, "arg") == 0) {
|
||||
s->argc++;
|
||||
/* one extra element as g_strjoinv() expects NULL-terminated array */
|
||||
s->argv = g_realloc(s->argv, (s->argc + 1) * sizeof(void *));
|
||||
s->argv[s->argc - 1] = val;
|
||||
s->argv = g_renew(char *, s->argv, s->argc + 1);
|
||||
s->argv[s->argc - 1] = g_strdup(val);
|
||||
s->argv[s->argc] = NULL;
|
||||
}
|
||||
return 0;
|
||||
|
@ -237,24 +237,37 @@ void helper_fldl_ST0(CPUX86State *env, uint64_t val)
|
||||
merge_exception_flags(env, old_flags);
|
||||
}
|
||||
|
||||
static FloatX80RoundPrec tmp_maximise_precision(float_status *st)
|
||||
{
|
||||
FloatX80RoundPrec old = get_floatx80_rounding_precision(st);
|
||||
set_floatx80_rounding_precision(floatx80_precision_x, st);
|
||||
return old;
|
||||
}
|
||||
|
||||
void helper_fildl_ST0(CPUX86State *env, int32_t val)
|
||||
{
|
||||
int new_fpstt;
|
||||
FloatX80RoundPrec old = tmp_maximise_precision(&env->fp_status);
|
||||
|
||||
new_fpstt = (env->fpstt - 1) & 7;
|
||||
env->fpregs[new_fpstt].d = int32_to_floatx80(val, &env->fp_status);
|
||||
env->fpstt = new_fpstt;
|
||||
env->fptags[new_fpstt] = 0; /* validate stack entry */
|
||||
|
||||
set_floatx80_rounding_precision(old, &env->fp_status);
|
||||
}
|
||||
|
||||
void helper_fildll_ST0(CPUX86State *env, int64_t val)
|
||||
{
|
||||
int new_fpstt;
|
||||
FloatX80RoundPrec old = tmp_maximise_precision(&env->fp_status);
|
||||
|
||||
new_fpstt = (env->fpstt - 1) & 7;
|
||||
env->fpregs[new_fpstt].d = int64_to_floatx80(val, &env->fp_status);
|
||||
env->fpstt = new_fpstt;
|
||||
env->fptags[new_fpstt] = 0; /* validate stack entry */
|
||||
|
||||
set_floatx80_rounding_precision(old, &env->fp_status);
|
||||
}
|
||||
|
||||
uint32_t helper_fsts_ST0(CPUX86State *env)
|
||||
|
@ -155,6 +155,6 @@ check-build: run-ninja
|
||||
check-clean:
|
||||
rm -rf $(TESTS_VENV_DIR) $(TESTS_RESULTS_DIR)
|
||||
|
||||
clean: check-clean
|
||||
clean: check-clean clean-tcg
|
||||
|
||||
endif
|
||||
|
Loading…
Reference in New Issue
Block a user