• Home
  • Annotate
  • current directory
Name Date Size #Lines LOC

..21-Aug-2025-

README.md A D21-Aug-20257.6 KiB5240

SConscript A D21-Aug-2025290 138

asid.c A D21-Aug-20252.3 KiB8764

asm-generic.h A D21-Aug-2025769 2713

backtrace.c A D21-Aug-20252.9 KiB128107

context_gcc.S A D21-Aug-20252.9 KiB11673

cpuport.c A D21-Aug-20253.6 KiB14071

cpuport.h A D21-Aug-2025937 5433

cpuport_gcc.S A D21-Aug-2025669 2614

encoding.h A D21-Aug-202547.3 KiB1,3491,295

ext_context.h A D21-Aug-20254.9 KiB7450

interrupt_gcc.S A D21-Aug-20252.5 KiB10062

io.h A D21-Aug-20251.2 KiB5336

mmu.c A D21-Aug-202523 KiB758472

mmu.h A D21-Aug-20252.6 KiB7651

riscv.h A D21-Aug-20251 KiB3314

riscv_io.h A D21-Aug-20253.5 KiB11680

riscv_mmu.c A D21-Aug-2025540 3015

sbi.c A D21-Aug-20257.9 KiB265182

sbi.h A D21-Aug-20258.4 KiB245127

stack.h A D21-Aug-20253.5 KiB7152

stackframe.h A D21-Aug-20258.8 KiB315234

startup_gcc.S A D21-Aug-20252.8 KiB13492

syscall_c.c A D21-Aug-20251.6 KiB6340

tick.c A D21-Aug-20251.7 KiB7740

tick.h A D21-Aug-2025330 185

tlb.h A D21-Aug-20251.5 KiB6241

trap.c A D21-Aug-202512.6 KiB387327

README.md

1### RT-Thread RV64支持
2
3#### 1.概述
4
5该目录提供RT-Thread标准版及SMART版本对rv64体系结构支持,其中包括:
6
7|      文件名      |                      文件内容                      |                                                                                     参考标准                                                                                     |
8| :---------------: | :------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
9|   atomic_rv64.c   |                  原子操作实现接口                  |                                                                "A" Extension for Atomic Instructions, Version 2.1                                                                |
10|   context_gcc.S   |                   线程上下文切换                   |                                            The RISC-V Instruction Set Manual Volume II: privileged  supervisor-level ISA version 1.12                                            |
11|   cpuport_gcc.S   |                    线程统一入口                    |                                                                                                                                                                                  |
12|     cpuport.c     |                    线程栈初始化                    |                                                                                                                                                                                  |
13|     cpuport.h     | 通用寄存器、浮点、向量寄存器个数定义,内存屏障接口 |                                            The RISC-V Instruction Set Manual Volume II: privileged  supervisor-level ISA version 1.12                                            |
14|  interrupt_gcc.S  |          异常/中断处理、全局中断使能/关闭          |                                            The RISC-V Instruction Set Manual Volume II: privileged  supervisor-level ISA version 1.12                                            |
15|       io.h       |          以字节、字、双字读、写IO地址接口          |                                                                                                                                                                                  |
16|    encoding.h    |                   CSR寄存器定义                   |                                            The RISC-V Instruction Set Manual Volume II: privileged  supervisor-level ISA version 1.12                                            |
17| vector_encoding.h |                 vector相关指令定义                 |                                                         RISC-V "V" Standard Extension for Vector Operations, Version 1.0                                                         |
18|   ext_context.h   |             浮点/向量上下文保存与恢复             | RISC-V "V" Standard Extension for Vector Operations, Version 1.0                                                 "F" Extension for Single-Precision    Floating-Point Version 2.2 |
19|       mmu.c       |               rv64 sv39 mmu管理接口               |                                            The RISC-V Instruction Set Manual Volume II: privileged  supervisor-level ISA version 1.12                                            |
20|       mmu.h       |             rv64 sv39 mmu页表相关定义             |                                            The RISC-V Instruction Set Manual Volume II: privileged  supervisor-level ISA version 1.12                                            |
21|      asid.c      |                 rv64 mmu asid支持                 |                                            The RISC-V Instruction Set Manual Volume II: privileged  supervisor-level ISA version 1.12                                            |
22|    riscv_mmu.c    |             使能/关闭S态访问用户态页表             |                                            The RISC-V Instruction Set Manual Volume II: privileged  supervisor-level ISA version 1.12                                            |
23|       sbi.c       |            通过ecall调用SBI相关信息接口            |                                                           RISC-V Supervisor Binary Interface Specification Version 1.0                                                           |
24|       sbi.h       |                SBI spec相关接口定义                |                                                           RISC-V Supervisor Binary Interface Specification Version 1.0                                                           |
25|      stack.h      |                   线程栈数据定义                   |                                            The RISC-V Instruction Set Manual Volume II: privileged  supervisor-level ISA version 1.12                                            |
26|   stackframe.h   |                线程上下文保存/恢复                |                                            The RISC-V Instruction Set Manual Volume II: privileged  supervisor-level ISA version 1.12                                            |
27|    syscall_c.c    |                    系统调用处理                    |                                                                                                                                                                                  |
28|      tick.c      |              S态时钟初始化及中断处理              |                                                                                                                                                                                  |
29|       tlb.h       |                  tlb刷新/无效接口                  |                                            The RISC-V Instruction Set Manual Volume II: privileged  supervisor-level ISA version 1.12                                            |
30|      trap.c      |    异常/中断处理,包括中断分发及用户态异常处理    |                                            The RISC-V Instruction Set Manual Volume II: privileged  supervisor-level ISA version 1.12                                            |
31
32#### 2.运行模式配置
33
34| 选项            |  默认值 | 说明                                                                                                 |
35| --------------- | --- | ---------------------------------------------------------------------------------------------------- |
36| RISCV_VIRT64_S_MODE    | 打开 | 系统启动后是否运行在S态,关闭时系统将运行在M态;目前系统存在bug尚不可直接运行在M态,故此开关必须打开 |
37| RT_USING_SMART  | 关闭 | 是否开启RTThread SMART版本,开启后系统运行在S+U态,且会开启MMU页表(satp);关闭时系统仅运行在S态,MMU关闭(satp为bare translation)    |
38| ARCH_USING_ASID | 关闭 | MMU是否支持asid                                                                     |
39
40#### 3.移植指南
41
42(1)增加新的CPU支持
43
44创建`libcpu/risc-v/<VENDOR_NAME>/<CPU_NAME>`新目录,同时在`libcpu/risc-v/SConscript`中增加该CPU。
45
46(2)PLIC中断控制器支持
47
48`libcpu/risc-v/virt64/plic.[c|h]`提供了符合《RISC-V Platform-Level Interrupt Controller Specification version 1.0.0 》标准的PLIC中断控制器驱动代码,可作为移植参考。
49
50(3)串口uart支持
51
52目前串口驱动在各bsp目录下,可参考`bsp/qemu-virt64-riscv/driver/drv_uart.[c|h]`