diff options
author | 2009-04-06 10:47:06 +0300 | |
---|---|---|
committer | 2009-04-06 10:47:06 +0300 | |
commit | 67afa42dada0e8eab8b88bcc12447bddfccad5f7 (patch) | |
tree | 25d0be082487757dd67a932345bc293c75f87eed /cpu-exec.c | |
parent | kvm: Update .gitignore (diff) | |
parent | Remove WIN32 guard around -k (diff) | |
download | qemu-kvm-67afa42dada0e8eab8b88bcc12447bddfccad5f7.tar.gz qemu-kvm-67afa42dada0e8eab8b88bcc12447bddfccad5f7.tar.bz2 qemu-kvm-67afa42dada0e8eab8b88bcc12447bddfccad5f7.zip |
Merge commit 'qemu-svn/trunk'
* commit 'qemu-svn/trunk': (38 commits)
Remove WIN32 guard around -k
Add new command line option -singlestep for tcg single stepping.
tcg/x86_64: optimize register allocation order
stop dirty tracking just at the end of migration (Glauber Costa)
create qemu_file_set_error (Glauber Costa)
propagate error on failed completion (Glauber Costa)
Disable qemu-io on Win32
Add files not included in previous commit.
Fix savevm after BDRV_FILE size enforcement
Fix the build for --disable-aio
gdbstub: Rework configuration via command line and monitor (Jan Kiszka)
Make `-icount' help fit 80 chars screen width (Robert Riebisch)
qemu-io - an I/O path exerciser (Christoph Hellwig)
Fix display breakage when resizing the screen (v2) (Avi Kivity)
Fix some win32 compile warnings
Make binary stripping conditional (Riku Voipio)
qcow2: fix image creation for large, > ~2TB, images (Chris Wright)
pci_add storage: fix error handling for 'if' parameter (Eduardo Habkost)
build system: clean qemu-options.texi and gdbstub-xml.c (Jan Kiszka)
build system: silent generation of doc files and qemu-options.h (Jan Kiszka)
...
Conflicts:
qemu/Makefile.target
qemu/hw/vga.c
qemu/vl.c
Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'cpu-exec.c')
-rw-r--r-- | cpu-exec.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/cpu-exec.c b/cpu-exec.c index bf42318fb..d724464d1 100644 --- a/cpu-exec.c +++ b/cpu-exec.c @@ -258,6 +258,11 @@ int cpu_exec(CPUState *env1) /* prepare setjmp context for exception handling */ for(;;) { if (setjmp(env->jmp_env) == 0) { +#if defined(__sparc__) && !defined(HOST_SOLARIS) +#undef env + env = cpu_single_env; +#define env cpu_single_env +#endif env->current_tb = NULL; /* if an exception is pending, we execute it here */ if (env->exception_index >= 0) { @@ -403,6 +408,11 @@ int cpu_exec(CPUState *env1) env->interrupt_request &= ~(CPU_INTERRUPT_HARD | CPU_INTERRUPT_VIRQ); intno = cpu_get_pic_interrupt(env); qemu_log_mask(CPU_LOG_TB_IN_ASM, "Servicing hardware INT=0x%02x\n", intno); +#if defined(__sparc__) && !defined(HOST_SOLARIS) +#undef env + env = cpu_single_env; +#define env cpu_single_env +#endif do_interrupt(intno, 0, 0, 0, 1); /* ensure that no TB jump will be modified as the program flow was changed */ |