mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 23:33:54 -06:00
Testing, docs, semihosting and plugin updates
- update playbooks for custom runners - add section timing support to gitlab - upgrade fedora images to 37 - purge perl from the build system and deps - disable unstable tests in CI - improve intro, emulation and semihosting docs - semihosting bug fix and O_BINARY default - add memory-sve test - fix some races in qht - improve plugin handling of memory helpers - optimise plugin hooks - fix some plugin deadlocks - reduce win64-cross build time by dropping some targets -----BEGIN PGP SIGNATURE----- iQEzBAABCgAdFiEEZoWumedRZ7yvyN81+9DbCVqeKkQFAmPb3fgACgkQ+9DbCVqe KkQbXAf9Eoc+PdNvafbqzH/blPjvd9ve8pJ+GcPDukNXwxP8OF/jFEJUQ1E7l9O7 y0qV4akKCdIqVice4R5bK2CAq44Y3aut8SDf56C8E3Riha2zA2RbQWOv/zCvA3OP LFF+OaXZyg4JTR48HUKzh9ei2bd1+ccBSUe+xlRi59XaV5K8+5bmcZj10QKUR0lD 0HC5auEWWpayvd5D7Da15C7+oVY3LMCFxSdpHwbuIPPan/TRo5yqMI6ChYDKB8QD gdwMCL8znj2ADCTBftyBDYDAtjKVyLQidf7KdQHiSF+nmXYopS6SbsPCOMtJqCMH tXcKAIxs/MEntPrWTKTdtdnzotJVKw== =AtfN -----END PGP SIGNATURE----- Merge tag 'pull-jan-omnibus-020223-1' of https://gitlab.com/stsquad/qemu into staging Testing, docs, semihosting and plugin updates - update playbooks for custom runners - add section timing support to gitlab - upgrade fedora images to 37 - purge perl from the build system and deps - disable unstable tests in CI - improve intro, emulation and semihosting docs - semihosting bug fix and O_BINARY default - add memory-sve test - fix some races in qht - improve plugin handling of memory helpers - optimise plugin hooks - fix some plugin deadlocks - reduce win64-cross build time by dropping some targets # -----BEGIN PGP SIGNATURE----- # # iQEzBAABCgAdFiEEZoWumedRZ7yvyN81+9DbCVqeKkQFAmPb3fgACgkQ+9DbCVqe # KkQbXAf9Eoc+PdNvafbqzH/blPjvd9ve8pJ+GcPDukNXwxP8OF/jFEJUQ1E7l9O7 # y0qV4akKCdIqVice4R5bK2CAq44Y3aut8SDf56C8E3Riha2zA2RbQWOv/zCvA3OP # LFF+OaXZyg4JTR48HUKzh9ei2bd1+ccBSUe+xlRi59XaV5K8+5bmcZj10QKUR0lD # 0HC5auEWWpayvd5D7Da15C7+oVY3LMCFxSdpHwbuIPPan/TRo5yqMI6ChYDKB8QD # gdwMCL8znj2ADCTBftyBDYDAtjKVyLQidf7KdQHiSF+nmXYopS6SbsPCOMtJqCMH # tXcKAIxs/MEntPrWTKTdtdnzotJVKw== # =AtfN # -----END PGP SIGNATURE----- # gpg: Signature made Thu 02 Feb 2023 15:59:52 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-jan-omnibus-020223-1' of https://gitlab.com/stsquad/qemu: (36 commits) gitlab: cut even more from cross-win64-system build plugins: Iterate on cb_lists in qemu_plugin_user_exit cpu-exec: assert that plugin_mem_cbs is NULL after execution tcg: exclude non-memory effecting helpers from instrumentation translator: always pair plugin_gen_insn_{start, end} calls plugins: fix optimization in plugin_gen_disable_mem_helpers plugins: make qemu_plugin_user_exit's locking order consistent with fork_start's util/qht: use striped locks under TSAN thread: de-const qemu_spin_destroy util/qht: add missing atomic_set(hashes[i]) cpu: free cpu->tb_jmp_cache with RCU tests/tcg: add memory-sve test for aarch64 semihosting: add O_BINARY flag in host_open for NT compatibility semihosting: Write back semihosting data before completion callback docs: add an introduction to the system docs semihosting: add semihosting section to the docs docs: add a new section to outline emulation support docs: add hotlinks to about preface text MAINTAINERS: Fix the entry for tests/tcg/nios2 gitlab: wrap up test results for custom runners ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
f991d61d35
75 changed files with 756 additions and 275 deletions
|
@ -59,6 +59,8 @@ get_plugin_meminfo_rw(qemu_plugin_meminfo_t i)
|
|||
#ifdef CONFIG_PLUGIN
|
||||
extern QemuOptsList qemu_plugin_opts;
|
||||
|
||||
#define QEMU_PLUGIN_ASSERT(cond) g_assert(cond)
|
||||
|
||||
static inline void qemu_plugin_add_opts(void)
|
||||
{
|
||||
qemu_add_opts(&qemu_plugin_opts);
|
||||
|
@ -118,7 +120,10 @@ struct qemu_plugin_insn {
|
|||
void *haddr;
|
||||
GArray *cbs[PLUGIN_N_CB_TYPES][PLUGIN_N_CB_SUBTYPES];
|
||||
bool calls_helpers;
|
||||
|
||||
/* if set, the instruction calls helpers that might access guest memory */
|
||||
bool mem_helper;
|
||||
|
||||
bool mem_only;
|
||||
};
|
||||
|
||||
|
@ -158,6 +163,10 @@ struct qemu_plugin_tb {
|
|||
void *haddr1;
|
||||
void *haddr2;
|
||||
bool mem_only;
|
||||
|
||||
/* if set, the TB calls helpers that might access guest memory */
|
||||
bool mem_helper;
|
||||
|
||||
GArray *cbs[PLUGIN_N_CB_SUBTYPES];
|
||||
};
|
||||
|
||||
|
@ -243,6 +252,8 @@ void qemu_plugin_user_postfork(bool is_child);
|
|||
|
||||
#else /* !CONFIG_PLUGIN */
|
||||
|
||||
#define QEMU_PLUGIN_ASSERT(cond)
|
||||
|
||||
static inline void qemu_plugin_add_opts(void)
|
||||
{ }
|
||||
|
||||
|
|
|
@ -237,11 +237,10 @@ static inline void qemu_spin_init(QemuSpin *spin)
|
|||
#endif
|
||||
}
|
||||
|
||||
/* const parameter because the only purpose here is the TSAN annotation */
|
||||
static inline void qemu_spin_destroy(const QemuSpin *spin)
|
||||
static inline void qemu_spin_destroy(QemuSpin *spin)
|
||||
{
|
||||
#ifdef CONFIG_TSAN
|
||||
__tsan_mutex_destroy((void *)spin, __tsan_mutex_not_static);
|
||||
__tsan_mutex_destroy(spin, __tsan_mutex_not_static);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
@ -405,6 +405,8 @@ typedef TCGv_ptr TCGv_env;
|
|||
#define TCG_CALL_NO_SIDE_EFFECTS 0x0004
|
||||
/* Helper is G_NORETURN. */
|
||||
#define TCG_CALL_NO_RETURN 0x0008
|
||||
/* Helper is part of Plugins. */
|
||||
#define TCG_CALL_PLUGIN 0x0010
|
||||
|
||||
/* convenience version of most used call flags */
|
||||
#define TCG_CALL_NO_RWG TCG_CALL_NO_READ_GLOBALS
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue