Commit 00883922 authored by Hengqi Chen's avatar Hengqi Chen Committed by Daniel Borkmann
parent bb5747cf
...@@ -32,6 +32,9 @@ ...@@ -32,6 +32,9 @@
#elif defined(__TARGET_ARCH_arc) #elif defined(__TARGET_ARCH_arc)
#define bpf_target_arc #define bpf_target_arc
#define bpf_target_defined #define bpf_target_defined
#elif defined(__TARGET_ARCH_loongarch)
#define bpf_target_loongarch
#define bpf_target_defined
#else #else
/* Fall back to what the compiler says */ /* Fall back to what the compiler says */
...@@ -62,6 +65,9 @@ ...@@ -62,6 +65,9 @@
#elif defined(__arc__) #elif defined(__arc__)
#define bpf_target_arc #define bpf_target_arc
#define bpf_target_defined #define bpf_target_defined
#elif defined(__loongarch__)
#define bpf_target_loongarch
#define bpf_target_defined
#endif /* no compiler target */ #endif /* no compiler target */
#endif #endif
...@@ -258,6 +264,23 @@ struct pt_regs___arm64 { ...@@ -258,6 +264,23 @@ struct pt_regs___arm64 {
/* arc does not select ARCH_HAS_SYSCALL_WRAPPER. */ /* arc does not select ARCH_HAS_SYSCALL_WRAPPER. */
#define PT_REGS_SYSCALL_REGS(ctx) ctx #define PT_REGS_SYSCALL_REGS(ctx) ctx
#elif defined(bpf_target_loongarch)
/* https://loongson.github.io/LoongArch-Documentation/LoongArch-ELF-ABI-EN.html */
#define __PT_PARM1_REG regs[4]
#define __PT_PARM2_REG regs[5]
#define __PT_PARM3_REG regs[6]
#define __PT_PARM4_REG regs[7]
#define __PT_PARM5_REG regs[8]
#define __PT_RET_REG regs[1]
#define __PT_FP_REG regs[22]
#define __PT_RC_REG regs[4]
#define __PT_SP_REG regs[3]
#define __PT_IP_REG csr_era
/* loongarch does not select ARCH_HAS_SYSCALL_WRAPPER. */
#define PT_REGS_SYSCALL_REGS(ctx) ctx
#endif #endif
#if defined(bpf_target_defined) #if defined(bpf_target_defined)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment