18f2e9d40SDaniel Henrique Barboza /* 28f2e9d40SDaniel Henrique Barboza * PMU emulation helpers for TCG IBM POWER chips 38f2e9d40SDaniel Henrique Barboza * 48f2e9d40SDaniel Henrique Barboza * Copyright IBM Corp. 2021 58f2e9d40SDaniel Henrique Barboza * 68f2e9d40SDaniel Henrique Barboza * Authors: 78f2e9d40SDaniel Henrique Barboza * Daniel Henrique Barboza <danielhb413@gmail.com> 88f2e9d40SDaniel Henrique Barboza * 98f2e9d40SDaniel Henrique Barboza * This work is licensed under the terms of the GNU GPL, version 2 or later. 108f2e9d40SDaniel Henrique Barboza * See the COPYING file in the top-level directory. 118f2e9d40SDaniel Henrique Barboza */ 128f2e9d40SDaniel Henrique Barboza 139c092804SMarkus Armbruster #ifndef POWER8_PMU_H 149c092804SMarkus Armbruster #define POWER8_PMU_H 158f2e9d40SDaniel Henrique Barboza 166e8b9903SRichard Henderson #if defined(TARGET_PPC64) && !defined(CONFIG_USER_ONLY) 17*eeaaefe9SLeandro Lupori 18*eeaaefe9SLeandro Lupori #define PMC_COUNTER_NEGATIVE_VAL 0x80000000UL 19*eeaaefe9SLeandro Lupori 2033edcde7SDaniel Henrique Barboza void cpu_ppc_pmu_init(CPUPPCState *env); 216e8b9903SRichard Henderson void pmu_update_summaries(CPUPPCState *env); 226e8b9903SRichard Henderson #else 2333edcde7SDaniel Henrique Barboza static inline void cpu_ppc_pmu_init(CPUPPCState *env) { } 246e8b9903SRichard Henderson static inline void pmu_update_summaries(CPUPPCState *env) { } 256e8b9903SRichard Henderson #endif 268f2e9d40SDaniel Henrique Barboza 278f2e9d40SDaniel Henrique Barboza #endif 28