[SRU][linux-aws/focal][PULL] add pvtime support for arm64 guests
Kamal Mostafa
kamal at canonical.com
Tue Jul 28 20:17:10 UTC 2020
BugLink: https://bugs.launchpad.net/bugs/1889282
The mainline patch set "arm64: Stolen time support" and its prerequisites are
required to support future AWS instance types.
Almost all clean mainline cherry-picks (one trivial backport).
Internal AWS testing yields positive test results for aws/focal and
aws-5.4/bionic test kernels.
-Kamal
-----
The following changes since commit 69f6f4ceb31b6bad0e2460c7518e9c288c72e642:
UBUNTU: Ubuntu-aws-5.4.0-1021.21 (2020-07-24 11:24:21 +0200)
are available in the Git repository at:
git://git.launchpad.net/~kamalmostafa/ubuntu/+source/linux-aws/+git/focal lp1889282-aws-pvtime
for you to fetch changes up to e2b961e47d0d322c27bf7a965c8e425853096ef7:
arm64: Retrieve stolen time as paravirtualized guest (2020-07-28 08:16:00 -0700)
----------------------------------------------------------------
Christoffer Dall (1):
KVM: arm/arm64: Factor out hypercall handling from PSCI code
Mark Rutland (5):
arm/arm64: smccc/psci: add arm_smccc_1_1_get_conduit()
arm64: errata: use arm_smccc_1_1_get_conduit()
arm: spectre-v2: use arm_smccc_1_1_get_conduit()
firmware/psci: use common SMCCC_CONDUIT_*
firmware: arm_sdei: use common SMCCC_CONDUIT_*
Steven Price (9):
KVM: arm64: Document PV-time interface
KVM: arm64: Implement PV_TIME_FEATURES call
KVM: Implement kvm_put_guest()
KVM: arm64: Support stolen time reporting via shared structure
KVM: Allow kvm_device_ops to be const
KVM: arm64: Provide VCPU attributes for stolen time
arm/arm64: Provide a wrapper for SMCCC 1.1 calls
arm/arm64: Make use of the SMCCC 1.1 wrapper
arm64: Retrieve stolen time as paravirtualized guest
Documentation/admin-guide/kernel-parameters.txt | 6 +-
Documentation/virt/kvm/arm/pvtime.rst | 80 ++++++++++++++
Documentation/virt/kvm/devices/vcpu.txt | 14 +++
arch/arm/include/asm/kvm_host.h | 25 +++++
arch/arm/kvm/Makefile | 2 +-
arch/arm/kvm/handle_exit.c | 2 +-
arch/arm/mm/proc-v7-bugs.c | 21 ++--
arch/arm64/include/asm/kvm_host.h | 29 +++++
arch/arm64/include/asm/paravirt.h | 9 +-
arch/arm64/include/asm/pvclock-abi.h | 17 +++
arch/arm64/include/uapi/asm/kvm.h | 2 +
arch/arm64/kernel/cpu_errata.c | 102 ++++++-----------
arch/arm64/kernel/paravirt.c | 140 ++++++++++++++++++++++++
arch/arm64/kernel/sdei.c | 3 +-
arch/arm64/kernel/time.c | 3 +
arch/arm64/kvm/Kconfig | 1 +
arch/arm64/kvm/Makefile | 2 +
arch/arm64/kvm/guest.c | 9 ++
arch/arm64/kvm/handle_exit.c | 4 +-
drivers/firmware/arm_sdei.c | 12 +-
drivers/firmware/psci/psci.c | 24 ++--
include/kvm/arm_hypercalls.h | 43 ++++++++
include/kvm/arm_psci.h | 2 +-
include/linux/arm-smccc.h | 75 +++++++++++++
include/linux/arm_sdei.h | 6 -
include/linux/cpuhotplug.h | 1 +
include/linux/kvm_host.h | 26 ++++-
include/linux/kvm_types.h | 2 +
include/linux/psci.h | 9 +-
include/uapi/linux/kvm.h | 2 +
virt/kvm/arm/arm.c | 11 ++
virt/kvm/arm/hypercalls.c | 71 ++++++++++++
virt/kvm/arm/psci.c | 84 +-------------
virt/kvm/arm/pvtime.c | 131 ++++++++++++++++++++++
virt/kvm/kvm_main.c | 6 +-
35 files changed, 769 insertions(+), 207 deletions(-)
create mode 100644 Documentation/virt/kvm/arm/pvtime.rst
create mode 100644 arch/arm64/include/asm/pvclock-abi.h
create mode 100644 include/kvm/arm_hypercalls.h
create mode 100644 virt/kvm/arm/hypercalls.c
create mode 100644 virt/kvm/arm/pvtime.c
More information about the kernel-team
mailing list