aboutsummaryrefslogtreecommitdiffstats
path: root/ppc-dis.c
diff options
context:
space:
mode:
authorJiang Yunhong <yunhong.jiang@intel.com>2011-12-26 14:47:33 +0800
committerJean-Baptiste Queru <jbq@google.com>2012-01-12 08:51:07 -0800
commita9fd5a1492276fe429eab8527fc425cee5c62ed8 (patch)
tree2d99fcaf4c75746bd68247efab92e4946775a291 /ppc-dis.c
parentaa1af37d8b3c3a21eb4cac4a225225425b50d08c (diff)
downloadexternal_qemu-a9fd5a1492276fe429eab8527fc425cee5c62ed8.zip
external_qemu-a9fd5a1492276fe429eab8527fc425cee5c62ed8.tar.gz
external_qemu-a9fd5a1492276fe429eab8527fc425cee5c62ed8.tar.bz2
Fix signal handling for GS_RESTORE hack
Currently we hack QEMU's signal handler because of the GS_BASE MSR KVM bug. The reason of the hack is, when signal happens during KVM_RUN ioctl, the GS_BASE is broken, we have to restore the correct gs before run the signal handler. However, currently we take signal even when signal is set as SIG_DFL/SIG_IGN, or the signal is set with SIG_SIGINFO. Currently "kill -13" to emulator causes emulator crash. This patch fixed it as: 1) If the signal handler is set as SIG_DFL or SIG_IGN, we don't take the signal 2) If the signal handler is set with SIG_SIGINFO, we will use sa_sigaction 3) Cover all potential signals One thing left is, if the signal handler is setup dynamically, this method may still have issue because currently the signal handlers are taken statically when first KVM_RUN ioctl. Luckily this does not happen now. Change-Id: Icfbe43db665a11f2b6eaf9593075b3e643783ee7 Signed-off-by: Jiang Yunhong <yunhong.jiang@intel.com>
Diffstat (limited to 'ppc-dis.c')
0 files changed, 0 insertions, 0 deletions