• Home
  • Raw
  • Download

Lines Matching full:run

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);
316 static int kvm_iocsr_common_get(struct kvm_run *run, struct kvm_vcpu *vcpu, in kvm_iocsr_common_get() argument
332 static int kvm_iocsr_common_set(struct kvm_run *run, struct kvm_vcpu *vcpu, in kvm_iocsr_common_set() argument
348 static int kvm_misc_set(struct kvm_run *run, struct kvm_vcpu *vcpu, u32 addr, in kvm_misc_set() argument
351 return kvm_iocsr_common_set(run, vcpu, addr, val); in kvm_misc_set()
354 static int kvm_ipi_get(struct kvm_run *run, struct kvm_vcpu *vcpu, u32 addr, in kvm_ipi_get() argument
360 run->mmio.phys_addr = KVM_IPI_REG_ADDRESS(vcpu->vcpu_id, (addr & 0xff)); in kvm_ipi_get()
361 ret = kvm_io_bus_read(vcpu, KVM_MMIO_BUS, run->mmio.phys_addr, in kvm_ipi_get()
362 run->mmio.len, res); in kvm_ipi_get()
364 run->mmio.is_write = 0; in kvm_ipi_get()
372 static int kvm_extioi_isr_get(struct kvm_run *run, struct kvm_vcpu *vcpu, in kvm_extioi_isr_get() argument
377 run->mmio.phys_addr = EXTIOI_PERCORE_ADDR(vcpu->vcpu_id, (addr & 0xff)); in kvm_extioi_isr_get()
378 ret = kvm_io_bus_read(vcpu, KVM_MMIO_BUS, run->mmio.phys_addr, in kvm_extioi_isr_get()
379 run->mmio.len, res); in kvm_extioi_isr_get()
381 run->mmio.is_write = 0; in kvm_extioi_isr_get()
390 static int kvm_ipi_set(struct kvm_run *run, struct kvm_vcpu *vcpu, u32 addr, in kvm_ipi_set() argument
395 run->mmio.phys_addr = KVM_IPI_REG_ADDRESS(vcpu->vcpu_id, (addr & 0xff)); in kvm_ipi_set()
396 ret = kvm_io_bus_write(vcpu, KVM_MMIO_BUS, run->mmio.phys_addr, in kvm_ipi_set()
397 run->mmio.len, &val); in kvm_ipi_set()
399 run->mmio.is_write = 1; in kvm_ipi_set()
408 static int kvm_extioi_set(struct kvm_run *run, struct kvm_vcpu *vcpu, u32 addr, in kvm_extioi_set() argument
414 run->mmio.phys_addr = EXTIOI_PERCORE_ADDR(vcpu->vcpu_id, (addr & 0xff)); in kvm_extioi_set()
416 run->mmio.phys_addr = EXTIOI_ADDR((addr & 0x1fff)); in kvm_extioi_set()
419 ret = kvm_io_bus_write(vcpu, KVM_MMIO_BUS, run->mmio.phys_addr, in kvm_extioi_set()
420 run->mmio.len, &val); in kvm_extioi_set()
422 memcpy(run->mmio.data, &val, run->mmio.len); in kvm_extioi_set()
423 run->mmio.is_write = 1; in kvm_extioi_set()
432 static int kvm_nop_set(struct kvm_run *run, struct kvm_vcpu *vcpu, u32 addr, in kvm_nop_set() argument
469 static int _kvm_emu_iocsr_read(struct kvm_run *run, struct kvm_vcpu *vcpu, in _kvm_emu_iocsr_read() argument
477 run->iocsr_io.len = run->mmio.len; in _kvm_emu_iocsr_read()
478 run->iocsr_io.phys_addr = addr; in _kvm_emu_iocsr_read()
479 run->iocsr_io.is_write = 0; in _kvm_emu_iocsr_read()
486 er = iocsr->get(run, vcpu, addr, res); in _kvm_emu_iocsr_read()
496 static int _kvm_emu_iocsr_write(struct kvm_run *run, struct kvm_vcpu *vcpu, in _kvm_emu_iocsr_write() argument
504 run->iocsr_io.len = run->mmio.len; in _kvm_emu_iocsr_write()
505 memcpy(run->iocsr_io.data, &val, run->iocsr_io.len); in _kvm_emu_iocsr_write()
506 run->iocsr_io.phys_addr = addr; in _kvm_emu_iocsr_write()
507 run->iocsr_io.is_write = 1; in _kvm_emu_iocsr_write()
514 er = iocsr->set(run, vcpu, addr, val); in _kvm_emu_iocsr_write()
525 struct kvm_run *run, struct kvm_vcpu *vcpu) in _kvm_emu_iocsr() argument
543 run->mmio.len = 1; in _kvm_emu_iocsr()
544 ret = _kvm_emu_iocsr_read(run, vcpu, val, &res); in _kvm_emu_iocsr()
548 run->mmio.len = 2; in _kvm_emu_iocsr()
549 ret = _kvm_emu_iocsr_read(run, vcpu, val, &res); in _kvm_emu_iocsr()
553 run->mmio.len = 4; in _kvm_emu_iocsr()
554 ret = _kvm_emu_iocsr_read(run, vcpu, val, &res); in _kvm_emu_iocsr()
558 run->mmio.len = 8; in _kvm_emu_iocsr()
559 ret = _kvm_emu_iocsr_read(run, vcpu, val, &res); in _kvm_emu_iocsr()
563 run->mmio.len = 1; in _kvm_emu_iocsr()
564 ret = _kvm_emu_iocsr_write(run, vcpu, val, (u8)res); in _kvm_emu_iocsr()
567 run->mmio.len = 2; in _kvm_emu_iocsr()
568 ret = _kvm_emu_iocsr_write(run, vcpu, val, (u16)res); in _kvm_emu_iocsr()
571 run->mmio.len = 4; in _kvm_emu_iocsr()
572 ret = _kvm_emu_iocsr_write(run, vcpu, val, (u32)res); in _kvm_emu_iocsr()
575 run->mmio.len = 8; in _kvm_emu_iocsr()
576 ret = _kvm_emu_iocsr_write(run, vcpu, val, res); in _kvm_emu_iocsr()
590 int _kvm_complete_iocsr_read(struct kvm_vcpu *vcpu, struct kvm_run *run) in _kvm_complete_iocsr_read() argument
595 switch (run->iocsr_io.len) { in _kvm_complete_iocsr_read()
597 *gpr = *(s64 *)run->iocsr_io.data; in _kvm_complete_iocsr_read()
600 *gpr = *(int *)run->iocsr_io.data; in _kvm_complete_iocsr_read()
603 *gpr = *(short *)run->iocsr_io.data; in _kvm_complete_iocsr_read()
606 *gpr = *(char *) run->iocsr_io.data; in _kvm_complete_iocsr_read()
610 run->iocsr_io.len, vcpu->arch.badv); in _kvm_complete_iocsr_read()