zx_system_get_features

摘要

获取支持的硬件功能。

声明

#include <zircon/syscalls.h>

zx_status_t zx_system_get_features(uint32_t kind, uint32_t* features);

说明

zx_system_get_features() 使用硬件特定功能的位掩码填充 features。kind 表示要检索的特征的具体类型,例如 ZX_FEATURE_KIND_CPU。支持的种类和各个特征位的含义取决于硬件。ZX_FEATURE_KIND_VM 不依赖于硬件,并会返回一个位集,目前唯一有意义的位是 ZX_VM_FEATURE_CAN_MAP_XOM,如果系统可以映射具有“仅执行”权限的页面,则该位为 1。

ZX_FEATURE_KIND_CPU_SVE 会报告系统中每个 CPU 支持的 arm64 SVE 子功能(ZX_ARM64_FEATURE_ISA_SVE2、ZX_ARM64_FEATURE_ISA_SVEBF16 等)。仅当 ZX_FEATURE_KIND_CPU 报告 ZX_ARM64_FEATURE_ISA_SVE 时,其位才会被设置;在其他架构上,或者当不支持 SVE 时,它会返回 ZX_OK,且不设置任何位。

权限

TODO(https://fxbug.dev/42107318)

返回值

zx_system_get_features() 成功时返回 ZX_OK。

错误

ZX_ERR_NOT_SUPPORTED 此平台不支持所请求的功能类型。

备注

如需了解支持的处理器架构,请参阅在设备上安装 Fuchsia。

如需了解特征类型和各个特征位,请参阅 zircon/features.h。

另请参阅