projects
/
linux.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
e1dda3a
)
KVM: x86/emulator: emulate movbe with operand-size prefix
author
Thomas Prescher
<thomas.prescher@cyberus-technology.de>
Tue, 12 Dec 2023 09:59:37 +0000
(10:59 +0100)
committer
Sean Christopherson
<seanjc@google.com>
Wed, 7 Feb 2024 21:16:11 +0000
(13:16 -0800)
The MOVBE instruction can come with an operand-size prefix (66h). In
this, case the x86 emulation code returns EMULATION_FAILED.
It turns out that em_movbe can already handle this case and all that
is missing is an entry in respective opcode tables to populate
gprefix->pfx_66.
Signed-off-by: Thomas Prescher <thomas.prescher@cyberus-technology.de>
Signed-off-by: Julian Stecklina <julian.stecklina@cyberus-technology.de>
Acked-by: Borislav Petkov (AMD) <bp@alien8.de>
Link:
https://lore.kernel.org/r/20231212095938.26731-1-julian.stecklina@cyberus-technology.de
Signed-off-by: Sean Christopherson <seanjc@google.com>
arch/x86/kvm/emulate.c
patch
|
blob
|
history
diff --git
a/arch/x86/kvm/emulate.c
b/arch/x86/kvm/emulate.c
index e223043ef5b26f23be5b2f0606641f66c5cd18aa..c75924f4f7372522cbc43f18b1bd2b80f8e2518c 100644
(file)
--- a/
arch/x86/kvm/emulate.c
+++ b/
arch/x86/kvm/emulate.c
@@
-4505,11
+4505,11
@@
static const struct instr_dual instr_dual_0f_38_f1 = {
};
static const struct gprefix three_byte_0f_38_f0 = {
- ID(0, &instr_dual_0f_38_f0),
N
, N, N
+ ID(0, &instr_dual_0f_38_f0),
ID(0, &instr_dual_0f_38_f0)
, N, N
};
static const struct gprefix three_byte_0f_38_f1 = {
- ID(0, &instr_dual_0f_38_f1),
N
, N, N
+ ID(0, &instr_dual_0f_38_f1),
ID(0, &instr_dual_0f_38_f1)
, N, N
};
/*