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 16*4de4a470SGlenn Miles #define BHRB_TYPE_NORECORD 0x00 17*4de4a470SGlenn Miles #define BHRB_TYPE_CALL 0x01 18*4de4a470SGlenn Miles #define BHRB_TYPE_INDIRECT 0x02 19*4de4a470SGlenn Miles #define BHRB_TYPE_COND 0x04 20*4de4a470SGlenn Miles #define BHRB_TYPE_OTHER 0x08 21*4de4a470SGlenn Miles #define BHRB_TYPE_XL_FORM 0x10 22*4de4a470SGlenn Miles 236e8b9903SRichard Henderson #if defined(TARGET_PPC64) && !defined(CONFIG_USER_ONLY) 24eeaaefe9SLeandro Lupori 25eeaaefe9SLeandro Lupori #define PMC_COUNTER_NEGATIVE_VAL 0x80000000UL 26eeaaefe9SLeandro Lupori 2733edcde7SDaniel Henrique Barboza void cpu_ppc_pmu_init(CPUPPCState *env); 28a7138e28SGlenn Miles void pmu_mmcr01a_updated(CPUPPCState *env); 296e8b9903SRichard Henderson #else cpu_ppc_pmu_init(CPUPPCState * env)3033edcde7SDaniel Henrique Barbozastatic inline void cpu_ppc_pmu_init(CPUPPCState *env) { } pmu_mmcr01a_updated(CPUPPCState * env)31a7138e28SGlenn Milesstatic inline void pmu_mmcr01a_updated(CPUPPCState *env) { } 326e8b9903SRichard Henderson #endif 338f2e9d40SDaniel Henrique Barboza 348f2e9d40SDaniel Henrique Barboza #endif 35