---
title: 默认使用场景-支持SVA的场景
description: "默认情况下，本文假设用户的运行环境是支持SVA（Shared Virtual Addressing）的，硬件可以直接访问用户态程序的VA，而不需要用户把VA转换成硬件可见的DMA地址传递给硬件。可以通过以下三个条件判定运行环境是否支持SVA："
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/252RC1/accel/kunpengaccel_17_0007.html
sourcePath: /source/zh/kunpengboostkithistory/252RC1/accel/kunpengaccel_17_0007.html
indexId: 35c112719ed6ef5d0b5c28b38950d5f330da42e793e370b2bbb80b3138e8a26f72
---
# 默认使用场景-支持SVA的场景

默认情况下，本文假设用户的运行环境是支持SVA（Shared Virtual Addressing）的，硬件可以直接访问用户态程序的VA，而不需要用户把VA转换成硬件可见的DMA地址传递给硬件。可以通过以下三个条件判定运行环境是否支持SVA：

- 用户运行环境中的Linux kernel已经支持SVA。在用户环境中的shell中，通过观察执行zcat /proc/config.gz | grep -i CONFIG_IOMMU_SVA | echo $?命令的结果判断kernel是否支持SVA，如果是0则支持SVA，其他情况下则不支持。
- 判断是否使能IOMMU，可以在用户环境中的shell中，通过观察执行dmesg | grep -i iommu | echo $?命令的结果是否为0来判断是否支持IOMMU。
- 用户环境中所有注册到UACCE框架的设备都是支持PASID（Process Address Space ID）和支持IOMMU的。在用户环境中的shell中，通过执行cat /sys/class/uacce/设备名/attrs/flags命令的结果，如果结果和3进行与运算之后的结果等于2则该设备支持PASID且支持IOMMU。
