[PATCH v3 00/15] Add Andes PMU extension support

Atish Patra atishp at atishpatra.org
Wed Nov 22 16:07:43 PST 2023


On Tue, Nov 21, 2023 at 11:39 PM Yu Chien Peter Lin
<peterlin at andestech.com> wrote:
>
> This patch series enables perf tool to utilize Andes PMU
> extension via PMU SBI calls, provides PMU device callbacks
> to achieve event sampling and mode filtering.
>
> This version mainly fixes single-core freeze when quitting
> 'perf top', adds andes_pmu_setup() to provide default event
> mappings when fdt_pmu_setup() can't find PMU node. And add
> Xandespmu to hart extension list so that the inhibit bits
> can be updated in a similar way to how Smcntrpmf does.
>
> The last patch provides a PMU node example used on AX45MP cores.
>

Do you have a publicly available spec that describes what XAndesPMU does ?

> The OpenSBI and Linux patches can be found on Andes Technology GitHub
> - https://github.com/andestech/opensbi/commits/andes-pmu-support-v3
> - https://github.com/andestech/linux/commits/andes-pmu-support-v4
>
> Leo Yu-Chi Liang (1):
>   lib: ipi: Adjust Andes PLICSW to single-bit-per-hart scheme
>
> Yu Chien Peter Lin (14):
>   sbi: sbi_pmu: Improve sbi_pmu_init() error handling
>   lib: sbi: Add Xandespmu in hart extensions
>   sbi: sbi_pmu: Add hw_counter_filter_mode() to pmu device
>   platform: include: andes45: Add PMU related CSR defines
>   platform: generic: Introduce pmu_init() platform override
>   platform: andes: Add Andes custom PMU support
>   platform: andes: Enable Andes PMU for AE350
>   platform: rzfive: Enable Andes PMU for RZ/Five
>   lib: utils: fdt_fixup: Allow preserving PMU properties
>   platform: andes: Factor out is_andes() helper
>   lib: utils: fdt_pmu: Make the fdt_pmu_evt_select table global variable
>   lib: utils: fdt_pmu: Do not iterate over the fdt_pmu_evt_select table
>   platform: andes: Add Andes default PMU mapping support
>   docs: pmu: Add Andes PMU node example
>
>  docs/pmu_support.md                          |  82 ++++
>  include/sbi/sbi_ecall_interface.h            |   5 +
>  include/sbi/sbi_hart.h                       |   2 +
>  include/sbi/sbi_pmu.h                        |   6 +
>  include/sbi/sbi_scratch.h                    |   2 +
>  include/sbi_utils/fdt/fdt_helper.h           |  17 +
>  include/sbi_utils/fdt/fdt_pmu.h              |   6 +
>  include/sbi_utils/ipi/andes_plicsw.h         |  23 +-
>  lib/sbi/sbi_hart.c                           |   3 +
>  lib/sbi/sbi_pmu.c                            |  25 +-
>  lib/utils/fdt/fdt_fixup.c                    |   6 +-
>  lib/utils/fdt/fdt_pmu.c                      |  17 +-
>  lib/utils/ipi/andes_plicsw.c                 | 104 ++---
>  platform/generic/Kconfig                     |   4 +
>  platform/generic/andes/Kconfig               |  15 +
>  platform/generic/andes/ae350.c               |  19 +-
>  platform/generic/andes/andes_hpm.c           | 405 +++++++++++++++++++
>  platform/generic/andes/andes_pmu.c           | 102 +++++
>  platform/generic/andes/objects.mk            |   2 +
>  platform/generic/include/andes/andes45.h     |  32 ++
>  platform/generic/include/andes/andes_hpm.h   |  81 ++++
>  platform/generic/include/andes/andes_pmu.h   |  33 ++
>  platform/generic/include/platform_override.h |   1 +
>  platform/generic/platform.c                  |  11 +-
>  platform/generic/renesas/rzfive/rzfive.c     |   5 +-
>  25 files changed, 897 insertions(+), 111 deletions(-)
>  create mode 100644 platform/generic/andes/andes_hpm.c
>  create mode 100644 platform/generic/andes/andes_pmu.c
>  create mode 100644 platform/generic/include/andes/andes_hpm.h
>  create mode 100644 platform/generic/include/andes/andes_pmu.h
>
> --
> 2.34.1
>


-- 
Regards,
Atish



More information about the opensbi mailing list