qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 0/4] new Blackfin QEMU port


From: Mike Frysinger
Subject: Re: [Qemu-devel] [PATCH 0/4] new Blackfin QEMU port
Date: Mon, 31 Jan 2011 23:19:47 -0500

On Mon, Jan 31, 2011 at 09:00, Edgar E. Iglesias wrote:
> * Some operations seem to translate to large amounts of tcg code,
>  maybe you should consider using helpers for those. An example
>  is gen_rot_tl.

seems like generated native code is better even if it is larger

> * Maybe you should rename target-bfin/opcode/bfin.h into
>  target-bfin/opcodes.h? or similiar..

i prefer existing usage since it mirrors existing sourceware tree
where this file comes from

> * gen_hwloop_check() seems to be looking at env->lbreg from the
>  translator, is that OK? What happens if env->lbreg changes at
>  runtime?

this is taken care of already

> * cpu_get_tb_cpu_state() doesn't define any tb flags?

no idea what this func is supposed to do

> I think QEMU should aim to be fast and correct. There is no need to
> be cycle accurate but emulation should IMO always aim to produce the
> correct results.

it does produce the correct results with correct insns.  it is
referring to invalid insns.  the hardware itself sometimes produces
undefined behavior with some invalid insns.

> "- transactional parallel instructions
>         - on the hardware, if a load/store causes an exception, the other
>           insns do not change register states either.  in qemu, they do,
>           but since those exceptions will kill the program anyways, who
>           cares.  no intermediate store buffers!"
>
> This might be true for user emulation but I assume you'd want to fix this
> for system emulation (at some point in time). Maybe you should just note
> that it's not supported and leave it at that.

i dont see the point there either.  in order to handle this, the
majority of insns would need to store all their results in
intermediates and then move them to their final destination.

> "        - unaligned memory access exceptions
>                - qemu itself doesn't support this for targets"
>
> There are targets that emulate trapping on unaligned memory accesses, for
> example MicroBlaze and IIRC SPARC.

you mean via gen_helper_memalign ?
-mike



reply via email to

[Prev in Thread] Current Thread [Next in Thread]