Searched refs:vie (Results 1 - 16 of 16) sorted by relevance

/freebsd-current/sys/amd64/include/
H A Dvmm_instruction_emul.h44 * Emulate the decoded 'vie' instruction.
54 int vmm_emulate_instruction(struct vcpu *vcpu, uint64_t gpa, struct vie *vie,
80 * 'vie' must be initialized before calling 'vmm_fetch_instruction()'
84 uint64_t rip, int inst_length, struct vie *vie,
106 void vie_restart(struct vie *vie);
107 void vie_init(struct vie *vie, cons
[all...]
H A Dvmm.h553 * The data structures 'vie' and 'vie_op' are meant to be opaque to the
566 struct vie { struct
620 _Static_assert(sizeof(struct vie) == 64, "ABI");
621 _Static_assert(__offsetof(struct vie, disp_bytes) == 22, "ABI");
622 _Static_assert(__offsetof(struct vie, scale) == 24, "ABI");
623 _Static_assert(__offsetof(struct vie, base_register) == 28, "ABI");
709 struct vie vie; member in struct:vm_exit::__anon16::__anon18
/freebsd-current/sys/amd64/vmm/
H A Dvmm_instruction_emul.c250 /* struct vie.mod */
256 /* struct vie.rm */
299 vie_calc_bytereg(struct vie *vie, enum vm_reg_name *reg, int *lhbr) argument
302 *reg = gpr_map[vie->reg];
316 if (!vie->rex_present) {
317 if (vie->reg & 0x4) {
319 *reg = gpr_map[vie->reg & 0x3];
325 vie_read_bytereg(struct vcpu *vcpu, struct vie *vie, uint8_ argument
346 vie_write_bytereg(struct vcpu *vcpu, struct vie *vie, uint8_t byte) argument
508 emulate_mov(struct vcpu *vcpu, uint64_t gpa, struct vie *vie, mem_region_read_t memread, mem_region_write_t memwrite, void *arg) argument
622 emulate_movx(struct vcpu *vcpu, uint64_t gpa, struct vie *vie, mem_region_read_t memread, mem_region_write_t memwrite __unused, void *arg) argument
763 emulate_movs(struct vcpu *vcpu, uint64_t gpa, struct vie *vie, struct vm_guest_paging *paging, mem_region_read_t memread, mem_region_write_t memwrite, void *arg) argument
945 emulate_stos(struct vcpu *vcpu, uint64_t gpa, struct vie *vie, struct vm_guest_paging *paging __unused, mem_region_read_t memread __unused, mem_region_write_t memwrite, void *arg) argument
1007 emulate_and(struct vcpu *vcpu, uint64_t gpa, struct vie *vie, mem_region_read_t memread, mem_region_write_t memwrite, void *arg) argument
1095 emulate_or(struct vcpu *vcpu, uint64_t gpa, struct vie *vie, mem_region_read_t memread, mem_region_write_t memwrite, void *arg) argument
1183 emulate_cmp(struct vcpu *vcpu, uint64_t gpa, struct vie *vie, mem_region_read_t memread, mem_region_write_t memwrite __unused, void *arg) argument
1275 emulate_test(struct vcpu *vcpu, uint64_t gpa, struct vie *vie, mem_region_read_t memread, mem_region_write_t memwrite __unused, void *arg) argument
1324 emulate_bextr(struct vcpu *vcpu, uint64_t gpa, struct vie *vie, struct vm_guest_paging *paging, mem_region_read_t memread, mem_region_write_t memwrite __unused, void *arg) argument
1401 emulate_add(struct vcpu *vcpu, uint64_t gpa, struct vie *vie, mem_region_read_t memread, mem_region_write_t memwrite __unused, void *arg) argument
1457 emulate_sub(struct vcpu *vcpu, uint64_t gpa, struct vie *vie, mem_region_read_t memread, mem_region_write_t memwrite __unused, void *arg) argument
1513 emulate_stack_op(struct vcpu *vcpu, uint64_t mmio_gpa, struct vie *vie, struct vm_guest_paging *paging, mem_region_read_t memread, mem_region_write_t memwrite, void *arg) argument
1615 emulate_push(struct vcpu *vcpu, uint64_t mmio_gpa, struct vie *vie, struct vm_guest_paging *paging, mem_region_read_t memread, mem_region_write_t memwrite, void *arg) argument
1636 emulate_pop(struct vcpu *vcpu, uint64_t mmio_gpa, struct vie *vie, struct vm_guest_paging *paging, mem_region_read_t memread, mem_region_write_t memwrite, void *arg) argument
1657 emulate_group1(struct vcpu *vcpu, uint64_t gpa, struct vie *vie, struct vm_guest_paging *paging __unused, mem_region_read_t memread, mem_region_write_t memwrite, void *memarg) argument
1685 emulate_bittest(struct vcpu *vcpu, uint64_t gpa, struct vie *vie, mem_region_read_t memread, mem_region_write_t memwrite __unused, void *memarg) argument
1728 emulate_twob_group15(struct vcpu *vcpu, uint64_t gpa, struct vie *vie, mem_region_read_t memread, mem_region_write_t memwrite __unused, void *memarg) argument
1760 vmm_emulate_instruction(struct vcpu *vcpu, uint64_t gpa, struct vie *vie, struct vm_guest_paging *paging, mem_region_read_t memread, mem_region_write_t memwrite, void *memarg) argument
1997 vie_restart(struct vie *vie) argument
2013 vie_init(struct vie *vie, const char *inst_bytes, int inst_length) argument
2284 vmm_fetch_instruction(struct vcpu *vcpu, struct vm_guest_paging *paging, uint64_t rip, int inst_length, struct vie *vie, int *faultptr) argument
2307 vie_peek(struct vie *vie, uint8_t *x) argument
2318 vie_advance(struct vie *vie) argument
2354 decode_prefixes(struct vie *vie, enum vm_cpu_mode cpu_mode, int cs_d) argument
2498 decode_two_byte_opcode(struct vie *vie) argument
2515 decode_opcode(struct vie *vie) argument
2540 decode_modrm(struct vie *vie, enum vm_cpu_mode cpu_mode) argument
2623 decode_sib(struct vie *vie) argument
2687 decode_displacement(struct vie *vie) argument
2721 decode_immediate(struct vie *vie) argument
2775 decode_moffset(struct vie *vie) argument
2812 verify_gla(struct vcpu *vcpu, uint64_t gla, struct vie *vie, enum vm_cpu_mode cpu_mode) argument
2902 vmm_decode_instruction(struct vcpu *vcpu, uint64_t gla, enum vm_cpu_mode cpu_mode, int cs_d, struct vie *vie) argument
[all...]
H A Dvmm.c1626 struct vie *vie; local
1644 vie = &vme->u.inst_emul.vie;
1651 if (vie->num_valid == 0) {
1653 VIE_INST_SIZE, vie, &fault);
1656 * The instruction bytes have already been copied into 'vie'
1663 if (vmm_decode_instruction(vcpu, gla, cpu_mode, cs_d, vie) != 0) {
1673 vme->inst_length = vie->num_processed;
1674 vcpu->nextrip += vie
[all...]
/freebsd-current/sys/arm64/vmm/
H A Dvmm_instruction_emul.c55 vmm_emulate_instruction(struct vcpu *vcpu, uint64_t gpa, struct vie *vie, argument
62 if (vie->dir == VM_DIR_READ) {
63 error = memread(vcpu, gpa, &val, vie->access_size, memarg);
66 error = vm_set_register(vcpu, vie->reg, val);
68 error = vm_get_register(vcpu, vie->reg, &val);
72 if (vie->access_size < 8)
73 val &= (1ul << (vie->access_size * 8)) - 1;
74 error = memwrite(vcpu, gpa, val, vie->access_size, memarg);
H A Dvmm_arm64.c604 struct vie *vie; local
619 vie = &vme_ret->u.inst_emul.vie;
620 vie->access_size = 1 << esr_sas;
621 vie->sign_extend = (esr_iss & ISS_DATA_SSE) ? 1 : 0;
622 vie->dir = (esr_iss & ISS_DATA_WnR) ? VM_DIR_WRITE : VM_DIR_READ;
623 vie->reg = reg_num;
H A Dvmm.c1106 struct vie *vie; local
1119 vie = &vme->u.inst_emul.vie;
1135 error = vmm_emulate_instruction(vcpu, fault_ipa, vie, paging,
/freebsd-current/usr.sbin/bhyve/
H A Dmem.h54 int emulate_mem(struct vcpu *vcpu, uint64_t paddr, struct vie *vie,
H A Dmem.c225 struct vie *vie; member in struct:emulate_mem_args
236 return (vmm_emulate_instruction(vcpu, paddr, ema->vie, ema->paging,
241 emulate_mem(struct vcpu *vcpu, uint64_t paddr, struct vie *vie, argument
246 ema.vie = vie;
/freebsd-current/sys/arm64/include/
H A Dvmm_instruction_emul.h45 * Emulate the decoded 'vie' instruction when it contains a memory operation.
55 int vmm_emulate_instruction(struct vcpu *vcpu, uint64_t gpa, struct vie *vie,
63 * register from 'vie'. 'regarg' is an opaque argument that is passed into the
H A Dvmm.h282 struct vie { struct
343 struct vie vie; member in struct:vm_exit::__anon62::__anon66
/freebsd-current/usr.sbin/bhyve/amd64/
H A Dvmexit.c347 struct vie *vie; local
353 vie = &vme->u.inst_emul.vie;
354 if (!vie->decoded) {
361 vie_restart(vie);
364 if (vmm_decode_instruction(mode, cs_d, vie) != 0)
367 vme->rip + vie->num_processed) != 0)
371 err = emulate_mem(vcpu, vme->u.inst_emul.gpa, vie,
385 for (i = 0; i < vie
[all...]
/freebsd-current/usr.sbin/bhyve/aarch64/
H A Dvmexit.c62 struct vie *vie; local
66 vie = &vme->u.inst_emul.vie;
68 err = emulate_mem(vcpu, vme->u.inst_emul.gpa, vie,
/freebsd-current/contrib/nvi/ex/
H A Dex.c1902 * difference. C'est la vie.
/freebsd-current/sys/amd64/vmm/amd/
H A Dsvm.c899 * Copy the instruction bytes into 'vie' if available.
908 vie_init(&vmexit->u.inst_emul.vie, inst_bytes, inst_len);
/freebsd-current/sys/amd64/vmm/intel/
H A Dvmx.c2101 vie_init(&vmexit->u.inst_emul.vie, NULL, 0);

Completed in 141 milliseconds