qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Pierrick Bouvier <pierrick.bouvier@linaro.org>
To: Richard Henderson <richard.henderson@linaro.org>, qemu-devel@nongnu.org
Cc: philmd@linaro.org
Subject: Re: [PATCH v2 37/42] include/exec: Split out icount.h
Date: Tue, 18 Mar 2025 17:33:42 -0700	[thread overview]
Message-ID: <d57beca1-4be8-4332-b2d5-9f0368d7c007@linaro.org> (raw)
In-Reply-To: <20250318213209.2579218-38-richard.henderson@linaro.org>

On 3/18/25 14:32, Richard Henderson wrote:
> Split icount stuff from system/cpu-timers.h.
> There are 17 files which only require icount.h, 7 that only
> require cpu-timers.h, and 7 that require both.
> 
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
>   include/exec/icount.h            | 68 ++++++++++++++++++++++++++++++++
>   include/system/cpu-timers.h      | 58 ---------------------------
>   accel/tcg/cpu-exec.c             |  2 +-
>   accel/tcg/icount-common.c        |  2 +-
>   accel/tcg/monitor.c              |  1 +
>   accel/tcg/tcg-accel-ops-icount.c |  2 +-
>   accel/tcg/tcg-accel-ops-mttcg.c  |  2 +-
>   accel/tcg/tcg-accel-ops-rr.c     |  2 +-
>   accel/tcg/tcg-accel-ops.c        |  2 +-
>   accel/tcg/tcg-all.c              |  2 +-
>   accel/tcg/translate-all.c        |  2 +-
>   hw/core/ptimer.c                 |  2 +-
>   replay/replay.c                  |  2 +-
>   stubs/icount.c                   |  2 +-
>   system/cpu-timers.c              |  1 +
>   system/dma-helpers.c             |  2 +-
>   system/vl.c                      |  1 +
>   target/arm/helper.c              |  1 +
>   target/riscv/cpu_helper.c        |  2 +-
>   target/riscv/csr.c               |  2 +-
>   target/riscv/debug.c             |  1 +
>   target/riscv/machine.c           |  2 +-
>   target/riscv/pmu.c               |  2 +-
>   util/async.c                     |  2 +-
>   util/main-loop.c                 |  1 +
>   util/qemu-timer.c                |  1 +
>   26 files changed, 92 insertions(+), 75 deletions(-)
>   create mode 100644 include/exec/icount.h
> 
> diff --git a/include/exec/icount.h b/include/exec/icount.h
> new file mode 100644
> index 0000000000..4964987ae4
> --- /dev/null
> +++ b/include/exec/icount.h
> @@ -0,0 +1,68 @@
> +/*
> + * icount - Instruction Counter API
> + * CPU timers state API
> + *
> + * Copyright 2020 SUSE LLC
> + * SPDX-License-Identifier: GPL-2.0-or-later
> + */
> +
> +#ifndef EXEC_ICOUNT_H
> +#define EXEC_ICOUNT_H
> +
> +/**
> + * ICountMode: icount enablement state:
> + *
> + * @ICOUNT_DISABLED: Disabled - Do not count executed instructions.
> + * @ICOUNT_PRECISE: Enabled - Fixed conversion of insn to ns via "shift" option
> + * @ICOUNT_ADAPTATIVE: Enabled - Runtime adaptive algorithm to compute shift
> + */
> +typedef enum {
> +    ICOUNT_DISABLED = 0,
> +    ICOUNT_PRECISE,
> +    ICOUNT_ADAPTATIVE,
> +} ICountMode;
> +
> +#if defined(CONFIG_TCG) && !defined(CONFIG_USER_ONLY)
> +extern ICountMode use_icount;
> +#define icount_enabled() (use_icount)
> +#else
> +#define icount_enabled() ICOUNT_DISABLED
> +#endif
> +
> +/*
> + * Update the icount with the executed instructions. Called by
> + * cpus-tcg vCPU thread so the main-loop can see time has moved forward.
> + */
> +void icount_update(CPUState *cpu);
> +
> +/* get raw icount value */
> +int64_t icount_get_raw(void);
> +
> +/* return the virtual CPU time in ns, based on the instruction counter. */
> +int64_t icount_get(void);
> +/*
> + * convert an instruction counter value to ns, based on the icount shift.
> + * This shift is set as a fixed value with the icount "shift" option
> + * (precise mode), or it is constantly approximated and corrected at
> + * runtime in adaptive mode.
> + */
> +int64_t icount_to_ns(int64_t icount);
> +
> +/**
> + * icount_configure: configure the icount options, including "shift"
> + * @opts: Options to parse
> + * @errp: pointer to a NULL-initialized error object
> + *
> + * Return: true on success, else false setting @errp with error
> + */
> +bool icount_configure(QemuOpts *opts, Error **errp);
> +
> +/* used by tcg vcpu thread to calc icount budget */
> +int64_t icount_round(int64_t count);
> +
> +/* if the CPUs are idle, start accounting real time to virtual clock. */
> +void icount_start_warp_timer(void);
> +void icount_account_warp_timer(void);
> +void icount_notify_exit(void);
> +
> +#endif /* EXEC_ICOUNT_H */
> diff --git a/include/system/cpu-timers.h b/include/system/cpu-timers.h
> index 64ae54f6d6..a1abed0d7a 100644
> --- a/include/system/cpu-timers.h
> +++ b/include/system/cpu-timers.h
> @@ -15,64 +15,6 @@
>   /* init the whole cpu timers API, including icount, ticks, and cpu_throttle */
>   void cpu_timers_init(void);
>   
> -/* icount - Instruction Counter API */
> -
> -/**
> - * ICountMode: icount enablement state:
> - *
> - * @ICOUNT_DISABLED: Disabled - Do not count executed instructions.
> - * @ICOUNT_PRECISE: Enabled - Fixed conversion of insn to ns via "shift" option
> - * @ICOUNT_ADAPTATIVE: Enabled - Runtime adaptive algorithm to compute shift
> - */
> -typedef enum {
> -    ICOUNT_DISABLED = 0,
> -    ICOUNT_PRECISE,
> -    ICOUNT_ADAPTATIVE,
> -} ICountMode;
> -
> -#if defined(CONFIG_TCG) && !defined(CONFIG_USER_ONLY)
> -extern ICountMode use_icount;
> -#define icount_enabled() (use_icount)
> -#else
> -#define icount_enabled() ICOUNT_DISABLED
> -#endif
> -
> -/*
> - * Update the icount with the executed instructions. Called by
> - * cpus-tcg vCPU thread so the main-loop can see time has moved forward.
> - */
> -void icount_update(CPUState *cpu);
> -
> -/* get raw icount value */
> -int64_t icount_get_raw(void);
> -
> -/* return the virtual CPU time in ns, based on the instruction counter. */
> -int64_t icount_get(void);
> -/*
> - * convert an instruction counter value to ns, based on the icount shift.
> - * This shift is set as a fixed value with the icount "shift" option
> - * (precise mode), or it is constantly approximated and corrected at
> - * runtime in adaptive mode.
> - */
> -int64_t icount_to_ns(int64_t icount);
> -
> -/**
> - * icount_configure: configure the icount options, including "shift"
> - * @opts: Options to parse
> - * @errp: pointer to a NULL-initialized error object
> - *
> - * Return: true on success, else false setting @errp with error
> - */
> -bool icount_configure(QemuOpts *opts, Error **errp);
> -
> -/* used by tcg vcpu thread to calc icount budget */
> -int64_t icount_round(int64_t count);
> -
> -/* if the CPUs are idle, start accounting real time to virtual clock. */
> -void icount_start_warp_timer(void);
> -void icount_account_warp_timer(void);
> -void icount_notify_exit(void);
> -
>   /*
>    * CPU Ticks and Clock
>    */
> diff --git a/accel/tcg/cpu-exec.c b/accel/tcg/cpu-exec.c
> index 372b876604..034c2ded6b 100644
> --- a/accel/tcg/cpu-exec.c
> +++ b/accel/tcg/cpu-exec.c
> @@ -35,7 +35,7 @@
>   #include "exec/log.h"
>   #include "qemu/main-loop.h"
>   #include "exec/cpu-all.h"
> -#include "system/cpu-timers.h"
> +#include "exec/icount.h"
>   #include "exec/replay-core.h"
>   #include "system/tcg.h"
>   #include "exec/helper-proto-common.h"
> diff --git a/accel/tcg/icount-common.c b/accel/tcg/icount-common.c
> index 402d3e3f4e..d6471174a3 100644
> --- a/accel/tcg/icount-common.c
> +++ b/accel/tcg/icount-common.c
> @@ -35,7 +35,7 @@
>   #include "system/replay.h"
>   #include "system/runstate.h"
>   #include "hw/core/cpu.h"
> -#include "system/cpu-timers.h"
> +#include "exec/icount.h"
>   #include "system/cpu-timers-internal.h"
>   
>   /*
> diff --git a/accel/tcg/monitor.c b/accel/tcg/monitor.c
> index eeb38a4d9c..1c182b6bfb 100644
> --- a/accel/tcg/monitor.c
> +++ b/accel/tcg/monitor.c
> @@ -14,6 +14,7 @@
>   #include "qapi/qapi-commands-machine.h"
>   #include "monitor/monitor.h"
>   #include "system/cpu-timers.h"
> +#include "exec/icount.h"
>   #include "system/tcg.h"
>   #include "tcg/tcg.h"
>   #include "internal-common.h"
> diff --git a/accel/tcg/tcg-accel-ops-icount.c b/accel/tcg/tcg-accel-ops-icount.c
> index 27cf1044c7..d0f7b410fa 100644
> --- a/accel/tcg/tcg-accel-ops-icount.c
> +++ b/accel/tcg/tcg-accel-ops-icount.c
> @@ -25,7 +25,7 @@
>   
>   #include "qemu/osdep.h"
>   #include "system/replay.h"
> -#include "system/cpu-timers.h"
> +#include "exec/icount.h"
>   #include "qemu/main-loop.h"
>   #include "qemu/guest-random.h"
>   #include "hw/core/cpu.h"
> diff --git a/accel/tcg/tcg-accel-ops-mttcg.c b/accel/tcg/tcg-accel-ops-mttcg.c
> index bdcc385ae9..dfcee30947 100644
> --- a/accel/tcg/tcg-accel-ops-mttcg.c
> +++ b/accel/tcg/tcg-accel-ops-mttcg.c
> @@ -26,7 +26,7 @@
>   #include "qemu/osdep.h"
>   #include "system/tcg.h"
>   #include "system/replay.h"
> -#include "system/cpu-timers.h"
> +#include "exec/icount.h"
>   #include "qemu/main-loop.h"
>   #include "qemu/notify.h"
>   #include "qemu/guest-random.h"
> diff --git a/accel/tcg/tcg-accel-ops-rr.c b/accel/tcg/tcg-accel-ops-rr.c
> index f62cf24e1d..6eec5c9eee 100644
> --- a/accel/tcg/tcg-accel-ops-rr.c
> +++ b/accel/tcg/tcg-accel-ops-rr.c
> @@ -27,7 +27,7 @@
>   #include "qemu/lockable.h"
>   #include "system/tcg.h"
>   #include "system/replay.h"
> -#include "system/cpu-timers.h"
> +#include "exec/icount.h"
>   #include "qemu/main-loop.h"
>   #include "qemu/notify.h"
>   #include "qemu/guest-random.h"
> diff --git a/accel/tcg/tcg-accel-ops.c b/accel/tcg/tcg-accel-ops.c
> index 5c88056157..ccdb781eef 100644
> --- a/accel/tcg/tcg-accel-ops.c
> +++ b/accel/tcg/tcg-accel-ops.c
> @@ -29,7 +29,7 @@
>   #include "system/accel-ops.h"
>   #include "system/tcg.h"
>   #include "system/replay.h"
> -#include "system/cpu-timers.h"
> +#include "exec/icount.h"
>   #include "qemu/main-loop.h"
>   #include "qemu/guest-random.h"
>   #include "qemu/timer.h"
> diff --git a/accel/tcg/tcg-all.c b/accel/tcg/tcg-all.c
> index c1a30b0121..7a5b810b88 100644
> --- a/accel/tcg/tcg-all.c
> +++ b/accel/tcg/tcg-all.c
> @@ -26,7 +26,7 @@
>   #include "qemu/osdep.h"
>   #include "system/tcg.h"
>   #include "exec/replay-core.h"
> -#include "system/cpu-timers.h"
> +#include "exec/icount.h"
>   #include "tcg/startup.h"
>   #include "qapi/error.h"
>   #include "qemu/error-report.h"
> diff --git a/accel/tcg/translate-all.c b/accel/tcg/translate-all.c
> index 167535bcb1..bb161ae61a 100644
> --- a/accel/tcg/translate-all.c
> +++ b/accel/tcg/translate-all.c
> @@ -55,7 +55,7 @@
>   #include "qemu/cacheinfo.h"
>   #include "qemu/timer.h"
>   #include "exec/log.h"
> -#include "system/cpu-timers.h"
> +#include "exec/icount.h"
>   #include "system/tcg.h"
>   #include "qapi/error.h"
>   #include "accel/tcg/cpu-ops.h"
> diff --git a/hw/core/ptimer.c b/hw/core/ptimer.c
> index 7f63d17ca1..0aeb10fb53 100644
> --- a/hw/core/ptimer.c
> +++ b/hw/core/ptimer.c
> @@ -11,7 +11,7 @@
>   #include "migration/vmstate.h"
>   #include "qemu/host-utils.h"
>   #include "exec/replay-core.h"
> -#include "system/cpu-timers.h"
> +#include "exec/icount.h"
>   #include "system/qtest.h"
>   #include "block/aio.h"
>   #include "hw/clock.h"
> diff --git a/replay/replay.c b/replay/replay.c
> index 3adc387b3d..a3e24c967a 100644
> --- a/replay/replay.c
> +++ b/replay/replay.c
> @@ -11,7 +11,7 @@
>   
>   #include "qemu/osdep.h"
>   #include "qapi/error.h"
> -#include "system/cpu-timers.h"
> +#include "exec/icount.h"
>   #include "system/replay.h"
>   #include "system/runstate.h"
>   #include "replay-internal.h"
> diff --git a/stubs/icount.c b/stubs/icount.c
> index edbf60cbfa..ceb73b4fc2 100644
> --- a/stubs/icount.c
> +++ b/stubs/icount.c
> @@ -1,6 +1,6 @@
>   #include "qemu/osdep.h"
>   #include "qapi/error.h"
> -#include "system/cpu-timers.h"
> +#include "exec/icount.h"
>   
>   /* icount - Instruction Counter API */
>   
> diff --git a/system/cpu-timers.c b/system/cpu-timers.c
> index 23dd82b465..cb35fa62b8 100644
> --- a/system/cpu-timers.c
> +++ b/system/cpu-timers.c
> @@ -36,6 +36,7 @@
>   #include "hw/core/cpu.h"
>   #include "system/cpu-timers.h"
>   #include "system/cpu-timers-internal.h"
> +#include "exec/icount.h"
>   
>   /* clock and ticks */
>   
> diff --git a/system/dma-helpers.c b/system/dma-helpers.c
> index 6bad75876f..0d592f6468 100644
> --- a/system/dma-helpers.c
> +++ b/system/dma-helpers.c
> @@ -13,7 +13,7 @@
>   #include "trace.h"
>   #include "qemu/thread.h"
>   #include "qemu/main-loop.h"
> -#include "system/cpu-timers.h"
> +#include "exec/icount.h"
>   #include "qemu/range.h"
>   
>   /* #define DEBUG_IOMMU */
> diff --git a/system/vl.c b/system/vl.c
> index ec93988a03..c17945c493 100644
> --- a/system/vl.c
> +++ b/system/vl.c
> @@ -89,6 +89,7 @@
>   #include "audio/audio.h"
>   #include "system/cpus.h"
>   #include "system/cpu-timers.h"
> +#include "exec/icount.h"
>   #include "migration/colo.h"
>   #include "migration/postcopy-ram.h"
>   #include "system/kvm.h"
> diff --git a/target/arm/helper.c b/target/arm/helper.c
> index 0454b06a6c..becbbbd0d8 100644
> --- a/target/arm/helper.c
> +++ b/target/arm/helper.c
> @@ -24,6 +24,7 @@
>   #include "exec/translation-block.h"
>   #include "hw/irq.h"
>   #include "system/cpu-timers.h"
> +#include "exec/icount.h"
>   #include "system/kvm.h"
>   #include "system/tcg.h"
>   #include "qapi/error.h"
> diff --git a/target/riscv/cpu_helper.c b/target/riscv/cpu_helper.c
> index 6c4391d96b..0dd8645994 100644
> --- a/target/riscv/cpu_helper.c
> +++ b/target/riscv/cpu_helper.c
> @@ -31,7 +31,7 @@
>   #include "accel/tcg/cpu-ops.h"
>   #include "trace.h"
>   #include "semihosting/common-semi.h"
> -#include "system/cpu-timers.h"
> +#include "exec/icount.h"
>   #include "cpu_bits.h"
>   #include "debug.h"
>   #include "pmp.h"
> diff --git a/target/riscv/csr.c b/target/riscv/csr.c
> index 49566d3c08..be4aebb9b2 100644
> --- a/target/riscv/csr.c
> +++ b/target/riscv/csr.c
> @@ -27,7 +27,7 @@
>   #include "exec/exec-all.h"
>   #include "exec/cputlb.h"
>   #include "exec/tb-flush.h"
> -#include "system/cpu-timers.h"
> +#include "exec/icount.h"
>   #include "qemu/guest-random.h"
>   #include "qapi/error.h"
>   #include <stdbool.h>
> diff --git a/target/riscv/debug.c b/target/riscv/debug.c
> index fea989afe9..7fc9e121e1 100644
> --- a/target/riscv/debug.c
> +++ b/target/riscv/debug.c
> @@ -32,6 +32,7 @@
>   #include "exec/helper-proto.h"
>   #include "exec/watchpoint.h"
>   #include "system/cpu-timers.h"
> +#include "exec/icount.h"
>   
>   /*
>    * The following M-mode trigger CSRs are implemented:
> diff --git a/target/riscv/machine.c b/target/riscv/machine.c
> index 889e2b6570..a1f70cc955 100644
> --- a/target/riscv/machine.c
> +++ b/target/riscv/machine.c
> @@ -21,7 +21,7 @@
>   #include "qemu/error-report.h"
>   #include "system/kvm.h"
>   #include "migration/cpu.h"
> -#include "system/cpu-timers.h"
> +#include "exec/icount.h"
>   #include "debug.h"
>   
>   static bool pmp_needed(void *opaque)
> diff --git a/target/riscv/pmu.c b/target/riscv/pmu.c
> index 0408f96e6a..a68809eef3 100644
> --- a/target/riscv/pmu.c
> +++ b/target/riscv/pmu.c
> @@ -22,7 +22,7 @@
>   #include "qemu/timer.h"
>   #include "cpu.h"
>   #include "pmu.h"
> -#include "system/cpu-timers.h"
> +#include "exec/icount.h"
>   #include "system/device_tree.h"
>   
>   #define RISCV_TIMEBASE_FREQ 1000000000 /* 1Ghz */
> diff --git a/util/async.c b/util/async.c
> index 863416dee9..2719c629ae 100644
> --- a/util/async.c
> +++ b/util/async.c
> @@ -35,7 +35,7 @@
>   #include "block/raw-aio.h"
>   #include "qemu/coroutine_int.h"
>   #include "qemu/coroutine-tls.h"
> -#include "system/cpu-timers.h"
> +#include "exec/icount.h"
>   #include "trace.h"
>   
>   /***********************************************************/
> diff --git a/util/main-loop.c b/util/main-loop.c
> index acad8c2e6c..42bd75c193 100644
> --- a/util/main-loop.c
> +++ b/util/main-loop.c
> @@ -27,6 +27,7 @@
>   #include "qemu/cutils.h"
>   #include "qemu/timer.h"
>   #include "system/cpu-timers.h"
> +#include "exec/icount.h"
>   #include "system/replay.h"
>   #include "qemu/main-loop.h"
>   #include "block/aio.h"
> diff --git a/util/qemu-timer.c b/util/qemu-timer.c
> index 788466fe22..1fb48be281 100644
> --- a/util/qemu-timer.c
> +++ b/util/qemu-timer.c
> @@ -27,6 +27,7 @@
>   #include "qemu/timer.h"
>   #include "qemu/lockable.h"
>   #include "system/cpu-timers.h"
> +#include "exec/icount.h"
>   #include "system/replay.h"
>   #include "system/cpus.h"
>   

Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>



  reply	other threads:[~2025-03-19  0:34 UTC|newest]

Thread overview: 90+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-18 21:31 [PATCH v2 00/42] accel/tcg, codebase: Build once patches Richard Henderson
2025-03-18 21:31 ` [PATCH v2 01/42] accel/tcg: Build user-exec-stub.c once Richard Henderson
2025-03-18 21:31 ` [PATCH v2 02/42] accel/tcg: Build plugin-gen.c once Richard Henderson
2025-03-18 21:31 ` [PATCH v2 03/42] accel/tcg: Fix cpu_ld*_code_mmu for user mode Richard Henderson
2025-03-18 23:52   ` Pierrick Bouvier
2025-03-19  1:05     ` Richard Henderson
2025-03-19  1:08       ` Pierrick Bouvier
2025-03-19  1:09   ` Pierrick Bouvier
2025-03-18 21:31 ` [PATCH v2 04/42] include/exec: Use vaddr for *_mmu guest memory access routines Richard Henderson
2025-03-18 21:31 ` [PATCH v2 05/42] include/exec: Split out cpu-ldst-common.h Richard Henderson
2025-03-18 21:31 ` [PATCH v2 06/42] include/exec: Split out cpu-mmu-index.h Richard Henderson
2025-03-19  0:02   ` Pierrick Bouvier
2025-03-19  1:16     ` Richard Henderson
2025-03-19 17:16       ` Pierrick Bouvier
2025-03-20 14:58         ` Richard Henderson
2025-03-20 15:13           ` Pierrick Bouvier
2025-04-02 11:26   ` Philippe Mathieu-Daudé
2025-04-02 18:33     ` Richard Henderson
2025-04-02 20:14       ` Philippe Mathieu-Daudé
2025-03-18 21:31 ` [PATCH v2 07/42] include/exec: Inline *_mmuidx_ra memory operations Richard Henderson
2025-03-18 21:31 ` [PATCH v2 08/42] include/exec: Inline *_data_ra " Richard Henderson
2025-03-18 21:31 ` [PATCH v2 09/42] include/exec: Inline *_data " Richard Henderson
2025-04-01  6:24   ` Philippe Mathieu-Daudé
2025-04-01 17:56     ` Richard Henderson
2025-03-18 21:31 ` [PATCH v2 10/42] include/exec: Inline *_code " Richard Henderson
2025-03-18 21:31 ` [PATCH v2 11/42] accel/tcg: Perform aligned atomic reads in translator_ld Richard Henderson
2025-03-19  0:05   ` Alistair Francis
2025-03-19  0:15   ` Pierrick Bouvier
2025-03-19  1:28     ` Richard Henderson
2025-03-19 17:18       ` Pierrick Bouvier
2025-03-19 17:18   ` Pierrick Bouvier
2025-04-01  6:18   ` Philippe Mathieu-Daudé
2025-03-18 21:31 ` [PATCH v2 12/42] accel/tcg: Use cpu_ld*_code_mmu in translator.c Richard Henderson
2025-03-19  0:23   ` Pierrick Bouvier
2025-03-21  0:48     ` Richard Henderson
2025-03-21 18:03       ` Pierrick Bouvier
2025-03-18 21:31 ` [PATCH v2 13/42] accel/tcg: Implement translator_ld*_end Richard Henderson
2025-03-18 21:31 ` [PATCH v2 14/42] accel/tcg: Remove mmap_lock/unlock from watchpoint.c Richard Henderson
2025-03-18 21:31 ` [PATCH v2 15/42] include/exec: Split out mmap-lock.h Richard Henderson
2025-03-31 22:05   ` Pierrick Bouvier
2025-03-31 22:07     ` Pierrick Bouvier
2025-03-18 21:31 ` [PATCH v2 16/42] include/system: Move exec/memory.h to system/memory.h Richard Henderson
2025-03-18 21:31 ` [PATCH v2 17/42] include/system: Move exec/address-spaces.h to system/address-spaces.h Richard Henderson
2025-03-18 21:31 ` [PATCH v2 18/42] include/system: Move exec/ioport.h to system/ioport.h Richard Henderson
2025-03-18 21:31 ` [PATCH v2 19/42] include/system: Move exec/ram_addr.h to system/ram_addr.h Richard Henderson
2025-03-18 21:31 ` [PATCH v2 20/42] include/system: Move exec/ramblock.h to system/ramblock.h Richard Henderson
2025-03-18 21:31 ` [PATCH v2 21/42] accel/tcg: Remove unnecesary inclusion of memory-internal.h in cputlb.c Richard Henderson
2025-03-18 21:31 ` [PATCH v2 22/42] exec: Restrict memory-internal.h to system/ Richard Henderson
2025-03-18 21:31 ` [PATCH v2 23/42] meson: Introduce top-level libuser_ss and libsystem_ss Richard Henderson
2025-03-18 21:31 ` [PATCH v2 24/42] gdbstub: Move syscalls.c out of common_ss Richard Henderson
2025-03-18 21:31 ` [PATCH v2 25/42] accel/tcg: Use libuser_ss and libsystem_ss Richard Henderson
2025-03-18 21:31 ` [PATCH v2 26/42] semihosting: Move user-only implementation out-of-line Richard Henderson
2025-03-19  0:26   ` Pierrick Bouvier
2025-03-19  7:16   ` Philippe Mathieu-Daudé
2025-03-21  0:50     ` Richard Henderson
2025-03-31 22:01   ` Pierrick Bouvier
2025-03-18 21:31 ` [PATCH v2 27/42] target/mips: Restrict semihosting tests to system mode Richard Henderson
2025-03-19  0:26   ` Pierrick Bouvier
2025-03-18 21:31 ` [PATCH v2 28/42] target/xtensa: " Richard Henderson
2025-03-19  0:27   ` Pierrick Bouvier
2025-03-18 21:31 ` [PATCH v2 29/42] include/exec: Split out watchpoint.h Richard Henderson
2025-03-19  0:30   ` Pierrick Bouvier
2025-03-19  1:33     ` Richard Henderson
2025-03-18 21:31 ` [PATCH v2 30/42] hw/core: Move unconditional files to libsystem_ss, libuser_ss Richard Henderson
2025-03-18 21:31 ` [PATCH v2 31/42] system: Move most files to libsystem_ss Richard Henderson
2025-03-19  0:32   ` Pierrick Bouvier
2025-03-19  7:18   ` Philippe Mathieu-Daudé
2025-03-18 21:31 ` [PATCH v2 32/42] plugins: Move api.c, core.c to libuser_ss, libsystem_ss Richard Henderson
2025-03-19  0:32   ` Pierrick Bouvier
2025-03-18 21:31 ` [PATCH v2 33/42] include/exec: Drop ifndef CONFIG_USER_ONLY from cpu-common.h Richard Henderson
2025-03-18 21:31 ` [PATCH v2 34/42] include/hw/core: Drop ifndef CONFIG_USER_ONLY from cpu.h Richard Henderson
2025-03-18 21:32 ` [PATCH v2 35/42] include/hw/intc: Remove ifndef CONFIG_USER_ONLY from armv7m_nvic.h Richard Henderson
2025-03-19  0:33   ` Pierrick Bouvier
2025-03-18 21:32 ` [PATCH v2 36/42] include/hw/s390x: Remove ifndef CONFIG_USER_ONLY in css.h Richard Henderson
2025-03-18 21:32 ` [PATCH v2 37/42] include/exec: Split out icount.h Richard Henderson
2025-03-19  0:33   ` Pierrick Bouvier [this message]
2025-03-19  7:21     ` Philippe Mathieu-Daudé
2025-03-21  0:56       ` Richard Henderson
2025-03-18 21:32 ` [PATCH v2 38/42] include/exec: Protect icount_enabled from poisoned symbols Richard Henderson
2025-03-19  0:42   ` Pierrick Bouvier
2025-03-19  1:41     ` Richard Henderson
2025-03-18 21:32 ` [PATCH v2 39/42] include/system: Remove ifndef CONFIG_USER_ONLY in qtest.h Richard Henderson
2025-03-19  0:43   ` Pierrick Bouvier
2025-03-19  7:26   ` Philippe Mathieu-Daudé
2025-03-19 17:25     ` Pierrick Bouvier
2025-03-18 21:32 ` [PATCH v2 40/42] include/qemu: Remove ifndef CONFIG_USER_ONLY from accel.h Richard Henderson
2025-03-18 21:32 ` [PATCH v2 41/42] target/riscv: Remove ifndef CONFIG_USER_ONLY from cpu_cfg.h Richard Henderson
2025-03-19  1:41   ` Alistair Francis
2025-03-18 21:32 ` [PATCH v2 42/42] meson: Only allow CONFIG_USER_ONLY from certain source sets Richard Henderson
2025-03-19  0:44   ` Pierrick Bouvier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d57beca1-4be8-4332-b2d5-9f0368d7c007@linaro.org \
    --to=pierrick.bouvier@linaro.org \
    --cc=philmd@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).