This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

ARM cortex A53 PMU read from another core

Hello.

I would like to ask if it is possible to read the PMU of core0 from core1.

So far i have work with an one core CPU and i use the MRS, MSR instructions to set the PMU.

How to enable the PMUs for each core?

Also, i read the PMUs are memory mapped so i suppose there is a way to read them from another core.

Could someone provide me some information on how to do it with memory mapped or if there is a simple way.

Thank you

  • See TRM of the A53, it lists the PMU addresses for the different cores.

  • I check the TPM ans ome answers in the forum already but i am confused if it is possible to access the PMUs of another core using another core, i.e pmu of core0 using core1.

    From the manual i attach the following:

    Table 11-28 shows the offsets from the physical base address of the ROM table

    Offset   Name                Type       Description

    0x008   ROMENTRY2    RO          Core 0 PMU

    The Physical Address of a debug component is determined by shifting the address offset 12
    places to the left and adding the result to the Physical Address of the Cortex-A53 processor
    ROM Table.

    Table 11-30 v8 ROMENTRY values

    Name                 Debug component   Offset value         ROMENTRY value

    ROMENTRY2    Core 0 PMU              0x00030              0x00030003

    Table 12-15 Memory-mapped PMU register summary

    Offset    Name                          Type               Description

    0x400   PMEVTYPER0_EL0     RW               Performance Monitor Event Type Register

    With this information how can i access PMEVTYPER0_EL0     of core0PMU from core1?

    Thank you very much

  • I check the TPM ans ome answers in the forum already but i am confused if it is possible to access the PMUs of another core using another core, i.e pmu of core0 using core1.

    Did you try it and it did not work? Or didn't you try at all?

  • No i dint try yet. I experiment by using the pmu in one core and it works. I wanted to verify first if it is possible. I read that the cpu must be in debug state to do this but in the TPM it dont says anything like this.

  • You are kidding? Before asking, you should try,