Message ID | 1349729149-6481-1-git-send-email-mdroth@linux.vnet.ibm.com |
---|---|
State | New |
Headers | show |
Am 08.10.2012 22:45, schrieb Michael Roth: > commit c28ae41 introduced GETPC() usage for sparc, which is currently > not defined when building with --enable-tcg-interpreter. Add sparc to > the list of targets we selectively define GETPC() for. > > Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com> > --- > exec-all.h | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/exec-all.h b/exec-all.h > index 6516da0..f7f649e 100644 > --- a/exec-all.h > +++ b/exec-all.h > @@ -296,7 +296,8 @@ extern int tb_invalidated_flag; > #if defined(CONFIG_TCG_INTERPRETER) > /* Alpha and SH4 user mode emulations and Softmmu call GETPC(). > For all others, GETPC remains undefined (which makes TCI a little faster. */ > -# if defined(CONFIG_SOFTMMU) || defined(TARGET_ALPHA) || defined(TARGET_SH4) > +# if defined(CONFIG_SOFTMMU) || defined(TARGET_ALPHA) || defined(TARGET_SH4) \ > + || defined(TARGET_SPARC) > extern uintptr_t tci_tb_ptr; > # define GETPC() tci_tb_ptr > # endif Reviewed-by: Stefan Weil <sw@weilnetz.de> Maybe whoever commits that patch can fix the comment, too. I don't think we need a 2nd patch for that. Regards Stefan W.
On 10/08/2012 01:45 PM, Michael Roth wrote: > /* Alpha and SH4 user mode emulations and Softmmu call GETPC(). > For all others, GETPC remains undefined (which makes TCI a little faster. */ > -# if defined(CONFIG_SOFTMMU) || defined(TARGET_ALPHA) || defined(TARGET_SH4) > +# if defined(CONFIG_SOFTMMU) || defined(TARGET_ALPHA) || defined(TARGET_SH4) \ > + || defined(TARGET_SPARC) > extern uintptr_t tci_tb_ptr; > # define GETPC() tci_tb_ptr Why is this conditional? All targets probably ought to be using it when raising runtime exceptions -- particularly fp exceptions. r~
Am 09.10.2012 00:19, schrieb Richard Henderson: > On 10/08/2012 01:45 PM, Michael Roth wrote: >> /* Alpha and SH4 user mode emulations and Softmmu call GETPC(). >> For all others, GETPC remains undefined (which makes TCI a little faster. */ >> -# if defined(CONFIG_SOFTMMU) || defined(TARGET_ALPHA) || defined(TARGET_SH4) >> +# if defined(CONFIG_SOFTMMU) || defined(TARGET_ALPHA) || defined(TARGET_SH4) \ >> + || defined(TARGET_SPARC) >> extern uintptr_t tci_tb_ptr; >> # define GETPC() tci_tb_ptr > Why is this conditional? All targets probably ought to be using it > when raising runtime exceptions -- particularly fp exceptions. > > > r~ > See the comment: "which makes TCI a little faster". When GETPC is undefined, tci.c saves an assignment to a global variable per interpreted TCG code which is a significant reduction. Maybe there are better solutions, of course. Regards Stefan
On Mon, Oct 08, 2012 at 03:45:49PM -0500, Michael Roth wrote: > commit c28ae41 introduced GETPC() usage for sparc, which is currently > not defined when building with --enable-tcg-interpreter. Add sparc to > the list of targets we selectively define GETPC() for. > > Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com> > --- > exec-all.h | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/exec-all.h b/exec-all.h > index 6516da0..f7f649e 100644 > --- a/exec-all.h > +++ b/exec-all.h > @@ -296,7 +296,8 @@ extern int tb_invalidated_flag; > #if defined(CONFIG_TCG_INTERPRETER) > /* Alpha and SH4 user mode emulations and Softmmu call GETPC(). > For all others, GETPC remains undefined (which makes TCI a little faster. */ > -# if defined(CONFIG_SOFTMMU) || defined(TARGET_ALPHA) || defined(TARGET_SH4) > +# if defined(CONFIG_SOFTMMU) || defined(TARGET_ALPHA) || defined(TARGET_SH4) \ > + || defined(TARGET_SPARC) > extern uintptr_t tci_tb_ptr; > # define GETPC() tci_tb_ptr > # endif > -- > 1.7.9.5 > Thanks, applied.
diff --git a/exec-all.h b/exec-all.h index 6516da0..f7f649e 100644 --- a/exec-all.h +++ b/exec-all.h @@ -296,7 +296,8 @@ extern int tb_invalidated_flag; #if defined(CONFIG_TCG_INTERPRETER) /* Alpha and SH4 user mode emulations and Softmmu call GETPC(). For all others, GETPC remains undefined (which makes TCI a little faster. */ -# if defined(CONFIG_SOFTMMU) || defined(TARGET_ALPHA) || defined(TARGET_SH4) +# if defined(CONFIG_SOFTMMU) || defined(TARGET_ALPHA) || defined(TARGET_SH4) \ + || defined(TARGET_SPARC) extern uintptr_t tci_tb_ptr; # define GETPC() tci_tb_ptr # endif
commit c28ae41 introduced GETPC() usage for sparc, which is currently not defined when building with --enable-tcg-interpreter. Add sparc to the list of targets we selectively define GETPC() for. Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com> --- exec-all.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)