[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 2/6] accel/tcg: Restrict tb_flush_jmp_cache() from other acce
From: |
Claudio Fontana |
Subject: |
Re: [PATCH 2/6] accel/tcg: Restrict tb_flush_jmp_cache() from other accelerators |
Date: |
Mon, 18 Jan 2021 10:14:09 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.12.0 |
On 1/17/21 5:48 PM, Philippe Mathieu-Daudé wrote:
> tb_flush_jmp_cache() is only called within TCG accelerator,
> declare it locally.
>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> We could also inline it in cputlb.c, the single user.
That is what I was thinking, I would be more inclined to put it as a static
function there.
Thanks,
Claudio
> ---
> accel/tcg/internal.h | 16 ++++++++++++++++
> include/exec/exec-all.h | 3 ---
> accel/tcg/cputlb.c | 1 +
> accel/tcg/translate-all.c | 1 +
> 4 files changed, 18 insertions(+), 3 deletions(-)
> create mode 100644 accel/tcg/internal.h
>
> diff --git a/accel/tcg/internal.h b/accel/tcg/internal.h
> new file mode 100644
> index 00000000000..4981d98dbfd
> --- /dev/null
> +++ b/accel/tcg/internal.h
> @@ -0,0 +1,16 @@
> +/*
> + * internal execution defines for qemu
> + *
> + * Copyright (c) 2003 Fabrice Bellard
> + *
> + * SPDX-License-Identifier: LGPL-2.1-or-later
> + */
> +
> +#ifndef ACCEL_TCG_INTERNAL_H
> +#define ACCEL_TCG_INTERNAL_H
> +
> +#include "exec/exec-all.h"
> +
> +void tb_flush_jmp_cache(CPUState *cpu, target_ulong addr);
> +
> +#endif
> diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h
> index 516013e735a..1e3e7cf8e78 100644
> --- a/include/exec/exec-all.h
> +++ b/include/exec/exec-all.h
> @@ -663,9 +663,6 @@ tb_page_addr_t get_page_addr_code_hostp(CPUArchState
> *env, target_ulong addr,
> void tlb_reset_dirty(CPUState *cpu, ram_addr_t start1, ram_addr_t length);
> void tlb_set_dirty(CPUState *cpu, target_ulong vaddr);
>
> -/* exec.c */
> -void tb_flush_jmp_cache(CPUState *cpu, target_ulong addr);
> -
> MemoryRegionSection *
> address_space_translate_for_iotlb(CPUState *cpu, int asidx, hwaddr addr,
> hwaddr *xlat, hwaddr *plen,
> diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c
> index ced3dc077ec..b1f0f404aa5 100644
> --- a/accel/tcg/cputlb.c
> +++ b/accel/tcg/cputlb.c
> @@ -36,6 +36,7 @@
> #include "exec/translate-all.h"
> #include "trace/trace-root.h"
> #include "trace/mem.h"
> +#include "internal.h"
> #ifdef CONFIG_PLUGIN
> #include "qemu/plugin-memory.h"
> #endif
> diff --git a/accel/tcg/translate-all.c b/accel/tcg/translate-all.c
> index ca7ef6aa177..6427bf87ae0 100644
> --- a/accel/tcg/translate-all.c
> +++ b/accel/tcg/translate-all.c
> @@ -60,6 +60,7 @@
> #include "sysemu/cpu-timers.h"
> #include "sysemu/tcg.h"
> #include "qapi/error.h"
> +#include "internal.h"
>
> /* #define DEBUG_TB_INVALIDATE */
> /* #define DEBUG_TB_FLUSH */
>
- [PATCH 0/6] accel: Restrict TCG-specific code, Philippe Mathieu-Daudé, 2021/01/17
- [PATCH 1/6] accel/tcg: Make cpu_gen_init() static, Philippe Mathieu-Daudé, 2021/01/17
- [PATCH 2/6] accel/tcg: Restrict tb_flush_jmp_cache() from other accelerators, Philippe Mathieu-Daudé, 2021/01/17
- [PATCH 3/6] accel/tcg: Restrict tb_gen_code() from other accelerators, Philippe Mathieu-Daudé, 2021/01/17
- [PATCH 4/6] accel/tcg: Declare missing cpu_loop_exit*() stubs, Philippe Mathieu-Daudé, 2021/01/17
- Re: [PATCH 4/6] accel/tcg: Declare missing cpu_loop_exit*() stubs, Richard Henderson, 2021/01/21