search for: inst_decoder_reg

Displaying 3 results from an estimated 3 matches for "inst_decoder_reg".

Did you mean: inst_decoder_regs
2005 Apr 02
1
[PATCH] VMX support for MMIO/PIO in VM8086 mode
...86, + (inst+1), thread_inst->op_size); break; - case 0x0f: break; default: @@ -425,6 +466,7 @@ struct exec_domain *d = current; vcpu_iodata_t *vio; ioreq_t *p; + int vm86; struct mi_per_cpu_info *mpci_p; struct xen_regs *inst_decoder_regs; extern long evtchn_send(int lport); @@ -432,53 +474,59 @@ mpci_p = &current->arch.arch_vmx.vmx_platform.mpci; inst_decoder_regs = mpci_p->inst_decoder_regs; + vio = (vcpu_iodata_t *) d->arch.arch_vmx.vmx_platform.shared_page_va; - if (vio == NULL) {...
2005 Jun 30
0
[PATCH][2/10] Extend the VMX intercept mechanism to include mmio as well as portio.
...48 2005 +++ b/xen/arch/x86/vmx_platform.c Thu Jun 30 04:08:50 2005 @@ -606,12 +606,11 @@ if ((pvalid) && vmx_paging_enabled(current)) p->u.pdata = (void *) gva_to_gpa(p->u.data); -#if 0 - printf("send_mmio_req: eip 0x%lx:0x%lx, dir %d, pdata_valid %d, ", - inst_decoder_regs->cs, inst_decoder_regs->eip, p->dir, p->pdata_valid); - printf("port_mm %d, size %lld, addr 0x%llx, value 0x%lx, count %lld\n", - p->port_mm, p->size, p->addr, value, p->count); -#endif + if (vmx_mmio_intercept(p)){ + p->state = STATE_IORESP_READY;...
2005 Nov 03
0
[PATCH] vmx-platform-vmread.patch
...ong va, unsigned long gpa) { - unsigned long eip, eflags, cs; unsigned long inst_len, inst_addr; struct mmio_op *mmio_opp; struct cpu_user_regs *regs; @@ -734,18 +725,17 @@ int i, vm86, ret; mmio_opp = &current->arch.arch_vmx.mmio_op; + regs = mmio_opp->inst_decoder_regs; - - __vmread(GUEST_RIP, &eip); + store_cpu_user_regs(regs); + __vmread(VM_EXIT_INSTRUCTION_LEN, &inst_len); - __vmread(GUEST_RFLAGS, &eflags); - vm86 = eflags & X86_EFLAGS_VM; - - if (vm86) { - __vmread(GUEST_CS_SELECTOR, &cs); - inst_addr = (...