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(-)