All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jose Cano Reyes <jcano@ac.upc.edu>
To: Laurent Desnogues <laurent.desnogues@gmail.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] Adding a parameter to a helper
Date: Tue, 31 Jul 2012 17:09:50 +0200	[thread overview]
Message-ID: <5017F53E.2060706@ac.upc.edu> (raw)
In-Reply-To: <CABoDooPJmd82r2nXEjxuyVuPNOkstOYFQPwA5a_MSCw6Hvx3SA@mail.gmail.com>


Many thanks for your response Laurent.


- So, how ca I obtain the value that TCGv_i32 represents?

- I don't understand well how a helper functions. For instance, 
cosidering this call to a helper again:

         gen_helper_flds_ST0(cpu_tmp2_i32, tcg_const_i32(MY_INT_VALUE))

   Can I obtain the parameters "cpu_tmp2_i32" and 
"tcg_const_i32(MY_INT_VALUE)" from the args[0] and args[1] described in 
DEF_HELPER_FLAGS_2???


Jose.



El 31/07/12 15:19, Laurent Desnogues escribió:
> On Mon, Jul 30, 2012 at 6:40 PM, Jose Cano Reyes <jcano@ac.upc.edu> 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	other threads:[~2012-07-31 15:10 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-30 16:40 [Qemu-devel] Adding a parameter to a helper Jose Cano Reyes
2012-07-31 13:19 ` Laurent Desnogues
2012-07-31 15:09   ` Jose Cano Reyes [this message]
2012-07-31 15:14     ` Laurent Desnogues
2012-07-31 17:14       ` Jose Cano Reyes

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5017F53E.2060706@ac.upc.edu \
    --to=jcano@ac.upc.edu \
    --cc=laurent.desnogues@gmail.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.