From 44a5ca633e186c5836010366c515a4017836121b Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Fri, 29 Apr 2022 09:15:41 +0200 Subject: pkg/ast, pkg/compiler: support per-file metadata We have a bunch of hacks in syz-extract, syz-sysgen and syz-check with respect to description files unsupported on some arches, or that must not be part of make extract. Add 2 meta attribtues to files: meta noextract Tells `make extract` to not extract constants for this file. Though, `syz-extract` can still be invoked manually on this file. meta arches["arch1", "arch2"] Restricts this file only to the given set of architectures. `make extract` and ``make generate` will not use it on other architectures. Later we can potentially use meta attributes to specify git tree/commit that must be used for extraction. Maybe something else. Fixes #2754 --- sys/linux/dev_bifrost.txt | 4 + sys/linux/dev_img_rogue.txt | 3 + sys/linux/dev_kvm.txt | 2 + sys/linux/dev_kvm.txt.const | 484 +++++++++++++++++++++--------------------- sys/linux/dev_tlk_device.txt | 4 + sys/linux/dev_video4linux.txt | 2 + sys/linux/fs_incfs.txt | 11 +- sys/linux/vnet_mptcp.txt | 3 + sys/syz-extract/extract.go | 109 ++++------ sys/syz-extract/linux.go | 9 - sys/syz-sysgen/sysgen.go | 25 +-- sys/test/arch_32.txt | 9 + sys/test/arch_64.txt | 9 + 13 files changed, 330 insertions(+), 344 deletions(-) create mode 100644 sys/test/arch_32.txt create mode 100644 sys/test/arch_64.txt (limited to 'sys') diff --git a/sys/linux/dev_bifrost.txt b/sys/linux/dev_bifrost.txt index e6d212610..f1de33dff 100644 --- a/sys/linux/dev_bifrost.txt +++ b/sys/linux/dev_bifrost.txt @@ -4,6 +4,10 @@ # The source file of mali bifrost ioctl can be found in ChromeOS source tree: # https://chromium.googlesource.com/chromiumos/third_party/kernel/+/chromeos-4.19/drivers/gpu/arm/bifrost/mali_kbase_ioctl.h +# Not upstream, generated on: +# https://chromium.googlesource.com/chromiumos/third_party/kernel d2a8a1eb8b86 +meta noextract + include include include diff --git a/sys/linux/dev_img_rogue.txt b/sys/linux/dev_img_rogue.txt index a7b0ef375..e19529303 100644 --- a/sys/linux/dev_img_rogue.txt +++ b/sys/linux/dev_img_rogue.txt @@ -4,6 +4,9 @@ # The source file of IMG PowerVR Rogue ioctl can be found in ChromeOS source tree: # https://chromium.googlesource.com/chromiumos/third_party/kernel/+/chromeos-4.19/drivers/gpu/drm/img-rogue/1.13/ +# Not upstream, generated on unknown tree. +meta noextract + incdir incdir include diff --git a/sys/linux/dev_kvm.txt b/sys/linux/dev_kvm.txt index e8c74386f..19209718b 100644 --- a/sys/linux/dev_kvm.txt +++ b/sys/linux/dev_kvm.txt @@ -1,6 +1,8 @@ # Copyright 2015 syzkaller project authors. All rights reserved. # Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. +meta arches["386", "amd64", "arm64", "mips64le", "ppc64le", "s390x"] + include include include diff --git a/sys/linux/dev_kvm.txt.const b/sys/linux/dev_kvm.txt.const index 67f2e8a1d..c31e2b0cc 100644 --- a/sys/linux/dev_kvm.txt.const +++ b/sys/linux/dev_kvm.txt.const @@ -1,243 +1,243 @@ # Code generated by syz-sysgen. DO NOT EDIT. -arches = 386, amd64, arm, arm64, mips64le, ppc64le, riscv64, s390x -AT_FDCWD = 18446744073709551516, arm:riscv64:??? -KVM_ARM_SET_DEVICE_ADDR = 1074835115, arm:riscv64:???, mips64le:ppc64le:2148576939 -KVM_ARM_TARGET_AEM_V8 = 386:amd64:arm:mips64le:ppc64le:riscv64:s390x:???, arm64:0 -KVM_ARM_TARGET_CORTEX_A53 = 386:amd64:arm:mips64le:ppc64le:riscv64:s390x:???, arm64:4 -KVM_ARM_TARGET_CORTEX_A57 = 386:amd64:arm:mips64le:ppc64le:riscv64:s390x:???, arm64:2 -KVM_ARM_TARGET_FOUNDATION_V8 = 386:amd64:arm:mips64le:ppc64le:riscv64:s390x:???, arm64:1 -KVM_ARM_TARGET_GENERIC_V8 = 386:amd64:arm:mips64le:ppc64le:riscv64:s390x:???, arm64:5 -KVM_ARM_TARGET_XGENE_POTENZA = 386:amd64:arm:mips64le:ppc64le:riscv64:s390x:???, arm64:3 -KVM_ARM_VCPU_EL1_32BIT = 386:amd64:arm:mips64le:ppc64le:riscv64:s390x:???, arm64:1 -KVM_ARM_VCPU_INIT = 386:amd64:arm:mips64le:ppc64le:riscv64:s390x:???, arm64:1075883694 -KVM_ARM_VCPU_PMU_V3 = 386:amd64:arm:mips64le:ppc64le:riscv64:s390x:???, arm64:3 -KVM_ARM_VCPU_POWER_OFF = 386:amd64:arm:mips64le:ppc64le:riscv64:s390x:???, arm64:0 -KVM_ARM_VCPU_PSCI_0_2 = 386:amd64:arm:mips64le:ppc64le:riscv64:s390x:???, arm64:2 -KVM_ASSIGN_DEV_IRQ = 1077980784, arm:riscv64:???, mips64le:ppc64le:2151722608 -KVM_ASSIGN_PCI_DEVICE = 2151722601, arm:riscv64:???, mips64le:ppc64le:1077980777 -KVM_ASSIGN_SET_INTX_MASK = 1077980836, arm:riscv64:???, mips64le:ppc64le:2151722660 -KVM_ASSIGN_SET_MSIX_ENTRY = 1074835060, arm:riscv64:???, mips64le:ppc64le:2148576884 -KVM_ASSIGN_SET_MSIX_NR = 1074310771, arm:riscv64:???, mips64le:ppc64le:2148052595 -KVM_BUS_LOCK_DETECTION_EXIT = 2, arm:riscv64:??? -KVM_BUS_LOCK_DETECTION_OFF = 1, arm:riscv64:??? -KVM_CAP_DIRTY_LOG_RING = 192, arm:riscv64:??? -KVM_CAP_DISABLE_QUIRKS = 116, arm:riscv64:??? -KVM_CAP_ENFORCE_PV_FEATURE_CPUID = 190, arm:riscv64:??? -KVM_CAP_EXCEPTION_PAYLOAD = 164, arm:riscv64:??? -KVM_CAP_EXIT_HYPERCALL = 201, arm:riscv64:??? -KVM_CAP_EXIT_ON_EMULATION_FAILURE = 204, arm:riscv64:??? -KVM_CAP_HALT_POLL = 182, arm:riscv64:??? -KVM_CAP_HYPERV_DIRECT_TLBFLUSH = 175, arm:riscv64:??? -KVM_CAP_HYPERV_ENFORCE_CPUID = 199, arm:riscv64:??? -KVM_CAP_HYPERV_ENLIGHTENED_VMCS = 163, arm:riscv64:??? -KVM_CAP_HYPERV_SYNIC = 123, arm:riscv64:??? -KVM_CAP_HYPERV_SYNIC2 = 148, arm:riscv64:??? -KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2 = 168, arm:riscv64:??? -KVM_CAP_MSR_PLATFORM_INFO = 159, arm:riscv64:??? -KVM_CAP_SGX_ATTRIBUTE = 196, arm:riscv64:??? -KVM_CAP_SPLIT_IRQCHIP = 121, arm:riscv64:??? -KVM_CAP_VM_COPY_ENC_CONTEXT_FROM = 197, arm:riscv64:??? -KVM_CAP_X2APIC_API = 129, arm:riscv64:??? -KVM_CAP_X86_BUS_LOCK_EXIT = 193, arm:riscv64:??? -KVM_CAP_X86_DISABLE_EXITS = 143, arm:riscv64:??? -KVM_CAP_X86_USER_SPACE_MSR = 188, arm:riscv64:??? -KVM_CHECK_EXTENSION = 44547, arm:riscv64:???, mips64le:ppc64le:536915459 -KVM_CPUID_FEATURES = 1073741825, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_CPUID_FLAG_SIGNIFCANT_INDEX = 1, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_CPUID_FLAG_STATEFUL_FUNC = 2, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_CPUID_FLAG_STATE_READ_NEXT = 4, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_CPUID_SIGNATURE = 1073741824, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_CREATE_DEVICE = 3222056672, arm:riscv64:??? -KVM_CREATE_DEVICE_TEST = 1, arm:riscv64:??? -KVM_CREATE_IRQCHIP = 44640, arm:riscv64:???, mips64le:ppc64le:536915552 -KVM_CREATE_PIT2 = 1077980791, arm:riscv64:???, mips64le:ppc64le:2151722615 -KVM_CREATE_VCPU = 44609, arm:riscv64:???, mips64le:ppc64le:536915521 -KVM_CREATE_VM = 44545, arm:riscv64:???, mips64le:ppc64le:536915457 -KVM_DEASSIGN_DEV_IRQ = 1077980789, arm:riscv64:???, mips64le:ppc64le:2151722613 -KVM_DEASSIGN_PCI_DEVICE = 1077980786, arm:riscv64:???, mips64le:ppc64le:2151722610 -KVM_DEV_ASSIGN_ENABLE_IOMMU = 1, arm:riscv64:??? -KVM_DEV_ASSIGN_MASK_INTX = 4, arm:riscv64:??? -KVM_DEV_ASSIGN_PCI_2_3 = 2, arm:riscv64:??? -KVM_DEV_IRQ_GUEST_INTX = 256, arm:riscv64:??? -KVM_DEV_IRQ_GUEST_MSI = 512, arm:riscv64:??? -KVM_DEV_IRQ_GUEST_MSIX = 1024, arm:riscv64:??? -KVM_DEV_IRQ_HOST_INTX = 1, arm:riscv64:??? -KVM_DEV_IRQ_HOST_MSI = 2, arm:riscv64:??? -KVM_DEV_IRQ_HOST_MSIX = 4, arm:riscv64:??? -KVM_DEV_TYPE_FLIC = 6, arm:riscv64:??? -KVM_DEV_TYPE_FSL_MPIC_20 = 1, arm:riscv64:??? -KVM_DEV_TYPE_FSL_MPIC_42 = 2, arm:riscv64:??? -KVM_DEV_TYPE_VFIO = 4, arm:riscv64:??? -KVM_DEV_TYPE_XICS = 3, arm:riscv64:??? -KVM_DIRTY_LOG_INITIALLY_SET = 2, arm:riscv64:??? -KVM_DIRTY_LOG_MANUAL_PROTECT_ENABLE = 1, arm:riscv64:??? -KVM_DIRTY_TLB = 1074835114, 386:1074572970, arm:riscv64:???, mips64le:ppc64le:2148576938 -KVM_ENABLE_CAP = 1080602275, arm:riscv64:???, mips64le:ppc64le:2154344099 -KVM_ENABLE_CAP_SIZE = 104, arm:riscv64:??? -KVM_EXIT_HYPERCALL_OFFSET = 32, arm:riscv64:???, s390x:48 -KVM_EXIT_HYPERCALL_SIZE = 72, arm:riscv64:??? -KVM_EXIT_MMIO_OFFSET = 32, arm:riscv64:???, s390x:48 -KVM_EXIT_MMIO_SIZE = 24, arm:riscv64:??? -KVM_GET_API_VERSION = 44544, arm:riscv64:???, mips64le:ppc64le:536915456 -KVM_GET_CLOCK = 2150674044, arm:riscv64:???, mips64le:ppc64le:1076932220 -KVM_GET_CPUID2 = 3221794449, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_GET_DEBUGREGS = 2155916961, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_GET_DEVICE_ATTR = 1075359458, arm:riscv64:???, mips64le:ppc64le:2149101282 -KVM_GET_DIRTY_LOG = 1074835010, arm:riscv64:???, mips64le:ppc64le:2148576834 -KVM_GET_EMULATED_CPUID = 3221794313, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_GET_FPU = 2174791308, arm:riscv64:???, arm64:2147528332, mips64le:1073786508, ppc64le:1090563724, s390x:2156441228 -KVM_GET_IRQCHIP = 3255348834, arm:riscv64:??? -KVM_GET_LAPIC = 2214637198, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_GET_MP_STATE = 2147790488, arm:riscv64:???, mips64le:ppc64le:1074048664 -KVM_GET_MSRS = 3221794440, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_GET_MSR_INDEX_LIST = 3221532162, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_GET_NESTED_STATE = 3229658814, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_GET_NR_MMU_PAGES = 44613, arm:riscv64:???, mips64le:ppc64le:536915525 -KVM_GET_ONE_REG = 1074835115, arm:riscv64:???, mips64le:ppc64le:2148576939 -KVM_GET_PIT = 3225988709, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_GET_PIT2 = 2154868383, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_GET_REGS = 2156965505, arm:riscv64:???, arm64:2204151425, mips64le:1092136577, ppc64le:1099476609, s390x:2155916929 -KVM_GET_REG_LIST = 3221794480, arm:riscv64:??? -KVM_GET_SREGS = 2167975555, arm:riscv64:???, arm64:2147528323, mips64le:1073786499, ppc64le:1154526851, s390x:2160111235 -KVM_GET_SUPPORTED_CPUID = 3221794309, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_GET_TSC_KHZ = 44707, arm:riscv64:???, mips64le:ppc64le:536915619 -KVM_GET_VCPU_EVENTS = 2151722655, arm:mips64le:ppc64le:riscv64:s390x:??? -KVM_GET_VCPU_MMAP_SIZE = 44548, arm:riscv64:???, mips64le:ppc64le:536915460 -KVM_GET_XCRS = 2173218470, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_GET_XSAVE = 2415963812, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_GUESTDBG_ENABLE = 1, arm:riscv64:??? -KVM_GUESTDBG_INJECT_BP = 524288, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_GUESTDBG_INJECT_DB = 262144, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_GUESTDBG_SINGLESTEP = 2, arm:riscv64:??? -KVM_GUESTDBG_USE_HW_BP = 131072, arm:arm64:mips64le:riscv64:???, s390x:65536 -KVM_GUESTDBG_USE_SW_BP = 65536, arm:mips64le:riscv64:s390x:??? -KVM_HAS_DEVICE_ATTR = 1075359459, arm:riscv64:???, mips64le:ppc64le:2149101283 -KVM_HC_MAP_GPA_RANGE = 12, arm:riscv64:??? -KVM_HYPERV_EVENTFD = 1075359421, arm:riscv64:???, mips64le:ppc64le:2149101245 -KVM_INTERRUPT = 1074048646, arm:riscv64:???, mips64le:ppc64le:2147790470 -KVM_IOEVENTFD = 1077980793, arm:riscv64:???, mips64le:ppc64le:2151722617 -KVM_IOEVENTFD_FLAG_DATAMATCH = 1, arm:riscv64:??? -KVM_IOEVENTFD_FLAG_DEASSIGN = 4, arm:riscv64:??? -KVM_IOEVENTFD_FLAG_PIO = 2, arm:riscv64:??? -KVM_IOEVENTFD_FLAG_VIRTIO_CCW_NOTIFY = 8, arm:riscv64:??? -KVM_IRQCHIP_IOAPIC = 2, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_IRQCHIP_PIC_MASTER = 0, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_IRQCHIP_PIC_SLAVE = 1, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_IRQFD = 1075883638, arm:riscv64:???, mips64le:ppc64le:2149625462 -KVM_IRQ_LINE = 1074310753, arm:riscv64:???, mips64le:ppc64le:2148052577 -KVM_IRQ_LINE_STATUS = 3221794407, arm:riscv64:??? -KVM_IRQ_ROUTING_HV_SINT = 4, arm:riscv64:??? -KVM_IRQ_ROUTING_IRQCHIP = 1, arm:riscv64:??? -KVM_IRQ_ROUTING_MSI = 2, arm:riscv64:??? -KVM_IRQ_ROUTING_S390_ADAPTER = 3, arm:riscv64:??? -KVM_KVMCLOCK_CTRL = 44717, arm:riscv64:???, mips64le:ppc64le:536915629 -KVM_MAX_IRQ_ROUTES = 4096, 386:amd64:arm:mips64le:ppc64le:riscv64:??? -KVM_MEM_LOG_DIRTY_PAGES = 1, arm:riscv64:??? -KVM_MEM_READONLY = 2, arm:riscv64:??? -KVM_MP_STATE_CHECK_STOP = 6, arm:riscv64:??? -KVM_MP_STATE_HALTED = 3, arm:riscv64:??? -KVM_MP_STATE_INIT_RECEIVED = 2, arm:riscv64:??? -KVM_MP_STATE_LOAD = 8, arm:riscv64:??? -KVM_MP_STATE_OPERATING = 7, arm:riscv64:??? -KVM_MP_STATE_RUNNABLE = 0, arm:riscv64:??? -KVM_MP_STATE_SIPI_RECEIVED = 4, arm:riscv64:??? -KVM_MP_STATE_STOPPED = 5, arm:riscv64:??? -KVM_MP_STATE_UNINITIALIZED = 1, arm:riscv64:??? -KVM_MSR_EXIT_REASON_FILTER = 4, arm:riscv64:??? -KVM_MSR_EXIT_REASON_INVAL = 1, arm:riscv64:??? -KVM_MSR_EXIT_REASON_UNKNOWN = 2, arm:riscv64:??? -KVM_NMI = 44698, arm:riscv64:???, mips64le:ppc64le:536915610 -KVM_PPC_ALLOCATE_HTAB = 3221532327, arm:riscv64:??? -KVM_PPC_GET_PVINFO = 1082175137, arm:riscv64:???, mips64le:ppc64le:2155916961 -KVM_PPC_GET_SMMU_INFO = 2186325670, arm:riscv64:???, mips64le:ppc64le:1112583846 -KVM_REGISTER_COALESCED_MMIO = 1074835047, arm:riscv64:???, mips64le:ppc64le:2148576871 -KVM_REINJECT_CONTROL = 44657, arm:riscv64:???, mips64le:ppc64le:536915569 -KVM_RUN = 44672, arm:riscv64:???, mips64le:ppc64le:536915584 -KVM_RUN_SIZE = 2352, arm:riscv64:???, s390x:2368 -KVM_S390_INTERRUPT = 1074835092, arm:riscv64:???, mips64le:ppc64le:2148576916 -KVM_S390_UCAS_MAP = 1075359312, arm:riscv64:???, mips64le:ppc64le:2149101136 -KVM_S390_UCAS_UNMAP = 1075359313, arm:riscv64:???, mips64le:ppc64le:2149101137 -KVM_S390_VCPU_FAULT = 1074310738, 386:1074048594, arm:riscv64:???, mips64le:ppc64le:2148052562 -KVM_SETUP_CPL3 = 8, arm:riscv64:??? -KVM_SETUP_PAE = 2, arm:riscv64:??? -KVM_SETUP_PAGING = 1, arm:riscv64:??? -KVM_SETUP_PPC64_DR = 4, arm:riscv64:??? -KVM_SETUP_PPC64_IR = 2, arm:riscv64:??? -KVM_SETUP_PPC64_LE = 1, arm:riscv64:??? -KVM_SETUP_PPC64_PID1 = 16, arm:riscv64:??? -KVM_SETUP_PPC64_PR = 8, arm:riscv64:??? -KVM_SETUP_PROTECTED = 4, arm:riscv64:??? -KVM_SETUP_SMM = 32, arm:riscv64:??? -KVM_SETUP_VIRT86 = 16, arm:riscv64:??? -KVM_SETUP_VM = 64, arm:riscv64:??? -KVM_SET_BOOT_CPU_ID = 44664, arm:riscv64:???, mips64le:ppc64le:536915576 -KVM_SET_CLOCK = 1076932219, arm:riscv64:???, mips64le:ppc64le:2150674043 -KVM_SET_CPUID = 1074310794, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_SET_CPUID2 = 1074310800, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_SET_DEBUGREGS = 1082175138, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_SET_DEVICE_ATTR = 1075359457, arm:riscv64:???, mips64le:ppc64le:2149101281 -KVM_SET_FPU = 1101049485, arm:riscv64:???, arm64:1073786509, mips64le:2147528333, ppc64le:2164305549, s390x:1082699405 -KVM_SET_GSI_ROUTING = 1074310762, arm:riscv64:???, mips64le:ppc64le:2148052586 -KVM_SET_GUEST_DEBUG = 1078505115, arm:riscv64:???, arm64:1107865243, mips64le:2148052635, ppc64le:2164829851, s390x:1075359387 -KVM_SET_IDENTITY_MAP_ADDR = 1074310728, arm:riscv64:???, mips64le:ppc64le:2148052552 -KVM_SET_IRQCHIP = 2181607011, arm:riscv64:???, mips64le:ppc64le:1107865187 -KVM_SET_LAPIC = 1140895375, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_SET_MP_STATE = 1074048665, arm:riscv64:???, mips64le:ppc64le:2147790489 -KVM_SET_MSRS = 1074310793, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_SET_NESTED_STATE = 1082175167, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_SET_NR_MMU_PAGES = 44612, arm:riscv64:???, mips64le:ppc64le:536915524 -KVM_SET_ONE_REG = 1074835116, arm:riscv64:???, mips64le:ppc64le:2148576940 -KVM_SET_PIT = 2152246886, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_SET_PIT2 = 1081126560, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_SET_REGS = 1083223682, arm:riscv64:???, arm64:1130409602, mips64le:2165878402, ppc64le:2173218434, s390x:1082175106 -KVM_SET_SIGNAL_MASK = 1074048651, arm:riscv64:???, mips64le:ppc64le:2147790475 -KVM_SET_SREGS = 1094233732, arm:riscv64:???, arm64:1073786500, mips64le:2147528324, ppc64le:2228268676, s390x:1086369412 -KVM_SET_TSC_KHZ = 44706, arm:riscv64:???, mips64le:ppc64le:536915618 -KVM_SET_TSS_ADDR = 44615, arm:riscv64:???, mips64le:ppc64le:536915527 -KVM_SET_USER_MEMORY_REGION = 1075883590, arm:riscv64:???, mips64le:ppc64le:2149625414 -KVM_SET_VAPIC_ADDR = 1074310803, arm:riscv64:???, mips64le:ppc64le:2148052627 -KVM_SET_VCPU_EVENTS = 1077980832, arm:mips64le:ppc64le:riscv64:s390x:??? -KVM_SET_XCRS = 1099476647, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_SET_XSAVE = 1342221989, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_SIGNAL_MSI = 1075883685, arm:riscv64:???, mips64le:ppc64le:2149625509 -KVM_SMI = 44727, arm:riscv64:???, mips64le:ppc64le:536915639 -KVM_STATE_NESTED_GUEST_MODE = 1, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_STATE_NESTED_RUN_PENDING = 2, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_STATE_NESTED_SMM_GUEST_MODE = 1, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_STATE_NESTED_SMM_VMXON = 2, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_TPR_ACCESS_REPORTING = 3223891602, arm:riscv64:??? -KVM_TRANSLATE = 3222843013, arm:riscv64:??? -KVM_UNREGISTER_COALESCED_MMIO = 1074835048, arm:riscv64:???, mips64le:ppc64le:2148576872 -KVM_X2APIC_API_DISABLE_BROADCAST_QUIRK = 2, arm:riscv64:??? -KVM_X2APIC_API_USE_32BIT_IDS = 1, arm:riscv64:??? -KVM_X86_DISABLE_EXITS_CSTATE = 8, arm:riscv64:??? -KVM_X86_DISABLE_EXITS_HLT = 2, arm:riscv64:??? -KVM_X86_DISABLE_EXITS_MWAIT = 1, arm:riscv64:??? -KVM_X86_DISABLE_EXITS_PAUSE = 4, arm:riscv64:??? -KVM_X86_GET_MCE_CAP_SUPPORTED = 2148052637, arm:riscv64:???, mips64le:ppc64le:1074310813 -KVM_X86_QUIRK_CD_NW_CLEARED = 2, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_X86_QUIRK_LAPIC_MMIO_HOLE = 4, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_X86_QUIRK_LINT0_REENABLED = 1, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_X86_QUIRK_MISC_ENABLE_NO_MWAIT = 16, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_X86_QUIRK_OUT_7E_INC_RIP = 8, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_X86_SETUP_MCE = 1074310812, arm:riscv64:???, mips64le:ppc64le:2148052636 -KVM_X86_SET_MCE = 1077980830, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -KVM_XEN_HVM_CONFIG = 1077456506, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -MCG_STATUS_EIPV = 2, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -MCG_STATUS_LMCES = 8, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -MCG_STATUS_MCIP = 4, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -MCG_STATUS_RIPV = 1, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -MCI_STATUS_ADDRV = 288230376151711744, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -MCI_STATUS_AR = 36028797018963968, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -MCI_STATUS_EN = 1152921504606846976, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -MCI_STATUS_MISCV = 576460752303423488, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -MCI_STATUS_OVER = 4611686018427387904, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -MCI_STATUS_PCC = 144115188075855872, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -MCI_STATUS_S = 72057594037927936, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -MCI_STATUS_UC = 2305843009213693952, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -MCI_STATUS_VAL = 9223372036854775808, arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -VMCS12_SIZE = 4096, arm:riscv64:??? -__NR_ioctl = 54, amd64:16, arm:riscv64:???, arm64:29, mips64le:5015 -__NR_mmap = 90, 386:192, amd64:9, arm:riscv64:???, arm64:222, mips64le:5009 -__NR_mmap2 = 386:192, amd64:arm:arm64:mips64le:ppc64le:riscv64:s390x:??? -__NR_openat = 386:295, amd64:257, arm:riscv64:???, arm64:56, mips64le:5247, ppc64le:286, s390x:288 +arches = 386, amd64, arm64, mips64le, ppc64le, s390x +AT_FDCWD = 18446744073709551516 +KVM_ARM_SET_DEVICE_ADDR = 1074835115, mips64le:ppc64le:2148576939 +KVM_ARM_TARGET_AEM_V8 = 386:amd64:mips64le:ppc64le:s390x:???, arm64:0 +KVM_ARM_TARGET_CORTEX_A53 = 386:amd64:mips64le:ppc64le:s390x:???, arm64:4 +KVM_ARM_TARGET_CORTEX_A57 = 386:amd64:mips64le:ppc64le:s390x:???, arm64:2 +KVM_ARM_TARGET_FOUNDATION_V8 = 386:amd64:mips64le:ppc64le:s390x:???, arm64:1 +KVM_ARM_TARGET_GENERIC_V8 = 386:amd64:mips64le:ppc64le:s390x:???, arm64:5 +KVM_ARM_TARGET_XGENE_POTENZA = 386:amd64:mips64le:ppc64le:s390x:???, arm64:3 +KVM_ARM_VCPU_EL1_32BIT = 386:amd64:mips64le:ppc64le:s390x:???, arm64:1 +KVM_ARM_VCPU_INIT = 386:amd64:mips64le:ppc64le:s390x:???, arm64:1075883694 +KVM_ARM_VCPU_PMU_V3 = 386:amd64:mips64le:ppc64le:s390x:???, arm64:3 +KVM_ARM_VCPU_POWER_OFF = 386:amd64:mips64le:ppc64le:s390x:???, arm64:0 +KVM_ARM_VCPU_PSCI_0_2 = 386:amd64:mips64le:ppc64le:s390x:???, arm64:2 +KVM_ASSIGN_DEV_IRQ = 1077980784, mips64le:ppc64le:2151722608 +KVM_ASSIGN_PCI_DEVICE = 2151722601, mips64le:ppc64le:1077980777 +KVM_ASSIGN_SET_INTX_MASK = 1077980836, mips64le:ppc64le:2151722660 +KVM_ASSIGN_SET_MSIX_ENTRY = 1074835060, mips64le:ppc64le:2148576884 +KVM_ASSIGN_SET_MSIX_NR = 1074310771, mips64le:ppc64le:2148052595 +KVM_BUS_LOCK_DETECTION_EXIT = 2 +KVM_BUS_LOCK_DETECTION_OFF = 1 +KVM_CAP_DIRTY_LOG_RING = 192 +KVM_CAP_DISABLE_QUIRKS = 116 +KVM_CAP_ENFORCE_PV_FEATURE_CPUID = 190 +KVM_CAP_EXCEPTION_PAYLOAD = 164 +KVM_CAP_EXIT_HYPERCALL = 201 +KVM_CAP_EXIT_ON_EMULATION_FAILURE = 204 +KVM_CAP_HALT_POLL = 182 +KVM_CAP_HYPERV_DIRECT_TLBFLUSH = 175 +KVM_CAP_HYPERV_ENFORCE_CPUID = 199 +KVM_CAP_HYPERV_ENLIGHTENED_VMCS = 163 +KVM_CAP_HYPERV_SYNIC = 123 +KVM_CAP_HYPERV_SYNIC2 = 148 +KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2 = 168 +KVM_CAP_MSR_PLATFORM_INFO = 159 +KVM_CAP_SGX_ATTRIBUTE = 196 +KVM_CAP_SPLIT_IRQCHIP = 121 +KVM_CAP_VM_COPY_ENC_CONTEXT_FROM = 197 +KVM_CAP_X2APIC_API = 129 +KVM_CAP_X86_BUS_LOCK_EXIT = 193 +KVM_CAP_X86_DISABLE_EXITS = 143 +KVM_CAP_X86_USER_SPACE_MSR = 188 +KVM_CHECK_EXTENSION = 44547, mips64le:ppc64le:536915459 +KVM_CPUID_FEATURES = 1073741825, arm64:mips64le:ppc64le:s390x:??? +KVM_CPUID_FLAG_SIGNIFCANT_INDEX = 1, arm64:mips64le:ppc64le:s390x:??? +KVM_CPUID_FLAG_STATEFUL_FUNC = 2, arm64:mips64le:ppc64le:s390x:??? +KVM_CPUID_FLAG_STATE_READ_NEXT = 4, arm64:mips64le:ppc64le:s390x:??? +KVM_CPUID_SIGNATURE = 1073741824, arm64:mips64le:ppc64le:s390x:??? +KVM_CREATE_DEVICE = 3222056672 +KVM_CREATE_DEVICE_TEST = 1 +KVM_CREATE_IRQCHIP = 44640, mips64le:ppc64le:536915552 +KVM_CREATE_PIT2 = 1077980791, mips64le:ppc64le:2151722615 +KVM_CREATE_VCPU = 44609, mips64le:ppc64le:536915521 +KVM_CREATE_VM = 44545, mips64le:ppc64le:536915457 +KVM_DEASSIGN_DEV_IRQ = 1077980789, mips64le:ppc64le:2151722613 +KVM_DEASSIGN_PCI_DEVICE = 1077980786, mips64le:ppc64le:2151722610 +KVM_DEV_ASSIGN_ENABLE_IOMMU = 1 +KVM_DEV_ASSIGN_MASK_INTX = 4 +KVM_DEV_ASSIGN_PCI_2_3 = 2 +KVM_DEV_IRQ_GUEST_INTX = 256 +KVM_DEV_IRQ_GUEST_MSI = 512 +KVM_DEV_IRQ_GUEST_MSIX = 1024 +KVM_DEV_IRQ_HOST_INTX = 1 +KVM_DEV_IRQ_HOST_MSI = 2 +KVM_DEV_IRQ_HOST_MSIX = 4 +KVM_DEV_TYPE_FLIC = 6 +KVM_DEV_TYPE_FSL_MPIC_20 = 1 +KVM_DEV_TYPE_FSL_MPIC_42 = 2 +KVM_DEV_TYPE_VFIO = 4 +KVM_DEV_TYPE_XICS = 3 +KVM_DIRTY_LOG_INITIALLY_SET = 2 +KVM_DIRTY_LOG_MANUAL_PROTECT_ENABLE = 1 +KVM_DIRTY_TLB = 1074835114, 386:1074572970, mips64le:ppc64le:2148576938 +KVM_ENABLE_CAP = 1080602275, mips64le:ppc64le:2154344099 +KVM_ENABLE_CAP_SIZE = 104 +KVM_EXIT_HYPERCALL_OFFSET = 32, s390x:48 +KVM_EXIT_HYPERCALL_SIZE = 72 +KVM_EXIT_MMIO_OFFSET = 32, s390x:48 +KVM_EXIT_MMIO_SIZE = 24 +KVM_GET_API_VERSION = 44544, mips64le:ppc64le:536915456 +KVM_GET_CLOCK = 2150674044, mips64le:ppc64le:1076932220 +KVM_GET_CPUID2 = 3221794449, arm64:mips64le:ppc64le:s390x:??? +KVM_GET_DEBUGREGS = 2155916961, arm64:mips64le:ppc64le:s390x:??? +KVM_GET_DEVICE_ATTR = 1075359458, mips64le:ppc64le:2149101282 +KVM_GET_DIRTY_LOG = 1074835010, mips64le:ppc64le:2148576834 +KVM_GET_EMULATED_CPUID = 3221794313, arm64:mips64le:ppc64le:s390x:??? +KVM_GET_FPU = 2174791308, arm64:2147528332, mips64le:1073786508, ppc64le:1090563724, s390x:2156441228 +KVM_GET_IRQCHIP = 3255348834 +KVM_GET_LAPIC = 2214637198, arm64:mips64le:ppc64le:s390x:??? +KVM_GET_MP_STATE = 2147790488, mips64le:ppc64le:1074048664 +KVM_GET_MSRS = 3221794440, arm64:mips64le:ppc64le:s390x:??? +KVM_GET_MSR_INDEX_LIST = 3221532162, arm64:mips64le:ppc64le:s390x:??? +KVM_GET_NESTED_STATE = 3229658814, arm64:mips64le:ppc64le:s390x:??? +KVM_GET_NR_MMU_PAGES = 44613, mips64le:ppc64le:536915525 +KVM_GET_ONE_REG = 1074835115, mips64le:ppc64le:2148576939 +KVM_GET_PIT = 3225988709, arm64:mips64le:ppc64le:s390x:??? +KVM_GET_PIT2 = 2154868383, arm64:mips64le:ppc64le:s390x:??? +KVM_GET_REGS = 2156965505, arm64:2204151425, mips64le:1092136577, ppc64le:1099476609, s390x:2155916929 +KVM_GET_REG_LIST = 3221794480 +KVM_GET_SREGS = 2167975555, arm64:2147528323, mips64le:1073786499, ppc64le:1154526851, s390x:2160111235 +KVM_GET_SUPPORTED_CPUID = 3221794309, arm64:mips64le:ppc64le:s390x:??? +KVM_GET_TSC_KHZ = 44707, mips64le:ppc64le:536915619 +KVM_GET_VCPU_EVENTS = 2151722655, mips64le:ppc64le:s390x:??? +KVM_GET_VCPU_MMAP_SIZE = 44548, mips64le:ppc64le:536915460 +KVM_GET_XCRS = 2173218470, arm64:mips64le:ppc64le:s390x:??? +KVM_GET_XSAVE = 2415963812, arm64:mips64le:ppc64le:s390x:??? +KVM_GUESTDBG_ENABLE = 1 +KVM_GUESTDBG_INJECT_BP = 524288, arm64:mips64le:ppc64le:s390x:??? +KVM_GUESTDBG_INJECT_DB = 262144, arm64:mips64le:ppc64le:s390x:??? +KVM_GUESTDBG_SINGLESTEP = 2 +KVM_GUESTDBG_USE_HW_BP = 131072, arm64:mips64le:???, s390x:65536 +KVM_GUESTDBG_USE_SW_BP = 65536, mips64le:s390x:??? +KVM_HAS_DEVICE_ATTR = 1075359459, mips64le:ppc64le:2149101283 +KVM_HC_MAP_GPA_RANGE = 12 +KVM_HYPERV_EVENTFD = 1075359421, mips64le:ppc64le:2149101245 +KVM_INTERRUPT = 1074048646, mips64le:ppc64le:2147790470 +KVM_IOEVENTFD = 1077980793, mips64le:ppc64le:2151722617 +KVM_IOEVENTFD_FLAG_DATAMATCH = 1 +KVM_IOEVENTFD_FLAG_DEASSIGN = 4 +KVM_IOEVENTFD_FLAG_PIO = 2 +KVM_IOEVENTFD_FLAG_VIRTIO_CCW_NOTIFY = 8 +KVM_IRQCHIP_IOAPIC = 2, arm64:mips64le:ppc64le:s390x:??? +KVM_IRQCHIP_PIC_MASTER = 0, arm64:mips64le:ppc64le:s390x:??? +KVM_IRQCHIP_PIC_SLAVE = 1, arm64:mips64le:ppc64le:s390x:??? +KVM_IRQFD = 1075883638, mips64le:ppc64le:2149625462 +KVM_IRQ_LINE = 1074310753, mips64le:ppc64le:2148052577 +KVM_IRQ_LINE_STATUS = 3221794407 +KVM_IRQ_ROUTING_HV_SINT = 4 +KVM_IRQ_ROUTING_IRQCHIP = 1 +KVM_IRQ_ROUTING_MSI = 2 +KVM_IRQ_ROUTING_S390_ADAPTER = 3 +KVM_KVMCLOCK_CTRL = 44717, mips64le:ppc64le:536915629 +KVM_MAX_IRQ_ROUTES = 4096, 386:amd64:mips64le:ppc64le:??? +KVM_MEM_LOG_DIRTY_PAGES = 1 +KVM_MEM_READONLY = 2 +KVM_MP_STATE_CHECK_STOP = 6 +KVM_MP_STATE_HALTED = 3 +KVM_MP_STATE_INIT_RECEIVED = 2 +KVM_MP_STATE_LOAD = 8 +KVM_MP_STATE_OPERATING = 7 +KVM_MP_STATE_RUNNABLE = 0 +KVM_MP_STATE_SIPI_RECEIVED = 4 +KVM_MP_STATE_STOPPED = 5 +KVM_MP_STATE_UNINITIALIZED = 1 +KVM_MSR_EXIT_REASON_FILTER = 4 +KVM_MSR_EXIT_REASON_INVAL = 1 +KVM_MSR_EXIT_REASON_UNKNOWN = 2 +KVM_NMI = 44698, mips64le:ppc64le:536915610 +KVM_PPC_ALLOCATE_HTAB = 3221532327 +KVM_PPC_GET_PVINFO = 1082175137, mips64le:ppc64le:2155916961 +KVM_PPC_GET_SMMU_INFO = 2186325670, mips64le:ppc64le:1112583846 +KVM_REGISTER_COALESCED_MMIO = 1074835047, mips64le:ppc64le:2148576871 +KVM_REINJECT_CONTROL = 44657, mips64le:ppc64le:536915569 +KVM_RUN = 44672, mips64le:ppc64le:536915584 +KVM_RUN_SIZE = 2352, s390x:2368 +KVM_S390_INTERRUPT = 1074835092, mips64le:ppc64le:2148576916 +KVM_S390_UCAS_MAP = 1075359312, mips64le:ppc64le:2149101136 +KVM_S390_UCAS_UNMAP = 1075359313, mips64le:ppc64le:2149101137 +KVM_S390_VCPU_FAULT = 1074310738, 386:1074048594, mips64le:ppc64le:2148052562 +KVM_SETUP_CPL3 = 8 +KVM_SETUP_PAE = 2 +KVM_SETUP_PAGING = 1 +KVM_SETUP_PPC64_DR = 4 +KVM_SETUP_PPC64_IR = 2 +KVM_SETUP_PPC64_LE = 1 +KVM_SETUP_PPC64_PID1 = 16 +KVM_SETUP_PPC64_PR = 8 +KVM_SETUP_PROTECTED = 4 +KVM_SETUP_SMM = 32 +KVM_SETUP_VIRT86 = 16 +KVM_SETUP_VM = 64 +KVM_SET_BOOT_CPU_ID = 44664, mips64le:ppc64le:536915576 +KVM_SET_CLOCK = 1076932219, mips64le:ppc64le:2150674043 +KVM_SET_CPUID = 1074310794, arm64:mips64le:ppc64le:s390x:??? +KVM_SET_CPUID2 = 1074310800, arm64:mips64le:ppc64le:s390x:??? +KVM_SET_DEBUGREGS = 1082175138, arm64:mips64le:ppc64le:s390x:??? +KVM_SET_DEVICE_ATTR = 1075359457, mips64le:ppc64le:2149101281 +KVM_SET_FPU = 1101049485, arm64:1073786509, mips64le:2147528333, ppc64le:2164305549, s390x:1082699405 +KVM_SET_GSI_ROUTING = 1074310762, mips64le:ppc64le:2148052586 +KVM_SET_GUEST_DEBUG = 1078505115, arm64:1107865243, mips64le:2148052635, ppc64le:2164829851, s390x:1075359387 +KVM_SET_IDENTITY_MAP_ADDR = 1074310728, mips64le:ppc64le:2148052552 +KVM_SET_IRQCHIP = 2181607011, mips64le:ppc64le:1107865187 +KVM_SET_LAPIC = 1140895375, arm64:mips64le:ppc64le:s390x:??? +KVM_SET_MP_STATE = 1074048665, mips64le:ppc64le:2147790489 +KVM_SET_MSRS = 1074310793, arm64:mips64le:ppc64le:s390x:??? +KVM_SET_NESTED_STATE = 1082175167, arm64:mips64le:ppc64le:s390x:??? +KVM_SET_NR_MMU_PAGES = 44612, mips64le:ppc64le:536915524 +KVM_SET_ONE_REG = 1074835116, mips64le:ppc64le:2148576940 +KVM_SET_PIT = 2152246886, arm64:mips64le:ppc64le:s390x:??? +KVM_SET_PIT2 = 1081126560, arm64:mips64le:ppc64le:s390x:??? +KVM_SET_REGS = 1083223682, arm64:1130409602, mips64le:2165878402, ppc64le:2173218434, s390x:1082175106 +KVM_SET_SIGNAL_MASK = 1074048651, mips64le:ppc64le:2147790475 +KVM_SET_SREGS = 1094233732, arm64:1073786500, mips64le:2147528324, ppc64le:2228268676, s390x:1086369412 +KVM_SET_TSC_KHZ = 44706, mips64le:ppc64le:536915618 +KVM_SET_TSS_ADDR = 44615, mips64le:ppc64le:536915527 +KVM_SET_USER_MEMORY_REGION = 1075883590, mips64le:ppc64le:2149625414 +KVM_SET_VAPIC_ADDR = 1074310803, mips64le:ppc64le:2148052627 +KVM_SET_VCPU_EVENTS = 1077980832, mips64le:ppc64le:s390x:??? +KVM_SET_XCRS = 1099476647, arm64:mips64le:ppc64le:s390x:??? +KVM_SET_XSAVE = 1342221989, arm64:mips64le:ppc64le:s390x:??? +KVM_SIGNAL_MSI = 1075883685, mips64le:ppc64le:2149625509 +KVM_SMI = 44727, mips64le:ppc64le:536915639 +KVM_STATE_NESTED_GUEST_MODE = 1, arm64:mips64le:ppc64le:s390x:??? +KVM_STATE_NESTED_RUN_PENDING = 2, arm64:mips64le:ppc64le:s390x:??? +KVM_STATE_NESTED_SMM_GUEST_MODE = 1, arm64:mips64le:ppc64le:s390x:??? +KVM_STATE_NESTED_SMM_VMXON = 2, arm64:mips64le:ppc64le:s390x:??? +KVM_TPR_ACCESS_REPORTING = 3223891602 +KVM_TRANSLATE = 3222843013 +KVM_UNREGISTER_COALESCED_MMIO = 1074835048, mips64le:ppc64le:2148576872 +KVM_X2APIC_API_DISABLE_BROADCAST_QUIRK = 2 +KVM_X2APIC_API_USE_32BIT_IDS = 1 +KVM_X86_DISABLE_EXITS_CSTATE = 8 +KVM_X86_DISABLE_EXITS_HLT = 2 +KVM_X86_DISABLE_EXITS_MWAIT = 1 +KVM_X86_DISABLE_EXITS_PAUSE = 4 +KVM_X86_GET_MCE_CAP_SUPPORTED = 2148052637, mips64le:ppc64le:1074310813 +KVM_X86_QUIRK_CD_NW_CLEARED = 2, arm64:mips64le:ppc64le:s390x:??? +KVM_X86_QUIRK_LAPIC_MMIO_HOLE = 4, arm64:mips64le:ppc64le:s390x:??? +KVM_X86_QUIRK_LINT0_REENABLED = 1, arm64:mips64le:ppc64le:s390x:??? +KVM_X86_QUIRK_MISC_ENABLE_NO_MWAIT = 16, arm64:mips64le:ppc64le:s390x:??? +KVM_X86_QUIRK_OUT_7E_INC_RIP = 8, arm64:mips64le:ppc64le:s390x:??? +KVM_X86_SETUP_MCE = 1074310812, mips64le:ppc64le:2148052636 +KVM_X86_SET_MCE = 1077980830, arm64:mips64le:ppc64le:s390x:??? +KVM_XEN_HVM_CONFIG = 1077456506, arm64:mips64le:ppc64le:s390x:??? +MCG_STATUS_EIPV = 2, arm64:mips64le:ppc64le:s390x:??? +MCG_STATUS_LMCES = 8, arm64:mips64le:ppc64le:s390x:??? +MCG_STATUS_MCIP = 4, arm64:mips64le:ppc64le:s390x:??? +MCG_STATUS_RIPV = 1, arm64:mips64le:ppc64le:s390x:??? +MCI_STATUS_ADDRV = 288230376151711744, arm64:mips64le:ppc64le:s390x:??? +MCI_STATUS_AR = 36028797018963968, arm64:mips64le:ppc64le:s390x:??? +MCI_STATUS_EN = 1152921504606846976, arm64:mips64le:ppc64le:s390x:??? +MCI_STATUS_MISCV = 576460752303423488, arm64:mips64le:ppc64le:s390x:??? +MCI_STATUS_OVER = 4611686018427387904, arm64:mips64le:ppc64le:s390x:??? +MCI_STATUS_PCC = 144115188075855872, arm64:mips64le:ppc64le:s390x:??? +MCI_STATUS_S = 72057594037927936, arm64:mips64le:ppc64le:s390x:??? +MCI_STATUS_UC = 2305843009213693952, arm64:mips64le:ppc64le:s390x:??? +MCI_STATUS_VAL = 9223372036854775808, arm64:mips64le:ppc64le:s390x:??? +VMCS12_SIZE = 4096 +__NR_ioctl = 54, amd64:16, arm64:29, mips64le:5015 +__NR_mmap = 90, 386:192, amd64:9, arm64:222, mips64le:5009 +__NR_mmap2 = 386:192, amd64:arm64:mips64le:ppc64le:s390x:??? +__NR_openat = 386:295, amd64:257, arm64:56, mips64le:5247, ppc64le:286, s390x:288 diff --git a/sys/linux/dev_tlk_device.txt b/sys/linux/dev_tlk_device.txt index a60649b25..36df7c209 100644 --- a/sys/linux/dev_tlk_device.txt +++ b/sys/linux/dev_tlk_device.txt @@ -5,6 +5,10 @@ # Reference source code: # https://android.googlesource.com/kernel/tegra/+/android-tegra-dragon-3.18-marshmallow-dr-dragon/security/tlk_driver/ote_protocol.h +# This was generated on unknown tree. +meta noextract +meta arches["386", "amd64", "arm", "arm64"] + include include include diff --git a/sys/linux/dev_video4linux.txt b/sys/linux/dev_video4linux.txt index 07c627d15..f937b3541 100644 --- a/sys/linux/dev_video4linux.txt +++ b/sys/linux/dev_video4linux.txt @@ -3,6 +3,8 @@ # Constants for this descriptions were generated on the following tree: # https://source.codeaurora.org/quic/la/kernel/msm-4.9 msm-4.9 +# But must be generated on the upstream tree. +meta noextract include include diff --git a/sys/linux/fs_incfs.txt b/sys/linux/fs_incfs.txt index b03ea0dd1..95c8ee6eb 100644 --- a/sys/linux/fs_incfs.txt +++ b/sys/linux/fs_incfs.txt @@ -1,14 +1,19 @@ # Copyright 2020 syzkaller project authors. All rights reserved. # Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. +# incremental-fs is ChromeOS/Android-specific: +# https://chromium.googlesource.com/chromiumos/third_party/kernel/+/2db8add7871ad%5E%21/ + +# This was generated on: +# https://chromium.googlesource.com/chromiumos/third_party/kernel 3a36438201f3 +meta noextract +meta arches["386", "amd64", "arm", "arm64"] + include include include include -# incremental-fs is ChromeOS/Android-specific: -# https://chromium.googlesource.com/chromiumos/third_party/kernel/+/2db8add7871ad%5E%21/ - mount$incfs(src ptr[in, filename], dst ptr[in, filename], type ptr[in, string["incremental-fs"]], flags flags[mount_flags], opts ptr[in, fs_options[incfs_options]]) incfs_options [ diff --git a/sys/linux/vnet_mptcp.txt b/sys/linux/vnet_mptcp.txt index 637e3624f..d824d7ebf 100644 --- a/sys/linux/vnet_mptcp.txt +++ b/sys/linux/vnet_mptcp.txt @@ -7,6 +7,9 @@ # https://github.com/multipath-tcp/mptcp_net-next.git # Once this is upstream we need to move this to vnet.txt +# Was generated on https://github.com/multipath-tcp/mptcp_net-next +meta noextract + include include include diff --git a/sys/syz-extract/extract.go b/sys/syz-extract/extract.go index 78666ac3f..117c10e58 100644 --- a/sys/syz-extract/extract.go +++ b/sys/syz-extract/extract.go @@ -75,17 +75,12 @@ func main() { if *flagBuild && *flagBuildDir != "" { tool.Failf("-build and -builddir is an invalid combination") } - - OS, archArray, files, err := archFileList(*flagOS, *flagArch, flag.Args()) - if err != nil { - tool.Fail(err) - } - + OS := *flagOS extractor := extractors[OS] if extractor == nil { tool.Failf("unknown os: %v", OS) } - arches, err := createArches(OS, archArray, files) + arches, err := createArches(OS, archList(OS, *flagArch), flag.Args()) if err != nil { tool.Fail(err) } @@ -97,7 +92,7 @@ func main() { tool.Fail(err) } - jobC := make(chan interface{}, len(archArray)*len(files)) + jobC := make(chan interface{}, len(arches)) for _, arch := range arches { jobC <- arch } @@ -108,11 +103,8 @@ func main() { failed := false constFiles := make(map[string]*compiler.ConstFile) - for _, file := range files { - constFiles[file] = compiler.NewConstFile() - } for _, arch := range arches { - fmt.Printf("generating %v/%v...\n", arch.target.OS, arch.target.Arch) + fmt.Printf("generating %v/%v...\n", OS, arch.target.Arch) <-arch.done if arch.err != nil { failed = true @@ -126,6 +118,9 @@ func main() { fmt.Printf("%v: %v\n", f.name, f.err) continue } + if constFiles[f.name] == nil { + constFiles[f.name] = compiler.NewConstFile() + } constFiles[f.name].AddArch(f.arch.target.Arch, f.consts, f.undeclared) } } @@ -175,6 +170,18 @@ func worker(extractor Extractor, jobC chan interface{}) { } func createArches(OS string, archArray, files []string) ([]*Arch, error) { + errBuf := new(bytes.Buffer) + eh := func(pos ast.Pos, msg string) { + fmt.Fprintf(errBuf, "%v: %v\n", pos, msg) + } + top := ast.ParseGlob(filepath.Join("sys", OS, "*.txt"), eh) + if top == nil { + return nil, fmt.Errorf("%v", errBuf.String()) + } + allFiles := compiler.FileList(top, OS, eh) + if allFiles == nil { + return nil, fmt.Errorf("%v", errBuf.String()) + } var arches []*Arch for _, archStr := range archArray { buildDir := "" @@ -203,7 +210,17 @@ func createArches(OS string, archArray, files []string) ([]*Arch, error) { build: *flagBuild, done: make(chan bool), } - for _, f := range files { + archFiles := files + if len(archFiles) == 0 { + for file, meta := range allFiles { + if meta.NoExtract || !meta.SupportsArch(archStr) { + continue + } + archFiles = append(archFiles, file) + } + } + sort.Strings(archFiles) + for _, f := range archFiles { arch.files = append(arch.files, &File{ arch: arch, name: f, @@ -215,6 +232,18 @@ func createArches(OS string, archArray, files []string) ([]*Arch, error) { return arches, nil } +func archList(OS, arches string) []string { + if arches != "" { + return strings.Split(arches, ",") + } + var archArray []string + for arch := range targets.List[OS] { + archArray = append(archArray, arch) + } + sort.Strings(archArray) + return archArray +} + func checkUnsupportedCalls(arches []*Arch) bool { supported := make(map[string]bool) unsupported := make(map[string]string) @@ -240,60 +269,6 @@ func checkUnsupportedCalls(arches []*Arch) bool { return failed } -func archFileList(os, arch string, files []string) (string, []string, []string, error) { - // Note: this is linux-specific and should be part of Extractor and moved to linux.go. - android := false - if os == "android" { - android = true - os = targets.Linux - } - var arches []string - if arch != "" { - arches = strings.Split(arch, ",") - } else { - for arch := range targets.List[os] { - arches = append(arches, arch) - } - if android { - arches = []string{targets.I386, targets.AMD64, targets.ARM, targets.ARM64} - } - sort.Strings(arches) - } - if len(files) == 0 { - matches, err := filepath.Glob(filepath.Join("sys", os, "*.txt")) - if err != nil || len(matches) == 0 { - return "", nil, nil, fmt.Errorf("failed to find sys files: %v", err) - } - manualFiles := map[string]bool{ - // Not upstream, generated on https://github.com/multipath-tcp/mptcp_net-next - "vnet_mptcp.txt": true, - // Not upstream, generated on: - // https://chromium.googlesource.com/chromiumos/third_party/kernel d2a8a1eb8b86 - "dev_bifrost.txt": true, - // Not upstream, generated on unknown tree. - "dev_img_rogue.txt": true, - } - androidFiles := map[string]bool{ - "dev_tlk_device.txt": true, - // This was generated on: - // https://source.codeaurora.org/quic/la/kernel/msm-4.9 msm-4.9 - "dev_video4linux.txt": true, - // This was generated on: - // https://chromium.googlesource.com/chromiumos/third_party/kernel 3a36438201f3 - "fs_incfs.txt": true, - } - for _, f := range matches { - f = filepath.Base(f) - if manualFiles[f] || os == targets.Linux && android != androidFiles[f] { - continue - } - files = append(files, f) - } - sort.Strings(files) - } - return os, arches, files, nil -} - func processArch(extractor Extractor, arch *Arch) (map[string]*compiler.ConstInfo, error) { errBuf := new(bytes.Buffer) eh := func(pos ast.Pos, msg string) { diff --git a/sys/syz-extract/linux.go b/sys/syz-extract/linux.go index a07d6a968..10284d221 100644 --- a/sys/syz-extract/linux.go +++ b/sys/syz-extract/linux.go @@ -13,7 +13,6 @@ import ( "github.com/google/syzkaller/pkg/build" "github.com/google/syzkaller/pkg/compiler" "github.com/google/syzkaller/pkg/osutil" - "github.com/google/syzkaller/sys/targets" ) type linux struct{} @@ -117,14 +116,6 @@ func (*linux) prepareArch(arch *Arch) error { } func (*linux) processFile(arch *Arch, info *compiler.ConstInfo) (map[string]uint64, map[string]bool, error) { - if strings.HasSuffix(info.File, "_kvm.txt") && - (arch.target.Arch == targets.ARM || arch.target.Arch == targets.RiscV64) { - // Hack: KVM is not supported on ARM anymore. We may want some more official support - // for marking descriptions arch-specific, but so far this combination is the only - // one. For riscv64, KVM is not supported yet but might be in the future. - // Note: syz-sysgen also ignores this file for arm and riscv64. - return nil, nil, nil - } headerArch := arch.target.KernelHeaderArch sourceDir := arch.sourceDir buildDir := arch.buildDir diff --git a/sys/syz-sysgen/sysgen.go b/sys/syz-sysgen/sysgen.go index 9ebaac382..0427272f8 100644 --- a/sys/syz-sysgen/sysgen.go +++ b/sys/syz-sysgen/sysgen.go @@ -176,32 +176,11 @@ func processJob(job *Job, descriptions *ast.Description, constFile *compiler.Con job.Errors = append(job.Errors, fmt.Sprintf("%v: %v\n", pos, msg)) } consts := constFile.Arch(job.Target.Arch) - top := descriptions - if job.Target.OS == targets.Linux && (job.Target.Arch == targets.ARM || job.Target.Arch == targets.RiscV64) { - // Hack: KVM is not supported on ARM anymore. On riscv64 it - // is not supported yet but might be in the future. - // Note: syz-extract also ignores this file for arm and riscv64. - top = descriptions.Filter(func(n ast.Node) bool { - pos, typ, name := n.Info() - if !strings.HasSuffix(pos.File, "_kvm.txt") { - return true - } - switch n.(type) { - case *ast.Resource, *ast.Struct, *ast.Call, *ast.TypeDef: - // Mimic what pkg/compiler would do with unsupported entries. - // This is required to keep the unsupported diagnostic below working - // for kvm entries, otherwise it will not think that kvm entries - // are not supported on all architectures. - job.Unsupported[typ+" "+name] = true - } - return false - }) - } if job.Target.OS == targets.TestOS { - constInfo := compiler.ExtractConsts(top, job.Target, eh) + constInfo := compiler.ExtractConsts(descriptions, job.Target, eh) compiler.FabricateSyscallConsts(job.Target, constInfo, consts) } - prog := compiler.Compile(top, consts, job.Target, eh) + prog := compiler.Compile(descriptions, consts, job.Target, eh) if prog == nil { return } diff --git a/sys/test/arch_32.txt b/sys/test/arch_32.txt new file mode 100644 index 000000000..192f308c3 --- /dev/null +++ b/sys/test/arch_32.txt @@ -0,0 +1,9 @@ +# Copyright 2022 syzkaller project authors. All rights reserved. +# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. + +meta arches["32_shmem", "32_fork_shmem"] + +resource unsupported3[int32] + +foo$unsupported3_ctor(cmd const[ONLY_32BITS_CONST]) unsupported3 +foo$unsupported3_use(res unsupported3) diff --git a/sys/test/arch_64.txt b/sys/test/arch_64.txt new file mode 100644 index 000000000..210984a86 --- /dev/null +++ b/sys/test/arch_64.txt @@ -0,0 +1,9 @@ +# Copyright 2022 syzkaller project authors. All rights reserved. +# Use of this source code is governed by Apache 2 LICENSE that can be found in the LICENSE file. + +meta arches["64"] + +resource unsupported2[int32] + +foo$unsupported2_ctor(cmd const[ARCH_64_SPECIFIC_CONST]) unsupported2 +foo$unsupported2_use(res unsupported2) -- cgit mrf-deployment