100facc76SIan Rogers // SPDX-License-Identifier: GPL-2.0 200facc76SIan Rogers /* 300facc76SIan Rogers * An empty pmu-events.c file used when there is no architecture json files in 400facc76SIan Rogers * arch or when the jevents.py script cannot be run. 500facc76SIan Rogers * 600facc76SIan Rogers * The test cpu/soc is provided for testing. 700facc76SIan Rogers */ 800facc76SIan Rogers #include "pmu-events/pmu-events.h" 900facc76SIan Rogers 1000facc76SIan Rogers static const struct pmu_event pme_test_soc_cpu[] = { 1100facc76SIan Rogers { 1200facc76SIan Rogers .name = "l3_cache_rd", 1300facc76SIan Rogers .event = "event=0x40", 1400facc76SIan Rogers .desc = "L3 cache access, read", 1500facc76SIan Rogers .topic = "cache", 1600facc76SIan Rogers .long_desc = "Attributable Level 3 cache access, read", 1700facc76SIan Rogers }, 1800facc76SIan Rogers { 1900facc76SIan Rogers .name = "segment_reg_loads.any", 2000facc76SIan Rogers .event = "event=0x6,period=200000,umask=0x80", 2100facc76SIan Rogers .desc = "Number of segment register loads", 2200facc76SIan Rogers .topic = "other", 2300facc76SIan Rogers }, 2400facc76SIan Rogers { 2500facc76SIan Rogers .name = "dispatch_blocked.any", 2600facc76SIan Rogers .event = "event=0x9,period=200000,umask=0x20", 2700facc76SIan Rogers .desc = "Memory cluster signals to block micro-op dispatch for any reason", 2800facc76SIan Rogers .topic = "other", 2900facc76SIan Rogers }, 3000facc76SIan Rogers { 3100facc76SIan Rogers .name = "eist_trans", 3200facc76SIan Rogers .event = "event=0x3a,period=200000,umask=0x0", 3300facc76SIan Rogers .desc = "Number of Enhanced Intel SpeedStep(R) Technology (EIST) transitions", 3400facc76SIan Rogers .topic = "other", 3500facc76SIan Rogers }, 3600facc76SIan Rogers { 3700facc76SIan Rogers .name = "uncore_hisi_ddrc.flux_wcmd", 3800facc76SIan Rogers .event = "event=0x2", 3900facc76SIan Rogers .desc = "DDRC write commands. Unit: hisi_sccl,ddrc ", 4000facc76SIan Rogers .topic = "uncore", 4100facc76SIan Rogers .long_desc = "DDRC write commands", 4200facc76SIan Rogers .pmu = "hisi_sccl,ddrc", 4300facc76SIan Rogers }, 4400facc76SIan Rogers { 4500facc76SIan Rogers .name = "unc_cbo_xsnp_response.miss_eviction", 4600facc76SIan Rogers .event = "event=0x22,umask=0x81", 4700facc76SIan Rogers .desc = "A cross-core snoop resulted from L3 Eviction which misses in some processor core. Unit: uncore_cbox ", 4800facc76SIan Rogers .topic = "uncore", 4900facc76SIan Rogers .long_desc = "A cross-core snoop resulted from L3 Eviction which misses in some processor core", 5000facc76SIan Rogers .pmu = "uncore_cbox", 5100facc76SIan Rogers }, 5200facc76SIan Rogers { 5300facc76SIan Rogers .name = "event-hyphen", 5400facc76SIan Rogers .event = "event=0xe0,umask=0x00", 5500facc76SIan Rogers .desc = "UNC_CBO_HYPHEN. Unit: uncore_cbox ", 5600facc76SIan Rogers .topic = "uncore", 5700facc76SIan Rogers .long_desc = "UNC_CBO_HYPHEN", 5800facc76SIan Rogers .pmu = "uncore_cbox", 5900facc76SIan Rogers }, 6000facc76SIan Rogers { 6100facc76SIan Rogers .name = "event-two-hyph", 6200facc76SIan Rogers .event = "event=0xc0,umask=0x00", 6300facc76SIan Rogers .desc = "UNC_CBO_TWO_HYPH. Unit: uncore_cbox ", 6400facc76SIan Rogers .topic = "uncore", 6500facc76SIan Rogers .long_desc = "UNC_CBO_TWO_HYPH", 6600facc76SIan Rogers .pmu = "uncore_cbox", 6700facc76SIan Rogers }, 6800facc76SIan Rogers { 6900facc76SIan Rogers .name = "uncore_hisi_l3c.rd_hit_cpipe", 7000facc76SIan Rogers .event = "event=0x7", 7100facc76SIan Rogers .desc = "Total read hits. Unit: hisi_sccl,l3c ", 7200facc76SIan Rogers .topic = "uncore", 7300facc76SIan Rogers .long_desc = "Total read hits", 7400facc76SIan Rogers .pmu = "hisi_sccl,l3c", 7500facc76SIan Rogers }, 7600facc76SIan Rogers { 7700facc76SIan Rogers .name = "uncore_imc_free_running.cache_miss", 7800facc76SIan Rogers .event = "event=0x12", 7900facc76SIan Rogers .desc = "Total cache misses. Unit: uncore_imc_free_running ", 8000facc76SIan Rogers .topic = "uncore", 8100facc76SIan Rogers .long_desc = "Total cache misses", 8200facc76SIan Rogers .pmu = "uncore_imc_free_running", 8300facc76SIan Rogers }, 8400facc76SIan Rogers { 8500facc76SIan Rogers .name = "uncore_imc.cache_hits", 8600facc76SIan Rogers .event = "event=0x34", 8700facc76SIan Rogers .desc = "Total cache hits. Unit: uncore_imc ", 8800facc76SIan Rogers .topic = "uncore", 8900facc76SIan Rogers .long_desc = "Total cache hits", 9000facc76SIan Rogers .pmu = "uncore_imc", 9100facc76SIan Rogers }, 9200facc76SIan Rogers { 9300facc76SIan Rogers .name = "bp_l1_btb_correct", 9400facc76SIan Rogers .event = "event=0x8a", 9500facc76SIan Rogers .desc = "L1 BTB Correction", 9600facc76SIan Rogers .topic = "branch", 9700facc76SIan Rogers }, 9800facc76SIan Rogers { 9900facc76SIan Rogers .name = "bp_l2_btb_correct", 10000facc76SIan Rogers .event = "event=0x8b", 10100facc76SIan Rogers .desc = "L2 BTB Correction", 10200facc76SIan Rogers .topic = "branch", 10300facc76SIan Rogers }, 10400facc76SIan Rogers { 10500facc76SIan Rogers .name = 0, 10600facc76SIan Rogers .event = 0, 10700facc76SIan Rogers .desc = 0, 10800facc76SIan Rogers }, 10900facc76SIan Rogers }; 11000facc76SIan Rogers 11100facc76SIan Rogers const struct pmu_events_map pmu_events_map[] = { 11200facc76SIan Rogers { 113*099b157cSIan Rogers .arch = "testarch", 11400facc76SIan Rogers .cpuid = "testcpu", 11500facc76SIan Rogers .version = "v1", 11600facc76SIan Rogers .type = "core", 11700facc76SIan Rogers .table = pme_test_soc_cpu, 11800facc76SIan Rogers }, 11900facc76SIan Rogers { 120*099b157cSIan Rogers .arch = 0, 12100facc76SIan Rogers .cpuid = 0, 12200facc76SIan Rogers .version = 0, 12300facc76SIan Rogers .type = 0, 12400facc76SIan Rogers .table = 0, 12500facc76SIan Rogers }, 12600facc76SIan Rogers }; 12700facc76SIan Rogers 12800facc76SIan Rogers static const struct pmu_event pme_test_soc_sys[] = { 12900facc76SIan Rogers { 13000facc76SIan Rogers .name = "sys_ddr_pmu.write_cycles", 13100facc76SIan Rogers .event = "event=0x2b", 13200facc76SIan Rogers .desc = "ddr write-cycles event. Unit: uncore_sys_ddr_pmu ", 13300facc76SIan Rogers .compat = "v8", 13400facc76SIan Rogers .topic = "uncore", 13500facc76SIan Rogers .pmu = "uncore_sys_ddr_pmu", 13600facc76SIan Rogers }, 13700facc76SIan Rogers { 13800facc76SIan Rogers .name = "sys_ccn_pmu.read_cycles", 13900facc76SIan Rogers .event = "config=0x2c", 14000facc76SIan Rogers .desc = "ccn read-cycles event. Unit: uncore_sys_ccn_pmu ", 14100facc76SIan Rogers .compat = "0x01", 14200facc76SIan Rogers .topic = "uncore", 14300facc76SIan Rogers .pmu = "uncore_sys_ccn_pmu", 14400facc76SIan Rogers }, 14500facc76SIan Rogers { 14600facc76SIan Rogers .name = 0, 14700facc76SIan Rogers .event = 0, 14800facc76SIan Rogers .desc = 0, 14900facc76SIan Rogers }, 15000facc76SIan Rogers }; 15100facc76SIan Rogers 15200facc76SIan Rogers const struct pmu_sys_events pmu_sys_event_tables[] = { 15300facc76SIan Rogers { 15400facc76SIan Rogers .table = pme_test_soc_sys, 15500facc76SIan Rogers .name = "pme_test_soc_sys", 15600facc76SIan Rogers }, 15700facc76SIan Rogers { 15800facc76SIan Rogers .table = 0 15900facc76SIan Rogers }, 16000facc76SIan Rogers }; 161