Lines Matching full:run

107 int kvm_emu_iocsr(larch_inst inst, struct kvm_run *run, struct kvm_vcpu *vcpu)  in kvm_emu_iocsr()  argument
121 run->iocsr_io.phys_addr = addr; in kvm_emu_iocsr()
122 run->iocsr_io.is_write = 0; in kvm_emu_iocsr()
127 run->iocsr_io.len = 1; in kvm_emu_iocsr()
130 run->iocsr_io.len = 2; in kvm_emu_iocsr()
133 run->iocsr_io.len = 4; in kvm_emu_iocsr()
136 run->iocsr_io.len = 8; in kvm_emu_iocsr()
139 run->iocsr_io.len = 1; in kvm_emu_iocsr()
140 run->iocsr_io.is_write = 1; in kvm_emu_iocsr()
143 run->iocsr_io.len = 2; in kvm_emu_iocsr()
144 run->iocsr_io.is_write = 1; in kvm_emu_iocsr()
147 run->iocsr_io.len = 4; in kvm_emu_iocsr()
148 run->iocsr_io.is_write = 1; in kvm_emu_iocsr()
151 run->iocsr_io.len = 8; in kvm_emu_iocsr()
152 run->iocsr_io.is_write = 1; in kvm_emu_iocsr()
160 if (run->iocsr_io.is_write) { in kvm_emu_iocsr()
162 memcpy(run->iocsr_io.data, &val, run->iocsr_io.len); in kvm_emu_iocsr()
170 int kvm_complete_iocsr_read(struct kvm_vcpu *vcpu, struct kvm_run *run) in kvm_complete_iocsr_read() argument
175 switch (run->iocsr_io.len) { in kvm_complete_iocsr_read()
177 *gpr = *(s8 *)run->iocsr_io.data; in kvm_complete_iocsr_read()
180 *gpr = *(s16 *)run->iocsr_io.data; in kvm_complete_iocsr_read()
183 *gpr = *(s32 *)run->iocsr_io.data; in kvm_complete_iocsr_read()
186 *gpr = *(s64 *)run->iocsr_io.data; in kvm_complete_iocsr_read()
190 run->iocsr_io.len, vcpu->arch.badv); in kvm_complete_iocsr_read()
216 struct kvm_run *run = vcpu->run; in kvm_trap_handle_gspr() local
255 er = kvm_emu_iocsr(inst, run, vcpu); in kvm_trap_handle_gspr()
303 vcpu->run->exit_reason = KVM_EXIT_MMIO; in kvm_handle_gspr()
306 vcpu->run->exit_reason = KVM_EXIT_LOONGARCH_IOCSR; in kvm_handle_gspr()
320 struct kvm_run *run = vcpu->run; in kvm_emu_mmio_read() local
322 run->mmio.phys_addr = vcpu->arch.badv; in kvm_emu_mmio_read()
334 run->mmio.len = 4; in kvm_emu_mmio_read()
337 run->mmio.len = 8; in kvm_emu_mmio_read()
349 run->mmio.len = 1; in kvm_emu_mmio_read()
353 run->mmio.len = 1; in kvm_emu_mmio_read()
356 run->mmio.len = 2; in kvm_emu_mmio_read()
360 run->mmio.len = 2; in kvm_emu_mmio_read()
363 run->mmio.len = 4; in kvm_emu_mmio_read()
367 run->mmio.len = 4; in kvm_emu_mmio_read()
370 run->mmio.len = 8; in kvm_emu_mmio_read()
383 run->mmio.len = 1; in kvm_emu_mmio_read()
386 run->mmio.len = 1; in kvm_emu_mmio_read()
390 run->mmio.len = 2; in kvm_emu_mmio_read()
393 run->mmio.len = 2; in kvm_emu_mmio_read()
397 run->mmio.len = 4; in kvm_emu_mmio_read()
400 run->mmio.len = 4; in kvm_emu_mmio_read()
404 run->mmio.len = 8; in kvm_emu_mmio_read()
418 run->mmio.is_write = 0; in kvm_emu_mmio_read()
430 int kvm_complete_mmio_read(struct kvm_vcpu *vcpu, struct kvm_run *run) in kvm_complete_mmio_read() argument
437 switch (run->mmio.len) { in kvm_complete_mmio_read()
440 *gpr = *(s8 *)run->mmio.data; in kvm_complete_mmio_read()
442 *gpr = *(u8 *)run->mmio.data; in kvm_complete_mmio_read()
446 *gpr = *(s16 *)run->mmio.data; in kvm_complete_mmio_read()
448 *gpr = *(u16 *)run->mmio.data; in kvm_complete_mmio_read()
452 *gpr = *(s32 *)run->mmio.data; in kvm_complete_mmio_read()
454 *gpr = *(u32 *)run->mmio.data; in kvm_complete_mmio_read()
457 *gpr = *(s64 *)run->mmio.data; in kvm_complete_mmio_read()
461 run->mmio.len, vcpu->arch.badv); in kvm_complete_mmio_read()
474 struct kvm_run *run = vcpu->run; in kvm_emu_mmio_write() local
475 void *data = run->mmio.data; in kvm_emu_mmio_write()
485 run->mmio.phys_addr = vcpu->arch.badv; in kvm_emu_mmio_write()
494 run->mmio.len = 4; in kvm_emu_mmio_write()
498 run->mmio.len = 8; in kvm_emu_mmio_write()
513 run->mmio.len = 1; in kvm_emu_mmio_write()
517 run->mmio.len = 2; in kvm_emu_mmio_write()
521 run->mmio.len = 4; in kvm_emu_mmio_write()
525 run->mmio.len = 8; in kvm_emu_mmio_write()
539 run->mmio.len = 1; in kvm_emu_mmio_write()
543 run->mmio.len = 2; in kvm_emu_mmio_write()
547 run->mmio.len = 4; in kvm_emu_mmio_write()
551 run->mmio.len = 8; in kvm_emu_mmio_write()
564 run->mmio.is_write = 1; in kvm_emu_mmio_write()
583 struct kvm_run *run = vcpu->run; in kvm_handle_rdwr_fault() local
606 run->exit_reason = KVM_EXIT_MMIO; in kvm_handle_rdwr_fault()
635 struct kvm_run *run = vcpu->run; in kvm_handle_fpu_disabled() local
649 run->exit_reason = KVM_EXIT_INTERNAL_ERROR; in kvm_handle_fpu_disabled()