[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH for-6.2 17/43] accel/tcg: Report unaligned atomics for user-o
From: |
Peter Maydell |
Subject: |
Re: [PATCH for-6.2 17/43] accel/tcg: Report unaligned atomics for user-only |
Date: |
Thu, 29 Jul 2021 16:02:40 +0100 |
On Thu, 29 Jul 2021 at 02:09, Richard Henderson
<richard.henderson@linaro.org> wrote:
>
> Use the newly exposed do_unaligned_access hook from atomic_mmu_lookup,
> which has access to complete alignment info from the TCGMemOpIdx arg.
>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
> accel/tcg/user-exec.c | 23 ++++++++++++++++++++++-
> 1 file changed, 22 insertions(+), 1 deletion(-)
>
> diff --git a/accel/tcg/user-exec.c b/accel/tcg/user-exec.c
> index 90d1a2d327..dd77e90789 100644
> --- a/accel/tcg/user-exec.c
> +++ b/accel/tcg/user-exec.c
> @@ -852,6 +852,16 @@ int cpu_signal_handler(int host_signum, void *pinfo,
>
> /* The softmmu versions of these helpers are in cputlb.c. */
>
> +static void cpu_unaligned_access(CPUState *cpu, vaddr addr,
> + MMUAccessType access_type,
> + int mmu_idx, uintptr_t ra)
> +{
> + CPUClass *cc = CPU_GET_CLASS(cpu);
> +
> + cc->tcg_ops->do_unaligned_access(cpu, addr, access_type, mmu_idx, ra);
> + g_assert_not_reached();
> +}
The softmmu version doesn't g_assert_not_reached(), I think
perhaps with the intent that a CPU implementation could
in some cases return without raising an exception to
mean "continue with the unaligned access". We should decide
whether we want the API to permit that, or else consistently
have both softmmu and useronly versions be marked noreturn
and with an assert, and we should document whichever we choose.
-- PMM
- [PATCH for-6.2 08/43] target/ppc: Implement do_unaligned_access for user-only, (continued)
- [PATCH for-6.2 08/43] target/ppc: Implement do_unaligned_access for user-only, Richard Henderson, 2021/07/28
- [PATCH for-6.2 10/43] target/s390x: Implement do_unaligned_access for user-only, Richard Henderson, 2021/07/28
- [PATCH for-6.2 16/43] target/xtensa: Implement do_unaligned_access for user-only, Richard Henderson, 2021/07/28
- [PATCH for-6.2 12/43] target/sh4: Implement do_unaligned_access for user-only, Richard Henderson, 2021/07/28
- [PATCH for-6.2 17/43] accel/tcg: Report unaligned atomics for user-only, Richard Henderson, 2021/07/28
- Re: [PATCH for-6.2 17/43] accel/tcg: Report unaligned atomics for user-only,
Peter Maydell <=
- [PATCH for-6.2 18/43] accel/tcg: Drop signness in tracing in cputlb.c, Richard Henderson, 2021/07/28
- [PATCH for-6.2 11/43] target/sh4: Set fault address in superh_cpu_do_unaligned_access, Richard Henderson, 2021/07/28
- [PATCH for-6.2 13/43] target/sparc: Remove DEBUG_UNALIGNED, Richard Henderson, 2021/07/28
- [PATCH for-6.2 14/43] target/sparc: Set fault address in sparc_cpu_do_unaligned_access, Richard Henderson, 2021/07/28
- [PATCH for-6.2 19/43] tcg: Expand MO_SIZE to 3 bits, Richard Henderson, 2021/07/28