// SPDX-License-Identifier: GPL-2.0

#include "../perf_regs.h"
#include "../../../arch/loongarch/include/uapi/asm/perf_regs.h"

const char *__perf_reg_name_loongarch(int id)
{
	switch (id) {
	case PERF_REG_LOONGARCH_PC:
		return "PC";
	case PERF_REG_LOONGARCH_R1:
		return "%r1";
	case PERF_REG_LOONGARCH_R2:
		return "%r2";
	case PERF_REG_LOONGARCH_R3:
		return "%r3";
	case PERF_REG_LOONGARCH_R4:
		return "%r4";
	case PERF_REG_LOONGARCH_R5:
		return "%r5";
	case PERF_REG_LOONGARCH_R6:
		return "%r6";
	case PERF_REG_LOONGARCH_R7:
		return "%r7";
	case PERF_REG_LOONGARCH_R8:
		return "%r8";
	case PERF_REG_LOONGARCH_R9:
		return "%r9";
	case PERF_REG_LOONGARCH_R10:
		return "%r10";
	case PERF_REG_LOONGARCH_R11:
		return "%r11";
	case PERF_REG_LOONGARCH_R12:
		return "%r12";
	case PERF_REG_LOONGARCH_R13:
		return "%r13";
	case PERF_REG_LOONGARCH_R14:
		return "%r14";
	case PERF_REG_LOONGARCH_R15:
		return "%r15";
	case PERF_REG_LOONGARCH_R16:
		return "%r16";
	case PERF_REG_LOONGARCH_R17:
		return "%r17";
	case PERF_REG_LOONGARCH_R18:
		return "%r18";
	case PERF_REG_LOONGARCH_R19:
		return "%r19";
	case PERF_REG_LOONGARCH_R20:
		return "%r20";
	case PERF_REG_LOONGARCH_R21:
		return "%r21";
	case PERF_REG_LOONGARCH_R22:
		return "%r22";
	case PERF_REG_LOONGARCH_R23:
		return "%r23";
	case PERF_REG_LOONGARCH_R24:
		return "%r24";
	case PERF_REG_LOONGARCH_R25:
		return "%r25";
	case PERF_REG_LOONGARCH_R26:
		return "%r26";
	case PERF_REG_LOONGARCH_R27:
		return "%r27";
	case PERF_REG_LOONGARCH_R28:
		return "%r28";
	case PERF_REG_LOONGARCH_R29:
		return "%r29";
	case PERF_REG_LOONGARCH_R30:
		return "%r30";
	case PERF_REG_LOONGARCH_R31:
		return "%r31";
	default:
		break;
	}
	return NULL;
}

uint64_t __perf_reg_ip_loongarch(void)
{
	return PERF_REG_LOONGARCH_PC;
}

uint64_t __perf_reg_sp_loongarch(void)
{
	return PERF_REG_LOONGARCH_R3;
}
