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() 會使用硬體專屬功能的位元遮罩填入功能。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。

另請參閱