kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v19 0/7] KVM: arm64: Add host/guest KVM-PTP support
@ 2021-03-30 14:54 Marc Zyngier
  2021-03-30 14:54 ` [PATCH v19 1/7] arm/arm64: Probe for the presence of KVM hypervisor Marc Zyngier
                   ` (6 more replies)
  0 siblings, 7 replies; 25+ messages in thread
From: Marc Zyngier @ 2021-03-30 14:54 UTC (permalink / raw)
  To: netdev, yangbo.lu, john.stultz, tglx, pbonzini, seanjc,
	richardcochran, Mark.Rutland, will, suzuki.poulose,
	Andre.Przywara, steven.price, lorenzo.pieralisi, sudeep.holla
  Cc: linux-kernel, linux-arm-kernel, kvmarm, kvm, Steve.Capper,
	justin.he, jianyong.wu, kernel-team

Given that this series[0] has languished in my Inbox for the best of the
past two years, and in an effort to eventually get it merged, I've
taken the liberty to pick it up and do the changes I wanted to see
instead of waiting to go through yet another round.

All the patches have a link to their original counterpart (though I
have squashed a couple of them where it made sense). Tested both 64
and 32bit guests for a good measure. Of course, I claim full
responsibility for any bug introduced here.

Unless someone screams now, this is going in 5.13, because I'm frankly
fed up with it! ;-)

* From v18 [2]
  - Fix kvm_hypercall2() return type
  - Rebased on top of 5.12-rc3
  - Added RBs

* From v17 [1]:
  - Fixed compilation issue on 32bit systems not selecting
    CONFIG_HAVE_ARM_SMCCC_DISCOVERY
  - Fixed KVM service discovery not properly parsing the reply
    from the hypervisor

* From v16 [0]:
  - Moved the KVM service discovery to its own file, plugged it into
    PSCI instead of the arch code, dropped the inlining, made use of
    asm/hypervisor.h.
  - Tidied-up the namespacing
  - Cleanup the hypercall handler
  - De-duplicate the guest code
  - Tidied-up arm64-specific documentation
  - Dropped the generic PTP documentation as it needs a new location,
    and some cleanup
  - Squashed hypercall documentation and capability into the
    main KVM patch
  - Rebased on top of 5.11-rc4

[0] https://lore.kernel.org/r/20201209060932.212364-1-jianyong.wu@arm.com
[1] https://lore.kernel.org/r/20210202141204.3134855-1-maz@kernel.org
[2] https://lore.kernel.org/r/20210208134029.3269384-1-maz@kernel.org

Jianyong Wu (4):
  ptp: Reorganize ptp_kvm.c to make it arch-independent
  clocksource: Add clocksource id for arm arch counter
  KVM: arm64: Add support for the KVM PTP service
  ptp: arm/arm64: Enable ptp_kvm for arm/arm64

Thomas Gleixner (1):
  time: Add mechanism to recognize clocksource in time_get_snapshot

Will Deacon (2):
  arm/arm64: Probe for the presence of KVM hypervisor
  KVM: arm64: Advertise KVM UID to guests via SMCCC

 Documentation/virt/kvm/api.rst              | 10 +++
 Documentation/virt/kvm/arm/index.rst        |  1 +
 Documentation/virt/kvm/arm/ptp_kvm.rst      | 25 ++++++
 arch/arm/include/asm/hypervisor.h           |  3 +
 arch/arm64/include/asm/hypervisor.h         |  3 +
 arch/arm64/kvm/arm.c                        |  1 +
 arch/arm64/kvm/hypercalls.c                 | 80 +++++++++++++++--
 drivers/clocksource/arm_arch_timer.c        | 36 ++++++++
 drivers/firmware/psci/psci.c                |  2 +
 drivers/firmware/smccc/Makefile             |  2 +-
 drivers/firmware/smccc/kvm_guest.c          | 50 +++++++++++
 drivers/firmware/smccc/smccc.c              |  1 +
 drivers/ptp/Kconfig                         |  2 +-
 drivers/ptp/Makefile                        |  2 +
 drivers/ptp/ptp_kvm_arm.c                   | 28 ++++++
 drivers/ptp/{ptp_kvm.c => ptp_kvm_common.c} | 84 +++++-------------
 drivers/ptp/ptp_kvm_x86.c                   | 97 +++++++++++++++++++++
 include/linux/arm-smccc.h                   | 41 +++++++++
 include/linux/clocksource.h                 |  6 ++
 include/linux/clocksource_ids.h             | 12 +++
 include/linux/ptp_kvm.h                     | 19 ++++
 include/linux/timekeeping.h                 | 12 +--
 include/uapi/linux/kvm.h                    |  1 +
 kernel/time/clocksource.c                   |  2 +
 kernel/time/timekeeping.c                   |  1 +
 25 files changed, 443 insertions(+), 78 deletions(-)
 create mode 100644 Documentation/virt/kvm/arm/ptp_kvm.rst
 create mode 100644 drivers/firmware/smccc/kvm_guest.c
 create mode 100644 drivers/ptp/ptp_kvm_arm.c
 rename drivers/ptp/{ptp_kvm.c => ptp_kvm_common.c} (60%)
 create mode 100644 drivers/ptp/ptp_kvm_x86.c
 create mode 100644 include/linux/clocksource_ids.h
 create mode 100644 include/linux/ptp_kvm.h

-- 
2.29.2


^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2021-05-26  8:51 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-30 14:54 [PATCH v19 0/7] KVM: arm64: Add host/guest KVM-PTP support Marc Zyngier
2021-03-30 14:54 ` [PATCH v19 1/7] arm/arm64: Probe for the presence of KVM hypervisor Marc Zyngier
2021-04-17  9:49   ` Zenghui Yu
2021-03-30 14:54 ` [PATCH v19 2/7] KVM: arm64: Advertise KVM UID to guests via SMCCC Marc Zyngier
2021-03-30 14:54 ` [PATCH v19 3/7] ptp: Reorganize ptp_kvm.c to make it arch-independent Marc Zyngier
2021-04-07  9:28   ` Marc Zyngier
2021-04-07 15:13     ` Richard Cochran
2021-04-07 15:31       ` Marc Zyngier
2021-03-30 14:54 ` [PATCH v19 4/7] time: Add mechanism to recognize clocksource in time_get_snapshot Marc Zyngier
2021-04-17  9:27   ` Zenghui Yu
2021-03-30 14:54 ` [PATCH v19 5/7] clocksource: Add clocksource id for arm arch counter Marc Zyngier
2021-03-30 14:54 ` [PATCH v19 6/7] KVM: arm64: Add support for the KVM PTP service Marc Zyngier
2021-04-17  8:59   ` Zenghui Yu
2021-04-17  9:10     ` Marc Zyngier
2021-04-17 10:24       ` Zenghui Yu
2021-03-30 14:54 ` [PATCH v19 7/7] ptp: arm/arm64: Enable ptp_kvm for arm/arm64 Marc Zyngier
2021-04-17  8:42   ` Zenghui Yu
2021-04-17  9:05     ` Marc Zyngier
2021-05-11  9:07   ` Geert Uytterhoeven
2021-05-11  9:13     ` Marc Zyngier
2021-05-26  7:52       ` Geert Uytterhoeven
2021-05-26  8:01         ` Marc Zyngier
2021-05-26  8:18           ` Geert Uytterhoeven
2021-05-26  8:32             ` Marc Zyngier
2021-05-26  8:50               ` Geert Uytterhoeven

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).