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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 v2: use the presence of the ibm,dec-bits property to set
the CPU_FTR_LARGE_DEC bit rather than the ibm,pa-features property,
because QEMU already sets the large decrementer bit in the
ibm,pa-features property (correctly, since ibm,pa-features describes
the capabilities of the CPU hardware, not the settings established by
the host) but does not currently enable large decrementer mode for the
guest.

Paul.
---
 arch/powerpc/include/asm/cputable.h     |  4 ++-
 arch/powerpc/include/asm/kvm_host.h     |  2 +-
 arch/powerpc/kernel/prom.c              |  1 +
 arch/powerpc/kernel/time.c              |  7 ++---
 arch/powerpc/kvm/book3s_hv.c            |  2 ++
 arch/powerpc/kvm/book3s_hv_interrupts.S |  2 ++
 arch/powerpc/kvm/book3s_hv_rmhandlers.S | 51 ++++++++++++++++++++++++++-------
 arch/powerpc/kvm/emulate.c              |  4 +--
 8 files changed, 54 insertions(+), 19 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [KVM Development]     [KVM ARM]     [KVM ia64]     [Linux Virtualization]     [Linux USB Devel]     [Linux Video]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux