armv8_pmuv3_map_event);
 }
 
+static int armv8_a78_pmu_init(struct arm_pmu *cpu_pmu)
+{
+       return armv8_pmu_init_nogroups(cpu_pmu, "armv8_cortex_a78",
+                                      armv8_pmuv3_map_event);
+}
+
 static int armv8_e1_pmu_init(struct arm_pmu *cpu_pmu)
 {
        return armv8_pmu_init_nogroups(cpu_pmu, "armv8_neoverse_e1",
        {.compatible = "arm,cortex-a75-pmu",    .data = armv8_a75_pmu_init},
        {.compatible = "arm,cortex-a76-pmu",    .data = armv8_a76_pmu_init},
        {.compatible = "arm,cortex-a77-pmu",    .data = armv8_a77_pmu_init},
+       {.compatible = "arm,cortex-a78-pmu",    .data = armv8_a78_pmu_init},
        {.compatible = "arm,neoverse-e1-pmu",   .data = armv8_e1_pmu_init},
        {.compatible = "arm,neoverse-n1-pmu",   .data = armv8_n1_pmu_init},
        {.compatible = "cavium,thunder-pmu",    .data = armv8_thunder_pmu_init},