162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci#ifndef __PERF_UTIL_HEADER_H
362306a36Sopenharmony_ci#define __PERF_UTIL_HEADER_H
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci#include <linux/stringify.h>
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci#define mfspr(rn)       ({unsigned long rval; \
862306a36Sopenharmony_ci			asm volatile("mfspr %0," __stringify(rn) \
962306a36Sopenharmony_ci				: "=r" (rval)); rval; })
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci#define SPRN_PVR        0x11F   /* Processor Version Register */
1262306a36Sopenharmony_ci#define PVR_VER(pvr)    (((pvr) >>  16) & 0xFFFF) /* Version field */
1362306a36Sopenharmony_ci#define PVR_REV(pvr)    (((pvr) >>   0) & 0xFFFF) /* Revision field */
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci#endif /* __PERF_UTIL_HEADER_H */
16