diff options
Diffstat (limited to 'results/classifier/118/none/1828867')
| -rw-r--r-- | results/classifier/118/none/1828867 | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/results/classifier/118/none/1828867 b/results/classifier/118/none/1828867 new file mode 100644 index 000000000..90ffe6501 --- /dev/null +++ b/results/classifier/118/none/1828867 @@ -0,0 +1,65 @@ +device: 0.454 +socket: 0.435 +register: 0.409 +mistranslation: 0.388 +performance: 0.306 +assembly: 0.285 +PID: 0.282 +kernel: 0.269 +network: 0.264 +vnc: 0.258 +risc-v: 0.256 +architecture: 0.253 +graphic: 0.231 +semantic: 0.225 +x86: 0.207 +ppc: 0.207 +user-level: 0.192 +i386: 0.187 +arm: 0.172 +boot: 0.171 +peripherals: 0.159 +hypervisor: 0.154 +TCG: 0.154 +permissions: 0.151 +VMM: 0.129 +files: 0.128 +KVM: 0.124 +debug: 0.080 +virtual: 0.075 + +QEmu translation is incorrect when using REX in combination with LAHF/SAHF + +When translating code that is using LAHF and SAHF in combination with the REX prefix then qemu translates incorrectly. +These two instructions only ever use the AH register. Contrary to other instructions where if you use REX + high bit offsets then it'll pull in rsp and a few other registers. +On hardware the REX prefix doesn't effect behaviour of these instructions at all. +QEMU incorrectly selects RSP as the register of choice here due to this combination of REX + AH register usage. + +I've attached a patch that is super terrible just so I can work around the issue locally and to sort of show off how it is to be "fixed" + + + +Here's also a basic test that can be run on hardware and have rflags and rsp inspected after each instruction just to see how hardware doesn't effect it. + +The QEMU project is currently considering to move its bug tracking to +another system. For this we need to know which bugs are still valid +and which could be closed already. Thus we are setting older bugs to +"Incomplete" now. + +If you still think this bug report here is valid, then please switch +the state back to "New" within the next 60 days, otherwise this report +will be marked as "Expired". Or please mark it as "Fix Released" if +the problem has been solved with a newer version of QEMU already. + +Thank you and sorry for the inconvenience. + +This is still relevant. + + +This is an automated cleanup. This bug report has been moved to QEMU's +new bug tracker on gitlab.com and thus gets marked as 'expired' now. +Please continue with the discussion here: + + https://gitlab.com/qemu-project/qemu/-/issues/130 + + |