1. 14 Jul, 2022 22 commits
  2. 12 Jul, 2022 5 commits
  3. 08 Jul, 2022 7 commits
  4. 25 Jun, 2022 2 commits
  5. 24 Jun, 2022 4 commits
    • Paolo Bonzini's avatar
      KVM: SEV-ES: reuse advance_sev_es_emulated_ins for OUT too · db209369
      Paolo Bonzini authored
      complete_emulator_pio_in() only has to be called by
      complete_sev_es_emulated_ins() now; therefore, all that the function does
      now is adjust sev_pio_count and sev_pio_data.  Which is the same for
      both IN and OUT.
      
      No functional change intended.
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      db209369
    • Paolo Bonzini's avatar
      KVM: x86: de-underscorify __emulator_pio_in · f35cee4a
      Paolo Bonzini authored
      Now all callers except emulator_pio_in_emulated are using
      __emulator_pio_in/complete_emulator_pio_in explicitly.
      Move the "either copy the result or attempt PIO" logic in
      emulator_pio_in_emulated, and rename __emulator_pio_in to
      just emulator_pio_in.
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      f35cee4a
    • Paolo Bonzini's avatar
      KVM: x86: wean fast IN from emulator_pio_in · dc7a4bfd
      Paolo Bonzini authored
      Use __emulator_pio_in() directly for fast PIO instead of bouncing through
      emulator_pio_in() now that __emulator_pio_in() fills "val" when handling
      in-kernel PIO.  vcpu->arch.pio.count is guaranteed to be '0', so this a
      pure nop.
      
      emulator_pio_in_emulated is now the last caller of emulator_pio_in.
      
      No functional change intended.
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      dc7a4bfd
    • 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