/[qemu]/qemu/exec-i386.c
ViewVC logotype

Diff of /qemu/exec-i386.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.17 by bellard, Sat May 10 15:07:00 2003 UTC revision 1.18 by bellard, Tue May 13 18:59:59 2003 UTC
# Line 153  void raise_exception_err(int exception_i Line 153  void raise_exception_err(int exception_i
153  {  {
154      /* NOTE: the register at this point must be saved by hand because      /* NOTE: the register at this point must be saved by hand because
155         longjmp restore them */         longjmp restore them */
156    #ifdef __sparc__
157            /* We have to stay in the same register window as our caller,
158             * thus this trick.
159             */
160            __asm__ __volatile__("restore\n\t"
161                                 "mov\t%o0, %i0");
162    #endif
163  #ifdef reg_EAX  #ifdef reg_EAX
164      env->regs[R_EAX] = EAX;      env->regs[R_EAX] = EAX;
165  #endif  #endif
# Line 409  int cpu_x86_exec(CPUX86State *env1) Line 416  int cpu_x86_exec(CPUX86State *env1)
416              /* execute the generated code */              /* execute the generated code */
417              tc_ptr = tb->tc_ptr;              tc_ptr = tb->tc_ptr;
418              gen_func = (void *)tc_ptr;              gen_func = (void *)tc_ptr;
419    #ifdef __sparc__
420                __asm__ __volatile__("call  %0\n\t"
421                                     " mov  %%o7,%%i0"
422                                     : /* no outputs */
423                                     : "r" (gen_func)
424                                     : "i0", "i1", "i2", "i3", "i4", "i5");
425    #else
426              gen_func();              gen_func();
427    #endif
428          }          }
429      }      }
430      ret = env->exception_index;      ret = env->exception_index;

Legend:
Removed from v.1.17  
changed lines
  Added in v.1.18

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26