On 2012년 07월 07일 16:51, Blue Swirl wrote:
On Fri, Jul 6, 2012 at 11:43 AM, Yeongkyoon Lee
<yeongkyoon....@samsung.com> wrote:
On 2012년 07월 05일 23:06, Peter Maydell wrote:
On 5 July 2012 14:23, Yeongkyoon Lee <yeongkyoon....@samsung.com> wrote:
Add an option "--enable-ldst-optimization" to enable
CONFIG_QEMU_LDST_OPTIMIZATION macro for TCG qemu_ld/st optimization. It only
works with CONFIG_SOFTMMU and doesn't work with CONFIG_TCG_PASS_AREG0.
This shouldn't be a user settable config option -- we should
just identify what the optimal setting is for the guest/target
combination and use it.

It looks better remove the option after it is confirmed that it works well
for all the guest target architectures.


   case "$target_arch2" in
     alpha | sparc* | xtensa* | ppc*)
       echo "CONFIG_TCG_PASS_AREG0=y" >> $config_target_mak
+    # qemu_ld/st optimization is not available with
CONFIG_TCG_PASS_AREG0
+    target_ldst_optimization="no"
PASS_AREG0 is the way of the future -- you need to fix the ldst
optimization to work with it.

There are two reasons to prevent working with PASS_AREG0.
The first one is I'm not sure the history and future PASS_AREG0 and have not
tested PASS_AREG0 which is only enabled for some guest architectures..
The second is a problem of too many conditional paths in sources.
I think it is not late to combine the ldst optimization with PASS_AREG0
after the ldst optimization agreed as default.
It looks like you already support PASS_AREG0, the slow path code just
passes AREG0 as the first call argument.



The code in slow path is currently dead code just for future PASS_AREG0 porting.
It needs some porting for actual working.



Reply via email to