diff options
Diffstat (limited to 'results/classifier/gemma3:12b/kernel/1349277')
| -rw-r--r-- | results/classifier/gemma3:12b/kernel/1349277 | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/results/classifier/gemma3:12b/kernel/1349277 b/results/classifier/gemma3:12b/kernel/1349277 new file mode 100644 index 00000000..86aa055a --- /dev/null +++ b/results/classifier/gemma3:12b/kernel/1349277 @@ -0,0 +1,18 @@ + +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) \ No newline at end of file |