Re: [Qemu-devel] [PATCH 1/2] translator: pass max_insns to tb_start

2018-02-19 Thread Emilio G. Cota
On Mon, Feb 19, 2018 at 11:34:52 -0800, Richard Henderson wrote:
> On 02/19/2018 11:31 AM, Richard Henderson wrote:
> > On 02/15/2018 07:18 PM, Emilio G. Cota wrote:
> >> sh4 will need it.
> >>
> >> Signed-off-by: Emilio G. Cota 
> >> ---
> >>  accel/tcg/translator.c | 2 +-
> >>  include/exec/translator.h  | 3 ++-
> >>  target/alpha/translate.c   | 3 ++-
> >>  target/arm/translate-a64.c | 4 +++-
> >>  target/arm/translate.c | 4 +++-
> >>  target/hppa/translate.c| 4 +++-
> >>  target/i386/translate.c| 3 ++-
> >>  7 files changed, 16 insertions(+), 7 deletions(-)
> > 
> > There is another possibility, which is to move max_insns into 
> > DisasContextBase
> > where it can be modified.  This would allow the gusa sequence to be handled
> > differently as an instance of the translate_insn hook, which would allow a
> > breakpoint to be placed on the first insn of a gusa sequence.
> > 
> > I guess I don't have strong feelings either way.
> 
> Thinking some more, I *do* prefer max_insns in DisasContextBase.
> 
> For ARM SVE, implementing MOVPRFX, I would like to be able to tell if we 
> intend
> to break the TB between MOVPRFX and the instruction being prefixed.  I can't 
> do
> that if the data is private to translator.c.

Will move to DisasContextBase. Will also remove its passing to
insn_disas_context, since base.max_insns will be accessible.

Thanks,

E.



Re: [Qemu-devel] [PATCH 1/2] translator: pass max_insns to tb_start

2018-02-19 Thread Richard Henderson
On 02/19/2018 11:31 AM, Richard Henderson wrote:
> On 02/15/2018 07:18 PM, Emilio G. Cota wrote:
>> sh4 will need it.
>>
>> Signed-off-by: Emilio G. Cota 
>> ---
>>  accel/tcg/translator.c | 2 +-
>>  include/exec/translator.h  | 3 ++-
>>  target/alpha/translate.c   | 3 ++-
>>  target/arm/translate-a64.c | 4 +++-
>>  target/arm/translate.c | 4 +++-
>>  target/hppa/translate.c| 4 +++-
>>  target/i386/translate.c| 3 ++-
>>  7 files changed, 16 insertions(+), 7 deletions(-)
> 
> There is another possibility, which is to move max_insns into DisasContextBase
> where it can be modified.  This would allow the gusa sequence to be handled
> differently as an instance of the translate_insn hook, which would allow a
> breakpoint to be placed on the first insn of a gusa sequence.
> 
> I guess I don't have strong feelings either way.

Thinking some more, I *do* prefer max_insns in DisasContextBase.

For ARM SVE, implementing MOVPRFX, I would like to be able to tell if we intend
to break the TB between MOVPRFX and the instruction being prefixed.  I can't do
that if the data is private to translator.c.


r~




Re: [Qemu-devel] [PATCH 1/2] translator: pass max_insns to tb_start

2018-02-19 Thread Richard Henderson
On 02/15/2018 07:18 PM, Emilio G. Cota wrote:
> sh4 will need it.
> 
> Signed-off-by: Emilio G. Cota 
> ---
>  accel/tcg/translator.c | 2 +-
>  include/exec/translator.h  | 3 ++-
>  target/alpha/translate.c   | 3 ++-
>  target/arm/translate-a64.c | 4 +++-
>  target/arm/translate.c | 4 +++-
>  target/hppa/translate.c| 4 +++-
>  target/i386/translate.c| 3 ++-
>  7 files changed, 16 insertions(+), 7 deletions(-)

There is another possibility, which is to move max_insns into DisasContextBase
where it can be modified.  This would allow the gusa sequence to be handled
differently as an instance of the translate_insn hook, which would allow a
breakpoint to be placed on the first insn of a gusa sequence.

I guess I don't have strong feelings either way.

Reviewed-by: Richard Henderson 


r~