Message ID | 20210423113544.1726204-1-maz@kernel.org |
---|---|
State | New |
Headers | show |
Series | [GIT,PULL] KVM/arm64 updates for 5.13 | expand |
On 23/04/21 13:35, Marc Zyngier wrote: > Hi Paolo, > > Here's the rather large pull request for 5.13. Changes are all over > the map, but the big ticket items are the S2 host isolation when > running in protected mode, the save/restore support for GICv4.1 and > guest SVE support in nVHE mode. Plenty of fixes too. > > Note that this pull request drags a number of branches from other > trees in order to avoid conflicts and make people's life easier: > > - the Coresight ETE/TRBE branch, as it is intertwined with the KVM > tracing support > > - the arm64 vhe-only branch that deals with broken CPUs such as the > Apple M1 > > - the arm64 neon-softirqs-disabled that improves the support for > FP processing > > You will still get a couple of conflicts with the KVM tree, but these > are absolutely trivial to resolve. Great, thanks. I've pulled, it and will send the pull request to Linus around mid week to let these go in first. Paolo > Please pull, > > M. > > The following changes since commit 1e28eed17697bcf343c6743f0028cc3b5dd88bf0: > > Linux 5.12-rc3 (2021-03-14 14:41:02 -0700) > > are available in the Git repository at: > > git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm.git tags/kvmarm-5.13 > > for you to fetch changes up to 9a8aae605b80fc0a830cdce747eed48e11acc067: > > Merge branch 'kvm-arm64/kill_oprofile_dependency' into kvmarm-master/next (2021-04-22 13:41:49 +0100) > > ---------------------------------------------------------------- > KVM/arm64 updates for Linux 5.13 > > New features: > > - Stage-2 isolation for the host kernel when running in protected mode > - Guest SVE support when running in nVHE mode > - Force W^X hypervisor mappings in nVHE mode > - ITS save/restore for guests using direct injection with GICv4.1 > - nVHE panics now produce readable backtraces > - Guest support for PTP using the ptp_kvm driver > - Performance improvements in the S2 fault handler > - Alexandru is now a reviewer (not really a new feature...) > > Fixes: > - Proper emulation of the GICR_TYPER register > - Handle the complete set of relocation in the nVHE EL2 object > - Get rid of the oprofile dependency in the PMU code (and of the > oprofile body parts at the same time) > - Debug and SPE fixes > - Fix vcpu reset > > ---------------------------------------------------------------- > Alexandru Elisei (4): > Documentation: KVM: Document KVM_GUESTDBG_USE_HW control flag for arm64 > KVM: arm64: Initialize VCPU mdcr_el2 before loading it > KVM: arm64: Don't print warning when trapping SPE registers > KVM: arm64: Don't advertise FEAT_SPE to guests > > Andrew Scull (5): > bug: Remove redundant condition check in report_bug > bug: Factor out a getter for a bug's file line > bug: Assign values once in bug_get_file_line() > KVM: arm64: Use BUG and BUG_ON in nVHE hyp > KVM: arm64: Log source when panicking from nVHE hyp > > Anshuman Khandual (5): > arm64: Add TRBE definitions > coresight: core: Add support for dedicated percpu sinks > coresight: sink: Add TRBE driver > Documentation: coresight: trbe: Sysfs ABI description > Documentation: trace: Add documentation for TRBE > > Ard Biesheuvel (3): > arm64: assembler: remove conditional NEON yield macros > arm64: assembler: introduce wxN aliases for wN registers > arm64: fpsimd: run kernel mode NEON with softirqs disabled > > Daniel Kiss (1): > KVM: arm64: Enable SVE support for nVHE > > David Brazdil (1): > KVM: arm64: Support PREL/PLT relocs in EL2 code > > Eric Auger (11): > KVM: arm64: vgic-v3: Fix some error codes when setting RDIST base > KVM: arm64: Fix KVM_VGIC_V3_ADDR_TYPE_REDIST_REGION read > KVM: arm64: vgic-v3: Fix error handling in vgic_v3_set_redist_base() > KVM: arm/arm64: vgic: Reset base address on kvm_vgic_dist_destroy() > docs: kvm: devices/arm-vgic-v3: enhance KVM_DEV_ARM_VGIC_CTRL_INIT doc > KVM: arm64: Simplify argument passing to vgic_uaccess_[read|write] > kvm: arm64: vgic-v3: Introduce vgic_v3_free_redist_region() > KVM: arm64: vgic-v3: Expose GICR_TYPER.Last for userspace > KVM: selftests: aarch64/vgic-v3 init sequence tests > KVM: selftests: vgic_init kvm selftests fixup > KVM: arm/arm64: Fix KVM_VGIC_V3_ADDR_TYPE_REDIST read > > Gavin Shan (3): > KVM: arm64: Hide kvm_mmu_wp_memory_region() > KVM: arm64: Use find_vma_intersection() > KVM: arm64: Don't retrieve memory slot again in page fault handler > > 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 > > Jon Hunter (1): > ptp: Don't print an error if ptp_kvm is not supported > > Marc Zyngier (50): > KVM: arm64: Provide KVM's own save/restore SVE primitives > KVM: arm64: Use {read,write}_sysreg_el1 to access ZCR_EL1 > KVM: arm64: Let vcpu_sve_pffr() handle HYP VAs > KVM: arm64: Introduce vcpu_sve_vq() helper > arm64: sve: Provide a conditional update accessor for ZCR_ELx > KVM: arm64: Rework SVE host-save/guest-restore > KVM: arm64: Map SVE context at EL2 when available > KVM: arm64: Save guest's ZCR_EL1 before saving the FPSIMD state > KVM: arm64: Trap host SVE accesses when the FPSIMD state is dirty > KVM: arm64: Save/restore SVE state for nVHE > arm64: Use INIT_SCTLR_EL1_MMU_OFF to disable the MMU on CPU restart > KVM: arm64: Use INIT_SCTLR_EL2_MMU_OFF to disable the MMU on KVM teardown > KVM: arm64: Turn SCTLR_ELx_FLAGS into INIT_SCTLR_EL2_MMU_ON > KVM: arm64: Force SCTLR_EL2.WXN when running nVHE > KVM: arm64: Fix host's ZCR_EL2 restore on nVHE > Merge tag 'v5.12-rc3' into kvm-arm64/host-stage2 > irqchip/gic-v3-its: Add a cache invalidation right after vPE unmapping > KVM: arm64: Generate final CTR_EL0 value when running in Protected mode > KVM: arm64: Drop the CPU_FTR_REG_HYP_COPY infrastructure > KVM: arm64: Elect Alexandru as a replacement for Julien as a reviewer > KVM: arm64: Mark the kvmarm ML as moderated for non-subscribers > KVM: arm64: Fix table format for PTP documentation > Merge remote-tracking branch 'coresight/next-ETE-TRBE' into kvmarm-master/next > arm64: cpufeature: Allow early filtering of feature override > arm64: Cope with CPUs stuck in VHE mode > arm64: Get rid of CONFIG_ARM64_VHE > KVM: arm64: Clarify vcpu reset behaviour > KVM: arm64: Fully zero the vcpu state on reset > Merge branch 'kvm-arm64/debug-5.13' into kvmarm-master/next > Merge branch 'kvm-arm64/host-stage2' into kvmarm-master/next > Merge branch 'kvm-arm64/memslot-fixes' into kvmarm-master/next > Merge branch 'kvm-arm64/misc-5.13' into kvmarm-master/next > Merge branch 'kvm-arm64/nvhe-panic-info' into kvmarm-master/next > Merge branch 'kvm-arm64/nvhe-sve' into kvmarm-master/next > Merge branch 'kvm-arm64/nvhe-wxn' into kvmarm-master/next > Merge branch 'kvm-arm64/ptp' into kvmarm-master/next > Merge branch 'kvm-arm64/vgic-5.13' into kvmarm-master/next > Merge branch 'kvm-arm64/vlpi-save-restore' into kvmarm-master/next > Merge remote-tracking branch 'arm64/for-next/vhe-only' into kvmarm-master/next > Merge remote-tracking branch 'arm64/for-next/neon-softirqs-disabled' into kvmarm-master/next > Merge remote-tracking branch 'coresight/next-ETE-TRBE' into kvmarm-master/next > bug: Provide dummy version of bug_get_file_line() when !GENERIC_BUG > Merge branch 'kvm-arm64/nvhe-panic-info' into kvmarm-master/next > Merge branch 'kvm-arm64/ptp' into kvmarm-master/next > KVM: arm64: Divorce the perf code from oprofile helpers > arm64: Get rid of oprofile leftovers > s390: Get rid of oprofile leftovers > sh: Get rid of oprofile leftovers > perf: Get rid of oprofile leftovers > Merge branch 'kvm-arm64/kill_oprofile_dependency' into kvmarm-master/next > > Quentin Perret (35): > KVM: arm64: Initialize kvm_nvhe_init_params early > KVM: arm64: Avoid free_page() in page-table allocator > KVM: arm64: Factor memory allocation out of pgtable.c > KVM: arm64: Introduce a BSS section for use at Hyp > KVM: arm64: Make kvm_call_hyp() a function call at Hyp > KVM: arm64: Allow using kvm_nvhe_sym() in hyp code > KVM: arm64: Introduce an early Hyp page allocator > KVM: arm64: Stub CONFIG_DEBUG_LIST at Hyp > KVM: arm64: Introduce a Hyp buddy page allocator > KVM: arm64: Enable access to sanitized CPU features at EL2 > KVM: arm64: Provide __flush_dcache_area at EL2 > KVM: arm64: Factor out vector address calculation > arm64: asm: Provide set_sctlr_el2 macro > KVM: arm64: Prepare the creation of s1 mappings at EL2 > KVM: arm64: Elevate hypervisor mappings creation at EL2 > KVM: arm64: Use kvm_arch for stage 2 pgtable > KVM: arm64: Use kvm_arch in kvm_s2_mmu > KVM: arm64: Set host stage 2 using kvm_nvhe_init_params > KVM: arm64: Refactor kvm_arm_setup_stage2() > KVM: arm64: Refactor __load_guest_stage2() > KVM: arm64: Refactor __populate_fault_info() > KVM: arm64: Make memcache anonymous in pgtable allocator > KVM: arm64: Reserve memory for host stage 2 > KVM: arm64: Sort the hypervisor memblocks > KVM: arm64: Always zero invalid PTEs > KVM: arm64: Use page-table to track page ownership > KVM: arm64: Refactor the *_map_set_prot_attr() helpers > KVM: arm64: Add kvm_pgtable_stage2_find_range() > KVM: arm64: Introduce KVM_PGTABLE_S2_NOFWB stage 2 flag > KVM: arm64: Introduce KVM_PGTABLE_S2_IDMAP stage 2 flag > KVM: arm64: Provide sanitized mmfr* registers at EL2 > KVM: arm64: Wrap the host with a stage 2 > KVM: arm64: Page-align the .hyp sections > KVM: arm64: Disable PMU support in protected mode > KVM: arm64: Protect the .hyp sections from the host > > Shenming Lu (4): > irqchip/gic-v3-its: Drop the setting of PTZ altogether > KVM: arm64: GICv4.1: Add function to get VLPI state > KVM: arm64: GICv4.1: Try to save VLPI state in save_pending_tables > KVM: arm64: GICv4.1: Give a chance to save VLPI state > > Suzuki K Poulose (17): > KVM: arm64: Hide system instruction access to Trace registers > KVM: arm64: Disable guest access to trace filter controls > perf: aux: Add flags for the buffer format > perf: aux: Add CoreSight PMU buffer formats > arm64: Add support for trace synchronization barrier > KVM: arm64: Handle access to TRFCR_EL1 > KVM: arm64: Move SPE availability check to VCPU load > arm64: KVM: Enable access to TRBE support for host > coresight: etm4x: Move ETM to prohibited region for disable > coresight: etm-perf: Allow an event to use different sinks > coresight: Do not scan for graph if none is present > coresight: etm4x: Add support for PE OS lock > coresight: ete: Add support for ETE sysreg access > coresight: ete: Add support for ETE tracing > dts: bindings: Document device tree bindings for ETE > coresight: etm-perf: Handle stale output handles > dts: bindings: Document device tree bindings for Arm TRBE > > Thomas Gleixner (1): > time: Add mechanism to recognize clocksource in time_get_snapshot > > Wang Wensheng (1): > KVM: arm64: Fix error return code in init_hyp_mode() > > Wei Yongjun (2): > coresight: core: Make symbol 'csdev_sink' static > coresight: trbe: Fix return value check in arm_trbe_register_coresight_cpu() > > Will Deacon (5): > arm64: lib: Annotate {clear, copy}_page() as position-independent > KVM: arm64: Link position-independent string routines into .hyp.text > arm64: kvm: Add standalone ticket spinlock implementation for use at hyp > arm/arm64: Probe for the presence of KVM hypervisor > KVM: arm64: Advertise KVM UID to guests via SMCCC > > Xiaofei Tan (1): > arm64: sve: Provide sve_cond_update_zcr_vq fallback when !ARM64_SVE > > Xu Jia (1): > KVM: arm64: Make symbol '_kvm_host_prot_finalize' static > > Zenghui Yu (2): > KVM: arm64: GICv4.1: Restore VLPI pending state to physical side > KVM: arm64: Fix Function ID typo for PTP_KVM service > > .../ABI/testing/sysfs-bus-coresight-devices-trbe | 14 + > Documentation/admin-guide/kernel-parameters.txt | 3 +- > Documentation/devicetree/bindings/arm/ete.yaml | 75 ++ > Documentation/devicetree/bindings/arm/trbe.yaml | 49 + > Documentation/trace/coresight/coresight-trbe.rst | 38 + > Documentation/virt/kvm/api.rst | 25 +- > Documentation/virt/kvm/arm/index.rst | 1 + > Documentation/virt/kvm/arm/ptp_kvm.rst | 25 + > Documentation/virt/kvm/devices/arm-vgic-its.rst | 2 +- > Documentation/virt/kvm/devices/arm-vgic-v3.rst | 2 +- > MAINTAINERS | 6 +- > arch/arm/include/asm/hypervisor.h | 3 + > arch/arm64/Kconfig | 20 - > arch/arm64/crypto/aes-modes.S | 2 +- > arch/arm64/crypto/sha1-ce-core.S | 2 +- > arch/arm64/crypto/sha2-ce-core.S | 2 +- > arch/arm64/crypto/sha3-ce-core.S | 4 +- > arch/arm64/crypto/sha512-ce-core.S | 2 +- > arch/arm64/include/asm/assembler.h | 129 +-- > arch/arm64/include/asm/barrier.h | 1 + > arch/arm64/include/asm/cpufeature.h | 17 + > arch/arm64/include/asm/el2_setup.h | 13 + > arch/arm64/include/asm/fpsimd.h | 11 + > arch/arm64/include/asm/fpsimdmacros.h | 10 +- > arch/arm64/include/asm/hyp_image.h | 7 + > arch/arm64/include/asm/hypervisor.h | 3 + > arch/arm64/include/asm/kvm_arm.h | 3 + > arch/arm64/include/asm/kvm_asm.h | 9 + > arch/arm64/include/asm/kvm_host.h | 46 +- > arch/arm64/include/asm/kvm_hyp.h | 14 +- > arch/arm64/include/asm/kvm_mmu.h | 25 +- > arch/arm64/include/asm/kvm_pgtable.h | 164 ++- > arch/arm64/include/asm/pgtable-prot.h | 4 +- > arch/arm64/include/asm/sections.h | 1 + > arch/arm64/include/asm/sysreg.h | 59 +- > arch/arm64/kernel/asm-offsets.c | 5 + > arch/arm64/kernel/cpu-reset.S | 5 +- > arch/arm64/kernel/cpufeature.c | 11 +- > arch/arm64/kernel/fpsimd.c | 4 +- > arch/arm64/kernel/head.S | 39 +- > arch/arm64/kernel/hyp-stub.S | 13 +- > arch/arm64/kernel/idreg-override.c | 26 +- > arch/arm64/kernel/image-vars.h | 34 +- > arch/arm64/kernel/vmlinux.lds.S | 74 +- > arch/arm64/kvm/arm.c | 216 +++- > arch/arm64/kvm/debug.c | 116 +- > arch/arm64/kvm/fpsimd.c | 26 +- > arch/arm64/kvm/guest.c | 6 +- > arch/arm64/kvm/handle_exit.c | 45 + > arch/arm64/kvm/hyp/Makefile | 2 +- > arch/arm64/kvm/hyp/fpsimd.S | 10 + > arch/arm64/kvm/hyp/include/hyp/switch.h | 107 +- > arch/arm64/kvm/hyp/include/nvhe/early_alloc.h | 14 + > arch/arm64/kvm/hyp/include/nvhe/gfp.h | 68 ++ > arch/arm64/kvm/hyp/include/nvhe/mem_protect.h | 36 + > arch/arm64/kvm/hyp/include/nvhe/memory.h | 51 + > arch/arm64/kvm/hyp/include/nvhe/mm.h | 96 ++ > arch/arm64/kvm/hyp/include/nvhe/spinlock.h | 92 ++ > arch/arm64/kvm/hyp/nvhe/Makefile | 9 +- > arch/arm64/kvm/hyp/nvhe/cache.S | 13 + > arch/arm64/kvm/hyp/nvhe/debug-sr.c | 56 +- > arch/arm64/kvm/hyp/nvhe/early_alloc.c | 54 + > arch/arm64/kvm/hyp/nvhe/gen-hyprel.c | 18 + > arch/arm64/kvm/hyp/nvhe/host.S | 18 +- > arch/arm64/kvm/hyp/nvhe/hyp-init.S | 54 +- > arch/arm64/kvm/hyp/nvhe/hyp-main.c | 75 +- > arch/arm64/kvm/hyp/nvhe/hyp-smp.c | 6 +- > arch/arm64/kvm/hyp/nvhe/hyp.lds.S | 1 + > arch/arm64/kvm/hyp/nvhe/mem_protect.c | 279 +++++ > arch/arm64/kvm/hyp/nvhe/mm.c | 173 +++ > arch/arm64/kvm/hyp/nvhe/page_alloc.c | 195 ++++ > arch/arm64/kvm/hyp/nvhe/psci-relay.c | 4 +- > arch/arm64/kvm/hyp/nvhe/setup.c | 214 ++++ > arch/arm64/kvm/hyp/nvhe/stub.c | 22 + > arch/arm64/kvm/hyp/nvhe/switch.c | 26 +- > arch/arm64/kvm/hyp/nvhe/tlb.c | 4 +- > arch/arm64/kvm/hyp/pgtable.c | 410 +++++-- > arch/arm64/kvm/hyp/reserved_mem.c | 113 ++ > arch/arm64/kvm/hyp/vhe/switch.c | 4 +- > arch/arm64/kvm/hypercalls.c | 80 +- > arch/arm64/kvm/mmu.c | 136 ++- > arch/arm64/kvm/perf.c | 7 +- > arch/arm64/kvm/pmu-emul.c | 2 +- > arch/arm64/kvm/pmu.c | 8 +- > arch/arm64/kvm/reset.c | 51 +- > arch/arm64/kvm/sys_regs.c | 16 + > arch/arm64/kvm/va_layout.c | 7 + > arch/arm64/kvm/vgic/vgic-init.c | 12 +- > arch/arm64/kvm/vgic/vgic-its.c | 6 +- > arch/arm64/kvm/vgic/vgic-kvm-device.c | 7 +- > arch/arm64/kvm/vgic/vgic-mmio-v3.c | 81 +- > arch/arm64/kvm/vgic/vgic-mmio.c | 10 +- > arch/arm64/kvm/vgic/vgic-v3.c | 66 +- > arch/arm64/kvm/vgic/vgic-v4.c | 38 + > arch/arm64/kvm/vgic/vgic.h | 2 + > arch/arm64/lib/clear_page.S | 4 +- > arch/arm64/lib/copy_page.S | 4 +- > arch/arm64/mm/init.c | 3 + > arch/s390/kernel/perf_event.c | 21 - > arch/sh/kernel/perf_event.c | 18 - > 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/hwtracing/coresight/Kconfig | 24 +- > drivers/hwtracing/coresight/Makefile | 1 + > drivers/hwtracing/coresight/coresight-core.c | 29 +- > drivers/hwtracing/coresight/coresight-etm-perf.c | 119 +- > drivers/hwtracing/coresight/coresight-etm4x-core.c | 161 ++- > .../hwtracing/coresight/coresight-etm4x-sysfs.c | 19 +- > drivers/hwtracing/coresight/coresight-etm4x.h | 83 +- > drivers/hwtracing/coresight/coresight-platform.c | 6 + > drivers/hwtracing/coresight/coresight-priv.h | 3 + > drivers/hwtracing/coresight/coresight-trbe.c | 1157 ++++++++++++++++++++ > drivers/hwtracing/coresight/coresight-trbe.h | 152 +++ > drivers/irqchip/irq-gic-v3-its.c | 18 +- > drivers/perf/arm_pmu.c | 30 - > drivers/ptp/Kconfig | 2 +- > drivers/ptp/Makefile | 2 + > drivers/ptp/ptp_kvm_arm.c | 28 + > drivers/ptp/{ptp_kvm.c => ptp_kvm_common.c} | 85 +- > drivers/ptp/ptp_kvm_x86.c | 97 ++ > include/kvm/arm_pmu.h | 4 + > include/kvm/arm_vgic.h | 1 + > include/linux/arm-smccc.h | 41 + > include/linux/bug.h | 10 + > include/linux/clocksource.h | 6 + > include/linux/clocksource_ids.h | 12 + > include/linux/coresight.h | 13 + > include/linux/perf_event.h | 2 - > include/linux/ptp_kvm.h | 19 + > include/linux/timekeeping.h | 12 +- > include/uapi/linux/kvm.h | 1 + > include/uapi/linux/perf_event.h | 13 +- > kernel/events/core.c | 5 - > kernel/time/clocksource.c | 2 + > kernel/time/timekeeping.c | 1 + > lib/bug.c | 54 +- > tools/testing/selftests/kvm/.gitignore | 1 + > tools/testing/selftests/kvm/Makefile | 1 + > tools/testing/selftests/kvm/aarch64/vgic_init.c | 551 ++++++++++ > tools/testing/selftests/kvm/include/kvm_util.h | 9 + > tools/testing/selftests/kvm/lib/kvm_util.c | 75 ++ > 144 files changed, 6298 insertions(+), 856 deletions(-) > create mode 100644 Documentation/ABI/testing/sysfs-bus-coresight-devices-trbe > create mode 100644 Documentation/devicetree/bindings/arm/ete.yaml > create mode 100644 Documentation/devicetree/bindings/arm/trbe.yaml > create mode 100644 Documentation/trace/coresight/coresight-trbe.rst > create mode 100644 Documentation/virt/kvm/arm/ptp_kvm.rst > create mode 100644 arch/arm64/kvm/hyp/include/nvhe/early_alloc.h > create mode 100644 arch/arm64/kvm/hyp/include/nvhe/gfp.h > create mode 100644 arch/arm64/kvm/hyp/include/nvhe/mem_protect.h > create mode 100644 arch/arm64/kvm/hyp/include/nvhe/memory.h > create mode 100644 arch/arm64/kvm/hyp/include/nvhe/mm.h > create mode 100644 arch/arm64/kvm/hyp/include/nvhe/spinlock.h > create mode 100644 arch/arm64/kvm/hyp/nvhe/cache.S > create mode 100644 arch/arm64/kvm/hyp/nvhe/early_alloc.c > create mode 100644 arch/arm64/kvm/hyp/nvhe/mem_protect.c > create mode 100644 arch/arm64/kvm/hyp/nvhe/mm.c > create mode 100644 arch/arm64/kvm/hyp/nvhe/page_alloc.c > create mode 100644 arch/arm64/kvm/hyp/nvhe/setup.c > create mode 100644 arch/arm64/kvm/hyp/nvhe/stub.c > create mode 100644 arch/arm64/kvm/hyp/reserved_mem.c > create mode 100644 drivers/firmware/smccc/kvm_guest.c > create mode 100644 drivers/hwtracing/coresight/coresight-trbe.c > create mode 100644 drivers/hwtracing/coresight/coresight-trbe.h > 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 > create mode 100644 tools/testing/selftests/kvm/aarch64/vgic_init.c >