RISC-V 架构适配知识库
  • 睿迁工具集
  • RVSmartPorting
  • 简体中文
  • English (US)
在 Gitee 上查看
  • 睿迁工具集
  • RVSmartPorting
  • 简体中文
  • English (US)
在 Gitee 上查看
  • 简介
    • 贡献规范
  • 入门
    • 内存一致性模型
    • 硬件开发板差异
    • 指令集模块
  • 通用调整
    • 检查项目对多架构的支持性
    • 文件结构调整
    • 目录结构调整
    • 测试用例调整
  • C/C++ 程序
    • 内联汇编
    • 宏定义与判断
    • 移位运算中的整形常数
    • Intrinsic 函数
    • 多版本函数
    • 系统调用
  • 汇编程序
  • 编译配置文件
    • rpmbuild
    • Makefile
    • CMake
    • Autoconf
    • QMake
    • 其它
  • 其它编程语言
    • Rust
    • Go
    • Python
    • 其它语言
  • 辅助工具集
    • 目标代码定位工具
    • 汇编指令翻译工具

系统调用

TODO

此处需要补充一些关于系统调用的额外说明。

X86 架构特有的系统调用

通过分析 Linux 6.1 版本的内核源码筛选系统调用实现情况可知, 下列 4 个系统调用是仅在 X86 架构下具有的:

  • epoll_ctl_old
  • epoll_wait_old
  • old_getpagesize
  • timerfd

上述 4 个系统调用在最新版本的 Linux 内核中均已被弃用。 若软件项目版本过老仍然在使用这些系统调用,请考虑修改为对应新版本的系统调用:

  • epoll_ctl_old:使用 epoll_ctl 替代
  • epoll_wait_old:使用 epoll_wait 替代
  • old_getpagesize;使用 getpagesize 替代
  • timerfd:使用 timerfd_create 替代

RISC-V 架构特有的系统调用

通过分析 Linux 6.1 版本的内核源码筛选系统调用实现情况可知, 下列 2 个 RISC-V 架构内核的系统调用在 ARM 和 X86 两种架构中的至少一种上没有出现。

RISC-V 系统调用名称ARM 架构是否包含X86 架构是否包含
fadvise64_64×√
riscv_flush_icache××

上述 2 个系统调用,在将软件适配至 RISC-V 架构时,需留意检查是否需要使用。

编辑本页面
最后更新时间:
贡献者: LightningRS
Prev
多版本函数

本知识库采用 木兰开放作品许可协议 署名-相同方式共享 第1版 进行许可

版权所有 © 2025 RVSmartPorting. | 京ICP备20005262号 | beian京公网安备11010802043677号