Lines Matching full:mmio
373 run->mmio.phys_addr = vcpu->arch.badv; in kvm_emu_mmio_read()
385 run->mmio.len = 4; in kvm_emu_mmio_read()
388 run->mmio.len = 8; in kvm_emu_mmio_read()
400 run->mmio.len = 1; in kvm_emu_mmio_read()
404 run->mmio.len = 1; in kvm_emu_mmio_read()
407 run->mmio.len = 2; in kvm_emu_mmio_read()
411 run->mmio.len = 2; in kvm_emu_mmio_read()
414 run->mmio.len = 4; in kvm_emu_mmio_read()
418 run->mmio.len = 4; in kvm_emu_mmio_read()
421 run->mmio.len = 8; in kvm_emu_mmio_read()
434 run->mmio.len = 1; in kvm_emu_mmio_read()
437 run->mmio.len = 1; in kvm_emu_mmio_read()
441 run->mmio.len = 2; in kvm_emu_mmio_read()
444 run->mmio.len = 2; in kvm_emu_mmio_read()
448 run->mmio.len = 4; in kvm_emu_mmio_read()
451 run->mmio.len = 4; in kvm_emu_mmio_read()
455 run->mmio.len = 8; in kvm_emu_mmio_read()
467 trace_kvm_mmio(KVM_TRACE_MMIO_READ, run->mmio.len, run->mmio.phys_addr, NULL); in kvm_emu_mmio_read()
470 * If mmio device such as PCH-PIC is emulated in KVM, in kvm_emu_mmio_read()
471 * it need not return to user space to handle the mmio in kvm_emu_mmio_read()
476 run->mmio.len, &vcpu->arch.gprs[rd]); in kvm_emu_mmio_read()
486 run->mmio.is_write = 0; in kvm_emu_mmio_read()
506 switch (run->mmio.len) { in kvm_complete_mmio_read()
509 *gpr = *(s8 *)run->mmio.data; in kvm_complete_mmio_read()
511 *gpr = *(u8 *)run->mmio.data; in kvm_complete_mmio_read()
515 *gpr = *(s16 *)run->mmio.data; in kvm_complete_mmio_read()
517 *gpr = *(u16 *)run->mmio.data; in kvm_complete_mmio_read()
521 *gpr = *(s32 *)run->mmio.data; in kvm_complete_mmio_read()
523 *gpr = *(u32 *)run->mmio.data; in kvm_complete_mmio_read()
526 *gpr = *(s64 *)run->mmio.data; in kvm_complete_mmio_read()
529 kvm_err("Bad MMIO length: %d, addr is 0x%lx\n", in kvm_complete_mmio_read()
530 run->mmio.len, vcpu->arch.badv); in kvm_complete_mmio_read()
535 trace_kvm_mmio(KVM_TRACE_MMIO_READ, run->mmio.len, in kvm_complete_mmio_read()
536 run->mmio.phys_addr, run->mmio.data); in kvm_complete_mmio_read()
547 void *data = run->mmio.data; in kvm_emu_mmio_write()
557 run->mmio.phys_addr = vcpu->arch.badv; in kvm_emu_mmio_write()
566 run->mmio.len = 4; in kvm_emu_mmio_write()
570 run->mmio.len = 8; in kvm_emu_mmio_write()
585 run->mmio.len = 1; in kvm_emu_mmio_write()
589 run->mmio.len = 2; in kvm_emu_mmio_write()
593 run->mmio.len = 4; in kvm_emu_mmio_write()
597 run->mmio.len = 8; in kvm_emu_mmio_write()
611 run->mmio.len = 1; in kvm_emu_mmio_write()
615 run->mmio.len = 2; in kvm_emu_mmio_write()
619 run->mmio.len = 4; in kvm_emu_mmio_write()
623 run->mmio.len = 8; in kvm_emu_mmio_write()
636 trace_kvm_mmio(KVM_TRACE_MMIO_WRITE, run->mmio.len, run->mmio.phys_addr, data); in kvm_emu_mmio_write()
639 * If mmio device such as PCH-PIC is emulated in KVM, in kvm_emu_mmio_write()
640 * it need not return to user space to handle the mmio in kvm_emu_mmio_write()
644 ret = kvm_io_bus_write(vcpu, KVM_MMIO_BUS, vcpu->arch.badv, run->mmio.len, data); in kvm_emu_mmio_write()
649 run->mmio.is_write = 1; in kvm_emu_mmio_write()
680 /* Treat as MMIO */ in kvm_handle_rdwr_fault()
685 /* A code fetch fault doesn't count as an MMIO */ in kvm_handle_rdwr_fault()