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
|
||||
|
||||
/*
|
||||
* 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 */
|
||||
|
Loading…
Reference in New Issue
Block a user