mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-23 02:44:41 +03:00
linux: module: weld all but spl.ko into zfs.ko
Originally it was thought it would be useful to split up the kmods by functionality. This would allow external consumers to only load what was needed. However, in practice we've never had a case where this functionality would be needed, and conversely managing multiple kmods can be awkward. Therefore, this change merges all but the spl.ko kmod in to a single zfs.ko kmod. Reviewed-by: Tony Hutter <hutter2@llnl.gov> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> Closes #13274
This commit is contained in:
@@ -1,90 +0,0 @@
|
||||
ifneq ($(KBUILD_EXTMOD),)
|
||||
src = @abs_srcdir@
|
||||
obj = @abs_builddir@
|
||||
icp_include = $(src)/include
|
||||
else
|
||||
icp_include = $(srctree)/$(src)/include
|
||||
endif
|
||||
|
||||
MODULE := icp
|
||||
|
||||
obj-$(CONFIG_ZFS) := $(MODULE).o
|
||||
|
||||
asflags-y := -I$(icp_include)
|
||||
ccflags-y := -I$(icp_include)
|
||||
|
||||
$(MODULE)-objs += illumos-crypto.o
|
||||
$(MODULE)-objs += api/kcf_cipher.o
|
||||
$(MODULE)-objs += api/kcf_mac.o
|
||||
$(MODULE)-objs += api/kcf_ctxops.o
|
||||
$(MODULE)-objs += core/kcf_callprov.o
|
||||
$(MODULE)-objs += core/kcf_prov_tabs.o
|
||||
$(MODULE)-objs += core/kcf_sched.o
|
||||
$(MODULE)-objs += core/kcf_mech_tabs.o
|
||||
$(MODULE)-objs += core/kcf_prov_lib.o
|
||||
$(MODULE)-objs += spi/kcf_spi.o
|
||||
$(MODULE)-objs += io/aes.o
|
||||
$(MODULE)-objs += io/sha2_mod.o
|
||||
$(MODULE)-objs += io/skein_mod.o
|
||||
$(MODULE)-objs += algs/modes/cbc.o
|
||||
$(MODULE)-objs += algs/modes/ccm.o
|
||||
$(MODULE)-objs += algs/modes/ctr.o
|
||||
$(MODULE)-objs += algs/modes/ecb.o
|
||||
$(MODULE)-objs += algs/modes/gcm_generic.o
|
||||
$(MODULE)-objs += algs/modes/gcm.o
|
||||
$(MODULE)-objs += algs/modes/modes.o
|
||||
$(MODULE)-objs += algs/aes/aes_impl_generic.o
|
||||
$(MODULE)-objs += algs/aes/aes_impl.o
|
||||
$(MODULE)-objs += algs/aes/aes_modes.o
|
||||
$(MODULE)-objs += algs/edonr/edonr.o
|
||||
$(MODULE)-objs += algs/sha2/sha2.o
|
||||
$(MODULE)-objs += algs/skein/skein.o
|
||||
$(MODULE)-objs += algs/skein/skein_block.o
|
||||
$(MODULE)-objs += algs/skein/skein_iv.o
|
||||
|
||||
$(MODULE)-$(CONFIG_X86_64) += asm-x86_64/aes/aeskey.o
|
||||
$(MODULE)-$(CONFIG_X86_64) += asm-x86_64/aes/aes_amd64.o
|
||||
$(MODULE)-$(CONFIG_X86_64) += asm-x86_64/aes/aes_aesni.o
|
||||
$(MODULE)-$(CONFIG_X86_64) += asm-x86_64/modes/gcm_pclmulqdq.o
|
||||
$(MODULE)-$(CONFIG_X86_64) += asm-x86_64/modes/aesni-gcm-x86_64.o
|
||||
$(MODULE)-$(CONFIG_X86_64) += asm-x86_64/modes/ghash-x86_64.o
|
||||
$(MODULE)-$(CONFIG_X86_64) += asm-x86_64/sha2/sha256_impl.o
|
||||
$(MODULE)-$(CONFIG_X86_64) += asm-x86_64/sha2/sha512_impl.o
|
||||
|
||||
$(MODULE)-$(CONFIG_X86) += algs/modes/gcm_pclmulqdq.o
|
||||
$(MODULE)-$(CONFIG_X86) += algs/aes/aes_impl_aesni.o
|
||||
$(MODULE)-$(CONFIG_X86) += algs/aes/aes_impl_x86-64.o
|
||||
|
||||
# Suppress objtool "can't find jump dest instruction at" warnings. They
|
||||
# are caused by the constants which are defined in the text section of the
|
||||
# assembly file using .byte instructions (e.g. bswap_mask). The objtool
|
||||
# utility tries to interpret them as opcodes and obviously fails doing so.
|
||||
OBJECT_FILES_NON_STANDARD_aesni-gcm-x86_64.o := y
|
||||
OBJECT_FILES_NON_STANDARD_ghash-x86_64.o := y
|
||||
# Suppress objtool "unsupported stack pointer realignment" warnings. We are
|
||||
# not using a DRAP register while aligning the stack to a 64 byte boundary.
|
||||
# See #6950 for the reasoning.
|
||||
OBJECT_FILES_NON_STANDARD_sha256_impl.o := y
|
||||
OBJECT_FILES_NON_STANDARD_sha512_impl.o := y
|
||||
|
||||
ICP_DIRS = \
|
||||
api \
|
||||
core \
|
||||
spi \
|
||||
io \
|
||||
os \
|
||||
algs \
|
||||
algs/aes \
|
||||
algs/edonr \
|
||||
algs/modes \
|
||||
algs/sha2 \
|
||||
algs/skein \
|
||||
asm-x86_64 \
|
||||
asm-x86_64/aes \
|
||||
asm-x86_64/modes \
|
||||
asm-x86_64/sha2 \
|
||||
asm-i386 \
|
||||
asm-generic
|
||||
|
||||
all:
|
||||
mkdir -p $(ICP_DIRS)
|
||||
@@ -104,7 +104,7 @@
|
||||
* ZFS Makefiles.
|
||||
*/
|
||||
|
||||
void __exit
|
||||
void
|
||||
icp_fini(void)
|
||||
{
|
||||
skein_mod_fini();
|
||||
@@ -139,10 +139,7 @@ icp_init(void)
|
||||
return (0);
|
||||
}
|
||||
|
||||
#if defined(_KERNEL)
|
||||
#if defined(_KERNEL) && defined(__FreeBSD__)
|
||||
module_exit(icp_fini);
|
||||
module_init(icp_init);
|
||||
MODULE_AUTHOR(ZFS_META_AUTHOR);
|
||||
MODULE_LICENSE(ZFS_META_LICENSE);
|
||||
MODULE_VERSION(ZFS_META_VERSION "-" ZFS_META_RELEASE);
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user