Patch "sparc64: Add __multi3 for gcc 7.x and later." has been added to the 4.9-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    sparc64: Add __multi3 for gcc 7.x and later.

to the 4.9-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     sparc64-add-__multi3-for-gcc-7.x-and-later.patch
and it can be found in the queue-4.9 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.


>From foo@baz Thu Jun  8 08:58:54 CEST 2017
From: "David S. Miller" <davem@xxxxxxxxxxxxx>
Date: Mon, 5 Jun 2017 11:28:57 -0700
Subject: sparc64: Add __multi3 for gcc 7.x and later.

From: "David S. Miller" <davem@xxxxxxxxxxxxx>


[ Upstream commit 1b4af13ff2cc6897557bb0b8d9e2fad4fa4d67aa ]

Reported-by: Waldemar Brodkorb <wbx@xxxxxxxxxxx>
Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
---
 arch/sparc/lib/Makefile |    1 +
 arch/sparc/lib/multi3.S |   35 +++++++++++++++++++++++++++++++++++
 2 files changed, 36 insertions(+)
 create mode 100644 arch/sparc/lib/multi3.S

--- a/arch/sparc/lib/Makefile
+++ b/arch/sparc/lib/Makefile
@@ -15,6 +15,7 @@ lib-$(CONFIG_SPARC32) += copy_user.o loc
 lib-$(CONFIG_SPARC64) += atomic_64.o
 lib-$(CONFIG_SPARC32) += lshrdi3.o ashldi3.o
 lib-$(CONFIG_SPARC32) += muldi3.o bitext.o cmpdi2.o
+lib-$(CONFIG_SPARC64) += multi3.o
 
 lib-$(CONFIG_SPARC64) += copy_page.o clear_page.o bzero.o
 lib-$(CONFIG_SPARC64) += csum_copy.o csum_copy_from_user.o csum_copy_to_user.o
--- /dev/null
+++ b/arch/sparc/lib/multi3.S
@@ -0,0 +1,35 @@
+#include <linux/linkage.h>
+#include <asm/export.h>
+
+	.text
+	.align	4
+ENTRY(__multi3) /* %o0 = u, %o1 = v */
+	mov	%o1, %g1
+	srl	%o3, 0, %g4
+	mulx	%g4, %g1, %o1
+	srlx	%g1, 0x20, %g3
+	mulx	%g3, %g4, %g5
+	sllx	%g5, 0x20, %o5
+	srl	%g1, 0, %g4
+	sub	%o1, %o5, %o5
+	srlx	%o5, 0x20, %o5
+	addcc	%g5, %o5, %g5
+	srlx	%o3, 0x20, %o5
+	mulx	%g4, %o5, %g4
+	mulx	%g3, %o5, %o5
+	sethi	%hi(0x80000000), %g3
+	addcc	%g5, %g4, %g5
+	srlx	%g5, 0x20, %g5
+	add	%g3, %g3, %g3
+	movcc	%xcc, %g0, %g3
+	addcc	%o5, %g5, %o5
+	sllx	%g4, 0x20, %g4
+	add	%o1, %g4, %o1
+	add	%o5, %g3, %g2
+	mulx	%g1, %o2, %g1
+	add	%g1, %g2, %g1
+	mulx	%o0, %o3, %o0
+	retl
+	 add	%g1, %o0, %o0
+ENDPROC(__multi3)
+EXPORT_SYMBOL(__multi3)


Patches currently in stable-queue which might be from davem@xxxxxxxxxxxxx are

queue-4.9/sparc64-new-context-wrap.patch
queue-4.9/sparc64-add-__multi3-for-gcc-7.x-and-later.patch
queue-4.9/sparc-machine-description-indices-can-vary.patch
queue-4.9/sparc64-combine-activate_mm-and-switch_mm.patch
queue-4.9/sparc64-add-per-cpu-mm-of-secondary-contexts.patch
queue-4.9/net-bridge-start-hello-timer-only-if-device-is-up.patch
queue-4.9/sparc64-mm-fix-copy_tsb-to-correctly-copy-huge-page-tsbs.patch
queue-4.9/sparc64-reset-mm-cpumask-after-wrap.patch
queue-4.9/vxlan-fix-use-after-free-on-deletion.patch
queue-4.9/net-ethoc-enable-napi-before-poll-may-be-scheduled.patch
queue-4.9/cxgb4-avoid-enabling-napi-twice-to-the-same-queue.patch
queue-4.9/net-ipv6-fix-calipso-causing-gpf-with-datagram-support.patch
queue-4.9/tcp-disallow-cwnd-undo-when-switching-congestion-control.patch
queue-4.9/sparc64-redefine-first-version.patch
queue-4.9/vxlan-eliminate-cached-dst-leak.patch
queue-4.9/ipv6-xfrm-handle-errors-reported-by-xfrm6_find_1stfragopt.patch
queue-4.9/sparc64-delete-old-wrap-code.patch
queue-4.9/bnx2x-fix-multi-cos.patch
queue-4.9/net-ping-do-not-abuse-udp_poll.patch
queue-4.9/net-stmmac-fix-completely-hung-tx-when-using-tso.patch
queue-4.9/ipv6-fix-leak-in-ipv6_gso_segment.patch
queue-4.9/arch-sparc-support-nr_cpus-4096.patch



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]