diff options
Diffstat (limited to 'results/classifier/118/kernel/1694998')
| -rw-r--r-- | results/classifier/118/kernel/1694998 | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/results/classifier/118/kernel/1694998 b/results/classifier/118/kernel/1694998 new file mode 100644 index 000000000..e41ba96ac --- /dev/null +++ b/results/classifier/118/kernel/1694998 @@ -0,0 +1,79 @@ +architecture: 0.934 +kernel: 0.933 +ppc: 0.928 +TCG: 0.926 +user-level: 0.872 +permissions: 0.838 +PID: 0.833 +device: 0.830 +network: 0.825 +peripherals: 0.810 +performance: 0.803 +graphic: 0.795 +socket: 0.792 +semantic: 0.758 +mistranslation: 0.749 +arm: 0.737 +x86: 0.719 +files: 0.715 +boot: 0.706 +debug: 0.691 +vnc: 0.688 +KVM: 0.667 +risc-v: 0.661 +VMM: 0.643 +hypervisor: 0.622 +register: 0.608 +i386: 0.489 +virtual: 0.486 +assembly: 0.444 + +PPC: msgsnd instruction leads to assertion + +I tried to send doorbells (using msgsnd) between cores in guest OS. On QEMU v2.9.0 usage of msgsnd instruction leads to error: +ERROR: <...>/qemu-new/translate-common.c:34:tcg_handle_interrupt: assertion failed: (qemu_mutex_iothread_locked()) + + +QEMU v2.8.0 works fine. + +QEMU run options: qemu-system-ppc -serial stdio -M ppce500 -cpu e500mc -smp 2 -m 512M -kernel pok.elf + +pok.elf attached + + + +Could you please check whether this patch fixes the issue for you: + +diff --git a/target/ppc/excp_helper.c b/target/ppc/excp_helper.c +--- a/target/ppc/excp_helper.c ++++ b/target/ppc/excp_helper.c +@@ -17,6 +17,7 @@ + * License along with this library; if not, see <http://www.gnu.org/licenses/>. + */ + #include "qemu/osdep.h" ++#include "qemu/main-loop.h" + #include "cpu.h" + #include "exec/helper-proto.h" + #include "exec/exec-all.h" +@@ -1132,6 +1133,7 @@ void helper_msgsnd(target_ulong rb) + return; + } + ++ qemu_mutex_lock_iothread(); + CPU_FOREACH(cs) { + PowerPCCPU *cpu = POWERPC_CPU(cs); + CPUPPCState *cenv = &cpu->env; +@@ -1141,5 +1143,6 @@ void helper_msgsnd(target_ulong rb) + cpu_interrupt(cs, CPU_INTERRUPT_HARD); + } + } ++ qemu_mutex_unlock_iothread(); + } + #endif + + +Yes, Thomas, this patch fixes the issue. + +Fix has now been included: +http://git.qemu.org/?p=qemu.git;a=commitdiff;h=f1c29ebc51be77bd64178c8d + |