diff options
Diffstat (limited to 'results/classifier/118/review/1349277')
| -rw-r--r-- | results/classifier/118/review/1349277 | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/results/classifier/118/review/1349277 b/results/classifier/118/review/1349277 new file mode 100644 index 000000000..c92defdb8 --- /dev/null +++ b/results/classifier/118/review/1349277 @@ -0,0 +1,122 @@ +architecture: 0.911 +graphic: 0.870 +performance: 0.856 +user-level: 0.837 +mistranslation: 0.829 +vnc: 0.820 +arm: 0.811 +device: 0.810 +permissions: 0.804 +PID: 0.804 +ppc: 0.783 +risc-v: 0.761 +semantic: 0.747 +socket: 0.732 +VMM: 0.715 +files: 0.691 +debug: 0.686 +TCG: 0.682 +register: 0.681 +KVM: 0.680 +network: 0.654 +boot: 0.651 +hypervisor: 0.650 +kernel: 0.639 +x86: 0.632 +i386: 0.631 +assembly: 0.592 +peripherals: 0.585 +virtual: 0.390 +-------------------- +kernel: 0.287 +architecture: 0.100 +debug: 0.088 +files: 0.087 +VMM: 0.086 +hypervisor: 0.078 +TCG: 0.073 +PID: 0.043 +network: 0.029 +virtual: 0.023 +risc-v: 0.020 +vnc: 0.020 +ppc: 0.020 +socket: 0.018 +user-level: 0.018 +semantic: 0.013 +performance: 0.013 +register: 0.012 +boot: 0.010 +device: 0.009 +arm: 0.008 +assembly: 0.007 +permissions: 0.002 +peripherals: 0.002 +KVM: 0.002 +graphic: 0.001 +mistranslation: 0.001 +x86: 0.001 +i386: 0.001 + +AArch64 emulation ignores SPSel=0 when taking (or returning from) an exception at EL1 or greater + +The AArch64 emulation ignores SPSel=0 when: + +(1) taking an interrupt from an exception level greater than EL0 (e.g., EL1t), + +(2) returning from an exception (via ERET) to an exception level greater than EL0 (e.g., EL1t), with SPSR_ELx[SPSel]=0. + +The attached patch fixes the problem in my application. + +Background: + +I'm running a standalone application (toy OS) that is performing preemptive multithreading between threads running at EL1t, with exception handling / context switching occurring at EL1h. This bug causes the stack pointer to be corrupted in the threads running at EL1t (they end up with a version of the EL1h stack pointer (SP_EL1)). + +Occurs in: + qemu-2.1.0-rc1 (found in) + commit c60a57ff497667780132a3fcdc1500c83af5d5c0 (current master) + + + +On Mon, Jul 28, 2014 at 07:40:56AM -0000, T McIntosh wrote: +> Public bug reported: +> +> The AArch64 emulation ignores SPSel=0 when: +> +> (1) taking an interrupt from an exception level greater than EL0 (e.g., +> EL1t), +> +> (2) returning from an exception (via ERET) to an exception level greater +> than EL0 (e.g., EL1t), with SPSR_ELx[SPSel]=0. +> +> The attached patch fixes the problem in my application. + +Hi, + +Patches 1-3 in the following series fix the this problem. +http://lists.gnu.org/archive/html/qemu-devel/2014-06/msg03675.html + +Cheers, +Edgar + + +The attachment "Proposed fix" seems to be a patch. If it isn't, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are a member of the ~ubuntu-reviewers, unsubscribe the team. + +[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issues please contact him.] + +Uploaded fixed package for Vivid: https://launchpad.net/ubuntu/+source/qemu/2.1+dfsg-7ubuntu3 + +Please let me know if this fixes the issue. + +This bug was fixed in the package qemu - 2.1+dfsg-7ubuntu3 + +--------------- +qemu (2.1+dfsg-7ubuntu3) vivid; urgency=medium + + * d/p/target-arm-A64-Break-out-aarch64_save-restore_sp.patch + d/p/target-arm-A64-Respect-SPSEL-in-ERET-SP-restore.patch + d/p/target-arm-A64-Respect-SPSEL-when-taking-exceptions.patch: + Cherry-pick of upstream patches in order to fix AArch64 emulation ignoring + SPSel=0 in certain conditions. (LP: #1349277) + -- Chris J Arges <email address hidden> Thu, 04 Dec 2014 14:17:01 -0600 + |