first commit: base 2024.08

Signed-off-by: maoxiaochuan <maoxiaochuan@loongson.cn>
This commit is contained in:
tao89959
2025-02-12 17:59:29 +08:00
committed by maoxiaochuan
commit f3217a7708
14356 changed files with 572894 additions and 0 deletions
@@ -0,0 +1,37 @@
From 592017c3a910a3905b1925aee88c4674e9a596b7 Mon Sep 17 00:00:00 2001
From: Gaurav Jain <gaurav.jain@nxp.com>
Date: Tue, 30 May 2023 17:09:42 +0530
Subject: [PATCH] zero copy: Fix build for Linux 6.4
get_user_pages_remote api prototype is changed in kernel.
struct vm_area_struct **vmas argument is removed.
Migrate to the new API.
Signed-off-by: Gaurav Jain <gaurav.jain@nxp.com>
Upstream: https://github.com/cryptodev-linux/cryptodev-linux/commit/592017c3a910a3905b1925aee88c4674e9a596b7
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
zc.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/zc.c b/zc.c
index fdf7da17..6637945a 100644
--- a/zc.c
+++ b/zc.c
@@ -80,10 +80,14 @@ int __get_userbuf(uint8_t __user *addr, uint32_t len, int write,
ret = get_user_pages_remote(task, mm,
(unsigned long)addr, pgcount, write ? FOLL_WRITE : 0,
pg, NULL, NULL);
-#else
+#elif (LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0))
ret = get_user_pages_remote(mm,
(unsigned long)addr, pgcount, write ? FOLL_WRITE : 0,
pg, NULL, NULL);
+#else
+ ret = get_user_pages_remote(mm,
+ (unsigned long)addr, pgcount, write ? FOLL_WRITE : 0,
+ pg, NULL);
#endif
#if (LINUX_VERSION_CODE < KERNEL_VERSION(5, 8, 0))
up_read(&mm->mmap_sem);
@@ -0,0 +1,44 @@
From 99ae2a39ddc3f89c66d9f09783b591c0f2dbf2e9 Mon Sep 17 00:00:00 2001
From: Gaurav Jain <gaurav.jain@nxp.com>
Date: Wed, 28 Jun 2023 12:44:32 +0530
Subject: [PATCH] cryptodev_verbosity: Fix build for Linux 6.4
register_sysctl_table api is removed in kernel.
migrate to the new api register_sysctl.
child is also removed in linux 6.4 ctl_table struct.
Signed-off-by: Gaurav Jain <gaurav.jain@nxp.com>
Upstream: https://github.com/cryptodev-linux/cryptodev-linux/commit/99ae2a39ddc3f89c66d9f09783b591c0f2dbf2e9
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
ioctl.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/ioctl.c b/ioctl.c
index 8f241b86..4262bbd5 100644
--- a/ioctl.c
+++ b/ioctl.c
@@ -1246,7 +1246,9 @@ static struct ctl_table verbosity_ctl_root[] = {
{
.procname = "ioctl",
.mode = 0555,
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0))
.child = verbosity_ctl_dir,
+#endif
},
{},
};
@@ -1267,7 +1269,11 @@ static int __init init_cryptodev(void)
return rc;
}
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(6, 4, 0))
verbosity_sysctl_header = register_sysctl_table(verbosity_ctl_root);
+#else
+ verbosity_sysctl_header = register_sysctl(verbosity_ctl_root->procname, verbosity_ctl_dir);
+#endif
pr_info(PFX "driver %s loaded.\n", VERSION);
@@ -0,0 +1,38 @@
From 5e7121e45ff283d30097da381fd7e97c4bb61364 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Joan=20Bruguera=20Mic=C3=B3?= <joanbrugueram@gmail.com>
Date: Sun, 10 Dec 2023 13:57:55 +0000
Subject: [PATCH] Fix build for Linux 6.7-rc1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Since Linux 6.7-rc1, no ahash algorithms set a nonzero alignmask,
and therefore `crypto_ahash_alignmask` has been removed.
See also: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0f8660c82b79af595b056f6b9f4f227edeb88574
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c626910f3f1bbce6ad18bc613d895d2a089ed95e
Signed-off-by: Joan Bruguera Micó <joanbrugueram@gmail.com>
Upstream: https://github.com/cryptodev-linux/cryptodev-linux/commit/5e7121e45ff283d30097da381fd7e97c4bb61364
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
cryptlib.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/cryptlib.c b/cryptlib.c
index 4d739e5..0e59d4c 100644
--- a/cryptlib.c
+++ b/cryptlib.c
@@ -381,7 +381,11 @@ int cryptodev_hash_init(struct hash_data *hdata, const char *alg_name,
}
hdata->digestsize = crypto_ahash_digestsize(hdata->async.s);
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(6, 7, 0))
hdata->alignmask = crypto_ahash_alignmask(hdata->async.s);
+#else
+ hdata->alignmask = 0;
+#endif
init_completion(&hdata->async.result.completion);
+14
View File
@@ -0,0 +1,14 @@
config BR2_PACKAGE_CRYPTODEV_LINUX
bool "cryptodev-linux"
depends on !BR2_microblaze
depends on BR2_LINUX_KERNEL
help
Cryptodev-linux is a device that allows access to Linux kernel
cryptographic drivers; thus allowing userspace applications
to take advantage of hardware accelerators.
http://cryptodev-linux.org/index.html
comment "cryptodev-linux needs a Linux kernel to be built"
depends on !BR2_microblaze
depends on !BR2_LINUX_KERNEL
@@ -0,0 +1,3 @@
# Locally calculated
sha256 33b7915c46eb39a37110e88c681423c0dd0df25d784b6e1475ac3196367f0db5 cryptodev-linux-1.13.tar.gz
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING
@@ -0,0 +1,30 @@
################################################################################
#
# cryptodev-linux
#
################################################################################
CRYPTODEV_LINUX_VERSION = 1.13
CRYPTODEV_LINUX_SITE = $(call github,cryptodev-linux,cryptodev-linux,cryptodev-linux-$(CRYPTODEV_LINUX_VERSION))
CRYPTODEV_LINUX_INSTALL_STAGING = YES
CRYPTODEV_LINUX_LICENSE = GPL-2.0+
CRYPTODEV_LINUX_LICENSE_FILES = COPYING
CRYPTODEV_LINUX_CPE_ID_VENDOR = cryptodev-linux
define CRYPTODEV_LINUX_MODULE_GEN_VERSION_H
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) version.h
endef
CRYPTODEV_LINUX_PRE_BUILD_HOOKS += CRYPTODEV_LINUX_MODULE_GEN_VERSION_H
define CRYPTODEV_LINUX_INSTALL_STAGING_CMDS
$(INSTALL) -D -m 644 $(@D)/crypto/cryptodev.h \
$(STAGING_DIR)/usr/include/crypto/cryptodev.h
endef
define CRYPTODEV_LINUX_CONFIG_FIXUPS
$(call KCONFIG_ENABLE_OPT,CONFIG_CRYPTO)
$(call KCONFIG_ENABLE_OPT,CONFIG_CRYPTO_USER_API_AEAD)
endef
$(eval $(kernel-module))
$(eval $(generic-package))