• Paolo Bonzini's avatar
    KVM: x86: wean in-kernel PIO from vcpu->arch.pio* · 0c05e10b
    Paolo Bonzini authored
    Make emulator_pio_in_out operate directly on the provided buffer
    as long as PIO is handled inside KVM.
    
    For input operations, this means that, in the case of in-kernel
    PIO, __emulator_pio_in() does not have to be always followed
    by complete_emulator_pio_in().  This affects emulator_pio_in() and
    kvm_sev_es_ins(); for the latter, that is why the call moves from
    advance_sev_es_emulated_ins() to complete_sev_es_emulated_ins().
    
    For output, it means that vcpu->pio.count is never set unnecessarily
    and there is no need to clear it; but also vcpu->pio.size must not
    be used in kvm_sev_es_outs(), because it will not be updated for
    in-kernel OUT.
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    0c05e10b
x86.c 351 KB