linux/drivers/perf
James Clark cbb0c02caf perf: arm64: Add SVE vector granule register to user regs
Dwarf based unwinding in a function that pushes SVE registers onto
the stack requires the unwinder to know the length of the SVE register
to calculate the stack offsets correctly. This was added to the Arm
specific Dwarf spec as the VG pseudo register[1].

Add the vector length at position 46 if it's requested by userspace and
SVE is supported. If it's not supported then fail to open the event.

The vector length must be on each sample because it can be changed
at runtime via a prctl or ptrace call. Also by adding it as a register
rather than a separate attribute, minimal changes will be required in an
unwinder that already indexes into the register list.

[1]: https://github.com/ARM-software/abi-aa/blob/main/aadwarf64/aadwarf64.rst

Reviewed-by: Mark Brown <broonie@kernel.org>
Signed-off-by: James Clark <james.clark@arm.com>
Link: https://lore.kernel.org/r/20220901132658.1024635-2-james.clark@arm.com
Signed-off-by: Will Deacon <will@kernel.org>
2022-09-22 15:06:02 +01:00
..
hisilicon drivers/perf: hisi: add driver for HNS3 PMU 2022-07-06 11:25:53 +01:00
alibaba_uncore_drw_pmu.c drivers/perf: add DDR Sub-System Driveway PMU driver for Yitian 710 SoC 2022-09-22 14:09:10 +01:00
apple_m1_cpu_pmu.c drivers/perf: Add Apple icestorm/firestorm CPU PMU driver 2022-03-08 13:32:48 +00:00
arm-cci.c perf/arm-cci: Use the bitmap API to allocate bitmaps 2022-07-06 11:02:58 +01:00
arm-ccn.c drivers/perf:Directly use ida_alloc()/free() 2022-06-23 15:44:45 +01:00
arm-cmn.c perf/arm-cmn: Decode CAL devices properly in debugfs 2022-05-12 13:44:56 +01:00
arm_dmc620_pmu.c perf/arm-dmc620: Use irq_set_affinity() 2021-05-24 11:01:59 +01:00
arm_dsu_pmu.c perf/arm-dsu: Use irq_set_affinity() 2021-05-24 11:02:00 +01:00
arm_pmu.c perf: arm64: Add SVE vector granule register to user regs 2022-09-22 15:06:02 +01:00
arm_pmu_acpi.c perf: check return value of armpmu_request_irq() 2022-05-06 15:04:48 +01:00
arm_pmu_platform.c perf/arm_pmu_platform: Clean up with dev_printk 2021-03-30 11:41:50 +01:00
arm_smmuv3_pmu.c perf/smmuv3: Don't cast parameter in bit operations 2022-02-15 16:51:26 +00:00
arm_spe_pmu.c drivers/perf: arm_spe: Fix consistency of SYS_PMSCR_EL1.CX 2022-07-19 18:50:09 +01:00
fsl_imx8_ddr_perf.c drivers/perf: Directly use ida_alloc()/free() 2022-06-23 15:44:45 +01:00
Kconfig drivers/perf: add DDR Sub-System Driveway PMU driver for Yitian 710 SoC 2022-09-22 14:09:10 +01:00
Makefile drivers/perf: add DDR Sub-System Driveway PMU driver for Yitian 710 SoC 2022-09-22 14:09:10 +01:00
marvell_cn10k_ddr_pmu.c perf/marvell: Fix !CONFIG_OF build for CN10K DDR PMU driver 2022-03-09 12:31:00 +00:00
marvell_cn10k_tad_pmu.c perf/marvell_cn10k: Fix TAD PMU register offset 2022-06-24 13:21:38 +01:00
qcom_l2_pmu.c perf: qcom_l2_pmu: fix an incorrect NULL check on list iterator 2022-04-04 10:50:02 +01:00
qcom_l3_pmu.c drivers/perf: Simplify EVENT ATTR macro in qcom_l3_pmu.c 2021-06-11 11:18:40 +01:00
riscv_pmu.c perf: riscv_pmu{,_sbi}: Miscallenous improvement & fixes 2022-08-12 07:17:38 -07:00
riscv_pmu_legacy.c perf: riscv legacy: fix kerneldoc comment warning 2022-08-18 14:19:26 -07:00
riscv_pmu_sbi.c perf: riscv_pmu{,_sbi}: Miscallenous improvement & fixes 2022-08-12 07:17:38 -07:00
thunderx2_pmu.c perf: Replace acpi_bus_get_device() 2022-02-08 15:14:53 +00:00
xgene_pmu.c perf: replace bitmap_weight with bitmap_empty where appropriate 2022-02-15 14:38:57 +00:00