Skip to content

riscv: rvck_defconfig: enable VFIO support - #352

Merged
sterling-teng merged 1 commit into
RVCK-Project:rvck-6.6from
WangJia-UR:vfio-defconfig
Sep 4, 2026
Merged

riscv: rvck_defconfig: enable VFIO support#352
sterling-teng merged 1 commit into
RVCK-Project:rvck-6.6from
WangJia-UR:vfio-defconfig

Conversation

@WangJia-UR

@WangJia-UR WangJia-UR commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

fixed: #351

riscv inclusion
category: config
bugzilla: #351


Enable VFIO and PCI device assignment support for RISC-V. The other changes are generated automatically by savedefconfig.

Signed-off-by: Jia Wang wangjia@ultrarisc.com

@github-actions

github-actions Bot commented Jul 28, 2026

Copy link
Copy Markdown

开始测试 log: https://github.com/RVCK-Project/rvck/actions/runs/30321504970

参数解析结果
args value
repository RVCK-Project/rvck
head ref pull/352/head
base ref rvck-6.6
LAVA repo RVCK-Project/lavaci
LAVA hardware ['qemu']
LAVA Testcase path lava-testcases/common-test/ltp/ltp.yaml
need run job kunit-test,kernel-build,check-patch,lava-trigger

测试完成

详细结果:
check result
kunit-test success
kernel-build success
check-patch success
lava-trigger-qemu failure
lava-trigger-sg2042 skipped
lava-trigger-k1 skipped
lava-trigger-lpi4a skipped

Kunit Test Result

[01:57:14] Testing complete. Ran 482 tests: passed: 465, skipped: 17

Kernel Build Result

Check Patch Result

Total Errors 0
Total Warnings 1

LAVA Check (qemu)


lava 执行失败.

@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown

开始测试 log: https://github.com/RVCK-Project/rvck/actions/runs/30871594463

参数解析结果
args value
repository RVCK-Project/rvck
head ref pull/352/head
base ref rvck-6.6
LAVA repo RVCK-Project/lavaci
LAVA hardware ['qemu']
LAVA Testcase path lava-testcases/common-test/ltp/ltp.yaml
need run job kunit-test,kernel-build,check-patch,lava-trigger

测试完成

详细结果:
check result
kunit-test success
kernel-build failure
check-patch success
lava-trigger-qemu skipped
lava-trigger-sg2042 skipped
lava-trigger-k1 skipped
lava-trigger-lpi4a skipped

Kunit Test Result

[02:29:35] Testing complete. Ran 482 tests: passed: 465, skipped: 17

Kernel Build Result

Check Patch Result

Total Errors 0
Total Warnings 1

@WangJia-UR WangJia-UR changed the title riscv: defconfig: enable VFIO support riscv: rvck_defconfig: enable VFIO support Aug 4, 2026
@github-actions

github-actions Bot commented Aug 10, 2026

Copy link
Copy Markdown

开始测试 log: https://github.com/RVCK-Project/rvck/actions/runs/30871594463

参数解析结果
args value
repository RVCK-Project/rvck
head ref pull/352/head
base ref rvck-6.6
LAVA repo RVCK-Project/lavaci
LAVA hardware ['qemu']
LAVA Testcase path lava-testcases/common-test/ltp/ltp.yaml
need run job kunit-test,kernel-build,check-patch,lava-trigger

测试完成

详细结果:
check result
kunit-test success
kernel-build success
check-patch failure
lava-trigger-qemu success
lava-trigger-sg2042 skipped
lava-trigger-k1 skipped
lava-trigger-lpi4a skipped

Kunit Test Result

[06:59:59] Testing complete. Ran 482 tests: passed: 465, skipped: 17

Kernel Build Result

Check Patch Result

Total Errors 60694
Total Warnings 122034

LAVA Check (qemu)

args value
testcase_repo RVCK-Project/lavaci
lava_template lava-job-template/qemu/qemu-ltp.yaml
testcase_path lava-testcases/common-test/ltp/ltp.yaml
kernel_download_url http://10.30.190.110/openEuler-RISC-V/RVCK/OERV-RVCI/RVCK-Project/rvck/352_30871594463_2/Image
initramfs_download_url http://10.30.190.110/openEuler-RISC-V/RVCK/OERV-RVCI/RVCK-Project/rvck/352_30871594463_2/initramfs.img
rootfs_download_url https://fast-mirror.isrc.ac.cn/openeuler-sig-riscv/openEuler-RISC-V/RVCK/openEuler24.03-LTS-SP1/openeuler-rootfs.img.zst
testcase_ref main
testitem_name RVCK-Project_rvck_pull_request_target_352__common-test_qemu

result: Lava check done!

@unicornx

Copy link
Copy Markdown
Contributor

@WangJia-UR 新的 rvck-6.6 分支发布了,请 rebase 一下,目前看上去有代码冲突。

@sterling-teng

Copy link
Copy Markdown
Contributor

ping.

@github-actions

github-actions Bot commented Aug 17, 2026

Copy link
Copy Markdown

开始测试 log: https://github.com/RVCK-Project/rvck/actions/runs/32012567806

参数解析结果
args value
repository RVCK-Project/rvck
head ref pull/352/head
base ref rvck-6.6
LAVA repo RVCK-Project/lavaci
LAVA hardware ['qemu']
LAVA Testcase path lava-testcases/common-test/ltp/ltp.yaml
need run job kunit-test,kernel-build,check-patch,lava-trigger

测试完成

详细结果:
check result
kunit-test success
kernel-build success
check-patch success
lava-trigger-qemu success
lava-trigger-sg2042 skipped
lava-trigger-k1 skipped
lava-trigger-lpi4a skipped

Kunit Test Result

[08:58:52] Testing complete. Ran 482 tests: passed: 465, skipped: 17

Kernel Build Result

Check Patch Result

Total Errors 0
Total Warnings 1

LAVA Check (qemu)

args value
testcase_repo RVCK-Project/lavaci
lava_template lava-job-template/qemu/qemu-ltp.yaml
testcase_path lava-testcases/common-test/ltp/ltp.yaml
kernel_download_url http://10.30.190.110/openEuler-RISC-V/RVCK/OERV-RVCI/RVCK-Project/rvck/352_32012567806_1/Image
initramfs_download_url http://10.30.190.110/openEuler-RISC-V/RVCK/OERV-RVCI/RVCK-Project/rvck/352_32012567806_1/initramfs.img
rootfs_download_url https://fast-mirror.isrc.ac.cn/openeuler-sig-riscv/openEuler-RISC-V/RVCK/openEuler24.03-LTS-SP1/openeuler-rootfs.img.zst
testcase_ref main
testitem_name RVCK-Project_rvck_pull_request_target_352__common-test_qemu

result: Lava check done!

@WangJia-UR

Copy link
Copy Markdown
Contributor Author

@WangJia-UR 新的 rvck-6.6 分支发布了,请 rebase 一下,目前看上去有代码冲突。

done

@unicornx
unicornx self-requested a review August 19, 2026 02:58
@unicornx

unicornx commented Aug 19, 2026

Copy link
Copy Markdown
Contributor

1st review:

这种修改方式没法看出来这个补丁具体改了什么配置项

目前的 rvck_defconfig 文件看上去应该先基于最新的 rvck-6.6 做一下 savedefconfig 更新一下,然后再让 #352 在这个基础上改。

@sterling-teng 考虑到目前还有几个已经 approved 的 PR 修改了 rvck_defconfig 文件,建议在下一次 merge 操作过程中为 rvck_defconfig 做一次 savedefconfig,然后 #352 再做一次 rebase 后提交正式修改。

@WangJia-UR 你能先列一下你具体修改了哪些配置项,我先看看?是不是就是 #351 里列的那些?

@unicornx

Copy link
Copy Markdown
Contributor

1st review:
...
@WangJia-UR 你能先列一下你具体修改了哪些配置项,我先看看?是不是就是 #351 里列的那些?

@WangJia-UR 我感觉不止 #351 里列的那些,你列的这些项都有依赖,至少还要先开那些依赖的才行,你可以再整理一下列出来先。

@WangJia-UR

Copy link
Copy Markdown
Contributor Author

1st review:
...
@WangJia-UR 你能先列一下你具体修改了哪些配置项,我先看看?是不是就是 #351 里列的那些?

@WangJia-UR 我感觉不止 #351 里列的那些,你列的这些项都有依赖,至少还要先开那些依赖的才行,你可以再整理一下列出来先。

是的,#351里列的那些,其他是用savedefconfig处理的

@WangJia-UR

Copy link
Copy Markdown
Contributor Author

1st review:
...
@WangJia-UR 你能先列一下你具体修改了哪些配置项,我先看看?是不是就是 #351 里列的那些?

@WangJia-UR 我感觉不止 #351 里列的那些,你列的这些项都有依赖,至少还要先开那些依赖的才行,你可以再整理一下列出来先。

需要我拆分成两个commit吗?先savedefconfig,然后再改我需要的

@unicornx

Copy link
Copy Markdown
Contributor

1st review:
...
@WangJia-UR 你能先列一下你具体修改了哪些配置项,我先看看?是不是就是 #351 里列的那些?

@WangJia-UR 我感觉不止 #351 里列的那些,你列的这些项都有依赖,至少还要先开那些依赖的才行,你可以再整理一下列出来先。

需要我拆分成两个commit吗?先savedefconfig,然后再改我需要的

你先不要改,看我上面给 teng 的建议,有结论再行动

@sterling-teng

Copy link
Copy Markdown
Contributor

1st review:

这种修改方式没法看出来这个补丁具体改了什么配置项

目前的 rvck_defconfig 文件看上去应该先基于最新的 rvck-6.6 做一下 savedefconfig 更新一下,然后再让 #352 在这个基础上改。

@sterling-teng 考虑到目前还有几个已经 approved 的 PR 修改了 rvck_defconfig 文件,建议在下一次 merge 操作过程中为 rvck_defconfig 做一次 savedefconfig,然后 #352 再做一次 rebase 后提交正式修改。

@WangJia-UR 你能先列一下你具体修改了哪些配置项,我先看看?是不是就是 #351 里列的那些?

savedefconfig操作只能以提交pr的方式进行,可以提个issue和pr进行savedefconfig,快速合并后该pr立刻rebase。

@unicornx

unicornx commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

1st review:
这种修改方式没法看出来这个补丁具体改了什么配置项
目前的 rvck_defconfig 文件看上去应该先基于最新的 rvck-6.6 做一下 savedefconfig 更新一下,然后再让 #352 在这个基础上改。
@sterling-teng 考虑到目前还有几个已经 approved 的 PR 修改了 rvck_defconfig 文件,建议在下一次 merge 操作过程中为 rvck_defconfig 做一次 savedefconfig,然后 #352 再做一次 rebase 后提交正式修改。
@WangJia-UR 你能先列一下你具体修改了哪些配置项,我先看看?是不是就是 #351 里列的那些?

savedefconfig操作只能以提交pr的方式进行,可以提个issue和pr进行savedefconfig,快速合并后该pr立刻rebase。

@sterling-teng 这个没问题,但我的建议是在你 merge 完最近的几笔 pr 后直接紧跟着做这个 savedefconfig 的事情(然后生成新的 rvck-6.6)是不是更好?正如我上面建议的 “考虑到目前还有几个已经 approved 的 PR 修改了 rvck_defconfig 文件,建议在下一次 merge 操作过程中为 rvck_defconfig 做一次 savedefconfig,然后 #352 再做一次 rebase 后提交正式修改。”

@WangJia-UR

Copy link
Copy Markdown
Contributor Author

1st review:
这种修改方式没法看出来这个补丁具体改了什么配置项
目前的 rvck_defconfig 文件看上去应该先基于最新的 rvck-6.6 做一下 savedefconfig 更新一下,然后再让 #352 在这个基础上改。
@sterling-teng 考虑到目前还有几个已经 approved 的 PR 修改了 rvck_defconfig 文件,建议在下一次 merge 操作过程中为 rvck_defconfig 做一次 savedefconfig,然后 #352 再做一次 rebase 后提交正式修改。
@WangJia-UR 你能先列一下你具体修改了哪些配置项,我先看看?是不是就是 #351 里列的那些?

savedefconfig操作只能以提交pr的方式进行,可以提个issue和pr进行savedefconfig,快速合并后该pr立刻rebase。

提了个单独savedefconfig的PR:#369

@unicornx

Copy link
Copy Markdown
Contributor

1st review:
这种修改方式没法看出来这个补丁具体改了什么配置项
目前的 rvck_defconfig 文件看上去应该先基于最新的 rvck-6.6 做一下 savedefconfig 更新一下,然后再让 #352 在这个基础上改。
@sterling-teng 考虑到目前还有几个已经 approved 的 PR 修改了 rvck_defconfig 文件,建议在下一次 merge 操作过程中为 rvck_defconfig 做一次 savedefconfig,然后 #352 再做一次 rebase 后提交正式修改。
@WangJia-UR 你能先列一下你具体修改了哪些配置项,我先看看?是不是就是 #351 里列的那些?

savedefconfig操作只能以提交pr的方式进行,可以提个issue和pr进行savedefconfig,快速合并后该pr立刻rebase。

@sterling-teng 这个没问题,但我的建议是在你 merge 完最近的几笔 pr 后直接紧跟着做这个 savedefconfig 的事情(然后生成新的 rvck-6.6)是不是更好?正如我上面建议的 “考虑到目前还有几个已经 approved 的 PR 修改了 rvck_defconfig 文件,建议在下一次 merge 操作过程中为 rvck_defconfig 做一次 savedefconfig,然后 #352 再做一次 rebase 后提交正式修改。”

我甚至建议这个 savedefconfig 的动作是不是应该在每次涉及修改 rvck-6.6 的 merge/rebase 动作时作为一个必要操作步骤完成,否则以后是不是经常要有人来提 pr 做 savedefconfig?

@unicornx

unicornx commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

@WangJia-UR #369 已经 merge 了,请将这个 #352 rebase 到最新的 rvck-6.6 后再提交 review,谢谢

@github-actions

github-actions Bot commented Aug 31, 2026

Copy link
Copy Markdown

开始测试 log: https://github.com/RVCK-Project/rvck/actions/runs/33347750727

参数解析结果
args value
repository RVCK-Project/rvck
head ref pull/352/head
base ref rvck-6.6
LAVA repo RVCK-Project/lavaci
LAVA hardware ['qemu']
LAVA Testcase path lava-testcases/common-test/ltp/ltp.yaml
need run job kunit-test,kernel-build,check-patch,lava-trigger

测试完成

详细结果:
check result
kunit-test success
kernel-build failure
check-patch failure
lava-trigger-qemu skipped
lava-trigger-sg2042 skipped
lava-trigger-k1 skipped
lava-trigger-lpi4a skipped

Kunit Test Result

[01:34:46] Testing complete. Ran 482 tests: passed: 465, skipped: 17

Kernel Build Result

@WangJia-UR

Copy link
Copy Markdown
Contributor Author

@WangJia-UR #369 已经 merge 了,请将这个 #352 rebase 到最新的 rvck-6.6 后再提交 review,谢谢

done

@unicornx

unicornx commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

@WangJia-UR rvck-6.6 升级到 6.6.155 了,我看 ci check 有报错,请再 rebase 一下触发 ci 再 rerun 一下看看呢

riscv inclusion
category: config
bugzilla: RVCK-Project#351

--------------------------------

Enable VFIO and PCI device assignment support for RISC-V. The other
changes are generated automatically by savedefconfig.

Signed-off-by: Jia Wang <wangjia@ultrarisc.com>
@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown

开始测试 log: https://github.com/RVCK-Project/rvck/actions/runs/33599205420

参数解析结果
args value
repository RVCK-Project/rvck
head ref pull/352/head
base ref rvck-6.6
LAVA repo RVCK-Project/lavaci
LAVA hardware ['qemu']
LAVA Testcase path lava-testcases/common-test/ltp/ltp.yaml
need run job kunit-test,kernel-build,check-patch,lava-trigger

测试完成

详细结果:
check result
kunit-test success
kernel-build success
check-patch success
lava-trigger-qemu success
lava-trigger-sg2042 skipped
lava-trigger-k1 skipped
lava-trigger-lpi4a skipped

Kunit Test Result

[07:05:53] Testing complete. Ran 482 tests: passed: 465, skipped: 17

Kernel Build Result

Check Patch Result

Total Errors 0
Total Warnings 0

LAVA Check (qemu)

args value
testcase_repo RVCK-Project/lavaci
lava_template lava-job-template/qemu/qemu-ltp.yaml
testcase_path lava-testcases/common-test/ltp/ltp.yaml
kernel_download_url http://10.30.190.110/openEuler-RISC-V/RVCK/OERV-RVCI/RVCK-Project/rvck/352_33599205420_1/Image
initramfs_download_url http://10.30.190.110/openEuler-RISC-V/RVCK/OERV-RVCI/RVCK-Project/rvck/352_33599205420_1/initramfs.img
rootfs_download_url https://fast-mirror.isrc.ac.cn/openeuler-sig-riscv/openEuler-RISC-V/RVCK/openEuler24.03-LTS-SP1/openeuler-rootfs.img.zst
testcase_ref main
testitem_name RVCK-Project_rvck_pull_request_target_352__common-test_qemu

result: Lava check done!

@unicornx

unicornx commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

2nd review

请问你验证过 VFIO 的基本功能在目前 rvck 的版本上可以正常工作吗?我粗略搜索了一下,貌似内核针对 RISC-V 上的 VFIO 改动,特别是 defconfig 上开启 VFIO 这个,到目前为止也没有合入主线呢,参考 patch。你现在开启这个有意义吗?我建议在本周的 RVCK 双周会(2026/9/3)上讨论一下这个 pr, 欢迎参加一起讨论。

此外 VFIO_NOIOMMU 也不建议在默认配置中打开,因为它会彻底绕过 IOMMU 的 DMA 隔离保护,为整个系统的稳定性和安全性带来巨大风险。请问你这里开启的原因是什么?建议只在自己开发测试中本地打开。

@unicornx

unicornx commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

@fangyu0809 @uestc-gr 请两位老师协助一起 review 一下,谢谢。

@WangJia-UR

Copy link
Copy Markdown
Contributor Author

2nd review

请问你验证过 VFIO 的基本功能在目前 rvck 的版本上可以正常工作吗?我粗略搜索了一下,貌似内核针对 RISC-V 上的 VFIO 改动,特别是 defconfig 上开启 VFIO 这个,到目前为止也没有合入主线呢,参考 patch。你现在开启这个有意义吗?我建议在本周的 RVCK 双周会(2026/9/3)上讨论一下这个 pr, 欢迎参加一起讨论。

此外 VFIO_NOIOMMU 也不建议在默认配置中打开,因为它会彻底绕过 IOMMU 的 DMA 隔离保护,为整个系统的稳定性和安全性带来巨大风险。请问你这里开启的原因是什么?建议只在自己开发测试中本地打开。

已在dp1000上使用dpdk验证过功能,VFIO_NOIOMMU打开后,功能默认是关闭的,需要运行时的kernel参数enable_unsafe_noiommu_mode来启用。

@unicornx

unicornx commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

2nd review

请问你验证过 VFIO 的基本功能在目前 rvck 的版本上可以正常工作吗?我粗略搜索了一下,貌似内核针对 RISC-V 上的 VFIO 改动,特别是 defconfig 上开启 VFIO 这个,到目前为止也没有合入主线呢,参考 patch。你现在开启这个有意义吗?我建议在本周的 RVCK 双周会(2026/9/3)上讨论一下这个 pr, 欢迎参加一起讨论。

此外 VFIO_NOIOMMU 也不建议在默认配置中打开,因为它会彻底绕过 IOMMU 的 DMA 隔离保护,为整个系统的稳定性和安全性带来巨大风险。请问你这里开启的原因是什么?建议只在自己开发测试中本地打开。

补充一下,内核编译时开启 CONFIG_VFIO_NOIOMMU 只是表明内核具备了支持无 IOMMU 模式的能力。实际激活该功能还需要一个开关,就是设置 vfio 内核模块的加载参数 enable_unsafe_noiommu_mode,所以仅仅开启 VFIO_NOIOMMU 配置并不会直接导致系统风险。

@unicornx unicornx left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Reviewed-by: Chen Wang wangchen20@iscas.ac.cn
Tested-by: Chen Wang wangchen20@iscas.ac.cn # QEMU-virt & Pioneerbox/SG2042

@fangyu0809

Copy link
Copy Markdown

LGTM
Reviewed-by: Fangyu Yu fangyu.yu@linux.alibaba.com

@uestc-gr uestc-gr left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Reviewed-by: Gao Rui gao.rui@zte.com.cn

@sterling-teng

Copy link
Copy Markdown
Contributor

已经合并至rvck-6.6。

@sterling-teng
sterling-teng merged commit 036bc46 into RVCK-Project:rvck-6.6 Sep 4, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

riscv: defconfig: Enable VFIO support

6 participants