Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) /* SPDX-License-Identifier: GPL-2.0-only */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3) #ifndef __ASM_KGDB_H_
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4) #define __ASM_KGDB_H_
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) #ifdef __KERNEL__
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) #define GDB_SIZEOF_REG sizeof(unsigned long)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) #define DBG_MAX_REG_NUM (36)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) #define NUMREGBYTES ((DBG_MAX_REG_NUM) * GDB_SIZEOF_REG)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) #define CACHE_FLUSH_IS_SAFE     1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) #define BUFMAX                  2048
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) #ifdef CONFIG_RISCV_ISA_C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) #define BREAK_INSTR_SIZE	2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) #else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) #define BREAK_INSTR_SIZE	4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20) #ifndef	__ASSEMBLY__
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) extern unsigned long kgdb_compiled_break;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) static inline void arch_kgdb_breakpoint(void)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) 	asm(".global kgdb_compiled_break\n"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) 	    ".option norvc\n"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) 	    "kgdb_compiled_break: ebreak\n"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) 	    ".option rvc\n");
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32) #endif /* !__ASSEMBLY__ */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) #define DBG_REG_ZERO "zero"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) #define DBG_REG_RA "ra"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) #define DBG_REG_SP "sp"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) #define DBG_REG_GP "gp"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) #define DBG_REG_TP "tp"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) #define DBG_REG_T0 "t0"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) #define DBG_REG_T1 "t1"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) #define DBG_REG_T2 "t2"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) #define DBG_REG_FP "fp"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) #define DBG_REG_S1 "s1"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) #define DBG_REG_A0 "a0"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) #define DBG_REG_A1 "a1"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) #define DBG_REG_A2 "a2"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) #define DBG_REG_A3 "a3"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) #define DBG_REG_A4 "a4"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) #define DBG_REG_A5 "a5"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) #define DBG_REG_A6 "a6"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) #define DBG_REG_A7 "a7"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) #define DBG_REG_S2 "s2"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) #define DBG_REG_S3 "s3"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) #define DBG_REG_S4 "s4"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) #define DBG_REG_S5 "s5"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) #define DBG_REG_S6 "s6"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) #define DBG_REG_S7 "s7"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) #define DBG_REG_S8 "s8"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) #define DBG_REG_S9 "s9"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) #define DBG_REG_S10 "s10"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) #define DBG_REG_S11 "s11"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) #define DBG_REG_T3 "t3"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) #define DBG_REG_T4 "t4"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) #define DBG_REG_T5 "t5"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) #define DBG_REG_T6 "t6"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) #define DBG_REG_EPC "pc"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) #define DBG_REG_STATUS "sstatus"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) #define DBG_REG_BADADDR "stval"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) #define DBG_REG_CAUSE "scause"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) #define DBG_REG_ZERO_OFF 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) #define DBG_REG_RA_OFF 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) #define DBG_REG_SP_OFF 2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) #define DBG_REG_GP_OFF 3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) #define DBG_REG_TP_OFF 4
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) #define DBG_REG_T0_OFF 5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) #define DBG_REG_T1_OFF 6
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) #define DBG_REG_T2_OFF 7
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) #define DBG_REG_FP_OFF 8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) #define DBG_REG_S1_OFF 9
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) #define DBG_REG_A0_OFF 10
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) #define DBG_REG_A1_OFF 11
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) #define DBG_REG_A2_OFF 12
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) #define DBG_REG_A3_OFF 13
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) #define DBG_REG_A4_OFF 14
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) #define DBG_REG_A5_OFF 15
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) #define DBG_REG_A6_OFF 16
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) #define DBG_REG_A7_OFF 17
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) #define DBG_REG_S2_OFF 18
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) #define DBG_REG_S3_OFF 19
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) #define DBG_REG_S4_OFF 20
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) #define DBG_REG_S5_OFF 21
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) #define DBG_REG_S6_OFF 22
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) #define DBG_REG_S7_OFF 23
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) #define DBG_REG_S8_OFF 24
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) #define DBG_REG_S9_OFF 25
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) #define DBG_REG_S10_OFF 26
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) #define DBG_REG_S11_OFF 27
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) #define DBG_REG_T3_OFF 28
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) #define DBG_REG_T4_OFF 29
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) #define DBG_REG_T5_OFF 30
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) #define DBG_REG_T6_OFF 31
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) #define DBG_REG_EPC_OFF 32
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) #define DBG_REG_STATUS_OFF 33
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) #define DBG_REG_BADADDR_OFF 34
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) #define DBG_REG_CAUSE_OFF 35
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) extern const char riscv_gdb_stub_feature[64];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) #define kgdb_arch_gdb_stub_feature riscv_gdb_stub_feature
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) #endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) #endif