xref: /OK3568_Linux_fs/kernel/tools/perf/arch/powerpc/util/utils_header.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */
2*4882a593Smuzhiyun #ifndef __PERF_UTIL_HEADER_H
3*4882a593Smuzhiyun #define __PERF_UTIL_HEADER_H
4*4882a593Smuzhiyun 
5*4882a593Smuzhiyun #include <linux/stringify.h>
6*4882a593Smuzhiyun 
7*4882a593Smuzhiyun #define mfspr(rn)       ({unsigned long rval; \
8*4882a593Smuzhiyun 			asm volatile("mfspr %0," __stringify(rn) \
9*4882a593Smuzhiyun 				: "=r" (rval)); rval; })
10*4882a593Smuzhiyun 
11*4882a593Smuzhiyun #define SPRN_PVR        0x11F   /* Processor Version Register */
12*4882a593Smuzhiyun #define PVR_VER(pvr)    (((pvr) >>  16) & 0xFFFF) /* Version field */
13*4882a593Smuzhiyun #define PVR_REV(pvr)    (((pvr) >>   0) & 0xFFFF) /* Revison field */
14*4882a593Smuzhiyun 
15*4882a593Smuzhiyun #endif /* __PERF_UTIL_HEADER_H */
16