[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v6 07/21] accel/tcg: Introduce is_same_page()
From: |
Alistair Francis |
Subject: |
Re: [PATCH v6 07/21] accel/tcg: Introduce is_same_page() |
Date: |
Mon, 22 Aug 2022 09:27:55 +1000 |
On Fri, Aug 19, 2022 at 1:26 PM Richard Henderson
<richard.henderson@linaro.org> wrote:
>
> From: Ilya Leoshkevich <iii@linux.ibm.com>
>
> Introduce a function that checks whether a given address is on the same
> page as where disassembly started. Having it improves readability of
> the following patches.
>
> Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
> Message-Id: <20220811095534.241224-3-iii@linux.ibm.com>
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> [rth: Make the DisasContextBase parameter const.]
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Alistair
> ---
> include/exec/translator.h | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/include/exec/translator.h b/include/exec/translator.h
> index 7db6845535..0d0bf3a31e 100644
> --- a/include/exec/translator.h
> +++ b/include/exec/translator.h
> @@ -187,4 +187,14 @@ FOR_EACH_TRANSLATOR_LD(GEN_TRANSLATOR_LD)
>
> #undef GEN_TRANSLATOR_LD
>
> +/*
> + * Return whether addr is on the same page as where disassembly started.
> + * Translators can use this to enforce the rule that only single-insn
> + * translation blocks are allowed to cross page boundaries.
> + */
> +static inline bool is_same_page(const DisasContextBase *db, target_ulong
> addr)
> +{
> + return ((addr ^ db->pc_first) & TARGET_PAGE_MASK) == 0;
> +}
> +
> #endif /* EXEC__TRANSLATOR_H */
> --
> 2.34.1
>
>
- [PATCH v6 00/21] linux-user: Fix siginfo_t contents when jumping to non-readable pages, Richard Henderson, 2022/08/18
- [PATCH v6 02/21] linux-user/hppa: Allocate page zero as a commpage, Richard Henderson, 2022/08/18
- [PATCH v6 01/21] linux-user/arm: Mark the commpage executable, Richard Henderson, 2022/08/18
- [PATCH v6 03/21] linux-user/x86_64: Allocate vsyscall page as a commpage, Richard Henderson, 2022/08/18
- [PATCH v6 05/21] linux-user: Clear translations and tb_jmp_cache on mprotect(), Richard Henderson, 2022/08/18
- [PATCH v6 04/21] linux-user: Honor PT_GNU_STACK, Richard Henderson, 2022/08/18
- [PATCH v6 06/21] tests/tcg/i386: Move smc_code2 to an executable section, Richard Henderson, 2022/08/18
- [PATCH v6 07/21] accel/tcg: Introduce is_same_page(), Richard Henderson, 2022/08/18
- Re: [PATCH v6 07/21] accel/tcg: Introduce is_same_page(),
Alistair Francis <=
- [PATCH v6 09/21] accel/tcg: Unlock mmap_lock after longjmp, Richard Henderson, 2022/08/18
- [PATCH v6 11/21] accel/tcg: Move qemu_ram_addr_from_host_nofail to physmem.c, Richard Henderson, 2022/08/18
- [PATCH v6 13/21] accel/tcg: Add nofault parameter to get_page_addr_code_hostp, Richard Henderson, 2022/08/18
- [PATCH v6 15/21] accel/tcg: Remove translator_ldsw, Richard Henderson, 2022/08/18
- [PATCH v6 12/21] accel/tcg: Use probe_access_internal for softmmu get_page_addr_code_hostp, Richard Henderson, 2022/08/18
- [PATCH v6 10/21] accel/tcg: Make tb_htable_lookup static, Richard Henderson, 2022/08/18