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
next prev 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 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.