[PATCH V3 0/2] KVM: PPC: Book3S HV: Support POWER9's large decrementer mode

Paul Mackerras paulus at ozlabs.org
Mon May 29 20:11:13 AEST 2017


One of the new features of POWER9 is that the decrementer (the
facility that provides an interrupt after a programmable length of
time) has been increased in size from 32 bits to 56 bits, allowing
time intervals of up to about 814 days, compared to 4 seconds
previously.  This patch series adds support for the large decrementer
mode to HV KVM.  There is already code in the host kernel to enable
large decrementer mode for the host, which means that some of the KVM
entry/exit code is currently incorrect; the first patch fixes that.
The second patch allows userspace to enable large decrementer mode for
the guest, by setting the appropriate bit in the guest LPCR value.

Changes in v3: Don't use up a CPU feature bit, since there is actually
only one place that needs a feature section.  For that, we can test the
value of the LPCR_LD bit in the image of the host LPCR that is kept in
the kvm struct.  This means that this patch set now only touches KVM
code.

Paul.
---
 arch/powerpc/include/asm/kvm_host.h     |  2 +-
 arch/powerpc/kvm/book3s_hv.c            |  6 ++++
 arch/powerpc/kvm/book3s_hv_interrupts.S | 12 +++++++-
 arch/powerpc/kvm/book3s_hv_rmhandlers.S | 50 ++++++++++++++++++++++++++-------
 arch/powerpc/kvm/emulate.c              |  4 +--
 5 files changed, 60 insertions(+), 14 deletions(-)


More information about the Linuxppc-dev mailing list