mirror of https://github.com/xemu-project/xemu.git
accel/tcg: Introduce is_same_page()
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. Reviewed-by: Alistair Francis <alistair.francis@wdc.com> 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>
This commit is contained in:
parent
d64655c2c3
commit
f3b2b81b6f
|
@ -187,4 +187,14 @@ FOR_EACH_TRANSLATOR_LD(GEN_TRANSLATOR_LD)
|
||||||
|
|
||||||
#undef 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 */
|
#endif /* EXEC__TRANSLATOR_H */
|
||||||
|
|
Loading…
Reference in New Issue