Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 215633
b: refs/heads/master
c: 42a1c52
h: refs/heads/master
i:
  215631: 9a31039
v: v3
  • Loading branch information
Avi Kivity committed Oct 24, 2010
1 parent 8f5d79e commit f945ca6
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 39 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: fd853310a1ebaef257956208165873494bb805dc
refs/heads/master: 42a1c5209570ead6d89abecd99ab12947a41d20a
76 changes: 38 additions & 38 deletions trunk/arch/x86/kvm/emulate.c
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,44 @@ struct opcode {
#define D(_y) { .flags = (_y) }
#define N D(0)

static struct opcode group_table[] = {
[Group1*8] =
X7(D(Lock)), N,
[Group1A*8] =
D(DstMem | SrcNone | ModRM | Mov | Stack), N, N, N, N, N, N, N,
[Group3*8] =
D(DstMem | SrcImm | ModRM), D(DstMem | SrcImm | ModRM),
D(DstMem | SrcNone | ModRM | Lock), D(DstMem | SrcNone | ModRM | Lock),
X4(D(Undefined)),
[Group4*8] =
D(ByteOp | DstMem | SrcNone | ModRM | Lock), D(ByteOp | DstMem | SrcNone | ModRM | Lock),
N, N, N, N, N, N,
[Group5*8] =
D(DstMem | SrcNone | ModRM | Lock), D(DstMem | SrcNone | ModRM | Lock),
D(SrcMem | ModRM | Stack), N,
D(SrcMem | ModRM | Stack), D(SrcMemFAddr | ModRM | ImplicitOps),
D(SrcMem | ModRM | Stack), N,
[Group7*8] =
N, N, D(ModRM | SrcMem | Priv), D(ModRM | SrcMem | Priv),
D(SrcNone | ModRM | DstMem | Mov), N,
D(SrcMem16 | ModRM | Mov | Priv), D(SrcMem | ModRM | ByteOp | Priv),
[Group8*8] =
N, N, N, N,
D(DstMem | SrcImmByte | ModRM), D(DstMem | SrcImmByte | ModRM | Lock),
D(DstMem | SrcImmByte | ModRM | Lock), D(DstMem | SrcImmByte | ModRM | Lock),
[Group9*8] =
N, D(DstMem64 | ModRM | Lock), N, N, N, N, N, N,
};

static struct opcode group2_table[] = {
[Group7*8] =
D(SrcNone | ModRM | Priv), N, N, D(SrcNone | ModRM | Priv),
D(SrcNone | ModRM | DstMem | Mov), N,
D(SrcMem16 | ModRM | Mov | Priv), N,
[Group9*8] =
N, N, N, N, N, N, N, N,
};

static struct opcode opcode_table[256] = {
/* 0x00 - 0x07 */
D(ByteOp | DstMem | SrcReg | ModRM | Lock), D(DstMem | SrcReg | ModRM | Lock),
Expand Down Expand Up @@ -291,44 +329,6 @@ static struct opcode twobyte_table[256] = {
N, N, N, N, N, N, N, N, N, N, N, N, N, N, N, N
};

static struct opcode group_table[] = {
[Group1*8] =
X7(D(Lock)), N,
[Group1A*8] =
D(DstMem | SrcNone | ModRM | Mov | Stack), N, N, N, N, N, N, N,
[Group3*8] =
D(DstMem | SrcImm | ModRM), D(DstMem | SrcImm | ModRM),
D(DstMem | SrcNone | ModRM | Lock), D(DstMem | SrcNone | ModRM | Lock),
X4(D(Undefined)),
[Group4*8] =
D(ByteOp | DstMem | SrcNone | ModRM | Lock), D(ByteOp | DstMem | SrcNone | ModRM | Lock),
N, N, N, N, N, N,
[Group5*8] =
D(DstMem | SrcNone | ModRM | Lock), D(DstMem | SrcNone | ModRM | Lock),
D(SrcMem | ModRM | Stack), N,
D(SrcMem | ModRM | Stack), D(SrcMemFAddr | ModRM | ImplicitOps),
D(SrcMem | ModRM | Stack), N,
[Group7*8] =
N, N, D(ModRM | SrcMem | Priv), D(ModRM | SrcMem | Priv),
D(SrcNone | ModRM | DstMem | Mov), N,
D(SrcMem16 | ModRM | Mov | Priv), D(SrcMem | ModRM | ByteOp | Priv),
[Group8*8] =
N, N, N, N,
D(DstMem | SrcImmByte | ModRM), D(DstMem | SrcImmByte | ModRM | Lock),
D(DstMem | SrcImmByte | ModRM | Lock), D(DstMem | SrcImmByte | ModRM | Lock),
[Group9*8] =
N, D(DstMem64 | ModRM | Lock), N, N, N, N, N, N,
};

static struct opcode group2_table[] = {
[Group7*8] =
D(SrcNone | ModRM | Priv), N, N, D(SrcNone | ModRM | Priv),
D(SrcNone | ModRM | DstMem | Mov), N,
D(SrcMem16 | ModRM | Mov | Priv), N,
[Group9*8] =
N, N, N, N, N, N, N, N,
};

#undef D
#undef N

Expand Down

0 comments on commit f945ca6

Please sign in to comment.