constrains.h#

constrain.h定义了内核的一系列常数

Author

Shihong Wang (jack4shihong@gmail.com)

Version

0.1

Date

2023-04-09

Copyright

Copyright Shihong Wang (c) 2023 with GNU Public License V3.0

Defines

DEBUG#

内核是否处于DEBUG模式, 若:

  • DEBUG = 0, 不会运行测试函数

  • DEBUG = 1, 运行测试函数

MAX_CPU_NUM#

当前系统CPU核心数

WITH_FP_REG#

CPU是否具有浮点寄存器, 若

  • WITH_FP_REG = 0, CPU 不具有浮点寄存器

  • WITH_FP_REG = 1, CPU 具有浮点寄存器

RDTIME_SUPPORT#

当前CPU是否支持rdtime指令, 若

  • RDTIME_SUPPORT = 0, CPU 不支持rdtime指令

  • RDTIME_SUPPORT = 1, CPU 支持rdtime指令

KERNEL_JUMP_ADDR#

内核的跳转地址, 在kernel.ld中定义

MEMORY_TOTAL#

系统可用内存, 目前是16MB

MEMORY_US_RATIO#

用户进程可用物理内存和系统可用物理内存比例, 用户:系统 = 1:3

PAGE_SHIFT#

虚拟地址页内偏移占用位数

PAGE_SIZE#

内核一个页的字节数

PAGE_NUMS#

系统可用的总物理页数

MEMORY_SVxx#

内核虚拟地址转换模型

PRINTF_STRING_SIZE#

kprintfuprintf可以输出的字符串最大长度

UART_BAUD_RATE#

UART设备的波特率

CLINT_TIMER_FREQUENCY_HZ#

CLINT中断控制器的时钟中断频率, 目前1000次/秒

CLINT_TIMER_BASE_FRQENCY#

CLINT中断控制器的时钟中断的默认的时钟频率

PLIC_MAX_INTERRUPTS_NUM#

PLIC中断控制器最大支持的中断数量

MAX_TEST_FUNCTION_NUM#

最大测试函数的数量

MAX_INTR_EXCP_INFO_NUM#

中断/异常处理函数信息最大数量