aboutsummaryrefslogtreecommitdiff
path: root/sys/amd64/include
diff options
context:
space:
mode:
authorConrad Meyer <cem@FreeBSD.org>2020-06-25 00:18:42 +0000
committerConrad Meyer <cem@FreeBSD.org>2020-06-25 00:18:42 +0000
commit4daa95f85d4c5b077295b4e1be1f5163b5dacfe9 (patch)
tree4c95208c87ab228ca816d2f97f9c6b30dc91c531 /sys/amd64/include
parent54cca285fc3d32e0be4028d17c055424b49f4f7d (diff)
Notes
Diffstat (limited to 'sys/amd64/include')
-rw-r--r--sys/amd64/include/vmm.h3
-rw-r--r--sys/amd64/include/vmm_instruction_emul.h1
2 files changed, 4 insertions, 0 deletions
diff --git a/sys/amd64/include/vmm.h b/sys/amd64/include/vmm.h
index 70909510c9830..aa409936c8d99 100644
--- a/sys/amd64/include/vmm.h
+++ b/sys/amd64/include/vmm.h
@@ -546,6 +546,9 @@ _Static_assert(_Alignof(struct vie_op) == 2, "ABI");
struct vie {
uint8_t inst[VIE_INST_SIZE]; /* instruction bytes */
uint8_t num_valid; /* size of the instruction */
+
+/* The following fields are all zeroed upon restart. */
+#define vie_startzero num_processed
uint8_t num_processed;
uint8_t addrsize:4, opsize:4; /* address and operand sizes */
diff --git a/sys/amd64/include/vmm_instruction_emul.h b/sys/amd64/include/vmm_instruction_emul.h
index d084301aee0ba..4077e0d693e54 100644
--- a/sys/amd64/include/vmm_instruction_emul.h
+++ b/sys/amd64/include/vmm_instruction_emul.h
@@ -105,6 +105,7 @@ int vm_gla2gpa_nofault(struct vm *vm, int vcpuid, struct vm_guest_paging *paging
uint64_t gla, int prot, uint64_t *gpa, int *is_fault);
#endif /* _KERNEL */
+void vie_restart(struct vie *vie);
void vie_init(struct vie *vie, const char *inst_bytes, int inst_length);
/*