diff options
author | Todd Eisenberger <teisenbe@google.com> | 2017-09-28 10:17:06 -0700 |
---|---|---|
committer | Eduardo Habkost <ehabkost@redhat.com> | 2017-10-09 23:29:20 -0300 |
commit | e0dd5fd41a1a38766009f442967fab700d2d0550 (patch) | |
tree | 7cac6341df37f80a05a7d71bdabe1ff3892c9994 /target | |
parent | c0dd10991903c552811d8cbe9231055b1b3a7ebd (diff) |
x86: Correct translation of some rdgsbase and wrgsbase encodings
It looks like there was a transcription error when writing this code
initially. The code previously only decoded src or dst of rax. This
resolves
https://bugs.launchpad.net/qemu/+bug/1719984.
Signed-off-by: Todd Eisenberger <teisenbe@google.com>
Message-Id: <CAP26EVRNVb=Mq=O3s51w7fDhGVmf-e3XFFA73MRzc5b4qKBA4g@mail.gmail.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Diffstat (limited to 'target')
-rw-r--r-- | target/i386/translate.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/target/i386/translate.c b/target/i386/translate.c index a8986f4c1a..7b920115f9 100644 --- a/target/i386/translate.c +++ b/target/i386/translate.c @@ -8155,9 +8155,9 @@ static target_ulong disas_insn(DisasContext *s, CPUState *cpu) break; case 0xc0 ... 0xc7: /* rdfsbase (f3 0f ae /0) */ - case 0xc8 ... 0xc8: /* rdgsbase (f3 0f ae /1) */ + case 0xc8 ... 0xcf: /* rdgsbase (f3 0f ae /1) */ case 0xd0 ... 0xd7: /* wrfsbase (f3 0f ae /2) */ - case 0xd8 ... 0xd8: /* wrgsbase (f3 0f ae /3) */ + case 0xd8 ... 0xdf: /* wrgsbase (f3 0f ae /3) */ if (CODE64(s) && (prefixes & PREFIX_REPZ) && !(prefixes & PREFIX_LOCK) |