diff options
author | Avi Kivity <avi@redhat.com> | 2010-07-29 08:11:44 -0400 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2010-10-24 04:50:15 -0400 |
commit | b67f9f0741e288c97f73cdc9e39e2c4943004332 (patch) | |
tree | a137860704c18e9bb4a705a9b234a10217018ae1 | |
parent | 591c9d20a37db54c7234742bff925cb2e6fdca4b (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>
-rw-r--r-- | arch/x86/kvm/emulate.c | 10 |
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 | ||
107 | enum { | 107 | enum { |
108 | NoGrp, Group5, Group7, Group8, Group9, | 108 | NoGrp, Group7, Group8, Group9, |
109 | }; | 109 | }; |
110 | 110 | ||
111 | struct opcode { | 111 | struct 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 | ||
148 | static struct opcode group_table[] = { | 148 | static 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 | |||
155 | static 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 | ||
289 | static struct opcode twobyte_table[256] = { | 291 | static struct opcode twobyte_table[256] = { |