103 lines
5.2 KiB
Diff
103 lines
5.2 KiB
Diff
|
|
||
|
Delivered-To: jwboyer@gmail.com
|
||
|
Received: by 10.216.166.129 with SMTP id g1csp52986wel;
|
||
|
Sat, 7 Sep 2013 07:21:20 -0700 (PDT)
|
||
|
X-Received: by 10.50.26.36 with SMTP id i4mr2187231igg.33.1378563679768;
|
||
|
Sat, 07 Sep 2013 07:21:19 -0700 (PDT)
|
||
|
Return-Path: <ard.biesheuvel@linaro.org>
|
||
|
Received: from bastion.fedoraproject.org (bastion02.fedoraproject.org. [209.132.181.3])
|
||
|
by mx.google.com with ESMTP id mc6si3756304icc.53.1969.12.31.16.00.00;
|
||
|
Sat, 07 Sep 2013 07:21:19 -0700 (PDT)
|
||
|
Received-SPF: neutral (google.com: 209.132.181.3 is neither permitted nor denied by best guess record for domain of ard.biesheuvel@linaro.org) client-ip=209.132.181.3;
|
||
|
Authentication-Results: mx.google.com;
|
||
|
spf=neutral (google.com: 209.132.181.3 is neither permitted nor denied by best guess record for domain of ard.biesheuvel@linaro.org) smtp.mail=ard.biesheuvel@linaro.org
|
||
|
Received: by bastion02.phx2.fedoraproject.org (Postfix)
|
||
|
id EE3EB40737; Sat, 7 Sep 2013 14:21:18 +0000 (UTC)
|
||
|
Delivered-To: jwboyer@fedoraproject.org
|
||
|
Received: from mx1.redhat.com (ext-mx16.extmail.prod.ext.phx2.redhat.com [10.5.110.21])
|
||
|
by bastion02.phx2.fedoraproject.org (Postfix) with ESMTP id D80244052F
|
||
|
for <jwboyer@fedoraproject.org>; Sat, 7 Sep 2013 14:21:18 +0000 (UTC)
|
||
|
Received: from mail-wi0-f175.google.com (mail-wi0-f175.google.com [209.85.212.175])
|
||
|
by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r87ELGCQ021393
|
||
|
for <jwboyer@fedoraproject.org>; Sat, 7 Sep 2013 10:21:17 -0400
|
||
|
Received: by mail-wi0-f175.google.com with SMTP id ez12so1920603wid.14
|
||
|
for <jwboyer@fedoraproject.org>; Sat, 07 Sep 2013 07:21:16 -0700 (PDT)
|
||
|
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
|
||
|
d=1e100.net; s=20130820;
|
||
|
h=x-gm-message-state:from:to:cc:subject:date:message-id;
|
||
|
bh=8NEw4B1Nab9xiONGFPVLOs/nT1KunUfaacstB7/m/No=;
|
||
|
b=DB/Eo8aD3MRNKvlw+eoioLLb0CGNH/AiibPqiInWEpiU7eNwGiVjkPnJVaqT2DiH0Z
|
||
|
bkL4pFXThRYvpeeJ1Qind76YdsYxX1wcqqYqASAk6m/a+623LbEnilGsC85+8sW10fbk
|
||
|
xeFhNZCAGQ4uROVe034V2mfoXadXiHGfB5FPzI49QJ9tzHDDWlW/q+YHVvYjtxYfJxjm
|
||
|
Joeciq+LG04AvYeZ3+I0XOHoSuaD8BNthivxr9IFPyUqxfA7OK8B4DG0YptbXzErpntI
|
||
|
1zEY5YFmR6fATLo/6RItgWle0OGD+zhqYJYPw3S56z/1JN4aJWnPII53w1sIezgFzcMv
|
||
|
WWLQ==
|
||
|
X-Gm-Message-State: ALoCoQmWJcKQMJ6xt5DORrctGdw5Yt5RzFKGNaHdcTwAevLxBc5Js9+qvziWRVYvjeGY2VutWSrU
|
||
|
X-Received: by 10.180.211.206 with SMTP id ne14mr2342383wic.30.1378563676626;
|
||
|
Sat, 07 Sep 2013 07:21:16 -0700 (PDT)
|
||
|
Received: from localhost.localdomain (cag06-7-83-153-85-71.fbx.proxad.net. [83.153.85.71])
|
||
|
by mx.google.com with ESMTPSA id ey2sm3980324wib.5.1969.12.31.16.00.00
|
||
|
(version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
|
||
|
Sat, 07 Sep 2013 07:21:16 -0700 (PDT)
|
||
|
From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
|
||
|
To: linux-arm-kernel@lists.infradead.org
|
||
|
Cc: linux@arm.linux.org.uk, nico@linaro.org, jwboyer@fedoraproject.org,
|
||
|
Ard Biesheuvel <ard.biesheuvel@linaro.org>
|
||
|
Subject: [PATCH] ARM: fix modular build of xor_blocks() with NEON enabled
|
||
|
Date: Sat, 7 Sep 2013 16:21:13 +0200
|
||
|
Message-Id: <1378563673-10637-1-git-send-email-ard.biesheuvel@linaro.org>
|
||
|
X-Mailer: git-send-email 1.8.1.2
|
||
|
X-RedHat-Spam-Score: -2.999 (BAYES_00,DCC_REPUT_00_12,RCVD_IN_DNSWL_LOW,URIBL_BLOCKED)
|
||
|
X-Scanned-By: MIMEDefang 2.68 on 10.5.110.21
|
||
|
|
||
|
Commit 0195659 introduced a NEON accelerated version of the xor_blocks()
|
||
|
function, but it needs the changes in this patch to allow it to be built
|
||
|
as a module rather than statically into the kernel.
|
||
|
|
||
|
This patch creates a separate module xor-neon.ko which exports the NEON
|
||
|
inner xor_blocks() functions depended upon by the regular xor.ko if it
|
||
|
is built with CONFIG_KERNEL_MODE_NEON=y
|
||
|
|
||
|
Reported-by: Josh Boyer <jwboyer@fedoraproject.org>
|
||
|
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
|
||
|
---
|
||
|
arch/arm/lib/Makefile | 4 +++-
|
||
|
arch/arm/lib/xor-neon.c | 4 ++++
|
||
|
2 files changed, 7 insertions(+), 1 deletion(-)
|
||
|
|
||
|
diff --git a/arch/arm/lib/Makefile b/arch/arm/lib/Makefile
|
||
|
index aaf3a87..6bc2bd3 100644
|
||
|
--- a/arch/arm/lib/Makefile
|
||
|
+++ b/arch/arm/lib/Makefile
|
||
|
@@ -49,5 +49,7 @@ $(obj)/csumpartialcopyuser.o: $(obj)/csumpartialcopygeneric.S
|
||
|
ifeq ($(CONFIG_KERNEL_MODE_NEON),y)
|
||
|
NEON_FLAGS := -mfloat-abi=softfp -mfpu=neon
|
||
|
CFLAGS_xor-neon.o += $(NEON_FLAGS)
|
||
|
- lib-$(CONFIG_XOR_BLOCKS) += xor-neon.o
|
||
|
+ xor-neon-$(CONFIG_XOR_BLOCKS) := xor-neon.o
|
||
|
+ lib-y += $(xor-neon-y)
|
||
|
+ obj-m += $(xor-neon-m)
|
||
|
endif
|
||
|
diff --git a/arch/arm/lib/xor-neon.c b/arch/arm/lib/xor-neon.c
|
||
|
index f485e5a..2c40aea 100644
|
||
|
--- a/arch/arm/lib/xor-neon.c
|
||
|
+++ b/arch/arm/lib/xor-neon.c
|
||
|
@@ -9,6 +9,9 @@
|
||
|
*/
|
||
|
|
||
|
#include <linux/raid/xor.h>
|
||
|
+#include <linux/module.h>
|
||
|
+
|
||
|
+MODULE_LICENSE("GPL");
|
||
|
|
||
|
#ifndef __ARM_NEON__
|
||
|
#error You should compile this file with '-mfloat-abi=softfp -mfpu=neon'
|
||
|
@@ -40,3 +43,4 @@ struct xor_block_template const xor_block_neon_inner = {
|
||
|
.do_4 = xor_8regs_4,
|
||
|
.do_5 = xor_8regs_5,
|
||
|
};
|
||
|
+EXPORT_SYMBOL(xor_block_neon_inner);
|
||
|
--
|
||
|
1.8.1.2
|
||
|
|