Lines Matching refs:addr

300 	int (*get) (struct kvm_run *run, struct kvm_vcpu *vcpu, u32 addr, u64 *res);
301 int (*set) (struct kvm_run *run, struct kvm_vcpu *vcpu, u32 addr, u64 val);
304 static struct kvm_iocsr_entry *_kvm_find_iocsr(struct kvm *kvm, u32 addr)
309 if (addr == kvm->arch.iocsr[i].addr)
317 u32 addr, u64 *res)
323 entry = _kvm_find_iocsr(vcpu->kvm, addr);
333 u32 addr, u64 val)
339 entry = _kvm_find_iocsr(vcpu->kvm, addr);
348 static int kvm_misc_set(struct kvm_run *run, struct kvm_vcpu *vcpu, u32 addr,
351 return kvm_iocsr_common_set(run, vcpu, addr, val);
354 static int kvm_ipi_get(struct kvm_run *run, struct kvm_vcpu *vcpu, u32 addr,
360 run->mmio.phys_addr = KVM_IPI_REG_ADDRESS(vcpu->vcpu_id, (addr & 0xff));
373 u32 addr, u64 *res)
377 run->mmio.phys_addr = EXTIOI_PERCORE_ADDR(vcpu->vcpu_id, (addr & 0xff));
390 static int kvm_ipi_set(struct kvm_run *run, struct kvm_vcpu *vcpu, u32 addr,
395 run->mmio.phys_addr = KVM_IPI_REG_ADDRESS(vcpu->vcpu_id, (addr & 0xff));
408 static int kvm_extioi_set(struct kvm_run *run, struct kvm_vcpu *vcpu, u32 addr,
413 if ((addr & 0x1f00) == KVM_IOCSR_EXTIOI_ISR_BASE) {
414 run->mmio.phys_addr = EXTIOI_PERCORE_ADDR(vcpu->vcpu_id, (addr & 0xff));
416 run->mmio.phys_addr = EXTIOI_ADDR((addr & 0x1fff));
432 static int kvm_nop_set(struct kvm_run *run, struct kvm_vcpu *vcpu, u32 addr,
470 u32 addr, u64 *res)
478 run->iocsr_io.phys_addr = addr;
484 if (addr >= iocsr->start && addr < iocsr->end) {
486 er = iocsr->get(run, vcpu, addr, res);
491 kvm_debug("%s iocsr 0x%x not support in kvm\n", __func__, addr);
497 u32 addr, u64 val)
506 run->iocsr_io.phys_addr = addr;
512 if (addr >= iocsr->start && addr < iocsr->end) {
514 er = iocsr->set(run, vcpu, addr, val);
518 kvm_debug("%s iocsr 0x%x not support in kvm\n", __func__, addr);
609 kvm_err("Bad IOCSR length: %d,addr is 0x%lx",
627 entry = _kvm_find_iocsr(kvm, tmp.addr);
648 entry = _kvm_find_iocsr(kvm, tmp.addr);
674 kvm->arch.iocsr[i].addr = iocsr_array[i].addr;