Lines Matching refs:pio
2262 vcpu->arch.pio.string = 0; in emulate_instruction()
2298 if (vcpu->arch.pio.string) in emulate_instruction()
2334 for (i = 0; i < ARRAY_SIZE(vcpu->arch.pio.guest_pages); ++i) in free_pio_guest_pages()
2335 if (vcpu->arch.pio.guest_pages[i]) { in free_pio_guest_pages()
2336 kvm_release_page_dirty(vcpu->arch.pio.guest_pages[i]); in free_pio_guest_pages()
2337 vcpu->arch.pio.guest_pages[i] = NULL; in free_pio_guest_pages()
2346 int nr_pages = vcpu->arch.pio.guest_pages[1] ? 2 : 1; in pio_copy_data()
2348 q = vmap(vcpu->arch.pio.guest_pages, nr_pages, VM_READ|VM_WRITE, in pio_copy_data()
2354 q += vcpu->arch.pio.guest_page_offset; in pio_copy_data()
2355 bytes = vcpu->arch.pio.size * vcpu->arch.pio.cur_count; in pio_copy_data()
2356 if (vcpu->arch.pio.in) in pio_copy_data()
2360 q -= vcpu->arch.pio.guest_page_offset; in pio_copy_data()
2368 struct kvm_pio_request *io = &vcpu->arch.pio; in complete_pio()
2424 if (vcpu->arch.pio.in) in kernel_pio()
2425 kvm_iodevice_read(pio_dev, vcpu->arch.pio.port, in kernel_pio()
2426 vcpu->arch.pio.size, in kernel_pio()
2429 kvm_iodevice_write(pio_dev, vcpu->arch.pio.port, in kernel_pio()
2430 vcpu->arch.pio.size, in kernel_pio()
2438 struct kvm_pio_request *io = &vcpu->arch.pio; in pio_string_write()
2467 vcpu->run->io.size = vcpu->arch.pio.size = size; in kvm_emulate_pio()
2469 vcpu->run->io.count = vcpu->arch.pio.count = vcpu->arch.pio.cur_count = 1; in kvm_emulate_pio()
2470 vcpu->run->io.port = vcpu->arch.pio.port = port; in kvm_emulate_pio()
2471 vcpu->arch.pio.in = in; in kvm_emulate_pio()
2472 vcpu->arch.pio.string = 0; in kvm_emulate_pio()
2473 vcpu->arch.pio.down = 0; in kvm_emulate_pio()
2474 vcpu->arch.pio.guest_page_offset = 0; in kvm_emulate_pio()
2475 vcpu->arch.pio.rep = 0; in kvm_emulate_pio()
2509 vcpu->run->io.size = vcpu->arch.pio.size = size; in kvm_emulate_pio_string()
2511 vcpu->run->io.count = vcpu->arch.pio.count = vcpu->arch.pio.cur_count = count; in kvm_emulate_pio_string()
2512 vcpu->run->io.port = vcpu->arch.pio.port = port; in kvm_emulate_pio_string()
2513 vcpu->arch.pio.in = in; in kvm_emulate_pio_string()
2514 vcpu->arch.pio.string = 1; in kvm_emulate_pio_string()
2515 vcpu->arch.pio.down = down; in kvm_emulate_pio_string()
2516 vcpu->arch.pio.guest_page_offset = offset_in_page(address); in kvm_emulate_pio_string()
2517 vcpu->arch.pio.rep = rep; in kvm_emulate_pio_string()
2554 vcpu->arch.pio.cur_count = now; in kvm_emulate_pio_string()
2556 if (vcpu->arch.pio.cur_count == vcpu->arch.pio.count) in kvm_emulate_pio_string()
2561 vcpu->arch.pio.guest_pages[i] = page; in kvm_emulate_pio_string()
2570 vcpu->arch.pio.cur_count, in kvm_emulate_pio_string()
2571 !vcpu->arch.pio.in); in kvm_emulate_pio_string()
2572 if (!vcpu->arch.pio.in) { in kvm_emulate_pio_string()
2578 if (vcpu->arch.pio.count == 0) in kvm_emulate_pio_string()
3127 if (vcpu->arch.pio.cur_count) { in kvm_arch_vcpu_ioctl_run()