18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci#ifndef __PERF_UTIL_HEADER_H
38c2ecf20Sopenharmony_ci#define __PERF_UTIL_HEADER_H
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci#include <linux/stringify.h>
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ci#define mfspr(rn)       ({unsigned long rval; \
88c2ecf20Sopenharmony_ci			asm volatile("mfspr %0," __stringify(rn) \
98c2ecf20Sopenharmony_ci				: "=r" (rval)); rval; })
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ci#define SPRN_PVR        0x11F   /* Processor Version Register */
128c2ecf20Sopenharmony_ci#define PVR_VER(pvr)    (((pvr) >>  16) & 0xFFFF) /* Version field */
138c2ecf20Sopenharmony_ci#define PVR_REV(pvr)    (((pvr) >>   0) & 0xFFFF) /* Revison field */
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ci#endif /* __PERF_UTIL_HEADER_H */
16