[SRU][linux-aws-5.4/bionic][PULL] add pvtime support for arm64 guests
Kamal Mostafa
kamal at canonical.com
Tue Jul 28 20:17:11 UTC 2020
*Notes:
- This pull req is for the linux-aws/bionic 'aws-5.4-next' branch.
- The commits are identical to the [linux-aws/focal] pull req.
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 aa93bdda9d85ffaf6c4d216b2a4c758e390c5d01:
UBUNTU: Ubuntu-aws-5.4-5.4.0-1020.20~18.04.2 (2020-07-14 01:25:27 -0400)
are available in the Git repository at:
git://git.launchpad.net/~kamalmostafa/ubuntu/+source/linux-aws/+git/bionic lp1889282-aws-pvtime
for you to fetch changes up to 84e0930d06d284e35bb8e83fa5175cf76b999817:
arm64: Retrieve stolen time as paravirtualized guest (2020-07-28 10:16:13 -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