aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorAvi Kivity <avi@redhat.com>2010-07-29 08:11:44 -0400
committerAvi Kivity <avi@redhat.com>2010-10-24 04:50:15 -0400
commitb67f9f0741e288c97f73cdc9e39e2c4943004332 (patch)
treea137860704c18e9bb4a705a9b234a10217018ae1 /arch
parent591c9d20a37db54c7234742bff925cb2e6fdca4b (diff)
KVM: x86 emulator: convert group 5 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 8bb74ea2b278..9674d973b99d 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, Group5, Group7, Group8, Group9, 108 NoGrp, Group7, Group8, Group9,
109}; 109};
110 110
111struct opcode { 111struct opcode {
@@ -145,12 +145,14 @@ static struct opcode group4[] = {
145 N, N, N, N, N, N, 145 N, N, N, N, N, N,
146}; 146};
147 147
148static struct opcode group_table[] = { 148static struct opcode group5[] = {
149 [Group5*8] =
150 D(DstMem | SrcNone | ModRM | Lock), D(DstMem | SrcNone | ModRM | Lock), 149 D(DstMem | SrcNone | ModRM | Lock), D(DstMem | SrcNone | ModRM | Lock),
151 D(SrcMem | ModRM | Stack), N, 150 D(SrcMem | ModRM | Stack), N,
152 D(SrcMem | ModRM | Stack), D(SrcMemFAddr | ModRM | ImplicitOps), 151 D(SrcMem | ModRM | Stack), D(SrcMemFAddr | ModRM | ImplicitOps),
153 D(SrcMem | ModRM | Stack), N, 152 D(SrcMem | ModRM | Stack), N,
153};
154
155static struct opcode group_table[] = {
154 [Group7*8] = 156 [Group7*8] =
155 N, N, D(ModRM | SrcMem | Priv), D(ModRM | SrcMem | Priv), 157 N, N, D(ModRM | SrcMem | Priv), D(ModRM | SrcMem | Priv),
156 D(SrcNone | ModRM | DstMem | Mov), N, 158 D(SrcNone | ModRM | DstMem | Mov), N,
@@ -283,7 +285,7 @@ static struct opcode opcode_table[256] = {
283 D(ImplicitOps | Priv), D(ImplicitOps), G(ByteOp, group3), G(0, group3), 285 D(ImplicitOps | Priv), D(ImplicitOps), G(ByteOp, group3), G(0, group3),
284 /* 0xF8 - 0xFF */ 286 /* 0xF8 - 0xFF */
285 D(ImplicitOps), N, D(ImplicitOps), D(ImplicitOps), 287 D(ImplicitOps), N, D(ImplicitOps), D(ImplicitOps),
286 D(ImplicitOps), D(ImplicitOps), G(0, group4), D(Group | Group5), 288 D(ImplicitOps), D(ImplicitOps), G(0, group4), G(0, group5),
287}; 289};
288 290
289static struct opcode twobyte_table[256] = { 291static struct opcode twobyte_table[256] = {