1# SPDX-License-Identifier: GPL-2.0 2 3# We want to map these types to `isize`/`usize` manually, instead of 4# define them as `int`/`long` depending on platform bitwidth. 5--blocklist-type __kernel_s?size_t 6--blocklist-type __kernel_ptrdiff_t 7 8--opaque-type xregs_state 9--opaque-type desc_struct 10--opaque-type arch_lbr_state 11--opaque-type local_apic 12 13# Packed type cannot transitively contain a `#[repr(align)]` type. 14--opaque-type alt_instr 15--opaque-type x86_msi_data 16--opaque-type x86_msi_addr_lo 17 18# `try` is a reserved keyword since Rust 2018; solved in `bindgen` v0.59.2, 19# commit 2aed6b021680 ("context: Escape the try keyword properly"). 20--opaque-type kunit_try_catch 21 22# If SMP is disabled, `arch_spinlock_t` is defined as a ZST which triggers a Rust 23# warning. We don't need to peek into it anyway. 24--opaque-type spinlock 25 26# `seccomp`'s comment gets understood as a doctest 27--no-doc-comments 28 29# These functions use the `__preserve_most` calling convention, which neither bindgen 30# nor Rust currently understand, and which Clang currently declares to be unstable. 31--blocklist-function __list_.*_report 32 33# These constants are sometimes not recognized by bindgen depending on config. 34# We use const helpers to aid bindgen, to avoid conflicts when constants are 35# recognized, block generation of the non-helper constants. 36--blocklist-item ARCH_SLAB_MINALIGN 37--blocklist-item ARCH_KMALLOC_MINALIGN 38--blocklist-item VM_MERGEABLE 39--blocklist-item VM_READ 40--blocklist-item VM_WRITE 41--blocklist-item VM_EXEC 42--blocklist-item VM_SHARED 43--blocklist-item VM_MAYREAD 44--blocklist-item VM_MAYWRITE 45--blocklist-item VM_MAYEXEC 46--blocklist-item VM_MAYEXEC 47--blocklist-item VM_PFNMAP 48--blocklist-item VM_IO 49--blocklist-item VM_DONTCOPY 50--blocklist-item VM_DONTEXPAND 51--blocklist-item VM_LOCKONFAULT 52--blocklist-item VM_ACCOUNT 53--blocklist-item VM_NORESERVE 54--blocklist-item VM_HUGETLB 55--blocklist-item VM_SYNC 56--blocklist-item VM_ARCH_1 57--blocklist-item VM_WIPEONFORK 58--blocklist-item VM_DONTDUMP 59--blocklist-item VM_SOFTDIRTY 60--blocklist-item VM_MIXEDMAP 61--blocklist-item VM_HUGEPAGE 62--blocklist-item VM_NOHUGEPAGE 63 64# Structs should implement `Zeroable` when all of their fields do. 65--with-derive-custom-struct .*=MaybeZeroable 66--with-derive-custom-union .*=MaybeZeroable 67