qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [RFC][PATCH v3 1/3] configure: Add CONFIG_QEMU_LDST_OPT


From: Blue Swirl
Subject: Re: [Qemu-devel] [RFC][PATCH v3 1/3] configure: Add CONFIG_QEMU_LDST_OPTIMIZATION for TCG qemu_ld/st optimization
Date: Mon, 23 Jul 2012 16:53:55 +0000

On Tue, Jul 17, 2012 at 2:06 AM, YeongKyoon Lee
<address@hidden> wrote:
> The reason why softmmu condition in configure is that softmmu is thought to 
> be a logical prerequisite of ldst optimization.
> Current patch causes compilation error if removed the condition above.
> To avoid compilation error, it needs more macros in other sources, such as, 
> tcg.c and/or tcg-target.c, because those files are used both by softmmu and 
> by non-softmmu targets.
>
> For example, tcg_out_qemu_ldst_slow_path() call site in tcg.c is wrapped only 
> by CONFIG_QEMU_LDST_OPTIMIZATION, while it calls ldst specific function 
> wrapped by CONFIG_SOFTMMU in tcg/i386/tcg-target.c.
> I'm not sure which one is better, CONFIG_SOFTMMU pre-condition in configure 
> or more those macros in tcg sources.
>
> How do you think about it?

I'd rather remove the configure check and add #ifdeffery to
tcg-target.c. This is how user mode vs. softmmu is handled now wrt.
loads and stores.

>
> ------- Original Message -------
> Sender : Blue Swirl<address@hidden>
> Date : 2012-07-14 22:13 (GMT+09:00)
> Title : Re: [Qemu-devel] [RFC][PATCH v3 1/3] configure: Add 
> CONFIG_QEMU_LDST_OPTIMIZATION for TCG qemu_ld/st optimization
>
> On Sat, Jul 14, 2012 at 10:23 AM, Yeongkyoon Lee
> wrote:
>> Enable CONFIG_QEMU_LDST_OPTIMIZATION for TCG qemu_ld/st optimization only 
>> when
>> a target uses softmmu and a host is i386 or x86_64.
>> ---
>>  configure |    8 ++++++++
>>  1 files changed, 8 insertions(+), 0 deletions(-)
>>
>> diff --git a/configure b/configure
>> index 500fe24..5b39c80 100755
>> --- a/configure
>> +++ b/configure
>> @@ -3700,6 +3700,14 @@ case "$target_arch2" in
>>    ;;
>>  esac
>>
>> +case "$cpu" in
>> +  i386|x86_64)
>> +    if [ "$target_softmmu" = "yes" ] ; then
>
> I suppose this check is not needed, user emulators will not use the
> memory access helpers or TLB.
>
>> +      echo "CONFIG_QEMU_LDST_OPTIMIZATION=y" >> $config_target_mak
>> +    fi
>> +  ;;
>> +esac
>> +
>>  echo "TARGET_SHORT_ALIGNMENT=$target_short_alignment" >> $config_target_mak
>>  echo "TARGET_INT_ALIGNMENT=$target_int_alignment" >> $config_target_mak
>>  echo "TARGET_LONG_ALIGNMENT=$target_long_alignment" >> $config_target_mak
>> --
>> 1.7.4.1
>>



reply via email to

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