summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAvi Kivity <avi@redhat.com>2010-07-29 15:11:42 +0300
committerAvi Kivity <avi@redhat.com>2010-10-24 10:50:13 +0200
commitee70ea30ee81dda2cf5fbc2e143ce3cb303187ce (patch)
tree0cd89c64fa6bb5b80407091f333c604a9518a588
parent99880c5cd54b28a26fd6ed949f545cc0075e4393 (diff)
KVM: x86 emulator: convert group 3 to new style
Signed-off-by: Avi Kivity <avi@redhat.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
-rw-r--r--arch/x86/kvm/emulate.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index 618fdc8c8d0..a0606a408ad 100644
--- a/arch/x86/kvm/emulate.c
+++ b/arch/x86/kvm/emulate.c
@@ -105,7 +105,7 @@
#define X16(x) X8(x), X8(x)
enum {
- NoGrp, Group3, Group4, Group5, Group7, Group8, Group9,
+ NoGrp, Group4, Group5, Group7, Group8, Group9,
};
struct opcode {
@@ -134,11 +134,13 @@ static struct opcode group1A[] = {
D(DstMem | SrcNone | ModRM | Mov | Stack), N, N, N, N, N, N, N,
};
-static struct opcode group_table[] = {
- [Group3*8] =
+static struct opcode group3[] = {
D(DstMem | SrcImm | ModRM), D(DstMem | SrcImm | ModRM),
D(DstMem | SrcNone | ModRM | Lock), D(DstMem | SrcNone | ModRM | Lock),
X4(D(Undefined)),
+};
+
+static struct opcode group_table[] = {
[Group4*8] =
D(ByteOp | DstMem | SrcNone | ModRM | Lock), D(ByteOp | DstMem | SrcNone | ModRM | Lock),
N, N, N, N, N, N,
@@ -276,7 +278,7 @@ static struct opcode opcode_table[256] = {
D(SrcNone | ByteOp | DstAcc), D(SrcNone | DstAcc),
/* 0xF0 - 0xF7 */
N, N, N, N,
- D(ImplicitOps | Priv), D(ImplicitOps), D(ByteOp | Group | Group3), D(Group | Group3),
+ D(ImplicitOps | Priv), D(ImplicitOps), G(ByteOp, group3), G(0, group3),
/* 0xF8 - 0xFF */
D(ImplicitOps), N, D(ImplicitOps), D(ImplicitOps),
D(ImplicitOps), D(ImplicitOps), D(Group | Group4), D(Group | Group5),