Richard Henderson writes: > On 06/28/2017 06:53 AM, Lluís Vilanova wrote: >> Incrementally paves the way towards using the generic instruction translation >> loop. >> >> Signed-off-by: Lluís Vilanova <vilan...@ac.upc.edu> >> --- >> target/arm/translate-a64.c | 74 >> +++++++++++++++++++++++++++----------------- >> 1 file changed, 46 insertions(+), 28 deletions(-) >> >> diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c >> index 9c870f6d07..586a01a2de 100644 >> --- a/target/arm/translate-a64.c >> +++ b/target/arm/translate-a64.c >> @@ -11244,6 +11244,9 @@ static void >> aarch64_trblock_init_disas_context(DisasContextBase *dcbase, dc-> is_ldex = false; dc-> ss_same_el = (arm_debug_target_el(env) == dc->current_el); >> + dc->next_page_start = >> + (dc->base.pc_first & TARGET_PAGE_MASK) + TARGET_PAGE_SIZE;
> I think a better solution for a fixed-length ISA is to adjust max_insns. > Perhaps > the init_disas_context hook should be able to modify it? ARM has the thumb instructions, so it really isn't a fixed-length ISA. > And, while I'm thinking of it -- why is the init_globals hook separate? > There's > nothing in between the two hook calls, and the more modern target front ends > won't need it. You mean merging init_disas_context and init_globals? I wanted to keep semantically different code on separate hooks, but I can pull the init_globals code into init_disas_context (hoping that as targets get modernized, they won't initialize any global there). Thanks, Lluis