From e0dd5fd41a1a38766009f442967fab700d2d0550 Mon Sep 17 00:00:00 2001 From: Todd Eisenberger Date: Thu, 28 Sep 2017 10:17:06 -0700 Subject: [PATCH] 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 Message-Id: Reviewed-by: Richard Henderson Signed-off-by: Eduardo Habkost --- target/i386/translate.c | 4 ++-- 1 file 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) -- 2.30.2