Linux 5.5-rc5 で 5.4.X から .config
がどう変更されるのか見てみた.以下 -
は削除されたもの,+
は追加されたもの.x86_64.New features 等は https://www.phoronix.com/scan.php?page=article&item=linux-55-features 参照.
CRYPTO関連
-
+CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m
crypto: chacha - move existing library code into lib/crypto
一部が lib/crypto/libchacha.c に分離された.手元では CRYPTO_CHACHA20 で select される.これは CRYPTO_ADIANTUM で select されていて,必要かどうか不明だがこのまま.
On CPUs without AES instructions, Adiantum is much faster than AES-XTS.
とのこと.
-
+CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m
crypto: poly1305 - move core routines into a separate library
一部が lib/crypto/poly1305.c に分離された.手元では CRYPTO_NHPOLY1305, CRYPTO_ADIANTUM, CRYPTO_POLY1305 で select される.
-
+CONFIG_CRYPTO_LIB_POLY1305_RSIZE=4
crypto: poly1305 - expose init/update/final library interface
crypto: x86/poly1305 - expose existing driver as poly1305 libraryX86_64 で 4 に設定される.
-
-CONFIG_CRYPTO_BLKCIPHER=y
-CONFIG_CRYPTO_BLKCIPHER2=y
+CONFIG_CRYPTO_SKCIPHER=y
+CONFIG_CRYPTO_SKCIPHER2=y
crypto: skcipher - rename the crypto_blkcipher module and kconfig option
rename された.
CRYPTO関連,ついでに以下にしておく.
CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=m CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=m CONFIG_CRYPTO_CHACHA20POLY1305=m CONFIG_CRYPTO_CHACHA20_X86_64=m CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m CONFIG_CRYPTO_LIB_CHACHA=m CONFIG_CRYPTO_LIB_POLY1305=m CONFIG_CRYPTO_NHPOLY1305_AVX2=m CONFIG_CRYPTO_NHPOLY1305_SSE2=m CONFIG_CRYPTO_POLY1305_X86_64=m CONFIG_CRYPTO_CHACHA20_X86_64=m CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=m
Direct Rendering Manager, DRM 関連
-
+CONFIG_DRM_I915_HEARTBEAT_INTERVAL=2500
-
+CONFIG_DRM_I915_PREEMPT_TIMEOUT=640
drm/i915/execlists: Force preemption
drm/i915: Default to a more lenient forced preemption timeout -
+CONFIG_DRM_I915_STOP_TIMEOUT=100
drm/i915/gt: Try to more gracefully quiesce the system before resets
-
+CONFIG_DRM_I915_TIMESLICE_DURATION=1
-
+CONFIG_DRM_TTM_DMA_PAGE_POOL=y
drm/ttm, drm/vmwgfx: Use a configuration option for the TTM dma page pool
-
+CONFIG_DRM_TTM_HELPER=m
DRM_BOCHS で select される.
Btrfs 関連
-
+CONFIG_CRYPTO_XXHASH=m
BTRFS_FS で select される.
-
+CONFIG_CRYPTO_BLAKE2B=m
crypto: blake2b - add blake2b generic implementation
btrfs: add Kconfig dependency for BLAKE2BBTRFS_FS で select される.
上記ともに checksumming algorithm として利用可能なリストが CRC32 のみだったところ以下のように4種類から選択可能なように変更されたことによる.
enum btrfs_csum_type { BTRFS_CSUM_TYPE_CRC32 = 0, BTRFS_CSUM_TYPE_XXHASH = 1, BTRFS_CSUM_TYPE_SHA256 = 2, BTRFS_CSUM_TYPE_BLAKE2 = 3, };
btrfs: add sha256 to checksumming algorithm
btrfs: add xxhash64 to checksumming algorithms
btrfs: add blake2b to checksumming algorithms
追加
-
+CONFIG_BLK_CGROUP_RWSTAT=y
blk-cgroup: separate out blkg_rwstat under CONFIG_BLK_CGROUP_RWSTAT
block/blk-cgroup.c
の一部がblock/blk-cgroup-rwstat.c
に分離された.BLK_DEV_THROTTLING
およびBFQ_GROUP_IOSCHED
から select される. -
+CONFIG_CC_HAS_INT128=y
int128: move __uint128_t compiler test to Kconfig
ARCH_SUPPORTS_INT128 を select するか判断するために利用される.
-
+CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y
+CONFIG_HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y
ftrace/x86: Add register_ftrace_direct() for custom trampolines
ftrace: Add register_ftrace_direct()ともに X86 で select される.
-
+CONFIG_FW_CACHE=y
firmware_class: make firmware caching configurable
Because firmware caching generates uevent messages that are sent over a netlink socket, it can prevent suspend on many platforms. It's also not always useful, so make it a configurable option.
とのこと.
CONFIG_PM_SLEEP
の箇所がCONFIG_FW_CACHE
に変更されている.CONFIG_PM_SLEEP=y
でこれまで通りで問題ないので,y にしておく. -
+CONFIG_HAVE_ARCH_KASAN_VMALLOC=y
x86/kasan: support KASAN_VMALLOC
kasan: support backing vmalloc space with real shadow memoryX86_64 で select される.KASAN (KernelAddressSANitizer).CONFIG_KASAN は n のままにしておく.
-
+CONFIG_IOMMU_DMA=y
iommu/amd: Convert AMD iommu driver to the dma-iommu api
AMD_IOMMU
で select される. -
+CONFIG_IRQ_MSI_IOMMU=y
上記
CONFIG_IOMMU_DMA
で select されるようになった. -
+CONFIG_IO_WQ=y
io-wq: small threadpool implementation for io_uring
io_uring: replace workqueue usage with io-wqIO_URING
(Linux 5.1 で導入された非同期I/O I/F)で select される. -
+CONFIG_MAPPING_DIRTY_HELPERS=y
mm: Add write-protect and clean utilities for address space ranges
drm/vmwgfx: Implement an infrastructure for write-coherent resourcesDRM_VMWGFX
で select される.以前は VMWare の使用も想定していたのだが,最近は使わないので,以下とともにまるごと n にした.
CONFIG_DRM_VMWGFX
CONFIG_VMWARE_PVSCSI
CONFIG_VMWARE_VMCI
CONFIG_VMXNET3
-
+CONFIG_MEMREGION=y
lib: Uplevel the pmem “region” ida to a global allocator
LIBNVDIMM
で select される. -
+CONFIG_SND_INTEL_DSP_CONFIG=m
CONFIG_SND_INTEL_NHLT: m->y
ALSA: hda: add Intel DSP configuration / probe code
Intel 系 SND DSP,手元では
SND_HDA_INTEL
で select される.CONFIG_SND_INTEL_NHLT
は tristate から bool に変更された. -
+CONFIG_SYMBOLIC_ERRNAME=y
printf: add support for printing symbolic error names
If you say Y here, the kernel's printf implementation will be able to print symbolic error names such as ENOSPC instead of the number 28. It makes the kernel image slightly larger (about 3KB), but can make the kernel logs easier to read.
とのこと.y にしておく.
-
+CONFIG_X86_IOPL_IOPERM=y
x86/ioperm: Fix use of deprecated config option
x86/ioperm: Extend IOPL config to control ioperm() as well
x86/iopl: Remove legacy IOPL option
x86/iopl: Restrict iopl() permission scopeCONFIG_X86_IOPL_EMULATION
として導入されたが,iopl と ioperm で一緒に提供するようになった.default の y にしておく.
削除
-
-CONFIG_64BIT_TIME=y
y2038: remove CONFIG_64BIT_TIME
全アーキテクチャで define されたとのことで remove された.
-
-CONFIG_ARCH_HAS_REFCOUNT=y
-
-CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y
-CONFIG_CALGARY_IOMMU=y
x86: Remove the calgary IOMMU driver
「calgary IOMMU was only used on high-end IBM systems」とのことで削除された.
-
-CONFIG_KEYS_COMPAT=y
Renamed
-
-CONFIG_X86_INTEL_UMIP=y
+CONFIG_X86_UMIP=y
x86/Kconfig: Rename UMIP config parameter
AMD 2nd generation EPYC processors support the UMIP (User-Mode Instruction Prevention) feature. So, rename X86_INTEL_UMIP to generic X86_UMIP and modify the text to cover both Intel and AMD.
追記 (2020/1/12)
drm: delete drmP.h + drm_os_linux.hによって drmP.h が削除されたので,
/var/lib/dkms/nvidia-current/430.64/build/nvidia-drm/nvidia-drm-utils.h:30:10: fatal error: drm/drmP.h: No such file or directory
#include <drm/drmP.h>
^~~~~~~~~~~~
ように以下の DKMS のコンパイルに失敗する.
- nvidia-kernel-dkms 430.64-4~bpo10+1
- nvidia-legacy-390xx-kernel-dkms 390.116-1
https://devtalk.nvidia.com/default/topic/1068332/linux/nvidia-driver-does-not-build-on-linux-v5-5-release-candidate-kernel/ にあるパッチでともに対応可能.kernel/nvidia-drm/nvidia-drm-connector.c
の break
の箇所が #if
で条件付けされていないのが気になるけど.
nvidia-kernel-dkms 430.64-4~bpo10+1 向け patch を https://pastebin.com/dgBadP0K に置いた.
あとパッチによるとdrm/connector: Allow max possible encoders to attach to a connectorによって DRM_CONNECTOR_MAX_ENCODER
(3) の #define
が削除されたものへの対応も必要らしい(drm_connector_for_each_possible_encoder
マクロを利用する).