vre
struct vre vre;
struct vre;
int vmm_emulate_register(struct vcpu *vcpu, struct vre *vre, reg_read_t regread,
struct vre *vre;
vre = &vme->u.reg_emul.vre;
if ((vre->inst_syndrome & vm->special_reg[i].esr_mask) ==
rv = vmm_emulate_register(vcpu, vre,
if ((vre->inst_syndrome & vmm_special_regs[i].esr_mask) ==
rv = vmm_emulate_register(vcpu, vre,
struct vre *vre;
vre = &vme_ret->u.reg_emul.vre;
vre->inst_syndrome = esr_iss;
vre->dir = (esr_iss & ISS_MSR_DIR) ? VM_DIR_READ : VM_DIR_WRITE;
vre->reg = reg_num;
vmm_emulate_register(struct vcpu *vcpu, struct vre *vre, reg_read_t regread,
if (vre->dir == VM_DIR_READ) {
error = vm_set_register(vcpu, vre->reg, val);
error = vm_get_register(vcpu, vre->reg, &val);
struct vre;
int vmm_emulate_register(struct vcpu *vcpu, struct vre *vre, reg_read_t regread,
error = vm_get_register(vcpu, vre->reg, &val);
vmm_emulate_register(struct vcpu *vcpu, struct vre *vre, reg_read_t regread,
if (vre->dir == VM_DIR_READ) {
error = vm_set_register(vcpu, vre->reg, val);
vme->pc, vre->inst_syndrome, vre->reg);
struct vre *vre;
vre = &vme->u.reg_emul.vre;