qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Adding a parameter to a helper


From: Laurent Desnogues
Subject: Re: [Qemu-devel] Adding a parameter to a helper
Date: Tue, 31 Jul 2012 15:19:13 +0200

On Mon, Jul 30, 2012 at 6:40 PM, Jose Cano Reyes <address@hidden> wrote:
> I am trying to add a new integer parameter to an existing helper and call
> this helper in "targeti386/translate.c". I have several problems:
>
> 1) I cannot add an integer parameter to the helper, the compiler says that
> it must be "TCGv_i32", despite I declare this new parameter as "int" in
> "target-i386/helper.h". Why?

Helpers only accept TCGv parameters.

> 2) If I use the the function "tcg_const_i32" in order to convert my integer
> to TCGv_i32 I always obtain the same output value, that is:
>
>         tcg_const_i32(10) = 1074260520
>         tcg_const_i32(22) = 1074260520
>         tcg_const_i32(30) = 1074260520
>         ...

TCGv is an index, not the value it represents.  Think of it
as an id.

tcg_const will allocate a TCGv and then emit a TCG mov
instruction to assign it a value.

> 3) Moreover, wen I pass this value in the helper call "gen_helper_flds_ST0",
> that is:
>
>      gen_helper_flds_ST0(cpu_tmp2_i32, tcg_const_i32(MY_INT_VALUE));
>
>     How can I use MY_INT_VALUE later in the function "tcg_gen_helperN" .
> This function is called by DEF_HELPER_FLAGS2, which corresponds to
> DEF_HELPER_2 (definition of my helper).

Look at helper_aam, that should help :-)


Laurent



reply via email to

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