qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] powerpc hang


From: Jon Nall
Subject: Re: [Qemu-devel] powerpc hang
Date: Fri, 8 Aug 2003 08:13:35 -0500
User-agent: Mutt/1.5.4i

On Thu, Aug 07, 2003 at 05:05:45PM -0500, Jon Nall wrote:
> test-i386  -> runs with the 3 exceptions: the func_lret32 and func_iret32
>               tests both die with a SIGSEGV. Also i get "Unsupported syscall:
>                         252" when the program exits. i'm looking into both of 
> these.
> 

i've found a little more information:

- Unsupported syscall: 252. grepping through kernel headers, it seems
  that i386, cris, and ppc64 are the only architectures that define a
  syscall for syscall 252 (__NR_exit_group) in linux 2.4. the 2.5 kernel
  seems to have most (all?) architectures supporting this syscall,
  although the actual number varies with architecture and syscall_defs.h
  should probably be updated with that information.

- the SIGSEGV. this occurs because there are lots of uses of
  env->regs[R_ESP] in helper-i386.c. however, on ppc, ESP is
  $r17. adding:
  env->regs[R_ESP] = ESP;
  to the top of helper_ret_protected() allowed func_lret32 and
  func_iret32 to succeed. however, the env->regs[R_ESP] usage is
  strewn all over the code.
  
  Question: is it safe to replace all of these with ESP since ESP should
  default to env->regs[R_ESP] if there is no AREG defined for the
  architecture? (or more generally, is it safe to replace env->regs[XXX]
  with XXX?)

thanks!
nall.




reply via email to

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