diff options
Diffstat (limited to 'arch/riscv64/include')
| -rw-r--r-- | arch/riscv64/include/regs.h | 9 | ||||
| -rw-r--r-- | arch/riscv64/include/vmem.h | 22 |
2 files changed, 22 insertions, 9 deletions
diff --git a/arch/riscv64/include/regs.h b/arch/riscv64/include/regs.h new file mode 100644 index 0000000..699af8b --- /dev/null +++ b/arch/riscv64/include/regs.h @@ -0,0 +1,9 @@ +#ifndef APOS_RISCV_REGS_H +#define APOS_RISCV_REGS_H + +struct riscv_regs { + long ra, sp, gp, tp, t0, t1, t2, s0, s1, a0, a1, a2, a3, a4, a5, a6, a7, + s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, t3, t4, t5, t6; +}; + +#endif /* APOS_RISCV_REGS_H */ diff --git a/arch/riscv64/include/vmem.h b/arch/riscv64/include/vmem.h index 9816110..222d54b 100644 --- a/arch/riscv64/include/vmem.h +++ b/arch/riscv64/include/vmem.h @@ -4,16 +4,20 @@ #include <apos/types.h> #include <apos/attrs.h> -#define RISCV_NUM_LEAVES (4096 / sizeof(void *)) +#if __riscv_xlen == 64 +#define RISCV_NUM_LEAVES 512 +#else +#define RISCV_NUM_LEAVES 1024 +#endif -#define VM_V (1 << 0) -#define VM_R (1 << 1) -#define VM_W (1 << 2) -#define VM_X (1 << 3) -#define VM_U (1 << 4) -#define VM_G (1 << 5) -#define VM_A (1 << 6) -#define VM_D (1 << 7) +#define VM_V (1 << 0) +#define VM_R (1 << 1) +#define VM_W (1 << 2) +#define VM_X (1 << 3) +#define VM_U (1 << 4) +#define VM_G (1 << 5) +#define VM_A (1 << 6) +#define VM_D (1 << 7) enum mm_mode { Sv48, |
