mirror of
https://github.com/opnsense/src.git
synced 2026-06-08 16:22:46 -04:00
Add support for RISC-V ISA.
Reviewed by: andrew Sponsored by: DARPA, AFRL Sponsored by: HEIF5 Differential Revision: https://reviews.freebsd.org/D5040
This commit is contained in:
parent
0a17d8c230
commit
7dd3aed9c9
2 changed files with 11 additions and 0 deletions
|
|
@ -61,6 +61,9 @@ __FBSDID("$FreeBSD$");
|
|||
#elif defined(__powerpc__)
|
||||
#define BREAKPOINT_INSTR 0x7fe00008 /* trap */
|
||||
#define BREAKPOINT_INSTR_SZ 4
|
||||
#elif defined(__riscv__)
|
||||
#define BREAKPOINT_INSTR 0x00100073 /* sbreak */
|
||||
#define BREAKPOINT_INSTR_SZ 4
|
||||
#else
|
||||
#error "Add support for your architecture"
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -66,6 +66,8 @@ proc_regget(struct proc_handle *phdl, proc_reg_t reg, unsigned long *regvalue)
|
|||
*regvalue = regs.r_regs[PC];
|
||||
#elif defined(__powerpc__)
|
||||
*regvalue = regs.pc;
|
||||
#elif defined(__riscv__)
|
||||
*regvalue = regs.sepc;
|
||||
#endif
|
||||
break;
|
||||
case REG_SP:
|
||||
|
|
@ -81,6 +83,8 @@ proc_regget(struct proc_handle *phdl, proc_reg_t reg, unsigned long *regvalue)
|
|||
*regvalue = regs.r_regs[SP];
|
||||
#elif defined(__powerpc__)
|
||||
*regvalue = regs.fixreg[1];
|
||||
#elif defined(__riscv__)
|
||||
*regvalue = regs.sp;
|
||||
#endif
|
||||
break;
|
||||
default:
|
||||
|
|
@ -117,6 +121,8 @@ proc_regset(struct proc_handle *phdl, proc_reg_t reg, unsigned long regvalue)
|
|||
regs.r_regs[PC] = regvalue;
|
||||
#elif defined(__powerpc__)
|
||||
regs.pc = regvalue;
|
||||
#elif defined(__riscv__)
|
||||
regs.sepc = regvalue;
|
||||
#endif
|
||||
break;
|
||||
case REG_SP:
|
||||
|
|
@ -132,6 +138,8 @@ proc_regset(struct proc_handle *phdl, proc_reg_t reg, unsigned long regvalue)
|
|||
regs.r_regs[PC] = regvalue;
|
||||
#elif defined(__powerpc__)
|
||||
regs.fixreg[1] = regvalue;
|
||||
#elif defined(__riscv__)
|
||||
regs.sp = regvalue;
|
||||
#endif
|
||||
break;
|
||||
default:
|
||||
|
|
|
|||
Loading…
Reference in a new issue