qemu/target-i386
Jason Wessel 63a54736f3 target-i386: fix crash on x86 32bit linux host with hw breakpoint exceptions
If you make use of hw breakpoints on a 32bit x86 linux host, qemu
will segmentation fault when processing the exception.

The problem is that the value of env is stored in $ebp in the op_helper
raise_exception() function, and it can have the wrong value when
calling it from non generated code.

It is possible to work around the problem by restoring the value of
env before calling raise_exception() using a new helper function that
takes (CPUState *) as one of the arguments.

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
2010-02-28 19:20:02 +01:00
..
cpu.h Add cpu model configuration support.. 2010-02-22 16:16:17 -06:00
exec.h target-i386: fix crash on x86 32bit linux host with hw breakpoint exceptions 2010-02-28 19:20:02 +01:00
helper_template.h Update to a hopefully more future proof FSF address 2009-07-16 20:47:01 +00:00
helper.c target-i386: fix crash on x86 32bit linux host with hw breakpoint exceptions 2010-02-28 19:20:02 +01:00
helper.h target-i386: implement lzcnt emulation 2009-10-23 17:10:36 +02:00
kvm.c Merge remote branch 'qemu-kvm/uq/master' into staging 2010-02-22 16:16:22 -06:00
machine.c Revert "kvm: x86: Save/restore exception_index" 2009-12-18 11:26:33 -06:00
op_helper.c target-i386: fix crash on x86 32bit linux host with hw breakpoint exceptions 2010-02-28 19:20:02 +01:00
ops_sse_header.h target-i386: add SSE4a instruction support 2009-10-04 14:09:41 +02:00
ops_sse.h target-i386: add SSE4a instruction support 2009-10-04 14:09:41 +02:00
svm.h reworked SVM interrupt handling logic - fixed vmrun EIP saved value - reworked cr8 handling - added CPUState.hflags2 2008-06-04 17:02:19 +00:00
TODO Unbreak large mem support by removing kqemu 2009-08-24 08:02:55 -05:00
translate.c remove two dead assignments in target-i386/translate.c 2010-02-05 18:13:14 +00:00