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?

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.


r~

Reply via email to