diff options
author | Conrad Meyer <cem@FreeBSD.org> | 2020-04-21 21:33:06 +0000 |
---|---|---|
committer | Conrad Meyer <cem@FreeBSD.org> | 2020-04-21 21:33:06 +0000 |
commit | cfdea69d240b3e24180b10b1bd2fa19126f9fa8e (patch) | |
tree | 9a518228807c99e4f12cf3296d50efb010035a27 /sys/amd64/include | |
parent | cfac584b60b59c167b8417378a81da35a001af97 (diff) | |
download | src-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.h | 9 |
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 */ |