aboutsummaryrefslogtreecommitdiff
path: root/sys/amd64/include
diff options
context:
space:
mode:
authorConrad Meyer <cem@FreeBSD.org>2020-04-21 21:33:06 +0000
committerConrad Meyer <cem@FreeBSD.org>2020-04-21 21:33:06 +0000
commitcfdea69d240b3e24180b10b1bd2fa19126f9fa8e (patch)
tree9a518228807c99e4f12cf3296d50efb010035a27 /sys/amd64/include
parentcfac584b60b59c167b8417378a81da35a001af97 (diff)
downloadsrc-cfdea69d240b3e24180b10b1bd2fa19126f9fa8e.tar.gz
src-cfdea69d240b3e24180b10b1bd2fa19126f9fa8e.zip
vmm(4): Decode 3-byte VEX-prefixed instructions
Reviewed by: grehan Differential Revision: https://reviews.freebsd.org/D24462
Notes
Notes: svn path=/head/; revision=360176
Diffstat (limited to 'sys/amd64/include')
-rw-r--r--sys/amd64/include/vmm.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/sys/amd64/include/vmm.h b/sys/amd64/include/vmm.h
index c9f3b865b553..a08c90ed20be 100644
--- a/sys/amd64/include/vmm.h
+++ b/sys/amd64/include/vmm.h
@@ -541,7 +541,8 @@ struct vie {
rm:4;
uint8_t ss:2, /* SIB byte */
- _sparebits:2,
+ vex_present:1, /* VEX prefixed */
+ vex_l:1, /* L bit */
index:4, /* SIB byte */
base:4; /* SIB byte */
@@ -550,7 +551,11 @@ struct vie {
uint8_t scale;
- uint8_t _sparebytes[3];
+ uint8_t vex_reg:4, /* vvvv: first source register specifier */
+ vex_pp:2, /* pp */
+ _sparebits:2;
+
+ uint8_t _sparebytes[2];
int base_register; /* VM_REG_GUEST_xyz */
int index_register; /* VM_REG_GUEST_xyz */