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.