2021-12-17 19:57:18 +03:00
|
|
|
/*
|
|
|
|
* PMU emulation helpers for TCG IBM POWER chips
|
|
|
|
*
|
|
|
|
* Copyright IBM Corp. 2021
|
|
|
|
*
|
|
|
|
* Authors:
|
|
|
|
* Daniel Henrique Barboza <danielhb413@gmail.com>
|
|
|
|
*
|
|
|
|
* This work is licensed under the terms of the GNU GPL, version 2 or later.
|
|
|
|
* See the COPYING file in the top-level directory.
|
|
|
|
*/
|
|
|
|
|
2022-05-06 16:49:09 +03:00
|
|
|
#ifndef POWER8_PMU_H
|
|
|
|
#define POWER8_PMU_H
|
2021-12-17 19:57:18 +03:00
|
|
|
|
2024-03-28 13:41:33 +03:00
|
|
|
#define BHRB_TYPE_NORECORD 0x00
|
|
|
|
#define BHRB_TYPE_CALL 0x01
|
|
|
|
#define BHRB_TYPE_INDIRECT 0x02
|
|
|
|
#define BHRB_TYPE_COND 0x04
|
|
|
|
#define BHRB_TYPE_OTHER 0x08
|
|
|
|
#define BHRB_TYPE_XL_FORM 0x10
|
|
|
|
|
2022-01-04 09:55:34 +03:00
|
|
|
#if defined(TARGET_PPC64) && !defined(CONFIG_USER_ONLY)
|
2022-10-25 23:24:24 +03:00
|
|
|
|
|
|
|
#define PMC_COUNTER_NEGATIVE_VAL 0x80000000UL
|
|
|
|
|
2022-03-02 08:51:36 +03:00
|
|
|
void cpu_ppc_pmu_init(CPUPPCState *env);
|
2024-03-28 13:41:29 +03:00
|
|
|
void pmu_mmcr01a_updated(CPUPPCState *env);
|
2022-01-04 09:55:34 +03:00
|
|
|
#else
|
2022-03-02 08:51:36 +03:00
|
|
|
static inline void cpu_ppc_pmu_init(CPUPPCState *env) { }
|
2024-03-28 13:41:29 +03:00
|
|
|
static inline void pmu_mmcr01a_updated(CPUPPCState *env) { }
|
2022-01-04 09:55:34 +03:00
|
|
|
#endif
|
2021-12-17 19:57:18 +03:00
|
|
|
|
|
|
|
#endif
|