On Wed, Jul 10, 2013 at 06:30:38PM +0200, Andreas Färber wrote: > Some CPUs reset as part of cpu_init(), some others were reset > afterwards, some not at all. While some targets didn't implement a > cpu_[state_]reset() function, QOM cpu_reset() is always available. > There's nothing wrong with resetting twice on startup, so drop > the #ifdef. > > Suggested-by: Peter Maydell <peter.mayd...@linaro.org> > Signed-off-by: Andreas Färber <afaer...@suse.de> > Cc: Eduardo Habkost <ehabk...@redhat.com> > --- > This had been discussed as a possible cleanup for the #ifdef. > I am uncertain whether we should do this since it hides the TODO item > of investigating ppc and sparc CPU reset. > > linux-user/main.c | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/linux-user/main.c b/linux-user/main.c > index 7f15d3d..e904d8c 100644 > --- a/linux-user/main.c > +++ b/linux-user/main.c > @@ -3637,9 +3637,7 @@ int main(int argc, char **argv, char **envp) > fprintf(stderr, "Unable to find CPU definition\n"); > exit(1); > } > -#if defined(TARGET_SPARC) || defined(TARGET_PPC) > cpu_reset(ENV_GET_CPU(env)); > -#endif
Most of the cpu_reset() implementations I have looked at (including sparc) contain something like: memset(env, 0, offsetof(CPUXXXState, breakpoints)); Isn't this clearing userspace registers that are not supposed to be touched by clone()? -- Eduardo