1. 19 Feb, 2021 10 commits
  2. 18 Feb, 2021 7 commits
  3. 15 Feb, 2021 2 commits
  4. 12 Feb, 2021 7 commits
  5. 11 Feb, 2021 12 commits
  6. 10 Feb, 2021 2 commits
    • Fabiano Rosas's avatar
      KVM: PPC: Don't always report hash MMU capability for P9 < DD2.2 · a722076e
      Fabiano Rosas authored
      These machines don't support running both MMU types at the same time,
      so remove the KVM_CAP_PPC_MMU_HASH_V3 capability when the host is
      using Radix MMU.
      
      [paulus@ozlabs.org - added defensive check on
       kvmppc_hv_ops->hash_v3_possible]
      Signed-off-by: default avatarFabiano Rosas <farosas@linux.ibm.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@ozlabs.org>
      a722076e
    • Fabiano Rosas's avatar
      KVM: PPC: Book3S HV: Save and restore FSCR in the P9 path · 25edcc50
      Fabiano Rosas authored
      The Facility Status and Control Register is a privileged SPR that
      defines the availability of some features in problem state. Since it
      can be written by the guest, we must restore it to the previous host
      value after guest exit.
      
      This restoration is currently done by taking the value from
      current->thread.fscr, which in the P9 path is not enough anymore
      because the guest could context switch the QEMU thread, causing the
      guest-current value to be saved into the thread struct.
      
      The above situation manifested when running a QEMU linked against a
      libc with System Call Vectored support, which causes scv
      instructions to be run by QEMU early during the guest boot (during
      SLOF), at which point the FSCR is 0 due to guest entry. After a few
      scv calls (1 to a couple hundred), the context switching happens and
      the QEMU thread runs with the guest value, resulting in a Facility
      Unavailable interrupt.
      
      This patch saves and restores the host value of FSCR in the inner
      guest entry loop in a way independent of current->thread.fscr. The old
      way of doing it is still kept in place because it works for the old
      entry path.
      Signed-off-by: default avatarFabiano Rosas <farosas@linux.ibm.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@ozlabs.org>
      25edcc50