aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorAvi Kivity <avi@redhat.com>2010-07-29 08:11:46 -0400
committerAvi Kivity <avi@redhat.com>2010-10-24 04:50:18 -0400
commit2cb20bc8af313b400e5c2c94886e0d87e2ec4e4d (patch)
treee1f04a5ecd83036cbe17857dfba56b36b810b936 /arch
parent2f3a9bc9ebd42e00929f370e1a56e40028a8d651 (diff)
KVM: x86 emulator: convert group 8 to new style
Signed-off-by: Avi Kivity <avi@redhat.com> Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Diffstat (limited to 'arch')
-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 5e7a02df18bb..b5599b5cac97 100644
--- a/arch/x86/kvm/emulate.c
+++ b/arch/x86/kvm/emulate.c
@@ -105,7 +105,7 @@
105#define X16(x) X8(x), X8(x) 105#define X16(x) X8(x), X8(x)
106 106
107enum { 107enum {
108 NoGrp, Group8, Group9, 108 NoGrp, Group9,
109}; 109};
110 110
111struct opcode { 111struct opcode {
@@ -162,11 +162,13 @@ static struct group_dual group7 = { {
162 D(SrcMem16 | ModRM | Mov | Priv), N, 162 D(SrcMem16 | ModRM | Mov | Priv), N,
163} }; 163} };
164 164
165static struct opcode group_table[] = { 165static struct opcode group8[] = {
166 [Group8*8] =
167 N, N, N, N, 166 N, N, N, N,
168 D(DstMem | SrcImmByte | ModRM), D(DstMem | SrcImmByte | ModRM | Lock), 167 D(DstMem | SrcImmByte | ModRM), D(DstMem | SrcImmByte | ModRM | Lock),
169 D(DstMem | SrcImmByte | ModRM | Lock), D(DstMem | SrcImmByte | ModRM | Lock), 168 D(DstMem | SrcImmByte | ModRM | Lock), D(DstMem | SrcImmByte | ModRM | Lock),
169};
170
171static struct opcode group_table[] = {
170 [Group9*8] = 172 [Group9*8] =
171 N, D(DstMem64 | ModRM | Lock), N, N, N, N, N, N, 173 N, D(DstMem64 | ModRM | Lock), N, N, N, N, N, N,
172}; 174};
@@ -337,7 +339,7 @@ static struct opcode twobyte_table[256] = {
337 D(DstReg | SrcMem16 | ModRM | Mov), 339 D(DstReg | SrcMem16 | ModRM | Mov),
338 /* 0xB8 - 0xBF */ 340 /* 0xB8 - 0xBF */
339 N, N, 341 N, N,
340 D(Group | Group8), D(DstMem | SrcReg | ModRM | BitOp | Lock), 342 G(0, group8), D(DstMem | SrcReg | ModRM | BitOp | Lock),
341 N, N, D(ByteOp | DstReg | SrcMem | ModRM | Mov), 343 N, N, D(ByteOp | DstReg | SrcMem | ModRM | Mov),
342 D(DstReg | SrcMem16 | ModRM | Mov), 344 D(DstReg | SrcMem16 | ModRM | Mov),
343 /* 0xC0 - 0xCF */ 345 /* 0xC0 - 0xCF */