mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-05 18:39:59 +00:00
![Linus Torvalds](/assets/img/avatar_default.png)
* DAX broke a fundamental assumption of truncate of file mapped pages. The truncate path assumed that it is safe to disconnect a pinned page from a file and let the filesystem reclaim the physical block. With DAX the page is equivalent to the filesystem block. Introduce dax_layout_busy_page() to enable filesystems to wait for pinned DAX pages to be released. Without this wait a filesystem could allocate blocks under active device-DMA to a new file. * DAX arranges for the block layer to be bypassed and uses dax_direct_access() + copy_to_iter() to satisfy read(2) calls. However, the memcpy_mcsafe() facility is available through the pmem block driver. In order to safely handle media errors, via the DAX block-layer bypass, introduce copy_to_iter_mcsafe(). * Fix cache management policy relative to the ACPI NFIT Platform Capabilities Structure to properly elide cache flushes when they are not necessary. The table indicates whether CPU caches are power-fail protected. Clarify that a deep flush is always performed on REQ_{FUA,PREFLUSH} requests. -----BEGIN PGP SIGNATURE----- iQIcBAABAgAGBQJbGxI7AAoJEB7SkWpmfYgCDjsP/2Lcibu9Kf4tKIzuInsle6iE 6qP29qlkpHVTpDKbhvIxTYTYL9sMU0DNUrpPCJR/EYdeyztLWDFC5EAT1wF240vf maV37s/uP331jSC/2VJnKWzBs2ztQxmKLEIQCxh6aT0qs9cbaOvJgB/WlVu+qtsl aGJFLmb6vdQacp31noU5plKrMgMA1pADyF5qx9I9K2HwowHE7T368ZEFS/3S//c3 LXmpx/Nfq52sGu/qbRbu6B1CTJhIGhmarObyQnvBYoKntK1Ov4e8DS95wD3EhNDe FuRkOCUKhjl6cFy7QVWh1ct1bFm84ny+b4/AtbpOmv9l/+0mveJ7e+5mu8HQTifT wYiEe2xzXJ+OG/xntv8SvlZKMpjP3BqI0jYsTutsjT4oHrciiXdXM186cyS+BiGp KtFmWyncQJgfiTq6+Hj5XpP9BapNS+OYdYgUagw9ZwzdzptuGFYUMSVOBrYrn6c/ fwqtxjubykJoW0P3pkIoT91arFSea7nxOKnGwft06imQ7TwR4ARsI308feQ9itJq 2P2e7/20nYMsw2aRaUDDA70Yu+Lagn1m8WL87IybUGeUDLb1BAkjphAlWa6COJ+u PhvAD2tvyM9m0c7O5Mytvz7iWKG6SVgatoAyOPkaeplQK8khZ+wEpuK58sO6C1w8 4GBvt9ri9i/Ww/A+ppWs =4bfw -----END PGP SIGNATURE----- Merge tag 'libnvdimm-for-4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm Pull libnvdimm updates from Dan Williams: "This adds a user for the new 'bytes-remaining' updates to memcpy_mcsafe() that you already received through Ingo via the x86-dax- for-linus pull. Not included here, but still targeting this cycle, is support for handling memory media errors (poison) consumed via userspace dax mappings. Summary: - DAX broke a fundamental assumption of truncate of file mapped pages. The truncate path assumed that it is safe to disconnect a pinned page from a file and let the filesystem reclaim the physical block. With DAX the page is equivalent to the filesystem block. Introduce dax_layout_busy_page() to enable filesystems to wait for pinned DAX pages to be released. Without this wait a filesystem could allocate blocks under active device-DMA to a new file. - DAX arranges for the block layer to be bypassed and uses dax_direct_access() + copy_to_iter() to satisfy read(2) calls. However, the memcpy_mcsafe() facility is available through the pmem block driver. In order to safely handle media errors, via the DAX block-layer bypass, introduce copy_to_iter_mcsafe(). - Fix cache management policy relative to the ACPI NFIT Platform Capabilities Structure to properly elide cache flushes when they are not necessary. The table indicates whether CPU caches are power-fail protected. Clarify that a deep flush is always performed on REQ_{FUA,PREFLUSH} requests" * tag 'libnvdimm-for-4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: (21 commits) dax: Use dax_write_cache* helpers libnvdimm, pmem: Do not flush power-fail protected CPU caches libnvdimm, pmem: Unconditionally deep flush on *sync libnvdimm, pmem: Complete REQ_FLUSH => REQ_PREFLUSH acpi, nfit: Remove ecc_unit_size dax: dax_insert_mapping_entry always succeeds libnvdimm, e820: Register all pmem resources libnvdimm: Debug probe times linvdimm, pmem: Preserve read-only setting for pmem devices x86, nfit_test: Add unit test for memcpy_mcsafe() pmem: Switch to copy_to_iter_mcsafe() dax: Report bytes remaining in dax_iomap_actor() dax: Introduce a ->copy_to_iter dax operation uio, lib: Fix CONFIG_ARCH_HAS_UACCESS_MCSAFE compilation xfs, dax: introduce xfs_break_dax_layouts() xfs: prepare xfs_break_layouts() for another layout type xfs: prepare xfs_break_layouts() to be called with XFS_MMAPLOCK_EXCL mm, fs, dax: handle layout changes to pinned dax mappings mm: fix __gup_device_huge vs unmap mm: introduce MEMORY_DEVICE_FS_DAX and CONFIG_DEV_PAGEMAP_OPS ...
661 lines
14 KiB
Text
661 lines
14 KiB
Text
#
|
|
# Library configuration
|
|
#
|
|
|
|
config BINARY_PRINTF
|
|
def_bool n
|
|
|
|
menu "Library routines"
|
|
|
|
config RAID6_PQ
|
|
tristate
|
|
|
|
config BITREVERSE
|
|
tristate
|
|
|
|
config HAVE_ARCH_BITREVERSE
|
|
bool
|
|
default n
|
|
depends on BITREVERSE
|
|
help
|
|
This option enables the use of hardware bit-reversal instructions on
|
|
architectures which support such operations.
|
|
|
|
config RATIONAL
|
|
bool
|
|
|
|
config GENERIC_STRNCPY_FROM_USER
|
|
bool
|
|
|
|
config GENERIC_STRNLEN_USER
|
|
bool
|
|
|
|
config GENERIC_NET_UTILS
|
|
bool
|
|
|
|
config GENERIC_FIND_FIRST_BIT
|
|
bool
|
|
|
|
config NO_GENERIC_PCI_IOPORT_MAP
|
|
bool
|
|
|
|
config GENERIC_PCI_IOMAP
|
|
bool
|
|
|
|
config GENERIC_IOMAP
|
|
bool
|
|
select GENERIC_PCI_IOMAP
|
|
|
|
config STMP_DEVICE
|
|
bool
|
|
|
|
config ARCH_USE_CMPXCHG_LOCKREF
|
|
bool
|
|
|
|
config ARCH_HAS_FAST_MULTIPLIER
|
|
bool
|
|
|
|
config INDIRECT_PIO
|
|
bool "Access I/O in non-MMIO mode"
|
|
depends on ARM64
|
|
help
|
|
On some platforms where no separate I/O space exists, there are I/O
|
|
hosts which can not be accessed in MMIO mode. Using the logical PIO
|
|
mechanism, the host-local I/O resource can be mapped into system
|
|
logic PIO space shared with MMIO hosts, such as PCI/PCIe, then the
|
|
system can access the I/O devices with the mapped-logic PIO through
|
|
I/O accessors.
|
|
|
|
This way has relatively little I/O performance cost. Please make
|
|
sure your devices really need this configure item enabled.
|
|
|
|
When in doubt, say N.
|
|
|
|
config CRC_CCITT
|
|
tristate "CRC-CCITT functions"
|
|
help
|
|
This option is provided for the case where no in-kernel-tree
|
|
modules require CRC-CCITT functions, but a module built outside
|
|
the kernel tree does. Such modules that use library CRC-CCITT
|
|
functions require M here.
|
|
|
|
config CRC16
|
|
tristate "CRC16 functions"
|
|
help
|
|
This option is provided for the case where no in-kernel-tree
|
|
modules require CRC16 functions, but a module built outside
|
|
the kernel tree does. Such modules that use library CRC16
|
|
functions require M here.
|
|
|
|
config CRC_T10DIF
|
|
tristate "CRC calculation for the T10 Data Integrity Field"
|
|
select CRYPTO
|
|
select CRYPTO_CRCT10DIF
|
|
help
|
|
This option is only needed if a module that's not in the
|
|
kernel tree needs to calculate CRC checks for use with the
|
|
SCSI data integrity subsystem.
|
|
|
|
config CRC_ITU_T
|
|
tristate "CRC ITU-T V.41 functions"
|
|
help
|
|
This option is provided for the case where no in-kernel-tree
|
|
modules require CRC ITU-T V.41 functions, but a module built outside
|
|
the kernel tree does. Such modules that use library CRC ITU-T V.41
|
|
functions require M here.
|
|
|
|
config CRC32
|
|
tristate "CRC32/CRC32c functions"
|
|
default y
|
|
select BITREVERSE
|
|
help
|
|
This option is provided for the case where no in-kernel-tree
|
|
modules require CRC32/CRC32c functions, but a module built outside
|
|
the kernel tree does. Such modules that use library CRC32/CRC32c
|
|
functions require M here.
|
|
|
|
config CRC32_SELFTEST
|
|
tristate "CRC32 perform self test on init"
|
|
depends on CRC32
|
|
help
|
|
This option enables the CRC32 library functions to perform a
|
|
self test on initialization. The self test computes crc32_le
|
|
and crc32_be over byte strings with random alignment and length
|
|
and computes the total elapsed time and number of bytes processed.
|
|
|
|
choice
|
|
prompt "CRC32 implementation"
|
|
depends on CRC32
|
|
default CRC32_SLICEBY8
|
|
help
|
|
This option allows a kernel builder to override the default choice
|
|
of CRC32 algorithm. Choose the default ("slice by 8") unless you
|
|
know that you need one of the others.
|
|
|
|
config CRC32_SLICEBY8
|
|
bool "Slice by 8 bytes"
|
|
help
|
|
Calculate checksum 8 bytes at a time with a clever slicing algorithm.
|
|
This is the fastest algorithm, but comes with a 8KiB lookup table.
|
|
Most modern processors have enough cache to hold this table without
|
|
thrashing the cache.
|
|
|
|
This is the default implementation choice. Choose this one unless
|
|
you have a good reason not to.
|
|
|
|
config CRC32_SLICEBY4
|
|
bool "Slice by 4 bytes"
|
|
help
|
|
Calculate checksum 4 bytes at a time with a clever slicing algorithm.
|
|
This is a bit slower than slice by 8, but has a smaller 4KiB lookup
|
|
table.
|
|
|
|
Only choose this option if you know what you are doing.
|
|
|
|
config CRC32_SARWATE
|
|
bool "Sarwate's Algorithm (one byte at a time)"
|
|
help
|
|
Calculate checksum a byte at a time using Sarwate's algorithm. This
|
|
is not particularly fast, but has a small 256 byte lookup table.
|
|
|
|
Only choose this option if you know what you are doing.
|
|
|
|
config CRC32_BIT
|
|
bool "Classic Algorithm (one bit at a time)"
|
|
help
|
|
Calculate checksum one bit at a time. This is VERY slow, but has
|
|
no lookup table. This is provided as a debugging option.
|
|
|
|
Only choose this option if you are debugging crc32.
|
|
|
|
endchoice
|
|
|
|
config CRC4
|
|
tristate "CRC4 functions"
|
|
help
|
|
This option is provided for the case where no in-kernel-tree
|
|
modules require CRC4 functions, but a module built outside
|
|
the kernel tree does. Such modules that use library CRC4
|
|
functions require M here.
|
|
|
|
config CRC7
|
|
tristate "CRC7 functions"
|
|
help
|
|
This option is provided for the case where no in-kernel-tree
|
|
modules require CRC7 functions, but a module built outside
|
|
the kernel tree does. Such modules that use library CRC7
|
|
functions require M here.
|
|
|
|
config LIBCRC32C
|
|
tristate "CRC32c (Castagnoli, et al) Cyclic Redundancy-Check"
|
|
select CRYPTO
|
|
select CRYPTO_CRC32C
|
|
help
|
|
This option is provided for the case where no in-kernel-tree
|
|
modules require CRC32c functions, but a module built outside the
|
|
kernel tree does. Such modules that use library CRC32c functions
|
|
require M here. See Castagnoli93.
|
|
Module will be libcrc32c.
|
|
|
|
config CRC8
|
|
tristate "CRC8 function"
|
|
help
|
|
This option provides CRC8 function. Drivers may select this
|
|
when they need to do cyclic redundancy check according CRC8
|
|
algorithm. Module will be called crc8.
|
|
|
|
config XXHASH
|
|
tristate
|
|
|
|
config AUDIT_GENERIC
|
|
bool
|
|
depends on AUDIT && !AUDIT_ARCH
|
|
default y
|
|
|
|
config AUDIT_ARCH_COMPAT_GENERIC
|
|
bool
|
|
default n
|
|
|
|
config AUDIT_COMPAT_GENERIC
|
|
bool
|
|
depends on AUDIT_GENERIC && AUDIT_ARCH_COMPAT_GENERIC && COMPAT
|
|
default y
|
|
|
|
config RANDOM32_SELFTEST
|
|
bool "PRNG perform self test on init"
|
|
default n
|
|
help
|
|
This option enables the 32 bit PRNG library functions to perform a
|
|
self test on initialization.
|
|
|
|
#
|
|
# compression support is select'ed if needed
|
|
#
|
|
config 842_COMPRESS
|
|
select CRC32
|
|
tristate
|
|
|
|
config 842_DECOMPRESS
|
|
select CRC32
|
|
tristate
|
|
|
|
config ZLIB_INFLATE
|
|
tristate
|
|
|
|
config ZLIB_DEFLATE
|
|
tristate
|
|
select BITREVERSE
|
|
|
|
config LZO_COMPRESS
|
|
tristate
|
|
|
|
config LZO_DECOMPRESS
|
|
tristate
|
|
|
|
config LZ4_COMPRESS
|
|
tristate
|
|
|
|
config LZ4HC_COMPRESS
|
|
tristate
|
|
|
|
config LZ4_DECOMPRESS
|
|
tristate
|
|
|
|
config ZSTD_COMPRESS
|
|
select XXHASH
|
|
tristate
|
|
|
|
config ZSTD_DECOMPRESS
|
|
select XXHASH
|
|
tristate
|
|
|
|
source "lib/xz/Kconfig"
|
|
|
|
#
|
|
# These all provide a common interface (hence the apparent duplication with
|
|
# ZLIB_INFLATE; DECOMPRESS_GZIP is just a wrapper.)
|
|
#
|
|
config DECOMPRESS_GZIP
|
|
select ZLIB_INFLATE
|
|
tristate
|
|
|
|
config DECOMPRESS_BZIP2
|
|
tristate
|
|
|
|
config DECOMPRESS_LZMA
|
|
tristate
|
|
|
|
config DECOMPRESS_XZ
|
|
select XZ_DEC
|
|
tristate
|
|
|
|
config DECOMPRESS_LZO
|
|
select LZO_DECOMPRESS
|
|
tristate
|
|
|
|
config DECOMPRESS_LZ4
|
|
select LZ4_DECOMPRESS
|
|
tristate
|
|
|
|
#
|
|
# Generic allocator support is selected if needed
|
|
#
|
|
config GENERIC_ALLOCATOR
|
|
bool
|
|
|
|
#
|
|
# reed solomon support is select'ed if needed
|
|
#
|
|
config REED_SOLOMON
|
|
tristate
|
|
|
|
config REED_SOLOMON_ENC8
|
|
bool
|
|
|
|
config REED_SOLOMON_DEC8
|
|
bool
|
|
|
|
config REED_SOLOMON_ENC16
|
|
bool
|
|
|
|
config REED_SOLOMON_DEC16
|
|
bool
|
|
|
|
#
|
|
# BCH support is selected if needed
|
|
#
|
|
config BCH
|
|
tristate
|
|
|
|
config BCH_CONST_PARAMS
|
|
bool
|
|
help
|
|
Drivers may select this option to force specific constant
|
|
values for parameters 'm' (Galois field order) and 't'
|
|
(error correction capability). Those specific values must
|
|
be set by declaring default values for symbols BCH_CONST_M
|
|
and BCH_CONST_T.
|
|
Doing so will enable extra compiler optimizations,
|
|
improving encoding and decoding performance up to 2x for
|
|
usual (m,t) values (typically such that m*t < 200).
|
|
When this option is selected, the BCH library supports
|
|
only a single (m,t) configuration. This is mainly useful
|
|
for NAND flash board drivers requiring known, fixed BCH
|
|
parameters.
|
|
|
|
config BCH_CONST_M
|
|
int
|
|
range 5 15
|
|
help
|
|
Constant value for Galois field order 'm'. If 'k' is the
|
|
number of data bits to protect, 'm' should be chosen such
|
|
that (k + m*t) <= 2**m - 1.
|
|
Drivers should declare a default value for this symbol if
|
|
they select option BCH_CONST_PARAMS.
|
|
|
|
config BCH_CONST_T
|
|
int
|
|
help
|
|
Constant value for error correction capability in bits 't'.
|
|
Drivers should declare a default value for this symbol if
|
|
they select option BCH_CONST_PARAMS.
|
|
|
|
#
|
|
# Textsearch support is select'ed if needed
|
|
#
|
|
config TEXTSEARCH
|
|
bool
|
|
|
|
config TEXTSEARCH_KMP
|
|
tristate
|
|
|
|
config TEXTSEARCH_BM
|
|
tristate
|
|
|
|
config TEXTSEARCH_FSM
|
|
tristate
|
|
|
|
config BTREE
|
|
bool
|
|
|
|
config INTERVAL_TREE
|
|
bool
|
|
help
|
|
Simple, embeddable, interval-tree. Can find the start of an
|
|
overlapping range in log(n) time and then iterate over all
|
|
overlapping nodes. The algorithm is implemented as an
|
|
augmented rbtree.
|
|
|
|
See:
|
|
|
|
Documentation/rbtree.txt
|
|
|
|
for more information.
|
|
|
|
config RADIX_TREE_MULTIORDER
|
|
bool
|
|
|
|
config ASSOCIATIVE_ARRAY
|
|
bool
|
|
help
|
|
Generic associative array. Can be searched and iterated over whilst
|
|
it is being modified. It is also reasonably quick to search and
|
|
modify. The algorithms are non-recursive, and the trees are highly
|
|
capacious.
|
|
|
|
See:
|
|
|
|
Documentation/assoc_array.txt
|
|
|
|
for more information.
|
|
|
|
config HAS_IOMEM
|
|
bool
|
|
depends on !NO_IOMEM
|
|
select GENERIC_IO
|
|
default y
|
|
|
|
config HAS_IOPORT_MAP
|
|
bool
|
|
depends on HAS_IOMEM && !NO_IOPORT_MAP
|
|
default y
|
|
|
|
config HAS_DMA
|
|
bool
|
|
depends on !NO_DMA
|
|
default y
|
|
|
|
config SGL_ALLOC
|
|
bool
|
|
default n
|
|
|
|
config NEED_SG_DMA_LENGTH
|
|
bool
|
|
|
|
config NEED_DMA_MAP_STATE
|
|
bool
|
|
|
|
config ARCH_DMA_ADDR_T_64BIT
|
|
def_bool 64BIT || PHYS_ADDR_T_64BIT
|
|
|
|
config IOMMU_HELPER
|
|
bool
|
|
|
|
config ARCH_HAS_SYNC_DMA_FOR_DEVICE
|
|
bool
|
|
|
|
config ARCH_HAS_SYNC_DMA_FOR_CPU
|
|
bool
|
|
select NEED_DMA_MAP_STATE
|
|
|
|
config DMA_DIRECT_OPS
|
|
bool
|
|
depends on HAS_DMA
|
|
|
|
config DMA_NONCOHERENT_OPS
|
|
bool
|
|
depends on HAS_DMA
|
|
select DMA_DIRECT_OPS
|
|
|
|
config DMA_NONCOHERENT_MMAP
|
|
bool
|
|
depends on DMA_NONCOHERENT_OPS
|
|
|
|
config DMA_NONCOHERENT_CACHE_SYNC
|
|
bool
|
|
depends on DMA_NONCOHERENT_OPS
|
|
|
|
config DMA_VIRT_OPS
|
|
bool
|
|
depends on HAS_DMA
|
|
|
|
config SWIOTLB
|
|
bool
|
|
select DMA_DIRECT_OPS
|
|
select NEED_DMA_MAP_STATE
|
|
|
|
config CHECK_SIGNATURE
|
|
bool
|
|
|
|
config CPUMASK_OFFSTACK
|
|
bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS
|
|
help
|
|
Use dynamic allocation for cpumask_var_t, instead of putting
|
|
them on the stack. This is a bit more expensive, but avoids
|
|
stack overflow.
|
|
|
|
config CPU_RMAP
|
|
bool
|
|
depends on SMP
|
|
|
|
config DQL
|
|
bool
|
|
|
|
config GLOB
|
|
bool
|
|
# This actually supports modular compilation, but the module overhead
|
|
# is ridiculous for the amount of code involved. Until an out-of-tree
|
|
# driver asks for it, we'll just link it directly it into the kernel
|
|
# when required. Since we're ignoring out-of-tree users, there's also
|
|
# no need bother prompting for a manual decision:
|
|
# prompt "glob_match() function"
|
|
help
|
|
This option provides a glob_match function for performing
|
|
simple text pattern matching. It originated in the ATA code
|
|
to blacklist particular drive models, but other device drivers
|
|
may need similar functionality.
|
|
|
|
All drivers in the Linux kernel tree that require this function
|
|
should automatically select this option. Say N unless you
|
|
are compiling an out-of tree driver which tells you that it
|
|
depends on this.
|
|
|
|
config GLOB_SELFTEST
|
|
tristate "glob self-test on init"
|
|
depends on GLOB
|
|
help
|
|
This option enables a simple self-test of the glob_match
|
|
function on startup. It is primarily useful for people
|
|
working on the code to ensure they haven't introduced any
|
|
regressions.
|
|
|
|
It only adds a little bit of code and slows kernel boot (or
|
|
module load) by a small amount, so you're welcome to play with
|
|
it, but you probably don't need it.
|
|
|
|
#
|
|
# Netlink attribute parsing support is select'ed if needed
|
|
#
|
|
config NLATTR
|
|
bool
|
|
|
|
#
|
|
# Generic 64-bit atomic support is selected if needed
|
|
#
|
|
config GENERIC_ATOMIC64
|
|
bool
|
|
|
|
config LRU_CACHE
|
|
tristate
|
|
|
|
config CLZ_TAB
|
|
bool
|
|
|
|
config CORDIC
|
|
tristate "CORDIC algorithm"
|
|
help
|
|
This option provides an implementation of the CORDIC algorithm;
|
|
calculations are in fixed point. Module will be called cordic.
|
|
|
|
config DDR
|
|
bool "JEDEC DDR data"
|
|
help
|
|
Data from JEDEC specs for DDR SDRAM memories,
|
|
particularly the AC timing parameters and addressing
|
|
information. This data is useful for drivers handling
|
|
DDR SDRAM controllers.
|
|
|
|
config IRQ_POLL
|
|
bool "IRQ polling library"
|
|
help
|
|
Helper library to poll interrupt mitigation using polling.
|
|
|
|
config MPILIB
|
|
tristate
|
|
select CLZ_TAB
|
|
help
|
|
Multiprecision maths library from GnuPG.
|
|
It is used to implement RSA digital signature verification,
|
|
which is used by IMA/EVM digital signature extension.
|
|
|
|
config SIGNATURE
|
|
tristate
|
|
depends on KEYS
|
|
select CRYPTO
|
|
select CRYPTO_SHA1
|
|
select MPILIB
|
|
help
|
|
Digital signature verification. Currently only RSA is supported.
|
|
Implementation is done using GnuPG MPI library
|
|
|
|
#
|
|
# libfdt files, only selected if needed.
|
|
#
|
|
config LIBFDT
|
|
bool
|
|
|
|
config OID_REGISTRY
|
|
tristate
|
|
help
|
|
Enable fast lookup object identifier registry.
|
|
|
|
config UCS2_STRING
|
|
tristate
|
|
|
|
source "lib/fonts/Kconfig"
|
|
|
|
config SG_SPLIT
|
|
def_bool n
|
|
help
|
|
Provides a helper to split scatterlists into chunks, each chunk being
|
|
a scatterlist. This should be selected by a driver or an API which
|
|
whishes to split a scatterlist amongst multiple DMA channels.
|
|
|
|
config SG_POOL
|
|
def_bool n
|
|
help
|
|
Provides a helper to allocate chained scatterlists. This should be
|
|
selected by a driver or an API which whishes to allocate chained
|
|
scatterlist.
|
|
|
|
#
|
|
# sg chaining option
|
|
#
|
|
|
|
config ARCH_HAS_SG_CHAIN
|
|
def_bool n
|
|
|
|
config ARCH_HAS_PMEM_API
|
|
bool
|
|
|
|
config ARCH_HAS_UACCESS_FLUSHCACHE
|
|
bool
|
|
|
|
config ARCH_HAS_UACCESS_MCSAFE
|
|
bool
|
|
|
|
config STACKDEPOT
|
|
bool
|
|
select STACKTRACE
|
|
|
|
config SBITMAP
|
|
bool
|
|
|
|
config PARMAN
|
|
tristate "parman" if COMPILE_TEST
|
|
|
|
config PRIME_NUMBERS
|
|
tristate
|
|
|
|
config STRING_SELFTEST
|
|
tristate "Test string functions"
|
|
|
|
endmenu
|
|
|
|
config GENERIC_ASHLDI3
|
|
bool
|
|
|
|
config GENERIC_ASHRDI3
|
|
bool
|
|
|
|
config GENERIC_LSHRDI3
|
|
bool
|
|
|
|
config GENERIC_MULDI3
|
|
bool
|
|
|
|
config GENERIC_CMPDI2
|
|
bool
|
|
|
|
config GENERIC_UCMPDI2
|
|
bool
|