Added support for Intel Key Locker instructions, as per https://software.intel.com/content/www/us/en/develop/download/intel-key-locker-specification.html.
parent
fc62fc0b36
commit
4f8b030ddd
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@ -0,0 +1,13 @@
|
||||
bits 64
|
||||
|
||||
db 0xF3, 0x0F, 0x38, 0xDC, 0x01 ; AESENC128KL xmm0, m384 ptr [rcx]
|
||||
db 0xF3, 0x0F, 0x38, 0xDD, 0x01 ; AESDEC128KL xmm0, m384 ptr [rcx]
|
||||
db 0xF3, 0x0F, 0x38, 0xDE, 0x08 ; AESENC256KL xmm1, zmmword ptr [rax]
|
||||
db 0xF3, 0x0F, 0x38, 0xDF, 0x08 ; AESDEC256KL xmm1, zmmword ptr [rax]
|
||||
db 0xF3, 0x0F, 0x38, 0xD8, 0x00 ; AESENCWIDE128KL m384 ptr [rax]
|
||||
db 0xF3, 0x0F, 0x38, 0xD8, 0x08 ; AESDECWIDE128KL m384 ptr [rax]
|
||||
db 0xF3, 0x0F, 0x38, 0xD8, 0x10 ; AESENCWIDE256KL m384 ptr [rax]
|
||||
db 0xF3, 0x0F, 0x38, 0xD8, 0x18 ; AESDECWIDE256KL m384 ptr [rax]
|
||||
db 0xF3, 0x0F, 0x38, 0xFA, 0xC0 ; ENCODEKEY128 eax, eax
|
||||
db 0xF3, 0x0F, 0x38, 0xFB, 0xCF ; ENCODEKEY256 esi, esi
|
||||
db 0xF3, 0x0F, 0x38, 0xDC, 0xC1 ; LOADIWKEY xmm0, xmm1
|
@ -0,0 +1,224 @@
|
||||
0000000000000000 f30f38dc01 AESENC128KL xmm0, m384 ptr [rcx]
|
||||
DSIZE: 32, ASIZE: 64, VLEN: 128
|
||||
ISA Set: KL, Ins cat: AESKL, CET tracked: no
|
||||
CPUID leaf: 0x00000007, sub-leaf: 0x00000000, reg: ecx, bit: 23
|
||||
FLAGS access
|
||||
CF: 0, PF: 0, AF: 0, ZF: m, SF: 0, OF: 0,
|
||||
Valid modes
|
||||
R0: yes, R1: yes, R2: yes, R3: yes
|
||||
Real: yes, V8086: yes, Prot: yes, Compat: yes, Long: yes
|
||||
SMM on: yes, SMM off: yes, SGX on: yes, SGX off: yes, TSX on: yes, TSX off: yes
|
||||
VMXRoot: yes, VMXNonRoot: yes, VMXRoot SEAM: yes, VMXNonRoot SEAM: yes, VMX off: yes
|
||||
Valid prefixes
|
||||
REP: no, REPcc: no, LOCK: no
|
||||
HLE: no, XACQUIRE only: no, XRELEASE only: no
|
||||
BND: no, BHINT: no, DNT: no
|
||||
Operand: 0, Acc: RW, Type: Register, Size: 16, RawSize: 16, Encoding: R, RegType: Vector, RegSize: 16, RegId: 0, RegCount: 1
|
||||
Operand: 1, Acc: R-, Type: Memory, Size: 48, RawSize: 48, Encoding: M,
|
||||
Segment: 3, Base: 1,
|
||||
Operand: 2, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: Flags, RegSize: 4, RegId: 0, RegCount: 1
|
||||
|
||||
0000000000000005 f30f38dd01 AESDEC128KL xmm0, m384 ptr [rcx]
|
||||
DSIZE: 32, ASIZE: 64, VLEN: 128
|
||||
ISA Set: KL, Ins cat: AESKL, CET tracked: no
|
||||
CPUID leaf: 0x00000007, sub-leaf: 0x00000000, reg: ecx, bit: 23
|
||||
FLAGS access
|
||||
CF: 0, PF: 0, AF: 0, ZF: m, SF: 0, OF: 0,
|
||||
Valid modes
|
||||
R0: yes, R1: yes, R2: yes, R3: yes
|
||||
Real: yes, V8086: yes, Prot: yes, Compat: yes, Long: yes
|
||||
SMM on: yes, SMM off: yes, SGX on: yes, SGX off: yes, TSX on: yes, TSX off: yes
|
||||
VMXRoot: yes, VMXNonRoot: yes, VMXRoot SEAM: yes, VMXNonRoot SEAM: yes, VMX off: yes
|
||||
Valid prefixes
|
||||
REP: no, REPcc: no, LOCK: no
|
||||
HLE: no, XACQUIRE only: no, XRELEASE only: no
|
||||
BND: no, BHINT: no, DNT: no
|
||||
Operand: 0, Acc: RW, Type: Register, Size: 16, RawSize: 16, Encoding: R, RegType: Vector, RegSize: 16, RegId: 0, RegCount: 1
|
||||
Operand: 1, Acc: R-, Type: Memory, Size: 48, RawSize: 48, Encoding: M,
|
||||
Segment: 3, Base: 1,
|
||||
Operand: 2, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: Flags, RegSize: 4, RegId: 0, RegCount: 1
|
||||
|
||||
000000000000000A f30f38de08 AESENC256KL xmm1, zmmword ptr [rax]
|
||||
DSIZE: 32, ASIZE: 64, VLEN: 128
|
||||
ISA Set: KL, Ins cat: AESKL, CET tracked: no
|
||||
CPUID leaf: 0x00000007, sub-leaf: 0x00000000, reg: ecx, bit: 23
|
||||
FLAGS access
|
||||
CF: 0, PF: 0, AF: 0, ZF: m, SF: 0, OF: 0,
|
||||
Valid modes
|
||||
R0: yes, R1: yes, R2: yes, R3: yes
|
||||
Real: yes, V8086: yes, Prot: yes, Compat: yes, Long: yes
|
||||
SMM on: yes, SMM off: yes, SGX on: yes, SGX off: yes, TSX on: yes, TSX off: yes
|
||||
VMXRoot: yes, VMXNonRoot: yes, VMXRoot SEAM: yes, VMXNonRoot SEAM: yes, VMX off: yes
|
||||
Valid prefixes
|
||||
REP: no, REPcc: no, LOCK: no
|
||||
HLE: no, XACQUIRE only: no, XRELEASE only: no
|
||||
BND: no, BHINT: no, DNT: no
|
||||
Operand: 0, Acc: RW, Type: Register, Size: 16, RawSize: 16, Encoding: R, RegType: Vector, RegSize: 16, RegId: 1, RegCount: 1
|
||||
Operand: 1, Acc: R-, Type: Memory, Size: 64, RawSize: 64, Encoding: M,
|
||||
Segment: 3, Base: 0,
|
||||
Operand: 2, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: Flags, RegSize: 4, RegId: 0, RegCount: 1
|
||||
|
||||
000000000000000F f30f38df08 AESDEC256KL xmm1, zmmword ptr [rax]
|
||||
DSIZE: 32, ASIZE: 64, VLEN: 128
|
||||
ISA Set: KL, Ins cat: AESKL, CET tracked: no
|
||||
CPUID leaf: 0x00000007, sub-leaf: 0x00000000, reg: ecx, bit: 23
|
||||
FLAGS access
|
||||
CF: 0, PF: 0, AF: 0, ZF: m, SF: 0, OF: 0,
|
||||
Valid modes
|
||||
R0: yes, R1: yes, R2: yes, R3: yes
|
||||
Real: yes, V8086: yes, Prot: yes, Compat: yes, Long: yes
|
||||
SMM on: yes, SMM off: yes, SGX on: yes, SGX off: yes, TSX on: yes, TSX off: yes
|
||||
VMXRoot: yes, VMXNonRoot: yes, VMXRoot SEAM: yes, VMXNonRoot SEAM: yes, VMX off: yes
|
||||
Valid prefixes
|
||||
REP: no, REPcc: no, LOCK: no
|
||||
HLE: no, XACQUIRE only: no, XRELEASE only: no
|
||||
BND: no, BHINT: no, DNT: no
|
||||
Operand: 0, Acc: RW, Type: Register, Size: 16, RawSize: 16, Encoding: R, RegType: Vector, RegSize: 16, RegId: 1, RegCount: 1
|
||||
Operand: 1, Acc: R-, Type: Memory, Size: 64, RawSize: 64, Encoding: M,
|
||||
Segment: 3, Base: 0,
|
||||
Operand: 2, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: Flags, RegSize: 4, RegId: 0, RegCount: 1
|
||||
|
||||
0000000000000014 f30f38d800 AESENCWIDE128KL m384 ptr [rax]
|
||||
DSIZE: 32, ASIZE: 64, VLEN: -
|
||||
ISA Set: KL, Ins cat: WIDE_KL, CET tracked: no
|
||||
CPUID leaf: 0x00000007, sub-leaf: 0x00000000, reg: ecx, bit: 23
|
||||
FLAGS access
|
||||
CF: 0, PF: 0, AF: 0, ZF: m, SF: 0, OF: 0,
|
||||
Valid modes
|
||||
R0: yes, R1: yes, R2: yes, R3: yes
|
||||
Real: yes, V8086: yes, Prot: yes, Compat: yes, Long: yes
|
||||
SMM on: yes, SMM off: yes, SGX on: yes, SGX off: yes, TSX on: yes, TSX off: yes
|
||||
VMXRoot: yes, VMXNonRoot: yes, VMXRoot SEAM: yes, VMXNonRoot SEAM: yes, VMX off: yes
|
||||
Valid prefixes
|
||||
REP: no, REPcc: no, LOCK: no
|
||||
HLE: no, XACQUIRE only: no, XRELEASE only: no
|
||||
BND: no, BHINT: no, DNT: no
|
||||
Operand: 0, Acc: R-, Type: Memory, Size: 48, RawSize: 48, Encoding: M,
|
||||
Segment: 3, Base: 0,
|
||||
Operand: 1, Acc: RW, Type: Register, Size: 16, RawSize: 16, Encoding: S, RegType: Vector, RegSize: 16, RegId: 0, RegCount: 8
|
||||
Operand: 2, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: Flags, RegSize: 4, RegId: 0, RegCount: 1
|
||||
|
||||
0000000000000019 f30f38d808 AESDECWIDE128KL m384 ptr [rax]
|
||||
DSIZE: 32, ASIZE: 64, VLEN: -
|
||||
ISA Set: KL, Ins cat: WIDE_KL, CET tracked: no
|
||||
CPUID leaf: 0x00000007, sub-leaf: 0x00000000, reg: ecx, bit: 23
|
||||
FLAGS access
|
||||
CF: 0, PF: 0, AF: 0, ZF: m, SF: 0, OF: 0,
|
||||
Valid modes
|
||||
R0: yes, R1: yes, R2: yes, R3: yes
|
||||