qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Andreas Färber" <afaerber@suse.de>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: Peter Crosthwaite <peter.crosthwaite@xilinx.com>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	John Rigby <john.rigby@linaro.org>,
	Alexander Graf <agraf@suse.de>,
	qemu-devel <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [PATCH v2 01/12] ARM: Export cpu_env
Date: Fri, 28 Jun 2013 16:28:45 +0200	[thread overview]
Message-ID: <51CD9D9D.2020207@suse.de> (raw)
In-Reply-To: <CAFEAcA-gb_fsJVbWajDvZJpy83e5SU_iBzd-DW0tHWXRm2Q+PQ@mail.gmail.com>

Am 28.06.2013 16:20, schrieb Peter Maydell:
> On 30 April 2013 13:00, Andreas Färber <afaerber@suse.de> wrote:
>> Am 30.04.2013 13:54, schrieb Alexander Graf:
>>> Am 30.04.2013 um 13:42 schrieb Andreas Färber <afaerber@suse.de>:
>>>
>>>> Am 30.04.2013 08:36, schrieb John Rigby:
>>>>> From: Alexander Graf <agraf@suse.de>
>>>>> diff --git a/target-arm/translate.c b/target-arm/translate.c
>>>>> index 675773a..36537bd 100644
>>>>> --- a/target-arm/translate.c
>>>>> +++ b/target-arm/translate.c
>>>>> @@ -59,7 +59,7 @@ static uint32_t gen_opc_condexec_bits[OPC_BUF_SIZE];
>>>>> #define DISAS_WFI 4
>>>>> #define DISAS_SWI 5
>>>>>
>>>>> -static TCGv_ptr cpu_env;
>>>>> +TCGv_ptr cpu_env;
>>>>> /* We reuse the same 64-bit temporaries for efficiency.  */
>>>>> static TCGv_i64 cpu_V0, cpu_V1, cpu_M0;
>>>>> static TCGv_i32 cpu_R[16];
>>>>> diff --git a/target-arm/translate.h b/target-arm/translate.h
>>>>> index e727bc6..8ba1433 100644
>>>>> --- a/target-arm/translate.h
>>>>> +++ b/target-arm/translate.h
>>>>> @@ -24,4 +24,6 @@ typedef struct DisasContext {
>>>>>     int vec_stride;
>>>>> } DisasContext;
>>>>>
>>>>> +extern TCGv_ptr cpu_env;
>>>>> +
>>>>> #endif /* TARGET_ARM_TRANSLATE_H */
>>>>
>>>> Alex, have you checked whether the variable can be placed in qom/cpu.c
>>>> instead once for all targets? I'd hope that would be possible with an
>>>> appropriate typedef (since target_long size etc. are unknown there).
>>>
>>> I would prefer to keep the translation context separate from the execution context.
>>
>> Not sure if you understood my point? Exposing cpu_env from target-arm
>> would seem to torpedo our efforts to link target-arm and, e.g.,
>> target-microblaze together, since they all have cpu_env. I don't really
>> care if it's qom/cpu.c or tcg/shared.c or renaming to arm_cpu_env. :)
> 
> So we could deal with this by:
>  translate-a64.c has its own 'static TCGv_ptr cpu_env;'
>  translate.c:arm_translate_init() passes cpu_env to
>    a64_translate_init()
>  translate-a64.c:a64_translate_init() stashes the value it
>    gets passed in its own cpu_env static.
> 
> That avoids having it be a non-static global and doesn't require us
> to rename every usage of cpu_env in translate.c either.
> 
> Any objections?

I don't mind that cpu_env change getting committed as interim solution,
so far I did not come up with a better patch - we'd need to split out
host parts from tcg/tcg.h first, for which I did not find time yet.
Just please fix up the subject so that things are consistent.

Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg

  parent reply	other threads:[~2013-06-28 14:28 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-30  6:36 [Qemu-devel] [PATCH v2 01/12] ARM: Export cpu_env John Rigby
2013-04-30 11:42 ` Andreas Färber
2013-04-30 11:54   ` Alexander Graf
2013-04-30 12:00     ` Andreas Färber
2013-04-30 12:33       ` Alexander Graf
2013-05-01  9:29       ` Richard Henderson
2013-06-28 14:20       ` Peter Maydell
2013-06-28 14:25         ` Alexander Graf
2013-06-28 14:28         ` Andreas Färber [this message]
2013-06-28 14:35           ` Peter Maydell
2013-06-28 14:42             ` Andreas Färber

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=51CD9D9D.2020207@suse.de \
    --to=afaerber@suse.de \
    --cc=agraf@suse.de \
    --cc=edgar.iglesias@gmail.com \
    --cc=john.rigby@linaro.org \
    --cc=peter.crosthwaite@xilinx.com \
    --cc=peter.maydell@linaro.org \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).