Re: [Qemu-devel] [PATCH 2/4] tcg/aarch64: implement new TCG target for aarch64

2013-05-28 Thread Richard Henderson
On 05/28/2013 12:17 AM, Claudio Fontana wrote: >> > if (type == TCG_TYPE_I32) { >> > value = (uint32_t)value; >> > ext = 0; >> > } else if (value <= 0x) { >> > ext = 0; >> > } else { >> > ext = 0x8000; >> > } > The check for type is probab

Re: [Qemu-devel] [PATCH 2/4] tcg/aarch64: implement new TCG target for aarch64

2013-05-28 Thread Claudio Fontana
Hi Laurent, On 28.05.2013 15:14, Laurent Desnogues wrote: > Hi Claudio, > > here are some minor tweaks and comments. > > You work is very interesting and will form a good basis for further > improvements. Thanks! Thanks, I applied your limit check fixes. You are right about the unused function.

Re: [Qemu-devel] [PATCH 2/4] tcg/aarch64: implement new TCG target for aarch64

2013-05-28 Thread Laurent Desnogues
Hi Claudio, here are some minor tweaks and comments. You work is very interesting and will form a good basis for further improvements. Thanks! > diff --git a/tcg/aarch64/tcg-target.c b/tcg/aarch64/tcg-target.c > new file mode 100644 > index 000..da859c7 > --- /dev/null > +++ b/tcg/aarch64/tc

Re: [Qemu-devel] [PATCH 2/4] tcg/aarch64: implement new TCG target for aarch64

2013-05-28 Thread Claudio Fontana
On 27.05.2013 20:47, Richard Henderson wrote: > On 2013-05-27 04:43, Claudio Fontana wrote: >>> Hmm, true. Although I'd been thinking more along the lines of >>> arranging the code such that we'd use movz to set the zero. >> >> I think we need to keep treating zero specially if we want to keep the

Re: [Qemu-devel] [PATCH 2/4] tcg/aarch64: implement new TCG target for aarch64

2013-05-27 Thread Richard Henderson
On 2013-05-27 04:43, Claudio Fontana wrote: Hmm, true. Although I'd been thinking more along the lines of arranging the code such that we'd use movz to set the zero. I think we need to keep treating zero specially if we want to keep the optimization where we don't emit needless MOVK instructi

Re: [Qemu-devel] [PATCH 2/4] tcg/aarch64: implement new TCG target for aarch64

2013-05-27 Thread Richard Henderson
On 2013-05-27 02:10, Claudio Fontana wrote: +case INDEX_op_mov_i64: ext = 1; Please don't put code on the same line as a case statement. Also fall-through cases should have an explicit /* fall through */ comment (except in the case where there is no code at all between one case statement an

Re: [Qemu-devel] [PATCH 2/4] tcg/aarch64: implement new TCG target for aarch64

2013-05-27 Thread Claudio Fontana
On 24.05.2013 19:02, Richard Henderson wrote: > On 05/24/2013 01:53 AM, Claudio Fontana wrote: >>> No real need to special case zero; it's just an extra test slowing down the >>> compiler. >> >> Yes, we need to handle the special case zero. >> Otherwise no instruction at all would be emitted for va

Re: [Qemu-devel] [PATCH 2/4] tcg/aarch64: implement new TCG target for aarch64

2013-05-27 Thread Peter Maydell
On 27 May 2013 10:10, Claudio Fontana wrote: > Would it be acceptable to put a comment at the beginning of the function > describing ext use, to avoiding a series of /* fall through */ comments? The 'fall through' comments are for the benefit of automatic checking and linting tools, not just huma

Re: [Qemu-devel] [PATCH 2/4] tcg/aarch64: implement new TCG target for aarch64

2013-05-27 Thread Laurent Desnogues
On Mon, May 27, 2013 at 12:13 PM, Claudio Fontana wrote: > Hello, > > On 27.05.2013 11:47, Laurent Desnogues wrote: >> Hi, >> >> basically pointing out what I pointed for v1. >> >> On Thu, May 23, 2013 at 10:18 AM, Claudio Fontana >> wrote: >>> >>> add preliminary support for TCG target aarch64.

Re: [Qemu-devel] [PATCH 2/4] tcg/aarch64: implement new TCG target for aarch64

2013-05-27 Thread Claudio Fontana
Hello, On 27.05.2013 11:47, Laurent Desnogues wrote: > Hi, > > basically pointing out what I pointed for v1. > > On Thu, May 23, 2013 at 10:18 AM, Claudio Fontana > wrote: >> >> add preliminary support for TCG target aarch64. >> >> Signed-off-by: Claudio Fontana >> --- >> include/exec/exec-al

Re: [Qemu-devel] [PATCH 2/4] tcg/aarch64: implement new TCG target for aarch64

2013-05-27 Thread Laurent Desnogues
Hi, basically pointing out what I pointed for v1. On Thu, May 23, 2013 at 10:18 AM, Claudio Fontana wrote: > > add preliminary support for TCG target aarch64. > > Signed-off-by: Claudio Fontana > --- > include/exec/exec-all.h |5 +- > tcg/aarch64/tcg-target.c | 1185 > +++

Re: [Qemu-devel] [PATCH 2/4] tcg/aarch64: implement new TCG target for aarch64

2013-05-27 Thread Claudio Fontana
(removing Paolo from CC as agreed with him) On 24.05.2013 10:51, Claudio Fontana wrote: > On 23.05.2013 18:39, Peter Maydell wrote: >> On 23 May 2013 09:18, Claudio Fontana wrote: >>> >>> add preliminary support for TCG target aarch64. >> >> Richard's handling the technical bits of the review, so

Re: [Qemu-devel] [PATCH 2/4] tcg/aarch64: implement new TCG target for aarch64

2013-05-24 Thread Richard Henderson
On 05/24/2013 10:28 AM, Peter Maydell wrote: > It does what a frame pointer usually does, ie permits the debugger > (and other tools) to unwind the stack. > And is there perchance a reason we've been dropping the frame pointer from new abis, like x86_64? On the side unwind information does the j

Re: [Qemu-devel] [PATCH 2/4] tcg/aarch64: implement new TCG target for aarch64

2013-05-24 Thread Peter Maydell
On 24 May 2013 18:17, Richard Henderson wrote: > On 05/24/2013 10:08 AM, Peter Maydell wrote: >> Where's the waste? The procedure calling standard mandates that we >> set FP up, so it's not like we can use it as a general purpose >> register anywhere. > > Well, the calling standard is another docu

Re: [Qemu-devel] [PATCH 2/4] tcg/aarch64: implement new TCG target for aarch64

2013-05-24 Thread Richard Henderson
On 05/24/2013 10:08 AM, Peter Maydell wrote: > Where's the waste? The procedure calling standard mandates that we > set FP up, so it's not like we can use it as a general purpose > register anywhere. Well, the calling standard is another document that's not available yet, so obviously I don't know

Re: [Qemu-devel] [PATCH 2/4] tcg/aarch64: implement new TCG target for aarch64

2013-05-24 Thread Peter Maydell
On 24 May 2013 18:02, Richard Henderson wrote: > On 05/24/2013 01:53 AM, Claudio Fontana wrote: >> We use FP to point to the callee_saved registers, and to move to/from them >> in the tcg_out_store_pair and tcg_out_load_pair functions. > > I hadn't noticed you'd hard-coded FP into the load/store_p

Re: [Qemu-devel] [PATCH 2/4] tcg/aarch64: implement new TCG target for aarch64

2013-05-24 Thread Richard Henderson
On 05/24/2013 01:53 AM, Claudio Fontana wrote: >> No real need to special case zero; it's just an extra test slowing down the >> compiler. > > Yes, we need to handle the special case zero. > Otherwise no instruction at all would be emitted for value 0. Hmm, true. Although I'd been thinking more

Re: [Qemu-devel] [PATCH 2/4] tcg/aarch64: implement new TCG target for aarch64

2013-05-24 Thread Claudio Fontana
On 23.05.2013 18:29, Richard Henderson wrote: > On 05/23/2013 01:18 AM, Claudio Fontana wrote: >> +static inline void patch_reloc(uint8_t *code_ptr, int type, >> + tcg_target_long value, tcg_target_long >> addend) >> +{ >> +switch (type) { >> +case R_AARCH64_J

Re: [Qemu-devel] [PATCH 2/4] tcg/aarch64: implement new TCG target for aarch64

2013-05-24 Thread Claudio Fontana
On 23.05.2013 18:39, Peter Maydell wrote: > On 23 May 2013 09:18, Claudio Fontana wrote: >> >> add preliminary support for TCG target aarch64. > > Richard's handling the technical bits of the review, so > just some minor style nits here. > > I tested this on the foundation model and was able to

Re: [Qemu-devel] [PATCH 2/4] tcg/aarch64: implement new TCG target for aarch64

2013-05-23 Thread Peter Maydell
On 23 May 2013 09:18, Claudio Fontana wrote: > > add preliminary support for TCG target aarch64. Richard's handling the technical bits of the review, so just some minor style nits here. I tested this on the foundation model and was able to boot a 32-bit-ARM kernel. > +static inline void reloc_p

Re: [Qemu-devel] [PATCH 2/4] tcg/aarch64: implement new TCG target for aarch64

2013-05-23 Thread Richard Henderson
On 05/23/2013 01:18 AM, Claudio Fontana wrote: > +static inline void patch_reloc(uint8_t *code_ptr, int type, > + tcg_target_long value, tcg_target_long addend) > +{ > +switch (type) { > +case R_AARCH64_JUMP26: > +case R_AARCH64_CALL26: > +reloc_pc2

[Qemu-devel] [PATCH 2/4] tcg/aarch64: implement new TCG target for aarch64

2013-05-23 Thread Claudio Fontana
add preliminary support for TCG target aarch64. Signed-off-by: Claudio Fontana --- include/exec/exec-all.h |5 +- tcg/aarch64/tcg-target.c | 1185 ++ tcg/aarch64/tcg-target.h | 99 translate-all.c |2 + 4 files changed, 1290 i