qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [RFC] TCI for ARM and other hosts with aligned args (was: R


From: Stefan Weil
Subject: [Qemu-devel] [RFC] TCI for ARM and other hosts with aligned args (was: Re: [RFC] TCG unit testing)
Date: Tue, 10 Sep 2013 23:34:55 +0200
User-agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130803 Thunderbird/17.0.8

Am 23.08.2013 23:18, schrieb Richard Henderson:
> I don't see how TCI really comes into this except as Yet Another Backend to be
> tested.  Indeed, such unit testing could show that TCI is in fact broken wrt
> helpers, depending on the host abi.
>
> E.g. tci never defines TCG_TARGET_CALL_ALIGN_ARGS.  Thus if one uses tci on an
> ARM host, a helper like
>
> DEF_HELPER_FLAGS_2(store_fpcr, TCG_CALL_NO_RWG, void, env, i64)
>
> will have its arguments loaded into TCI's R0, R1, R2, and thence into the ARM
> r0, r1, r2.  But the ARM abi requires the i64 input to be aligned, and thus it
> should be r0, r2, r3.
>
>
> r~

For native compilations, TCG_TARGET_CALL_ALIGN_ARGS can be set from
configure.
Cross compilations cannot set that macro automatically (or is there some
way to
do this?), so a configure option is needed if the cross target is unknown.

Should we use this mechanism for all hosts (and move the definitions in
tcg-target.h
to a conditional definition in tcg.h), or should we use it only for TCI?

TCI on ARM works for most architectures when I set
TCG_TARGET_CALL_ALIGN_ARGS.
It only fails for qemu-alpha. The alpha disassembler does not work on 32
bit hosts,
therefore debugging is difficult.

Regards,
Stefan




reply via email to

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