What exactly is the problem that you're encountering?

Note that syscall emulation only occurs in SE mode (that's what the SE
stands for).  The file syscall_emul.cc doesn't even get compiled if
FULL_SYSTEM is defined.

Steve

On Mon, Aug 31, 2009 at 1:20 PM, soumyaroop roy<s...@cse.usf.edu> wrote:
> Hello evebody,
>
> Here's a small observation that I made:
> In SMT configurations for ALPHA/Linux, the first workload that finishes
> terminates all the other workloads on the CPU because it makes the system
> call, exit_group(). This problem, however, does not surface with the "hello"
> binary checked into the repository because, I think, it is compiled with an
> older compiler toolchain (which was build with linux 2.4.3) and it makes a
> call to exit() instead of exit_group().
>
> So my question is:
> Shouldn't the exit_group() syscall be simulated by the exit() syscall in SE
> mode? Here is the diff in the source:
>
> diff -r e0c1c6d87649 src/sim/syscall_emul.cc
> --- a/src/sim/syscall_emul.cc   Sun Aug 23 14:19:14 2009 -0700
> +++ b/src/sim/syscall_emul.cc   Mon Aug 31 16:18:05 2009 -0400
> @@ -110,12 +110,16 @@
>  exitGroupFunc(SyscallDesc *desc, int callnum, LiveProcess *process,
>                ThreadContext *tc)
>  {
> +#if !FULL_SYSTEM
> +    return exitFunc(desc, callnum, process, tc);
> +#else
>      // really should just halt all thread contexts belonging to this
>      // process in case there's another process running...
>      exitSimLoop("target called exit()",
>                  process->getSyscallArg(tc, 0) & 0xff);
>
>      return 1;
> +#endif
>  }
>
> regards,
> Soumyaroop.
>
> --
> Soumyaroop Roy
> Ph.D. Candidate
> Department of Computer Science and Engineering
> University of South Florida, Tampa
> http://www.csee.usf.edu/~sroy
> _______________________________________________
> m5-dev mailing list
> m5-dev@m5sim.org
> http://m5sim.org/mailman/listinfo/m5-dev
>
>
_______________________________________________
m5-dev mailing list
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to