aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux
diff options
context:
space:
mode:
authorAlexander Potapenko <glider@google.com>2024-09-09 18:00:59 +0200
committerAlexander Potapenko <glider@google.com>2024-09-10 10:37:07 +0000
commit54b25b5d0d3d50316b22b78e427012e1b7e917e0 (patch)
tree3d744b377904b51bae6c812540c3969dab34238d /sys/linux
parenteef8912b0d1bd741af79167b9ae8f9fb1dff1b43 (diff)
sys/linux/dev_kvm.txt: declare ARM_SMCCC_ constants from arm-smccc.h
KVM provides a number of vendor-specific hypercall functions that are hard to discover without explicitly listing their IDs in the descriptions file.
Diffstat (limited to 'sys/linux')
-rw-r--r--sys/linux/dev_kvm.txt5
-rw-r--r--sys/linux/dev_kvm.txt.const16
2 files changed, 20 insertions, 1 deletions
diff --git a/sys/linux/dev_kvm.txt b/sys/linux/dev_kvm.txt
index 0923929f3..461293850 100644
--- a/sys/linux/dev_kvm.txt
+++ b/sys/linux/dev_kvm.txt
@@ -286,7 +286,10 @@ syzos_api_msr {
# Bits 23:16 are ignored (must be zero in most cases)
# Bits 15:0 denote the function number (0-0xffff) within the specified range, so we list all the possible bit values
# here and hope that the fuzzer will be able to combine them into a number.
-kvm_smc_id = 0x80000000, 0x40000000, 0x1000000, 0x2000000, 0x3000000, 0x4000000, 0x5000000, 0x6000000, 0x30000000, 0x31000000, 0x32000000, 0x3f000000, 0x0, 0x1, 0x2, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80, 0x100, 0x200, 0x400, 0x800, 0x1000, 0x2000, 0x4000, 0x8000, 0xffff
+#
+# Numeric constants are used to help the fuzzer construct arbitrary SMC function IDs.
+# We also include IDs from include/linux/arm-smccc.h here.
+kvm_smc_id = 0x80000000, 0x40000000, 0x1000000, 0x2000000, 0x3000000, 0x4000000, 0x5000000, 0x6000000, 0x30000000, 0x31000000, 0x32000000, 0x3f000000, 0x0, 0x1, 0x2, 0x4, 0x8, 0x10, 0x20, 0x40, 0x80, 0x100, 0x200, 0x400, 0x800, 0x1000, 0x2000, 0x4000, 0x8000, 0xffff, ARM_SMCCC_VERSION_FUNC_ID, ARM_SMCCC_ARCH_FEATURES_FUNC_ID, ARM_SMCCC_ARCH_SOC_ID, ARM_SMCCC_ARCH_WORKAROUND_1, ARM_SMCCC_ARCH_WORKAROUND_2, ARM_SMCCC_ARCH_WORKAROUND_3, ARM_SMCCC_VENDOR_HYP_CALL_UID_FUNC_ID, ARM_SMCCC_VENDOR_HYP_KVM_FEATURES_FUNC_ID, ARM_SMCCC_VENDOR_HYP_KVM_PTP_FUNC_ID, ARM_SMCCC_HV_PV_TIME_FEATURES, ARM_SMCCC_HV_PV_TIME_ST, ARM_SMCCC_TRNG_VERSION, ARM_SMCCC_TRNG_FEATURES, ARM_SMCCC_TRNG_GET_UUID, ARM_SMCCC_TRNG_RND32, ARM_SMCCC_TRNG_RND64
syzos_api_smccc {
arg_id flags[kvm_smc_id, int32]
diff --git a/sys/linux/dev_kvm.txt.const b/sys/linux/dev_kvm.txt.const
index 62e7c1acd..ebced0055 100644
--- a/sys/linux/dev_kvm.txt.const
+++ b/sys/linux/dev_kvm.txt.const
@@ -1,5 +1,21 @@
# Code generated by syz-sysgen. DO NOT EDIT.
arches = 386, amd64, arm64, mips64le, ppc64le, s390x
+ARM_SMCCC_ARCH_FEATURES_FUNC_ID = 386:amd64:mips64le:ppc64le:s390x:???, arm64:2147483649
+ARM_SMCCC_ARCH_SOC_ID = 386:amd64:mips64le:ppc64le:s390x:???, arm64:2147483650
+ARM_SMCCC_ARCH_WORKAROUND_1 = 386:amd64:mips64le:ppc64le:s390x:???, arm64:2147516416
+ARM_SMCCC_ARCH_WORKAROUND_2 = 386:amd64:mips64le:ppc64le:s390x:???, arm64:2147516415
+ARM_SMCCC_ARCH_WORKAROUND_3 = 386:amd64:mips64le:ppc64le:s390x:???, arm64:2147500031
+ARM_SMCCC_HV_PV_TIME_FEATURES = 386:amd64:mips64le:ppc64le:s390x:???, arm64:3305111584
+ARM_SMCCC_HV_PV_TIME_ST = 386:amd64:mips64le:ppc64le:s390x:???, arm64:3305111585
+ARM_SMCCC_TRNG_FEATURES = 386:amd64:mips64le:ppc64le:s390x:???, arm64:2214592593
+ARM_SMCCC_TRNG_GET_UUID = 386:amd64:mips64le:ppc64le:s390x:???, arm64:2214592594
+ARM_SMCCC_TRNG_RND32 = 386:amd64:mips64le:ppc64le:s390x:???, arm64:2214592595
+ARM_SMCCC_TRNG_RND64 = 386:amd64:mips64le:ppc64le:s390x:???, arm64:3288334419
+ARM_SMCCC_TRNG_VERSION = 386:amd64:mips64le:ppc64le:s390x:???, arm64:2214592592
+ARM_SMCCC_VENDOR_HYP_CALL_UID_FUNC_ID = 386:amd64:mips64le:ppc64le:s390x:???, arm64:2248212225
+ARM_SMCCC_VENDOR_HYP_KVM_FEATURES_FUNC_ID = 386:amd64:mips64le:ppc64le:s390x:???, arm64:2248146944
+ARM_SMCCC_VENDOR_HYP_KVM_PTP_FUNC_ID = 386:amd64:mips64le:ppc64le:s390x:???, arm64:2248146945
+ARM_SMCCC_VERSION_FUNC_ID = 386:amd64:mips64le:ppc64le:s390x:???, arm64:2147483648
AT_FDCWD = 18446744073709551516
KVM_ARM_SET_COUNTER_OFFSET = 386:amd64:mips64le:ppc64le:s390x:???, arm64:1074835125
KVM_ARM_SET_DEVICE_ADDR = 1074835115, mips64le:ppc64le:2148576939