xref: /kernel/linux/linux-5.10/drivers/block/Kconfig (revision 8c2ecf20)
18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci#
38c2ecf20Sopenharmony_ci# Block device driver configuration
48c2ecf20Sopenharmony_ci#
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_cimenuconfig BLK_DEV
78c2ecf20Sopenharmony_ci	bool "Block devices"
88c2ecf20Sopenharmony_ci	depends on BLOCK
98c2ecf20Sopenharmony_ci	default y
108c2ecf20Sopenharmony_ci	help
118c2ecf20Sopenharmony_ci	  Say Y here to get to see options for various different block device
128c2ecf20Sopenharmony_ci	  drivers. This option alone does not add any kernel code.
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ci	  If you say N, all options in this submenu will be skipped and disabled;
158c2ecf20Sopenharmony_ci	  only do this if you know what you are doing.
168c2ecf20Sopenharmony_ci
178c2ecf20Sopenharmony_ciif BLK_DEV
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_cisource "drivers/block/null_blk/Kconfig"
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ciconfig BLK_DEV_FD
228c2ecf20Sopenharmony_ci	tristate "Normal floppy disk support"
238c2ecf20Sopenharmony_ci	depends on ARCH_MAY_HAVE_PC_FDC
248c2ecf20Sopenharmony_ci	help
258c2ecf20Sopenharmony_ci	  If you want to use the floppy disk drive(s) of your PC under Linux,
268c2ecf20Sopenharmony_ci	  say Y. Information about this driver, especially important for IBM
278c2ecf20Sopenharmony_ci	  Thinkpad users, is contained in
288c2ecf20Sopenharmony_ci	  <file:Documentation/admin-guide/blockdev/floppy.rst>.
298c2ecf20Sopenharmony_ci	  That file also contains the location of the Floppy driver FAQ as
308c2ecf20Sopenharmony_ci	  well as location of the fdutils package used to configure additional
318c2ecf20Sopenharmony_ci	  parameters of the driver at run time.
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
348c2ecf20Sopenharmony_ci	  module will be called floppy.
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ciconfig BLK_DEV_FD_RAWCMD
378c2ecf20Sopenharmony_ci	bool "Support for raw floppy disk commands (DEPRECATED)"
388c2ecf20Sopenharmony_ci	depends on BLK_DEV_FD
398c2ecf20Sopenharmony_ci	help
408c2ecf20Sopenharmony_ci	  If you want to use actual physical floppies and expect to do
418c2ecf20Sopenharmony_ci	  special low-level hardware accesses to them (access and use
428c2ecf20Sopenharmony_ci	  non-standard formats, for example), then enable this.
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ci	  Note that the code enabled by this option is rarely used and
458c2ecf20Sopenharmony_ci	  might be unstable or insecure, and distros should not enable it.
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci	  Note: FDRAWCMD is deprecated and will be removed from the kernel
488c2ecf20Sopenharmony_ci	  in the near future.
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci	  If unsure, say N.
518c2ecf20Sopenharmony_ci
528c2ecf20Sopenharmony_ciconfig AMIGA_FLOPPY
538c2ecf20Sopenharmony_ci	tristate "Amiga floppy support"
548c2ecf20Sopenharmony_ci	depends on AMIGA
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ciconfig ATARI_FLOPPY
578c2ecf20Sopenharmony_ci	tristate "Atari floppy support"
588c2ecf20Sopenharmony_ci	depends on ATARI
598c2ecf20Sopenharmony_ci
608c2ecf20Sopenharmony_ciconfig MAC_FLOPPY
618c2ecf20Sopenharmony_ci	tristate "Support for PowerMac floppy"
628c2ecf20Sopenharmony_ci	depends on PPC_PMAC && !PPC_PMAC64
638c2ecf20Sopenharmony_ci	help
648c2ecf20Sopenharmony_ci	  If you have a SWIM-3 (Super Woz Integrated Machine 3; from Apple)
658c2ecf20Sopenharmony_ci	  floppy controller, say Y here. Most commonly found in PowerMacs.
668c2ecf20Sopenharmony_ci
678c2ecf20Sopenharmony_ciconfig BLK_DEV_SWIM
688c2ecf20Sopenharmony_ci	tristate "Support for SWIM Macintosh floppy"
698c2ecf20Sopenharmony_ci	depends on M68K && MAC
708c2ecf20Sopenharmony_ci	help
718c2ecf20Sopenharmony_ci	  You should select this option if you want floppy support
728c2ecf20Sopenharmony_ci	  and you don't have a II, IIfx, Q900, Q950 or AV series.
738c2ecf20Sopenharmony_ci
748c2ecf20Sopenharmony_ciconfig AMIGA_Z2RAM
758c2ecf20Sopenharmony_ci	tristate "Amiga Zorro II ramdisk support"
768c2ecf20Sopenharmony_ci	depends on ZORRO
778c2ecf20Sopenharmony_ci	help
788c2ecf20Sopenharmony_ci	  This enables support for using Chip RAM and Zorro II RAM as a
798c2ecf20Sopenharmony_ci	  ramdisk or as a swap partition. Say Y if you want to include this
808c2ecf20Sopenharmony_ci	  driver in the kernel.
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
838c2ecf20Sopenharmony_ci	  module will be called z2ram.
848c2ecf20Sopenharmony_ci
858c2ecf20Sopenharmony_ciconfig CDROM
868c2ecf20Sopenharmony_ci	tristate
878c2ecf20Sopenharmony_ci	select BLK_SCSI_REQUEST
888c2ecf20Sopenharmony_ci
898c2ecf20Sopenharmony_ciconfig GDROM
908c2ecf20Sopenharmony_ci	tristate "SEGA Dreamcast GD-ROM drive"
918c2ecf20Sopenharmony_ci	depends on SH_DREAMCAST
928c2ecf20Sopenharmony_ci	select CDROM
938c2ecf20Sopenharmony_ci	help
948c2ecf20Sopenharmony_ci	  A standard SEGA Dreamcast comes with a modified CD ROM drive called a
958c2ecf20Sopenharmony_ci	  "GD-ROM" by SEGA to signify it is capable of reading special disks
968c2ecf20Sopenharmony_ci	  with up to 1 GB of data. This drive will also read standard CD ROM
978c2ecf20Sopenharmony_ci	  disks. Select this option to access any disks in your GD ROM drive.
988c2ecf20Sopenharmony_ci	  Most users will want to say "Y" here.
998c2ecf20Sopenharmony_ci	  You can also build this as a module which will be called gdrom.
1008c2ecf20Sopenharmony_ci
1018c2ecf20Sopenharmony_ciconfig PARIDE
1028c2ecf20Sopenharmony_ci	tristate "Parallel port IDE device support"
1038c2ecf20Sopenharmony_ci	depends on PARPORT_PC
1048c2ecf20Sopenharmony_ci	help
1058c2ecf20Sopenharmony_ci	  There are many external CD-ROM and disk devices that connect through
1068c2ecf20Sopenharmony_ci	  your computer's parallel port. Most of them are actually IDE devices
1078c2ecf20Sopenharmony_ci	  using a parallel port IDE adapter. This option enables the PARIDE
1088c2ecf20Sopenharmony_ci	  subsystem which contains drivers for many of these external drives.
1098c2ecf20Sopenharmony_ci	  Read <file:Documentation/admin-guide/blockdev/paride.rst> for more information.
1108c2ecf20Sopenharmony_ci
1118c2ecf20Sopenharmony_ci	  If you have said Y to the "Parallel-port support" configuration
1128c2ecf20Sopenharmony_ci	  option, you may share a single port between your printer and other
1138c2ecf20Sopenharmony_ci	  parallel port devices. Answer Y to build PARIDE support into your
1148c2ecf20Sopenharmony_ci	  kernel, or M if you would like to build it as a loadable module. If
1158c2ecf20Sopenharmony_ci	  your parallel port support is in a loadable module, you must build
1168c2ecf20Sopenharmony_ci	  PARIDE as a module. If you built PARIDE support into your kernel,
1178c2ecf20Sopenharmony_ci	  you may still build the individual protocol modules and high-level
1188c2ecf20Sopenharmony_ci	  drivers as loadable modules. If you build this support as a module,
1198c2ecf20Sopenharmony_ci	  it will be called paride.
1208c2ecf20Sopenharmony_ci
1218c2ecf20Sopenharmony_ci	  To use the PARIDE support, you must say Y or M here and also to at
1228c2ecf20Sopenharmony_ci	  least one high-level driver (e.g. "Parallel port IDE disks",
1238c2ecf20Sopenharmony_ci	  "Parallel port ATAPI CD-ROMs", "Parallel port ATAPI disks" etc.) and
1248c2ecf20Sopenharmony_ci	  to at least one protocol driver (e.g. "ATEN EH-100 protocol",
1258c2ecf20Sopenharmony_ci	  "MicroSolutions backpack protocol", "DataStor Commuter protocol"
1268c2ecf20Sopenharmony_ci	  etc.).
1278c2ecf20Sopenharmony_ci
1288c2ecf20Sopenharmony_cisource "drivers/block/paride/Kconfig"
1298c2ecf20Sopenharmony_ci
1308c2ecf20Sopenharmony_cisource "drivers/block/mtip32xx/Kconfig"
1318c2ecf20Sopenharmony_ci
1328c2ecf20Sopenharmony_cisource "drivers/block/zram/Kconfig"
1338c2ecf20Sopenharmony_ci
1348c2ecf20Sopenharmony_ciconfig BLK_DEV_UMEM
1358c2ecf20Sopenharmony_ci	tristate "Micro Memory MM5415 Battery Backed RAM support"
1368c2ecf20Sopenharmony_ci	depends on PCI
1378c2ecf20Sopenharmony_ci	help
1388c2ecf20Sopenharmony_ci	  Saying Y here will include support for the MM5415 family of
1398c2ecf20Sopenharmony_ci	  battery backed (Non-volatile) RAM cards.
1408c2ecf20Sopenharmony_ci	  <http://www.umem.com/>
1418c2ecf20Sopenharmony_ci
1428c2ecf20Sopenharmony_ci	  The cards appear as block devices that can be partitioned into
1438c2ecf20Sopenharmony_ci	  as many as 15 partitions.
1448c2ecf20Sopenharmony_ci
1458c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
1468c2ecf20Sopenharmony_ci	  module will be called umem.
1478c2ecf20Sopenharmony_ci
1488c2ecf20Sopenharmony_ci	  The umem driver has not yet been allocated a MAJOR number, so
1498c2ecf20Sopenharmony_ci	  one is chosen dynamically.
1508c2ecf20Sopenharmony_ci
1518c2ecf20Sopenharmony_ciconfig BLK_DEV_UBD
1528c2ecf20Sopenharmony_ci	bool "Virtual block device"
1538c2ecf20Sopenharmony_ci	depends on UML
1548c2ecf20Sopenharmony_ci	help
1558c2ecf20Sopenharmony_ci          The User-Mode Linux port includes a driver called UBD which will let
1568c2ecf20Sopenharmony_ci          you access arbitrary files on the host computer as block devices.
1578c2ecf20Sopenharmony_ci          Unless you know that you do not need such virtual block devices say
1588c2ecf20Sopenharmony_ci          Y here.
1598c2ecf20Sopenharmony_ci
1608c2ecf20Sopenharmony_ciconfig BLK_DEV_UBD_SYNC
1618c2ecf20Sopenharmony_ci	bool "Always do synchronous disk IO for UBD"
1628c2ecf20Sopenharmony_ci	depends on BLK_DEV_UBD
1638c2ecf20Sopenharmony_ci	help
1648c2ecf20Sopenharmony_ci	  Writes to the virtual block device are not immediately written to the
1658c2ecf20Sopenharmony_ci	  host's disk; this may cause problems if, for example, the User-Mode
1668c2ecf20Sopenharmony_ci	  Linux 'Virtual Machine' uses a journalling filesystem and the host
1678c2ecf20Sopenharmony_ci	  computer crashes.
1688c2ecf20Sopenharmony_ci
1698c2ecf20Sopenharmony_ci          Synchronous operation (i.e. always writing data to the host's disk
1708c2ecf20Sopenharmony_ci          immediately) is configurable on a per-UBD basis by using a special
1718c2ecf20Sopenharmony_ci          kernel command line option.  Alternatively, you can say Y here to
1728c2ecf20Sopenharmony_ci          turn on synchronous operation by default for all block devices.
1738c2ecf20Sopenharmony_ci
1748c2ecf20Sopenharmony_ci          If you're running a journalling file system (like reiserfs, for
1758c2ecf20Sopenharmony_ci          example) in your virtual machine, you will want to say Y here.  If
1768c2ecf20Sopenharmony_ci          you care for the safety of the data in your virtual machine, Y is a
1778c2ecf20Sopenharmony_ci          wise choice too.  In all other cases (for example, if you're just
1788c2ecf20Sopenharmony_ci          playing around with User-Mode Linux) you can choose N.
1798c2ecf20Sopenharmony_ci
1808c2ecf20Sopenharmony_ciconfig BLK_DEV_COW_COMMON
1818c2ecf20Sopenharmony_ci	bool
1828c2ecf20Sopenharmony_ci	default BLK_DEV_UBD
1838c2ecf20Sopenharmony_ci
1848c2ecf20Sopenharmony_ciconfig BLK_DEV_LOOP
1858c2ecf20Sopenharmony_ci	tristate "Loopback device support"
1868c2ecf20Sopenharmony_ci	help
1878c2ecf20Sopenharmony_ci	  Saying Y here will allow you to use a regular file as a block
1888c2ecf20Sopenharmony_ci	  device; you can then create a file system on that block device and
1898c2ecf20Sopenharmony_ci	  mount it just as you would mount other block devices such as hard
1908c2ecf20Sopenharmony_ci	  drive partitions, CD-ROM drives or floppy drives. The loop devices
1918c2ecf20Sopenharmony_ci	  are block special device files with major number 7 and typically
1928c2ecf20Sopenharmony_ci	  called /dev/loop0, /dev/loop1 etc.
1938c2ecf20Sopenharmony_ci
1948c2ecf20Sopenharmony_ci	  This is useful if you want to check an ISO 9660 file system before
1958c2ecf20Sopenharmony_ci	  burning the CD, or if you want to use floppy images without first
1968c2ecf20Sopenharmony_ci	  writing them to floppy. Furthermore, some Linux distributions avoid
1978c2ecf20Sopenharmony_ci	  the need for a dedicated Linux partition by keeping their complete
1988c2ecf20Sopenharmony_ci	  root file system inside a DOS FAT file using this loop device
1998c2ecf20Sopenharmony_ci	  driver.
2008c2ecf20Sopenharmony_ci
2018c2ecf20Sopenharmony_ci	  To use the loop device, you need the losetup utility, found in the
2028c2ecf20Sopenharmony_ci	  util-linux package, see
2038c2ecf20Sopenharmony_ci	  <https://www.kernel.org/pub/linux/utils/util-linux/>.
2048c2ecf20Sopenharmony_ci
2058c2ecf20Sopenharmony_ci	  The loop device driver can also be used to "hide" a file system in
2068c2ecf20Sopenharmony_ci	  a disk partition, floppy, or regular file, either using encryption
2078c2ecf20Sopenharmony_ci	  (scrambling the data) or steganography (hiding the data in the low
2088c2ecf20Sopenharmony_ci	  bits of, say, a sound file). This is also safe if the file resides
2098c2ecf20Sopenharmony_ci	  on a remote file server.
2108c2ecf20Sopenharmony_ci
2118c2ecf20Sopenharmony_ci	  There are several ways of encrypting disks. Some of these require
2128c2ecf20Sopenharmony_ci	  kernel patches. The vanilla kernel offers the cryptoloop option
2138c2ecf20Sopenharmony_ci	  and a Device Mapper target (which is superior, as it supports all
2148c2ecf20Sopenharmony_ci	  file systems). If you want to use the cryptoloop, say Y to both
2158c2ecf20Sopenharmony_ci	  LOOP and CRYPTOLOOP, and make sure you have a recent (version 2.12
2168c2ecf20Sopenharmony_ci	  or later) version of util-linux. Additionally, be aware that
2178c2ecf20Sopenharmony_ci	  the cryptoloop is not safe for storing journaled filesystems.
2188c2ecf20Sopenharmony_ci
2198c2ecf20Sopenharmony_ci	  Note that this loop device has nothing to do with the loopback
2208c2ecf20Sopenharmony_ci	  device used for network connections from the machine to itself.
2218c2ecf20Sopenharmony_ci
2228c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
2238c2ecf20Sopenharmony_ci	  module will be called loop.
2248c2ecf20Sopenharmony_ci
2258c2ecf20Sopenharmony_ci	  Most users will answer N here.
2268c2ecf20Sopenharmony_ci
2278c2ecf20Sopenharmony_ciconfig BLK_DEV_LOOP_MIN_COUNT
2288c2ecf20Sopenharmony_ci	int "Number of loop devices to pre-create at init time"
2298c2ecf20Sopenharmony_ci	depends on BLK_DEV_LOOP
2308c2ecf20Sopenharmony_ci	default 8
2318c2ecf20Sopenharmony_ci	help
2328c2ecf20Sopenharmony_ci	  Static number of loop devices to be unconditionally pre-created
2338c2ecf20Sopenharmony_ci	  at init time.
2348c2ecf20Sopenharmony_ci
2358c2ecf20Sopenharmony_ci	  This default value can be overwritten on the kernel command
2368c2ecf20Sopenharmony_ci	  line or with module-parameter loop.max_loop.
2378c2ecf20Sopenharmony_ci
2388c2ecf20Sopenharmony_ci	  The historic default is 8. If a late 2011 version of losetup(8)
2398c2ecf20Sopenharmony_ci	  is used, it can be set to 0, since needed loop devices can be
2408c2ecf20Sopenharmony_ci	  dynamically allocated with the /dev/loop-control interface.
2418c2ecf20Sopenharmony_ci
2428c2ecf20Sopenharmony_ciconfig BLK_DEV_CRYPTOLOOP
2438c2ecf20Sopenharmony_ci	tristate "Cryptoloop Support (DEPRECATED)"
2448c2ecf20Sopenharmony_ci	select CRYPTO
2458c2ecf20Sopenharmony_ci	select CRYPTO_CBC
2468c2ecf20Sopenharmony_ci	depends on BLK_DEV_LOOP
2478c2ecf20Sopenharmony_ci	help
2488c2ecf20Sopenharmony_ci	  Say Y here if you want to be able to use the ciphers that are 
2498c2ecf20Sopenharmony_ci	  provided by the CryptoAPI as loop transformation. This might be
2508c2ecf20Sopenharmony_ci	  used as hard disk encryption.
2518c2ecf20Sopenharmony_ci
2528c2ecf20Sopenharmony_ci	  WARNING: This device is not safe for journaled file systems like
2538c2ecf20Sopenharmony_ci	  ext3 or Reiserfs. Please use the Device Mapper crypto module
2548c2ecf20Sopenharmony_ci	  instead, which can be configured to be on-disk compatible with the
2558c2ecf20Sopenharmony_ci	  cryptoloop device.  cryptoloop support will be removed in Linux 5.16.
2568c2ecf20Sopenharmony_ci
2578c2ecf20Sopenharmony_cisource "drivers/block/drbd/Kconfig"
2588c2ecf20Sopenharmony_ci
2598c2ecf20Sopenharmony_ciconfig BLK_DEV_NBD
2608c2ecf20Sopenharmony_ci	tristate "Network block device support"
2618c2ecf20Sopenharmony_ci	depends on NET
2628c2ecf20Sopenharmony_ci	help
2638c2ecf20Sopenharmony_ci	  Saying Y here will allow your computer to be a client for network
2648c2ecf20Sopenharmony_ci	  block devices, i.e. it will be able to use block devices exported by
2658c2ecf20Sopenharmony_ci	  servers (mount file systems on them etc.). Communication between
2668c2ecf20Sopenharmony_ci	  client and server works over TCP/IP networking, but to the client
2678c2ecf20Sopenharmony_ci	  program this is hidden: it looks like a regular local file access to
2688c2ecf20Sopenharmony_ci	  a block device special file such as /dev/nd0.
2698c2ecf20Sopenharmony_ci
2708c2ecf20Sopenharmony_ci	  Network block devices also allows you to run a block-device in
2718c2ecf20Sopenharmony_ci	  userland (making server and client physically the same computer,
2728c2ecf20Sopenharmony_ci	  communicating using the loopback network device).
2738c2ecf20Sopenharmony_ci
2748c2ecf20Sopenharmony_ci	  Read <file:Documentation/admin-guide/blockdev/nbd.rst> for more information,
2758c2ecf20Sopenharmony_ci	  especially about where to find the server code, which runs in user
2768c2ecf20Sopenharmony_ci	  space and does not need special kernel support.
2778c2ecf20Sopenharmony_ci
2788c2ecf20Sopenharmony_ci	  Note that this has nothing to do with the network file systems NFS
2798c2ecf20Sopenharmony_ci	  or Coda; you can say N here even if you intend to use NFS or Coda.
2808c2ecf20Sopenharmony_ci
2818c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
2828c2ecf20Sopenharmony_ci	  module will be called nbd.
2838c2ecf20Sopenharmony_ci
2848c2ecf20Sopenharmony_ci	  If unsure, say N.
2858c2ecf20Sopenharmony_ci
2868c2ecf20Sopenharmony_ciconfig BLK_DEV_SKD
2878c2ecf20Sopenharmony_ci	tristate "STEC S1120 Block Driver"
2888c2ecf20Sopenharmony_ci	depends on PCI
2898c2ecf20Sopenharmony_ci	depends on 64BIT
2908c2ecf20Sopenharmony_ci	help
2918c2ecf20Sopenharmony_ci	Saying Y or M here will enable support for the
2928c2ecf20Sopenharmony_ci	STEC, Inc. S1120 PCIe SSD.
2938c2ecf20Sopenharmony_ci
2948c2ecf20Sopenharmony_ci	Use device /dev/skd$N amd /dev/skd$Np$M.
2958c2ecf20Sopenharmony_ci
2968c2ecf20Sopenharmony_ciconfig BLK_DEV_RAM
2978c2ecf20Sopenharmony_ci	tristate "RAM block device support"
2988c2ecf20Sopenharmony_ci	help
2998c2ecf20Sopenharmony_ci	  Saying Y here will allow you to use a portion of your RAM memory as
3008c2ecf20Sopenharmony_ci	  a block device, so that you can make file systems on it, read and
3018c2ecf20Sopenharmony_ci	  write to it and do all the other things that you can do with normal
3028c2ecf20Sopenharmony_ci	  block devices (such as hard drives). It is usually used to load and
3038c2ecf20Sopenharmony_ci	  store a copy of a minimal root file system off of a floppy into RAM
3048c2ecf20Sopenharmony_ci	  during the initial install of Linux.
3058c2ecf20Sopenharmony_ci
3068c2ecf20Sopenharmony_ci	  Note that the kernel command line option "ramdisk=XX" is now obsolete.
3078c2ecf20Sopenharmony_ci	  For details, read <file:Documentation/admin-guide/blockdev/ramdisk.rst>.
3088c2ecf20Sopenharmony_ci
3098c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
3108c2ecf20Sopenharmony_ci	  module will be called brd. An alias "rd" has been defined
3118c2ecf20Sopenharmony_ci	  for historical reasons.
3128c2ecf20Sopenharmony_ci
3138c2ecf20Sopenharmony_ci	  Most normal users won't need the RAM disk functionality, and can
3148c2ecf20Sopenharmony_ci	  thus say N here.
3158c2ecf20Sopenharmony_ci
3168c2ecf20Sopenharmony_ciconfig BLK_DEV_RAM_COUNT
3178c2ecf20Sopenharmony_ci	int "Default number of RAM disks"
3188c2ecf20Sopenharmony_ci	default "16"
3198c2ecf20Sopenharmony_ci	depends on BLK_DEV_RAM
3208c2ecf20Sopenharmony_ci	help
3218c2ecf20Sopenharmony_ci	  The default value is 16 RAM disks. Change this if you know what you
3228c2ecf20Sopenharmony_ci	  are doing. If you boot from a filesystem that needs to be extracted
3238c2ecf20Sopenharmony_ci	  in memory, you will need at least one RAM disk (e.g. root on cramfs).
3248c2ecf20Sopenharmony_ci
3258c2ecf20Sopenharmony_ciconfig BLK_DEV_RAM_SIZE
3268c2ecf20Sopenharmony_ci	int "Default RAM disk size (kbytes)"
3278c2ecf20Sopenharmony_ci	depends on BLK_DEV_RAM
3288c2ecf20Sopenharmony_ci	default "4096"
3298c2ecf20Sopenharmony_ci	help
3308c2ecf20Sopenharmony_ci	  The default value is 4096 kilobytes. Only change this if you know
3318c2ecf20Sopenharmony_ci	  what you are doing.
3328c2ecf20Sopenharmony_ci
3338c2ecf20Sopenharmony_ciconfig CDROM_PKTCDVD
3348c2ecf20Sopenharmony_ci	tristate "Packet writing on CD/DVD media (DEPRECATED)"
3358c2ecf20Sopenharmony_ci	depends on !UML
3368c2ecf20Sopenharmony_ci	select CDROM
3378c2ecf20Sopenharmony_ci	select BLK_SCSI_REQUEST
3388c2ecf20Sopenharmony_ci	help
3398c2ecf20Sopenharmony_ci	  Note: This driver is deprecated and will be removed from the
3408c2ecf20Sopenharmony_ci	  kernel in the near future!
3418c2ecf20Sopenharmony_ci
3428c2ecf20Sopenharmony_ci	  If you have a CDROM/DVD drive that supports packet writing, say
3438c2ecf20Sopenharmony_ci	  Y to include support. It should work with any MMC/Mt Fuji
3448c2ecf20Sopenharmony_ci	  compliant ATAPI or SCSI drive, which is just about any newer
3458c2ecf20Sopenharmony_ci	  DVD/CD writer.
3468c2ecf20Sopenharmony_ci
3478c2ecf20Sopenharmony_ci	  Currently only writing to CD-RW, DVD-RW, DVD+RW and DVDRAM discs
3488c2ecf20Sopenharmony_ci	  is possible.
3498c2ecf20Sopenharmony_ci	  DVD-RW disks must be in restricted overwrite mode.
3508c2ecf20Sopenharmony_ci
3518c2ecf20Sopenharmony_ci	  See the file <file:Documentation/cdrom/packet-writing.rst>
3528c2ecf20Sopenharmony_ci	  for further information on the use of this driver.
3538c2ecf20Sopenharmony_ci
3548c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
3558c2ecf20Sopenharmony_ci	  module will be called pktcdvd.
3568c2ecf20Sopenharmony_ci
3578c2ecf20Sopenharmony_ciconfig CDROM_PKTCDVD_BUFFERS
3588c2ecf20Sopenharmony_ci	int "Free buffers for data gathering"
3598c2ecf20Sopenharmony_ci	depends on CDROM_PKTCDVD
3608c2ecf20Sopenharmony_ci	default "8"
3618c2ecf20Sopenharmony_ci	help
3628c2ecf20Sopenharmony_ci	  This controls the maximum number of active concurrent packets. More
3638c2ecf20Sopenharmony_ci	  concurrent packets can increase write performance, but also require
3648c2ecf20Sopenharmony_ci	  more memory. Each concurrent packet will require approximately 64Kb
3658c2ecf20Sopenharmony_ci	  of non-swappable kernel memory, memory which will be allocated when
3668c2ecf20Sopenharmony_ci	  a disc is opened for writing.
3678c2ecf20Sopenharmony_ci
3688c2ecf20Sopenharmony_ciconfig CDROM_PKTCDVD_WCACHE
3698c2ecf20Sopenharmony_ci	bool "Enable write caching"
3708c2ecf20Sopenharmony_ci	depends on CDROM_PKTCDVD
3718c2ecf20Sopenharmony_ci	help
3728c2ecf20Sopenharmony_ci	  If enabled, write caching will be set for the CD-R/W device. For now
3738c2ecf20Sopenharmony_ci	  this option is dangerous unless the CD-RW media is known good, as we
3748c2ecf20Sopenharmony_ci	  don't do deferred write error handling yet.
3758c2ecf20Sopenharmony_ci
3768c2ecf20Sopenharmony_ciconfig ATA_OVER_ETH
3778c2ecf20Sopenharmony_ci	tristate "ATA over Ethernet support"
3788c2ecf20Sopenharmony_ci	depends on NET
3798c2ecf20Sopenharmony_ci	help
3808c2ecf20Sopenharmony_ci	This driver provides Support for ATA over Ethernet block
3818c2ecf20Sopenharmony_ci	devices like the Coraid EtherDrive (R) Storage Blade.
3828c2ecf20Sopenharmony_ci
3838c2ecf20Sopenharmony_ciconfig SUNVDC
3848c2ecf20Sopenharmony_ci	tristate "Sun Virtual Disk Client support"
3858c2ecf20Sopenharmony_ci	depends on SUN_LDOMS
3868c2ecf20Sopenharmony_ci	help
3878c2ecf20Sopenharmony_ci	  Support for virtual disk devices as a client under Sun
3888c2ecf20Sopenharmony_ci	  Logical Domains.
3898c2ecf20Sopenharmony_ci
3908c2ecf20Sopenharmony_cisource "drivers/s390/block/Kconfig"
3918c2ecf20Sopenharmony_ci
3928c2ecf20Sopenharmony_ciconfig XILINX_SYSACE
3938c2ecf20Sopenharmony_ci	tristate "Xilinx SystemACE support"
3948c2ecf20Sopenharmony_ci	depends on 4xx || MICROBLAZE
3958c2ecf20Sopenharmony_ci	help
3968c2ecf20Sopenharmony_ci	  Include support for the Xilinx SystemACE CompactFlash interface
3978c2ecf20Sopenharmony_ci
3988c2ecf20Sopenharmony_ciconfig XEN_BLKDEV_FRONTEND
3998c2ecf20Sopenharmony_ci	tristate "Xen virtual block device support"
4008c2ecf20Sopenharmony_ci	depends on XEN
4018c2ecf20Sopenharmony_ci	default y
4028c2ecf20Sopenharmony_ci	select XEN_XENBUS_FRONTEND
4038c2ecf20Sopenharmony_ci	help
4048c2ecf20Sopenharmony_ci	  This driver implements the front-end of the Xen virtual
4058c2ecf20Sopenharmony_ci	  block device driver.  It communicates with a back-end driver
4068c2ecf20Sopenharmony_ci	  in another domain which drives the actual block device.
4078c2ecf20Sopenharmony_ci
4088c2ecf20Sopenharmony_ciconfig XEN_BLKDEV_BACKEND
4098c2ecf20Sopenharmony_ci	tristate "Xen block-device backend driver"
4108c2ecf20Sopenharmony_ci	depends on XEN_BACKEND
4118c2ecf20Sopenharmony_ci	help
4128c2ecf20Sopenharmony_ci	  The block-device backend driver allows the kernel to export its
4138c2ecf20Sopenharmony_ci	  block devices to other guests via a high-performance shared-memory
4148c2ecf20Sopenharmony_ci	  interface.
4158c2ecf20Sopenharmony_ci
4168c2ecf20Sopenharmony_ci	  The corresponding Linux frontend driver is enabled by the
4178c2ecf20Sopenharmony_ci	  CONFIG_XEN_BLKDEV_FRONTEND configuration option.
4188c2ecf20Sopenharmony_ci
4198c2ecf20Sopenharmony_ci	  The backend driver attaches itself to a any block device specified
4208c2ecf20Sopenharmony_ci	  in the XenBus configuration. There are no limits to what the block
4218c2ecf20Sopenharmony_ci	  device as long as it has a major and minor.
4228c2ecf20Sopenharmony_ci
4238c2ecf20Sopenharmony_ci	  If you are compiling a kernel to run in a Xen block backend driver
4248c2ecf20Sopenharmony_ci	  domain (often this is domain 0) you should say Y here. To
4258c2ecf20Sopenharmony_ci	  compile this driver as a module, chose M here: the module
4268c2ecf20Sopenharmony_ci	  will be called xen-blkback.
4278c2ecf20Sopenharmony_ci
4288c2ecf20Sopenharmony_ci
4298c2ecf20Sopenharmony_ciconfig VIRTIO_BLK
4308c2ecf20Sopenharmony_ci	tristate "Virtio block driver"
4318c2ecf20Sopenharmony_ci	depends on VIRTIO
4328c2ecf20Sopenharmony_ci	help
4338c2ecf20Sopenharmony_ci	  This is the virtual block driver for virtio.  It can be used with
4348c2ecf20Sopenharmony_ci          QEMU based VMMs (like KVM or Xen).  Say Y or M.
4358c2ecf20Sopenharmony_ci
4368c2ecf20Sopenharmony_ciconfig BLK_DEV_RBD
4378c2ecf20Sopenharmony_ci	tristate "Rados block device (RBD)"
4388c2ecf20Sopenharmony_ci	depends on INET && BLOCK
4398c2ecf20Sopenharmony_ci	select CEPH_LIB
4408c2ecf20Sopenharmony_ci	select LIBCRC32C
4418c2ecf20Sopenharmony_ci	select CRYPTO_AES
4428c2ecf20Sopenharmony_ci	select CRYPTO
4438c2ecf20Sopenharmony_ci	help
4448c2ecf20Sopenharmony_ci	  Say Y here if you want include the Rados block device, which stripes
4458c2ecf20Sopenharmony_ci	  a block device over objects stored in the Ceph distributed object
4468c2ecf20Sopenharmony_ci	  store.
4478c2ecf20Sopenharmony_ci
4488c2ecf20Sopenharmony_ci	  More information at http://ceph.newdream.net/.
4498c2ecf20Sopenharmony_ci
4508c2ecf20Sopenharmony_ci	  If unsure, say N.
4518c2ecf20Sopenharmony_ci
4528c2ecf20Sopenharmony_ciconfig BLK_DEV_RSXX
4538c2ecf20Sopenharmony_ci	tristate "IBM Flash Adapter 900GB Full Height PCIe Device Driver"
4548c2ecf20Sopenharmony_ci	depends on PCI
4558c2ecf20Sopenharmony_ci	select CRC32
4568c2ecf20Sopenharmony_ci	help
4578c2ecf20Sopenharmony_ci	  Device driver for IBM's high speed PCIe SSD
4588c2ecf20Sopenharmony_ci	  storage device: Flash Adapter 900GB Full Height.
4598c2ecf20Sopenharmony_ci
4608c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here: the
4618c2ecf20Sopenharmony_ci	  module will be called rsxx.
4628c2ecf20Sopenharmony_ci
4638c2ecf20Sopenharmony_cisource "drivers/block/rnbd/Kconfig"
4648c2ecf20Sopenharmony_ci
4658c2ecf20Sopenharmony_ciendif # BLK_DEV
466