/* SPDX-License-Identifier: GPL-2.0 */
// Copyright (C) 2019 Hangzhou C-SKY Microsystems co.,ltd.

#ifndef _ASM_CSKY_PERF_REGS_H
#define _ASM_CSKY_PERF_REGS_H

/* Index of struct pt_regs */
enum perf_event_csky_regs {
	PERF_REG_CSKY_TLS,
	PERF_REG_CSKY_LR,
	PERF_REG_CSKY_PC,
	PERF_REG_CSKY_SR,
	PERF_REG_CSKY_SP,
	PERF_REG_CSKY_ORIG_A0,
	PERF_REG_CSKY_A0,
	PERF_REG_CSKY_A1,
	PERF_REG_CSKY_A2,
	PERF_REG_CSKY_A3,
	PERF_REG_CSKY_REGS0,
	PERF_REG_CSKY_REGS1,
	PERF_REG_CSKY_REGS2,
	PERF_REG_CSKY_REGS3,
	PERF_REG_CSKY_REGS4,
	PERF_REG_CSKY_REGS5,
	PERF_REG_CSKY_REGS6,
	PERF_REG_CSKY_REGS7,
	PERF_REG_CSKY_REGS8,
	PERF_REG_CSKY_REGS9,
#if defined(__CSKYABIV2__)
	PERF_REG_CSKY_EXREGS0,
	PERF_REG_CSKY_EXREGS1,
	PERF_REG_CSKY_EXREGS2,
	PERF_REG_CSKY_EXREGS3,
	PERF_REG_CSKY_EXREGS4,
	PERF_REG_CSKY_EXREGS5,
	PERF_REG_CSKY_EXREGS6,
	PERF_REG_CSKY_EXREGS7,
	PERF_REG_CSKY_EXREGS8,
	PERF_REG_CSKY_EXREGS9,
	PERF_REG_CSKY_EXREGS10,
	PERF_REG_CSKY_EXREGS11,
	PERF_REG_CSKY_EXREGS12,
	PERF_REG_CSKY_EXREGS13,
	PERF_REG_CSKY_EXREGS14,
	PERF_REG_CSKY_HI,
	PERF_REG_CSKY_LO,
	PERF_REG_CSKY_DCSR,
#endif
	PERF_REG_CSKY_MAX,
};
#endif /* _ASM_CSKY_PERF_REGS_H */
